mx31: add support for the bugbase 1.3 from buglabs
Subsystems (3)
PATCH 1/1 mx31: add support for the bugbase 1.3 from buglabs
This work was based on bug-linux-2.6.30.patch that can be found
in buglabs's svn here:
svn://bugcamp.net/bug/branches/izzy/experimental
Note that the hardware schematics and documentations can be obtained
here: http://www.bugcommunity.com/wiki/index.php/BUGbase
--- arch/arm/mach-mx3/Kconfig | 9 +++ arch/arm/mach-mx3/Makefile | 1 + arch/arm/mach-mx3/mach-mx31bugbase.c | 97 ++++++++++++++++++++++++++++++++++ 3 files changed, 107 insertions(+), 0 deletions(-) create mode 100644 arch/arm/mach-mx3/mach-mx31bugbase.c
arch/arm/mach-mx3/Kconfig +9 -0
@@ -199,6 +199,15 @@ config MACH_KZM_ARM11_01 Include support for KZM-ARM11-01. This includes specific configurations for the board and its peripherals. +config MACH_BUG + bool "Support Buglabs BUGBase platform" + select SOC_IMX31 + select IMX_HAVE_PLATFORM_IMX_UART + default y + help + Include support for BUGBase 1.3 platform. This includes specific + configurations for the board and its peripherals. + config MACH_EUKREA_CPUIMX35 bool "Support Eukrea CPUIMX35 Platform" select SOC_IMX35
arch/arm/mach-mx3/Makefile +1 -0
@@ -20,6 +20,7 @@ obj-$(CONFIG_MACH_PCM043) += mach-pcm043.o obj-$(CONFIG_MACH_ARMADILLO5X0) += mach-armadillo5x0.o obj-$(CONFIG_MACH_MX35_3DS) += mach-mx35_3ds.o obj-$(CONFIG_MACH_KZM_ARM11_01) += mach-kzm_arm11_01.o +obj-$(CONFIG_MACH_BUG) += mach-mx31bugbase.o obj-$(CONFIG_MACH_EUKREA_CPUIMX35) += mach-cpuimx35.o obj-$(CONFIG_MACH_EUKREA_MBIMXSD35_BASEBOARD) += eukrea_mbimxsd-baseboard.o obj-$(CONFIG_MACH_VPR200) += mach-vpr200.o
arch/arm/mach-mx3/mach-mx31bugbase.c new file +97 -0
97 lines not on this page · raw message
Signature · 1 line
1.7.0.4
PATCH 1/1 mx31: add support for the bugbase 1.3 from buglabs
Hello,
(sorry if this mail is sent twice..)
Quoted 6 lines · Denis 'GNUtoo' Carikli
This work was based on bug-linux-2.6.30.patch that can be found
in buglabs's svn here:
svn://bugcamp.net/bug/branches/izzy/experimentalNote that the hardware schematics and documentations can be obtained
here: http://www.bugcommunity.com/wiki/index.php/BUGbase
some nitpicking inside:
Quoted 55 lines
Signed-off-by Denis 'GNUtoo' Carikli <[email protected]>--- arch/arm/mach-mx3/Kconfig | 9 +++ arch/arm/mach-mx3/Makefile | 1 + arch/arm/mach-mx3/mach-mx31bugbase.c | 97 ++++++++++++++++++++++++++++++++++ 3 files changed, 107 insertions(+), 0 deletions(-) create mode 100644 arch/arm/mach-mx3/mach-mx31bugbase.carch/arm/mach-mx3/Kconfig +9
-0@@ -199,6 +199,15 @@ config MACH_KZM_ARM11_01 Include support for KZM-ARM11-01. This includes specific configurations for the board and its peripherals. +config MACH_BUG + bool "Support Buglabs BUGBase platform" + select SOC_IMX31 + select IMX_HAVE_PLATFORM_IMX_UART + default y + help + Include support for BUGBase 1.3 platform. This includes specific + configurations for the board and its peripherals. + config MACH_EUKREA_CPUIMX35 bool "Support Eukrea CPUIMX35 Platform" select SOC_IMX35arch/arm/mach-mx3/Makefile +1
-0@@ -20,6 +20,7 @@ obj-$(CONFIG_MACH_PCM043) += mach-pcm043.o obj-$(CONFIG_MACH_ARMADILLO5X0) += mach-armadillo5x0.o obj-$(CONFIG_MACH_MX35_3DS) += mach-mx35_3ds.o obj-$(CONFIG_MACH_KZM_ARM11_01) += mach-kzm_arm11_01.o +obj-$(CONFIG_MACH_BUG) += mach-mx31bugbase.o obj-$(CONFIG_MACH_EUKREA_CPUIMX35) += mach-cpuimx35.o obj-$(CONFIG_MACH_EUKREA_MBIMXSD35_BASEBOARD) += eukrea_mbimxsd-baseboard.o obj-$(CONFIG_MACH_VPR200) += mach-vpr200.oarch/arm/mach-mx3/mach-mx31bugbase.c new file +8
-0@@ -0,0 +1,97 @@ +/* +* Copyright (C) 2000 Deep Blue Solutions Ltd +* Copyright (C) 2002 Shane Nay (shane at minirl.com) +* Copyright 2005-2007 Freescale Semiconductor, Inc. All Rights Reserved. +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the License, or
arch/arm/mach-mx3/mach-mx31bugbase.c line 18
Quoted 10 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +10
-0+* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
The address isn't correct anymore, just remove the paragraph, see commit aa71251c5b8c673361281fbfd8be5a9ee8b9f4cc.
Quoted 25 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +25
-0+*/ + +#include <linux/kernel.h> +#include <linux/init.h> +#include <linux/platform_device.h> + +#include <mach/iomux-mx3.h> +#include <mach/imx-uart.h> +#include <mach/hardware.h> +#include <mach/common.h> + +#include <asm/mach/time.h> +#include <asm/mach/arch.h> +#include <asm/mach-types.h> + +#include "devices-imx31.h" + +/*! +* @file mx31bugbase.c +* +* @brief This file contains the board-specific initialization routines. +* +* @ingroup System +*/ +
arch/arm/mach-mx3/mach-mx31bugbase.c line 53
Quoted 10 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +10
-0+#if defined(CONFIG_SERIAL_IMX ) || defined(CONFIG_SERIAL_IMX_MODULE ) +static struct imxuart_platform_data uart_pdata = { + .flags =IMXUART_HAVE_RTSCTS , +}; + +static unsigned int uart5_pins[] = { +MX31_PIN_PC_RST__CTS5 , +MX31_PIN_PC_VS2__RTS5 , +MX31_PIN_PC_BVD2__TXD5 , + MX31_PIN_PC_BVD1__RXD5
please add a ","
Quoted 34 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +34
-0+}; + +static inline void mxc_init_imx_uart (void ) +{ +mxc_iomux_setup_multiple_pins (uart5_pins, +ARRAY_SIZE (uart5_pins),"uart-4" ); +imx31_add_imx_uart4 (&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_init_imx_uart (); +} + + +static void __init mx31bug_timer_init (void ) +{ +mx31_clocks_init (26000000 ); +} + +static struct sys_timer mx31bug_timer = { + .init = mx31bug_timer_init, +}; + +/* +* The following uses standard kernel macros defined in arch.h in order to
arch/arm/mach-mx3/mach-mx31bugbase.c line 97
Quoted 10 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +10
-0+* initialize __mach_desc_MX31BUG data structure. +*/ + +MACHINE_START (BUG ,"BugLabs BUGBase" ) + .boot_params = PHYS_OFFSET + 0x100, + .timer = &mx31bug_timer, + .map_io = mx31_map_io, + .init_irq = mx31_init_irq, + .init_machine = mxc_board_init, +MACHINE_END
cheers, Marc
Signature · 12 lines
Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de | -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 262 bytes Desc: OpenPGP digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20110210/79462723/attachment.sig>
Fabio Estevam
reviewerPATCH 1/1 mx31: add support for the bugbase 1.3 from buglabs
In reply to Denis 'GNUtoo' CarikliHi Denis,
Quoted 7 lines · Denis 'GNUtoo' Carikli
This work was based on bug-linux-2.6.30.patch that can be found ?in buglabs's svn here:
?svn://bugcamp.net/bug/branches/izzy/experimentalNote that the hardware schematics and documentations can be obtained ?here: http://www.bugcommunity.com/wiki/index.php/BUGbase
Quoted 6 lines
Signed-off-by Denis 'GNUtoo' Carikli <[email protected]>---
?arch/arm/mach-mx3/Kconfig ? ? ? ? ? ?| ? ?9 +++ ?arch/arm/mach-mx3/Makefile ? ? ? ? ? | ? ?1 + ?arch/arm/mach-mx3/mach-mx31bugbase.c | ? 97 ++++++++++++++++++++++++++++++++++?3 files changed, 107 insertions(+), 0 deletions(-)
Please add an entry for this board atarch/arm/plat-mxc/include/mach/uncompress.h
Regards,
Fabio Estevam
PATCH 1/1 mx31: add support for the bugbase 1.3 from buglabs
In reply to Denis 'GNUtoo' CarikliQuoted 53 lines · Denis 'GNUtoo' Carikli
This work was based on bug-linux-2.6.30.patch that can be found
in buglabs's svn here:
svn://bugcamp.net/bug/branches/izzy/experimentalNote that the hardware schematics and documentations can be obtained
here: http://www.bugcommunity.com/wiki/index.php/BUGbaseSigned-off-by Denis 'GNUtoo' Carikli <[email protected]>--- arch/arm/mach-mx3/Kconfig | 9 +++ arch/arm/mach-mx3/Makefile | 1 + arch/arm/mach-mx3/mach-mx31bugbase.c | 97 ++++++++++++++++++++++++++++++++++ 3 files changed, 107 insertions(+), 0 deletions(-) create mode 100644 arch/arm/mach-mx3/mach-mx31bugbase.carch/arm/mach-mx3/Kconfig +9
-0@@ -199,6 +199,15 @@ config MACH_KZM_ARM11_01 Include support for KZM-ARM11-01. This includes specific configurations for the board and its peripherals. +config MACH_BUG + bool "Support Buglabs BUGBase platform" + select SOC_IMX31 + select IMX_HAVE_PLATFORM_IMX_UART + default y + help + Include support for BUGBase 1.3 platform. This includes specific + configurations for the board and its peripherals. + config MACH_EUKREA_CPUIMX35 bool "Support Eukrea CPUIMX35 Platform" select SOC_IMX35arch/arm/mach-mx3/Makefile +1
-0@@ -20,6 +20,7 @@ obj-$(CONFIG_MACH_PCM043) += mach-pcm043.o obj-$(CONFIG_MACH_ARMADILLO5X0) += mach-armadillo5x0.o obj-$(CONFIG_MACH_MX35_3DS) += mach-mx35_3ds.o obj-$(CONFIG_MACH_KZM_ARM11_01) += mach-kzm_arm11_01.o +obj-$(CONFIG_MACH_BUG) += mach-mx31bugbase.o obj-$(CONFIG_MACH_EUKREA_CPUIMX35) += mach-cpuimx35.o obj-$(CONFIG_MACH_EUKREA_MBIMXSD35_BASEBOARD) += eukrea_mbimxsd-baseboard.o obj-$(CONFIG_MACH_VPR200) += mach-vpr200.oarch/arm/mach-mx3/mach-mx31bugbase.c new file +0
-0
arch/arm/mach-mx3/mach-mx31bugbase.c line 4
Quoted 4 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +4
-0@@ -0,0 +1,97 @@ +/* +* Copyright (C) 2000 Deep Blue Solutions Ltd +* Copyright (C) 2002 Shane Nay (shane at minirl.com) +* Copyright 2005-2007 Freescale Semiconductor, Inc. All Rights Reserved.
If you ask me, remove the double space before the "Copyright"s.
Quoted 27 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +27
-0+* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#include <linux/kernel.h> +#include <linux/init.h> +#include <linux/platform_device.h> + +#include <mach/iomux-mx3.h> +#include <mach/imx-uart.h> +#include <mach/hardware.h> +#include <mach/common.h> + +#include <asm/mach/time.h> +#include <asm/mach/arch.h> +#include <asm/mach-types.h>
arch/arm/mach-mx3/mach-mx31bugbase.c line 42
Quoted 10 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +10
-0+ +#include "devices-imx31.h" + +/*! +* @file mx31bugbase.c +* +* @brief This file contains the board-specific initialization routines. +* +* @ingroup System +*/
No doxygen-like comments, please. This comment is quite useless actually.
Quoted 14 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +14
-0+ +#if defined(CONFIG_SERIAL_IMX ) || defined(CONFIG_SERIAL_IMX_MODULE ) +static struct imxuart_platform_data uart_pdata = { + .flags =IMXUART_HAVE_RTSCTS , +}; + +static unsigned int uart5_pins[] = { +MX31_PIN_PC_RST__CTS5 , +MX31_PIN_PC_VS2__RTS5 , +MX31_PIN_PC_BVD2__TXD5 , +MX31_PIN_PC_BVD1__RXD5 +}; + +static inline void mxc_init_imx_uart (void )
arch/arm/mach-mx3/mach-mx31bugbase.c line 66
Quoted 10 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +10
-0+{ +mxc_iomux_setup_multiple_pins (uart5_pins, +ARRAY_SIZE (uart5_pins),"uart-4" ); +imx31_add_imx_uart4 (&uart_pdata); +} +#else /* !SERIAL_IMX */ +static inline void mxc_init_imx_uart (void ) +{ +} +#endif /* !SERIAL_IMX */
We usually register devices independant of the availability of the drivers.
arch/arm/mach-mx3/mach-mx31bugbase.c line 71
Quoted 5 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +5
-0+ +/*! +* Board specific initialization. +*/ +static void __init mxc_board_init (void )
Please use a different name. mxc_board_init is used much and so makes ctags and backtraces less valuable. Something like mx31bug_init would be fine.
Quoted 8 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +8
-0+{ +mxc_init_imx_uart (); +} + + +static void __init mx31bug_timer_init (void ) +{ +mx31_clocks_init (26000000 );
arch/arm/mach-mx3/mach-mx31bugbase.c line 89
Quoted 10 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +10
-0+} + +static struct sys_timer mx31bug_timer = { + .init = mx31bug_timer_init, +}; + +/* +* The following uses standard kernel macros defined in arch.h in order to +* initialize __mach_desc_MX31BUG data structure. +*/
not usefull.
arch/arm/mach-mx3/mach-mx31bugbase.c line 92
Quoted 3 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +3
-0+ +MACHINE_START (BUG ,"BugLabs BUGBase" ) + .boot_params = PHYS_OFFSET + 0x100,
use MX3_PHYS_OFFSET here please.
arch/arm/mach-mx3/mach-mx31bugbase.c line 97
Quoted 5 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +5
-0+ .timer = &mx31bug_timer, + .map_io = mx31_map_io, + .init_irq = mx31_init_irq, + .init_machine = mxc_board_init, +MACHINE_END
Note that this patch conflicts with
http://mid.gmane.org/1297092922-12741-2-git-send-email-u.kleine-koenig at pengutronix.de
Best regards
Uwe
Signature · 2 lines
Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ |
PATCH 1/3 ARM: mx3+mx5: rename to ${machine}_init
mxc_board_init is too generic to be useful. Additionally change some mxc_timer to ${machine}_timer, too.
--- arch/arm/mach-mx3/mach-cpuimx35.c | 4 ++-- arch/arm/mach-mx3/mach-kzm_arm11_01.c | 6 +----- arch/arm/mach-mx3/mach-mx31_3ds.c | 7 ++----- arch/arm/mach-mx3/mach-mx31ads.c | 7 ++----- arch/arm/mach-mx3/mach-mx31lite.c | 4 ++-- arch/arm/mach-mx3/mach-mx31moboard.c | 4 ++-- arch/arm/mach-mx3/mach-mx35_3ds.c | 4 ++-- arch/arm/mach-mx3/mach-pcm037.c | 4 ++-- arch/arm/mach-mx3/mach-pcm043.c | 4 ++-- arch/arm/mach-mx3/mach-qong.c | 4 ++-- arch/arm/mach-mx5/board-mx51_3ds.c | 10 +++++----- arch/arm/mach-mx5/board-mx51_babbage.c | 10 +++++----- arch/arm/mach-mx5/board-mx51_efikamx.c | 10 +++++----- 13 files changed, 34 insertions(+), 44 deletions(-)
arch/arm/mach-mx3/mach-cpuimx35.c +2 -2
@@ -146,7 +146,7 @@ __setup("otg_mode=", eukrea_cpuimx35_otg_mode);/* * Board specific initialization. */ -static void __init mxc_board_init (void ) +static void __init eukrea_cpuimx35_init (void ) {mxc_iomux_v3_setup_multiple_pads (eukrea_cpuimx35_pads,ARRAY_SIZE (eukrea_cpuimx35_pads));
@@ -189,5 +189,5 @@ MACHINE_START(EUKREA_CPUIMX35, "Eukrea CPUIMX35") .init_ext3_fs = imx35_init_early, .init_irq = mx35_init_irq, .timer = &eukrea_cpuimx35_timer, - .init_machine = mxc_board_init, + .init_machine = eukrea_cpuimx35_init,MACHINE_END
arch/arm/mach-mx3/mach-kzm_arm11_01.c +1 -5
@@ -266,13 +266,9 @@ static void __init kzm_timer_init(void) }static struct sys_timer kzm_timer = { - .init = kzm_timer_init, + .init = kzm_timer_init, }; -/* -* The following uses standard kernel macros define in arch.h in order to -* initialize __mach_desc_KZM_ARM11_01 data structure. -*/ MACHINE_START (KZM_ARM11_01 ,"Kyoto Microcomputer Co., Ltd. KZM-ARM11-01" ) .boot_params = MX3x_PHYS_OFFSET + 0x100, .map_io = kzm_map_io,
arch/arm/mach-mx3/mach-mx31_3ds.c +2 -5
@@ -320,10 +320,7 @@ static const struct imxuart_platform_data uart_pdata __initconst = { .flags = IMXUART_HAVE_RTSCTS, }; -/*! -* Board specific initialization. -*/ -static void __init mxc_board_init (void ) +static void __init mx31_3ds_init (void ) {mxc_iomux_setup_multiple_pins (mx31_3ds_pins,ARRAY_SIZE (mx31_3ds_pins),"mx31_3ds" );
@@ -378,5 +375,5 @@ MACHINE_START(MX31_3DS, "Freescale MX31PDK (3DS)") .init_early = imx31_init_early, .init_irq = mx31_init_irq, .timer = &mx31_3ds_timer, - .init_machine = mxc_board_init, + .init_machine = mx31_3ds_init,MACHINE_END
arch/arm/mach-mx3/mach-mx31ads.c +2 -5
@@ -524,10 +524,7 @@ static void __init mx31ads_init_irq(void)mx31ads_init_expio (); } -/*! -* Board specific initialization. -*/ -static void __init mxc_board_init (void ) +static void __init mx31ads_init (void ) {mxc_init_extuart ();mxc_init_imx_uart ();
@@ -555,5 +552,5 @@ MACHINE_START(MX31ADS, "Freescale MX31ADS") .init_early = imx31_init_early, .init_irq = mx31ads_init_irq, .timer = &mx31ads_timer, - .init_machine = mxc_board_init, + .init_machine = mx31ads_init,MACHINE_END
arch/arm/mach-mx3/mach-mx31lite.c +2 -2
@@ -227,7 +227,7 @@ void __init mx31lite_map_io(void)static int mx31lite_baseboard;core_param (mx31lite_baseboard, mx31lite_baseboard, int,0444 ); -static void __init mxc_board_init (void ) +static void __init mx31lite_init (void ) {int ret;
@@ -286,5 +286,5 @@ MACHINE_START(MX31LITE, "LogicPD i.MX31 SOM") .init_early = imx31_init_early, .init_irq = mx31_init_irq, .timer = &mx31lite_timer, - .init_machine = mxc_board_init, + .init_machine = mx31lite_init,MACHINE_END
arch/arm/mach-mx3/mach-mx31moboard.c +2 -2
@@ -503,7 +503,7 @@ core_param(mx31moboard_baseboard, mx31moboard_baseboard, int, 0444);/* * Board specific initialization. */ -static void __init mxc_board_init (void ) +static void __init mx31moboard_init (void ) {mxc_iomux_setup_multiple_pins (moboard_pins,ARRAY_SIZE (moboard_pins),"moboard" );
@@ -569,5 +569,5 @@ MACHINE_START(MX31MOBOARD, "EPFL Mobots mx31moboard") .init_early = imx31_init_early, .init_irq = mx31_init_irq, .timer = &mx31moboard_timer, - .init_machine = mxc_board_init, + .init_machine = mx31moboard_init,MACHINE_END
arch/arm/mach-mx3/mach-mx35_3ds.c +2 -2
@@ -156,7 +156,7 @@ __setup("otg_mode=", mx35_3ds_otg_mode);/* * Board specific initialization. */ -static void __init mxc_board_init (void ) +static void __init mx35_3ds_init (void ) {mxc_iomux_v3_setup_multiple_pads (mx35pdk_pads,ARRAY_SIZE (mx35pdk_pads));
@@ -198,5 +198,5 @@ MACHINE_START(MX35_3DS, "Freescale MX35PDK") .init_early = imx35_init_early, .init_irq = mx35_init_irq, .timer = &mx35pdk_timer, - .init_machine = mxc_board_init, + .init_machine = mx35_3ds_init,MACHINE_END
arch/arm/mach-mx3/mach-pcm037.c +2 -2
@@ -568,7 +568,7 @@ __setup("otg_mode=", pcm037_otg_mode);/* * Board specific initialization. */ -static void __init mxc_board_init (void ) +static void __init pcm037_init (void ) {int ret;
@@ -680,5 +680,5 @@ MACHINE_START(PCM037, "Phytec Phycore pcm037") .init_early = imx31_init_early, .init_irq = mx31_init_irq, .timer = &pcm037_timer, - .init_machine = mxc_board_init, + .init_machine = pcm037_init,MACHINE_END
arch/arm/mach-mx3/mach-pcm043.c +2 -2
@@ -341,7 +341,7 @@ __setup("otg_mode=", pcm043_otg_mode);/* * Board specific initialization. */ -static void __init mxc_board_init (void ) +static void __init pcm043_init (void ) {mxc_iomux_v3_setup_multiple_pads (pcm043_pads,ARRAY_SIZE (pcm043_pads));
@@ -408,5 +408,5 @@ MACHINE_START(PCM043, "Phytec Phycore pcm043") .init_early = imx35_init_early, .init_irq = mx35_init_irq, .timer = &pcm043_timer, - .init_machine = mxc_board_init, + .init_machine = pcm043_init,MACHINE_END
arch/arm/mach-mx3/mach-qong.c +2 -2
@@ -247,7 +247,7 @@ static void __init qong_init_fpga(void)/* * Board specific initialization. */ -static void __init mxc_board_init (void ) +static void __init qong_init (void ) {mxc_init_imx_uart ();qong_init_nor_mtd ();
@@ -275,5 +275,5 @@ MACHINE_START(QONG, "Dave/DENX QongEVB-LITE") .init_early = imx31_init_early, .init_irq = mx31_init_irq, .timer = &qong_timer, - .init_machine = mxc_board_init, + .init_machine = qong_init,MACHINE_END
arch/arm/mach-mx5/board-mx51_3ds.c +5 -5
@@ -133,7 +133,7 @@ static struct spi_board_info mx51_3ds_spi_nor_device[] = {/* * Board specific initialization. */ -static void __init mxc_board_init (void ) +static void __init mx51_3ds_init (void ) {mxc_iomux_v3_setup_multiple_pads (mx51_3ds_pads,ARRAY_SIZE (mx51_3ds_pads));
@@ -160,8 +160,8 @@ 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, +static struct sys_timer mx51_3ds_timer = { + .init = mx51_3ds_timer_init, };MACHINE_START (MX51_3DS ,"Freescale MX51 3-Stack Board" )
@@ -170,6 +170,6 @@ MACHINE_START(MX51_3DS, "Freescale MX51 3-Stack Board") .map_io = mx51_map_io, .init_early = imx51_init_early, .init_irq = mx51_init_irq, - .timer = &mxc_timer, - .init_machine = mxc_board_init, + .timer = &mx51_3ds_timer, + .init_machine = mx51_3ds_init,MACHINE_END
arch/arm/mach-mx5/board-mx51_babbage.c +5 -5
@@ -336,7 +336,7 @@ static const struct spi_imx_master mx51_babbage_spi_pdata __initconst = {/* * Board specific initialization. */ -static void __init mxc_board_init (void ) +static void __init mx51_babbage_init (void ) {iomux_v3_cfg_t usbh1stp =MX51_PAD_USBH1_STP__USBH1_STP ; iomux_v3_cfg_t power_key = _MX51_PAD_EIM_A27__GPIO2_21 |
@@ -390,8 +390,8 @@ static void __init mx51_babbage_timer_init(void)mx51_clocks_init (32768 ,24000000 ,22579200 ,0 ); } -static struct sys_timer mxc_timer = { - .init = mx51_babbage_timer_init, +static struct sys_timer mx51_babbage_timer = { + .init = mx51_babbage_timer_init, };MACHINE_START (MX51_BABBAGE ,"Freescale MX51 Babbage Board" )
@@ -400,6 +400,6 @@ MACHINE_START(MX51_BABBAGE, "Freescale MX51 Babbage Board") .map_io = mx51_map_io, .init_early = imx51_init_early, .init_irq = mx51_init_irq, - .timer = &mxc_timer, - .init_machine = mxc_board_init, + .timer = &mx51_babbage_timer, + .init_machine = mx51_babbage_init,MACHINE_END
arch/arm/mach-mx5/board-mx51_efikamx.c +5 -5
@@ -301,7 +301,7 @@ void mx51_efikamx_reset(void)gpio_direction_output (EFIKAMX_RESET ,0 ); } -static void __init mxc_board_init (void ) +static void __init mx51_efikamx_init (void ) {mxc_iomux_v3_setup_multiple_pads (mx51efikamx_pads,ARRAY_SIZE (mx51efikamx_pads));
@@ -339,8 +339,8 @@ static void __init mx51_efikamx_timer_init(void)mx51_clocks_init (32768 ,24000000 ,22579200 ,24576000 ); } -static struct sys_timer mxc_timer = { - .init = mx51_efikamx_timer_init, +static struct sys_timer mx51_efikamx_timer = { + .init = mx51_efikamx_timer_init, };MACHINE_START (MX51_EFIKAMX ,"Genesi EfikaMX nettop" )
@@ -349,6 +349,6 @@ MACHINE_START(MX51_EFIKAMX, "Genesi EfikaMX nettop") .map_io = mx51_map_io, .init_early = imx51_init_early, .init_irq = mx51_init_irq, - .timer = &mxc_timer, - .init_machine = mxc_board_init, + .timer = &mx51_efikamx_timer, + .init_machine = mx51_efikamx_init,MACHINE_END
Signature · 1 line
1.7.2.3
PATCH v2 1/3 ARM: mx3+mx5: rename mxc_board_init to ${machine}_init
mxc_board_init is too generic to be useful. Additionally change some mxc_timer to ${machine}_timer, too.
---
Hello,
sorry, the first version had a word missing in the Subject.
Uwe
arch/arm/mach-mx3/mach-cpuimx35.c | 4 ++-- arch/arm/mach-mx3/mach-kzm_arm11_01.c | 6 +----- arch/arm/mach-mx3/mach-mx31_3ds.c | 7 ++----- arch/arm/mach-mx3/mach-mx31ads.c | 7 ++----- arch/arm/mach-mx3/mach-mx31lite.c | 4 ++-- arch/arm/mach-mx3/mach-mx31moboard.c | 4 ++-- arch/arm/mach-mx3/mach-mx35_3ds.c | 4 ++-- arch/arm/mach-mx3/mach-pcm037.c | 4 ++-- arch/arm/mach-mx3/mach-pcm043.c | 4 ++-- arch/arm/mach-mx3/mach-qong.c | 4 ++-- arch/arm/mach-mx5/board-mx51_3ds.c | 10 +++++----- arch/arm/mach-mx5/board-mx51_babbage.c | 10 +++++----- arch/arm/mach-mx5/board-mx51_efikamx.c | 10 +++++----- 13 files changed, 34 insertions(+), 44 deletions(-)
arch/arm/mach-mx3/mach-cpuimx35.c +2 -2
@@ -146,7 +146,7 @@ __setup("otg_mode=", eukrea_cpuimx35_otg_mode);/* * Board specific initialization. */ -static void __init mxc_board_init (void ) +static void __init eukrea_cpuimx35_init (void ) {mxc_iomux_v3_setup_multiple_pads (eukrea_cpuimx35_pads,ARRAY_SIZE (eukrea_cpuimx35_pads));
@@ -189,5 +189,5 @@ MACHINE_START(EUKREA_CPUIMX35, "Eukrea CPUIMX35") .init_ext3_fs = imx35_init_early, .init_irq = mx35_init_irq, .timer = &eukrea_cpuimx35_timer, - .init_machine = mxc_board_init, + .init_machine = eukrea_cpuimx35_init,MACHINE_END
arch/arm/mach-mx3/mach-kzm_arm11_01.c +1 -5
@@ -266,13 +266,9 @@ static void __init kzm_timer_init(void) }static struct sys_timer kzm_timer = { - .init = kzm_timer_init, + .init = kzm_timer_init, }; -/* -* The following uses standard kernel macros define in arch.h in order to -* initialize __mach_desc_KZM_ARM11_01 data structure. -*/ MACHINE_START (KZM_ARM11_01 ,"Kyoto Microcomputer Co., Ltd. KZM-ARM11-01" ) .boot_params = MX3x_PHYS_OFFSET + 0x100, .map_io = kzm_map_io,
arch/arm/mach-mx3/mach-mx31_3ds.c +2 -5
@@ -320,10 +320,7 @@ static const struct imxuart_platform_data uart_pdata __initconst = { .flags = IMXUART_HAVE_RTSCTS, }; -/*! -* Board specific initialization. -*/ -static void __init mxc_board_init (void ) +static void __init mx31_3ds_init (void ) {mxc_iomux_setup_multiple_pins (mx31_3ds_pins,ARRAY_SIZE (mx31_3ds_pins),"mx31_3ds" );
@@ -378,5 +375,5 @@ MACHINE_START(MX31_3DS, "Freescale MX31PDK (3DS)") .init_early = imx31_init_early, .init_irq = mx31_init_irq, .timer = &mx31_3ds_timer, - .init_machine = mxc_board_init, + .init_machine = mx31_3ds_init,MACHINE_END
arch/arm/mach-mx3/mach-mx31ads.c +2 -5
@@ -524,10 +524,7 @@ static void __init mx31ads_init_irq(void)mx31ads_init_expio (); } -/*! -* Board specific initialization. -*/ -static void __init mxc_board_init (void ) +static void __init mx31ads_init (void ) {mxc_init_extuart ();mxc_init_imx_uart ();
@@ -555,5 +552,5 @@ MACHINE_START(MX31ADS, "Freescale MX31ADS") .init_early = imx31_init_early, .init_irq = mx31ads_init_irq, .timer = &mx31ads_timer, - .init_machine = mxc_board_init, + .init_machine = mx31ads_init,MACHINE_END
arch/arm/mach-mx3/mach-mx31lite.c +2 -2
@@ -227,7 +227,7 @@ void __init mx31lite_map_io(void)static int mx31lite_baseboard;core_param (mx31lite_baseboard, mx31lite_baseboard, int,0444 ); -static void __init mxc_board_init (void ) +static void __init mx31lite_init (void ) {int ret;
@@ -286,5 +286,5 @@ MACHINE_START(MX31LITE, "LogicPD i.MX31 SOM") .init_early = imx31_init_early, .init_irq = mx31_init_irq, .timer = &mx31lite_timer, - .init_machine = mxc_board_init, + .init_machine = mx31lite_init,MACHINE_END
arch/arm/mach-mx3/mach-mx31moboard.c +2 -2
@@ -503,7 +503,7 @@ core_param(mx31moboard_baseboard, mx31moboard_baseboard, int, 0444);/* * Board specific initialization. */ -static void __init mxc_board_init (void ) +static void __init mx31moboard_init (void ) {mxc_iomux_setup_multiple_pins (moboard_pins,ARRAY_SIZE (moboard_pins),"moboard" );
@@ -569,5 +569,5 @@ MACHINE_START(MX31MOBOARD, "EPFL Mobots mx31moboard") .init_early = imx31_init_early, .init_irq = mx31_init_irq, .timer = &mx31moboard_timer, - .init_machine = mxc_board_init, + .init_machine = mx31moboard_init,MACHINE_END
arch/arm/mach-mx3/mach-mx35_3ds.c +2 -2
@@ -156,7 +156,7 @@ __setup("otg_mode=", mx35_3ds_otg_mode);/* * Board specific initialization. */ -static void __init mxc_board_init (void ) +static void __init mx35_3ds_init (void ) {mxc_iomux_v3_setup_multiple_pads (mx35pdk_pads,ARRAY_SIZE (mx35pdk_pads));
@@ -198,5 +198,5 @@ MACHINE_START(MX35_3DS, "Freescale MX35PDK") .init_early = imx35_init_early, .init_irq = mx35_init_irq, .timer = &mx35pdk_timer, - .init_machine = mxc_board_init, + .init_machine = mx35_3ds_init,MACHINE_END
arch/arm/mach-mx3/mach-pcm037.c +2 -2
@@ -568,7 +568,7 @@ __setup("otg_mode=", pcm037_otg_mode);/* * Board specific initialization. */ -static void __init mxc_board_init (void ) +static void __init pcm037_init (void ) {int ret;
@@ -680,5 +680,5 @@ MACHINE_START(PCM037, "Phytec Phycore pcm037") .init_early = imx31_init_early, .init_irq = mx31_init_irq, .timer = &pcm037_timer, - .init_machine = mxc_board_init, + .init_machine = pcm037_init,MACHINE_END
arch/arm/mach-mx3/mach-pcm043.c +2 -2
@@ -341,7 +341,7 @@ __setup("otg_mode=", pcm043_otg_mode);/* * Board specific initialization. */ -static void __init mxc_board_init (void ) +static void __init pcm043_init (void ) {mxc_iomux_v3_setup_multiple_pads (pcm043_pads,ARRAY_SIZE (pcm043_pads));
@@ -408,5 +408,5 @@ MACHINE_START(PCM043, "Phytec Phycore pcm043") .init_early = imx35_init_early, .init_irq = mx35_init_irq, .timer = &pcm043_timer, - .init_machine = mxc_board_init, + .init_machine = pcm043_init,MACHINE_END
arch/arm/mach-mx3/mach-qong.c +2 -2
@@ -247,7 +247,7 @@ static void __init qong_init_fpga(void)/* * Board specific initialization. */ -static void __init mxc_board_init (void ) +static void __init qong_init (void ) {mxc_init_imx_uart ();qong_init_nor_mtd ();
@@ -275,5 +275,5 @@ MACHINE_START(QONG, "Dave/DENX QongEVB-LITE") .init_early = imx31_init_early, .init_irq = mx31_init_irq, .timer = &qong_timer, - .init_machine = mxc_board_init, + .init_machine = qong_init,MACHINE_END
arch/arm/mach-mx5/board-mx51_3ds.c +5 -5
@@ -133,7 +133,7 @@ static struct spi_board_info mx51_3ds_spi_nor_device[] = {/* * Board specific initialization. */ -static void __init mxc_board_init (void ) +static void __init mx51_3ds_init (void ) {mxc_iomux_v3_setup_multiple_pads (mx51_3ds_pads,ARRAY_SIZE (mx51_3ds_pads));
@@ -160,8 +160,8 @@ 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, +static struct sys_timer mx51_3ds_timer = { + .init = mx51_3ds_timer_init, };MACHINE_START (MX51_3DS ,"Freescale MX51 3-Stack Board" )
@@ -170,6 +170,6 @@ MACHINE_START(MX51_3DS, "Freescale MX51 3-Stack Board") .map_io = mx51_map_io, .init_early = imx51_init_early, .init_irq = mx51_init_irq, - .timer = &mxc_timer, - .init_machine = mxc_board_init, + .timer = &mx51_3ds_timer, + .init_machine = mx51_3ds_init,MACHINE_END
arch/arm/mach-mx5/board-mx51_babbage.c +5 -5
@@ -336,7 +336,7 @@ static const struct spi_imx_master mx51_babbage_spi_pdata __initconst = {/* * Board specific initialization. */ -static void __init mxc_board_init (void ) +static void __init mx51_babbage_init (void ) {iomux_v3_cfg_t usbh1stp =MX51_PAD_USBH1_STP__USBH1_STP ; iomux_v3_cfg_t power_key = _MX51_PAD_EIM_A27__GPIO2_21 |
@@ -390,8 +390,8 @@ static void __init mx51_babbage_timer_init(void)mx51_clocks_init (32768 ,24000000 ,22579200 ,0 ); } -static struct sys_timer mxc_timer = { - .init = mx51_babbage_timer_init, +static struct sys_timer mx51_babbage_timer = { + .init = mx51_babbage_timer_init, };MACHINE_START (MX51_BABBAGE ,"Freescale MX51 Babbage Board" )
@@ -400,6 +400,6 @@ MACHINE_START(MX51_BABBAGE, "Freescale MX51 Babbage Board") .map_io = mx51_map_io, .init_early = imx51_init_early, .init_irq = mx51_init_irq, - .timer = &mxc_timer, - .init_machine = mxc_board_init, + .timer = &mx51_babbage_timer, + .init_machine = mx51_babbage_init,MACHINE_END
arch/arm/mach-mx5/board-mx51_efikamx.c +5 -5
@@ -301,7 +301,7 @@ void mx51_efikamx_reset(void)gpio_direction_output (EFIKAMX_RESET ,0 ); } -static void __init mxc_board_init (void ) +static void __init mx51_efikamx_init (void ) {mxc_iomux_v3_setup_multiple_pads (mx51efikamx_pads,ARRAY_SIZE (mx51efikamx_pads));
@@ -339,8 +339,8 @@ static void __init mx51_efikamx_timer_init(void)mx51_clocks_init (32768 ,24000000 ,22579200 ,24576000 ); } -static struct sys_timer mxc_timer = { - .init = mx51_efikamx_timer_init, +static struct sys_timer mx51_efikamx_timer = { + .init = mx51_efikamx_timer_init, };MACHINE_START (MX51_EFIKAMX ,"Genesi EfikaMX nettop" )
@@ -349,6 +349,6 @@ MACHINE_START(MX51_EFIKAMX, "Genesi EfikaMX nettop") .map_io = mx51_map_io, .init_early = imx51_init_early, .init_irq = mx51_init_irq, - .timer = &mxc_timer, - .init_machine = mxc_board_init, + .timer = &mx51_efikamx_timer, + .init_machine = mx51_efikamx_init,MACHINE_END
Signature · 1 line
1.7.2.3
PATCH 2/3 ARM: mx3: remove some useless comments
In reply to Uwe Kleine-König--- arch/arm/mach-mx3/mach-mx31_3ds.c | 8 -------- arch/arm/mach-mx3/mach-mx31ads.c | 14 +------------- arch/arm/mach-mx3/mach-qong.c | 9 --------- arch/arm/mach-mx3/mm.c | 9 --------- 4 files changed, 1 insertions(+), 39 deletions(-)
arch/arm/mach-mx3/mach-mx31_3ds.c +0 -8
@@ -42,10 +42,6 @@/* CPLD IRQ line for external uart, external ethernet etc */ #define EXPIO_PARENT_INT IOMUX_TO_IRQ(MX31_PIN_GPIO1_1) -/* -* This file contains the board-specific initialization routines. -*/ -static int mx31_3ds_pins[] = {/* UART1 */ MX31_PIN_CTS1__CTS1 ,
@@ -364,10 +360,6 @@ static struct sys_timer mx31_3ds_timer = { .init = mx31_3ds_timer_init, }; -/* -* The following uses standard kernel macros defined in arch.h in order to -* initialize __mach_desc_MX31_3DS data structure. -*/ MACHINE_START (MX31_3DS ,"Freescale MX31PDK (3DS)" )/* Maintainer: Freescale Semiconductor, Inc. */ .boot_params = MX3x_PHYS_OFFSET + 0x100,
arch/arm/mach-mx3/mach-mx31ads.c +1 -13
@@ -69,9 +69,6 @@#define EXPIO_INT_XUART_INTB (MXC_EXP_IO_BASE + 11)#define MXC_MAX_EXP_IO_LINES 16 -/* -* This file contains the board-specific initialization routines. -*/ /* * The serial port definition structure.
@@ -497,9 +494,7 @@ static void mxc_init_audio(void)mxc_iomux_setup_multiple_pins (ssi_pins,ARRAY_SIZE (ssi_pins),"ssi" ); } -/*! -* This structure defines static mappings for the i.MX31ADS board. -*/ +/* static mappings */ static struct map_desc mx31ads_io_desc[]__initdata = { { .virtual =MX31_CS4_BASE_ADDR_VIRT ,
@@ -509,9 +504,6 @@ static struct map_desc mx31ads_io_desc[] __initdata = { }, }; -/*! -* Set up static virtual mappings. -*/ static void __init mx31ads_map_io (void ) {mx31_map_io ();
@@ -541,10 +533,6 @@ static struct sys_timer mx31ads_timer = { .init = mx31ads_timer_init, }; -/* -* The following uses standard kernel macros defined in arch.h in order to -* initialize __mach_desc_MX31ADS data structure. -*/ MACHINE_START (MX31ADS ,"Freescale MX31ADS" )/* Maintainer: Freescale Semiconductor, Inc. */ .boot_params = MX3x_PHYS_OFFSET + 0x100,
arch/arm/mach-mx3/mach-qong.c +0 -9
@@ -54,10 +54,6 @@#define QONG_FPGA_IRQ IOMUX_TO_IRQ(MX31_PIN_DTR_DCE1) -/* -* This file contains the board-specific initialization routines. -*/ -static const struct imxuart_platform_data uart_pdata__initconst = { .flags =IMXUART_HAVE_RTSCTS , };
@@ -263,11 +259,6 @@ static struct sys_timer qong_timer = { .init = qong_timer_init, }; -/* -* The following uses standard kernel macros defined in arch.h in order to -* initialize __mach_desc_QONG data structure. -*/ -MACHINE_START (QONG ,"Dave/DENX QongEVB-LITE" )/* Maintainer: DENX Software Engineering GmbH */ .boot_params = MX3x_PHYS_OFFSET + 0x100,
arch/arm/mach-mx3/mm.c +0 -9
@@ -28,14 +28,6 @@#include <mach/hardware.h> #include <mach/iomux-v3.h> -/*! -* @file mm.c -* -* @brief This file creates static virtual to physical mappings, common to all MX3 boards. -* -* @ingroup Memory -*/ -#ifdef CONFIG_SOC_IMX31 static struct map_desc mx31_io_desc[]__initdata = { imx_map_entry(MX31, X_MEMC, MT_DEVICE),
@@ -135,4 +127,3 @@ static int mxc_init_l2x0(void)arch_initcall (mxc_init_l2x0);#endif -
Signature · 1 line
1.7.2.3
PATCH 3/3 ARM: mx3/mx31ads: fix comments of irq callbacks
In reply to Uwe Kleine-KönigThe arguments to these callbacks were changed in
e981a30 (ARM: mx3: irq_data conversion.)
but the comments were not adapted.
--- arch/arm/mach-mx3/mach-mx31ads.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-)
arch/arm/mach-mx3/mach-mx31ads.c +3 -3
@@ -144,7 +144,7 @@ static void mx31ads_expio_irq_handler(u32 irq, struct irq_desc *desc)/* * Disable an expio pin's interrupt by setting the bit in the imr. -* @param irq an expio virtual irq number +* @param d an expio virtual irq description */ static void expio_mask_irq (struct irq_data *d) {
@@ -156,7 +156,7 @@ static void expio_mask_irq(struct irq_data *d)/* * Acknowledge an expanded io pin's interrupt by clearing the bit in the isr. -* @param irq an expanded io virtual irq number +* @param d an expio virtual irq description */ static void expio_ack_irq (struct irq_data *d) {
@@ -167,7 +167,7 @@ static void expio_ack_irq(struct irq_data *d)/* * Enable a expio pin's interrupt by clearing the bit in the imr. -* @param irq a expio virtual irq number +* @param d an expio virtual irq description */ static void expio_unmask_irq (struct irq_data *d) {
Signature · 1 line
1.7.2.3
PATCH 1/1 mx31: add support for the bugbase 1.3 from buglabs
In reply to Uwe Kleine-KönigThis work was based on bug-linux-2.6.30.patch that can be found
in buglabs's svn here:
svn://bugcamp.net/bug/branches/izzy/experimental
Note that the hardware schematics and documentations can be obtained
here: http://www.bugcommunity.com/wiki/index.php/BUGbase
--- arch/arm/mach-mx3/Kconfig | 9 +++ arch/arm/mach-mx3/Makefile | 1 + arch/arm/mach-mx3/mach-mx31bugbase.c | 75 +++++++++++++++++++++++++++ arch/arm/plat-mxc/include/mach/uncompress.h | 4 ++ 4 files changed, 89 insertions(+), 0 deletions(-) create mode 100644 arch/arm/mach-mx3/mach-mx31bugbase.c
arch/arm/mach-mx3/Kconfig +9 -0
@@ -199,6 +199,15 @@ config MACH_KZM_ARM11_01 Include support for KZM-ARM11-01. This includes specific configurations for the board and its peripherals. +config MACH_BUG + bool "Support Buglabs BUGBase platform" + select SOC_IMX31 + select IMX_HAVE_PLATFORM_IMX_UART + default y + help + Include support for BUGBase 1.3 platform. This includes specific + configurations for the board and its peripherals. + config MACH_EUKREA_CPUIMX35 bool "Support Eukrea CPUIMX35 Platform" select SOC_IMX35
arch/arm/mach-mx3/Makefile +1 -0
@@ -20,6 +20,7 @@ obj-$(CONFIG_MACH_PCM043) += mach-pcm043.o obj-$(CONFIG_MACH_ARMADILLO5X0) += mach-armadillo5x0.o obj-$(CONFIG_MACH_MX35_3DS) += mach-mx35_3ds.o obj-$(CONFIG_MACH_KZM_ARM11_01) += mach-kzm_arm11_01.o +obj-$(CONFIG_MACH_BUG) += mach-mx31bugbase.o obj-$(CONFIG_MACH_EUKREA_CPUIMX35) += mach-cpuimx35.o obj-$(CONFIG_MACH_EUKREA_MBIMXSD35_BASEBOARD) += eukrea_mbimxsd-baseboard.o obj-$(CONFIG_MACH_VPR200) += mach-vpr200.o
arch/arm/mach-mx3/mach-mx31bugbase.c new file +75 -0
75 lines not on this page · raw message
arch/arm/plat-mxc/include/mach/uncompress.h +4 -0
@@ -62,6 +62,7 @@ static inline void flush(void)#define MX2X_UART1_BASE_ADDR 0x1000a000#define MX3X_UART1_BASE_ADDR 0x43F90000#define MX3X_UART2_BASE_ADDR 0x43F94000 +#define MX3X_UART5_BASE_ADDR 0x43FB4000#define MX51_UART1_BASE_ADDR 0x73fbc000#define MX50_UART1_BASE_ADDR 0x53fbc000#define MX53_UART1_BASE_ADDR 0x53fbc000
@@ -102,6 +103,9 @@ static __inline__ void __arch_decomp_setup(unsigned long arch_id)case MACH_TYPE_MAGX_ZN5 : uart_base =MX3X_UART2_BASE_ADDR ;break ; +case MACH_TYPE_BUG : + uart_base =MX3X_UART5_BASE_ADDR ; +break ;case MACH_TYPE_MX51_BABBAGE :case MACH_TYPE_EUKREA_CPUIMX51SD :case MACH_TYPE_MX51_3DS :
Signature · 1 line
1.7.0.4
PATCH 1/1 mx31: add support for the bugbase 1.3 from buglabs
Sorry, the --subject-prefix="[PATCH V2]" was ignored
Denis.
PATCH 1/1 mx31: add support for the bugbase 1.3 from buglabs
In reply to Denis 'GNUtoo' CarikliQuoted 13 lines
arch/arm/plat-mxc/include/mach/uncompress.h +1
-0@@ -62,6 +62,7 @@ static inline void flush(void)#define MX2X_UART1_BASE_ADDR 0x1000a000#define MX3X_UART1_BASE_ADDR 0x43F90000#define MX3X_UART2_BASE_ADDR 0x43F94000 +#define MX3X_UART5_BASE_ADDR 0x43FB4000#define MX51_UART1_BASE_ADDR 0x73fbc000#define MX50_UART1_BASE_ADDR 0x53fbc000#define MX53_UART1_BASE_ADDR 0x53fbc000
arch/arm/plat-mxc/include/mach/uncompress.h static __inline__ void __arch_decomp_setup(unsigned long arch_id) · line 111
Quoted 9 lines
arch/arm/plat-mxc/include/mach/uncompress.h +3
-0@@ -102,6 +103,9 @@ static __inline__ void __arch_decomp_setup(unsigned long arch_id)case MACH_TYPE_MAGX_ZN5 : uart_base =MX3X_UART2_BASE_ADDR ;break ; +case MACH_TYPE_BUG : + uart_base =MX3X_UART5_BASE_ADDR ; +break ;case MACH_TYPE_MX51_BABBAGE :case MACH_TYPE_EUKREA_CPUIMX51SD :case MACH_TYPE_MX51_3DS :
That seem not to crash, but I wonder if it's really useful:
Basically I see u-boot loading the kernel, then I have
Quoted 1 line
Uncompressing Linux...
Then I wait some seconds
Then I see that line beeing complretted with:
Quoted 1 line
done, booting the kernel.
Then the rest of the messages are displayed very fast, along with initramfs loading messages and I finally get a shell.
Denis.
PATCH 1/1 mx31: add support for the bugbase 1.3 from buglabs
Quoted 24 lines · Denis 'GNUtoo' Carikli
Quoted 13 lines
arch/arm/plat-mxc/include/mach/uncompress.h +1
-0@@ -62,6 +62,7 @@ static inline void flush(void)#define MX2X_UART1_BASE_ADDR 0x1000a000#define MX3X_UART1_BASE_ADDR 0x43F90000#define MX3X_UART2_BASE_ADDR 0x43F94000 +#define MX3X_UART5_BASE_ADDR 0x43FB4000#define MX51_UART1_BASE_ADDR 0x73fbc000#define MX50_UART1_BASE_ADDR 0x53fbc000#define MX53_UART1_BASE_ADDR 0x53fbc000arch/arm/plat-mxc/include/mach/uncompress.h static __inline__ void __arch_decomp_setup(unsigned long arch_id) · line 111
Quoted 9 lines
arch/arm/plat-mxc/include/mach/uncompress.h +3
-0@@ -102,6 +103,9 @@ static __inline__ void __arch_decomp_setup(unsigned long arch_id)case MACH_TYPE_MAGX_ZN5 : uart_base =MX3X_UART2_BASE_ADDR ;break ; +case MACH_TYPE_BUG : + uart_base =MX3X_UART5_BASE_ADDR ; +break ;case MACH_TYPE_MX51_BABBAGE :case MACH_TYPE_EUKREA_CPUIMX51SD :case MACH_TYPE_MX51_3DS :That seem not to crash, but I wonder if it's really useful:
Basically I see u-boot loading the kernel, then I have
Quoted 6 lines
Quoted 1 line
Uncompressing Linux...
Then I wait some seconds
Then I see that line beeing complretted with:Quoted 1 line
done, booting the kernel.
Then the rest of the messages are displayed very fast, along with initramfs loading messages and I finally get a shell.
That means you'd prefer no output? Some time ago we even got some more dots during decompression, I'd like to get these back.
The only downside of these outputs I can imagine is to save the time it takes to get them out of the serial. But if you really care, you might want to evaluate the possibility to let U-Boot uncompress your kernel. (Depending on some parameters of your hardware this might or might not be faster for you.)
Best regards
Uwe
Signature · 2 lines
Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ |
PATCH 1/1 mx31: add support for the bugbase 1.3 from buglabs
Quoted 25 lines · Uwe Kleine-K?nig
Quoted 24 lines · Denis 'GNUtoo' Carikli
Quoted 13 lines
arch/arm/plat-mxc/include/mach/uncompress.h +1
-0@@ -62,6 +62,7 @@ static inline void flush(void)#define MX2X_UART1_BASE_ADDR 0x1000a000#define MX3X_UART1_BASE_ADDR 0x43F90000#define MX3X_UART2_BASE_ADDR 0x43F94000 +#define MX3X_UART5_BASE_ADDR 0x43FB4000#define MX51_UART1_BASE_ADDR 0x73fbc000#define MX50_UART1_BASE_ADDR 0x53fbc000#define MX53_UART1_BASE_ADDR 0x53fbc000arch/arm/plat-mxc/include/mach/uncompress.h static __inline__ void __arch_decomp_setup(unsigned long arch_id) · line 111
Quoted 9 lines
arch/arm/plat-mxc/include/mach/uncompress.h +3
-0@@ -102,6 +103,9 @@ static __inline__ void __arch_decomp_setup(unsigned long arch_id)case MACH_TYPE_MAGX_ZN5 : uart_base =MX3X_UART2_BASE_ADDR ;break ; +case MACH_TYPE_BUG : + uart_base =MX3X_UART5_BASE_ADDR ; +break ;case MACH_TYPE_MX51_BABBAGE :case MACH_TYPE_EUKREA_CPUIMX51SD :case MACH_TYPE_MX51_3DS :That seem not to crash, but I wonder if it's really useful:
Basically I see u-boot loading the kernel, then I have
Quoted 7 lines
Quoted 6 lines
Quoted 1 line
Uncompressing Linux...
Then I wait some seconds
Then I see that line beeing complretted with:Quoted 1 line
done, booting the kernel.
Then the rest of the messages are displayed very fast, along with initramfs loading messages and I finally get a shell.
That means you'd prefer no output?
I should have misunderstood something, but I believed that that uncompress.h was for early printk.
And so I expected printk to be printed on serial console immediately, not waiting for the serial port to be initialized again(as it is already initialized by the u-boot bootloader).
Denis.
PATCH 1/1 mx31: add support for the bugbase 1.3 from buglabs
Hi Denis,
Quoted 30 lines · Denis 'GNUtoo' Carikli
Quoted 29 lines · Uwe Kleine-K?nig
Quoted 28 lines · Denis 'GNUtoo' Carikli
Quoted 13 lines
arch/arm/plat-mxc/include/mach/uncompress.h +1
-0@@ -62,6 +62,7 @@ static inline void flush(void)#define MX2X_UART1_BASE_ADDR 0x1000a000#define MX3X_UART1_BASE_ADDR 0x43F90000#define MX3X_UART2_BASE_ADDR 0x43F94000 +#define MX3X_UART5_BASE_ADDR 0x43FB4000#define MX51_UART1_BASE_ADDR 0x73fbc000#define MX50_UART1_BASE_ADDR 0x53fbc000#define MX53_UART1_BASE_ADDR 0x53fbc000arch/arm/plat-mxc/include/mach/uncompress.h static __inline__ void __arch_decomp_setup(unsigned long arch_id) · line 111
Quoted 9 lines
arch/arm/plat-mxc/include/mach/uncompress.h +3
-0@@ -102,6 +103,9 @@ static __inline__ void __arch_decomp_setup(unsigned long arch_id)case MACH_TYPE_MAGX_ZN5 : uart_base =MX3X_UART2_BASE_ADDR ;break ; +case MACH_TYPE_BUG : + uart_base =MX3X_UART5_BASE_ADDR ; +break ;case MACH_TYPE_MX51_BABBAGE :case MACH_TYPE_EUKREA_CPUIMX51SD :case MACH_TYPE_MX51_3DS :That seem not to crash, but I wonder if it's really useful:
Basically I see u-boot loading the kernel, then I haveQuoted 1 line
Uncompressing Linux...
Then I wait some seconds
Then I see that line beeing complretted with:Quoted 1 line
done, booting the kernel.
Quoted 8 lines
Quoted 3 lines
Quoted 2 lines
Then the rest of the messages are displayed very fast, along with initramfs loading messages and I finally get a shell.
That means you'd prefer no output?
I should have misunderstood something, but I believed that that
uncompress.hwas for early printk.
And so I expected printk to be printed on serial console immediately, not waiting for the serial port to be initialized again(as it is already initialized by the u-boot bootloader).
There is nothing reinitialized, in fact the code in arch/arm/plat-mxc/include/mach/uncompress.h assumes the UART is already initialized by the boot loader. The only difference this hunk above results in is that the messages "Uncompressing Linux..." and "done, booting the kernel." are printed on your UART. And if you skip them you still have that some seconds pause, and you only save the time the characters need to pass your UART.
Best regards
Uwe
Signature · 2 lines
Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ |
PATCH 1/1 mx31: add support for the bugbase 1.3 from buglabs
In reply to Denis 'GNUtoo' CarikliQuoted 115 lines · Denis 'GNUtoo' Carikli
This work was based on bug-linux-2.6.30.patch that can be found
in buglabs's svn here:
svn://bugcamp.net/bug/branches/izzy/experimentalNote that the hardware schematics and documentations can be obtained
here: http://www.bugcommunity.com/wiki/index.php/BUGbaseSigned-off-by Denis 'GNUtoo' Carikli <[email protected]>--- arch/arm/mach-mx3/Kconfig | 9 +++ arch/arm/mach-mx3/Makefile | 1 + arch/arm/mach-mx3/mach-mx31bugbase.c | 75 +++++++++++++++++++++++++++ arch/arm/plat-mxc/include/mach/uncompress.h | 4 ++ 4 files changed, 89 insertions(+), 0 deletions(-) create mode 100644 arch/arm/mach-mx3/mach-mx31bugbase.carch/arm/mach-mx3/Kconfig +9
-0@@ -199,6 +199,15 @@ config MACH_KZM_ARM11_01 Include support for KZM-ARM11-01. This includes specific configurations for the board and its peripherals. +config MACH_BUG + bool "Support Buglabs BUGBase platform" + select SOC_IMX31 + select IMX_HAVE_PLATFORM_IMX_UART + default y + help + Include support for BUGBase 1.3 platform. This includes specific + configurations for the board and its peripherals. + config MACH_EUKREA_CPUIMX35 bool "Support Eukrea CPUIMX35 Platform" select SOC_IMX35arch/arm/mach-mx3/Makefile +1
-0@@ -20,6 +20,7 @@ obj-$(CONFIG_MACH_PCM043) += mach-pcm043.o obj-$(CONFIG_MACH_ARMADILLO5X0) += mach-armadillo5x0.o obj-$(CONFIG_MACH_MX35_3DS) += mach-mx35_3ds.o obj-$(CONFIG_MACH_KZM_ARM11_01) += mach-kzm_arm11_01.o +obj-$(CONFIG_MACH_BUG) += mach-mx31bugbase.o obj-$(CONFIG_MACH_EUKREA_CPUIMX35) += mach-cpuimx35.o obj-$(CONFIG_MACH_EUKREA_MBIMXSD35_BASEBOARD) += eukrea_mbimxsd-baseboard.o obj-$(CONFIG_MACH_VPR200) += mach-vpr200.oarch/arm/mach-mx3/mach-mx31bugbase.c new file +61
-0@@ -0,0 +1,75 @@ +/* +* Copyright (C) 2000 Deep Blue Solutions Ltd +* Copyright (C) 2002 Shane Nay (shane at minirl.com) +* Copyright 2005-2007 Freescale Semiconductor, Inc. All Rights Reserved. +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +*/ + +#include <linux/kernel.h> +#include <linux/init.h> +#include <linux/platform_device.h> + +#include <mach/iomux-mx3.h> +#include <mach/imx-uart.h> +#include <mach/hardware.h> +#include <mach/common.h> + +#include <asm/mach/time.h> +#include <asm/mach/arch.h> +#include <asm/mach-types.h> + +#include "devices-imx31.h" + +static struct imxuart_platform_data uart_pdata = { + .flags =IMXUART_HAVE_RTSCTS , +}; + +static unsigned int uart5_pins[] = { +MX31_PIN_PC_RST__CTS5 , +MX31_PIN_PC_VS2__RTS5 , +MX31_PIN_PC_BVD2__TXD5 , +MX31_PIN_PC_BVD1__RXD5 , +}; + +static inline void mx31bug_init_imx_uart (void ) +{ +mxc_iomux_setup_multiple_pins (uart5_pins, +ARRAY_SIZE (uart5_pins),"uart-4" ); +imx31_add_imx_uart4 (&uart_pdata); +} + +/*! +* Board specific initialization. +*/ +static void __init mx31bug_board_init (void ) +{ +mx31bug_init_imx_uart (); +} + + +static void __init mx31bug_timer_init (void ) +{ +mx31_clocks_init (26000000 );
arch/arm/mach-mx3/mach-mx31bugbase.c line 71
Quoted 10 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +10
-0+} + +static struct sys_timer mx31bug_timer = { + .init = mx31bug_timer_init, +}; + +MACHINE_START (BUG ,"BugLabs BUGBase" ) + .boot_params = MX3x_PHYS_OFFSET + 0x100, + .map_io = mx31_map_io, + .init_early = imx31_init_early,
here slipped some spaces in
arch/arm/mach-mx3/mach-mx31bugbase.c line 73
Quoted 2 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +2
-0+ .init_irq = mx31_init_irq, + .timer = &mx31bug_timer,
dito
Quoted 15 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +2
-0+ .init_machine = mx31bug_board_init, +MACHINE_END arch/arm/plat-mxc/include/mach/uncompress.h +1
-0@@ -62,6 +62,7 @@ static inline void flush(void)#define MX2X_UART1_BASE_ADDR 0x1000a000#define MX3X_UART1_BASE_ADDR 0x43F90000#define MX3X_UART2_BASE_ADDR 0x43F94000 +#define MX3X_UART5_BASE_ADDR 0x43FB4000#define MX51_UART1_BASE_ADDR 0x73fbc000#define MX50_UART1_BASE_ADDR 0x53fbc000#define MX53_UART1_BASE_ADDR 0x53fbc000
arch/arm/plat-mxc/include/mach/uncompress.h static __inline__ void __arch_decomp_setup(unsigned long arch_id) · line 111
Quoted 9 lines
arch/arm/plat-mxc/include/mach/uncompress.h +3
-0@@ -102,6 +103,9 @@ static __inline__ void __arch_decomp_setup(unsigned long arch_id)case MACH_TYPE_MAGX_ZN5 : uart_base =MX3X_UART2_BASE_ADDR ;break ; +case MACH_TYPE_BUG : + uart_base =MX3X_UART5_BASE_ADDR ; +break ;case MACH_TYPE_MX51_BABBAGE :case MACH_TYPE_EUKREA_CPUIMX51SD :case MACH_TYPE_MX51_3DS :
Marc
Signature · 12 lines
Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de | -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 262 bytes Desc: OpenPGP digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20110211/d522a02e/attachment.sig>
PATCH 1/1 mx31: add support for the bugbase 1.3 from buglabs
Quoted 5 lines · Marc Kleine-Budde
here slipped some spaces in
arch/arm/mach-mx3/mach-mx31bugbase.c line 73
Quoted 2 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +2
-0+ .init_irq = mx31_init_irq, + .timer = &mx31bug_timer,dito
Sorry, I looked carefully after such errors at first,
before sending the first patch,
but then I forgot to look after it when fixing what the comments pointed out.
I'll fix it in the new patch I'll resend, I'll try to find how to make git-send-email send a v3 too(last time I failed, because I looked for some command that did it on some wiki that was not very up to date)
Denis.
PATCH 1/1 mx31: add support for the bugbase 1.3 from buglabs
In reply to Denis 'GNUtoo' CarikliQuoted 41 lines · Denis 'GNUtoo' Carikli
This work was based on bug-linux-2.6.30.patch that can be found
in buglabs's svn here:
svn://bugcamp.net/bug/branches/izzy/experimentalNote that the hardware schematics and documentations can be obtained
here: http://www.bugcommunity.com/wiki/index.php/BUGbaseSigned-off-by Denis 'GNUtoo' Carikli <[email protected]>--- arch/arm/mach-mx3/Kconfig | 9 +++ arch/arm/mach-mx3/Makefile | 1 + arch/arm/mach-mx3/mach-mx31bugbase.c | 75 +++++++++++++++++++++++++++ arch/arm/plat-mxc/include/mach/uncompress.h | 4 ++ 4 files changed, 89 insertions(+), 0 deletions(-) create mode 100644 arch/arm/mach-mx3/mach-mx31bugbase.carch/arm/mach-mx3/Kconfig +9
-0@@ -199,6 +199,15 @@ config MACH_KZM_ARM11_01 Include support for KZM-ARM11-01. This includes specific configurations for the board and its peripherals. +config MACH_BUG + bool "Support Buglabs BUGBase platform" + select SOC_IMX31 + select IMX_HAVE_PLATFORM_IMX_UART + default y + help + Include support for BUGBase 1.3 platform. This includes specific + configurations for the board and its peripherals. + config MACH_EUKREA_CPUIMX35 bool "Support Eukrea CPUIMX35 Platform" select SOC_IMX35arch/arm/mach-mx3/Makefile +0
-0
arch/arm/mach-mx3/Makefile obj-$(CONFIG_MACH_PCM043) += mach-pcm043.o · line 23
Quoted 4 lines
arch/arm/mach-mx3/Makefile +1
-0@@ -20,6 +20,7 @@ obj-$(CONFIG_MACH_PCM043) += mach-pcm043.o obj-$(CONFIG_MACH_ARMADILLO5X0) += mach-armadillo5x0.o obj-$(CONFIG_MACH_MX35_3DS) += mach-mx35_3ds.o obj-$(CONFIG_MACH_KZM_ARM11_01) += mach-kzm_arm11_01.o +obj-$(CONFIG_MACH_BUG) += mach-mx31bugbase.o
I'd like to have the file name matching the MACH variable. That is mach-bug.c
Quoted 33 lines
arch/arm/mach-mx3/Makefile +0
-0obj-$(CONFIG_MACH_EUKREA_CPUIMX35) += mach-cpuimx35.o obj-$(CONFIG_MACH_EUKREA_MBIMXSD35_BASEBOARD) += eukrea_mbimxsd-baseboard.o obj-$(CONFIG_MACH_VPR200) += mach-vpr200.oarch/arm/mach-mx3/mach-mx31bugbase.c new file +24
-0@@ -0,0 +1,75 @@ +/* +* Copyright (C) 2000 Deep Blue Solutions Ltd +* Copyright (C) 2002 Shane Nay (shane at minirl.com) +* Copyright 2005-2007 Freescale Semiconductor, Inc. All Rights Reserved. +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +*/ + +#include <linux/kernel.h> +#include <linux/init.h> +#include <linux/platform_device.h> + +#include <mach/iomux-mx3.h> +#include <mach/imx-uart.h> +#include <mach/hardware.h> +#include <mach/common.h>
arch/arm/mach-mx3/mach-mx31bugbase.c line 34
Quoted 10 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +10
-0+ +#include <asm/mach/time.h> +#include <asm/mach/arch.h> +#include <asm/mach-types.h> + +#include "devices-imx31.h" + +static struct imxuart_platform_data uart_pdata = { + .flags =IMXUART_HAVE_RTSCTS , +};
can be const and __initconst and lacks a prefix
arch/arm/mach-mx3/mach-mx31bugbase.c line 41
Quoted 7 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +7
-0+ +static unsigned int uart5_pins[] = { +MX31_PIN_PC_RST__CTS5 , +MX31_PIN_PC_VS2__RTS5 , +MX31_PIN_PC_BVD2__TXD5 , +MX31_PIN_PC_BVD1__RXD5 , +};
can be const and __initconst and lacks a prefix, but see below.
arch/arm/mach-mx3/mach-mx31bugbase.c line 48
Quoted 7 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +7
-0+ +static inline void mx31bug_init_imx_uart (void ) +{ +mxc_iomux_setup_multiple_pins (uart5_pins, +ARRAY_SIZE (uart5_pins),"uart-4" ); +imx31_add_imx_uart4 (&uart_pdata); +}
can be __init. I'd prefer a prefix of bug, not mx31bug, because that matches the machine id.
arch/arm/mach-mx3/mach-mx31bugbase.c line 50
Quoted 2 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +2
-0+ +/*!
no doxygen style comments in the kernel please
arch/arm/mach-mx3/mach-mx31bugbase.c line 55
Quoted 5 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +5
-0+* Board specific initialization. +*/ +static void __init mx31bug_board_init (void ) +{ +mx31bug_init_imx_uart ();
I assume your machine doesn't only have an uart. If so, I'd suggest to rename uart5_pins (which lacks a prefix btw) to mx31bug_pins and put the mxc_iomux_setup_multiple_pins into mx31bug_board_init. Then mx31bug_init_imx_uart only has imx31_add_imx_uart4 which then can better go directly into mx31bug_board_init, too.
arch/arm/mach-mx3/mach-mx31bugbase.c line 57
Quoted 3 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +3
-0+} + +
You can remove one of these two empty lines.
arch/arm/mach-mx3/mach-mx31bugbase.c line 69
Quoted 11 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +11
-0+static void __init mx31bug_timer_init (void ) +{ +mx31_clocks_init (26000000 ); +} + +static struct sys_timer mx31bug_timer = { + .init = mx31bug_timer_init, +}; + +MACHINE_START (BUG ,"BugLabs BUGBase" ) + .boot_params = MX3x_PHYS_OFFSET + 0x100,
BTW, if you have a decent bootloader, you don't need this line.
arch/arm/mach-mx3/mach-mx31bugbase.c line 74
Quoted 5 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +5
-0+ .map_io = mx31_map_io, + .init_early = imx31_init_early, + .init_irq = mx31_init_irq, + .timer = &mx31bug_timer, + .init_machine = mx31bug_board_init,
please use tabs consistently for indention. And if you use a single space before the = here (which is totally ok, even prefered by me), then do the same in mx31bug_timer, please.
Quoted 15 lines
arch/arm/mach-mx3/mach-mx31bugbase.c new file +1
-0+MACHINE_END arch/arm/plat-mxc/include/mach/uncompress.h +1
-0@@ -62,6 +62,7 @@ static inline void flush(void)#define MX2X_UART1_BASE_ADDR 0x1000a000#define MX3X_UART1_BASE_ADDR 0x43F90000#define MX3X_UART2_BASE_ADDR 0x43F94000 +#define MX3X_UART5_BASE_ADDR 0x43FB4000#define MX51_UART1_BASE_ADDR 0x73fbc000#define MX50_UART1_BASE_ADDR 0x53fbc000#define MX53_UART1_BASE_ADDR 0x53fbc000
arch/arm/plat-mxc/include/mach/uncompress.h static __inline__ void __arch_decomp_setup(unsigned long arch_id) · line 111
Quoted 9 lines
arch/arm/plat-mxc/include/mach/uncompress.h +3
-0@@ -102,6 +103,9 @@ static __inline__ void __arch_decomp_setup(unsigned long arch_id)case MACH_TYPE_MAGX_ZN5 : uart_base =MX3X_UART2_BASE_ADDR ;break ; +case MACH_TYPE_BUG : + uart_base =MX3X_UART5_BASE_ADDR ; +break ;case MACH_TYPE_MX51_BABBAGE :case MACH_TYPE_EUKREA_CPUIMX51SD :case MACH_TYPE_MX51_3DS :
Thanks
Uwe
Signature · 2 lines
Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ |
PATCH v3 1/1 mx31: add support for the bugbase 1.3 from buglabs
This work was based on bug-linux-2.6.30.patch that can be found
in buglabs's svn here:
svn://bugcamp.net/bug/branches/izzy/experimental
Note that the hardware schematics and documentations can be obtained
here: http://www.bugcommunity.com/wiki/index.php/BUGbase
--- arch/arm/mach-mx3/Kconfig | 9 ++++ arch/arm/mach-mx3/Makefile | 1 + arch/arm/mach-mx3/mach-bug.c | 66 +++++++++++++++++++++++++++ arch/arm/plat-mxc/include/mach/uncompress.h | 4 ++ 4 files changed, 80 insertions(+), 0 deletions(-) create mode 100644 arch/arm/mach-mx3/mach-bug.c
arch/arm/mach-mx3/Kconfig +9 -0
@@ -199,6 +199,15 @@ config MACH_KZM_ARM11_01 Include support for KZM-ARM11-01. This includes specific configurations for the board and its peripherals. +config MACH_BUG + bool "Support Buglabs BUGBase platform" + select SOC_IMX31 + select IMX_HAVE_PLATFORM_IMX_UART + default y + help + Include support for BUGBase 1.3 platform. This includes specific + configurations for the board and its peripherals. + config MACH_EUKREA_CPUIMX35 bool "Support Eukrea CPUIMX35 Platform" select SOC_IMX35
arch/arm/mach-mx3/Makefile +1 -0
@@ -20,6 +20,7 @@ obj-$(CONFIG_MACH_PCM043) += mach-pcm043.o obj-$(CONFIG_MACH_ARMADILLO5X0) += mach-armadillo5x0.o obj-$(CONFIG_MACH_MX35_3DS) += mach-mx35_3ds.o obj-$(CONFIG_MACH_KZM_ARM11_01) += mach-kzm_arm11_01.o +obj-$(CONFIG_MACH_BUG) += mach-bug.o obj-$(CONFIG_MACH_EUKREA_CPUIMX35) += mach-cpuimx35.o obj-$(CONFIG_MACH_EUKREA_MBIMXSD35_BASEBOARD) += eukrea_mbimxsd-baseboard.o obj-$(CONFIG_MACH_VPR200) += mach-vpr200.o
arch/arm/mach-mx3/mach-bug.c new file +66 -0
66 lines not on this page · raw message
arch/arm/plat-mxc/include/mach/uncompress.h +4 -0
@@ -62,6 +62,7 @@ static inline void flush(void)#define MX2X_UART1_BASE_ADDR 0x1000a000#define MX3X_UART1_BASE_ADDR 0x43F90000#define MX3X_UART2_BASE_ADDR 0x43F94000 +#define MX3X_UART5_BASE_ADDR 0x43FB4000#define MX51_UART1_BASE_ADDR 0x73fbc000#define MX50_UART1_BASE_ADDR 0x53fbc000#define MX53_UART1_BASE_ADDR 0x53fbc000
@@ -102,6 +103,9 @@ static __inline__ void __arch_decomp_setup(unsigned long arch_id)case MACH_TYPE_MAGX_ZN5 : uart_base =MX3X_UART2_BASE_ADDR ;break ; +case MACH_TYPE_BUG : + uart_base =MX3X_UART5_BASE_ADDR ; +break ;case MACH_TYPE_MX51_BABBAGE :case MACH_TYPE_EUKREA_CPUIMX51SD :case MACH_TYPE_MX51_3DS :
Signature · 1 line
1.7.0.4
PATCH v3 1/1 mx31: add support for the bugbase 1.3 from buglabs
Hi Denis,
Quoted 8 lines · Denis 'GNUtoo' Carikli
This work was based on bug-linux-2.6.30.patch that can be found
in buglabs's svn here:
svn://bugcamp.net/bug/branches/izzy/experimentalNote that the hardware schematics and documentations can be obtained
here: http://www.bugcommunity.com/wiki/index.php/BUGbaseSigned-off-by Denis 'GNUtoo' Carikli <[email protected]>
The patch looks good to me now. If you want to make me still more happy, there are still two minor things to optimize:
- don't reference the history of the patch in the commit log. This is quite useless once the commit made it into Linus' tree. (The info might still be interesting, but then put it after the tripple dash below. Then it won't make it into git.)
- there is a trailing empty line in bug_board_init()
Maybe Sascha can fix this up when taking the patch? (Assuming the others are happy now, too of course.)
And I wonder there is no copyright statement by you in arch/arm/mach-mx3/mach-bug.c, maybe because you consider your changes too minor to be relevant? (INAL and I don't know who to value your contribution.)
Best regards
Uwe
Signature · 2 lines
Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ |
PATCH v3 1/1 mx31: add support for the bugbase 1.3 from buglabs
Quoted 2 lines · On Sun, 13 Feb 2011 22:18:55 +0100 Uwe Kleine-K?nig…
Maybe Sascha can fix this up when taking the patch? (Assuming the others are happy now, too of course.)
That would be great, because I'll be travelling tommorow and won't be able to modify the patch soon.
Quoted 5 lines
And I wonder there is no copyright statement by you in
arch/arm/mach-mx3/mach-bug.c, maybe because you consider your changes too minor to be relevant? (INAL and I don't know who to value your contribution.)
yes,that's what I tought...I'd be happy to have my name in the copyrights,however I'm not sure the contribution is relevant enough...still it was quite some work for
me (rebasing,debugging,upstrem ajustements).
There was a thread about that with the nexus one support from Daniel Walker in the msm mailing list...I don't have it off hand because I'm on a mobile device.
Thanks a lot for the review!!!
Denis
PATCH v3 1/1 mx31: add support for the bugbase 1.3 from buglabs
In reply to Uwe Kleine-KönigQuoted 4 lines
And I wonder there is no copyright statement by you in
arch/arm/mach-mx3/mach-bug.c, maybe because you consider your changes too minor to be relevant? (INAL and I don't know who to value your contribution.)
Here is the thread:
http://thread.gmane.org/gmane.linux.ports.arm.msm/122
What should I do? can I add my own name too?
Denis.
PATCH v3 1/1 mx31: add support for the bugbase 1.3 from buglabs
Quoted 6 lines · Denis 'GNUtoo' Carikli
Quoted 4 lines
And I wonder there is no copyright statement by you in
arch/arm/mach-mx3/mach-bug.c, maybe because you consider your changes too minor to be relevant? (INAL and I don't know who to value your contribution.)Here is the thread:
http://thread.gmane.org/gmane.linux.ports.arm.msm/122
read that, too.
Quoted 2 lines
What should I do? can I add my own name too?
I don't care much. These machine files are more or less trivial, and as I said, INAL. But I would be surprised if you would be kicked in a similar way for adding a copyright to "your" machine file. I think its is quite usual to add one's own copyright.
Best regards
Uwe
Signature · 2 lines
Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ |
PATCH v3 1/1 mx31: add support for the bugbase 1.3 from buglabs
In reply to Denis 'GNUtoo' CarikliNo problems for that on our end Denis.
thx
ken
2011/2/17 Denis 'GNUtoo' Carikli <[email protected]>
Quoted 17 lines
Quoted 4 lines
And I wonder there is no copyright statement by you in
arch/arm/mach-mx3/mach-bug.c, maybe because you consider your changes too minor to be relevant? (INAL and I don't know who to value your contribution.)Here is the thread:
http://thread.gmane.org/gmane.linux.ports.arm.msm/122What should I do? can I add my own name too?
Denis.
_______________________________________________
bug-dev mailing list
bug-dev at lists.buglabs.net
http://lists.buglabs.net/cgi-bin/mailman/listinfo/bug-dev
Signature · 5 lines
thx ken -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20110217/91e473a2/attachment-0001.html>
PATCH 1/1 mx31: add support for the bugbase 1.3 from buglabs
In reply to Uwe Kleine-KönigNote that the hardware schematics and documentations can be obtained
here: http://www.bugcommunity.com/wiki/index.php/BUGbase
--- arch/arm/mach-mx3/Kconfig | 9 ++++ arch/arm/mach-mx3/Makefile | 1 + arch/arm/mach-mx3/mach-bug.c | 66 +++++++++++++++++++++++++++ arch/arm/plat-mxc/include/mach/uncompress.h | 4 ++ 4 files changed, 80 insertions(+), 0 deletions(-) create mode 100644 arch/arm/mach-mx3/mach-bug.c
arch/arm/mach-mx3/Kconfig +9 -0
@@ -160,6 +160,15 @@ config MACH_KZM_ARM11_01 Include support for KZM-ARM11-01. This includes specific configurations for the board and its peripherals. +config MACH_BUG + bool "Support Buglabs BUGBase platform" + select SOC_IMX31 + select IMX_HAVE_PLATFORM_IMX_UART + default y + help + Include support for BUGBase 1.3 platform. This includes specific + configurations for the board and its peripherals. + config MACH_EUKREA_CPUIMX35 bool "Support Eukrea CPUIMX35 Platform" select ARCH_MX35
arch/arm/mach-mx3/Makefile +1 -0
@@ -23,5 +23,6 @@ obj-$(CONFIG_MACH_PCM043) += mach-pcm043.o obj-$(CONFIG_MACH_ARMADILLO5X0) += mach-armadillo5x0.o obj-$(CONFIG_MACH_MX35_3DS) += mach-mx35_3ds.o obj-$(CONFIG_MACH_KZM_ARM11_01) += mach-kzm_arm11_01.o +obj-$(CONFIG_MACH_BUG) += mach-bug.o obj-$(CONFIG_MACH_EUKREA_CPUIMX35) += mach-cpuimx35.o obj-$(CONFIG_MACH_EUKREA_MBIMXSD35_BASEBOARD) += eukrea_mbimxsd-baseboard.o
arch/arm/mach-mx3/mach-bug.c new file +66 -0
66 lines not on this page · raw message
arch/arm/plat-mxc/include/mach/uncompress.h +4 -0
@@ -62,6 +62,7 @@ static inline void flush(void)#define MX2X_UART1_BASE_ADDR 0x1000a000#define MX3X_UART1_BASE_ADDR 0x43F90000#define MX3X_UART2_BASE_ADDR 0x43F94000 +#define MX3X_UART5_BASE_ADDR 0x43FB4000#define MX51_UART1_BASE_ADDR 0x73fbc000static __inline__void __arch_decomp_setup (unsigned long arch_id)
@@ -98,6 +99,9 @@ static __inline__ void __arch_decomp_setup(unsigned long arch_id)case MACH_TYPE_MAGX_ZN5 : uart_base =MX3X_UART2_BASE_ADDR ;break ; +case MACH_TYPE_BUG : + uart_base =MX3X_UART5_BASE_ADDR ; +break ;case MACH_TYPE_MX51_BABBAGE :case MACH_TYPE_EUKREA_CPUIMX51SD : uart_base =MX51_UART1_BASE_ADDR ;
Signature · 1 line
1.7.0.4
PATCH 1/1 mx31: add support for the bugbase 1.3 from buglabs
Quoted 5 lines · Denis 'GNUtoo' Carikli
Note that the hardware schematics and documentations can be obtained
here: http://www.bugcommunity.com/wiki/index.php/BUGbaseSigned-off-by Denis 'GNUtoo' Carikli <[email protected]>---
As you didn't provide these and before someone else does the same, here come the changes compared to v3:
- moved "config MACH_BUG" further to the top of arch/arm/mach-mx3/Kconfig
- add a copyright statement in arch/arm/mach-mx3/mach-bug.c
- removed an empty line
- s/\t=/ =/ in the initializer of bug_timer
I don't know why you moved config MACH_BUG, but I don't care much.
Best regards
Uwe
Signature · 2 lines
Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ |