/*
 * (C) Copyright 2010 Quantenna Communications Inc.
 *
 * See file CREDITS for list of people who contributed to this
 * project.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 * MA 02111-1307 USA
 */

/*
 * Header file which describes Ruby platform.
 * Has to be used by both kernel and bootloader.
 */

#ifndef __RUBY_PLATFORM_H
#define __RUBY_PLATFORM_H

#include "ruby_config.h"

/*****************************************************************************/
/*****************************************************************************/
/* Common                                                                    */
/*****************************************************************************/
#define RUBY_BIT(x)			(1 << (x))
/*****************************************************************************/
/* DRAM registers                                                            */
/*****************************************************************************/
#define RUBY_DDR_BASE_ADDR		TOPAZ_ALIAS_MAP_SWITCH(0xF6000000, 0xE40E0000)
#define RUBY_DDR_CONTROL		(RUBY_DDR_BASE_ADDR + 0x0)
#define RUBY_DDR_CONTROL_POWERDOWN_EN	RUBY_BIT(1)
#define RUBY_DDR_SETTLE_US		(4)
/*****************************************************************************/
/*****************************************************************************/
/* GPIO constants                                                            */
/*****************************************************************************/
#define RUBY_GPIO_MAX			(32)
#define RUBY_GPIO_MODE1_MAX		(11)
#define RUBY_GPIO_MODE2_MAX		(22)
#define RUBY_GPIO_IRQ_MAX		(16)
/*****************************************************************************/
/* GPIO registers                                                            */
/*****************************************************************************/
#define RUBY_GPIO_REGS_ADDR		TOPAZ_ALIAS_MAP_SWITCH(0xF1000000, 0xE4090000)
#define RUBY_GPIO_INPUT			(RUBY_GPIO_REGS_ADDR + 0x00)
#define GPIO_INPUT			RUBY_GPIO_INPUT
#define RUBY_GPIO_OMASK			(RUBY_GPIO_REGS_ADDR + 0x04)
#define GPIO_OUTPUT_MASK		RUBY_GPIO_OMASK
#define RUBY_GPIO_OUTPUT		(RUBY_GPIO_REGS_ADDR + 0x08)
#define GPIO_OUTPUT			RUBY_GPIO_OUTPUT
#define RUBY_GPIO_MODE1			(RUBY_GPIO_REGS_ADDR + 0x0c)
#define GPIO_MODE1			RUBY_GPIO_MODE1
#define RUBY_GPIO_MODE2			(RUBY_GPIO_REGS_ADDR + 0x10)
#define GPIO_MODE2			RUBY_GPIO_MODE2
#define RUBY_GPIO_AFSEL			(RUBY_GPIO_REGS_ADDR + 0x14)
#define GPIO_ALTFN			RUBY_GPIO_AFSEL
#define RUBY_GPIO_DEF			(RUBY_GPIO_REGS_ADDR + 0x18)
#define	RUBY_GPIO1_PWM0			(RUBY_GPIO_REGS_ADDR + 0x20) /* AFSEL: UART1 (input) */
#define	RUBY_GPIO9_PWM2			(RUBY_GPIO_REGS_ADDR + 0x28) /* AFSEL: UART1 (output) */
/*****************************************************************************/
/* GPIO pins                                                                 */
/*****************************************************************************/
#define RUBY_GPIO_PIN0			(0)
#define RUBY_GPIO_PIN1			(1)
#define RUBY_GPIO_PIN2			(2)
#define RUBY_GPIO_PIN3			(3)
#define RUBY_GPIO_PIN4			(4)
#define RUBY_GPIO_PIN5			(5)
#define RUBY_GPIO_PIN6			(6)
#define RUBY_GPIO_PIN7			(7)
#define RUBY_GPIO_PIN8			(8)
#define RUBY_GPIO_PIN9			(9)
#define RUBY_GPIO_PIN10			(10)
#define RUBY_GPIO_PIN11			(11)
#define RUBY_GPIO_PIN12			(12)
#define RUBY_GPIO_PIN13			(13)
#define RUBY_GPIO_PIN14			(14)
#define RUBY_GPIO_PIN15			(15)
#define RUBY_GPIO_PIN16			(16)
#define RUBY_GPIO_PIN17			(17)

#define RUBY_GPIO_UART0_SI		(0)
#define RUBY_GPIO_UART0_SO		(8)
#define RUBY_GPIO_UART1_SI		(1)
#define RUBY_GPIO_UART1_SO		(9)
/* these are for spi1, bga has dedicated spi0 pins */
#define RUBY_GPIO_SPI_MISO		(2)
#define RUBY_GPIO_SPI_SCK		(6)
#define RUBY_GPIO_SPI_MOSI		(5)
#define RUBY_GPIO_SPI_nCS		(4)

#define RUBY_GPIO_LNA_TOGGLE		(7)

#define RUBY_GPIO_RTD			(3)	/* Reset to default */
#define RUBY_GPIO_WPS			(7)
#define RUBY_GPIO_I2C_SCL		(10)
#define RUBY_GPIO_I2C_SDA		(11)
#define RUBY_GPIO_WLAN_DISABLE		(12)
#define RUBY_GPIO_LED1			(13)
#define RUBY_GPIO_RFIC_INTR		(14)

#ifndef TOPAZ_AMBER_IP
#define RUBY_GPIO_RFIC_RESET		(15)
#else
#define RUBY_GPIO_RFIC_RESET		(10)
#endif

#define RUBY_GPIO_LED2			(16)

/*****************************************************************************/
/* GPIO function constants                                                   */
/*****************************************************************************/
#define RUBY_GPIO_MODE_INPUT		(0)
#define GPIO_MODE_INPUT				RUBY_GPIO_MODE_INPUT
#define RUBY_GPIO_MODE_OUTPUT		(1)
#define GPIO_MODE_OUTPUT			RUBY_GPIO_MODE_OUTPUT
#define RUBY_GPIO_MODE_OPEN_SOURCE	(2)
#define RUBY_GPIO_MODE_OPEN_DRAIN	(3)
#define RUBY_GPIO_ALT_INPUT			(4)
#define RUBY_GPIO_ALT_OUTPUT		(5)
#define RUBY_GPIO_ALT_OPEN_SOURCE	(6)
#define RUBY_GPIO_ALT_OPEN_DRAIN	(7)
#define	GPIO_PIN(x)			(x)
#define	GPIO_OUTPUT_LO			(0)
#define	GPIO_OUTPUT_HI			(1)
/*****************************************************************************/
/*****************************************************************************/
/* UART FIFO size                                                            */
/*****************************************************************************/
#define RUBY_UART_FIFO_SIZE		(16)
/*****************************************************************************/
/* UART register addresses                                                   */
/*****************************************************************************/
#define RUBY_UART0_BASE_ADDR		TOPAZ_ALIAS_MAP_SWITCH(0xF0000000, 0xE4080000)
#define RUBY_UART0_RBR_THR_DLL		(RUBY_UART0_BASE_ADDR + 0x00)
#define RUBY_UART0_DLH_IER		(RUBY_UART0_BASE_ADDR + 0x04)
#define RUBY_UART0_IIR_FCR_LCR		(RUBY_UART0_BASE_ADDR + 0x08)
#define RUBY_UART0_LCR			(RUBY_UART0_BASE_ADDR + 0x0c)
#define RUBY_UART0_MCR			(RUBY_UART0_BASE_ADDR + 0x10)
#define RUBY_UART0_LSR			(RUBY_UART0_BASE_ADDR + 0x14)
#define RUBY_UART0_MSR			(RUBY_UART0_BASE_ADDR + 0x18)
#define RUBY_UART0_SCR			(RUBY_UART0_BASE_ADDR + 0x1c)
#define RUBY_UART0_LPDLL		(RUBY_UART0_BASE_ADDR + 0x20)
#define RUBY_UART0_LPDLH		(RUBY_UART0_BASE_ADDR + 0x24)
#define RUBY_UART0_SRBR			(RUBY_UART0_BASE_ADDR + 0x30)
#define RUBY_UART0_STHR			(RUBY_UART0_BASE_ADDR + 0x34)
#define RUBY_UART0_FAR			(RUBY_UART0_BASE_ADDR + 0x70)
#define RUBY_UART0_TFR			(RUBY_UART0_BASE_ADDR + 0x74)
#define RUBY_UART0_RFW			(RUBY_UART0_BASE_ADDR + 0x78)
#define RUBY_UART0_USR			(RUBY_UART0_BASE_ADDR + 0x7c)
#define RUBY_UART0_TFL			(RUBY_UART0_BASE_ADDR + 0x80)
#define RUBY_UART0_RFL			(RUBY_UART0_BASE_ADDR + 0x84)
#define RUBY_UART0_SRR			(RUBY_UART0_BASE_ADDR + 0x88)
#define RUBY_UART0_SRTS			(RUBY_UART0_BASE_ADDR + 0x8c)
#define RUBY_UART0_SBCR			(RUBY_UART0_BASE_ADDR + 0x90)
#define RUBY_UART0_SDMAM		(RUBY_UART0_BASE_ADDR + 0x94)
#define RUBY_UART0_SFE			(RUBY_UART0_BASE_ADDR + 0x98)
#define RUBY_UART0_SRT			(RUBY_UART0_BASE_ADDR + 0x9c)
#define RUBY_UART0_STET			(RUBY_UART0_BASE_ADDR + 0xa0)
#define RUBY_UART0_HTX			(RUBY_UART0_BASE_ADDR + 0xa4)
#define RUBY_UART0_DMASA		(RUBY_UART0_BASE_ADDR + 0xa8)
#define RUBY_UART0_CPR			(RUBY_UART0_BASE_ADDR + 0xf4)
#define RUBY_UART0_UCV			(RUBY_UART0_BASE_ADDR + 0xf8)
#define RUBY_UART0_CTR			(RUBY_UART0_BASE_ADDR + 0xfc)

#define RUBY_UART1_BASE_ADDR		TOPAZ_ALIAS_MAP_SWITCH(0xF5000000, 0xE40D0000)
#define RUBY_UART1_RBR_THR_DLL		(RUBY_UART1_BASE_ADDR + 0x00)
#define RUBY_UART1_DLH_IER		(RUBY_UART1_BASE_ADDR + 0x04)
#define RUBY_UART1_IIR_FCR_LCR		(RUBY_UART1_BASE_ADDR + 0x08)
#define RUBY_UART1_LCR			(RUBY_UART1_BASE_ADDR + 0x0c)
#define RUBY_UART1_MCR			(RUBY_UART1_BASE_ADDR + 0x10)
#define RUBY_UART1_LSR			(RUBY_UART1_BASE_ADDR + 0x14)
#define RUBY_UART1_MSR			(RUBY_UART1_BASE_ADDR + 0x18)
#define RUBY_UART1_SCR			(RUBY_UART1_BASE_ADDR + 0x1c)
#define RUBY_UART1_LPDLL		(RUBY_UART1_BASE_ADDR + 0x20)
#define RUBY_UART1_LPDLH		(RUBY_UART1_BASE_ADDR + 0x24)
#define RUBY_UART1_SRBR			(RUBY_UART1_BASE_ADDR + 0x30)
#define RUBY_UART1_STHR			(RUBY_UART1_BASE_ADDR + 0x34)
#define RUBY_UART1_FAR			(RUBY_UART1_BASE_ADDR + 0x70)
#define RUBY_UART1_TFR			(RUBY_UART1_BASE_ADDR + 0x74)
#define RUBY_UART1_RFW			(RUBY_UART1_BASE_ADDR + 0x78)
#define RUBY_UART1_USR			(RUBY_UART1_BASE_ADDR + 0x7c)
#define RUBY_UART1_TFL			(RUBY_UART1_BASE_ADDR + 0x80)
#define RUBY_UART1_RFL			(RUBY_UART1_BASE_ADDR + 0x84)
#define RUBY_UART1_SRR			(RUBY_UART1_BASE_ADDR + 0x88)
#define RUBY_UART1_SRTS			(RUBY_UART1_BASE_ADDR + 0x8c)
#define RUBY_UART1_SBCR			(RUBY_UART1_BASE_ADDR + 0x90)
#define RUBY_UART1_SDMAM		(RUBY_UART1_BASE_ADDR + 0x94)
#define RUBY_UART1_SFE			(RUBY_UART1_BASE_ADDR + 0x98)
#define RUBY_UART1_SRT			(RUBY_UART1_BASE_ADDR + 0x9c)
#define RUBY_UART1_STET			(RUBY_UART1_BASE_ADDR + 0xa0)
#define RUBY_UART1_HTX			(RUBY_UART1_BASE_ADDR + 0xa4)
#define RUBY_UART1_DMASA		(RUBY_UART1_BASE_ADDR + 0xa8)
#define RUBY_UART1_CPR			(RUBY_UART1_BASE_ADDR + 0xf4)
#define RUBY_UART1_UCV			(RUBY_UART1_BASE_ADDR + 0xf8)
#define RUBY_UART1_CTR			(RUBY_UART1_BASE_ADDR + 0xfc)

/*****************************************************************************/
/* UART Status Register - USR                                                */
/*****************************************************************************/
#define RUBY_USR_TX_Fifo_Empty		0x04
#define RUBY_USR_RX_Fifo_Full		0x10
#define RUBY_USR_TX_Fifo_nFull		0x02
#define RUBY_USR_RX_Fifo_nEmpty		0x08
#define RUBY_USR_Busy			0x01
/*****************************************************************************/
/* Line Status Register - LSR                                                */
/*****************************************************************************/
#define RUBY_LSR_TX_Empty		0x40
#define RUBY_LSR_RX_Ready		0x01
/*****************************************************************************/
/* Line Control Register - LCR                                               */
/*****************************************************************************/
#define RUBY_LCR_Data_Word_Length_5	0x0
#define RUBY_LCR_Data_Word_Length_6	0x1
#define RUBY_LCR_Data_Word_Length_7	0x2
#define RUBY_LCR_Data_Word_Length_8	0x3
#define RUBY_LCR_Stop_Bit_1		0x0
#define RUBY_LCR_Stop_Bit_2		0x4
#define RUBY_LCR_No_Parity		0x0
#define RUBY_LCR_Odd_Parity		0x8
#define RUBY_LCR_Even_Parity		0x18
#define RUBY_LCR_High_Parity		0x28
#define RUBY_LCR_Low_Parity		0x38
#define RUBY_LCR_Break_Disable		0x0
#define RUBY_LCR_Break_Enable		0x40
#define RUBY_LCR_DLAB			0x80
/*****************************************************************************/
/*****************************************************************************/
/* Timer constants                                                           */
/*****************************************************************************/
#define RUBY_TIMER_INT_MASK		(RUBY_BIT(2))
#define RUBY_TIMER_SINGLE		(RUBY_BIT(1))
#define RUBY_TIMER_ENABLE		(RUBY_BIT(0))
/*****************************************************************************/
#define RUBY_CPU_TIMERS			(2)
#define RUBY_NUM_TIMERS			(4)
#define RUBY_TIMER_MUC_CCA              (3)
#define RUBY_TIMER_FREQ                 125000000

#define RUBY_TIMER_MUC_CCA_FREQ_SHIFT    2    /* shift from 1ms base */
#define RUBY_TIMER_MUC_CCA_FREQ          (1000 << RUBY_TIMER_MUC_CCA_FREQ_SHIFT)
#define RUBY_TIMER_MUC_CCA_LIMIT         (RUBY_TIMER_FREQ / RUBY_TIMER_MUC_CCA_FREQ)
#define RUBY_TIMER_MUC_CCA_INTV          (1000 >> RUBY_TIMER_MUC_CCA_FREQ_SHIFT)    /* microseconds */
#define RUBY_TIMER_MUC_CCA_CNT2MS(_v)    ((_v) >> RUBY_TIMER_MUC_CCA_FREQ_SHIFT)
/*****************************************************************************/
#define RUBY_TIMER_BASE_ADDR		TOPAZ_ALIAS_MAP_SWITCH(0xF3000000, 0xE40B0000)
#define RUBY_TIMER_CHANNEL		(0x14)
#define RUBY_TIMER_LOAD_COUNT(x)	(RUBY_TIMER_BASE_ADDR + ((x)*RUBY_TIMER_CHANNEL) + 0)
#define RUBY_TIMER_VALUE(x)		(RUBY_TIMER_BASE_ADDR + ((x)*RUBY_TIMER_CHANNEL) + 4)
#define RUBY_TIMER_CONTROL(x)		(RUBY_TIMER_BASE_ADDR + ((x)*RUBY_TIMER_CHANNEL) + 8)
#define RUBY_TIMER_EOI(x)		(RUBY_TIMER_BASE_ADDR + ((x)*RUBY_TIMER_CHANNEL) + 12)
#define RUBY_TIMER_INTSTAT(x)		(RUBY_TIMER_BASE_ADDR + ((x)*RUBY_TIMER_CHANNEL) + 16)
/*****************************************************************************/
#define RUBY_TIMER_GLOBAL_INT_STATUS	(RUBY_TIMER_BASE_ADDR + 0xa0)
#define RUBY_TIMER_GLOBAL_EOI		(RUBY_TIMER_BASE_ADDR + 0xa4)
#define RUBY_TIMER_GLOBAL_RAW_STATUS	(RUBY_TIMER_BASE_ADDR + 0xa8)
#define RUBY_TIMER_GLOBAL_COMP_VER	(RUBY_TIMER_BASE_ADDR + 0xac)
/*****************************************************************************/
#define RUBY_TIMER_ORINT_EN(x)		(1 << (18 + (x)))
/*****************************************************************************/
/*****************************************************************************/
/* ENET registers                                                            */
/*****************************************************************************/
#define RUBY_ENET0_BASE_ADDR		TOPAZ_ALIAS_MAP_SWITCH(0xED000000, 0xE4070000)
#define RUBY_ENET1_BASE_ADDR		TOPAZ_ALIAS_MAP_SWITCH(0xE8000000, 0xE4040000)
/*****************************************************************************/
/*****************************************************************************/
/* System controller registers                                               */
/*****************************************************************************/
#define RUBY_SYS_CTL_BASE_ADDR_NOMAP		0xE0000000
#define RUBY_SYS_CTL_BASE_ADDR			TOPAZ_ALIAS_MAP_SWITCH(RUBY_SYS_CTL_BASE_ADDR_NOMAP, 0xE4000000)
#define RUBY_SYS_CTL_CPU_VEC_MASK		(RUBY_SYS_CTL_BASE_ADDR + 0x00)
#define RUBY_SYS_CTL_CPU_VEC			(RUBY_SYS_CTL_BASE_ADDR + 0x04)
#define RUBY_SYS_CTL_MASK			(RUBY_SYS_CTL_BASE_ADDR + 0x08)
#define RUBY_SYS_CTL_CTRL			(RUBY_SYS_CTL_BASE_ADDR + 0x0c)
#define RUBY_SYS_CTL_RESET_CAUSE		(RUBY_SYS_CTL_BASE_ADDR + 0x10)
#define RUBY_SYS_CTL_CSR			(RUBY_SYS_CTL_BASE_ADDR + 0x14)
#define RUBY_SYS_CTL_DEBUG_SEL			(RUBY_SYS_CTL_BASE_ADDR + 0x18)
#define RUBY_SYS_CTL_L2M_INT			(RUBY_SYS_CTL_BASE_ADDR + 0x1C)
#define RUBY_SYS_CTL_L2M_INT_MASK		(RUBY_SYS_CTL_BASE_ADDR + 0x20)
#define RUBY_SYS_CTL_L2D_INT			(RUBY_SYS_CTL_BASE_ADDR + PLATFORM_REG_SWITCH(0x24, 0x34))
#define RUBY_SYS_CTL_L2D_INT_MASK		(RUBY_SYS_CTL_BASE_ADDR + PLATFORM_REG_SWITCH(0x28, 0x38))
#define RUBY_SYS_CTL_M2L_INT			(RUBY_SYS_CTL_BASE_ADDR + 0x2C)
#define RUBY_SYS_CTL_M2L_INT_MASK		(RUBY_SYS_CTL_BASE_ADDR + 0x30)
#define RUBY_SYS_CTL_M2D_INT			(RUBY_SYS_CTL_BASE_ADDR + PLATFORM_REG_SWITCH(0x34, 0x24))
#define RUBY_SYS_CTL_M2D_INT_MASK		(RUBY_SYS_CTL_BASE_ADDR + PLATFORM_REG_SWITCH(0x38, 0x28))
#define RUBY_SYS_CTL_D2L_INT			(RUBY_SYS_CTL_BASE_ADDR + 0x3C)
#define RUBY_SYS_CTL_D2L_INT_MASK		(RUBY_SYS_CTL_BASE_ADDR + 0x40)
#define RUBY_SYS_CTL_D2M_INT			(RUBY_SYS_CTL_BASE_ADDR + 0x44)
#define RUBY_SYS_CTL_D2M_INT_MASK		(RUBY_SYS_CTL_BASE_ADDR + 0x48)
#define RUBY_SYS_CTL_LHOST_INT_EN		(RUBY_SYS_CTL_BASE_ADDR + 0x4C)
#define RUBY_SYS_CTL_MUC_INT_EN			(RUBY_SYS_CTL_BASE_ADDR + 0x50)
#define RUBY_SYS_CTL_DSP_INT_EN			(RUBY_SYS_CTL_BASE_ADDR + 0x54)
#define RUBY_SYS_CTL_LHOST_ORINT_EN		(RUBY_SYS_CTL_BASE_ADDR + 0x58)
#define RUBY_SYS_CTL_MUC_ORINT_EN		(RUBY_SYS_CTL_BASE_ADDR + 0x5C)
#define RUBY_SYS_CTL_DSP_ORINT_EN		(RUBY_SYS_CTL_BASE_ADDR + 0x60)
#define RUBY_SYS_CTL_MUC_REMAP			(RUBY_SYS_CTL_BASE_ADDR + 0x64)
#define RUBY_SYS_CTL_DSP_REMAP			(RUBY_SYS_CTL_BASE_ADDR + 0x68)
#define RUBY_SYS_CTL_PCIE_CFG0			(RUBY_SYS_CTL_BASE_ADDR + 0x6C)
#define RUBY_SYS_CTL_PCIE_CFG1			(RUBY_SYS_CTL_BASE_ADDR + 0x70)
#define RUBY_SYS_CTL_PCIE_CFG2			(RUBY_SYS_CTL_BASE_ADDR + 0x74)
#define RUBY_SYS_CTL_PCIE_CFG3			(RUBY_SYS_CTL_BASE_ADDR + 0x78)
#define RUBY_SYS_CTL_PCIE_CFG4			(RUBY_SYS_CTL_BASE_ADDR + 0x7C)
#define RUBY_SYS_CTL_PLL0_CTRL			(RUBY_SYS_CTL_BASE_ADDR + 0x80)
#define RUBY_SYS_CTL_PLL1_CTRL			(RUBY_SYS_CTL_BASE_ADDR + 0x84)
#define RUBY_SYS_CTL_LHOST_ID			(RUBY_SYS_CTL_BASE_ADDR + 0x88)
#define RUBY_SYS_CTL_PLL2_CTRL			(RUBY_SYS_CTL_BASE_ADDR + 0x8C)
#define RUBY_SYS_CTL_MUC_ID			(RUBY_SYS_CTL_BASE_ADDR + 0x90)
#define RUBY_SYS_CTL_L2M_SEM			(RUBY_SYS_CTL_BASE_ADDR + 0x94)
#define RUBY_SYS_CTL_M2L_SEM			(RUBY_SYS_CTL_BASE_ADDR + 0x98)
#define RUBY_SYS_CTL_L2D_SEM			(RUBY_SYS_CTL_BASE_ADDR + 0x9C)
#define RUBY_SYS_CTL_D2L_SEM			(RUBY_SYS_CTL_BASE_ADDR + 0xA0)
#define RUBY_SYS_CTL_M2D_SEM			(RUBY_SYS_CTL_BASE_ADDR + 0xA4)
#define RUBY_SYS_CTL_D2M_SEM			(RUBY_SYS_CTL_BASE_ADDR + 0xA8)
#define RUBY_SYS_CTL_INTR_INV0			(RUBY_SYS_CTL_BASE_ADDR + 0xAC)
#define RUBY_SYS_CTL_INTR_INV1			(RUBY_SYS_CTL_BASE_ADDR + 0xB0)
#define RUBY_SYS_CTL_GMII_CLKDLL		(RUBY_SYS_CTL_BASE_ADDR + 0xB4)
#define RUBY_SYS_CTL_DEBUG_BUS			(RUBY_SYS_CTL_BASE_ADDR + 0xB8)
#define RUBY_SYS_CTL_SPARE			(RUBY_SYS_CTL_BASE_ADDR + 0xBC)
#define RUBY_SYS_CTL_PCIE_INT_MASK		(RUBY_SYS_CTL_BASE_ADDR + 0xC0)
#define	RUBY_SYS_CTL_GPIO_IRQ_SEL		(RUBY_SYS_CTL_BASE_ADDR + 0xc4)
#define RUBY_SYS_CTL_PCIE_SLV_REQ_MISC_INFO	(RUBY_SYS_CTL_BASE_ADDR + 0xCC)
#define RUBY_SYS_CTL_DDR_CTRL			(RUBY_SYS_CTL_BASE_ADDR + 0xE8)
#define RUBY_SYS_CTL_GPIO_INT_STATUS		(RUBY_SYS_CTL_BASE_ADDR + 0x154)
#define RUBY_SYS_AHB_MON_INT_MASK		(RUBY_SYS_CTL_BASE_ADDR + 0x160)
#define RUBY_SYS_CTL_BOND_OPT			(RUBY_SYS_CTL_BASE_ADDR + 0x16C)

