Skip to contentSkip to conversation

ARM: tegra: paz00 patches for 2.6.40

PATCH Superseded Marc Dietrich 3 participants 11 messages May 19, 2011 – Jul 12, 2011

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

v2 cover ARM: tegra: paz00 patches for 2.6.40

Hi Collin, Olof,

the following patches are intended for 2.6.40 merge. They are mostly similar to the TrimSlice patches sent by Mike a few days ago.

We are still stuggling with the sound codec (alc5632) and the nvec, so there is nothing to connect to the i2c yet. On the other hand, I'm wondering what's up with the atd7461 included in most (all?) boards. It's compatible with lm90, but the driver will never register because of the wrong name.

May I ask if there is some timeline for framebuffer integration? A netbook without display is of not much use (ok, same holds for keyboard/mouse).

Thanks!

Marc

Changes in V2:
- add some more blurb to the commit messages
- change the machine to some neater name (patch 5)
- enable the wifi board during boot (patch 6)

Marc Dietrich (6):
ARM: tegra: paz00: whitespace cleanup
ARM: tegra: paz00: register i2c busses
ARM: tegra: paz00: enable usb ports
ARM: tegra: paz00: cleanup sdhci ports
ARM: tegra: paz00: change the machine name
ARM: tegra: paz00: enable wifi card

 arch/arm/mach-tegra/board-paz00-pinmux.c |   12 ++--
 arch/arm/mach-tegra/board-paz00.c        |   96 ++++++++++++++++++++++++++----
 arch/arm/mach-tegra/board-paz00.h        |   17 ++++--
 3 files changed, 102 insertions(+), 23 deletions(-)
Signature · 1 line
1.7.4.2
#1 lore raw

PATCH v2 1/6 ARM: tegra: paz00: whitespace cleanup

This patch replaces long sequences of spaces by tabs and tabs by spaces were appropriate.

---
 arch/arm/mach-tegra/board-paz00-pinmux.c |   12 ++++++------
 arch/arm/mach-tegra/board-paz00.h        |   12 ++++++------
 2 files changed, 12 insertions(+), 12 deletions(-)
arch/arm/mach-tegra/board-paz00-pinmux.c +6 -6
index 2643d1b..d2faa50 100644
@@ -141,12 +141,12 @@ static struct tegra_pingroup_config paz00_pinmux[] = {
 };
 
 static struct tegra_gpio_table gpio_table[] = {
-	{ .gpio = TEGRA_GPIO_SD1_CD,	.enable = true	},
-	{ .gpio = TEGRA_GPIO_SD1_WP,	.enable = true	},
-	{ .gpio = TEGRA_GPIO_SD1_POWER,	.enable = true	},
-	{ .gpio = TEGRA_GPIO_SD4_CD,	.enable = true	},
-	{ .gpio = TEGRA_GPIO_SD4_WP,	.enable = true	},
-	{ .gpio = TEGRA_GPIO_SD4_POWER,	.enable = true	},
+	{ .gpio = TEGRA_GPIO_SD1_CD,	.enable = true },
+	{ .gpio = TEGRA_GPIO_SD1_WP,	.enable = true },
+	{ .gpio = TEGRA_GPIO_SD1_POWER,	.enable = true },
+	{ .gpio = TEGRA_GPIO_SD4_CD,	.enable = true },
+	{ .gpio = TEGRA_GPIO_SD4_WP,	.enable = true },
+	{ .gpio = TEGRA_GPIO_SD4_POWER,	.enable = true },
 };
 
 void paz00_pinmux_init(void)
arch/arm/mach-tegra/board-paz00.h +6 -6
index da193ca7..221ce9c 100644
@@ -17,12 +17,12 @@
 #ifndef _MACH_TEGRA_BOARD_PAZ00_H
 #define _MACH_TEGRA_BOARD_PAZ00_H
 
