Loading arch/arm/mach-pxa/clock.c +25 −0 Original line number Diff line number Diff line Loading @@ -125,3 +125,28 @@ void clks_register(struct clk *clks, size_t num) list_add(&clks[i].node, &clocks); mutex_unlock(&clocks_mutex); } int clk_add_alias(char *alias, struct device *alias_dev, char *id, struct device *dev) { struct clk *r = clk_lookup(dev, id); struct clk *new; if (!r) return -ENODEV; new = kzalloc(sizeof(struct clk), GFP_KERNEL); if (!new) return -ENOMEM; new->name = alias; new->dev = alias_dev; new->other = r; mutex_lock(&clocks_mutex); list_add(&new->node, &clocks); mutex_unlock(&clocks_mutex); return 0; } arch/arm/mach-pxa/clock.h +5 −0 Original line number Diff line number Diff line #include <linux/list.h> struct clk; struct clkops { Loading Loading @@ -86,3 +88,6 @@ extern void clk_pxa3xx_cken_disable(struct clk *); #endif void clks_register(struct clk *clks, size_t num); int clk_add_alias(char *alias, struct device *alias_dev, char *id, struct device *dev); arch/arm/mach-pxa/eseries.c +121 −49 Original line number Diff line number Diff line Loading @@ -10,15 +10,75 @@ * */ #include <linux/kernel.h> #include <linux/init.h> #include <asm/setup.h> #include <asm/mach/arch.h> #include <mach/hardware.h> #include <asm/mach-types.h> #include <mach/mfp-pxa25x.h> #include <mach/hardware.h> #include "generic.h" static unsigned long e740_pin_config[] __initdata = { /* Chip selects */ GPIO15_nCS_1, /* CS1 - Flash */ GPIO79_nCS_3, /* CS3 - IMAGEON */ GPIO80_nCS_4, /* CS4 - TMIO */ /* Clocks */ GPIO12_32KHz, /* BTUART */ GPIO42_BTUART_RXD, GPIO43_BTUART_TXD, GPIO44_BTUART_CTS, GPIO45_GPIO, /* Used by TMIO for #SUSPEND */ /* PC Card */ GPIO8_GPIO, /* CD0 */ GPIO44_GPIO, /* CD1 */ GPIO11_GPIO, /* IRQ0 */ GPIO6_GPIO, /* IRQ1 */ GPIO27_GPIO, /* RST0 */ GPIO24_GPIO, /* RST1 */ GPIO20_GPIO, /* PWR0 */ GPIO23_GPIO, /* PWR1 */ GPIO48_nPOE, GPIO49_nPWE, GPIO50_nPIOR, GPIO51_nPIOW, GPIO52_nPCE_1, GPIO53_nPCE_2, GPIO54_nPSKTSEL, GPIO55_nPREG, GPIO56_nPWAIT, GPIO57_nIOIS16, /* wakeup */ GPIO0_GPIO | WAKEUP_ON_EDGE_RISE, }; static unsigned long e400_pin_config[] __initdata = { /* Chip selects */ GPIO15_nCS_1, /* CS1 - Flash */ GPIO80_nCS_4, /* CS4 - TMIO */ /* Clocks */ GPIO12_32KHz, /* BTUART */ GPIO42_BTUART_RXD, GPIO43_BTUART_TXD, GPIO44_BTUART_CTS, GPIO45_GPIO, /* Used by TMIO for #SUSPEND */ /* wakeup */ GPIO0_GPIO | WAKEUP_ON_EDGE_RISE, }; /* Only e800 has 128MB RAM */ static void __init eseries_fixup(struct machine_desc *desc, struct tag *tags, char **cmdline, struct meminfo *mi) Loading @@ -32,6 +92,16 @@ static void __init eseries_fixup(struct machine_desc *desc, mi->bank[0].size = (64*1024*1024); } static void __init e740_init(void) { pxa2xx_mfp_config(ARRAY_AND_SIZE(e740_pin_config)); } static void __init e400_init(void) { pxa2xx_mfp_config(ARRAY_AND_SIZE(e400_pin_config)); } /* e-series machine definitions */ #ifdef CONFIG_MACH_E330 Loading Loading @@ -69,6 +139,7 @@ MACHINE_START(E740, "Toshiba e740") .map_io = pxa_map_io, .init_irq = pxa25x_init_irq, .fixup = eseries_fixup, .init_machine = e740_init, .timer = &pxa_timer, MACHINE_END #endif Loading @@ -95,6 +166,7 @@ MACHINE_START(E400, "Toshiba e400") .map_io = pxa_map_io, .init_irq = pxa25x_init_irq, .fixup = eseries_fixup, .init_machine = e400_init, .timer = &pxa_timer, MACHINE_END #endif Loading arch/arm/mach-pxa/include/mach/irqs.h +1 −0 Original line number Diff line number Diff line Loading @@ -183,6 +183,7 @@ defined(CONFIG_MACH_TOSA) || \ defined(CONFIG_MACH_MAINSTONE) || \ defined(CONFIG_MACH_PCM027) || \ defined(CONFIG_ARCH_PXA_ESERIES) || \ defined(CONFIG_MACH_MAGICIAN) #define NR_IRQS (IRQ_BOARD_END) #elif defined(CONFIG_MACH_ZYLONITE) Loading arch/arm/mach-pxa/lubbock.c +2 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ #include <mach/mmc.h> #include "generic.h" #include "clock.h" #include "devices.h" static unsigned long lubbock_pin_config[] __initdata = { Loading Loading @@ -485,6 +486,7 @@ static void __init lubbock_init(void) pxa2xx_mfp_config(ARRAY_AND_SIZE(lubbock_pin_config)); clk_add_alias("SA1111_CLK", NULL, "GPIO11_CLK", NULL); pxa_set_udc_info(&udc_info); set_pxa_fb_info(&sharp_lm8v31); pxa_set_mci_info(&lubbock_mci_platform_data); Loading Loading
arch/arm/mach-pxa/clock.c +25 −0 Original line number Diff line number Diff line Loading @@ -125,3 +125,28 @@ void clks_register(struct clk *clks, size_t num) list_add(&clks[i].node, &clocks); mutex_unlock(&clocks_mutex); } int clk_add_alias(char *alias, struct device *alias_dev, char *id, struct device *dev) { struct clk *r = clk_lookup(dev, id); struct clk *new; if (!r) return -ENODEV; new = kzalloc(sizeof(struct clk), GFP_KERNEL); if (!new) return -ENOMEM; new->name = alias; new->dev = alias_dev; new->other = r; mutex_lock(&clocks_mutex); list_add(&new->node, &clocks); mutex_unlock(&clocks_mutex); return 0; }
arch/arm/mach-pxa/clock.h +5 −0 Original line number Diff line number Diff line #include <linux/list.h> struct clk; struct clkops { Loading Loading @@ -86,3 +88,6 @@ extern void clk_pxa3xx_cken_disable(struct clk *); #endif void clks_register(struct clk *clks, size_t num); int clk_add_alias(char *alias, struct device *alias_dev, char *id, struct device *dev);
arch/arm/mach-pxa/eseries.c +121 −49 Original line number Diff line number Diff line Loading @@ -10,15 +10,75 @@ * */ #include <linux/kernel.h> #include <linux/init.h> #include <asm/setup.h> #include <asm/mach/arch.h> #include <mach/hardware.h> #include <asm/mach-types.h> #include <mach/mfp-pxa25x.h> #include <mach/hardware.h> #include "generic.h" static unsigned long e740_pin_config[] __initdata = { /* Chip selects */ GPIO15_nCS_1, /* CS1 - Flash */ GPIO79_nCS_3, /* CS3 - IMAGEON */ GPIO80_nCS_4, /* CS4 - TMIO */ /* Clocks */ GPIO12_32KHz, /* BTUART */ GPIO42_BTUART_RXD, GPIO43_BTUART_TXD, GPIO44_BTUART_CTS, GPIO45_GPIO, /* Used by TMIO for #SUSPEND */ /* PC Card */ GPIO8_GPIO, /* CD0 */ GPIO44_GPIO, /* CD1 */ GPIO11_GPIO, /* IRQ0 */ GPIO6_GPIO, /* IRQ1 */ GPIO27_GPIO, /* RST0 */ GPIO24_GPIO, /* RST1 */ GPIO20_GPIO, /* PWR0 */ GPIO23_GPIO, /* PWR1 */ GPIO48_nPOE, GPIO49_nPWE, GPIO50_nPIOR, GPIO51_nPIOW, GPIO52_nPCE_1, GPIO53_nPCE_2, GPIO54_nPSKTSEL, GPIO55_nPREG, GPIO56_nPWAIT, GPIO57_nIOIS16, /* wakeup */ GPIO0_GPIO | WAKEUP_ON_EDGE_RISE, }; static unsigned long e400_pin_config[] __initdata = { /* Chip selects */ GPIO15_nCS_1, /* CS1 - Flash */ GPIO80_nCS_4, /* CS4 - TMIO */ /* Clocks */ GPIO12_32KHz, /* BTUART */ GPIO42_BTUART_RXD, GPIO43_BTUART_TXD, GPIO44_BTUART_CTS, GPIO45_GPIO, /* Used by TMIO for #SUSPEND */ /* wakeup */ GPIO0_GPIO | WAKEUP_ON_EDGE_RISE, }; /* Only e800 has 128MB RAM */ static void __init eseries_fixup(struct machine_desc *desc, struct tag *tags, char **cmdline, struct meminfo *mi) Loading @@ -32,6 +92,16 @@ static void __init eseries_fixup(struct machine_desc *desc, mi->bank[0].size = (64*1024*1024); } static void __init e740_init(void) { pxa2xx_mfp_config(ARRAY_AND_SIZE(e740_pin_config)); } static void __init e400_init(void) { pxa2xx_mfp_config(ARRAY_AND_SIZE(e400_pin_config)); } /* e-series machine definitions */ #ifdef CONFIG_MACH_E330 Loading Loading @@ -69,6 +139,7 @@ MACHINE_START(E740, "Toshiba e740") .map_io = pxa_map_io, .init_irq = pxa25x_init_irq, .fixup = eseries_fixup, .init_machine = e740_init, .timer = &pxa_timer, MACHINE_END #endif Loading @@ -95,6 +166,7 @@ MACHINE_START(E400, "Toshiba e400") .map_io = pxa_map_io, .init_irq = pxa25x_init_irq, .fixup = eseries_fixup, .init_machine = e400_init, .timer = &pxa_timer, MACHINE_END #endif Loading
arch/arm/mach-pxa/include/mach/irqs.h +1 −0 Original line number Diff line number Diff line Loading @@ -183,6 +183,7 @@ defined(CONFIG_MACH_TOSA) || \ defined(CONFIG_MACH_MAINSTONE) || \ defined(CONFIG_MACH_PCM027) || \ defined(CONFIG_ARCH_PXA_ESERIES) || \ defined(CONFIG_MACH_MAGICIAN) #define NR_IRQS (IRQ_BOARD_END) #elif defined(CONFIG_MACH_ZYLONITE) Loading
arch/arm/mach-pxa/lubbock.c +2 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ #include <mach/mmc.h> #include "generic.h" #include "clock.h" #include "devices.h" static unsigned long lubbock_pin_config[] __initdata = { Loading Loading @@ -485,6 +486,7 @@ static void __init lubbock_init(void) pxa2xx_mfp_config(ARRAY_AND_SIZE(lubbock_pin_config)); clk_add_alias("SA1111_CLK", NULL, "GPIO11_CLK", NULL); pxa_set_udc_info(&udc_info); set_pxa_fb_info(&sharp_lm8v31); pxa_set_mci_info(&lubbock_mci_platform_data); Loading