/*****************************************************************************/
/* System controller constants                                               */
/*****************************************************************************/
#define RUBY_SYS_CTL_REMAP(x)		(((x) & 0x3) << 3)
#define RUBY_SYS_CTL_LINUX_MAP(x)	(((x) & 0x1) << 31)
#define RUBY_SYS_CTL_SPICLK(x)		(((x) & 0x3) << 15)
#define RUBY_SYS_CTL_CLKSEL(x)		(((x) & 0x3) << 5)
#define RUBY_SYS_CTL_MUC_REMAP_SHIFT	15
#define RUBY_SYS_CTL_MUC_REMAP_VAL(x)	(RUBY_BIT(31) | ((x) >> RUBY_SYS_CTL_MUC_REMAP_SHIFT))
#define RUBY_SYS_CTL_DSP_REMAP_SHIFT	15
#define RUBY_SYS_CTL_DSP_REMAP_VAL(x)	(RUBY_BIT(31) | ((x) >> RUBY_SYS_CTL_DSP_REMAP_SHIFT))
/* reset bits - names match rtl */
#define RUBY_SYS_CTL_RESET_LHOST_CORE	(RUBY_BIT(0))
#define RUBY_SYS_CTL_RESET_LHOST_BUS	(RUBY_BIT(1))
#define RUBY_SYS_CTL_RESET_DDR		(RUBY_BIT(2))
#define RUBY_SYS_CTL_RESET_SRAM		(RUBY_BIT(3))
#define RUBY_SYS_CTL_RESET_DSP		(RUBY_BIT(4))
#define RUBY_SYS_CTL_RESET_IOSS		(RUBY_BIT(5))
#define RUBY_SYS_CTL_RESET_NETSS	(RUBY_BIT(7))
#define RUBY_SYS_CTL_RESET_MAC		(RUBY_BIT(8))
#define RUBY_SYS_CTL_RESET_ENET0	(RUBY_BIT(9))
#define RUBY_SYS_CTL_RESET_MUC		(RUBY_BIT(11))
#define RUBY_SYS_CTL_RESET_ENET1	(RUBY_BIT(12))
#define RUBY_SYS_CTL_RESET_PCIE		(RUBY_BIT(13))
#define RUBY_SYS_CTL_RESET_BB		(RUBY_BIT(14))
#define RUBY_SYS_CTL_RESET_EXT		(RUBY_BIT(15))
/* reset useful constants */
#define RUBY_SYS_CTL_RESET_ALL		(~0x0)
#define RUBY_SYS_CTL_RESET_MUC_ALL	RUBY_SYS_CTL_RESET_MUC
#define RUBY_SYS_CTL_RESET_DSP_ALL	RUBY_SYS_CTL_RESET_DSP
/* reset cause definitions */
#define	RUBY_SYS_CTL_RESET_CAUSE_PO	(RUBY_BIT(0))
#define	RUBY_SYS_CTL_RESET_CAUSE_SR	(RUBY_BIT(1))
#define	RUBY_SYS_CTL_RESET_CAUSE_WD	(RUBY_BIT(2))
#define RUBY_SYS_CTL_INTR_TIMER_MSK(t)	(1 << (20 + (t)))
/* sysctl vector/mask bit definitions */
#define RUBY_SYS_CTL_MASK_BOOTMODE	(0x7 << 0)
#define RUBY_SYS_CTL_MASK_REMAP		(0x3 << 3)
#define RUBY_SYS_CTL_MASK_CLKSEL	(0x3 << 5)
/* clksel: 00 = cpu(400)      bus(200) */
#define RUBY_SYS_CTL_CLKSEL_00_BUS_FREQ	200000000
/* clksel: 01 = cpu(320)      bus(160) */
#define RUBY_SYS_CTL_CLKSEL_01_BUS_FREQ	160000000
/* clksel: 10 = cpu(250)      bus(125) */
#define RUBY_SYS_CTL_CLKSEL_10_BUS_FREQ	125000000
/* clksel: 11 = cpu(200)      bus(100) */
#define RUBY_SYS_CTL_CLKSEL_11_BUS_FREQ	100000000
#define RUBY_SYS_CTL_MASK_DDRDRV	(0x1 << 7)
#define RUBY_SYS_CTL_MASK_DDRODT	(0x3 << 8)
#define RUBY_SYS_CTL_MASK_NODDR		(0x1 << 12)
#define RUBY_SYS_CTL_MASK_MII		(0x3 << 13)
#define RUBY_SYS_CTL_MASK_MII_EMAC0	(0x1 << 13)
#define RUBY_SYS_CTL_MASK_MII_EMAC1	(0x1 << 14)
#define RUBY_SYS_CTL_MASK_SPICLK	(0x3 << 15)
#define RUBY_SYS_CTL_MASK_JTAGCHAIN	(0x1 << 17)

#define RUBY_SYS_CTL_MASK_GMII0_TXCLK	(0x3 << 18)
#define RUBY_SYS_CTL_MASK_GMII0_10M	(0x0 << 18)
#define RUBY_SYS_CTL_MASK_GMII0_100M	(0x1 << 18)
#define RUBY_SYS_CTL_MASK_GMII0_1000M	(0x2 << 18)

#define RUBY_SYS_CTL_MASK_GMII1_TXCLK	(0x3 << 20)
#define RUBY_SYS_CTL_MASK_GMII1_10M	(0x0 << 20)
#define RUBY_SYS_CTL_MASK_GMII1_100M	(0x1 << 20)
#define RUBY_SYS_CTL_MASK_GMII1_1000M	(0x2 << 20)

