* [PATCH v7 0/3] Add support for tegra2 based ventana board
@ 2011-10-03 13:18 Peter De Schrijver
2011-10-03 13:18 ` [PATCH v7 1/3] arm/tegra: prepare Seaboard pinmux code for derived boards Peter De Schrijver
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Peter De Schrijver @ 2011-10-03 13:18 UTC (permalink / raw)
To: pdeschrijver
Cc: Russell King, Colin Cross, Erik Gilling, Olof Johansson,
linux-arm-kernel, linux-kernel, linux-tegra
This patch set adds support for the tegra2 based ventana development board.
Boot tested on ventana.
Uses a table based approach to select the correct init function.
Fix some compiler errors.
Peter De Schrijver (3):
arm/tegra: prepare Seaboard pinmux code for derived boards
arm/tegra: add support for ventana pinmuxing
arm/tegra: device tree support for ventana board
arch/arm/boot/dts/tegra-ventana.dts | 32 ++++++++++++++
arch/arm/mach-tegra/Kconfig | 6 +++
arch/arm/mach-tegra/Makefile | 1 +
arch/arm/mach-tegra/Makefile.boot | 1 +
arch/arm/mach-tegra/board-dt.c | 5 ++-
arch/arm/mach-tegra/board-seaboard-pinmux.c | 63 ++++++++++++++++++++++++---
6 files changed, 101 insertions(+), 7 deletions(-)
create mode 100644 arch/arm/boot/dts/tegra-ventana.dts
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH v7 1/3] arm/tegra: prepare Seaboard pinmux code for derived boards 2011-10-03 13:18 [PATCH v7 0/3] Add support for tegra2 based ventana board Peter De Schrijver @ 2011-10-03 13:18 ` Peter De Schrijver 2011-10-03 13:18 ` [PATCH v7 2/3] arm/tegra: add support for ventana pinmuxing Peter De Schrijver ` (2 subsequent siblings) 3 siblings, 0 replies; 9+ messages in thread From: Peter De Schrijver @ 2011-10-03 13:18 UTC (permalink / raw) To: pdeschrijver Cc: Russell King, Colin Cross, Erik Gilling, Olof Johansson, linux-arm-kernel, linux-kernel, linux-tegra This patch splits out the common part of pinmux and GPIO initialization for seaboard and derived boards. This code is based on work done by Jong Kim <jongk@nvidia.com>. Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> --- arch/arm/mach-tegra/board-seaboard-pinmux.c | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-tegra/board-seaboard-pinmux.c b/arch/arm/mach-tegra/board-seaboard-pinmux.c index 74f78b7..b31c765 100644 --- a/arch/arm/mach-tegra/board-seaboard-pinmux.c +++ b/arch/arm/mach-tegra/board-seaboard-pinmux.c @@ -1,5 +1,6 @@ /* - * Copyright (C) 2010 NVIDIA Corporation + * Copyright (C) 2010,2011 NVIDIA Corporation + * Copyright (C) 2011 Google, Inc. * * This software is licensed under the terms of the GNU General Public * License version 2, as published by the Free Software Foundation, and @@ -160,7 +161,7 @@ static __initdata struct tegra_pingroup_config seaboard_pinmux[] = { -static struct tegra_gpio_table gpio_table[] = { +static struct tegra_gpio_table common_gpio_table[] = { { .gpio = TEGRA_GPIO_SD2_CD, .enable = true }, { .gpio = TEGRA_GPIO_SD2_WP, .enable = true }, { .gpio = TEGRA_GPIO_SD2_POWER, .enable = true }, @@ -171,12 +172,17 @@ static struct tegra_gpio_table gpio_table[] = { { .gpio = TEGRA_GPIO_USB1, .enable = true }, }; -void __init seaboard_pinmux_init(void) +static void __init seaboard_common_pinmux_init(void) { tegra_pinmux_config_table(seaboard_pinmux, ARRAY_SIZE(seaboard_pinmux)); tegra_drive_pinmux_config_table(seaboard_drive_pinmux, ARRAY_SIZE(seaboard_drive_pinmux)); - tegra_gpio_config(gpio_table, ARRAY_SIZE(gpio_table)); + tegra_gpio_config(common_gpio_table, ARRAY_SIZE(common_gpio_table)); +} + +void __init seaboard_pinmux_init(void) +{ + seaboard_common_pinmux_init(); } -- 1.7.7.rc0.72.g4b5ea.dirty ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v7 2/3] arm/tegra: add support for ventana pinmuxing 2011-10-03 13:18 [PATCH v7 0/3] Add support for tegra2 based ventana board Peter De Schrijver 2011-10-03 13:18 ` [PATCH v7 1/3] arm/tegra: prepare Seaboard pinmux code for derived boards Peter De Schrijver @ 2011-10-03 13:18 ` Peter De Schrijver 2011-10-03 13:18 ` [PATCH v7 3/3] arm/tegra: device tree support for ventana board Peter De Schrijver 2011-10-07 18:00 ` [PATCH v7 0/3] Add support for tegra2 based " Stephen Warren 3 siblings, 0 replies; 9+ messages in thread From: Peter De Schrijver @ 2011-10-03 13:18 UTC (permalink / raw) To: pdeschrijver Cc: Russell King, Colin Cross, Erik Gilling, Olof Johansson, linux-arm-kernel, linux-kernel, linux-tegra Add support for ventana pinmuxing as a seaboard derivative. This is a cut down version of work done by Jong Kim <jongk@nvidia.com>. Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> --- arch/arm/mach-tegra/Makefile | 1 + arch/arm/mach-tegra/board-seaboard-pinmux.c | 49 +++++++++++++++++++++++++- 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-tegra/Makefile b/arch/arm/mach-tegra/Makefile index f11b910..91a07e1 100644 --- a/arch/arm/mach-tegra/Makefile +++ b/arch/arm/mach-tegra/Makefile @@ -31,6 +31,7 @@ obj-${CONFIG_MACH_SEABOARD} += board-seaboard-pinmux.o obj-${CONFIG_MACH_TEGRA_DT} += board-dt.o obj-${CONFIG_MACH_TEGRA_DT} += board-harmony-pinmux.o +obj-${CONFIG_MACH_TEGRA_DT} += board-seaboard-pinmux.o obj-${CONFIG_MACH_TRIMSLICE} += board-trimslice.o obj-${CONFIG_MACH_TRIMSLICE} += board-trimslice-pinmux.o diff --git a/arch/arm/mach-tegra/board-seaboard-pinmux.c b/arch/arm/mach-tegra/board-seaboard-pinmux.c index b31c765..b62b04d 100644 --- a/arch/arm/mach-tegra/board-seaboard-pinmux.c +++ b/arch/arm/mach-tegra/board-seaboard-pinmux.c @@ -158,8 +158,26 @@ static __initdata struct tegra_pingroup_config seaboard_pinmux[] = { {TEGRA_PINGROUP_XM2D, TEGRA_MUX_NONE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, }; - - +static __initdata struct tegra_pingroup_config ventana_pinmux[] = { + {TEGRA_PINGROUP_DAP3, TEGRA_MUX_DAP3, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, + {TEGRA_PINGROUP_DDC, TEGRA_MUX_RSVD2, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, + {TEGRA_PINGROUP_DTA, TEGRA_MUX_VI, TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL}, + {TEGRA_PINGROUP_DTB, TEGRA_MUX_VI, TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL}, + {TEGRA_PINGROUP_DTC, TEGRA_MUX_VI, TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL}, + {TEGRA_PINGROUP_DTD, TEGRA_MUX_VI, TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL}, + {TEGRA_PINGROUP_GMD, TEGRA_MUX_SFLASH, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, + {TEGRA_PINGROUP_LPW0, TEGRA_MUX_RSVD4, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, + {TEGRA_PINGROUP_LPW2, TEGRA_MUX_RSVD4, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, + {TEGRA_PINGROUP_LSC1, TEGRA_MUX_RSVD4, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, + {TEGRA_PINGROUP_LSCK, TEGRA_MUX_RSVD4, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, + {TEGRA_PINGROUP_LSDA, TEGRA_MUX_RSVD4, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, + {TEGRA_PINGROUP_PTA, TEGRA_MUX_RSVD2, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, + {TEGRA_PINGROUP_SLXC, TEGRA_MUX_SDIO3, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, + {TEGRA_PINGROUP_SLXK, TEGRA_MUX_SDIO3, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, + {TEGRA_PINGROUP_SPIA, TEGRA_MUX_GMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, + {TEGRA_PINGROUP_SPIC, TEGRA_MUX_GMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, + {TEGRA_PINGROUP_SPIG, TEGRA_MUX_SPI2_ALT, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, +}; static struct tegra_gpio_table common_gpio_table[] = { { .gpio = TEGRA_GPIO_SD2_CD, .enable = true }, @@ -172,6 +190,26 @@ static struct tegra_gpio_table common_gpio_table[] = { { .gpio = TEGRA_GPIO_USB1, .enable = true }, }; +static void __init update_pinmux(struct tegra_pingroup_config *newtbl, int size) +{ + int i, j; + struct tegra_pingroup_config *new_pingroup, *base_pingroup; + + /* Update base seaboard pinmux table with secondary board + * specific pinmux table table. + */ + for (i = 0; i < size; i++) { + new_pingroup = &newtbl[i]; + for (j = 0; j < ARRAY_SIZE(seaboard_pinmux); j++) { + base_pingroup = &seaboard_pinmux[j]; + if (new_pingroup->pingroup == base_pingroup->pingroup) { + *base_pingroup = *new_pingroup; + break; + } + } + } +} + static void __init seaboard_common_pinmux_init(void) { tegra_pinmux_config_table(seaboard_pinmux, ARRAY_SIZE(seaboard_pinmux)); @@ -186,3 +224,10 @@ void __init seaboard_pinmux_init(void) { seaboard_common_pinmux_init(); } + +void __init ventana_pinmux_init(void) +{ + update_pinmux(ventana_pinmux, ARRAY_SIZE(ventana_pinmux)); + seaboard_common_pinmux_init(); +} + -- 1.7.7.rc0.72.g4b5ea.dirty ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v7 3/3] arm/tegra: device tree support for ventana board 2011-10-03 13:18 [PATCH v7 0/3] Add support for tegra2 based ventana board Peter De Schrijver 2011-10-03 13:18 ` [PATCH v7 1/3] arm/tegra: prepare Seaboard pinmux code for derived boards Peter De Schrijver 2011-10-03 13:18 ` [PATCH v7 2/3] arm/tegra: add support for ventana pinmuxing Peter De Schrijver @ 2011-10-03 13:18 ` Peter De Schrijver 2011-10-07 18:04 ` Stephen Warren 2011-10-07 18:00 ` [PATCH v7 0/3] Add support for tegra2 based " Stephen Warren 3 siblings, 1 reply; 9+ messages in thread From: Peter De Schrijver @ 2011-10-03 13:18 UTC (permalink / raw) To: pdeschrijver Cc: Russell King, Colin Cross, Erik Gilling, Olof Johansson, linux-arm-kernel, linux-kernel, linux-tegra Change-Id: I5ed18750e6a8aa3242dae4bcd7165cfd819356d2 Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> --- arch/arm/boot/dts/tegra-ventana.dts | 32 ++++++++++++++++++++++++++++++++ arch/arm/mach-tegra/Kconfig | 6 ++++++ arch/arm/mach-tegra/Makefile.boot | 1 + arch/arm/mach-tegra/board-dt.c | 26 +++++++++++++++++++++----- 4 files changed, 60 insertions(+), 5 deletions(-) create mode 100644 arch/arm/boot/dts/tegra-ventana.dts diff --git a/arch/arm/boot/dts/tegra-ventana.dts b/arch/arm/boot/dts/tegra-ventana.dts new file mode 100644 index 0000000..9b29a62 --- /dev/null +++ b/arch/arm/boot/dts/tegra-ventana.dts @@ -0,0 +1,32 @@ +/dts-v1/; + +/memreserve/ 0x1c000000 0x04000000; +/include/ "tegra20.dtsi" + +/ { + model = "NVIDIA Tegra2 Ventana evaluation board"; + compatible = "nvidia,ventana", "nvidia,tegra20"; + + chosen { + bootargs = "vmalloc=192M video=tegrafb console=ttyS0,115200n8 root=/dev/ram rdinit=/sbin/init"; + }; + + memory { + reg = < 0x00000000 0x40000000 >; + }; + + serial@70006300 { + clock-frequency = < 216000000 >; + }; + + sdhci@c8000400 { + cd-gpios = <&gpio 69 0>; /* gpio PI5 */ + wp-gpios = <&gpio 57 0>; /* gpio PH1 */ + power-gpios = <&gpio 155 0>; /* gpio PT3 */ + }; + + sdhci@c8000600 { + power-gpios = <&gpio 70 0>; /* gpio PI6 */ + support-8bit; + }; +}; diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig index d82ebab..91aff7c 100644 --- a/arch/arm/mach-tegra/Kconfig +++ b/arch/arm/mach-tegra/Kconfig @@ -69,6 +69,12 @@ config MACH_WARIO help Support for the Wario version of Seaboard +config MACH_VENTANA + bool "Ventana board" + select MACH_TEGRA_DT + help + Support for the nVidia Ventana development platform + choice prompt "Low-level debug console UART" default TEGRA_DEBUG_UART_NONE diff --git a/arch/arm/mach-tegra/Makefile.boot b/arch/arm/mach-tegra/Makefile.boot index 5e870d2..bd12c9f 100644 --- a/arch/arm/mach-tegra/Makefile.boot +++ b/arch/arm/mach-tegra/Makefile.boot @@ -4,3 +4,4 @@ initrd_phys-$(CONFIG_ARCH_TEGRA_2x_SOC) := 0x00800000 dtb-$(CONFIG_MACH_HARMONY) += tegra-harmony.dtb dtb-$(CONFIG_MACH_SEABOARD) += tegra-seaboard.dtb +dtb-$(CONFIG_MACH_VENTANA) += tegra-ventana.dtb diff --git a/arch/arm/mach-tegra/board-dt.c b/arch/arm/mach-tegra/board-dt.c index 9f47e04..1b4cf6e 100644 --- a/arch/arm/mach-tegra/board-dt.c +++ b/arch/arm/mach-tegra/board-dt.c @@ -47,7 +47,7 @@ void harmony_pinmux_init(void); void seaboard_pinmux_init(void); - +void ventana_pinmux_init(void); struct of_dev_auxdata tegra20_auxdata_lookup[] __initdata = { OF_DEV_AUXDATA("nvidia,tegra20-sdhci", TEGRA_SDMMC1_BASE, "sdhci-tegra.0", NULL), @@ -80,9 +80,19 @@ static struct of_device_id tegra_dt_gic_match[] __initdata = { {} }; +static struct { + char *machine; + void (*init)(void); +} pinmux_configs[] = { + { "nvidia,harmony", harmony_pinmux_init }, + { "nvidia,seaboard", seaboard_pinmux_init }, + { "nvidia,ventana", ventana_pinmux_init }, +}; + static void __init tegra_dt_init(void) { struct device_node *node; + int i; node = of_find_matching_node_by_address(NULL, tegra_dt_gic_match, TEGRA_ARM_INT_DIST_BASE); @@ -91,10 +101,15 @@ static void __init tegra_dt_init(void) tegra_clk_init_from_table(tegra_dt_clk_init_table); - if (of_machine_is_compatible("nvidia,harmony")) - harmony_pinmux_init(); - else if (of_machine_is_compatible("nvidia,seaboard")) - seaboard_pinmux_init(); + for (i = 0; i < ARRAY_SIZE(pinmux_configs); i++) { + if (of_machine_is_compatible(pinmux_configs[i].machine)) { + pinmux_configs[i].init(); + break; + } + } + + if (i == ARRAY_SIZE(pinmux_configs)) + printk(KERN_WARNING "Unknown platform! Pinmuxing not initialized\n"); /* * Finished with the static registrations now; fill in the missing @@ -106,6 +121,7 @@ static void __init tegra_dt_init(void) static const char * tegra_dt_board_compat[] = { "nvidia,harmony", "nvidia,seaboard", + "nvidia,ventana", NULL }; -- 1.7.7.rc0.72.g4b5ea.dirty ^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH v7 3/3] arm/tegra: device tree support for ventana board 2011-10-03 13:18 ` [PATCH v7 3/3] arm/tegra: device tree support for ventana board Peter De Schrijver @ 2011-10-07 18:04 ` Stephen Warren 2011-10-10 8:01 ` Peter De Schrijver 0 siblings, 1 reply; 9+ messages in thread From: Stephen Warren @ 2011-10-07 18:04 UTC (permalink / raw) To: Peter De Schrijver, Peter De Schrijver Cc: Russell King, Erik Gilling, linux-kernel, linux-tegra, Colin Cross, Olof Johansson, linux-arm-kernel Peter De Schrijver wrote at Monday, October 03, 2011 7:19 AM: ... > diff --git a/arch/arm/boot/dts/tegra-ventana.dts b/arch/arm/boot/dts/tegra-ventana.dts ... > + chosen { > + bootargs = "vmalloc=192M video=tegrafb console=ttyS0,115200n8 root=/dev/ram rdinit=/sbin/init"; It might be nice to make this identical to what Harmony and Seaboard have here. Still, it doesn't matter a lot, since I (and I imagine most people) have to edit this command-line to point at the correct partition for my disks anyway; eventually, U-Boot should be providing/re-writing this property too. ... > diff --git a/arch/arm/mach-tegra/board-dt.c b/arch/arm/mach-tegra/board-dt.c ... > - if (of_machine_is_compatible("nvidia,harmony")) > - harmony_pinmux_init(); > - else if (of_machine_is_compatible("nvidia,seaboard")) > - seaboard_pinmux_init(); > + for (i = 0; i < ARRAY_SIZE(pinmux_configs); i++) { > + if (of_machine_is_compatible(pinmux_configs[i].machine)) { > + pinmux_configs[i].init(); > + break; > + } > + } > + > + if (i == ARRAY_SIZE(pinmux_configs)) > + printk(KERN_WARNING "Unknown platform! Pinmuxing not initialized\n"); Should that be WARN() instead of printk? -- nvpublic ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v7 3/3] arm/tegra: device tree support for ventana board 2011-10-07 18:04 ` Stephen Warren @ 2011-10-10 8:01 ` Peter De Schrijver 2011-10-10 16:38 ` Stephen Warren 0 siblings, 1 reply; 9+ messages in thread From: Peter De Schrijver @ 2011-10-10 8:01 UTC (permalink / raw) To: Stephen Warren Cc: Russell King, Erik Gilling, linux-kernel, linux-tegra, Colin Cross, Olof Johansson, linux-arm-kernel On Fri, Oct 07, 2011 at 08:04:34PM +0200, Stephen Warren wrote: > Peter De Schrijver wrote at Monday, October 03, 2011 7:19 AM: > > ... > > diff --git a/arch/arm/boot/dts/tegra-ventana.dts b/arch/arm/boot/dts/tegra-ventana.dts > ... > > + chosen { > > + bootargs = "vmalloc=192M video=tegrafb console=ttyS0,115200n8 root=/dev/ram rdinit=/sbin/init"; > > It might be nice to make this identical to what Harmony and Seaboard have here. > > Still, it doesn't matter a lot, since I (and I imagine most people) have > to edit this command-line to point at the correct partition for my disks > anyway; eventually, U-Boot should be providing/re-writing this property > too. > > ... > > diff --git a/arch/arm/mach-tegra/board-dt.c b/arch/arm/mach-tegra/board-dt.c > ... > > - if (of_machine_is_compatible("nvidia,harmony")) > > - harmony_pinmux_init(); > > - else if (of_machine_is_compatible("nvidia,seaboard")) > > - seaboard_pinmux_init(); > > + for (i = 0; i < ARRAY_SIZE(pinmux_configs); i++) { > > + if (of_machine_is_compatible(pinmux_configs[i].machine)) { > > + pinmux_configs[i].init(); > > + break; > > + } > > + } > > + > > + if (i == ARRAY_SIZE(pinmux_configs)) > > + printk(KERN_WARNING "Unknown platform! Pinmuxing not initialized\n"); > > Should that be WARN() instead of printk? pr_warning() might be better. Or do we want a backtrace and a tainted kernel in this case? Cheers, Peter. ^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH v7 3/3] arm/tegra: device tree support for ventana board 2011-10-10 8:01 ` Peter De Schrijver @ 2011-10-10 16:38 ` Stephen Warren 0 siblings, 0 replies; 9+ messages in thread From: Stephen Warren @ 2011-10-10 16:38 UTC (permalink / raw) To: Peter De Schrijver Cc: Russell King, Erik Gilling, linux-kernel, linux-tegra, Colin Cross, Olof Johansson, linux-arm-kernel Peter De Schrijver wrote at Monday, October 10, 2011 2:01 AM: > On Fri, Oct 07, 2011 at 08:04:34PM +0200, Stephen Warren wrote: > > Peter De Schrijver wrote at Monday, October 03, 2011 7:19 AM: > > ... > > > diff --git a/arch/arm/mach-tegra/board-dt.c b/arch/arm/mach-tegra/board-dt.c > > ... > > > - if (of_machine_is_compatible("nvidia,harmony")) > > > - harmony_pinmux_init(); > > > - else if (of_machine_is_compatible("nvidia,seaboard")) > > > - seaboard_pinmux_init(); > > > + for (i = 0; i < ARRAY_SIZE(pinmux_configs); i++) { > > > + if (of_machine_is_compatible(pinmux_configs[i].machine)) { > > > + pinmux_configs[i].init(); > > > + break; > > > + } > > > + } > > > + > > > + if (i == ARRAY_SIZE(pinmux_configs)) > > > + printk(KERN_WARNING "Unknown platform! Pinmuxing not initialized\n"); > > > > Should that be WARN() instead of printk? > > pr_warning() might be better. Or do we want a backtrace and a tainted kernel > in this case? Well, tainting seems like a good idea. I'm less thrilled about the backtrace, but perhaps it is a good idea to bring attention to this condition. -- nvpublic ^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH v7 0/3] Add support for tegra2 based ventana board 2011-10-03 13:18 [PATCH v7 0/3] Add support for tegra2 based ventana board Peter De Schrijver ` (2 preceding siblings ...) 2011-10-03 13:18 ` [PATCH v7 3/3] arm/tegra: device tree support for ventana board Peter De Schrijver @ 2011-10-07 18:00 ` Stephen Warren 3 siblings, 0 replies; 9+ messages in thread From: Stephen Warren @ 2011-10-07 18:00 UTC (permalink / raw) To: Peter De Schrijver, Peter De Schrijver Cc: Russell King, Erik Gilling, linux-kernel, linux-tegra, Colin Cross, Olof Johansson, linux-arm-kernel Peter De Schrijver wrote at Monday, October 03, 2011 7:19 AM: > This patch set adds support for the tegra2 based ventana development board. > > Boot tested on ventana. With minor changes to the command-line in tegra-ventana.dts, to put the root fs on an SD card, and using mainline U-Boot with the Ventana patch series I wrote, Tested-by: Stephen Warren <swarren@nvidia.com> I have a couple of queries in patch 3 that I'll post separately. -- nvpublic ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v7 0/3] Add support for tegra2 based ventana board @ 2011-10-03 13:17 Peter De Schrijver 2011-10-03 13:17 ` [[PATCH v7] 1/3] arm/tegra: prepare Seaboard pinmux code for derived boards Peter De Schrijver 0 siblings, 1 reply; 9+ messages in thread From: Peter De Schrijver @ 2011-10-03 13:17 UTC (permalink / raw) To: pdeschrijver Cc: Russell King, Colin Cross, Erik Gilling, Olof Johansson, linux-arm-kernel, linux-kernel, linux-tegra This patch set adds support for the tegra2 based ventana development board. Boot tested on ventana. Uses a table based approach to select the correct init function. Fix some compiler errors. Peter De Schrijver (3): arm/tegra: prepare Seaboard pinmux code for derived boards arm/tegra: add support for ventana pinmuxing arm/tegra: device tree support for ventana board arch/arm/boot/dts/tegra-ventana.dts | 32 ++++++++++++++ arch/arm/mach-tegra/Kconfig | 6 +++ arch/arm/mach-tegra/Makefile | 1 + arch/arm/mach-tegra/Makefile.boot | 1 + arch/arm/mach-tegra/board-dt.c | 5 ++- arch/arm/mach-tegra/board-seaboard-pinmux.c | 63 ++++++++++++++++++++++++--- 6 files changed, 101 insertions(+), 7 deletions(-) create mode 100644 arch/arm/boot/dts/tegra-ventana.dts ^ permalink raw reply [flat|nested] 9+ messages in thread
* [[PATCH v7] 1/3] arm/tegra: prepare Seaboard pinmux code for derived boards 2011-10-03 13:17 Peter De Schrijver @ 2011-10-03 13:17 ` Peter De Schrijver 0 siblings, 0 replies; 9+ messages in thread From: Peter De Schrijver @ 2011-10-03 13:17 UTC (permalink / raw) To: pdeschrijver Cc: Russell King, Colin Cross, Erik Gilling, Olof Johansson, linux-arm-kernel, linux-kernel, linux-tegra This patch splits out the common part of pinmux and GPIO initialization for seaboard and derived boards. This code is based on work done by Jong Kim <jongk@nvidia.com>. Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> --- arch/arm/mach-tegra/board-seaboard-pinmux.c | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-tegra/board-seaboard-pinmux.c b/arch/arm/mach-tegra/board-seaboard-pinmux.c index 74f78b7..b31c765 100644 --- a/arch/arm/mach-tegra/board-seaboard-pinmux.c +++ b/arch/arm/mach-tegra/board-seaboard-pinmux.c @@ -1,5 +1,6 @@ /* - * Copyright (C) 2010 NVIDIA Corporation + * Copyright (C) 2010,2011 NVIDIA Corporation + * Copyright (C) 2011 Google, Inc. * * This software is licensed under the terms of the GNU General Public * License version 2, as published by the Free Software Foundation, and @@ -160,7 +161,7 @@ static __initdata struct tegra_pingroup_config seaboard_pinmux[] = { -static struct tegra_gpio_table gpio_table[] = { +static struct tegra_gpio_table common_gpio_table[] = { { .gpio = TEGRA_GPIO_SD2_CD, .enable = true }, { .gpio = TEGRA_GPIO_SD2_WP, .enable = true }, { .gpio = TEGRA_GPIO_SD2_POWER, .enable = true }, @@ -171,12 +172,17 @@ static struct tegra_gpio_table gpio_table[] = { { .gpio = TEGRA_GPIO_USB1, .enable = true }, }; -void __init seaboard_pinmux_init(void) +static void __init seaboard_common_pinmux_init(void) { tegra_pinmux_config_table(seaboard_pinmux, ARRAY_SIZE(seaboard_pinmux)); tegra_drive_pinmux_config_table(seaboard_drive_pinmux, ARRAY_SIZE(seaboard_drive_pinmux)); - tegra_gpio_config(gpio_table, ARRAY_SIZE(gpio_table)); + tegra_gpio_config(common_gpio_table, ARRAY_SIZE(common_gpio_table)); +} + +void __init seaboard_pinmux_init(void) +{ + seaboard_common_pinmux_init(); } -- 1.7.7.rc0.72.g4b5ea.dirty ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2011-10-10 16:39 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-10-03 13:18 [PATCH v7 0/3] Add support for tegra2 based ventana board Peter De Schrijver 2011-10-03 13:18 ` [PATCH v7 1/3] arm/tegra: prepare Seaboard pinmux code for derived boards Peter De Schrijver 2011-10-03 13:18 ` [PATCH v7 2/3] arm/tegra: add support for ventana pinmuxing Peter De Schrijver 2011-10-03 13:18 ` [PATCH v7 3/3] arm/tegra: device tree support for ventana board Peter De Schrijver 2011-10-07 18:04 ` Stephen Warren 2011-10-10 8:01 ` Peter De Schrijver 2011-10-10 16:38 ` Stephen Warren 2011-10-07 18:00 ` [PATCH v7 0/3] Add support for tegra2 based " Stephen Warren -- strict thread matches above, loose matches on Subject: below -- 2011-10-03 13:17 Peter De Schrijver 2011-10-03 13:17 ` [[PATCH v7] 1/3] arm/tegra: prepare Seaboard pinmux code for derived boards Peter De Schrijver
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®