-#define TEGRA_GPIO_SD1_CD               TEGRA_GPIO_PV5
-#define TEGRA_GPIO_SD1_WP               TEGRA_GPIO_PH1
-#define TEGRA_GPIO_SD1_POWER            TEGRA_GPIO_PT3
-#define TEGRA_GPIO_SD4_CD               TEGRA_GPIO_PH2
-#define TEGRA_GPIO_SD4_WP               TEGRA_GPIO_PH3
-#define TEGRA_GPIO_SD4_POWER            TEGRA_GPIO_PI6
+#define TEGRA_GPIO_SD1_CD		TEGRA_GPIO_PV5
+#define TEGRA_GPIO_SD1_WP		TEGRA_GPIO_PH1
+#define TEGRA_GPIO_SD1_POWER		TEGRA_GPIO_PT3
+#define TEGRA_GPIO_SD4_CD		TEGRA_GPIO_PH2
+#define TEGRA_GPIO_SD4_WP		TEGRA_GPIO_PH3
+#define TEGRA_GPIO_SD4_POWER		TEGRA_GPIO_PI6
 
 void paz00_pinmux_init(void);
 
Signature · 1 line
1.7.4.2
#2 lore raw

PATCH v2 2/6 ARM: tegra: paz00: register i2c busses

In reply to Marc Dietrich

This adds support for the i2c busses on paz00. The 3rd bus is reserved for the nvec, which acts as master and i2c-tegra has not yet support for this kind of operation.
The sound codec (alc5632) is connected to the first bus and will be added once the codec and glue driver is upstream.
The thermal sensor (atd7461) is connected to dvc as usual, but will not be added now because i2c-tegra still misses probe support (needs I2C_FUNC_SMBUS_EMUL).

---
 arch/arm/mach-tegra/board-paz00.c |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)
arch/arm/mach-tegra/board-paz00.c +27 -0
index 57e50a8..5f1c110 100644
@@ -25,6 +25,8 @@
 #include <linux/dma-mapping.h>
 #include <linux/pda_power.h>
 #include <linux/io.h>
+#include <linux/i2c.h>
+#include <linux/i2c-tegra.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
@@ -70,6 +72,29 @@ static struct platform_device *paz00_devices[] __initdata = {
 	&tegra_sdhci_device4,
 };
 
+static struct tegra_i2c_platform_data paz00_i2c1_platform_data = {
+	.bus_clk_rate   = 400000,
+};
+
+static struct tegra_i2c_platform_data paz00_i2c2_platform_data = {
+	.bus_clk_rate   = 400000,
+};
+
+static struct tegra_i2c_platform_data paz00_dvc_platform_data = {
+	.bus_clk_rate   = 400000,
+};
+
+static void paz00_i2c_init(void)
+{
+	tegra_i2c_device1.dev.platform_data = &paz00_i2c1_platform_data;
+	tegra_i2c_device2.dev.platform_data = &paz00_i2c2_platform_data;
+	tegra_i2c_device4.dev.platform_data = &paz00_dvc_platform_data;
+
+	platform_device_register(&tegra_i2c_device1);
+	platform_device_register(&tegra_i2c_device2);
+	platform_device_register(&tegra_i2c_device4);
+}
+
 static void __init tegra_paz00_fixup(struct machine_desc *desc,
 	struct tag *tags, char **cmdline, struct meminfo *mi)
 {
@@ -115,6 +140,8 @@ static void __init tegra_paz00_init(void)
 	tegra_sdhci_device4.dev.platform_data = &sdhci_pdata4;
 
 	platform_add_devices(paz00_devices, ARRAY_SIZE(paz00_devices));
+
+	paz00_i2c_init();
 }
 
 MACHINE_START(PAZ00, "paz00")
Signature · 1 line
1.7.4.2
#3 lore raw

PATCH v2 3/6 ARM: tegra: paz00: enable usb ports

In reply to Marc Dietrich

This patch add support for the second and third ehci bus on paz00. The first bus needs gadget and nvec support and will be added once the needed patches are upstream.

---
 arch/arm/mach-tegra/board-paz00-pinmux.c |    1 +
 arch/arm/mach-tegra/board-paz00.c        |   35 +++++++++++++++++++++++++++++-
 arch/arm/mach-tegra/board-paz00.h        |    1 +
 3 files changed, 36 insertions(+), 1 deletions(-)