#define RUBY_SYS_CTL_MASK_GMII_10M	(0)
#define RUBY_SYS_CTL_MASK_GMII_100M	(1)
#define RUBY_SYS_CTL_MASK_GMII_1000M	(2)
#define RUBY_SYS_CTL_MASK_GMII_TXCLK	(3)
#define RUBY_SYS_CTL_MASK_GMII0_SHIFT	(18)
#define RUBY_SYS_CTL_MASK_GMII1_SHIFT	(20)

#define RUBY_SYS_CTL_MASK_DDRCLK	(0x7 << 22)
#define RUBY_SYS_CTL_MASK_LINUX_MAP	(0x1 << 31)

#define RUBY_RESET_CAUSE_UART_SHIFT	(7)
#define RUBY_RESET_CAUSE_UART(x)	(1 << (RUBY_RESET_CAUSE_UART_SHIFT + x))

/* global[30:25,11] unused */
/* for compatibility */
#define SYSCTRL_CTRL_MASK		(RUBY_SYS_CTL_MASK - RUBY_SYS_CTL_BASE_ADDR)
#define SYSCTRL_CTRL			(RUBY_SYS_CTL_CTRL - RUBY_SYS_CTL_BASE_ADDR)
#define SYSCTRL_RESET_MASK		(RUBY_SYS_CTL_CPU_VEC_MASK - RUBY_SYS_CTL_BASE_ADDR)
#define SYSCTRL_RESET			(RUBY_SYS_CTL_CPU_VEC - RUBY_SYS_CTL_BASE_ADDR)
#define SYSCTRL_REV_NUMBER		(RUBY_SYS_CTL_CSR - RUBY_SYS_CTL_BASE_ADDR)
#define SYSCTRL_RGMII_DLL		(RUBY_SYS_CTL_GMII_CLKDLL - RUBY_SYS_CTL_BASE_ADDR)
/*****************************************************************************/
/*****************************************************************************/
/* Watchdog registers                                                        */
/*****************************************************************************/
#define RUBY_WDT_BASE_ADDR		TOPAZ_ALIAS_MAP_SWITCH(0xF4000000, 0xE40C0000)
#define RUBY_WDT_CTL			(RUBY_WDT_BASE_ADDR + 0x00)
#define RUBY_WDT_TIMEOUT_RANGE		(RUBY_WDT_BASE_ADDR + 0x04)
#define RUBY_WDT_CURRENT_VALUE		(RUBY_WDT_BASE_ADDR + 0x08)
#define RUBY_WDT_COUNTER_RESTART	(RUBY_WDT_BASE_ADDR + 0x0c)
#define RUBY_WDT_INT_STAT		(RUBY_WDT_BASE_ADDR + 0x10)
#define RUBY_WDT_INT_CLEAR		(RUBY_WDT_BASE_ADDR + 0x14)
/*****************************************************************************/
/* Watchdog constants                                                        */
/*****************************************************************************/
#define RUBY_WDT_ENABLE_IRQ_WARN	(RUBY_BIT(1))
#define RUBY_WDT_ENABLE			(RUBY_BIT(0))
#define RUBY_WDT_MAGIC_NUMBER		(0x76)
#define RUBY_WDT_MAX_TIMEOUT		(0xF)
#define RUBY_WDT_RESET_TIMEOUT		(0x8)
/*****************************************************************************/
/*****************************************************************************/
/* SPI registers                                                             */
/*****************************************************************************/
#define RUBY_SPI_BASE_ADDR		TOPAZ_ALIAS_MAP_SWITCH(0xE2000000, 0xE4030000)
#define RUBY_SPI_COMMIT			(RUBY_SPI_BASE_ADDR + 0x0000)
#define RUBY_SPI_CONTROL		(RUBY_SPI_BASE_ADDR + 0x0004)
#define RUBY_SPI_WRITE_STATUS		(RUBY_SPI_BASE_ADDR + 0x0100)
#define RUBY_SPI_PAGE_PROGRAM		(RUBY_SPI_BASE_ADDR + 0x0200)
#define RUBY_SPI_WRITE_DIS		(RUBY_SPI_BASE_ADDR + 0x0400)
#define RUBY_SPI_READ_STATUS		(RUBY_SPI_BASE_ADDR + 0x0500)
#define RUBY_SPI_WRITE_EN		(RUBY_SPI_BASE_ADDR + 0x0600)
#define RUBY_SPI_FAST_READ		(RUBY_SPI_BASE_ADDR + 0x0B00)
#define RUBY_SPI_WRITE_REG3		(RUBY_SPI_BASE_ADDR + 0x1100)
#define RUBY_SPI_READ_REG3              (RUBY_SPI_BASE_ADDR + 0x1500)
#define RUBY_SPI_SECTOR_ERASE_20	(RUBY_SPI_BASE_ADDR + 0x2000)
#define RUBY_SPI_READ_SCUR              (RUBY_SPI_BASE_ADDR + 0x2b00)
#define RUBY_SPI_WRITE_IBUP		(RUBY_SPI_BASE_ADDR + 0x3900)
#define RUBY_SPI_WRITE_PRO_SEL          (RUBY_SPI_BASE_ADDR + 0x6800)
#define RUBY_SPI_GBLOCK_LOCK            (RUBY_SPI_BASE_ADDR + 0x7e00)
#define RUBY_SPI_GBLOCK_UNLOCK          (RUBY_SPI_BASE_ADDR + 0x9800)
#define TOPAZ_SPI_GBLOCK_UNLOCK		(RUBY_SPI_BASE_ADDR + 0x9800)
#define RUBY_SPI_READ_ID		(RUBY_SPI_BASE_ADDR + 0x9F00)
#define RUBY_SPI_BULK_ERASE		(RUBY_SPI_BASE_ADDR + 0xC700)
#define RUBY_SPI_SECTOR_ERASE_D8	(RUBY_SPI_BASE_ADDR + 0xD800)
#define RUBY_SPI_READ_DPB               (RUBY_SPI_BASE_ADDR + 0xe000)
#define RUBY_SPI_WRITE_DPB              (RUBY_SPI_BASE_ADDR + 0xe100)
#define RUBY_SPI_PAGE_PROGRAM_4B	(RUBY_SPI_BASE_ADDR + 0x1200)
#define RUBY_SPI_SECTOR_ERASE_D8_4B	(RUBY_SPI_BASE_ADDR + 0xDC00)
#define RUBY_SPI_SECTOR_ERASE_20_4B	(RUBY_SPI_BASE_ADDR + 0x2100)
#define RUBY_SPI_ADDRESS_MODE_4B	0x85
#define RUBY_SPI_BOUNDARY_4B		0x1000000

#define RUBY_SPI_READ_LOCK               (RUBY_SPI_BASE_ADDR + 0x2D00)
#define RUBY_SPI_WRITE_LOCK              (RUBY_SPI_BASE_ADDR + 0x2C00)
#define RUBY_SPI_READ_CONFIG              (RUBY_SPI_BASE_ADDR + 0x1500)
#define RUBY_SPI_READ_SPB               (RUBY_SPI_BASE_ADDR + 0xE200)
#define RUBY_SPI_WRITE_SPB              (RUBY_SPI_BASE_ADDR + 0xE300)
#define RUBY_SPI_ERASE_SPB              (RUBY_SPI_BASE_ADDR + 0xE400)

#define RUBY_SPI_WRITE_PASWORD          (RUBY_SPI_BASE_ADDR + 0x2800)
#define RUBY_SPI_READ_PASSWORD			(RUBY_SPI_BASE_ADDR + 0x2700)
#define RUBY_SPI_UNLOCK_PASSWORD		(RUBY_SPI_BASE_ADDR + 0x2900)
#define RUBY_SPI_WRITE_SPBLOCK			(RUBY_SPI_BASE_ADDR + 0xA600)
#define RUBY_SPI_READ_SPBLOCK			(RUBY_SPI_BASE_ADDR + 0xA700)

