⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clock.h

📁 linux2.6.16版本
💻 H
📖 第 1 页 / 共 2 页
字号:
	.enable_reg	= (void __iomem *)ARM_IDLECT3,	.enable_bit	= EN_OCPI_CK,	.recalc		= &followparent_recalc,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct clk tc1_ck = {	.name		= "tc1_ck",	.parent		= &tc_ck.clk,	.flags		= CLOCK_IN_OMAP16XX,	.enable_reg	= (void __iomem *)ARM_IDLECT3,	.enable_bit	= EN_TC1_CK,	.recalc		= &followparent_recalc,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct clk tc2_ck = {	.name		= "tc2_ck",	.parent		= &tc_ck.clk,	.flags		= CLOCK_IN_OMAP16XX,	.enable_reg	= (void __iomem *)ARM_IDLECT3,	.enable_bit	= EN_TC2_CK,	.recalc		= &followparent_recalc,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct clk dma_ck = {	/* No-idle controlled by "tc_ck" */	.name		= "dma_ck",	.parent		= &tc_ck.clk,	.flags		= CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX |			  ALWAYS_ENABLED,	.recalc		= &followparent_recalc,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct clk dma_lcdfree_ck = {	.name		= "dma_lcdfree_ck",	.parent		= &tc_ck.clk,	.flags		= CLOCK_IN_OMAP16XX | ALWAYS_ENABLED,	.recalc		= &followparent_recalc,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct arm_idlect1_clk api_ck = {	.clk = {		.name		= "api_ck",		.parent		= &tc_ck.clk,		.flags		= CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX |				  CLOCK_IDLE_CONTROL,		.enable_reg	= (void __iomem *)ARM_IDLECT2,		.enable_bit	= EN_APICK,		.recalc		= &followparent_recalc,		.enable		= &omap1_clk_enable_generic,		.disable	= &omap1_clk_disable_generic,	},	.idlect_shift	= 8,};static struct arm_idlect1_clk lb_ck = {	.clk = {		.name		= "lb_ck",		.parent		= &tc_ck.clk,		.flags		= CLOCK_IN_OMAP1510 | CLOCK_IDLE_CONTROL,		.enable_reg	= (void __iomem *)ARM_IDLECT2,		.enable_bit	= EN_LBCK,		.recalc		= &followparent_recalc,		.enable		= &omap1_clk_enable_generic,		.disable	= &omap1_clk_disable_generic,	},	.idlect_shift	= 4,};static struct clk rhea1_ck = {	.name		= "rhea1_ck",	.parent		= &tc_ck.clk,	.flags		= CLOCK_IN_OMAP16XX | ALWAYS_ENABLED,	.recalc		= &followparent_recalc,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct clk rhea2_ck = {	.name		= "rhea2_ck",	.parent		= &tc_ck.clk,	.flags		= CLOCK_IN_OMAP16XX | ALWAYS_ENABLED,	.recalc		= &followparent_recalc,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct clk lcd_ck_16xx = {	.name		= "lcd_ck",	.parent		= &ck_dpll1,	.flags		= CLOCK_IN_OMAP16XX | CLOCK_IN_OMAP730 | RATE_CKCTL,	.enable_reg	= (void __iomem *)ARM_IDLECT2,	.enable_bit	= EN_LCDCK,	.rate_offset	= CKCTL_LCDDIV_OFFSET,	.recalc		= &omap1_ckctl_recalc,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct arm_idlect1_clk lcd_ck_1510 = {	.clk = {		.name		= "lcd_ck",		.parent		= &ck_dpll1,		.flags		= CLOCK_IN_OMAP1510 | RATE_CKCTL |				  CLOCK_IDLE_CONTROL,		.enable_reg	= (void __iomem *)ARM_IDLECT2,		.enable_bit	= EN_LCDCK,		.rate_offset	= CKCTL_LCDDIV_OFFSET,		.recalc		= &omap1_ckctl_recalc,		.enable		= &omap1_clk_enable_generic,		.disable	= &omap1_clk_disable_generic,	},	.idlect_shift	= 3,};static struct clk uart1_1510 = {	.name		= "uart1_ck",	/* Direct from ULPD, no real parent */	.parent		= &armper_ck.clk,	.rate		= 12000000,	.flags		= CLOCK_IN_OMAP1510 | ENABLE_REG_32BIT |			  ALWAYS_ENABLED | CLOCK_NO_IDLE_PARENT,	.enable_reg	= (void __iomem *)MOD_CONF_CTRL_0,	.enable_bit	= 29,	/* Chooses between 12MHz and 48MHz */	.set_rate	= &omap1_set_uart_rate,	.recalc		= &omap1_uart_recalc,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct uart_clk uart1_16xx = {	.clk	= {		.name		= "uart1_ck",		/* Direct from ULPD, no real parent */		.parent		= &armper_ck.clk,		.rate		= 48000000,		.flags		= CLOCK_IN_OMAP16XX | RATE_FIXED |				  ENABLE_REG_32BIT | CLOCK_NO_IDLE_PARENT,		.enable_reg	= (void __iomem *)MOD_CONF_CTRL_0,		.enable_bit	= 29,		.enable		= &omap1_clk_enable_uart_functional,		.disable	= &omap1_clk_disable_uart_functional,	},	.sysc_addr	= 0xfffb0054,};static struct clk uart2_ck = {	.name		= "uart2_ck",	/* Direct from ULPD, no real parent */	.parent		= &armper_ck.clk,	.rate		= 12000000,	.flags		= CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX |			  ENABLE_REG_32BIT | ALWAYS_ENABLED |			  CLOCK_NO_IDLE_PARENT,	.enable_reg	= (void __iomem *)MOD_CONF_CTRL_0,	.enable_bit	= 30,	/* Chooses between 12MHz and 48MHz */	.set_rate	= &omap1_set_uart_rate,	.recalc		= &omap1_uart_recalc,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct clk uart3_1510 = {	.name		= "uart3_ck",	/* Direct from ULPD, no real parent */	.parent		= &armper_ck.clk,	.rate		= 12000000,	.flags		= CLOCK_IN_OMAP1510 | ENABLE_REG_32BIT |			  ALWAYS_ENABLED | CLOCK_NO_IDLE_PARENT,	.enable_reg	= (void __iomem *)MOD_CONF_CTRL_0,	.enable_bit	= 31,	/* Chooses between 12MHz and 48MHz */	.set_rate	= &omap1_set_uart_rate,	.recalc		= &omap1_uart_recalc,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct uart_clk uart3_16xx = {	.clk	= {		.name		= "uart3_ck",		/* Direct from ULPD, no real parent */		.parent		= &armper_ck.clk,		.rate		= 48000000,		.flags		= CLOCK_IN_OMAP16XX | RATE_FIXED |				  ENABLE_REG_32BIT | CLOCK_NO_IDLE_PARENT,		.enable_reg	= (void __iomem *)MOD_CONF_CTRL_0,		.enable_bit	= 31,		.enable		= &omap1_clk_enable_uart_functional,		.disable	= &omap1_clk_disable_uart_functional,	},	.sysc_addr	= 0xfffb9854,};static struct clk usb_clko = {	/* 6 MHz output on W4_USB_CLKO */	.name		= "usb_clko",	/* Direct from ULPD, no parent */	.rate		= 6000000,	.flags		= CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX |			  RATE_FIXED | ENABLE_REG_32BIT,	.enable_reg	= (void __iomem *)ULPD_CLOCK_CTRL,	.enable_bit	= USB_MCLK_EN_BIT,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct clk usb_hhc_ck1510 = {	.name		= "usb_hhc_ck",	/* Direct from ULPD, no parent */	.rate		= 48000000, /* Actually 2 clocks, 12MHz and 48MHz */	.flags		= CLOCK_IN_OMAP1510 |			  RATE_FIXED | ENABLE_REG_32BIT,	.enable_reg	= (void __iomem *)MOD_CONF_CTRL_0,	.enable_bit	= USB_HOST_HHC_UHOST_EN,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct clk usb_hhc_ck16xx = {	.name		= "usb_hhc_ck",	/* Direct from ULPD, no parent */	.rate		= 48000000,	/* OTG_SYSCON_2.OTG_PADEN == 0 (not 1510-compatible) */	.flags		= CLOCK_IN_OMAP16XX |			  RATE_FIXED | ENABLE_REG_32BIT,	.enable_reg	= (void __iomem *)OTG_BASE + 0x08 /* OTG_SYSCON_2 */,	.enable_bit	= 8 /* UHOST_EN */,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct clk usb_dc_ck = {	.name		= "usb_dc_ck",	/* Direct from ULPD, no parent */	.rate		= 48000000,	.flags		= CLOCK_IN_OMAP16XX | RATE_FIXED,	.enable_reg	= (void __iomem *)SOFT_REQ_REG,	.enable_bit	= 4,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct clk mclk_1510 = {	.name		= "mclk",	/* Direct from ULPD, no parent. May be enabled by ext hardware. */	.rate		= 12000000,	.flags		= CLOCK_IN_OMAP1510 | RATE_FIXED,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct clk mclk_16xx = {	.name		= "mclk",	/* Direct from ULPD, no parent. May be enabled by ext hardware. */	.flags		= CLOCK_IN_OMAP16XX,	.enable_reg	= (void __iomem *)COM_CLK_DIV_CTRL_SEL,	.enable_bit	= COM_ULPD_PLL_CLK_REQ,	.set_rate	= &omap1_set_ext_clk_rate,	.round_rate	= &omap1_round_ext_clk_rate,	.init		= &omap1_init_ext_clk,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct clk bclk_1510 = {	.name		= "bclk",	/* Direct from ULPD, no parent. May be enabled by ext hardware. */	.rate		= 12000000,	.flags		= CLOCK_IN_OMAP1510 | RATE_FIXED,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct clk bclk_16xx = {	.name		= "bclk",	/* Direct from ULPD, no parent. May be enabled by ext hardware. */	.flags		= CLOCK_IN_OMAP16XX,	.enable_reg	= (void __iomem *)SWD_CLK_DIV_CTRL_SEL,	.enable_bit	= SWD_ULPD_PLL_CLK_REQ,	.set_rate	= &omap1_set_ext_clk_rate,	.round_rate	= &omap1_round_ext_clk_rate,	.init		= &omap1_init_ext_clk,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct clk mmc1_ck = {	.name		= "mmc1_ck",	/* Functional clock is direct from ULPD, interface clock is ARMPER */	.parent		= &armper_ck.clk,	.rate		= 48000000,	.flags		= CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX |			  RATE_FIXED | ENABLE_REG_32BIT | CLOCK_NO_IDLE_PARENT,	.enable_reg	= (void __iomem *)MOD_CONF_CTRL_0,	.enable_bit	= 23,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct clk mmc2_ck = {	.name		= "mmc2_ck",	/* Functional clock is direct from ULPD, interface clock is ARMPER */	.parent		= &armper_ck.clk,	.rate		= 48000000,	.flags		= CLOCK_IN_OMAP16XX |			  RATE_FIXED | ENABLE_REG_32BIT | CLOCK_NO_IDLE_PARENT,	.enable_reg	= (void __iomem *)MOD_CONF_CTRL_0,	.enable_bit	= 20,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct clk virtual_ck_mpu = {	.name		= "mpu",	.flags		= CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX |			  VIRTUAL_CLOCK | ALWAYS_ENABLED,	.parent		= &arm_ck, /* Is smarter alias for */	.recalc		= &followparent_recalc,	.set_rate	= &omap1_select_table_rate,	.round_rate	= &omap1_round_to_table_rate,	.enable		= &omap1_clk_enable_generic,	.disable	= &omap1_clk_disable_generic,};static struct clk * onchip_clks[] = {	/* non-ULPD clocks */	&ck_ref,	&ck_dpll1,	/* CK_GEN1 clocks */	&ck_dpll1out.clk,	&arm_ck,	&armper_ck.clk,	&arm_gpio_ck,	&armxor_ck.clk,	&armtim_ck.clk,	&armwdt_ck.clk,	&arminth_ck1510,  &arminth_ck16xx,	/* CK_GEN2 clocks */	&dsp_ck,	&dspmmu_ck,	&dspper_ck,	&dspxor_ck,	&dsptim_ck,	/* CK_GEN3 clocks */	&tc_ck.clk,	&tipb_ck,	&l3_ocpi_ck,	&tc1_ck,	&tc2_ck,	&dma_ck,	&dma_lcdfree_ck,	&api_ck.clk,	&lb_ck.clk,	&rhea1_ck,	&rhea2_ck,	&lcd_ck_16xx,	&lcd_ck_1510.clk,	/* ULPD clocks */	&uart1_1510,	&uart1_16xx.clk,	&uart2_ck,	&uart3_1510,	&uart3_16xx.clk,	&usb_clko,	&usb_hhc_ck1510, &usb_hhc_ck16xx,	&usb_dc_ck,	&mclk_1510,  &mclk_16xx,	&bclk_1510,  &bclk_16xx,	&mmc1_ck,	&mmc2_ck,	/* Virtual clocks */	&virtual_ck_mpu,};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -