Add imx51_3ds platform support
Subsystems (3)
cover Add imx51_3ds platform support
part3:
[PATCH 1/3] mx51_3ds: Add support for the imx51 3-stack board [PATCH 2/3] mx51: add imx_keypad device definition for mx51 platforms [PATCH 3/3] mx51_3ds: add keypad support on 3ds platform This patchset will add imx51_3ds platform in the linux kernel, These 3 patches are generated based off imx-for-2.6.36 branch, and passed build test.
But currently in imx-for-2.6.36 branch, there is a recently applied patch which will affect all imx gpio chained irqs. The lan driver on imx51_3ds can't raise irq(through gpio) because of this potential issue. I generate the following patch to fix it.
[PATCH] imx: move gpio init after to irq init
PATCH 1/3 mx51_3ds: Add support for the imx51 3-stack board
3-stack is a reference board from Freescale for their i.MX51 SoC.
Add board definition, Kconfig and Makefile to enable Freescale 3-stack board.
Boot tested on a i.MX51 3-stack Rev2.0 board
--- arch/arm/mach-mx5/Kconfig | 6 ++ arch/arm/mach-mx5/Makefile | 2 +- arch/arm/mach-mx5/board-mx51_3ds.c | 102 +++++++++++++++++++++++ arch/arm/plat-mxc/include/mach/board-mx51_3ds.h | 27 ++++++ 4 files changed, 136 insertions(+), 1 deletions(-) create mode 100644 arch/arm/mach-mx5/board-mx51_3ds.c create mode 100644 arch/arm/plat-mxc/include/mach/board-mx51_3ds.h
arch/arm/mach-mx5/Kconfig +6 -0
@@ -15,4 +15,10 @@ config MACH_MX51_BABBAGE u-boot. This includes specific configurations for the board and its peripherals. +config MACH_MX51_3DS + bool "Support MX51PDK (3DS)" + select MXC_DEBUG_BOARD + help + Include support for MX51PDK (3DS) platform. This includes specific + configurations for the board and its peripherals. endif
arch/arm/mach-mx5/Makefile +1 -1
@@ -6,4 +6,4 @@ obj-y := cpu.o mm.o clock-mx51.o devices.o obj-$(CONFIG_MACH_MX51_BABBAGE) += board-mx51_babbage.o - +obj-$(CONFIG_MACH_MX51_3DS) += board-mx51_3ds.o
arch/arm/mach-mx5/board-mx51_3ds.c new file +102 -0
102 lines not on this page · raw message
arch/arm/plat-mxc/include/mach/board-mx51_3ds.h new file +27 -0
@@ -0,0 +1,27 @@ +/* +* Copyright 2008-2009 Freescale Semiconductor, Inc. All Rights Reserved. +* +* +* The code contained herein is licensed under the GNU General Public +* License. You may obtain a copy of the GNU General Public License +* Version 2 or later at the following locations: +* +* http://www.opensource.org/licenses/gpl-license.html +* http://www.gnu.org/copyleft/gpl.html +*/ + +#ifndef __ASM_ARCH_MXC_BOARD_MX51_3DS_H__ +#define __ASM_ARCH_MXC_BOARD_MX51_3DS_H__ + +/* +* plat-mxc/include/mach/board-mx51_3ds.h +* +* This file contains all the board level configuration options. +* +* It currently hold the options defined for MX51 3Stack Platform. +* +*/ + +#define EXPIO_PARENT_INT (MXC_INTERNAL_IRQS + GPIO_PORTA + 6) + +#endif /* __ASM_ARCH_MXC_BOARD_MX51_3DS_H__ */
Signature · 1 line
1.5.6.5
PATCH 2/3 mx51: add imx_keypad device definition for mx51 platforms
add imx_keypad platform device definition and clocks for mx51 platforms.
--- arch/arm/mach-mx5/clock-mx51.c | 5 +++++ arch/arm/mach-mx5/devices.c | 19 +++++++++++++++++++ arch/arm/mach-mx5/devices.h | 1 + 3 files changed, 25 insertions(+), 0 deletions(-)
arch/arm/mach-mx5/clock-mx51.c +5 -0
@@ -758,6 +758,10 @@ static struct clk gpt_32k_clk = { .parent = &ckil_clk, }; +static struct clk kpp_clk = { + .id =0 , +}; +#define DEFINE_CLOCK (name, i, er, es, gr, sr, p, s) \ static struct clk name = { \ .id = i, \
@@ -832,6 +836,7 @@ static struct clk_lookup lookups[] = { _REGISTER_CLOCK("mxc-ehci.1", "usb_ahb", ahb_clk) _REGISTER_CLOCK("fsl-usb2-udc", "usb", usboh3_clk) _REGISTER_CLOCK("fsl-usb2-udc", "usb_ahb", ahb_clk) + _REGISTER_CLOCK("imx-keypad.0", NULL, kpp_clk) };static void clk_tree_init (void )
arch/arm/mach-mx5/devices.c +19 -0
@@ -226,6 +226,25 @@ struct platform_device mxc_wdt = { .resource = mxc_wdt_resources, }; +static struct resource mxc_kpp_resources[] = { + { + .start =MX51_MXC_INT_KPP , + .end =MX51_MXC_INT_KPP , + .flags =IORESOURCE_IRQ , + } , { + .start =MX51_KPP_BASE_ADDR , + .end =MX51_KPP_BASE_ADDR +0x8 -1 , + .flags =IORESOURCE_MEM , + }, +}; + +struct platform_device mxc_keypad_device = { + .name ="imx-keypad" , + .id =0 , + .num_resources =ARRAY_SIZE (mxc_kpp_resources), + .resource = mxc_kpp_resources, +}; +static struct mxc_gpio_port mxc_gpio_ports[] = { { .chip.label ="gpio-0" ,
arch/arm/mach-mx5/devices.h +1 -0
@@ -9,3 +9,4 @@ extern struct platform_device mxc_wdt;extern struct platform_device mxc_i2c_device0;extern struct platform_device mxc_i2c_device1;extern struct platform_device mxc_hsi2c_device; +extern struct platform_device mxc_keypad_device;
Signature · 1 line
1.5.6.5
PATCH 3/3 mx51_3ds: add keypad support on 3ds platform
Add keymaps and imx_keypad device registration for imx51_3ds board.
--- arch/arm/mach-mx5/board-mx51_3ds.c | 61 ++++++++++++++++++++++++++++++++++++ 1 files changed, 61 insertions(+), 0 deletions(-)
arch/arm/mach-mx5/board-mx51_3ds.c +61 -0
@@ -12,6 +12,7 @@#include <linux/irq.h> #include <linux/platform_device.h> +#include <linux/input/matrix_keypad.h> #include <asm/mach-types.h> #include <asm/mach/arch.h>
@@ -47,6 +48,18 @@ static struct pad_desc mx51_3ds_pads[] = {/* CPLD PARENT IRQ PIN */ MX51_PAD_GPIO_1_6__GPIO_1_6 , + +/* KPP */ +MX51_PAD_KEY_ROW0__KEY_ROW0 , +MX51_PAD_KEY_ROW1__KEY_ROW1 , +MX51_PAD_KEY_ROW2__KEY_ROW2 , +MX51_PAD_KEY_ROW3__KEY_ROW3 , +MX51_PAD_KEY_COL0__KEY_COL0 , +MX51_PAD_KEY_COL1__KEY_COL1 , +MX51_PAD_KEY_COL2__KEY_COL2 , +MX51_PAD_KEY_COL3__KEY_COL3 , +MX51_PAD_KEY_COL4__KEY_COL4 , + MX51_PAD_KEY_COL5__KEY_COL5, };/* Serial ports */
@@ -67,6 +80,52 @@ static inline void mxc_init_imx_uart(void) }#endif /* SERIAL_IMX */ +#if defined(CONFIG_KEYBOARD_IMX ) || defined(CONFIG_KEYBOARD_IMX_MODULE ) +static int mx51_3ds_board_keymap[] = { +KEY (0 ,0 ,KEY_1 ), +KEY (0 ,1 ,KEY_2 ), +KEY (0 ,2 ,KEY_3 ), +KEY (0 ,3 ,KEY_F1 ), +KEY (0 ,4 ,KEY_UP ), +KEY (0 ,5 ,KEY_F2 ), + +KEY (1 ,0 ,KEY_4 ), +KEY (1 ,1 ,KEY_5 ), +KEY (1 ,2 ,KEY_6 ), +KEY (1 ,3 ,KEY_LEFT ), +KEY (1 ,4 ,KEY_SELECT ), +KEY (1 ,5 ,KEY_RIGHT ), + +KEY (2 ,0 ,KEY_7 ), +KEY (2 ,1 ,KEY_8 ), +KEY (2 ,2 ,KEY_9 ), +KEY (2 ,3 ,KEY_F3 ), +KEY (2 ,4 ,KEY_DOWN ), +KEY (2 ,5 ,KEY_F4 ), + +KEY (3 ,0 ,KEY_0 ), +KEY (3 ,1 ,KEY_OK ), +KEY (3 ,2 ,KEY_ESC ), +KEY (3 ,3 ,KEY_ENTER ), +KEY (3 ,4 ,KEY_MENU ), +KEY (3 ,5 ,KEY_BACK ) +}; + +static struct matrix_keymap_data mx51_3ds_map_data = { + .keymap = mx51_3ds_board_keymap, + .keymap_size =ARRAY_SIZE (mx51_3ds_board_keymap), +}; + +static void mxc_init_keypad (void ) +{ +mxc_register_device (&mxc_keypad_device, &mx51_3ds_map_data); +} +#else +static inline void mxc_init_keypad (void ) +{ +} +#endif +/* * Board specific initialization. */
@@ -79,6 +138,8 @@ static void __init mxc_board_init(void)if (mxc_expio_init (MX51_CS5_BASE_ADDR ,EXPIO_PARENT_INT ))printk (KERN_WARNING "Init of the debugboard failed, all " "devices on the board are unusable.\n" ); + +mxc_init_keypad (); }static void __init mx51_3ds_timer_init (void )
Signature · 1 line
1.5.6.5
PATCH 1/1 imx: move gpio init after to irq init
The commit 9a763bf "get rid of mxc_gpio_init" changed gpio_init and irq_init sequence. Usually we will call set_irq_chained_handler in gpio_init functions, this should be called after the irq_init called, otherwise the chained irq can't get propoer irq_chip and this irq will remain masked even we called set_irq_chained_handler.
--- arch/arm/mach-imx/mm-imx1.c | 2 +- arch/arm/mach-imx/mm-imx21.c | 2 +- arch/arm/mach-imx/mm-imx27.c | 2 +- arch/arm/mach-mx25/mm.c | 2 +- arch/arm/mach-mx3/mm.c | 2 +- arch/arm/mach-mx5/mm.c | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-)
arch/arm/mach-imx/mm-imx1.c +1 -1
@@ -45,6 +45,6 @@ int imx1_register_gpios(void);void __init mx1_init_irq (void ) { -imx1_register_gpios ();mxc_init_irq (MX1_IO_ADDRESS (MX1_AVIC_BASE_ADDR )); +imx1_register_gpios (); }
arch/arm/mach-imx/mm-imx21.c +1 -1
@@ -81,6 +81,6 @@ int imx21_register_gpios(void);void __init mx21_init_irq (void ) { -imx21_register_gpios ();mxc_init_irq (MX21_IO_ADDRESS (MX21_AVIC_BASE_ADDR )); +imx21_register_gpios (); }
arch/arm/mach-imx/mm-imx27.c +1 -1
@@ -81,6 +81,6 @@ int imx27_register_gpios(void);void __init mx27_init_irq (void ) { -imx27_register_gpios ();mxc_init_irq (MX27_IO_ADDRESS (MX27_AVIC_BASE_ADDR )); +imx27_register_gpios (); }
arch/arm/mach-mx25/mm.c +1 -1
@@ -69,7 +69,7 @@ int imx25_register_gpios(void);void __init mx25_init_irq (void ) { -imx25_register_gpios ();mxc_init_irq ((void __iomem *)MX25_AVIC_BASE_ADDR_VIRT ); +imx25_register_gpios (); }
arch/arm/mach-mx3/mm.c +1 -1
@@ -97,8 +97,8 @@ int imx3x_register_gpios(void);void __init mx31_init_irq (void ) { -imx3x_register_gpios ();mxc_init_irq (IO_ADDRESS (AVIC_BASE_ADDR )); +imx3x_register_gpios (); }void __init mx35_init_irq (void )
arch/arm/mach-mx5/mm.c +1 -1
@@ -81,6 +81,6 @@ void __init mx51_init_irq(void)if (!tzic_virt)panic ("unable to map TZIC interrupt controller\n" ); -imx51_register_gpios ();tzic_init_irq (tzic_virt); +imx51_register_gpios (); }
Signature · 1 line
1.5.6.5
PATCH 1/1 imx: move gpio init after to irq init
Quoted 7 lines · Jason Wang
The commit 9a763bf "get rid of
mxc_gpio_init" changedgpio_initandirq_initsequence. Usually we will callset_irq_chained_handleringpio_initfunctions, this should be called after theirq_initcalled, otherwise the chained irq can't get propoerirq_chipand this irq will remain masked even we calledset_irq_chained_handler.Signed-off-by Jason Wang <[email protected]>
Quoted 87 lines
--- arch/arm/mach-imx/mm-imx1.c | 2 +- arch/arm/mach-imx/mm-imx21.c | 2 +- arch/arm/mach-imx/mm-imx27.c | 2 +- arch/arm/mach-mx25/mm.c | 2 +- arch/arm/mach-mx3/mm.c | 2 +- arch/arm/mach-mx5/mm.c | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-)arch/arm/mach-imx/mm-imx1.c +1
-1@@ -45,6 +45,6 @@ int imx1_register_gpios(void);void __init mx1_init_irq (void ) { -imx1_register_gpios ();mxc_init_irq (MX1_IO_ADDRESS (MX1_AVIC_BASE_ADDR )); +imx1_register_gpios (); }arch/arm/mach-imx/mm-imx21.c +1
-1@@ -81,6 +81,6 @@ int imx21_register_gpios(void);void __init mx21_init_irq (void ) { -imx21_register_gpios ();mxc_init_irq (MX21_IO_ADDRESS (MX21_AVIC_BASE_ADDR )); +imx21_register_gpios (); }arch/arm/mach-imx/mm-imx27.c +1
-1@@ -81,6 +81,6 @@ int imx27_register_gpios(void);void __init mx27_init_irq (void ) { -imx27_register_gpios ();mxc_init_irq (MX27_IO_ADDRESS (MX27_AVIC_BASE_ADDR )); +imx27_register_gpios (); }arch/arm/mach-mx25/mm.c +1
-1@@ -69,7 +69,7 @@ int imx25_register_gpios(void);void __init mx25_init_irq (void ) { -imx25_register_gpios ();mxc_init_irq ((void __iomem *)MX25_AVIC_BASE_ADDR_VIRT ); +imx25_register_gpios (); }arch/arm/mach-mx3/mm.c +1
-1@@ -97,8 +97,8 @@ int imx3x_register_gpios(void);void __init mx31_init_irq (void ) { -imx3x_register_gpios ();mxc_init_irq (IO_ADDRESS (AVIC_BASE_ADDR )); +imx3x_register_gpios (); }void __init mx35_init_irq (void )arch/arm/mach-mx5/mm.c +1
-1@@ -81,6 +81,6 @@ void __init mx51_init_irq(void)if (!tzic_virt)panic ("unable to map TZIC interrupt controller\n" ); -imx51_register_gpios ();tzic_init_irq (tzic_virt); +imx51_register_gpios (); }Signature · 1 line
1.5.6.5
Signature · 3 lines
---------------------------------------------------------------------- Amit Kucheria, Kernel Engineer || amit.kucheria at canonical.com ----------------------------------------------------------------------
PATCH 1/1 imx: move gpio init after to irq init
In reply to Jason WangHi,
Le 13/07/2010 15:02, Jason Wang a ?crit :
Quoted 84 lines
The commit 9a763bf "get rid of
mxc_gpio_init" changedgpio_initandirq_initsequence. Usually we will callset_irq_chained_handleringpio_initfunctions, this should be called after theirq_initcalled, otherwise the chained irq can't get propoerirq_chipand this irq will remain masked even we calledset_irq_chained_handler.Signed-off-by Jason Wang<[email protected]>--- arch/arm/mach-imx/mm-imx1.c | 2 +- arch/arm/mach-imx/mm-imx21.c | 2 +- arch/arm/mach-imx/mm-imx27.c | 2 +- arch/arm/mach-mx25/mm.c | 2 +- arch/arm/mach-mx3/mm.c | 2 +- arch/arm/mach-mx5/mm.c | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-)arch/arm/mach-imx/mm-imx1.c +1
-1@@ -45,6 +45,6 @@ int imx1_register_gpios(void);void __init mx1_init_irq (void ) { -imx1_register_gpios ();mxc_init_irq (MX1_IO_ADDRESS (MX1_AVIC_BASE_ADDR )); +imx1_register_gpios (); }arch/arm/mach-imx/mm-imx21.c +1
-1@@ -81,6 +81,6 @@ int imx21_register_gpios(void);void __init mx21_init_irq (void ) { -imx21_register_gpios ();mxc_init_irq (MX21_IO_ADDRESS (MX21_AVIC_BASE_ADDR )); +imx21_register_gpios (); }arch/arm/mach-imx/mm-imx27.c +1
-1@@ -81,6 +81,6 @@ int imx27_register_gpios(void);void __init mx27_init_irq (void ) { -imx27_register_gpios ();mxc_init_irq (MX27_IO_ADDRESS (MX27_AVIC_BASE_ADDR )); +imx27_register_gpios (); }arch/arm/mach-mx25/mm.c +1
-1@@ -69,7 +69,7 @@ int imx25_register_gpios(void);void __init mx25_init_irq (void ) { -imx25_register_gpios ();mxc_init_irq ((void __iomem *)MX25_AVIC_BASE_ADDR_VIRT ); +imx25_register_gpios (); }arch/arm/mach-mx3/mm.c +1
-1@@ -97,8 +97,8 @@ int imx3x_register_gpios(void);void __init mx31_init_irq (void ) { -imx3x_register_gpios ();mxc_init_irq (IO_ADDRESS (AVIC_BASE_ADDR )); +imx3x_register_gpios (); }void __init mx35_init_irq (void )arch/arm/mach-mx5/mm.c +0
-0
arch/arm/mach-mx5/mm.c void __init mx51_init_irq(void) · line 86
Quoted 7 lines
arch/arm/mach-mx5/mm.c +1
-1@@ -81,6 +81,6 @@ void __init mx51_init_irq(void)if (!tzic_virt)panic ("unable to map TZIC interrupt controller\n" ); -imx51_register_gpios ();tzic_init_irq (tzic_virt); +imx51_register_gpios (); }
on i.MX51 : this patch seems necessary to get gpio IRQ working.
Eric
Sascha Hauer
maintainerPATCH 1/3 mx51_3ds: Add support for the imx51 3-stack board
In reply to Jason WangQuoted 171 lines · Jason Wang
3-stack is a reference board from Freescale for their i.MX51 SoC.
Add board definition,
KconfigandMakefileto enable Freescale 3-stack board.Boot tested on a i.MX51 3-stack Rev2.0 board
Signed-off-by Jason Wang <[email protected]>--- arch/arm/mach-mx5/Kconfig | 6 ++ arch/arm/mach-mx5/Makefile | 2 +- arch/arm/mach-mx5/board-mx51_3ds.c | 102 +++++++++++++++++++++++ arch/arm/plat-mxc/include/mach/board-mx51_3ds.h | 27 ++++++ 4 files changed, 136 insertions(+), 1 deletions(-) create mode 100644 arch/arm/mach-mx5/board-mx51_3ds.c create mode 100644 arch/arm/plat-mxc/include/mach/board-mx51_3ds.harch/arm/mach-mx5/Kconfig +6
-0@@ -15,4 +15,10 @@ config MACH_MX51_BABBAGE u-boot. This includes specific configurations for the board and its peripherals. +config MACH_MX51_3DS + bool "Support MX51PDK (3DS)" + select MXC_DEBUG_BOARD + help + Include support for MX51PDK (3DS) platform. This includes specific + configurations for the board and its peripherals. endifarch/arm/mach-mx5/Makefile +1
-1@@ -6,4 +6,4 @@ obj-y := cpu.o mm.o clock-mx51.o devices.o obj-$(CONFIG_MACH_MX51_BABBAGE) += board-mx51_babbage.o - +obj-$(CONFIG_MACH_MX51_3DS) += board-mx51_3ds.oarch/arm/mach-mx5/board-mx51_3ds.c new file +102
-0@@ -0,0 +1,102 @@ +/* +* Copyright 2008-2009 Freescale Semiconductor, Inc. All Rights Reserved. +* Copyright (C) 2010 Jason Wang <[email protected]> +* +* The code contained herein is licensed under the GNU General Public +* License. You may obtain a copy of the GNU General Public License +* Version 2 or later at the following locations: +* +* http://www.opensource.org/licenses/gpl-license.html +* http://www.gnu.org/copyleft/gpl.html +*/ + +#include <linux/irq.h> +#include <linux/platform_device.h> + +#include <asm/mach-types.h> +#include <asm/mach/arch.h> +#include <asm/mach/time.h> + +#include <mach/hardware.h> +#include <mach/common.h> +#include <mach/iomux-mx51.h> +#include <mach/board-mx51_3ds.h> +#include <mach/imx-uart.h> +#include <mach/3ds_debugboard.h> + +#include "devices.h" + +static struct pad_desc mx51_3ds_pads[] = { +/* UART1 */ +MX51_PAD_UART1_RXD__UART1_RXD , +MX51_PAD_UART1_TXD__UART1_TXD , +MX51_PAD_UART1_RTS__UART1_RTS , +MX51_PAD_UART1_CTS__UART1_CTS , + +/* UART2 */ +MX51_PAD_UART2_RXD__UART2_RXD , +MX51_PAD_UART2_TXD__UART2_TXD , +MX51_PAD_EIM_D25__UART2_CTS , +MX51_PAD_EIM_D26__UART2_RTS , + +/* UART3 */ +MX51_PAD_UART3_RXD__UART3_RXD , +MX51_PAD_UART3_TXD__UART3_TXD , +MX51_PAD_EIM_D24__UART3_CTS , +MX51_PAD_EIM_D27__UART3_RTS , + +/* CPLD PARENT IRQ PIN */ +MX51_PAD_GPIO_1_6__GPIO_1_6 , +}; + +/* Serial ports */ +#if defined(CONFIG_SERIAL_IMX ) || defined(CONFIG_SERIAL_IMX_MODULE ) +static struct imxuart_platform_data uart_pdata = { + .flags =IMXUART_HAVE_RTSCTS , +}; + +static inline void mxc_init_imx_uart (void ) +{ +mxc_register_device (&mxc_uart_device0, &uart_pdata); +mxc_register_device (&mxc_uart_device1, &uart_pdata); +mxc_register_device (&mxc_uart_device2, &uart_pdata); +} +#else /* !SERIAL_IMX */ +static inline void mxc_init_imx_uart (void ) +{ +} +#endif /* SERIAL_IMX */ + +/* +* Board specific initialization. +*/ +static void __init mxc_board_init (void ) +{ +mxc_iomux_v3_setup_multiple_pads (mx51_3ds_pads, +ARRAY_SIZE (mx51_3ds_pads)); +mxc_init_imx_uart (); + +if (mxc_expio_init (MX51_CS5_BASE_ADDR ,EXPIO_PARENT_INT )) +printk (KERN_WARNING "Init of the debugboard failed, all " +"devices on the board are unusable.\n" ); +} + +static void __init mx51_3ds_timer_init (void ) +{ +mx51_clocks_init (32768 ,24000000 ,22579200 ,0 ); +} + +static struct sys_timer mxc_timer = { + .init = mx51_3ds_timer_init, +}; + +MACHINE_START (MX51_3DS ,"Freescale MX51 3-Stack Board" ) +/* Maintainer: Freescale Semiconductor, Inc. */ + .phys_io = MX51_AIPS1_BASE_ADDR, + .io_pg_offst = ((MX51_AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc, + .boot_params = PHYS_OFFSET + 0x100, + .map_io = mx51_map_io, + .init_irq = mx51_init_irq, + .init_machine = mxc_board_init, + .timer = &mxc_timer, +MACHINE_END arch/arm/plat-mxc/include/mach/board-mx51_3ds.h new file +15
-0@@ -0,0 +1,27 @@ +/* +* Copyright 2008-2009 Freescale Semiconductor, Inc. All Rights Reserved. +* +* +* The code contained herein is licensed under the GNU General Public +* License. You may obtain a copy of the GNU General Public License +* Version 2 or later at the following locations: +* +* http://www.opensource.org/licenses/gpl-license.html +* http://www.gnu.org/copyleft/gpl.html +*/ + +#ifndef __ASM_ARCH_MXC_BOARD_MX51_3DS_H__ +#define __ASM_ARCH_MXC_BOARD_MX51_3DS_H__ +
arch/arm/plat-mxc/include/mach/board-mx51_3ds.h line 25
Quoted 10 lines
arch/arm/plat-mxc/include/mach/board-mx51_3ds.h new file +10
-0+/* +* plat-mxc/include/mach/board-mx51_3ds.h +* +* This file contains all the board level configuration options. +* +* It currently hold the options defined for MX51 3Stack Platform. +* +*/ + +#define EXPIO_PARENT_INT (MXC_INTERNAL_IRQS + GPIO_PORTA + 6)
Please don't add board header files for things only used in the board file.
Sascha
Quoted 6 lines
arch/arm/plat-mxc/include/mach/board-mx51_3ds.h new file +2
-0+ +#endif /* __ASM_ARCH_MXC_BOARD_MX51_3DS_H__ */ Signature · 1 line
1.5.6.5
Signature · 4 lines
Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
PATCH 1/3 mx51_3ds: Add support for the imx51 3-stack board
In reply to Jason WangHi Jason,
arch/arm/mach-mx5/board-mx51_3ds.c line 7
Quoted 12 lines · Jason Wang
new file mode 100644
index 0000000..b51da63arch/arm/mach-mx5/board-mx51_3ds.c new file +7
-0@@ -0,0 +1,102 @@ +/* +* Copyright 2008-2009 Freescale Semiconductor, Inc. All Rights Reserved. +* Copyright (C) 2010 Jason Wang <[email protected]> +* +* The code contained herein is licensed under the GNU General Public +* License. You may obtain a copy of the GNU General Public License +* Version 2 or later at the following locations:
I think this is the usual FSL boiler plate, but IMHO this is bogus. You/they want to have the "version 2 or later" part in the first senctence, not the second.
(Note, this shouldn't be a nack, just a general comment.)
Best regards
Uwe
Signature · 2 lines
Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ |
cover Add imx51_3ds platform support
In reply to Jason WangQuoted 8 lines · Jason Wang
part3:
[PATCH 1/3]
mx51_3ds: Add support for the imx51 3-stack board [PATCH 2/3] mx51: addimx_keypaddevice definition for mx51 platforms [PATCH 3/3]mx51_3ds: add keypad support on 3ds platform This patchset will addimx51_3dsplatform in the linux kernel, These 3 patches are generated based off imx-for-2.6.36 branch, and passed build test.
I think the 3ds support is clean enough for merging now.
Quoted 5 lines
But currently in imx-for-2.6.36 branch, there is a recently applied patch which will affect all imx gpio chained irqs. The lan driver on
imx51_3dscan't raise irq(through gpio) because of this potential issue. I generate the following patch to fix it.
[PATCH] imx: move gpio init after to irq init
Acked separately.
Signature · 3 lines
---------------------------------------------------------------------- Amit Kucheria, Kernel Engineer || amit.kucheria at canonical.com ----------------------------------------------------------------------
Sascha Hauer
maintainercover Add imx51_3ds platform support
In reply to Jason WangQuoted 9 lines · Jason Wang
part3:
[PATCH 1/3]
mx51_3ds: Add support for the imx51 3-stack board [PATCH 2/3] mx51: addimx_keypaddevice definition for mx51 platforms [PATCH 3/3]mx51_3ds: add keypad support on 3ds platform This patchset will addimx51_3dsplatform in the linux kernel, These 3 patches are generated based off imx-for-2.6.36 branch, and passed build test.
Quoted 5 lines
But currently in imx-for-2.6.36 branch, there is a recently applied patch which will affect all imx gpio chained irqs. The lan driver on
imx51_3dscan't raise irq(through gpio) because of this potential issue. I generate the following patch to fix it.
[PATCH] imx: move gpio init after to irq init
Ok, except for the one comment I made
Sascha
Signature · 4 lines
Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |