Ejemplo n.º 1
0
void clock_init(void)
{
    tca_ckc_setfbusctrl( CLKCTRL0,  ENABLE, 0, 8000000, DIRECTPLL5);	/*FBUS_CPU      800 MHz*/	// 1.2V
    tca_ckc_setfbusctrl( CLKCTRL1,  ENABLE, 0, 2500000, DIRECTPLL1);	/*FBUS_DDI      290 MHz*/
    tca_ckc_setfbusctrl( CLKCTRL2,  ENABLE, 0, 4000000, DIRECTPLL3);	/*FBUS_MEM      320 MHz */
    tca_ckc_setfbusctrl( CLKCTRL3, DISABLE, 0, 2500000, DIRECTPLL1);	/*FBUS_GRP      320 MHz */
    tca_ckc_setfbusctrl( CLKCTRL4,  ENABLE, 0, 1680000, DIRECTPLL3);	/*FBUS_IOB      190 MHz */
    tca_ckc_setfbusctrl( CLKCTRL5, DISABLE, 0, 2970000, DIRECTPLL0);	/*FBUS_VBUS     300 MHz */
    tca_ckc_setfbusctrl( CLKCTRL6, DISABLE, 0, 2500000, DIRECTPLL1);	/*FBUS_VCODEC   290 MHz */
    tca_ckc_setfbusctrl( CLKCTRL7,  ENABLE, 0, 2000000, DIRECTPLL5);	/*FBUS_SMU      200 MHz */
    tca_ckc_setfbusctrl( CLKCTRL8,  ENABLE, 0, 2160000, DIRECTPLL2);	/*FBUS_HSIO     240 MHz */
    tca_ckc_setfbusctrl( CLKCTRL9, DISABLE, 0, 2970000, DIRECTPLL0);	/*CAMBUS        330 MHz */
}
Ejemplo n.º 2
0
/************************************************************
* Function    : clock_init()
* Description :
*    - increase fbus clock (1.2V or higher level)
************************************************************/
void clock_init(void)
{
#if defined(AXP192_PMIC)
	axp192_init(I2C_CH_MASTER0);
	axp192_set_voltage(AXP192_ID_DCDC2, 1250);	// CoreA 1200mV
	axp192_set_voltage(AXP192_ID_DCDC1,    0);	// CoreB Disable
#endif

#if defined(RN5T614_PMIC)
	rn5t614_init(I2C_CH_MASTER0);

	#if (HW_REV == 0x2004)
	    rn5t614_set_voltage(RN5T614_ID_DCDC1, 0);
	    rn5t614_set_power(RN5T614_ID_DCDC1, 0);
	#else
	    rn5t614_set_voltage(RN5T614_ID_DCDC1, 1250);
	    rn5t614_set_power(RN5T614_ID_DCDC1, 1);
    #endif

    rn5t614_set_voltage(RN5T614_ID_LDO1, 1800);
    rn5t614_set_power(RN5T614_ID_LDO1, 1);

    rn5t614_set_voltage(RN5T614_ID_LDO3, 3000);
    rn5t614_set_power(RN5T614_ID_LDO3, 1);

	rn5t614_set_voltage(RN5T614_ID_LDO5, 3300);
	rn5t614_set_power(RN5T614_ID_LDO5, 1);

	rn5t614_set_voltage(RN5T614_ID_LDO6, 1200);
	rn5t614_set_power(RN5T614_ID_LDO6, 1);

	rn5t614_set_voltage(RN5T614_ID_LDO7, 1800);
	rn5t614_set_power(RN5T614_ID_LDO7, 1);
#endif

	tca_ckc_setfbusctrl( FBUS_CPU,    ENABLE, 8000000);	/*FBUS_CPU      800 MHz */	// 1.35V
//	tca_ckc_setfbusctrl( FBUS_CPU,    ENABLE, 6250000);	/*FBUS_CPU      625 MHz */	// 1.2V
#if defined(DRAM_DDR3)
	tca_ckc_setfbusctrl( FBUS_MEM,    ENABLE, 5330000);	/*FBUS_MEM      533 MHz */
#else
	tca_ckc_setfbusctrl( FBUS_MEM,    ENABLE, 3000000);	/*FBUS_MEM      300 MHz */
#endif
	tca_ckc_setfbusctrl( FBUS_DDI,    ENABLE, 3120000);	/*FBUS_DDI      312 MHz */
	tca_ckc_setfbusctrl( FBUS_GPU,   DISABLE, 3700000);	/*FBUS_GRP      370 MHz */
	tca_ckc_setfbusctrl( FBUS_IO,     ENABLE, 1960000);	/*FBUS_IOB      196 MHz */
	tca_ckc_setfbusctrl( FBUS_VBUS,  DISABLE, 2770000);	/*FBUS_VBUS     277 MHz */
	tca_ckc_setfbusctrl( FBUS_VCORE, DISABLE, 2770000);	/*FBUS_VCODEC   277 MHz */
	tca_ckc_setfbusctrl( FBUS_HSIO,   ENABLE, 2500000);	/*FBUS_HSIO     250 MHz */
	tca_ckc_setfbusctrl( FBUS_SMU,    ENABLE, 1000000);	/*FBUS_SMU      196 MHz */
}
Ejemplo n.º 3
0
void clock_init(void)
{
#if defined(AXP192_PMIC)
	axp192_init(I2C_CORE0_CH0);
	axp192_set_voltage(AXP192_ID_DCDC2, 1200);	// CoreA 1200mV
#endif

	tca_ckc_setfbusctrl( CLKCTRL0,  ENABLE, 0, 8000000, DIRECTPLL5);	/*FBUS_CPU      800 MHz*/	// 1.2V
	tca_ckc_setfbusctrl( CLKCTRL1,  ENABLE, 0, 2500000, DIRECTPLL1);	/*FBUS_DDI      290 MHz*/
	tca_ckc_setfbusctrl( CLKCTRL2,  ENABLE, 0, 3200000, DIRECTPLL3);	/*FBUS_MEM      320 MHz */
	tca_ckc_setfbusctrl( CLKCTRL3, DISABLE, 0, 2500000, DIRECTPLL1);	/*FBUS_GRP      320 MHz */
	tca_ckc_setfbusctrl( CLKCTRL4,  ENABLE, 0, 1680000, DIRECTPLL3);	/*FBUS_IOB      190 MHz */
	tca_ckc_setfbusctrl( CLKCTRL5, DISABLE, 0, 2970000, DIRECTPLL0);	/*FBUS_VBUS     300 MHz */
	tca_ckc_setfbusctrl( CLKCTRL6, DISABLE, 0, 2500000, DIRECTPLL1);	/*FBUS_VCODEC   290 MHz */
	tca_ckc_setfbusctrl( CLKCTRL7,  ENABLE, 0, 2000000, DIRECTPLL5);	/*FBUS_SMU      200 MHz */
	tca_ckc_setfbusctrl( CLKCTRL8,  ENABLE, 0, 2160000, DIRECTPLL2);	/*FBUS_HSIO     240 MHz */
	tca_ckc_setfbusctrl( CLKCTRL9, DISABLE, 0, 2970000, DIRECTPLL0);	/*CAMBUS        330 MHz */
}
Ejemplo n.º 4
0
void clock_init_early(void)
{
	tca_ckc_init();

	tca_ckc_setpll(5940000, 0);
	tca_ckc_setpll(5000000, 1);
	tca_ckc_setpll(4320000, 2);
	tca_ckc_setpll(6720000, 3);
//	tca_ckc_setpll(6000000, 4);
//	tca_ckc_setpll(6480000, 5);

//	tca_ckc_setfbusctrl( CLKCTRL0,  ENABLE, 0, 8000000, DIRECTPLL5);	/*FBUS_CPU      800 MHz*/	// 1.2V
	tca_ckc_setfbusctrl( CLKCTRL1,  ENABLE, 0, 2500000, DIRECTPLL1);	/*FBUS_DDI      290 MHz*/
//	tca_ckc_setfbusctrl( CLKCTRL2,  ENABLE, 0, 3200000, DIRECTPLL3);	/*FBUS_MEM      320 MHz */
	tca_ckc_setfbusctrl( CLKCTRL3, DISABLE, 0, 2500000, DIRECTPLL1);	/*FBUS_GRP      320 MHz */
	tca_ckc_setfbusctrl( CLKCTRL4,  ENABLE, 0, 1680000, DIRECTPLL3);	/*FBUS_IOB      190 MHz */
	tca_ckc_setfbusctrl( CLKCTRL5, DISABLE, 0, 2970000, DIRECTPLL0);	/*FBUS_VBUS     300 MHz */
	tca_ckc_setfbusctrl( CLKCTRL6, DISABLE, 0, 2500000, DIRECTPLL1);	/*FBUS_VCODEC   290 MHz */
	tca_ckc_setfbusctrl( CLKCTRL7,  ENABLE, 0, 2000000, DIRECTPLL5);	/*FBUS_SMU      200 MHz */
	tca_ckc_setfbusctrl( CLKCTRL8,  ENABLE, 0, 2160000, DIRECTPLL2);	/*FBUS_HSIO     240 MHz */
	tca_ckc_setfbusctrl( CLKCTRL9, DISABLE, 0, 2970000, DIRECTPLL0);	/*CAMBUS        330 MHz */

	// init Peri. Clock
	tca_ckc_setperi(PERI_TCX       , DISABLE,  120000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_TCT       ,  ENABLE,  120000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_TCZ       ,  ENABLE,  120000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_LCD0      , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_LCD1      ,  ENABLE,  960000,PCDIRECTPLL3);
	tca_ckc_setperi(PERI_LCDSI0    , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_LCDSI1    , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_HDMIA     , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_DSI       , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_RESERVED0 , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_HDMI      , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_USB11H    , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_SDMMC0    , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_MSTICK    , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_I2C0      ,  ENABLE,   40000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_UART0     ,  ENABLE,  480000,PCDIRECTPLL3);
	tca_ckc_setperi(PERI_UART1     , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_UART2     , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_UART3     , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_UART4     , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_UART5     , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_GPSB0     , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_GPSB1     , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_GPSB2     , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_GPSB3     , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_GPSB4     , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_GPSB5     , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_ADC       ,  ENABLE,  120000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_SPDIF     , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_EHI0      , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_EHI1      , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_AUD       , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_PDM       , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_SDMMC1    , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_SDMMC2    , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_SDMMC3    , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_DAI0      , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_DAI1      , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_DAI2      , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_I2C1      ,  ENABLE,   40000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_SATA_REF0 , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_SATA_REF1 , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_SATAH0    , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_SATAH1    , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_USB20H    , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_GMAC      , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_CIFMC     , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_CIFSC     , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_ISPJ      , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_ISPS      , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_FILTER    , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_RESERVED1 , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_RESERVED2 , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_RESERVED3 , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_OUT0      , DISABLE,   10000, PCDIRECTXIN);
	tca_ckc_setperi(PERI_OUT1      , DISABLE,   10000, PCDIRECTXIN);
}
Ejemplo n.º 5
0
/************************************************************
* Function    : clock_init_early()
* Description :
*    - set pll/peri-clock and
*    - set fbus clock to low (1.0V level)
************************************************************/
void clock_init_early(void)
{
	tca_ckc_init();

	tca_ckc_setfbusctrl( FBUS_IO,     ENABLE,   60000);	/*FBUS_IO		6 MHz */
	tca_ckc_setfbusctrl( FBUS_SMU,    ENABLE,   60000);	/*FBUS_SMU		6 MHz */

	tca_ckc_setpll(5940000, 0);
	tca_ckc_setpll(5000000, 1);
	tca_ckc_setpll(7280000, 2);
	tca_ckc_setpll(6720000, 3);
//	tca_ckc_setpll(6000000, 4);	// for memory bus
//	tca_ckc_setpll(6480000, 5);	// for cpu

//	tca_ckc_setfbusctrl( FBUS_CPU,    ENABLE, 4000000);	/*FBUS_CPU      400 MHz */	// 1.0V
//	tca_ckc_setfbusctrl( FBUS_MEM,    ENABLE, 1250000);	/*FBUS_MEM      160 MHz */
	tca_ckc_setfbusctrl( FBUS_DDI,    ENABLE, 1250000);	/*FBUS_DDI      290 MHz */
	tca_ckc_setfbusctrl( FBUS_GPU,   DISABLE, 1250000);	/*FBUS_GRP      320 MHz */
	tca_ckc_setfbusctrl( FBUS_IO,     ENABLE,  720000);	/*FBUS_IO       190 MHz */
	tca_ckc_setfbusctrl( FBUS_VBUS,  DISABLE,  990000);	/*FBUS_VBUS     300 MHz */
	tca_ckc_setfbusctrl( FBUS_VCORE, DISABLE, 1250000);	/*FBUS_VCODEC   290 MHz */
	tca_ckc_setfbusctrl( FBUS_HSIO,   ENABLE, 1080000);	/*FBUS_HSIO     240 MHz */
	tca_ckc_setfbusctrl( FBUS_SMU,    ENABLE, 1000000);	/*FBUS_SMU      200 MHz */

	// init Peri. Clock
	tca_ckc_setperi(PERI_TCX       , DISABLE,  120000);
	tca_ckc_setperi(PERI_TCT       ,  ENABLE,  120000);
	tca_ckc_setperi(PERI_TCZ       ,  ENABLE,  120000);
	tca_ckc_setperi(PERI_LCD0      , DISABLE,   10000);
	tca_ckc_setperi(PERI_LCDSI0    , DISABLE,   10000);
	tca_ckc_setperi(PERI_LCD1      ,  ENABLE,  960000);
	tca_ckc_setperi(PERI_LCDSI1    , DISABLE,   10000);
	tca_ckc_setperi(PERI_RESERVED0 , DISABLE,   10000);
	tca_ckc_setperi(PERI_LCDTIMER  , DISABLE,   10000);
	tca_ckc_setperi(PERI_JPEG      , DISABLE,   10000);
	tca_ckc_setperi(PERI_RESERVED1 , DISABLE,   10000);
	tca_ckc_setperi(PERI_RESERVED2 , DISABLE,   10000);
	tca_ckc_setperi(PERI_GMAC      , DISABLE,   10000);
	tca_ckc_setperi(PERI_USBOTG    , DISABLE,   10000);
	tca_ckc_setperi(PERI_RESERVED3 , DISABLE,   10000);
	tca_ckc_setperi(PERI_OUT0      , DISABLE,   10000);
	tca_ckc_setperi(PERI_USB20H    , DISABLE,   10000);
	tca_ckc_setperi(PERI_HDMI      , DISABLE,   10000);
	tca_ckc_setperi(PERI_HDMIA     , DISABLE,   10000);
	tca_ckc_setperi(PERI_OUT1      , DISABLE,   10000);
	tca_ckc_setperi(PERI_EHI       , DISABLE,   10000);
	tca_ckc_setperi(PERI_SDMMC0    , DISABLE,   10000);
	tca_ckc_setperi(PERI_SDMMC1    , DISABLE,   10000);
	tca_ckc_setperi(PERI_SDMMC2    , DISABLE,   10000);
	tca_ckc_setperi(PERI_SDMMC3    , DISABLE,   10000);
	tca_ckc_setperi(PERI_ADAI1     , DISABLE,   10000);
	tca_ckc_setperi(PERI_ADAM1     , DISABLE,   10000);
	tca_ckc_setperi(PERI_SPDIF1    , DISABLE,   10000);
	tca_ckc_setperi(PERI_ADAI0     , DISABLE,   10000);
	tca_ckc_setperi(PERI_ADAM0     , DISABLE,   10000);
	tca_ckc_setperi(PERI_SPDIF0    , DISABLE,   10000);
	tca_ckc_setperi(PERI_PDM       , DISABLE,   10000);
	tca_ckc_setperi(PERI_RESERVED4 , DISABLE,   10000);
	tca_ckc_setperi(PERI_ADC       ,  ENABLE,  120000);
	tca_ckc_setperi(PERI_I2C0      ,  ENABLE,   40000);
	tca_ckc_setperi(PERI_I2C1      ,  ENABLE,   40000);
	tca_ckc_setperi(PERI_I2C2      ,  ENABLE,   40000);
	tca_ckc_setperi(PERI_I2C3      ,  ENABLE,   40000);
	tca_ckc_setperi(PERI_UART0     ,  ENABLE,  480000);
	tca_ckc_setperi(PERI_UART1     , DISABLE,   10000);
	tca_ckc_setperi(PERI_UART2     , DISABLE,   10000);
	tca_ckc_setperi(PERI_UART3     , DISABLE,   10000);
	tca_ckc_setperi(PERI_UART4     , DISABLE,   10000);
	tca_ckc_setperi(PERI_UART5     , DISABLE,   10000);
	tca_ckc_setperi(PERI_UART6     , DISABLE,   10000);
	tca_ckc_setperi(PERI_UART7     , DISABLE,   10000);
	tca_ckc_setperi(PERI_GPSB0     , DISABLE,   10000);
	tca_ckc_setperi(PERI_GPSB1     , DISABLE,   10000);
	tca_ckc_setperi(PERI_GPSB2     , DISABLE,   10000);
	tca_ckc_setperi(PERI_GPSB3     , DISABLE,   10000);
	tca_ckc_setperi(PERI_GPSB4     , DISABLE,   10000);
	tca_ckc_setperi(PERI_GPSB5     , DISABLE,   10000);
}