arch/arm/mach-tegra/board-paz00-pinmux.c +1 -0
index d2faa50..acee62e 100644
@@ -147,6 +147,7 @@ static struct tegra_gpio_table gpio_table[] = {
 	{ .gpio = TEGRA_GPIO_SD4_CD,	.enable = true },
 	{ .gpio = TEGRA_GPIO_SD4_WP,	.enable = true },
 	{ .gpio = TEGRA_GPIO_SD4_POWER,	.enable = true },
+	{ .gpio = TEGRA_ULPI_RST,	.enable = true },
 };
 
 void paz00_pinmux_init(void)
arch/arm/mach-tegra/board-paz00.c +34 -1
index 5f1c110..e1e1959 100644
@@ -27,6 +27,7 @@
 #include <linux/io.h>
 #include <linux/i2c.h>
 #include <linux/i2c-tegra.h>
+#include <linux/platform_data/tegra_usb.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
@@ -36,6 +37,8 @@
 #include <mach/iomap.h>
 #include <mach/irqs.h>
 #include <mach/sdhci.h>
+#include <mach/usb_phy.h>
+#include <mach/gpio.h>
 
 #include "board.h"
 #include "board-paz00.h"
@@ -95,6 +98,36 @@ static void paz00_i2c_init(void)
 	platform_device_register(&tegra_i2c_device4);
 }
 
