blob: 15cde2ba7850b5dc69596091d9cc18a8f2952bd4 [file] [log] [blame]
/*
* ambhw/rct/a5s.h
*
* History:
* 2006/12/27 - [Charles Chiou] created file
*
* Copyright (C) 2006-2008, Ambarella, Inc.
*/
#ifndef __AMBHW__RCT_A5S_H__
#define __AMBHW__RCT_A5S_H__
/****************************************************/
/* Capabilities based on chip revision */
/****************************************************/
#define RCT_DRAM_CLK_SRC_CORE 1
#define RCT_IDSP_CLK_SRC_CORE 1
#define RCT_ARM_CLK_SRC_IDSP 1
#define RCT_SUPPORT_PLL_DDR 1
#define RCT_SUPPORT_PLL_IDSP 1
#define RCT_MAX_DLL 2
#define RCT_MAX_DLL_CTRL 1
#define RCT_SUPPORT_ADC16_CTRL 1
#define RCT_SUPPORT_PLL_HDMI 1
#define RCT_SUPPORT_UNL_WDT_RST_ANAPWR 0 /* Use bit-7 of ANA_PWR_REG */
/****************************************************/
/* Controller registers definitions */
/****************************************************/
/*
* Register definitions according to chip architecture
*/
/******************************************/
/* RCT (System Boot-up and Configuration) */
/******************************************/
/* Chip version independent registers */
#define CG_UART_OFFSET 0x38
#define CG_SSI_OFFSET 0x3c
#define CG_MOTOR_OFFSET 0x40
#define CG_IR_OFFSET 0x44
#define CG_HOST_OFFSET 0x48
#define ANA_PWR_OFFSET 0x50
#define SOFT_RESET_OFFSET 0x68
#define SOFT_OR_DLL_RESET_OFFSET 0X68
#define FIO_RESET_OFFSET 0x74
#define WDT_RST_L_OFFSET 0x78
#define CLK_DEBOUNCE_OFFSET 0x80
#define CG_UART_REG RCT_REG(0x38)
#define CG_SSI_REG RCT_REG(0x3c)
#define CG_MOTOR_REG RCT_REG(0x40)
#define CG_IR_REG RCT_REG(0x44)
#define CG_HOST_REG RCT_REG(0x48)
#define ANA_PWR_REG RCT_REG(0x50)
#define SOFT_RESET_REG RCT_REG(0x68)
#define SOFT_OR_DLL_RESET_REG RCT_REG(0x68)
#define FIO_RESET_REG RCT_REG(0x74)
#define WDT_RST_L_REG RCT_REG(0x78)
#define CLK_DEBOUNCE_REG RCT_REG(0x80)
/* Chip version dependent registers */
#define PLL_CORE_CTRL_OFFSET 0x00
#define PLL_CORE_FRAC_OFFSET 0x04
#define SCALER_SD48_OFFSET 0x0c
#define SCALER_CORE_PRE_OFFSET 0x10
#define PLL_VIDEO_CTRL_OFFSET 0x14
#define PLL_VIDEO_FRAC_OFFSET 0x18
#define SCALER_VIDEO_OFFSET 0x1c
#define SCALER_VIDEO_POST_OFFSET 0xa0
#define PLL_SENSOR_CTRL_OFFSET 0x24
#define PLL_SENSOR_FRAC_OFFSET 0x28
#define SCALER_SENSOR_POST_OFFSET 0x30
#define SYS_CONFIG_OFFSET 0x34
#define SCALER_SENSOR_PRE_OFFSET 0x4c
#define PLL_AUDIO_CTRL_OFFSET 0x54
#define PLL_AUDIO_FRAC_OFFSET 0x58
#define SCALER_AUDIO_OFFSET 0x5c
#define SCALER_AUDIO_PRE_OFFSET 0x60
#define PLL_USB_CTRL_OFFSET 0x6c
#define PLL_USB_FRAC_OFFSET 0x70
#define SCALER_USB_OFFSET 0x7c
#define CG_PWM_OFFSET 0x84
#define USB_REFCLK_OFFSET 0x88
#define CKEN_VDSP_OFFSET 0x8c
#define DLL0_OFFSET 0x90
#define DLL1_OFFSET 0x94
#define SCALER_ADC_OFFSET 0x9c
#define CLK_REF_AU_EXTERNAL_OFFSET 0xa4
#define USE_EXTERNAL_CLK_AU_OFFSET 0xa8
#define CLK_REG_VIDEO_EXTERNAL_OFFSET 0xac
#define USE_EXTERNAL_VD_CLK_OFFSET 0xb0
#define USE_CLK_SI_4_AU_OFFSET 0xb4
#define USE_CLK_SI_4_VO_OFFSET 0xb8
#define USE_CLK_SI_INPUT_MODE_OFFSET 0xbc
#define PLL_CORE_CTRL_REG RCT_REG(0x00)
#define PLL_CORE_FRAC_REG RCT_REG(0x04)
#define SCALER_SD48_REG RCT_REG(0x0c)
#define SCALER_CORE_PRE_REG RCT_REG(0x10)
#define PLL_VIDEO_CTRL_REG RCT_REG(0x14)
#define PLL_VIDEO_FRAC_REG RCT_REG(0x18)
#define SCALER_VIDEO_REG RCT_REG(0x1c)
#define SCALER_VIDEO_POST_REG RCT_REG(0xa0)
#define PLL_SENSOR_CTRL_REG RCT_REG(0x24)
#define PLL_SENSOR_FRAC_REG RCT_REG(0x28)
#define SCALER_SENSOR_POST_REG RCT_REG(0x30)
#define SYS_CONFIG_REG RCT_REG(0x34)
#define SCALER_SENSOR_PRE_REG RCT_REG(0x4c)
#define PLL_AUDIO_CTRL_REG RCT_REG(0x54)
#define PLL_AUDIO_FRAC_REG RCT_REG(0x58)
#define SCALER_AUDIO_REG RCT_REG(0x5c)
#define SCALER_AUDIO_PRE_REG RCT_REG(0x60)
#define PLL_USB_CTRL_REG RCT_REG(0x6c)
#define PLL_USB_FRAC_REG RCT_REG(0x70)
#define SCALER_USB_REG RCT_REG(0x7c)
#define CG_PWM_REG RCT_REG(0x84)
#define USB_REFCLK_REG RCT_REG(0x88)
#define CKEN_VDSP_REG RCT_REG(0x8c)
#define DLL0_REG RCT_REG(0x90)
#define DLL1_REG RCT_REG(0x94)
#define SCALER_ADC_REG RCT_REG(0x9c)
#define CLK_REF_AU_EXTERNAL_REG RCT_REG(0xa4)
#define USE_EXTERNAL_CLK_AU_REG RCT_REG(0xa8)
#define CLK_REF_VIDEO_EXTERNAL_REG RCT_REG(0xac)
#define USE_EXTERNAL_VD_CLK_REG RCT_REG(0xb0)
#define USE_CLK_SI_4_AU_REG RCT_REG(0xb4)
#define USE_CLK_SI_4_VO_REG RCT_REG(0xb8)
#define USE_CLK_SI_INPUT_MODE_REG RCT_REG(0xbc)
/* PLL_XXX_CTRL_REG */
#define PLL_CTRL_VAL(intprog, sout, sdiv, valwe) \
(((intprog & 0x7f) << 24) | \
((sout & 0xf) << 16) | \
((sdiv & 0xf) << 12) | \
(valwe & 0xfff))
#define PLL_CTRL_INTPROG(x) ((x >> 24) & 0x7f)
#define PLL_CTRL_SOUT(x) ((x >> 16) & 0xf)
#define PLL_CTRL_SDIV(x) ((x >> 12) & 0xf)
#define PLL_CTRL_VALWE(x) (x & 0xfff)
/* PLL_XXX_FRAC_REG */
#define PLL_FRAC_VAL(frac) (frac & 0x7fffffff)
/* SCALER_XXX_PRE_REG */
#define SCALER_PRE_VAL(dcc, p, n) \
(((dcc & 0x1) << 24) | \
((p & 0x1f) << 16) | \
(n & 0xffff))
#define SCALER_PRE_P(x) ((x >> 16) & 0x1f)
#define SCALER_PRE_N(x) (x & 0xffff)
#define SCALER_POST(x) (x & 0xf)
#define HDMI_CTRL_OFFSET 0x08 /* A3 and later */
#define HDMI_CTRL_REG RCT_REG(0x08)
#define PLL_LOCK_OFFSET 0x2c
#define PLL_LOCK_REG RCT_REG(0x2c)
/* PLL_LOCK_REG */
#define PLL_LOCK_VIN (0x1 << 9)
#define PLL_LOCK_HDMI (0x1 << 8)
#define PLL_LOCK_AUDIO (0x1 << 7)
#define PLL_LOCK_CORE (0x1 << 6)
#define PLL_LOCK_DDR (0x1 << 5)
#define PLL_LOCK_IDSP (0x1 << 4)
#define PLL_LOCK_SENSOR (0x1 << 3)
#define PLL_LOCK_USB (0x1 << 2)
#define PLL_LOCK_VIDEO (0x1 << 1)
#define PLL_LOCK_VIDEO2 (0x1 << 0)
#define SENSOR_PAD_CTRL_OFFSET 0x98
#define SENSOR_PAD_CTRL_REG RCT_REG(0x98)
/* SENSOR_PAD_CTRL_REG */
#define SENSOR_PAD_CTRL_PMEMIO_A6 0x40
#define SENSOR_PAD_CTRL_PMEMIO_A2 0x20
#define SENSOR_PAD_CTRL_PMEMIO_DS 0x10
#define SENSOR_PAD_CTRL_PMEMIO_LVCMOS 0x08
#define SENSOR_PAD_CTRL_PMEMIO_S1 0x04
#define SENSOR_PAD_CTRL_PMEMIO_S0 0x02
#define SENSOR_PAD_CTRL_PMEMIO_PWD 0x01
#define PLL_VIDEO2_CTRL_OFFSET 0xc0
#define PLL_VIDEO2_FRAC_OFFSET 0xc4
#define SCALER_VIDEO2_OFFSET 0xc8
#define SCALER_VIDEO2_POST_OFFSET 0xcc
#define USE_CLK_SI_4_VO2_OFFSET 0xd0
#define USE_EXTERNAL_VD2_CLK_OFFSET 0xd4
#define CLK_REF_VIDEO2_EXTERNAL_OFFSET 0xd8
#define PLL_VIDEO2_CTRL_REG RCT_REG(0xc0)
#define PLL_VIDEO2_FRAC_REG RCT_REG(0xc4)
#define SCALER_VIDEO2_REG RCT_REG(0xc8)
#define SCALER_VIDEO2_POST_REG RCT_REG(0xcc)
#define USE_CLK_SI_4_VO2_REG RCT_REG(0xd0)
#define USE_EXTERNAL_VD2_CLK_REG RCT_REG(0xd4)
#define CLK_REF_VIDEO2_EXTERNAL_REG RCT_REG(0xd8)
#define PLL_IDSP_CTRL_OFFSET 0xe4
#define PLL_IDSP_FRAC_OFFSET 0xe8
#define PLL_IDSP_CTRL_REG RCT_REG(0xe4)
#define PLL_IDSP_FRAC_REG RCT_REG(0xe8)
#define CG_SSI2_OFFSET 0xec
#define CG_SSI2_REG RCT_REG(0xec)
#define PLL_DDR_CTRL_OFFSET 0xdc
#define PLL_DDR_FRAC_OFFSET 0xe0
#define PLL_DDR_CTRL_REG RCT_REG(0xdc)
#define PLL_DDR_FRAC_REG RCT_REG(0xe0)
/* DLL0_REG */
#define DLL0_VAL(madj_0,adj_0_0,adj_0_1) \
(((madj_0) & 0xff) | \
(((adj_0_0) & 0xff) << 8) | \
(((adj_0_1) & 0xff) << 16)) |
/* DLL1_REG */
#define DLL1_VAL(madj_1,adj_1_0,adj_1_1) \
(((madj_1) & 0xff) | \
(((adj_1_0) & 0xff) << 8) | \
(((adj_1_1) & 0xff) << 16)) |
#define DLL2_OFFSET 0xf0
#define DLL3_OFFSET 0xf4
#define DLL2_REG RCT_REG(0xf0)
#define DLL3_REG RCT_REG(0xf4)
#define LVDS_LVCMOS_OFFSET 0xf8
#define LVDS_ASYNC_OFFSET 0xfc
#define LVDS_LVCMOS_REG RCT_REG(0xf8)
#define LVDS_ASYNC_REG RCT_REG(0xfc)
#define PLL_CORE_CTRL2_OFFSET 0x100
#define PLL_CORE_CTRL3_OFFSET 0x104
#define PLL_IDSP_CTRL2_OFFSET 0x108
#define PLL_IDSP_CTRL3_OFFSET 0x10c
#define PLL_DDR_CTRL2_OFFSET 0x110
#define PLL_DDR_CTRL3_OFFSET 0x114
#define PLL_SENSOR_CTRL2_OFFSET 0x11c
#define PLL_SENSOR_CTRL3_OFFSET 0x120
#define PLL_AUDIO_CTRL2_OFFSET 0x124
#define PLL_AUDIO_CTRL3_OFFSET 0x12c
#define PLL_VIDEO_CTRL2_OFFSET 0x130
#define PLL_VIDEO_CTRL3_OFFSET 0x134
#define PLL_VIDEO2_CTRL2_OFFSET 0x13c
#define PLL_VIDEO2_CTRL3_OFFSET 0x140
#define PLL_USB_CTRL2_OFFSET 0x144
#define PLL_USB_CTRL3_OFFSET 0x14c
#define PLL_HDMI_CTRL2_OFFSET 0x150
#define PLL_HDMI_CTRL3_OFFSET 0x154
#define PLL_VIN_CTRL2_OFFSET 0x1b8
#define PLL_VIN_CTRL3_OFFSET 0x1bc
#define PLL_CORE_CTRL2_REG RCT_REG(0x100)
#define PLL_CORE_CTRL3_REG RCT_REG(0x104)
#define PLL_IDSP_CTRL2_REG RCT_REG(0x108)
#define PLL_IDSP_CTRL3_REG RCT_REG(0x10c)
#define PLL_DDR_CTRL2_REG RCT_REG(0x110)
#define PLL_DDR_CTRL3_REG RCT_REG(0x114)
#define SCALER_CORE_POST_REG RCT_REG(0x118)
#define PLL_SENSOR_CTRL2_REG RCT_REG(0x11c)
#define PLL_SENSOR_CTRL3_REG RCT_REG(0x120)
#define PLL_AUDIO_CTRL2_REG RCT_REG(0x124)
#define PLL_AUDIO_CTRL3_REG RCT_REG(0x12c)
#define PLL_VIDEO_CTRL2_REG RCT_REG(0x130)
#define PLL_VIDEO_CTRL3_REG RCT_REG(0x134)
#define PLL_VIDEO2_CTRL2_REG RCT_REG(0x13c)
#define PLL_VIDEO2_CTRL3_REG RCT_REG(0x140)
#define PLL_USB_CTRL2_REG RCT_REG(0x144)
#define PLL_USB_CTRL3_REG RCT_REG(0x14c)
#define PLL_HDMI_CTRL2_REG RCT_REG(0x150)
#define PLL_HDMI_CTRL3_REG RCT_REG(0x154)
#define PLL_VIN_CTRL2_REG RCT_REG(0x1b8)
#define PLL_VIN_CTRL3_REG RCT_REG(0x1bc)
#define DLL_CTRL_SEL_OFFSET 0x158
#define DLL_OCD_BITS_OFFSET 0x15c
#define DDRIO_CALIB_OFFSET 0x160
#define DLL_CTRL_SEL_REG RCT_REG(0x158)
#define DLL_OCD_BITS_REG RCT_REG(0x15c)
#define DDRIO_CALIB_REG RCT_REG(0x160)
#define PLL_HDMI_CTRL_OFFSET 0x164
#define PLL_HDMI_FRAC_OFFSET 0x168
#define SCALER_HDMI_POST_OFFSET 0x16c
#define SCALER_HDMI_PRE_OFFSET 0x170
#define PLL_HDMI_CTRL_REG RCT_REG(0x164)
#define PLL_HDMI_FRAC_REG RCT_REG(0x168)
#define SCALER_HDMI_POST_REG RCT_REG(0x16c)
#define SCALER_HDMI_PRE_REG RCT_REG(0x170)
#define PLL_VIN_CTRL_OFFSET 0x1a8
#define PLL_VIN_FRAC_OFFSET 0x1ac
#define SCALER_VIN_POST_OFFSET 0x1b0
#define SCALER_VIN_PRE_OFFSET 0x1b4
#define PLL_VIN_CTRL_REG RCT_REG(0x1a8)
#define PLL_VIN_FRAC_REG RCT_REG(0x1ac)
#define SCALER_VIN_POST_REG RCT_REG(0x1b0)
#define SCALER_VIN_PRE_REG RCT_REG(0x1b4)
#define ADC16_CTRL_OFFSET 0x198
#define ADC16_CTRL_REG RCT_REG(0x198)
#define CLK_REF_SSI_OFFSET 0x19c
#define CLK_REF_SSI_REG RCT_REG(0x19c)
#define T2V_CTRL_OFFSET 0x1a0
#define T2V_CTRL_REG RCT_REG(0x1a0)
#define RNG_CTRL_OFFSET 0x1a4
#define RNG_CTRL_REG RCT_REG(0x1a4)
/* Memory stick */
#define CG_DVEN_OFFSET 0x1c8
#define SCALER_MS_OFFSET 0x1cc
#define MS_DELAY_CTRL_OFFSET 0x1d0
#define CG_DVEN_REG RCT_REG(0x1c8)
#define SCALER_MS_REG RCT_REG(0x1cc)
#define MS_DELAY_CTRL_REG RCT_REG(0x1d0)
#define USE_COMMON_VO_CLK_OFFSET 0x1d4
#define USE_COMMON_VO_CLK_REG RCT_REG(0x1d4)
#define DISABLE_EXT_BYPASS_OFFSET 0x1e4
#define DISABLE_EXT_BYPASS_REG RCT_REG(0x1e4)
/* ANA_PWR_REG */
#define ANA_PWR_DLL_POWER_DOWN 0x80
#define ANA_PWR_PMEMIO_S1 0x40
#define ANA_PWR_POWER_DOWN 0x20
#define ANA_PWR_NEVER_SUSPEND_USBP 0x04
#define ANA_PWR_USB_SUSPEND 0x02
/* FIO_RESET_REG */
#define FIO_RESET_FIO_RST 0x00000008
#define FIO_RESET_CF_RST 0x00000004
#define FIO_RESET_XD_RST 0x00000002
#define FIO_RESET_FLASH_RST 0x00000001
/* USBP_REFCLK_REG */
#define USBP_REFCLK_TX_TUNE_11 0x0c00
#define USBP_REFCLK_TX_TUNE_10 0x0800
#define USBP_REFCLK_TX_TUNE_01 0x0400
#define USBP_REFCLK_TX_TUNE_00 0x0000
#define USBP_REFCLK_WAK_PULLDOWN_EN 0x0200
#define USBP_REFCLK_DP_PULLUP_ESD 0x0100
#define USBP_REFCLK_ESD_TEST_MODE 0x0080
#define USBP_REFCLK_COMMON_ON_N 0x0040
#define USBP_REFCLK_CLK48M_SEL 0x0020
#define USBP_REFCLK_CLK_SEL_11 0x000c
#define USBP_REFCLK_CLK_SEL_10 0x0008
#define USBP_REFCLK_CLK_SEL_01 0x0004
#define USBP_REFCLK_CLK_SEL_00 0x0000
#define USBP_REFCLK_XO_EXT_CLK_ENBN 0x0002
#define USBP_REFCLK_XO_REFCLK_ENB 0x0001
/* CKEN_VDSP_REG */
#define CKEN_VDSP_SMEM 0x08
#define CKEN_VDSP_CODE 0x04
#define CKEN_VDSP_TSFM 0x02
#define CKEN_VDSP_MEMD 0x01
/*
* SYS_CONFIG_REG
*/
#define SYS_CONFIG_USB_PHY_EXT_CRYSTAL 0x00800000
#define SYS_CONFIG_RCT_SMEM_EFUSE_DISABLE 0x00400000
#define SYS_CONFIG_RCT_AHB_HIF_SECURE 0x00200000
#define SYS_CONFIG_RDY_PL 0x00100000
/*
* sets polarity of hif_rdy signal
* 0 -> hif_rdy active low
* 1 -> hif_rdy active high
*/
#define SYS_CONFIG_HIF_TYPE 0x00080000
#define SYS_CONFIG_HIF_PORT_SIZE 0x00040000
#define SYS_CONFIG_HIF_EN 0x00020000
#define SYS_CONFIG_SPI_BOOT 0x00010000
#define SYS_CONFIG_RMII_SEL 0x00008000
#define SYS_CONFIG_ 0x00006000
/*
* 00 - full FME address range in use
* 01 - FMEM BIST clk enable forced on
* 10 -only lower half of FMEM used(A6)
* 11 -only upper half of FMEM used(A6)
*/
#define SYS_CONFIG_EMA_SEL 0x00001000
#define SYS_CONFIG_SD_BOOT 0x00000800
#define SYS_CONFIG_FLASH_BOOT 0x00000400
/*
* 0 : Boot with USB (ARM code on internal ROM).
* 1 : Boot using FIO controller (NAND or NOR flash).
*/
#define SYS_CONFIG_FAST_BOOT 0x00000200
#define SYS_CONFIG_BOOT_BYPASS 0x00000100
/*
* 0: ARM waits for FIO 2KB code fetch before execution.
* 1: ARM does not wait for FIO to fetch 2KB code before execution.
*/
#define SYS_CONFIG_ENET_SEL 0x00000080 /* 0: disable, 1: enable */
#define SYS_CONFIG_NAND_READ_CONFIRM 0x00000040 /* 0: use, 1: doesn't use */
#define SYS_CONFIG_NAND_FLASH_PAGE 0x00000020 /* 0: 512Byte, 1: 2K Byte */
#define SYS_CONFIG_PLL_UNLOCK_TRIG_RESET 0x00000010
/*
* 0: disable generating grst when core pll out of lock.(default)
* 1: enable generating grst when core pll out of lock.
*/
/* Idsp / Core / DDR */
#define SYS_CONFIG_CLOCK_CONFIG_7 0x0000000e /* 108 / 108 / 216 */
#define SYS_CONFIG_CLOCK_CONFIG_6 0x0000000c /* 256.5 / 243 / 337.5 */
#define SYS_CONFIG_CLOCK_CONFIG_5 0x0000000a /* 256.5 / 216 / 337.5 */
#define SYS_CONFIG_CLOCK_CONFIG_4 0x00000008 /* 256.5 / 216 / 337.5 */
#define SYS_CONFIG_CLOCK_CONFIG_3 0x00000006 /* 202.5 / 202.5 / 337.5 */
#define SYS_CONFIG_CLOCK_CONFIG_2 0x00000004 /* 148.5 / 148.5 / 337.5 */
#define SYS_CONFIG_CLOCK_CONFIG_1 0x00000002 /* 148.5 / 148.5 / 337.5 */
#define SYS_CONFIG_CLOCK_CONFIG_0 0x00000000 /* 216 / 216 / 432 */
#define SYS_CONFIG_BOOTMEDIA 0x00000001 /* 0: NAND, 1: NOR */
/*
* Core frequency values
*/
#define PLL_CORE_108MHZ_VAL 0x07011100
#define PLL_CORE_148MHZ_VAL 0x0a011100
#define PLL_CORE_202MHZ_VAL 0x0e011100
#define PLL_CORE_216MHZ_VAL 0x0f000100
#define PLL_CORE_243MHZ_VAL 0x11000100
#if defined(FIX_CORE_108MHZ)
#define EXPECT_PLL_CORE_VAL PLL_CORE_108MHZ_VAL
#elif defined(FIX_CORE_148MHZ)
#define EXPECT_PLL_CORE_VAL PLL_CORE_148MHZ_VAL
#elif defined(FIX_CORE_202MHZ)
#define EXPECT_PLL_CORE_VAL PLL_CORE_202MHZ_VAL
#elif defined(FIX_CORE_216MHZ)
#define EXPECT_PLL_CORE_VAL PLL_CORE_216MHZ_VAL
#elif defined(FIX_CORE_243MHZ)
#define EXPECT_PLL_CORE_VAL PLL_CORE_243MHZ_VAL
#else
#if defined(PWC_CORE_108MHZ)
#define EXPECT_PLL_CORE_VAL PLL_CORE_108MHZ_VAL
#elif defined(PWC_CORE_148MHZ)
#define EXPECT_PLL_CORE_VAL PLL_CORE_148MHZ_VAL
#elif defined(PWC_CORE_202MHZ)
#define EXPECT_PLL_CORE_VAL PLL_CORE_202MHZ_VAL
#elif defined(PWC_CORE_216MHZ)
#define EXPECT_PLL_CORE_VAL PLL_CORE_216MHZ_VAL
#elif defined(PWC_CORE_243MHZ)
#define EXPECT_PLL_CORE_VAL PLL_CORE_243MHZ_VAL
#else
#define EXPECT_PLL_CORE_VAL 0xffffffff
#endif
#endif
/*
* IDSP frequency values
*/
#define PLL_IDSP_108MHZ_VAL 0x07011100
#define PLL_IDSP_148MHZ_VAL 0x0a011100
#define PLL_IDSP_202MHZ_VAL 0x0e011100
#define PLL_IDSP_216MHZ_VAL 0x0f000100
#define PLL_IDSP_256MHZ_VAL 0x12000100
#if defined(FIX_IDSP_108MHZ)
#define EXPECT_PLL_IDSP_VAL PLL_IDSP_108MHZ_VAL
#elif defined(FIX_IDSP_148MHZ)
#define EXPECT_PLL_IDSP_VAL PLL_IDSP_148MHZ_VAL
#elif defined(FIX_IDSP_202MHZ)
#define EXPECT_PLL_IDSP_VAL PLL_IDSP_202MHZ_VAL
#elif defined(FIX_IDSP_216MHZ)
#define EXPECT_PLL_IDSP_VAL PLL_IDSP_216MHZ_VAL
#elif defined(FIX_IDSP_256MHZ)
#define EXPECT_PLL_IDSP_VAL PLL_IDSP_256MHZ_VAL
#else
#if defined(PWC_IDSP_108MHZ)
#define EXPECT_PLL_IDSP_VAL PLL_IDSP_108MHZ_VAL
#elif defined(PWC_IDSP_148MHZ)
#define EXPECT_PLL_IDSP_VAL PLL_IDSP_148MHZ_VAL
#elif defined(PWC_IDSP_202MHZ)
#define EXPECT_PLL_IDSP_VAL PLL_IDSP_202MHZ_VAL
#elif defined(PWC_IDSP_216MHZ)
#define EXPECT_PLL_IDSP_VAL PLL_IDSP_216MHZ_VAL
#elif defined(PWC_IDSP_256MHZ)
#define EXPECT_PLL_IDSP_VAL PLL_IDSP_256MHZ_VAL
#else
#define EXPECT_PLL_IDSP_VAL 0xffffffff
#endif
#endif
/* SCALER_SD48_REG */
#define SD48_DUTY_CYCLE_CTRL 0x10000
#define SD48_PRIMARY_DIV 0x0ff00
#define SD48_INTEGER_DIV 0x000ff
/* SCALER_MS_REG */
#define MS_DUTY_CYCLE_CTRL 0x1000000
#define MS_DELAY_MUX 0x0c00000
#define MS_PRIMARY_DIV 0x01f0000
#define MS_INTEGER_DIV 0x000ffff
//#ifndef __ASSEMBLER__
/*
* RCT/PLL functions
*/
//extern u32 get_apb_bus_freq_hz(void);
//extern u32 get_ahb_bus_freq_hz(void);
//extern u32 get_core_bus_freq_hz(void);
//#endif /* __ASSEMBLER__ */
#endif