* [PATCH 1/6] ARM: tegra: paz00: whitespace cleanup
2011-05-19 12:08 ` Marc Dietrich
@ 2011-05-19 12:08 ` Marc Dietrich
-1 siblings, 0 replies; 22+ messages in thread
From: Marc Dietrich @ 2011-05-19 12:08 UTC (permalink / raw)
To: Colin Cross
Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA, Olof Johansson,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
This patch replaces long sequences of spaces by tabs and tabs by
spaces were appropriate.
Signed-off-by: Marc Dietrich <marvin24-Mmb7MZpHnFY@public.gmane.org>
---
arch/arm/mach-tegra/board-paz00-pinmux.c | 12 ++++++------
arch/arm/mach-tegra/board-paz00.h | 12 ++++++------
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/arch/arm/mach-tegra/board-paz00-pinmux.c b/arch/arm/mach-tegra/board-paz00-pinmux.c
index 2643d1b..d2faa50 100644
--- a/arch/arm/mach-tegra/board-paz00-pinmux.c
+++ b/arch/arm/mach-tegra/board-paz00-pinmux.c
@@ -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)
diff --git a/arch/arm/mach-tegra/board-paz00.h b/arch/arm/mach-tegra/board-paz00.h
index da193ca7..221ce9c 100644
--- a/arch/arm/mach-tegra/board-paz00.h
+++ b/arch/arm/mach-tegra/board-paz00.h
@@ -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);
--
1.7.4.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 1/6] ARM: tegra: paz00: whitespace cleanup
@ 2011-05-19 12:08 ` Marc Dietrich
0 siblings, 0 replies; 22+ messages in thread
From: Marc Dietrich @ 2011-05-19 12:08 UTC (permalink / raw)
To: linux-arm-kernel
This patch replaces long sequences of spaces by tabs and tabs by
spaces were appropriate.
Signed-off-by: Marc Dietrich <marvin24@gmx.de>
---
arch/arm/mach-tegra/board-paz00-pinmux.c | 12 ++++++------
arch/arm/mach-tegra/board-paz00.h | 12 ++++++------
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/arch/arm/mach-tegra/board-paz00-pinmux.c b/arch/arm/mach-tegra/board-paz00-pinmux.c
index 2643d1b..d2faa50 100644
--- a/arch/arm/mach-tegra/board-paz00-pinmux.c
+++ b/arch/arm/mach-tegra/board-paz00-pinmux.c
@@ -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)
diff --git a/arch/arm/mach-tegra/board-paz00.h b/arch/arm/mach-tegra/board-paz00.h
index da193ca7..221ce9c 100644
--- a/arch/arm/mach-tegra/board-paz00.h
+++ b/arch/arm/mach-tegra/board-paz00.h
@@ -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);
--
1.7.4.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 2/6] ARM: tegra: paz00: register i2c busses
2011-05-19 12:08 ` Marc Dietrich
@ 2011-05-19 12:08 ` Marc Dietrich
-1 siblings, 0 replies; 22+ messages in thread
From: Marc Dietrich @ 2011-05-19 12:08 UTC (permalink / raw)
To: Colin Cross
Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA, Olof Johansson,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
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).
Signed-off-by: Marc Dietrich <marvin24-Mmb7MZpHnFY@public.gmane.org>
---
arch/arm/mach-tegra/board-paz00.c | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c
index 57e50a8..5f1c110 100644
--- a/arch/arm/mach-tegra/board-paz00.c
+++ b/arch/arm/mach-tegra/board-paz00.c
@@ -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")
--
1.7.4.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 2/6] ARM: tegra: paz00: register i2c busses
@ 2011-05-19 12:08 ` Marc Dietrich
0 siblings, 0 replies; 22+ messages in thread
From: Marc Dietrich @ 2011-05-19 12:08 UTC (permalink / raw)
To: linux-arm-kernel
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).
Signed-off-by: Marc Dietrich <marvin24@gmx.de>
---
arch/arm/mach-tegra/board-paz00.c | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c
index 57e50a8..5f1c110 100644
--- a/arch/arm/mach-tegra/board-paz00.c
+++ b/arch/arm/mach-tegra/board-paz00.c
@@ -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")
--
1.7.4.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 3/6] ARM: tegra: paz00: enable usb ports
2011-05-19 12:08 ` Marc Dietrich
@ 2011-05-19 12:08 ` Marc Dietrich
-1 siblings, 0 replies; 22+ messages in thread
From: Marc Dietrich @ 2011-05-19 12:08 UTC (permalink / raw)
To: Colin Cross
Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA, Olof Johansson,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
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.
Signed-off-by: Marc Dietrich <marvin24-Mmb7MZpHnFY@public.gmane.org>
---
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(-)
diff --git a/arch/arm/mach-tegra/board-paz00-pinmux.c b/arch/arm/mach-tegra/board-paz00-pinmux.c
index d2faa50..acee62e 100644
--- a/arch/arm/mach-tegra/board-paz00-pinmux.c
+++ b/arch/arm/mach-tegra/board-paz00-pinmux.c
@@ -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)
diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c
index 5f1c110..e1e1959 100644
--- a/arch/arm/mach-tegra/board-paz00.c
+++ b/arch/arm/mach-tegra/board-paz00.c
@@ -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")
diff --git a/arch/arm/mach-tegra/board-paz00.h b/arch/arm/mach-tegra/board-paz00.h
index 221ce9c..6b0b733 100644
--- a/arch/arm/mach-tegra/board-paz00.h
+++ b/arch/arm/mach-tegra/board-paz00.h
@@ -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);
--
1.7.4.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 3/6] ARM: tegra: paz00: enable usb ports
@ 2011-05-19 12:08 ` Marc Dietrich
0 siblings, 0 replies; 22+ messages in thread
From: Marc Dietrich @ 2011-05-19 12:08 UTC (permalink / raw)
To: linux-arm-kernel
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.
Signed-off-by: Marc Dietrich <marvin24@gmx.de>
---
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(-)
diff --git a/arch/arm/mach-tegra/board-paz00-pinmux.c b/arch/arm/mach-tegra/board-paz00-pinmux.c
index d2faa50..acee62e 100644
--- a/arch/arm/mach-tegra/board-paz00-pinmux.c
+++ b/arch/arm/mach-tegra/board-paz00-pinmux.c
@@ -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)
diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c
index 5f1c110..e1e1959 100644
--- a/arch/arm/mach-tegra/board-paz00.c
+++ b/arch/arm/mach-tegra/board-paz00.c
@@ -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")
diff --git a/arch/arm/mach-tegra/board-paz00.h b/arch/arm/mach-tegra/board-paz00.h
index 221ce9c..6b0b733 100644
--- a/arch/arm/mach-tegra/board-paz00.h
+++ b/arch/arm/mach-tegra/board-paz00.h
@@ -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);
--
1.7.4.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 4/6] ARM: tegra: paz00: cleanup sdhci ports
2011-05-19 12:08 ` Marc Dietrich
@ 2011-05-19 12:08 ` Marc Dietrich
-1 siblings, 0 replies; 22+ messages in thread
From: Marc Dietrich @ 2011-05-19 12:08 UTC (permalink / raw)
To: Colin Cross
Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA, Olof Johansson,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
The internal storage has no gpios connected to. Also the second
port is not connected at all, so remove it from the board file.
Signed-off-by: Marc Dietrich <marvin24-Mmb7MZpHnFY@public.gmane.org>
---
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(-)
diff --git a/arch/arm/mach-tegra/board-paz00-pinmux.c b/arch/arm/mach-tegra/board-paz00-pinmux.c
index acee62e..bdd2627 100644
--- a/arch/arm/mach-tegra/board-paz00-pinmux.c
+++ b/arch/arm/mach-tegra/board-paz00-pinmux.c
@@ -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 },
};
diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c
index e1e1959..7fdc409 100644
--- a/arch/arm/mach-tegra/board-paz00.c
+++ b/arch/arm/mach-tegra/board-paz00.c
@@ -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));
diff --git a/arch/arm/mach-tegra/board-paz00.h b/arch/arm/mach-tegra/board-paz00.h
index 6b0b733..d4ff39d 100644
--- a/arch/arm/mach-tegra/board-paz00.h
+++ b/arch/arm/mach-tegra/board-paz00.h
@@ -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);
--
1.7.4.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 4/6] ARM: tegra: paz00: cleanup sdhci ports
@ 2011-05-19 12:08 ` Marc Dietrich
0 siblings, 0 replies; 22+ messages in thread
From: Marc Dietrich @ 2011-05-19 12:08 UTC (permalink / raw)
To: linux-arm-kernel
The internal storage has no gpios connected to. Also the second
port is not connected at all, so remove it from the board file.
Signed-off-by: Marc Dietrich <marvin24@gmx.de>
---
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(-)
diff --git a/arch/arm/mach-tegra/board-paz00-pinmux.c b/arch/arm/mach-tegra/board-paz00-pinmux.c
index acee62e..bdd2627 100644
--- a/arch/arm/mach-tegra/board-paz00-pinmux.c
+++ b/arch/arm/mach-tegra/board-paz00-pinmux.c
@@ -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 },
};
diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c
index e1e1959..7fdc409 100644
--- a/arch/arm/mach-tegra/board-paz00.c
+++ b/arch/arm/mach-tegra/board-paz00.c
@@ -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));
diff --git a/arch/arm/mach-tegra/board-paz00.h b/arch/arm/mach-tegra/board-paz00.h
index 6b0b733..d4ff39d 100644
--- a/arch/arm/mach-tegra/board-paz00.h
+++ b/arch/arm/mach-tegra/board-paz00.h
@@ -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);
--
1.7.4.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 5/6] ARM: tegra: paz00: change the machine name
2011-05-19 12:08 ` Marc Dietrich
@ 2011-05-19 12:08 ` Marc Dietrich
-1 siblings, 0 replies; 22+ messages in thread
From: Marc Dietrich @ 2011-05-19 12:08 UTC (permalink / raw)
To: Colin Cross
Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA, Olof Johansson,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
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.
Signed-off-by: Marc Dietrich <marvin24-Mmb7MZpHnFY@public.gmane.org>
---
arch/arm/mach-tegra/board-paz00.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c
index 7fdc409..1b076f6 100644
--- a/arch/arm/mach-tegra/board-paz00.c
+++ b/arch/arm/mach-tegra/board-paz00.c
@@ -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,
--
1.7.4.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 5/6] ARM: tegra: paz00: change the machine name
@ 2011-05-19 12:08 ` Marc Dietrich
0 siblings, 0 replies; 22+ messages in thread
From: Marc Dietrich @ 2011-05-19 12:08 UTC (permalink / raw)
To: linux-arm-kernel
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.
Signed-off-by: Marc Dietrich <marvin24@gmx.de>
---
arch/arm/mach-tegra/board-paz00.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c
index 7fdc409..1b076f6 100644
--- a/arch/arm/mach-tegra/board-paz00.c
+++ b/arch/arm/mach-tegra/board-paz00.c
@@ -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,
--
1.7.4.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 6/6] ARM: tegra: paz00: enable wifi card
2011-05-19 12:08 ` Marc Dietrich
@ 2011-05-19 12:08 ` Marc Dietrich
-1 siblings, 0 replies; 22+ messages in thread
From: Marc Dietrich @ 2011-05-19 12:08 UTC (permalink / raw)
To: Colin Cross
Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA, Olof Johansson,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
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.
Signed-off-by: Marc Dietrich <marvin24-Mmb7MZpHnFY@public.gmane.org>
---
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(-)
diff --git a/arch/arm/mach-tegra/board-paz00-pinmux.c b/arch/arm/mach-tegra/board-paz00-pinmux.c
index bdd2627..41a6304 100644
--- a/arch/arm/mach-tegra/board-paz00-pinmux.c
+++ b/arch/arm/mach-tegra/board-paz00-pinmux.c
@@ -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)
diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c
index 1b076f6..c78ef4c 100644
--- a/arch/arm/mach-tegra/board-paz00.c
+++ b/arch/arm/mach-tegra/board-paz00.c
@@ -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")
diff --git a/arch/arm/mach-tegra/board-paz00.h b/arch/arm/mach-tegra/board-paz00.h
index d4ff39d..a49543a 100644
--- a/arch/arm/mach-tegra/board-paz00.h
+++ b/arch/arm/mach-tegra/board-paz00.h
@@ -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
--
1.7.4.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 6/6] ARM: tegra: paz00: enable wifi card
@ 2011-05-19 12:08 ` Marc Dietrich
0 siblings, 0 replies; 22+ messages in thread
From: Marc Dietrich @ 2011-05-19 12:08 UTC (permalink / raw)
To: linux-arm-kernel
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.
Signed-off-by: Marc Dietrich <marvin24@gmx.de>
---
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(-)
diff --git a/arch/arm/mach-tegra/board-paz00-pinmux.c b/arch/arm/mach-tegra/board-paz00-pinmux.c
index bdd2627..41a6304 100644
--- a/arch/arm/mach-tegra/board-paz00-pinmux.c
+++ b/arch/arm/mach-tegra/board-paz00-pinmux.c
@@ -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)
diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c
index 1b076f6..c78ef4c 100644
--- a/arch/arm/mach-tegra/board-paz00.c
+++ b/arch/arm/mach-tegra/board-paz00.c
@@ -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")
diff --git a/arch/arm/mach-tegra/board-paz00.h b/arch/arm/mach-tegra/board-paz00.h
index d4ff39d..a49543a 100644
--- a/arch/arm/mach-tegra/board-paz00.h
+++ b/arch/arm/mach-tegra/board-paz00.h
@@ -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
--
1.7.4.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 6/6] ARM: tegra: paz00: enable wifi card
2011-05-19 12:08 ` Marc Dietrich
@ 2011-05-19 20:06 ` Dmitry Artamonow
-1 siblings, 0 replies; 22+ messages in thread
From: Dmitry Artamonow @ 2011-05-19 20:06 UTC (permalink / raw)
To: Marc Dietrich; +Cc: linux-tegra, Olof Johansson, linux-arm-kernel, Colin Cross
On 14:08 Thu 19 May , Marc Dietrich wrote:
> 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.
>
> Signed-off-by: Marc Dietrich <marvin24@gmx.de>
[snip]
> +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
> +
> + /* 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.
--
Best regards,
Dmitry "MAD" Artamonow
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 6/6] ARM: tegra: paz00: enable wifi card
@ 2011-05-19 20:06 ` Dmitry Artamonow
0 siblings, 0 replies; 22+ messages in thread
From: Dmitry Artamonow @ 2011-05-19 20:06 UTC (permalink / raw)
To: linux-arm-kernel
On 14:08 Thu 19 May , Marc Dietrich wrote:
> 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.
>
> Signed-off-by: Marc Dietrich <marvin24@gmx.de>
[snip]
> +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
> +
> + /* 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.
--
Best regards,
Dmitry "MAD" Artamonow
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 6/6] ARM: tegra: paz00: enable wifi card
2011-05-19 20:06 ` Dmitry Artamonow
@ 2011-05-20 7:50 ` Marc Dietich
-1 siblings, 0 replies; 22+ messages in thread
From: Marc Dietich @ 2011-05-20 7:50 UTC (permalink / raw)
To: Dmitry Artamonow
Cc: Colin Cross, linux-tegra-u79uwXL29TY76Z2rM5mHXA, Olof Johansson,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Hi Dmitry,
> On 14:08 Thu 19 May , Marc Dietrich wrote:
> > 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.
> >
> > Signed-off-by: Marc Dietrich <marvin24-Mmb7MZpHnFY@public.gmane.org>
>
> [snip]
>
> > +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
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.
> > +
> > + /* 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.
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
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 6/6] ARM: tegra: paz00: enable wifi card
@ 2011-05-20 7:50 ` Marc Dietich
0 siblings, 0 replies; 22+ messages in thread
From: Marc Dietich @ 2011-05-20 7:50 UTC (permalink / raw)
To: linux-arm-kernel
Hi Dmitry,
> On 14:08 Thu 19 May , Marc Dietrich wrote:
> > 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.
> >
> > Signed-off-by: Marc Dietrich <marvin24@gmx.de>
>
> [snip]
>
> > +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
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.
> > +
> > + /* 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.
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
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 0/6 V2] ARM: tegra: paz00 patches for 2.6.40
2011-05-19 12:08 ` Marc Dietrich
@ 2011-07-10 22:14 ` Colin Cross
-1 siblings, 0 replies; 22+ messages in thread
From: Colin Cross @ 2011-07-10 22:14 UTC (permalink / raw)
To: Marc Dietrich
Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA, Olof Johansson,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
On Thu, May 19, 2011 at 5:08 AM, Marc Dietrich <marvin24-Mmb7MZpHnFY@public.gmane.org> wrote:
> 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(-)
>
> --
> 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.
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 0/6 V2] ARM: tegra: paz00 patches for 2.6.40
@ 2011-07-10 22:14 ` Colin Cross
0 siblings, 0 replies; 22+ messages in thread
From: Colin Cross @ 2011-07-10 22:14 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, May 19, 2011 at 5:08 AM, Marc Dietrich <marvin24@gmx.de> wrote:
> 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(-)
>
> --
> 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.
^ permalink raw reply [flat|nested] 22+ messages in thread
[parent not found: <CAMbhsRSH2iyv0_1seVtwSQ7AbHmPbz+VqSVkhfLgsNA8+dOwJA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH 0/6 V2] ARM: tegra: paz00 patches for 2.6.40
2011-07-10 22:14 ` Colin Cross
@ 2011-07-12 10:47 ` Marc Dietrich
-1 siblings, 0 replies; 22+ messages in thread
From: Marc Dietrich @ 2011-07-12 10:47 UTC (permalink / raw)
To: Colin Cross
Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA, Olof Johansson,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Collin,
Am Sun, 10 Jul 2011 15:14:33 -0700
schrieb Colin Cross <ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org>:
> On Thu, May 19, 2011 at 5:08 AM, Marc Dietrich <marvin24-Mmb7MZpHnFY@public.gmane.org>
> wrote:
> > 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.
> >
> > ...
>
> 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
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 0/6 V2] ARM: tegra: paz00 patches for 2.6.40
@ 2011-07-12 10:47 ` Marc Dietrich
0 siblings, 0 replies; 22+ messages in thread
From: Marc Dietrich @ 2011-07-12 10:47 UTC (permalink / raw)
To: linux-arm-kernel
Collin,
Am Sun, 10 Jul 2011 15:14:33 -0700
schrieb Colin Cross <ccross@android.com>:
> On Thu, May 19, 2011 at 5:08 AM, Marc Dietrich <marvin24@gmx.de>
> wrote:
> > 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.
> >
> > ...
>
> 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
^ permalink raw reply [flat|nested] 22+ messages in thread