/*
 * UBOOT_VERSION_LOCATION:
 * This is hardwired in u-boot's start.S; the first instruction generates a
 * 32 bit branch instruction.  The next several locations holds a human
 * readable ascii version string that is visible in the file and in memory.
 * The branch target of the first instruction is the next 4 byte aligned
 * address following the version string.
 *
 */
#define UBOOT_VERSION_LOCATION		(RUBY_SPI_FLASH_ADDR + 4)

/*****************************************************************************/
/* SPI constants                                                             */
/*****************************************************************************/
#define RUBY_SPI_WR_IN_PROGRESS		(RUBY_BIT(0))
#define RUBY_SPI_PROTECTION		(0x3C)

/*****************************************************************************/
/* SPI1 registers                                                             */
/*****************************************************************************/
#define RUBY_SPI1_BASE_ADDR		TOPAZ_ALIAS_MAP_SWITCH(0xF2000000, 0xE40A0000)
#define RUBY_SPI1_SPCR			(RUBY_SPI1_BASE_ADDR + 0x0000)
#define RUBY_SPI1_SPSR			(RUBY_SPI1_BASE_ADDR + 0x0004)
#define RUBY_SPI1_SPDR			(RUBY_SPI1_BASE_ADDR + 0x0008)
#define RUBY_SPI1_SPER			(RUBY_SPI1_BASE_ADDR + 0x000C)
#define RUBY_SPI1_SLVN			(RUBY_SPI1_BASE_ADDR + 0x0010)
/*****************************************************************************/
/* SPI1 constants                                                            */
/*****************************************************************************/
#define RUBY_SPI1_SPCR_SPIE_BIT		7
#define RUBY_SPI1_SPCR_SPIE		(RUBY_BIT(RUBY_SPI1_SPCR_SPIE_BIT))
#define RUBY_SPI1_SPCR_SPE		(RUBY_BIT(6))
#define RUBY_SPI1_SPCR_MSTR		(RUBY_BIT(4))
#define RUBY_SPI1_SPCR_CPOL		(RUBY_BIT(3))
#define RUBY_SPI1_SPCR_CPHA		(RUBY_BIT(2))
#define RUBY_SPI1_SPCR_SPR(x)		((x) & 0x3)
#define RUBY_SPI1_SPSR_SPIF		(RUBY_BIT(7))
#define RUBY_SPI1_SPSR_WCOL		(RUBY_BIT(6))
#define RUBY_SPI1_SPSR_WFFULL		(RUBY_BIT(3))
#define RUBY_SPI1_SPSR_WFEMPTY		(RUBY_BIT(2))
#define RUBY_SPI1_SPSR_RFFULL		(RUBY_BIT(1))
#define RUBY_SPI1_SPSR_RFEMPTY		(RUBY_BIT(0))
#define RUBY_SPI1_SPER_ICNT(x)		(((x) & 0x3) << 6)
#define RUBY_SPI1_SPER_ESPR(x)		((x) & 0x3)
/*****************************************************************************/

/*****************************************************************************/
/* I2C constants                                                            */
/*****************************************************************************/
#define RUBY_I2C_BASE_ADDR			TOPAZ_ALIAS_MAP_SWITCH(0xF9000000, 0xE40F0000)
#define RUBY_I2C_MEM_SIZE			(0x0A08)
#define RUBY_I2C_ADAPTER_NUM		(0)

/*****************************************************************************/
/* Interrupts                                                                */
/*****************************************************************************/
#define RUBY_IRQ_RESET			(0)
#define RUBY_IRQ_MEM_ERR		(1)
#define RUBY_IRQ_INS_ERR		(2)
#define RUBY_IRQ_CPUTIMER0		(3)
#define RUBY_IRQ_CPUTIMER1		(4)
#define RUBY_IRQ_WATCHDOG		(5)
#define RUBY_IRQ_DMA0			(6)
#define RUBY_IRQ_BB			(7)
#define RUBY_IRQ_IPC_LO			(8)
#define IRQ_MAC0_0			RUBY_IRQ_IPC_LO
#define RUBY_IRQ_DSP			(9)
#define RUBY_IRQ_IPC_HI			(10)
#define RUBY_IRQ_MAC_TX_DONE		(11)
#define RUBY_IRQ_MAC_TX_ALERT		(12)
#define RUBY_IRQ_MAC_RX_DONE		(13)
#define RUBY_IRQ_MAC_RX_TYPE		(14)
#define RUBY_IRQ_MAC_MIB		(15)
#define RUBY_IRQ_MAC_0			(16)
#define RUBY_IRQ_MAC_1			(17)
#define RUBY_IRQ_PCIE			(18)
#define RUBY_IRQ_ENET0			(19)
#define RUBY_IRQ_ENET1			(20)
#define RUBY_IRQ_DMA1			(21)
#define RUBY_IRQ_DMA2			(22)
#define RUBY_IRQ_DMA3			(23)
#define RUBY_IRQ_UART			(24)
#define RUBY_IRQ_GPIO			(25)
#define RUBY_IRQ_TIMER			(26)
#define RUBY_IRQ_MISC			(27)
/* Combined PCIe Interrupt IRQ 28 */
#define RUBY_IRQ_MSI			(28)
#define RUBY_IRQ_INTA			(28)
/* Combined PCIe DMA Legacy/MSI Interrupt IRQ 22 */
#define TOPAZ_IRQ_PCIE_DMA_INT		(22)
#define TOPAZ_IRQ_PCIE_IPC4_INT		(29)
/* Combined PCIe Legacy/MSI Interrupt IRQ 28 */
#define TOPAZ_IRQ_PCIE_INT		RUBY_IRQ_INTA
#define RUBY_IRQ_SPI			(30)
#define RUBY_IRQ_BB_PER_PACKET		(31)
#define RUBY_MAX_IRQ_VECTOR		(31)
#define RUBY_IRQ_VECTORS_NUM		(RUBY_MAX_IRQ_VECTOR + 1)
/* these are extended (shared) irqs */
#define GPIO2IRQ(x)			((x) + RUBY_IRQ_GPIO0)
#define RUBY_IRQ_GPIO0			(32)
#define RUBY_IRQ_GPIO1			(33)
#define RUBY_IRQ_GPIO2			(34)
#define RUBY_IRQ_GPIO3			(35)
#define RUBY_IRQ_GPIO4			(36)
#define RUBY_IRQ_GPIO5			(37)
#define RUBY_IRQ_GPIO6			(38)
#define RUBY_IRQ_GPIO7			(39)
#define RUBY_IRQ_GPIO8			(40)
#define RUBY_IRQ_GPIO9			(41)
#define RUBY_IRQ_GPIO10			(42)
#define RUBY_IRQ_GPIO11			(43)
#define RUBY_IRQ_GPIO12			(44)
#define RUBY_IRQ_GPIO13			(45)
#define RUBY_IRQ_GPIO14			(46)
#define RUBY_IRQ_GPIO15			(47)
#define RUBY_IRQ_UART0			(48)
#define RUBY_IRQ_UART1			(49)
#define RUBY_IRQ_TIMER0			(50)
#define RUBY_IRQ_TIMER1			(51)
#define RUBY_IRQ_TIMER2			(52)
#define RUBY_IRQ_TIMER3			(53)
#define RUBY_IRQ_MISC_I2C		(56)
#define RUBY_IRQ_MISC_SRAM		(57)
#define RUBY_IRQ_MISC_NETSS		(58)
#define RUBY_IRQ_MISC_PLL1		(59)
#define RUBY_IRQ_MISC_PLL2		(60)
#define RUBY_IRQ_MISC_EXT_IRQ_COUNT		(5)
#define RUBY_IRQ_MISC_EXT_IRQ_START		(56)
#define RUBY_IRQ_MISC_RST_CAUSE_START	(26)

