* [PATCH v3 4/7] [ARM]: U8500 Makefile.boot
@ 2009-10-11 22:27 srinidhi kasagar
2009-10-11 22:28 ` [PATCH v3 5/7] [ARM]: U8500 integrate to ARM architecture srinidhi kasagar
0 siblings, 1 reply; 5+ messages in thread
From: srinidhi kasagar @ 2009-10-11 22:27 UTC (permalink / raw)
To: linux-arm-kernel
From: srinidhi kasagar <srinidhi.kasagar@stericsson.com>
The Makefile.boot for the U8500 platform.
Signed-off-by: srinidhi kasagar <srinidhi.kasagar@stericsson.com>
---
.../{mach-footbridge => mach-ux500}/Makefile.boot | 0
1 files changed, 0 insertions(+), 0 deletions(-)
copy arch/arm/{mach-footbridge => mach-ux500}/Makefile.boot (100%)
diff --git a/arch/arm/mach-footbridge/Makefile.boot b/arch/arm/mach-ux500/Makefile.boot
similarity index 100%
copy from arch/arm/mach-footbridge/Makefile.boot
copy to arch/arm/mach-ux500/Makefile.boot
--
1.6.3.GIT
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v3 5/7] [ARM]: U8500 integrate to ARM architecture @ 2009-10-11 22:28 ` srinidhi kasagar 2009-10-11 22:28 ` [PATCH v3 6/7] [ARM]: adds AB4500 as pl022 device srinidhi kasagar 2009-10-17 14:44 ` [PATCH v3 5/7] [ARM]: U8500 integrate to ARM architecture Jean-Christophe PLAGNIOL-VILLARD 0 siblings, 2 replies; 5+ messages in thread From: srinidhi kasagar @ 2009-10-11 22:28 UTC (permalink / raw) To: linux-arm-kernel From: srinidhi kasagar <srinidhi.kasagar@stericsson.com> This hooks the U8500 support into the ARM kbuild system. This integration also enables SMP and its helper funtions for u8500 platform Signed-off-by: srinidhi kasagar <srinidhi.kasagar@stericsson.com> Acked-by: Andrea Gallo <andrea.gallo@stericsson.com> --- arch/arm/Kconfig | 19 +++++++++++++++---- arch/arm/Makefile | 1 + 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 1c4119c..459f1ce 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -702,6 +702,15 @@ config ARCH_BCMRING help Support for Broadcom's BCMRing platform. +config ARCH_U8500 + bool "ST-Ericsson U8500 Series" + select ARM_AMBA + select GENERIC_TIME + select GENERIC_CLOCKEVENTS + select COMMON_CLKDEV + help + Include support for ST-Ericsson's Cortex-A9 Platform. + endchoice source "arch/arm/mach-clps711x/Kconfig" @@ -800,6 +809,8 @@ source "arch/arm/mach-msm/Kconfig" source "arch/arm/mach-u300/Kconfig" +source "arch/arm/mach-ux500/Kconfig" + source "arch/arm/mach-w90x900/Kconfig" source "arch/arm/mach-bcmring/Kconfig" @@ -955,10 +966,10 @@ source "kernel/time/Kconfig" config SMP bool "Symmetric Multi-Processing (EXPERIMENTAL)" depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP ||\ - MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4) + MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || ARCH_U8500) depends on GENERIC_CLOCKEVENTS select USE_GENERIC_SMP_HELPERS - select HAVE_ARM_SCU if (ARCH_REALVIEW || ARCH_OMAP4) + select HAVE_ARM_SCU if (ARCH_REALVIEW || ARCH_OMAP4 || ARCH_U8500) help This enables support for systems with more than one CPU. If you have a system with only one CPU, like most personal computers, say N. If @@ -1027,9 +1038,9 @@ config HOTPLUG_CPU config LOCAL_TIMERS bool "Use local timer interrupts" depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || \ - REALVIEW_EB_A9MP || MACH_REALVIEW_PBX || ARCH_OMAP4) + REALVIEW_EB_A9MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || ARCH_U8500) default y - select HAVE_ARM_TWD if (ARCH_REALVIEW || ARCH_OMAP4) + select HAVE_ARM_TWD if (ARCH_REALVIEW || ARCH_OMAP4 || ARCH_U8500) help Enable support for local timers on SMP platforms, rather then the legacy IPI broadcast method. Local timers allows the system diff --git a/arch/arm/Makefile b/arch/arm/Makefile index a73caaf..aef2404 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -166,6 +166,7 @@ machine-$(CONFIG_ARCH_SHARK) := shark machine-$(CONFIG_ARCH_STMP378X) := stmp378x machine-$(CONFIG_ARCH_STMP37XX) := stmp37xx machine-$(CONFIG_ARCH_U300) := u300 +machine-$(CONFIG_ARCH_U8500) := ux500 machine-$(CONFIG_ARCH_VERSATILE) := versatile machine-$(CONFIG_ARCH_W90X900) := w90x900 machine-$(CONFIG_FOOTBRIDGE) := footbridge -- 1.6.3.GIT ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v3 6/7] [ARM]: adds AB4500 as pl022 device @ 2009-10-11 22:28 ` srinidhi kasagar 2009-10-17 14:47 ` Jean-Christophe PLAGNIOL-VILLARD 0 siblings, 1 reply; 5+ messages in thread From: srinidhi kasagar @ 2009-10-11 22:28 UTC (permalink / raw) To: linux-arm-kernel From: srinidhi kasagar <srinidhi.kasagar@stericsson.com> This adds AB4500 device support for the mop500 board. AB4500 connects to U8500 on the SSP/SPI bus. Signed-off-by: srinidhi kasagar <srinidhi.kasagar@stericsson.com> Acked-by: Andrea Gallo <andrea.gallo@stericsson.com> --- arch/arm/mach-ux500/board-mop500.c | 67 ++++++++++++++++++++++++++++++++++++ 1 files changed, 67 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c index fc02e9a..db5aa9e 100644 --- a/arch/arm/mach-ux500/board-mop500.c +++ b/arch/arm/mach-ux500/board-mop500.c @@ -14,6 +14,8 @@ #include <linux/platform_device.h> #include <linux/io.h> #include <linux/amba/bus.h> +#include <linux/amba/pl022.h> +#include <linux/spi/spi.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> @@ -43,10 +45,72 @@ static struct amba_device uart2_device = { .irq = {IRQ_UART2, NO_IRQ}, }; +static void ab4500_spi_cs_control(u32 command) +{ + /* set the FRM signal, which is CS - TODO */ +} + +struct pl022_config_chip ab4500_chip_info = { + .lbm = LOOPBACK_DISABLED, + .com_mode = INTERRUPT_TRANSFER, + .iface = SSP_INTERFACE_MOTOROLA_SPI, + /* we can act as master only */ + .hierarchy = SSP_MASTER, + .slave_tx_disable = 0, + .endian_rx = SSP_RX_MSB, + .endian_tx = SSP_TX_MSB, + .data_size = SSP_DATA_BITS_24, + .rx_lev_trig = SSP_RX_1_OR_MORE_ELEM, + .tx_lev_trig = SSP_TX_1_OR_MORE_EMPTY_LOC, + .clk_phase = SSP_CLK_SECOND_EDGE, + .clk_pol = SSP_CLK_POL_IDLE_HIGH, + .cs_control = ab4500_spi_cs_control, +}; + +static struct spi_board_info u8500_spi_devices[] = { + { + .modalias = "ab4500", + .platform_data = NULL, + .controller_data = &ab4500_chip_info, + .max_speed_hz = 12000000, + .bus_num = 0, + .chip_select = 0, + .mode = SPI_MODE_0, + .irq = AB4500_IRQ, + }, +}; + +static struct pl022_ssp_controller ssp0_platform_data = { + .bus_id = 0, + /* pl022 not yet supports dma */ + .enable_dma = 0, + /* on this platform, gpio 31,142,144,214 & + * 224 are connected as chip selects + */ + .num_chipselect = 5, +}; + +static struct amba_device pl022_device = { + .dev = { + .coherent_dma_mask = ~0, + .init_name = "pl022", + .platform_data = &ssp0_platform_data, + }, + .res = { + .start = U8500_SSP0_BASE, + .end = U8500_SSP0_BASE + SZ_4K - 1, + .flags = IORESOURCE_MEM, + }, + .irq = {IRQ_SSP0, NO_IRQ }, + /* ST-Ericsson modified id */ + .periphid = 0x01080022, +}; + static struct amba_device *amba_devs[] __initdata = { &uart0_device, &uart1_device, &uart2_device, + &pl022_device, }; /* add any platform devices here - TODO */ @@ -64,6 +128,9 @@ static void __init u8500_init_machine(void) /* Register the platform devices */ platform_add_devices(platform_devs, ARRAY_SIZE(platform_devs)); + spi_register_board_info(u8500_spi_devices, + ARRAY_SIZE(u8500_spi_devices)); + u8500_init_devices(); } -- 1.6.3.GIT ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v3 6/7] [ARM]: adds AB4500 as pl022 device 2009-10-11 22:28 ` [PATCH v3 6/7] [ARM]: adds AB4500 as pl022 device srinidhi kasagar @ 2009-10-17 14:47 ` Jean-Christophe PLAGNIOL-VILLARD 0 siblings, 0 replies; 5+ messages in thread From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-10-17 14:47 UTC (permalink / raw) To: linux-arm-kernel On 03:58 Mon 12 Oct , srinidhi kasagar wrote: > From: srinidhi kasagar <srinidhi.kasagar@stericsson.com> > > This adds AB4500 device support for the > mop500 board. AB4500 connects to U8500 > on the SSP/SPI bus. > > Signed-off-by: srinidhi kasagar <srinidhi.kasagar@stericsson.com> > Acked-by: Andrea Gallo <andrea.gallo@stericsson.com> > --- > arch/arm/mach-ux500/board-mop500.c | 67 ++++++++++++++++++++++++++++++++++++ > 1 files changed, 67 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c > index fc02e9a..db5aa9e 100644 > --- a/arch/arm/mach-ux500/board-mop500.c > +++ b/arch/arm/mach-ux500/board-mop500.c > @@ -14,6 +14,8 @@ > #include <linux/platform_device.h> > #include <linux/io.h> > #include <linux/amba/bus.h> > +#include <linux/amba/pl022.h> > +#include <linux/spi/spi.h> > > #include <asm/mach-types.h> > #include <asm/mach/arch.h> > @@ -43,10 +45,72 @@ static struct amba_device uart2_device = { > .irq = {IRQ_UART2, NO_IRQ}, > }; > > +static void ab4500_spi_cs_control(u32 command) > +{ > + /* set the FRM signal, which is CS - TODO */ > +} > + > +struct pl022_config_chip ab4500_chip_info = { > + .lbm = LOOPBACK_DISABLED, > + .com_mode = INTERRUPT_TRANSFER, > + .iface = SSP_INTERFACE_MOTOROLA_SPI, > + /* we can act as master only */ > + .hierarchy = SSP_MASTER, > + .slave_tx_disable = 0, > + .endian_rx = SSP_RX_MSB, > + .endian_tx = SSP_TX_MSB, > + .data_size = SSP_DATA_BITS_24, > + .rx_lev_trig = SSP_RX_1_OR_MORE_ELEM, > + .tx_lev_trig = SSP_TX_1_OR_MORE_EMPTY_LOC, > + .clk_phase = SSP_CLK_SECOND_EDGE, > + .clk_pol = SSP_CLK_POL_IDLE_HIGH, > + .cs_control = ab4500_spi_cs_control, > +}; > + > +static struct spi_board_info u8500_spi_devices[] = { > + { > + .modalias = "ab4500", > + .platform_data = NULL, no need > + .controller_data = &ab4500_chip_info, > + .max_speed_hz = 12000000, > + .bus_num = 0, > + .chip_select = 0, > + .mode = SPI_MODE_0, > + .irq = AB4500_IRQ, it will be nice to ident it with one \t more > + }, > +}; > + > +static struct pl022_ssp_controller ssp0_platform_data = { > + .bus_id = 0, > + /* pl022 not yet supports dma */ > + .enable_dma = 0, > + /* on this platform, gpio 31,142,144,214 & > + * 224 are connected as chip selects > + */ > + .num_chipselect = 5, > +}; > + > +static struct amba_device pl022_device = { > + .dev = { > + .coherent_dma_mask = ~0, > + .init_name = "pl022", > + .platform_data = &ssp0_platform_data, > + }, > + .res = { > + .start = U8500_SSP0_BASE, > + .end = U8500_SSP0_BASE + SZ_4K - 1, > + .flags = IORESOURCE_MEM, > + }, > + .irq = {IRQ_SSP0, NO_IRQ }, > + /* ST-Ericsson modified id */ > + .periphid = 0x01080022, it will be better to have a define here Best Regards, J. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v3 5/7] [ARM]: U8500 integrate to ARM architecture 2009-10-11 22:28 ` [PATCH v3 5/7] [ARM]: U8500 integrate to ARM architecture srinidhi kasagar 2009-10-11 22:28 ` [PATCH v3 6/7] [ARM]: adds AB4500 as pl022 device srinidhi kasagar @ 2009-10-17 14:44 ` Jean-Christophe PLAGNIOL-VILLARD 1 sibling, 0 replies; 5+ messages in thread From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-10-17 14:44 UTC (permalink / raw) To: linux-arm-kernel On 03:58 Mon 12 Oct , srinidhi kasagar wrote: > From: srinidhi kasagar <srinidhi.kasagar@stericsson.com> > > This hooks the U8500 support into the ARM kbuild > system. This integration also enables SMP and its > helper funtions for u8500 platform > > Signed-off-by: srinidhi kasagar <srinidhi.kasagar@stericsson.com> > Acked-by: Andrea Gallo <andrea.gallo@stericsson.com> > --- > arch/arm/Kconfig | 19 +++++++++++++++---- > arch/arm/Makefile | 1 + > 2 files changed, 16 insertions(+), 4 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 1c4119c..459f1ce 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -702,6 +702,15 @@ config ARCH_BCMRING > help > Support for Broadcom's BCMRing platform. > > +config ARCH_U8500 > + bool "ST-Ericsson U8500 Series" > + select ARM_AMBA > + select GENERIC_TIME > + select GENERIC_CLOCKEVENTS > + select COMMON_CLKDEV > + help > + Include support for ST-Ericsson's Cortex-A9 Platform. > + > endchoice > > source "arch/arm/mach-clps711x/Kconfig" > @@ -800,6 +809,8 @@ source "arch/arm/mach-msm/Kconfig" > > source "arch/arm/mach-u300/Kconfig" > > +source "arch/arm/mach-ux500/Kconfig" > + > source "arch/arm/mach-w90x900/Kconfig" > > source "arch/arm/mach-bcmring/Kconfig" > @@ -955,10 +966,10 @@ source "kernel/time/Kconfig" > config SMP > bool "Symmetric Multi-Processing (EXPERIMENTAL)" > depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP ||\ > - MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4) > + MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || ARCH_U8500) I think it time to stop this and specify at arch or mach level the capability to use SMP with config HAS_SMP bool > config LOCAL_TIMERS > bool "Use local timer interrupts" > depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || \ > - REALVIEW_EB_A9MP || MACH_REALVIEW_PBX || ARCH_OMAP4) > + REALVIEW_EB_A9MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || ARCH_U8500) same idea here Best Regards, J. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-10-17 14:47 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-10-11 22:27 [PATCH v3 4/7] [ARM]: U8500 Makefile.boot srinidhi kasagar 2009-10-11 22:28 ` [PATCH v3 5/7] [ARM]: U8500 integrate to ARM architecture srinidhi kasagar 2009-10-11 22:28 ` [PATCH v3 6/7] [ARM]: adds AB4500 as pl022 device srinidhi kasagar 2009-10-17 14:47 ` Jean-Christophe PLAGNIOL-VILLARD 2009-10-17 14:44 ` [PATCH v3 5/7] [ARM]: U8500 integrate to ARM architecture Jean-Christophe PLAGNIOL-VILLARD
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).