+static struct tegra_ulpi_config ulpi_phy_config = {
+		.reset_gpio = TEGRA_ULPI_RST,
+		.clk = "cdev2",
+};
+
+static struct tegra_ehci_platform_data tegra_ehci_pdata[] = {
+		[0] = {
+			.operating_mode = TEGRA_USB_OTG,
+			.power_down_on_bus_suspend = 1,
+		},
+		[1] = {
+			.phy_config = &ulpi_phy_config,
+			.operating_mode = TEGRA_USB_HOST,
+			.power_down_on_bus_suspend = 1,
+		},
+		[2] = {
+			.operating_mode = TEGRA_USB_HOST,
+			.power_down_on_bus_suspend = 1,
+		},
+};
+
+static void paz00_usb_init(void)
+{
+	tegra_ehci2_device.dev.platform_data = &tegra_ehci_pdata[1];
+	tegra_ehci3_device.dev.platform_data = &tegra_ehci_pdata[2];
+
+	platform_device_register(&tegra_ehci2_device);
+	platform_device_register(&tegra_ehci3_device);
+}
+
 static void __init tegra_paz00_fixup(struct machine_desc *desc,
 	struct tag *tags, char **cmdline, struct meminfo *mi)
 {
@@ -109,7 +142,6 @@ static __initdata struct tegra_clk_init_table paz00_clk_init_table[] = {
 	{ NULL,		NULL,		0,		0},
 };
 
-
 static struct tegra_sdhci_platform_data sdhci_pdata1 = {
 	.cd_gpio	= TEGRA_GPIO_SD1_CD,
 	.wp_gpio	= TEGRA_GPIO_SD1_WP,
@@ -142,6 +174,7 @@ static void __init tegra_paz00_init(void)
 	platform_add_devices(paz00_devices, ARRAY_SIZE(paz00_devices));
 
 	paz00_i2c_init();
+	paz00_usb_init();
 }
 
 MACHINE_START(PAZ00, "paz00")
arch/arm/mach-tegra/board-paz00.h +1 -0
index 221ce9c..6b0b733 100644
@@ -23,6 +23,7 @@
 #define TEGRA_GPIO_SD4_CD		TEGRA_GPIO_PH2
 #define TEGRA_GPIO_SD4_WP		TEGRA_GPIO_PH3
 #define TEGRA_GPIO_SD4_POWER		TEGRA_GPIO_PI6
+#define TEGRA_ULPI_RST			TEGRA_GPIO_PV0
 
 void paz00_pinmux_init(void);
 
Signature · 1 line
1.7.4.2
#4 lore raw

PATCH v2 4/6 ARM: tegra: paz00: cleanup sdhci ports

In reply to Marc Dietrich

The internal storage has no gpios connected to. Also the second port is not connected at all, so remove it from the board file.

---
 arch/arm/mach-tegra/board-paz00-pinmux.c |    3 ---
 arch/arm/mach-tegra/board-paz00.c        |   10 +---------
 arch/arm/mach-tegra/board-paz00.h        |    3 ---
 3 files changed, 1 insertions(+), 15 deletions(-)
arch/arm/mach-tegra/board-paz00-pinmux.c +0 -3
index acee62e..bdd2627 100644
@@ -144,9 +144,6 @@ static struct tegra_gpio_table gpio_table[] = {
 	{ .gpio = TEGRA_GPIO_SD1_CD,	.enable = true },
 	{ .gpio = TEGRA_GPIO_SD1_WP,	.enable = true },
 	{ .gpio = TEGRA_GPIO_SD1_POWER,	.enable = true },
-	{ .gpio = TEGRA_GPIO_SD4_CD,	.enable = true },
-	{ .gpio = TEGRA_GPIO_SD4_WP,	.enable = true },
-	{ .gpio = TEGRA_GPIO_SD4_POWER,	.enable = true },
 	{ .gpio = TEGRA_ULPI_RST,	.enable = true },
 };
 
arch/arm/mach-tegra/board-paz00.c +1 -9
index e1e1959..7fdc409 100644
@@ -71,7 +71,6 @@ static struct platform_device debug_uart = {
 static struct platform_device *paz00_devices[] __initdata = {
 	&debug_uart,
 	&tegra_sdhci_device1,
-	&tegra_sdhci_device2,
 	&tegra_sdhci_device4,
 };
 
@@ -148,16 +147,10 @@ static struct tegra_sdhci_platform_data sdhci_pdata1 = {
 	.power_gpio	= TEGRA_GPIO_SD1_POWER,
 };
 
-static struct tegra_sdhci_platform_data sdhci_pdata2 = {
+static struct tegra_sdhci_platform_data sdhci_pdata4 = {
 	.cd_gpio	= -1,
 	.wp_gpio	= -1,
 	.power_gpio	= -1,
-};
-
-static struct tegra_sdhci_platform_data sdhci_pdata4 = {
-	.cd_gpio	= TEGRA_GPIO_SD4_CD,
-	.wp_gpio	= TEGRA_GPIO_SD4_WP,
-	.power_gpio	= TEGRA_GPIO_SD4_POWER,
 	.is_8bit	= 1,
 };
 
@@ -168,7 +161,6 @@ static void __init tegra_paz00_init(void)
 	paz00_pinmux_init();
 
 	tegra_sdhci_device1.dev.platform_data = &sdhci_pdata1;
-	tegra_sdhci_device2.dev.platform_data = &sdhci_pdata2;
 	tegra_sdhci_device4.dev.platform_data = &sdhci_pdata4;
 
 	platform_add_devices(paz00_devices, ARRAY_SIZE(paz00_devices));
arch/arm/mach-tegra/board-paz00.h +0 -3
index 6b0b733..d4ff39d 100644
@@ -20,9 +20,6 @@
 #define TEGRA_GPIO_SD1_CD		TEGRA_GPIO_PV5
 #define TEGRA_GPIO_SD1_WP		TEGRA_GPIO_PH1
 #define TEGRA_GPIO_SD1_POWER		TEGRA_GPIO_PT3
-#define TEGRA_GPIO_SD4_CD		TEGRA_GPIO_PH2
-#define TEGRA_GPIO_SD4_WP		TEGRA_GPIO_PH3
-#define TEGRA_GPIO_SD4_POWER		TEGRA_GPIO_PI6
 #define TEGRA_ULPI_RST			TEGRA_GPIO_PV0
 
 void paz00_pinmux_init(void);
Signature · 1 line
1.7.4.2
#5 lore raw

PATCH v2 5/6 ARM: tegra: paz00: change the machine name

In reply to Marc Dietrich

This renames "paz00" in MACHINE_START macro to a neater string. PAZ00 seems to have been the Compal internal project name, while PROCYON looks like Toshiba project name.
Anyway, the AC100 support package in Ubuntu needs the new naming to identify the machine.

---
 arch/arm/mach-tegra/board-paz00.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/mach-tegra/board-paz00.c +1 -1
index 7fdc409..1b076f6 100644
@@ -169,7 +169,7 @@ static void __init tegra_paz00_init(void)
 	paz00_usb_init();
 }
 
-MACHINE_START(PAZ00, "paz00")
+MACHINE_START(PAZ00, "Toshiba AC100 / Dynabook AZ")
 	.boot_params	= 0x00000100,
 	.fixup		= tegra_paz00_fixup,
 	.map_io         = tegra_map_common_io,
Signature · 1 line
1.7.4.2
#6 lore raw

PATCH v2 6/6 ARM: tegra: paz00: enable wifi card

In reply to Marc Dietrich

The Wifi card attached to one usb port needs to be unkilled. The corresponding gpio and also the gpio for the LED are exported to be controlled by userspace later on.

---
 arch/arm/mach-tegra/board-paz00-pinmux.c |    2 ++
 arch/arm/mach-tegra/board-paz00.c        |   22 ++++++++++++++++++++++
 arch/arm/mach-tegra/board-paz00.h        |    7 +++++++
 3 files changed, 31 insertions(+), 0 deletions(-)
arch/arm/mach-tegra/board-paz00-pinmux.c +2 -0
index bdd2627..41a6304 100644
@@ -145,6 +145,8 @@ static struct tegra_gpio_table gpio_table[] = {
 	{ .gpio = TEGRA_GPIO_SD1_WP,	.enable = true },
 	{ .gpio = TEGRA_GPIO_SD1_POWER,	.enable = true },
 	{ .gpio = TEGRA_ULPI_RST,	.enable = true },
+	{ .gpio = TEGRA_WIFI_PWRN,	.enable = true },
+	{ .gpio = TEGRA_WIFI_LED,	.enable = true },
 };
 
 void paz00_pinmux_init(void)
arch/arm/mach-tegra/board-paz00.c +22 -0
index 1b076f6..c78ef4c 100644
@@ -135,6 +135,27 @@ static void __init tegra_paz00_fixup(struct machine_desc *desc,
 	mi->bank[0].size = 448 * SZ_1M;
 }
 
+static void __init paz00_wifi_init(void)
+{
+	int ret;
+
+	/* unlock hw rfkill */
+	ret = gpio_request_one(TEGRA_WIFI_PWRN, GPIOF_OUT_INIT_HIGH,
+			"wifi_pwrn");
+	if(ret) {
+		pr_warning("WIFI: could not request PWRN gpio!\n");
+		return;
+	}
+	gpio_export(TEGRA_WIFI_PWRN, 0);
+
+	/* export wifi led */
+	ret = gpio_request_one(TEGRA_WIFI_LED, GPIOF_OUT_INIT_HIGH,
+			"wifi_led");
+	if(ret)
+		pr_warning("WIFI: could not request LED gpio!\n");
+	gpio_export(TEGRA_WIFI_LED, 0);
+}
+
 static __initdata struct tegra_clk_init_table paz00_clk_init_table[] = {
 	/* name		parent		rate		enabled */
 	{ "uartd",	"pll_p",	216000000,	true },
@@ -167,6 +188,7 @@ static void __init tegra_paz00_init(void)
 
 	paz00_i2c_init();
 	paz00_usb_init();
+	paz00_wifi_init();
 }
 
 MACHINE_START(PAZ00, "Toshiba AC100 / Dynabook AZ")
arch/arm/mach-tegra/board-paz00.h +7 -0
index d4ff39d..a49543a 100644
@@ -17,11 +17,18 @@
 #ifndef _MACH_TEGRA_BOARD_PAZ00_H
 #define _MACH_TEGRA_BOARD_PAZ00_H
 
+/* SDMMC */
 #define TEGRA_GPIO_SD1_CD		TEGRA_GPIO_PV5
 #define TEGRA_GPIO_SD1_WP		TEGRA_GPIO_PH1
 #define TEGRA_GPIO_SD1_POWER		TEGRA_GPIO_PT3
+
+/* ULPI */
 #define TEGRA_ULPI_RST			TEGRA_GPIO_PV0
 
+/* Wifi */
+#define TEGRA_WIFI_LED			TEGRA_GPIO_PD0
+#define TEGRA_WIFI_PWRN			TEGRA_GPIO_PK5
+
 void paz00_pinmux_init(void);
 
 #endif
Signature · 1 line
1.7.4.2
#7 lore raw

PATCH 6/6 ARM: tegra: paz00: enable wifi card

Quoted 5 lines · Marc Dietrich

The Wifi card attached to one usb port needs to be unkilled. The corresponding gpio and also the gpio for the LED are exported to be controlled by userspace later on.

[snip]

arch/arm/mach-tegra/board-paz00.c static void __init tegra_paz00_fixup(struct machine_desc *desc, · line 149

Quoted 12 lines
arch/arm/mach-tegra/board-paz00.c +12 -0
+static void __init paz00_wifi_init(void)
+{
+	int ret;
+
+	/* unlock hw rfkill */
+	ret = gpio_request_one(TEGRA_WIFI_PWRN, GPIOF_OUT_INIT_HIGH,
+			"wifi_pwrn");
+	if(ret) {
+		pr_warning("WIFI: could not request PWRN gpio!\n");
+		return;
+	}
+	gpio_export(TEGRA_WIFI_PWRN, 0);

Although enabling wifi on boot may be OK for now, I think in long term it would be better and more proper to use rfkill infrastructure for this instead of just exporting gpio to userspace. There were some patches for gpio-based rfkill switch floating around lately. This is one the versions:
https://lkml.org/lkml/2011/5/6/372
Not sure about their status and if they are directly suitable for PAZ00, but you may have a look. Btw, there's also another mostly generic gpio-rfkill driver in the tree I'm aware of - see arch/arm/mach-pxa/tosa-bt.c

arch/arm/mach-tegra/board-paz00.c static void __init tegra_paz00_fixup(struct machine_desc *desc, · line 156

Quoted 7 lines
arch/arm/mach-tegra/board-paz00.c +7 -0
+
+	/* export wifi led */
+	ret = gpio_request_one(TEGRA_WIFI_LED, GPIOF_OUT_INIT_HIGH,
+			"wifi_led");
+	if(ret)
+		pr_warning("WIFI: could not request LED gpio!\n");
+	gpio_export(TEGRA_WIFI_LED, 0);

For LED I think it's better to register gpio-leds platform device with something like 'rfkill.0' or 'wifi-rx' or whatever as a default trigger (not sure about exact names of triggers - you'll need to look up them). That way you will get a wide choice of led triggers for free, and still retain possibility of manual driving leds from userspace.

Signature · 2 lines
Best regards,
Dmitry "MAD" Artamonow
#8 lore raw

PATCH v2 6/6 ARM: tegra: paz00: enable wifi card

Hi Dmitry,

Quoted 23 lines · Marc Dietrich
Quoted 5 lines

The Wifi card attached to one usb port needs to be unkilled. The corresponding gpio and also the gpio for the LED are exported to be controlled by userspace later on.

[snip]

arch/arm/mach-tegra/board-paz00.c static void __init tegra_paz00_fixup(struct machine_desc *desc, · line 149

Quoted 12 lines
arch/arm/mach-tegra/board-paz00.c +12 -0
+static void __init paz00_wifi_init(void)
+{
+	int ret;
+
+	/* unlock hw rfkill */
+	ret = gpio_request_one(TEGRA_WIFI_PWRN, GPIOF_OUT_INIT_HIGH,
+			"wifi_pwrn");
+	if(ret) {
+		pr_warning("WIFI: could not request PWRN gpio!\n");
+		return;
+	}
+	gpio_export(TEGRA_WIFI_PWRN, 0);

Although enabling wifi on boot may be OK for now, I think in long term

Quoted 8 lines

it would be better and more proper to use rfkill infrastructure for this instead of just exporting gpio to userspace. There were some patches for gpio-based rfkill switch floating around lately. This is one the versions:
https://lkml.org/lkml/2011/5/6/372
Not sure about their status and if they are directly suitable for PAZ00, but you may have a look. Btw, there's also another mostly generic gpio-rfkill driver in the tree I'm aware of - see arch/arm/mach-pxa/tosa-bt.c

yes, proper rfkill support is on my ToDo list. As it seems, the rt2x00 driver which we are using also has some initial support for gpio based rfkill. I guess I need some more time to sort this out.

Quoted 5 lines
Quoted 5 lines
arch/arm/mach-tegra/board-paz00.c +5 -0
+
+	/* export wifi led */
+	ret = gpio_request_one(TEGRA_WIFI_LED, GPIOF_OUT_INIT_HIGH,
+			"wifi_led");
+	if(ret)
Quoted 8 lines

arch/arm/mach-tegra/board-paz00.c static void __init tegra_paz00_fixup(struct machine_desc *desc, · line 156

Quoted 2 lines
arch/arm/mach-tegra/board-paz00.c +2 -0
+		pr_warning("WIFI: could not request LED gpio!\n");
+	gpio_export(TEGRA_WIFI_LED, 0);

For LED I think it's better to register gpio-leds platform device with something like 'rfkill.0' or 'wifi-rx' or whatever as a default trigger (not sure about exact names of triggers - you'll need to look up them). That way you will get a wide choice of led triggers for free, and still retain possibility of manual driving leds from userspace.

There are surely better ways to do this. Luckily, we got some more time to rework this because the tegra board changes were put to "hold" status. Expect some new version in a few weeks.

Colin, first sorry that I misspelled your name serveral times. I swear it will not happen again.

Second, please don't apply this patch to the for-next tree. I will resend a new version which better integrates into the kernel subsystem.

Thanks for your comments!

Marc

#9 lore raw

v2 cover ARM: tegra: paz00 patches for 2.6.40

In reply to Marc Dietrich
Quoted 31 lines · Marc Dietrich

Hi Collin, Olof,

the following patches are intended for 2.6.40 merge. They are mostly similar to the TrimSlice patches sent by Mike a few days ago.

We are still stuggling with the sound codec (alc5632) and the nvec, so there is nothing to connect to the i2c yet. On the other hand, I'm wondering what's up with the atd7461 included in most (all?) boards. It's compatible with lm90, but the driver will never register because of the wrong name.

May I ask if there is some timeline for framebuffer integration? A netbook without display is of not much use (ok, same holds for keyboard/mouse).

Thanks!

Marc

Changes in V2:
? ?- add some more blurb to the commit messages ? ?- change the machine to some neater name (patch 5) ? ?- enable the wifi board during boot (patch 6)

Marc Dietrich (6):
?ARM: tegra: paz00: whitespace cleanup
?ARM: tegra: paz00: register i2c busses
?ARM: tegra: paz00: enable usb ports
?ARM: tegra: paz00: cleanup sdhci ports
?ARM: tegra: paz00: change the machine name
?ARM: tegra: paz00: enable wifi card

Quoted 9 lines
?arch/arm/mach-tegra/board-paz00-pinmux.c | ? 12 ++--
?arch/arm/mach-tegra/board-paz00.c ? ? ? ?| ? 96 ++++++++++++++++++++++++++----
?arch/arm/mach-tegra/board-paz00.h ? ? ? ?| ? 17 ++++--

?3 files changed, 102 insertions(+), 23 deletions(-)

--
1.7.4.2

I pushed this series to for-next, except for patch 6 "ARM: tegra:
paz00: enable wifi card".

I have some cleanup patches that go on top to reduce some of the duplicate platform data added by trimslice and paz00, I'd appreciate a tested-by once I post those.

#10 lore raw

v2 cover ARM: tegra: paz00 patches for 2.6.40

Collin,

Am Sun, 10 Jul 2011 15:14:33 -0700
schrieb Colin Cross <[email protected]>:

Quoted 7 lines
Quoted 5 lines · Marc Dietrich

Hi Collin, Olof,

the following patches are intended for 2.6.40 merge. They are mostly similar to the TrimSlice patches sent by Mike a few days ago.

Quoted 8 lines
Quoted 1 line

...

I pushed this series to for-next, except for patch 6 "ARM: tegra:
paz00: enable wifi card".

I have some cleanup patches that go on top to reduce some of the duplicate platform data added by trimslice and paz00, I'd appreciate a tested-by once I post those.

thanks for taking care of this. I'm currently in busy holidays and can't read my mail frequently. Anyway, I'll try my best to test the cleanup patches or ask another person from the AC100 team to check.

I also have a replacement for the wifi patch in work which I'll send out as soon as possible.

Thanks

Marc