#define QTN_IRQ_MISC_EXT_IRQ_COUNT		TOPAZ_IRQ_MISC_EXT_IRQ_COUNT
#define QTN_IRQ_MISC_RST_CAUSE_START	TOPAZ_IRQ_MISC_RST_CAUSE_START

#define RUBY_MAX_IRQ_EXT_VECTOR		(63)
#define RUBY_IRQ_EXT_VECTORS_NUM	(RUBY_MAX_IRQ_EXT_VECTOR + 1)

/* M2L interrupt register is [31:16] high prio, [15:0] low prio */
#define RUBY_M2L_IRQ_NUM_HI		(16)
#define RUBY_M2L_IRQ_NUM_LO		(16)
/* M2L High priority interrupts, sent to RUBY_IRQ_IPC_HI */
#define RUBY_M2L_IRQ_HI_REBOOT		RUBY_M2L_IPC_HI_IRQ(13)
#define RUBY_M2L_IRQ_HI_DIE		RUBY_M2L_IPC_HI_IRQ(14)
/* M2L Low priority interrupts, sent to RUBY_IRQ_IPC_LO */
#define RUBY_M2L_IRQ_LO_MEAS		(8)
#define RUBY_M2L_IRQ_LO_OCAC		(9)
#define RUBY_M2L_IRQ_LO_CSA		(10)
#define RUBY_M2L_IRQ_LO_SCS		(11)
#define RUBY_M2L_IRQ_LO_SCAN		(12)
#define RUBY_M2L_IRQ_LO_VSP		(13)
#define RUBY_M2L_IRQ_LO_PRINT		(14)
#define RUBY_M2L_IRQ_LO_HLINK		(15)

/* these are DSP interrupts */
#define RUBY_DSP_IRQ_TIMER0		(3)
#define RUBY_DSP_IRQ_TIMER1		(5)
#define RUBY_DSP_IRQ_IPC_MUC2DSP	(10)
#define RUBY_DSP_IRQ_IPC_LHOST2DSP	(11)
#define RUBY_DSP_IRQ_IPC_MUC2DSP_HI	(17)
#define RUBY_DSP_IRQ_WMAC_COMBINED	(20)

/* M2D High priority interrupts, sent to RUBY_DSP_IRQ_IPC_MUC2DSP_HI */
#define RUBY_M2D_IRQ_HI_DIE		PLATFORM_REG_SWITCH(RUBY_IPC_HI_IRQ(7), 0)

/* L2M Low priority interrupts */
#define RUBY_L2M_IRQ_HLINK		(6)
#define RUBY_L2M_IRQ_HIGH		(7)

/*****************************************************************************/
/*****************************************************************************/
/* BB registers                                                             */
/*****************************************************************************/
#define RUBY_BB_BASE_ADDR			0xE6000000
/* FIXME: no BB2 on Ruby - this should expand to something else */
#define UMS_REGS_BB2				RUBY_BB_BASE_ADDR
#define RUBY_QT3_BB_GLBL_PREG_RIF_ENABLE	(RUBY_BB_BASE_ADDR + 0x1F4)
#define RUBY_QT3_BB_GLBL_PREG_RIF_ENABLE_ON	0x1
#define RUBY_QT3_BB_GLBL_PREG_RIF_ENABLE_OFF	0x0
#define RUBY_QT3_BB_GLBL_PREG_INTR_STATUS	(RUBY_BB_BASE_ADDR + 0x320)
#define RUBY_QT3_BB_FFT_INTR			(0x1000)
#define RUBY_QT3_BB_MIMO_PREG_RX_IPG_RST_ENABLE	(RUBY_BB_BASE_ADDR + 0x50268)
#define RUBY_QT3_BB_MIMO_BF_RX			(RUBY_BB_BASE_ADDR + 0x501FC)
#define RUBY_QT3_BB_MIMO_BF_RX_DUMP_ENABLE	(1 << 1) /*11n HT-LF dump enable*/

#define RUBY_QT3_BB_GLBL_SOFT_RST		(RUBY_BB_BASE_ADDR + 0x0008)
#define RUBY_QT3_BB_GLBL_SPI_CTRL		(RUBY_BB_BASE_ADDR + 0x0024)
#define RUBY_QT3_BB_TD_BASE_ADDR		(RUBY_BB_BASE_ADDR + 0x90000)

#define RUBY_QT3_BB_RF1_BASE_ADDR		0xE6080000
#define RUBY_QT3_BB_BONDING_4SS			0x01

#define RUBY_QT3_BB_TD_SPARE_0			(RUBY_QT3_BB_TD_BASE_ADDR + 0x5f4)
#define RUBY_QT3_BB_TD_SPARE_1			(RUBY_QT3_BB_TD_BASE_ADDR + 0x5f8)
#define RUBY_QT3_BB_TD_MAX_GAIN			(RUBY_QT3_BB_TD_BASE_ADDR + 0x36c)

/*****************************************************************************/
/* Radar registers                                                           */
/*****************************************************************************/
#define RUBY_RADAR_CNT_L	0xE6090558

/*****************************************************************************/
/* ARC addresses                                                             */
/*****************************************************************************/
#define RUBY_ARC_TLB_BYPASS	0x80000000
#define RUBY_ARC_CACHE_BYPASS	0xC0000000

/*****************************************************************************/
/*               DMA registers and bit defines.                              */
/*****************************************************************************/
#define RUBY_DMA_NUM_CHANNELS	(4)
#define RUBY_DMA_BASE_ADDR		TOPAZ_ALIAS_MAP_SWITCH(0xEA000000, 0xE4060000)
#define	RUBY_DMA_SAR(x)			(RUBY_DMA_BASE_ADDR + 0x00 + (x)*0x58)
#define	RUBY_DMA_DAR(x)			(RUBY_DMA_BASE_ADDR + 0x08 + (x)*0x58)
#define	RUBY_DMA_LLP(x)			(RUBY_DMA_BASE_ADDR + 0x10 + (x)*0x58)
#define	RUBY_DMA_CTL(x)			(RUBY_DMA_BASE_ADDR + 0x18 + (x)*0x58)
#define	RUBY_DMA_SIZE(x)		(RUBY_DMA_BASE_ADDR + 0x1c + (x)*0x58)
#define	RUBY_DMA_SSTAT(x)		(RUBY_DMA_BASE_ADDR + 0x20 + (x)*0x58)
#define	RUBY_DMA_DSTAT(x)		(RUBY_DMA_BASE_ADDR + 0x28 + (x)*0x58)
#define	RUBY_DMA_SSTATAR(x)		(RUBY_DMA_BASE_ADDR + 0x30 + (x)*0x58)
#define	RUBY_DMA_DSTATAR(x)		(RUBY_DMA_BASE_ADDR + 0x38 + (x)*0x58)
#define	RUBY_DMA_CFG(x)			(RUBY_DMA_BASE_ADDR + 0x40 + (x)*0x58)
#define	RUBY_DMA_SGR(x)			(RUBY_DMA_BASE_ADDR + 0x48 + (x)*0x58)
#define	RUBY_DMA_DSR(x)			(RUBY_DMA_BASE_ADDR + 0x50 + (x)*0x58)

