linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [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 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

* [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

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).