#define RUBY_DMA_MASK_BLK		(RUBY_DMA_BASE_ADDR + 0x318)
#define RUBY_DMA_BLK_CLR		(RUBY_DMA_BASE_ADDR + 0x340)
#define RUBY_DMA_DMA_CFG		(RUBY_DMA_BASE_ADDR + 0x398)
#define RUBY_DMA_CH_EN			(RUBY_DMA_BASE_ADDR + 0x3a0)
/************** RUBY_DMA_CTL(x) bit defines. *********************************/
#define RUBY_DMA_CTL_INT_EN		RUBY_BIT(0)
#define RUBY_DMA_CTL_DINC		(0)
#define RUBY_DMA_CTL_DDEC		RUBY_BIT(7)
#define RUBY_DMA_CTL_DNOCHNG		RUBY_BIT(8)
#define RUBY_DMA_CTL_SINC		(0)
#define RUBY_DMA_CTL_SDEC		RUBY_BIT(9)
#define RUBY_DMA_CTL_SNOCHNG		RUBY_BIT(10)
#define RUBY_DMA_CTL_DMS_LHOST		(0)
#define RUBY_DMA_CTL_DMS_MUC		RUBY_BIT(23)
#define RUBY_DMA_CTL_SMS_LHOST		(0)		// ahb master bus 1
#define RUBY_DMA_CTL_SMS_MUC		RUBY_BIT(25)	// ahb master bus 2

/************** RUBY_DMA_CFG(x) bit defines. *********************************/
#define RUBY_DMA_CFG_ENABLE		RUBY_BIT(0)

/*****************************************************************************/
/* PCI registers & memory regions for target driver.                         */
/*****************************************************************************/
#define RUBY_PCIE_REG_BASE			TOPAZ_ALIAS_MAP_SWITCH(0xE9000000, 0xE4050000)
#define RUBY_PCIE_CONFIG_REGION			(0xCF000000)

#define RUBY_PCIE_CMD_REG			(RUBY_PCIE_REG_BASE + 0x0004)
#define RUBY_PCIE_BAR_NUM			(6)
#define	RUBY_PCIE_BAR_BASE			(RUBY_PCIE_REG_BASE + 0x0010)
#define	RUBY_PCIE_BAR(n)			(RUBY_PCIE_BAR_BASE + (n << 2))
#define	RUBY_PCIE_BAR_MASK_ADDR			(RUBY_PCIE_REG_BASE + 0x1010)
#define	RUBY_PCIE_BAR_MASK(n)			(RUBY_PCIE_BAR_MASK_ADDR + (n << 2))

#define RUBY_PCIE_ATU_VIEW			(RUBY_PCIE_REG_BASE + 0x0900)
#define RUBY_PCIE_ATU_CTL1			(RUBY_PCIE_REG_BASE + 0x0904)
#define RUBY_PCIE_ATU_CTL2			(RUBY_PCIE_REG_BASE + 0x0908)
#define RUBY_PCIE_ATU_BASE_LO			(RUBY_PCIE_REG_BASE + 0x090c)
#define RUBY_PCIE_ATU_BASE_HI			(RUBY_PCIE_REG_BASE + 0x0910)
#define RUBY_PCIE_ATU_BASE_LIMIT		(RUBY_PCIE_REG_BASE + 0x0914)
#define RUBY_PCIE_ATU_TARGET_LO			(RUBY_PCIE_REG_BASE + 0x0918)
#define RUBY_PCIE_ATU_TARGET_HI			(RUBY_PCIE_REG_BASE + 0x091c)

#define RUBY_PCIE_ATU_OB_REGION(n)		(0x0 + n)
#define RUBY_PCIE_ATU_IB_REGION(n)		(0x80000000 + n)
#define RUBY_PCIE_ATU_CFG_SHIFT			RUBY_BIT(28)
#define RUBY_PCIE_ATU_OB_ENABLE			RUBY_BIT(31)

#define RUBY_PCI_RC_MEM_WINDOW			(32 << 20) /* 32MB  MEMORY window in Root Complex for pcie tree  */
#define RUBY_PCI_RC_CFG_SIZE			(64 << 10) /* 64KB  CFG size in Root Complex for pcie tree */
#define RUBY_PCI_RC_MEM_START			(0xc0000000) /* PCI memory region in Root Complex's kernel address space */

#define RUBY_PCIE_INT_MASK			(RUBY_SYS_CTL_BASE_ADDR + 0xC0)
#define RUBY_PCIE_MSI_ENABLE			RUBY_BIT(16)
#define MSI_CTL_OFFSET				(0x50)
#define RUBY_MSI_ADDR_LOWER			(RUBY_PCIE_REG_BASE + 0x820)
#define RUBY_MSI_ADDR_UPPER			(RUBY_PCIE_REG_BASE + 0x824)
#define RUBY_MSI_INT_ENABLE			(RUBY_PCIE_REG_BASE + 0x828)
#define RUBY_PCIE_MSI_MASK			(RUBY_PCIE_REG_BASE + 0x82c)
#define RUBY_PCIE_MSI_STATUS			(RUBY_PCIE_REG_BASE + 0x830)
#define RUBY_PCIE_MSI_REGION			(0xce000000) /* msi message address */
#define RUBY_MSI_DATA				(0x0)	     /* msi message data */
#define RUBY_PCIE_MSI_CLEAR			RUBY_BIT(0)  /* clear msi intr */

#define TOPAZ_PCIE_STAT				(RUBY_SYS_CTL_BASE_ADDR + 0x017C)
#if TOPAZ_FPGA_PLATFORM
	#define TOPAZ_PCIE_LINKUP		(0xe)
#else
	#define TOPAZ_PCIE_LINKUP		(0x7)
#endif

#define PCIE_LINK_STAT				(RUBY_PCIE_REG_BASE + 0x80)
#define PCIE_LINK_CTL2				(RUBY_PCIE_REG_BASE + 0xa0)
#define PCIE_ASPM_L1_CTRL			(RUBY_PCIE_REG_BASE + 0x70c)
#define PCIE_ASPM_LINK_CTRL			(PCIE_LINK_STAT)
#define PCIE_PORT_LINK_CTL			(RUBY_PCIE_REG_BASE + 0x710)
#define PCIE_ASPM_L1_SUBSTATE_TIMING		(RUBY_PCIE_REG_BASE + 0xB44)
#define PCIE_L1SUB_CTRL1			(RUBY_PCIE_REG_BASE + 0x150)
#define PCIE_PMCSR				(RUBY_PCIE_REG_BASE + 0x44)

/* PCIe link defines */
#define PCIE_LINK_GEN1				(BIT(0))
#define PCIE_LINK_GEN2				(BIT(1))
#define PCIE_LINK_GEN3				(BIT(2))
#define PCIE_LINK_MODE(x)			(((x) >> 16) & 0x7)

/* ATU setting for Host Buffer Descriptor Mapping */
#define PCIE_HOSTBD_REGION			(RUBY_PCIE_ATU_OB_REGION(2))
#define PCIE_ATU_BAR_MIN_SIZE			0x00010000 /* 64k */
#define PCIE_HOSTBD_SIZE			(2 * PCIE_ATU_BAR_MIN_SIZE)
#define PCIE_HOSTBD_SIZE_MASK			(PCIE_HOSTBD_SIZE - 1)
#define PCIE_HOSTBD_START_HI			0x00000000
#define PCIE_HOSTBD_REGION_ENABLE		RUBY_PCIE_ATU_OB_ENABLE

/* Extra system controller bits */
#define TOPAZ_SYS_CTL_PLLCLKOUT_EN		(RUBY_BIT(10))

/* Board platform and revision */
#define TOPAZ_BOARD_REVA			0x40
#define TOPAZ_BOARD_REVB			0x41
#define TOPAZ_BOARD_REVA2			0x43

/*
 * WOWLAN GPIO assignment
 * On RGMII module - GPIO_B_10 (set as output for WoWLAN)
 * On RGMII host board - GPIO_B_10 (set as input to wake up the host)
 *
 * On PCIe module - WAKE# or GPIO_B_12 ( set as output for WoWLAN, use WAKE# by default)
 * On PCIe host board - GPIO_B_14 (set as input to wake up the host)
 */
#ifdef CONFIG_TOPAZ_PCIE_TARGET
#define WOWLAN_GPIO_OUTPUT_PIN	12
#else
#define WOWLAN_GPIO_OUTPUT_PIN	10
#endif
#endif // #ifndef __RUBY_PLATFORM_H

