linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 3/3] arm/dt: tegra: add dts file for paz00
       [not found] ` <90ee88bcde84141e0280ffa4ccbd288462489eba.1319313020.git.marvin24@gmx.de>
@ 2011-10-25  5:16   ` Stephen Warren
  2011-10-25 19:05     ` Marc Dietrich
  2011-10-25 19:51     ` Rob Herring
  0 siblings, 2 replies; 18+ messages in thread
From: Stephen Warren @ 2011-10-25  5:16 UTC (permalink / raw)
  To: linux-arm-kernel

Marc Dietrich wrote at Saturday, October 22, 2011 2:17 PM:
> * NOT FOR COMMIT *
> 
> This just adds the dts for paz00. I like to add it to board-dt as
> well as soon as I find out which tree to base it on.
...
> +++ b/arch/arm/boot/dts/tegra-paz00.dts

One thing that cross my mind when writing the TrimSlice support and I
forgot to mention: Should these files be named ${soc}-${board}.dts or
${vendor}-${board}.dts (tegra-paz00.dts or toshiba-paz00.dts or
compal-paz00.dts). I'm OK either way; just want to follow any outside
expectations.

> @@ -0,0 +1,51 @@
> +/dts-v1/;
> +
> +/memreserve/ 0x1c000000 0x04000000;
> +/include/ "tegra20.dtsi"
> +
> +/ {
> +	model = "Toshiba AC100 / Dynabook AZ";
> +	compatible = "compal,paz00", "nvidia,tegra20";
> +
> +	chosen {
> +		bootargs = "console=ttyS0,115200n8 root=/dev/mmcblk1p1";
> +	};
> +
> +	memory at 0 {

The other boards just have "memory" here; which is wrong?

...
> +	i2c at 7000c500 {
> +		clock-frequency = <80000>;

That's a pretty odd I2C frequency...

-- 
nvpublic

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 3/3] arm/dt: tegra: add dts file for paz00
  2011-10-25  5:16   ` Stephen Warren
@ 2011-10-25 19:05     ` Marc Dietrich
  2011-10-26  6:43       ` Stephen Warren
  2011-10-25 19:51     ` Rob Herring
  1 sibling, 1 reply; 18+ messages in thread
From: Marc Dietrich @ 2011-10-25 19:05 UTC (permalink / raw)
  To: linux-arm-kernel

On Monday 24 October 2011 22:16:15 Stephen Warren wrote:
> Marc Dietrich wrote at Saturday, October 22, 2011 2:17 PM:
> > * NOT FOR COMMIT *
> > 
> > This just adds the dts for paz00. I like to add it to board-dt as
> > well as soon as I find out which tree to base it on.
> 
> ...
> 
> > +++ b/arch/arm/boot/dts/tegra-paz00.dts
> 
> One thing that cross my mind when writing the TrimSlice support and I
> forgot to mention: Should these files be named ${soc}-${board}.dts or
> ${vendor}-${board}.dts (tegra-paz00.dts or toshiba-paz00.dts or
> compal-paz00.dts). I'm OK either way; just want to follow any outside
> expectations.

I also don't know. I prefer compal for paz00 because Toshiba's code name was 
procyon (I think) and I don't want to change all the naming. Also Toshiba 
showed no interest in helping us, so I don't see why they should get the fame.

> > @@ -0,0 +1,51 @@
> > +/dts-v1/;
> > +
> > +/memreserve/ 0x1c000000 0x04000000;
> > +/include/ "tegra20.dtsi"
> > +
> > +/ {
> > +	model = "Toshiba AC100 / Dynabook AZ";
> > +	compatible = "compal,paz00", "nvidia,tegra20";
> > +
> > +	chosen {
> > +		bootargs = "console=ttyS0,115200n8 root=/dev/mmcblk1p1";
> > +	};
> > +
> > +	memory at 0 {
> 
> The other boards just have "memory" here; which is wrong?

I just copy-pasted from harmony, I guess it doesn't matter.

> 
> ...
> 
> > +	i2c at 7000c500 {
> > +		clock-frequency = <80000>;
> 
> That's a pretty odd I2C frequency...

no, 80000 is even ;-) Seriously, it just reflects the fact that the embedded 
controller bus runs at 80kHz. Even more seriously, reading "booting-without-
of.txt" in the Documentation/devicetree dir,

      | o PowerPC,970 at 0
      |   |- name = "PowerPC,970"
      |   |- device_type = "cpu"
      |   |- reg = <0>
      |   |- clock-frequency = <5f5e1000>
      |   |- 64-bit
      |   |- linux,phandle = <2>

 it looks like all clock-frequency values are hexadecimal. In this case even 
<400000> would be wrong (or the docu is --- ok, the docu is wrong).

Marc

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 3/3] arm/dt: tegra: add dts file for paz00
  2011-10-25  5:16   ` Stephen Warren
  2011-10-25 19:05     ` Marc Dietrich
@ 2011-10-25 19:51     ` Rob Herring
  2011-10-26  6:40       ` Stephen Warren
  1 sibling, 1 reply; 18+ messages in thread
From: Rob Herring @ 2011-10-25 19:51 UTC (permalink / raw)
  To: linux-arm-kernel

On 10/25/2011 12:16 AM, Stephen Warren wrote:
> Marc Dietrich wrote at Saturday, October 22, 2011 2:17 PM:
>> * NOT FOR COMMIT *
>>
>> This just adds the dts for paz00. I like to add it to board-dt as
>> well as soon as I find out which tree to base it on.
> ...
>> +++ b/arch/arm/boot/dts/tegra-paz00.dts
> 
> One thing that cross my mind when writing the TrimSlice support and I
> forgot to mention: Should these files be named ${soc}-${board}.dts or
> ${vendor}-${board}.dts (tegra-paz00.dts or toshiba-paz00.dts or
> compal-paz00.dts). I'm OK either way; just want to follow any outside
> expectations.
> 
>> @@ -0,0 +1,51 @@
>> +/dts-v1/;
>> +
>> +/memreserve/ 0x1c000000 0x04000000;
>> +/include/ "tegra20.dtsi"
>> +
>> +/ {
>> +	model = "Toshiba AC100 / Dynabook AZ";
>> +	compatible = "compal,paz00", "nvidia,tegra20";
>> +
>> +	chosen {
>> +		bootargs = "console=ttyS0,115200n8 root=/dev/mmcblk1p1";
>> +	};
>> +
>> +	memory at 0 {
> 
> The other boards just have "memory" here; which is wrong?
> 

Both... I believe it should be "memory@<base address>".

Rob

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 3/3] arm/dt: tegra: add dts file for paz00
  2011-10-25 19:51     ` Rob Herring
@ 2011-10-26  6:40       ` Stephen Warren
  0 siblings, 0 replies; 18+ messages in thread
From: Stephen Warren @ 2011-10-26  6:40 UTC (permalink / raw)
  To: linux-arm-kernel

Rob Herring wrote at Tuesday, October 25, 2011 1:52 PM:
> On 10/25/2011 12:16 AM, Stephen Warren wrote:
> > Marc Dietrich wrote at Saturday, October 22, 2011 2:17 PM:
> >> * NOT FOR COMMIT *
> >>
> >> This just adds the dts for paz00. I like to add it to board-dt as
> >> well as soon as I find out which tree to base it on.
> > ...
> >> +++ b/arch/arm/boot/dts/tegra-paz00.dts
> >
> > One thing that cross my mind when writing the TrimSlice support and I
> > forgot to mention: Should these files be named ${soc}-${board}.dts or
> > ${vendor}-${board}.dts (tegra-paz00.dts or toshiba-paz00.dts or
> > compal-paz00.dts). I'm OK either way; just want to follow any outside
> > expectations.
> >
> >> @@ -0,0 +1,51 @@
> >> +/dts-v1/;
> >> +
> >> +/memreserve/ 0x1c000000 0x04000000;
> >> +/include/ "tegra20.dtsi"
> >> +
> >> +/ {
> >> +	model = "Toshiba AC100 / Dynabook AZ";
> >> +	compatible = "compal,paz00", "nvidia,tegra20";
> >> +
> >> +	chosen {
> >> +		bootargs = "console=ttyS0,115200n8 root=/dev/mmcblk1p1";
> >> +	};
> >> +
> >> +	memory at 0 {
> >
> > The other boards just have "memory" here; which is wrong?
> 
> Both... I believe it should be "memory@<base address>".

Tegra20's memory base address is 0, so I assume the quoted example above
is correct then.

-- 
nvpublic

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 3/3] arm/dt: tegra: add dts file for paz00
  2011-10-25 19:05     ` Marc Dietrich
@ 2011-10-26  6:43       ` Stephen Warren
  2011-10-26 20:18         ` Marc Dietrich
  0 siblings, 1 reply; 18+ messages in thread
From: Stephen Warren @ 2011-10-26  6:43 UTC (permalink / raw)
  To: linux-arm-kernel

Marc Dietrich wrote at Tuesday, October 25, 2011 1:05 PM:
> On Monday 24 October 2011 22:16:15 Stephen Warren wrote:
> > Marc Dietrich wrote at Saturday, October 22, 2011 2:17 PM:
> > > * NOT FOR COMMIT *
> > >
> > > This just adds the dts for paz00. I like to add it to board-dt as
> > > well as soon as I find out which tree to base it on.
> >
> > ...
> >
> > > +++ b/arch/arm/boot/dts/tegra-paz00.dts
> >
> > One thing that cross my mind when writing the TrimSlice support and I
> > forgot to mention: Should these files be named ${soc}-${board}.dts or
> > ${vendor}-${board}.dts (tegra-paz00.dts or toshiba-paz00.dts or
> > compal-paz00.dts). I'm OK either way; just want to follow any outside
> > expectations.
> 
> I also don't know. I prefer compal for paz00 because Toshiba's code name was
> procyon (I think) and I don't want to change all the naming. Also Toshiba
> showed no interest in helping us, so I don't see why they should get the fame.

Well, it's more about correctly defining what the HW is than advertising,
fame, or support!
 
-- 
nvpublic

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 3/3] arm/dt: tegra: add dts file for paz00
  2011-10-26  6:43       ` Stephen Warren
@ 2011-10-26 20:18         ` Marc Dietrich
  0 siblings, 0 replies; 18+ messages in thread
From: Marc Dietrich @ 2011-10-26 20:18 UTC (permalink / raw)
  To: linux-arm-kernel

On Tuesday 25 October 2011 23:43:06 Stephen Warren wrote:
> Marc Dietrich wrote at Tuesday, October 25, 2011 1:05 PM:
> > On Monday 24 October 2011 22:16:15 Stephen Warren wrote:
> > > Marc Dietrich wrote at Saturday, October 22, 2011 2:17 PM:
> > > > * NOT FOR COMMIT *
> > > > 
> > > > This just adds the dts for paz00. I like to add it to board-dt
> > > > as
> > > > well as soon as I find out which tree to base it on.
> > > 
> > > ...
> > > 
> > > > +++ b/arch/arm/boot/dts/tegra-paz00.dts
> > > 
> > > One thing that cross my mind when writing the TrimSlice support and
> > > I
> > > forgot to mention: Should these files be named ${soc}-${board}.dts
> > > or
> > > ${vendor}-${board}.dts (tegra-paz00.dts or toshiba-paz00.dts or
> > > compal-paz00.dts). I'm OK either way; just want to follow any
> > > outside
> > > expectations.
> > 
> > I also don't know. I prefer compal for paz00 because Toshiba's code name
> > was procyon (I think) and I don't want to change all the naming. Also
> > Toshiba showed no interest in helping us, so I don't see why they
> > should get the fame.
> Well, it's more about correctly defining what the HW is than advertising,
> fame, or support!

define "what the HW is". Warning: the following list is purely fictitious. Any 
similarities between the companies or products mentiond, real or imaginary, 
are coincidental.

	- company A creates a cpu (only the IP) and license it to company N.
	- company N adds some more stuff around it (interfaces, gpu, ...) and 
creates real cpu hw.
	- company T likes the cpu and asks company C to build a computer around it
	- company C takes the evaluation board from company N, modifies it a bit, 
and builds a whole netbook around it
	- company T gets the netbook from company C and adds a operating system 
which will displeased their customers

So how would you define that hw? Or the real question, who made it? And please 
don't take my second argument too serious. I just expressed my anger in an 
improper way at an improper place. Sorry for that.

Marc

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH v3 0/3] paz00 updates for 3.3
@ 2011-10-31 19:58 Marc Dietrich
  2011-10-31 19:58 ` [PATCH 1/3] ARM: tegra: paz00: add support for wakeup gpio key Marc Dietrich
                   ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: Marc Dietrich @ 2011-10-31 19:58 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

the following three patches are intended for the 3.3 merge window and are based
on linux-next.

The first one adds wakeup support similar to seaboard, but with the difference
that the wakeup gpio is connected to the embedded controller instead of a real
gpio key.

The second patch adds device tree support for the nvec driver. This way we can
make use of it without adding more platform devices to the board files (and it
is also modern to do so).

The final one adds device tree support for paz00. The way the nvec it is
initialized will probably change in the future, but we like to include it for
now as it makes debugging easier.

The patches are against linux-next from Oct 25th.

Thanks

Marc

Changes since v2
    - remove the mem= from the bootargs, this is handled by the memory property
      already
    - change the root device until the sdhci init order can be changed
    - do not init unused serial ports
    - add dt documentation for nvec
    - remove CONFIG_OF #ifdefs from nvec.c
    - exchange the order of patch 2 and 3
Changes since v1
    - replace addition of the embedded controller to the board file by a device-tree
      based implementation.

Marc Dietrich (3):
  ARM: tegra: paz00: add support for wakeup gpio key
  staging: nvec: add device tree support
  arm/dt: tegra: add dts file for paz00

 .../devicetree/bindings/nvec/nvec_nvidia.txt       |    9 ++
 arch/arm/boot/dts/tegra-paz00.dts                  |   78 ++++++++++++++++++++
 arch/arm/mach-tegra/Makefile                       |    1 +
 arch/arm/mach-tegra/Makefile.boot                  |    1 +
 arch/arm/mach-tegra/board-dt.c                     |    3 +
 arch/arm/mach-tegra/board-paz00.c                  |   27 +++++++
 arch/arm/mach-tegra/board-paz00.h                  |    3 +
 drivers/staging/nvec/nvec.c                        |   35 ++++++++-
 8 files changed, 155 insertions(+), 2 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/nvec/nvec_nvidia.txt
 create mode 100644 arch/arm/boot/dts/tegra-paz00.dts

-- 
1.7.5.4

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 1/3] ARM: tegra: paz00: add support for wakeup gpio key
  2011-10-31 19:58 [PATCH v3 0/3] paz00 updates for 3.3 Marc Dietrich
@ 2011-10-31 19:58 ` Marc Dietrich
  2011-10-31 20:13   ` Stephen Warren
  2011-10-31 19:58 ` [PATCH 2/3] staging: nvec: add device tree support Marc Dietrich
  2011-10-31 19:58 ` [PATCH 3/3] arm/dt: tegra: add dts file for paz00 Marc Dietrich
  2 siblings, 1 reply; 18+ messages in thread
From: Marc Dietrich @ 2011-10-31 19:58 UTC (permalink / raw)
  To: linux-arm-kernel

This adds support for a wakeup gpio which is connected to the
embedded controller. This will be used later on for wakeup from suspend.

Signed-off-by: Marc Dietrich <marvin24@gmx.de>
---
 arch/arm/mach-tegra/board-paz00.c |   27 +++++++++++++++++++++++++++
 arch/arm/mach-tegra/board-paz00.h |    3 +++
 2 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c
index 55c55ba..799e420 100644
--- a/arch/arm/mach-tegra/board-paz00.c
+++ b/arch/arm/mach-tegra/board-paz00.c
@@ -23,8 +23,10 @@
 #include <linux/serial_8250.h>
 #include <linux/clk.h>
 #include <linux/dma-mapping.h>
+#include <linux/gpio_keys.h>
 #include <linux/pda_power.h>
 #include <linux/io.h>
+#include <linux/input.h>
 #include <linux/i2c.h>
 #include <linux/gpio.h>
 #include <linux/rfkill-gpio.h>
@@ -114,12 +116,37 @@ static struct platform_device leds_gpio = {
         },
 };
 
+static struct gpio_keys_button paz00_gpio_keys_buttons[] = {
+	{
+		.code		= KEY_POWER,
+		.gpio		= TEGRA_GPIO_POWERKEY,
+		.active_low	= 1,
+		.desc		= "Power",
+		.type		= EV_KEY,
+		.wakeup		= 1,
+	},
+};
+
+static struct gpio_keys_platform_data paz00_gpio_keys = {
+	.buttons	= paz00_gpio_keys_buttons,
+	.nbuttons	= ARRAY_SIZE(paz00_gpio_keys_buttons),
+};
+
+static struct platform_device gpio_keys_device = {
+	.name	= "gpio-keys",
+	.id	= -1,
+	.dev	= {
+		.platform_data = &paz00_gpio_keys,
+	},
+};
+
 static struct platform_device *paz00_devices[] __initdata = {
 	&debug_uart,
 	&tegra_sdhci_device4,
 	&tegra_sdhci_device1,
 	&wifi_rfkill_device,
 	&leds_gpio,
+	&gpio_keys_device,
 };
 
 static void paz00_i2c_init(void)
diff --git a/arch/arm/mach-tegra/board-paz00.h b/arch/arm/mach-tegra/board-paz00.h
index 8aff06e..ffa83f5 100644
--- a/arch/arm/mach-tegra/board-paz00.h
+++ b/arch/arm/mach-tegra/board-paz00.h
@@ -32,6 +32,9 @@
 #define TEGRA_WIFI_RST			TEGRA_GPIO_PD1
 #define TEGRA_WIFI_LED			TEGRA_GPIO_PD0
 
+/* WakeUp */
+#define TEGRA_GPIO_POWERKEY	TEGRA_GPIO_PJ7
+
 void paz00_pinmux_init(void);
 
 #endif
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 2/3] staging: nvec: add device tree support
  2011-10-31 19:58 [PATCH v3 0/3] paz00 updates for 3.3 Marc Dietrich
  2011-10-31 19:58 ` [PATCH 1/3] ARM: tegra: paz00: add support for wakeup gpio key Marc Dietrich
@ 2011-10-31 19:58 ` Marc Dietrich
  2011-10-31 20:18   ` Stephen Warren
  2011-10-31 19:58 ` [PATCH 3/3] arm/dt: tegra: add dts file for paz00 Marc Dietrich
  2 siblings, 1 reply; 18+ messages in thread
From: Marc Dietrich @ 2011-10-31 19:58 UTC (permalink / raw)
  To: linux-arm-kernel

This adds device tree support to the nvec driver. By using this method
it is no longer necessary to specify platform data through a board
file.

Cc: devel at driverdev.osuosl.org
Cc: Greg KH <gregkh@suse.de>
Cc: Julian Andres Klode <jak@jak-linux.org>
Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Marc Dietrich <marvin24@gmx.de>
---
 .../devicetree/bindings/nvec/nvec_nvidia.txt       |    9 +++++
 drivers/staging/nvec/nvec.c                        |   35 ++++++++++++++++++-
 2 files changed, 42 insertions(+), 2 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/nvec/nvec_nvidia.txt

diff --git a/Documentation/devicetree/bindings/nvec/nvec_nvidia.txt b/Documentation/devicetree/bindings/nvec/nvec_nvidia.txt
new file mode 100644
index 0000000..5aeee53
--- /dev/null
+++ b/Documentation/devicetree/bindings/nvec/nvec_nvidia.txt
@@ -0,0 +1,9 @@
+NVIDIA compliant embedded controller
+
+Required properties:
+- compatible : should be "nvidia,nvec".
+- reg : the iomem of the i2c slave controller
+- interrupts : the interrupt line of the i2c slave controller
+- clock-frequency : the frequency of the i2c bus
+- gpios : the gpio used for ec request
+- slave-addr: the i2c address of the slave controller
diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c
index e06b867..ffb73c0 100644
--- a/drivers/staging/nvec/nvec.c
+++ b/drivers/staging/nvec/nvec.c
@@ -27,6 +27,8 @@
 #include <linux/interrupt.h>
 #include <linux/io.h>
 #include <linux/irq.h>
+#include <linux/of.h>
+#include <linux/of_gpio.h>
 #include <linux/list.h>
 #include <linux/mfd/core.h>
 #include <linux/mutex.h>
@@ -36,6 +38,8 @@
 #include <linux/spinlock.h>
 #include <linux/workqueue.h>
 
+#include <asm/byteorder.h>
+
 #include <mach/clk.h>
 #include <mach/iomap.h>
 
@@ -719,6 +723,7 @@ static int __devinit tegra_nvec_probe(struct platform_device *pdev)
 	struct resource *res;
 	struct resource *iomem;
 	void __iomem *base;
+	const unsigned int *prop;
 
 	nvec = kzalloc(sizeof(struct nvec_chip), GFP_KERNEL);
 	if (nvec == NULL) {
@@ -727,8 +732,26 @@ static int __devinit tegra_nvec_probe(struct platform_device *pdev)
 	}
 	platform_set_drvdata(pdev, nvec);
 	nvec->dev = &pdev->dev;
-	nvec->gpio = pdata->gpio;
-	nvec->i2c_addr = pdata->i2c_addr;
+
+	if (pdata) {
+		nvec->gpio = pdata->gpio;
+		nvec->i2c_addr = pdata->i2c_addr;
+	} else if (nvec->dev->of_node) {
+		nvec->gpio = of_get_named_gpio(nvec->dev->of_node, "request-gpios", 0);
+		if (nvec->gpio < 0) {
+			dev_err(&pdev->dev, "no gpio specified");
+			goto failed;
+		}
+		prop = of_get_property(nvec->dev->of_node, "slave-addr", NULL);
+		if (!prop) {
+			dev_err(&pdev->dev, "no i2c address specified");
+			goto failed;
+		}
+		nvec->i2c_addr = be32_to_cpup(prop);
+	} else {
+		dev_err(&pdev->dev, "no platform data\n");
+		goto failed;
+	}
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	if (!res) {
@@ -893,6 +916,13 @@ static int tegra_nvec_resume(struct platform_device *pdev)
 #define tegra_nvec_resume NULL
 #endif
 
+/* Match table for of_platform binding */
+static const struct of_device_id nvidia_nvec_of_match[] __devinitconst = {
+	{ .compatible = "nvidia,nvec", },
+	{},
+};
+MODULE_DEVICE_TABLE(of, nvidia_nvec_of_match);
+
 static struct platform_driver nvec_device_driver = {
 	.probe   = tegra_nvec_probe,
 	.remove  = __devexit_p(tegra_nvec_remove),
@@ -901,6 +931,7 @@ static struct platform_driver nvec_device_driver = {
 	.driver  = {
 		.name = "nvec",
 		.owner = THIS_MODULE,
+		.of_match_table = nvidia_nvec_of_match,
 	}
 };
 
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 3/3] arm/dt: tegra: add dts file for paz00
  2011-10-31 19:58 [PATCH v3 0/3] paz00 updates for 3.3 Marc Dietrich
  2011-10-31 19:58 ` [PATCH 1/3] ARM: tegra: paz00: add support for wakeup gpio key Marc Dietrich
  2011-10-31 19:58 ` [PATCH 2/3] staging: nvec: add device tree support Marc Dietrich
@ 2011-10-31 19:58 ` Marc Dietrich
  2011-10-31 20:14   ` Stephen Warren
  2 siblings, 1 reply; 18+ messages in thread
From: Marc Dietrich @ 2011-10-31 19:58 UTC (permalink / raw)
  To: linux-arm-kernel

This adds a dts file for paz00. As a side effect, this also enables
the embedded controller which controls the keyboard, touchpad, power,
leds, and some other functions.

Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Marc Dietrich <marvin24@gmx.de>
---
 arch/arm/boot/dts/tegra-paz00.dts |   78 +++++++++++++++++++++++++++++++++++++
 arch/arm/mach-tegra/Makefile      |    1 +
 arch/arm/mach-tegra/Makefile.boot |    1 +
 arch/arm/mach-tegra/board-dt.c    |    3 +
 4 files changed, 83 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/boot/dts/tegra-paz00.dts

diff --git a/arch/arm/boot/dts/tegra-paz00.dts b/arch/arm/boot/dts/tegra-paz00.dts
new file mode 100644
index 0000000..7eebd16
--- /dev/null
+++ b/arch/arm/boot/dts/tegra-paz00.dts
@@ -0,0 +1,78 @@
+/dts-v1/;
+
+/memreserve/ 0x1c000000 0x04000000;
+/include/ "tegra20.dtsi"
+
+/ {
+	model = "Toshiba AC100 / Dynabook AZ";
+	compatible = "compal,paz00", "nvidia,tegra20";
+
+	chosen {
+		bootargs = "console=ttyS0,115200n8 root=/dev/mmcblk0p1";
+	};
+
+	memory at 0 {
+		reg = <0x00000000 0x20000000>;
+	};
+
+	i2c at 7000c000 {
+		clock-frequency = <400000>;
+	};
+
+	i2c at 7000c400 {
+		clock-frequency = <400000>;
+	};
+
+	i2c at 7000c500 {
+		status = "disable";
+	};
+
+	nvec at 7000c500 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "nvidia,nvec";
+		reg = <0x7000C500 0x100>;
+		interrupts = <124>;
+		clock-frequency = <80000>;
+		request-gpios = <&gpio 170 0>;
+		slave-addr = <138>;
+	};
+
+	i2c at 7000d000 {
+		clock-frequency = <400000>;
+	};
+
+	serial at 70006000 {
+		clock-frequency = <216000000>;
+	};
+
+	serial at 70006040 {
+		status = "disable";
+	};
+
+	serial at 70006200 {
+		status = "disable";
+	};
+
+	serial at 70006300 {
+		clock-frequency = <216000000>;
+	};
+
+	sdhci at c8000000 {
+		cd-gpios = <&gpio 173 0>; /* gpio PV5 */
+		wp-gpios = <&gpio 57 0>;  /* gpio PH1 */
+		power-gpios = <&gpio 155 0>; /* gpio PT3 */
+	};
+
+	sdhci at c8000200 {
+		status = "disable";
+	};
+
+	sdhci at c8000400 {
+		status = "disable";
+	};
+
+	sdhci at c8000600 {
+		support-8bit;
+	};
+};
diff --git a/arch/arm/mach-tegra/Makefile b/arch/arm/mach-tegra/Makefile
index 91a07e1..b04ebfe6 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-paz00-pinmux.o
 obj-${CONFIG_MACH_TEGRA_DT}             += board-seaboard-pinmux.o
 
 obj-${CONFIG_MACH_TRIMSLICE}            += board-trimslice.o
diff --git a/arch/arm/mach-tegra/Makefile.boot b/arch/arm/mach-tegra/Makefile.boot
index bd12c9f..152f9fb 100644
--- a/arch/arm/mach-tegra/Makefile.boot
+++ b/arch/arm/mach-tegra/Makefile.boot
@@ -3,5 +3,6 @@ params_phys-$(CONFIG_ARCH_TEGRA_2x_SOC)	:= 0x00000100
 initrd_phys-$(CONFIG_ARCH_TEGRA_2x_SOC)	:= 0x00800000
 
 dtb-$(CONFIG_MACH_HARMONY) += tegra-harmony.dtb
+dtb-$(CONFIG_MACH_PAZ00) += tegra-paz00.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 d368f8d..379660e 100644
--- a/arch/arm/mach-tegra/board-dt.c
+++ b/arch/arm/mach-tegra/board-dt.c
@@ -46,6 +46,7 @@
 #include "devices.h"
 
 void harmony_pinmux_init(void);
+void paz00_pinmux_init(void);
 void seaboard_pinmux_init(void);
 void ventana_pinmux_init(void);
 
@@ -85,6 +86,7 @@ static struct {
 	void (*init)(void);
 } pinmux_configs[] = {
 	{ "nvidia,harmony", harmony_pinmux_init },
+	{ "compal,paz00", paz00_pinmux_init },
 	{ "nvidia,seaboard", seaboard_pinmux_init },
 	{ "nvidia,ventana", ventana_pinmux_init },
 };
@@ -120,6 +122,7 @@ static void __init tegra_dt_init(void)
 
 static const char * tegra_dt_board_compat[] = {
 	"nvidia,harmony",
+	"compal,paz00",
 	"nvidia,seaboard",
 	"nvidia,ventana",
 	NULL
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 1/3] ARM: tegra: paz00: add support for wakeup gpio key
  2011-10-31 19:58 ` [PATCH 1/3] ARM: tegra: paz00: add support for wakeup gpio key Marc Dietrich
@ 2011-10-31 20:13   ` Stephen Warren
  2011-10-31 21:36     ` Marc Dietrich
  0 siblings, 1 reply; 18+ messages in thread
From: Stephen Warren @ 2011-10-31 20:13 UTC (permalink / raw)
  To: linux-arm-kernel

Marc Dietrich wrote at Monday, October 31, 2011 1:59 PM:
> This adds support for a wakeup gpio which is connected to the
> embedded controller. This will be used later on for wakeup from suspend.
> 
> Signed-off-by: Marc Dietrich <marvin24@gmx.de>

Acked-by: Stephen Warren <swarren@nvidia.com>

(Feel free to include that tag in any future postings unless there are
significant changes that would merit my reviewing it again)

-- 
nvpublic

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 3/3] arm/dt: tegra: add dts file for paz00
  2011-10-31 19:58 ` [PATCH 3/3] arm/dt: tegra: add dts file for paz00 Marc Dietrich
@ 2011-10-31 20:14   ` Stephen Warren
  2011-10-31 22:20     ` Marc Dietrich
  0 siblings, 1 reply; 18+ messages in thread
From: Stephen Warren @ 2011-10-31 20:14 UTC (permalink / raw)
  To: linux-arm-kernel

Marc Dietrich wrote at Monday, October 31, 2011 1:59 PM:
> This adds a dts file for paz00. As a side effect, this also enables
> the embedded controller which controls the keyboard, touchpad, power,
> leds, and some other functions.
...
> +	serial at 70006000 {
> +		clock-frequency = <216000000>;
> +	};
> +
> +	serial at 70006040 {
> +		status = "disable";
> +	};
> +
> +	serial at 70006200 {
> +		status = "disable";
> +	};
> +
> +	serial at 70006300 {
> +		clock-frequency = <216000000>;
> +	};

Don't you also want to disable serial at 70006400, or set a clock rate for
it?

-- 
nvpublic

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 2/3] staging: nvec: add device tree support
  2011-10-31 19:58 ` [PATCH 2/3] staging: nvec: add device tree support Marc Dietrich
@ 2011-10-31 20:18   ` Stephen Warren
  2011-10-31 22:18     ` Marc Dietrich
  0 siblings, 1 reply; 18+ messages in thread
From: Stephen Warren @ 2011-10-31 20:18 UTC (permalink / raw)
  To: linux-arm-kernel

Marc Dietrich wrote at Monday, October 31, 2011 1:59 PM:
> This adds device tree support to the nvec driver. By using this method
> it is no longer necessary to specify platform data through a board
> file.
...
> diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c
...
> +	if (pdata) {
> +		nvec->gpio = pdata->gpio;
> +		nvec->i2c_addr = pdata->i2c_addr;
> +	} else if (nvec->dev->of_node) {
> +		nvec->gpio = of_get_named_gpio(nvec->dev->of_node, "request-gpios", 0);
> +		if (nvec->gpio < 0) {
> +			dev_err(&pdev->dev, "no gpio specified");
> +			goto failed;
> +		}

> +		prop = of_get_property(nvec->dev->of_node, "slave-addr", NULL);
> +		if (!prop) {
> +			dev_err(&pdev->dev, "no i2c address specified");
> +			goto failed;
> +		}
> +		nvec->i2c_addr = be32_to_cpup(prop);

----------==========----------==========----------==========----------==========
Don't you want to use of_property_read_u32() here to simplify the code
slightly? You can also get rid of at least one #include that way.

> +	} else {
> +		dev_err(&pdev->dev, "no platform data\n");
> +		goto failed;
> +	}

-- 
nvpublic

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 1/3] ARM: tegra: paz00: add support for wakeup gpio key
  2011-10-31 20:13   ` Stephen Warren
@ 2011-10-31 21:36     ` Marc Dietrich
  0 siblings, 0 replies; 18+ messages in thread
From: Marc Dietrich @ 2011-10-31 21:36 UTC (permalink / raw)
  To: linux-arm-kernel

On Monday 31 October 2011 13:13:15 Stephen Warren wrote:
> Marc Dietrich wrote at Monday, October 31, 2011 1:59 PM:
> > This adds support for a wakeup gpio which is connected to the
> > embedded controller. This will be used later on for wakeup from suspend.
> > 
> > Signed-off-by: Marc Dietrich <marvin24@gmx.de>
> 
> Acked-by: Stephen Warren <swarren@nvidia.com>
> 
> (Feel free to include that tag in any future postings unless there are
> significant changes that would merit my reviewing it again)

ok, will do for v4 ;-)

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 2/3] staging: nvec: add device tree support
  2011-10-31 20:18   ` Stephen Warren
@ 2011-10-31 22:18     ` Marc Dietrich
  0 siblings, 0 replies; 18+ messages in thread
From: Marc Dietrich @ 2011-10-31 22:18 UTC (permalink / raw)
  To: linux-arm-kernel

On Monday 31 October 2011 13:18:13 Stephen Warren wrote:
> Marc Dietrich wrote at Monday, October 31, 2011 1:59 PM:
> > This adds device tree support to the nvec driver. By using this method
> > it is no longer necessary to specify platform data through a board
> > file.
> 
> ...
> 
> > diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c
> 
> ...
> 
> > +	if (pdata) {
> > +		nvec->gpio = pdata->gpio;
> > +		nvec->i2c_addr = pdata->i2c_addr;
> > +	} else if (nvec->dev->of_node) {
> > +		nvec->gpio = of_get_named_gpio(nvec->dev->of_node, "request-gpios",
> > 0); +		if (nvec->gpio < 0) {
> > +			dev_err(&pdev->dev, "no gpio specified");
> > +			goto failed;
> > +		}
> > 
> > +		prop = of_get_property(nvec->dev->of_node, "slave-addr", NULL);
> > +		if (!prop) {
> > +			dev_err(&pdev->dev, "no i2c address specified");
> > +			goto failed;
> > +		}
> > +		nvec->i2c_addr = be32_to_cpup(prop);
> 
> ----------==========----------==========----------==========----------======
> ==== Don't you want to use of_property_read_u32() here to simplify the code
> slightly? You can also get rid of at least one #include that way.

Ok, I somehow didn't found it during my quick search.

> > +	} else {
> > +		dev_err(&pdev->dev, "no platform data\n");
> > +		goto failed;
> > +	}

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 3/3] arm/dt: tegra: add dts file for paz00
  2011-10-31 20:14   ` Stephen Warren
@ 2011-10-31 22:20     ` Marc Dietrich
  0 siblings, 0 replies; 18+ messages in thread
From: Marc Dietrich @ 2011-10-31 22:20 UTC (permalink / raw)
  To: linux-arm-kernel

On Monday 31 October 2011 13:14:17 Stephen Warren wrote:
> Marc Dietrich wrote at Monday, October 31, 2011 1:59 PM:
> > This adds a dts file for paz00. As a side effect, this also enables
> > the embedded controller which controls the keyboard, touchpad, power,
> > leds, and some other functions.
> 
> ...
> 
> > +	serial at 70006000 {
> > +		clock-frequency = <216000000>;
> > +	};
> > +
> > +	serial at 70006040 {
> > +		status = "disable";
> > +	};
> > +
> > +	serial at 70006200 {
> > +		status = "disable";
> > +	};
> > +
> > +	serial at 70006300 {
> > +		clock-frequency = <216000000>;
> > +	};
> 
> Don't you also want to disable serial at 70006400, or set a clock rate for
> it?

I just didn't noticed its existance because I configured a maximum of four 
serial ports only, so it didn't showed up in the boot log.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 3/3] arm/dt: tegra: add dts file for paz00
  2011-11-01 20:37 [PATCH v4 0/3] paz00 updates for 3.3 Marc Dietrich
@ 2011-11-01 20:37 ` Marc Dietrich
  2011-11-01 22:37   ` Stephen Warren
  0 siblings, 1 reply; 18+ messages in thread
From: Marc Dietrich @ 2011-11-01 20:37 UTC (permalink / raw)
  To: linux-arm-kernel

This adds a dts file for paz00. As a side effect, this also enables
the embedded controller which controls the keyboard, touchpad, power,
leds, and some other functions.

Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Marc Dietrich <marvin24@gmx.de>
---
 arch/arm/boot/dts/tegra-paz00.dts |   82 +++++++++++++++++++++++++++++++++++++
 arch/arm/mach-tegra/Makefile      |    1 +
 arch/arm/mach-tegra/Makefile.boot |    1 +
 arch/arm/mach-tegra/board-dt.c    |    3 +
 4 files changed, 87 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/boot/dts/tegra-paz00.dts

diff --git a/arch/arm/boot/dts/tegra-paz00.dts b/arch/arm/boot/dts/tegra-paz00.dts
new file mode 100644
index 0000000..15a949f
--- /dev/null
+++ b/arch/arm/boot/dts/tegra-paz00.dts
@@ -0,0 +1,82 @@
+/dts-v1/;
+
+/memreserve/ 0x1c000000 0x04000000;
+/include/ "tegra20.dtsi"
+
+/ {
+	model = "Toshiba AC100 / Dynabook AZ";
+	compatible = "compal,paz00", "nvidia,tegra20";
+
+	chosen {
+		bootargs = "console=ttyS0,115200n8 root=/dev/mmcblk0p1";
+	};
+
+	memory at 0 {
+		reg = <0x00000000 0x20000000>;
+	};
+
+	i2c at 7000c000 {
+		clock-frequency = <400000>;
+	};
+
+	i2c at 7000c400 {
+		clock-frequency = <400000>;
+	};
+
+	i2c at 7000c500 {
+		status = "disable";
+	};
+
+	nvec at 7000c500 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "nvidia,nvec";
+		reg = <0x7000C500 0x100>;
+		interrupts = <124>;
+		clock-frequency = <80000>;
+		request-gpios = <&gpio 170 0>;
+		slave-addr = <138>;
+	};
+
+	i2c at 7000d000 {
+		clock-frequency = <400000>;
+	};
+
+	serial at 70006000 {
+		clock-frequency = <216000000>;
+	};
+
+	serial at 70006040 {
+		status = "disable";
+	};
+
+	serial at 70006200 {
+		status = "disable";
+	};
+
+	serial at 70006300 {
+		clock-frequency = <216000000>;
+	};
+
+	serial at 70006400 {
+		status = "disable";
+	};
+
+	sdhci at c8000000 {
+		cd-gpios = <&gpio 173 0>; /* gpio PV5 */
+		wp-gpios = <&gpio 57 0>;  /* gpio PH1 */
+		power-gpios = <&gpio 155 0>; /* gpio PT3 */
+	};
+
+	sdhci at c8000200 {
+		status = "disable";
+	};
+
+	sdhci at c8000400 {
+		status = "disable";
+	};
+
+	sdhci at c8000600 {
+		support-8bit;
+	};
+};
diff --git a/arch/arm/mach-tegra/Makefile b/arch/arm/mach-tegra/Makefile
index 91a07e1..b04ebfe6 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-paz00-pinmux.o
 obj-${CONFIG_MACH_TEGRA_DT}             += board-seaboard-pinmux.o
 
 obj-${CONFIG_MACH_TRIMSLICE}            += board-trimslice.o
diff --git a/arch/arm/mach-tegra/Makefile.boot b/arch/arm/mach-tegra/Makefile.boot
index bd12c9f..152f9fb 100644
--- a/arch/arm/mach-tegra/Makefile.boot
+++ b/arch/arm/mach-tegra/Makefile.boot
@@ -3,5 +3,6 @@ params_phys-$(CONFIG_ARCH_TEGRA_2x_SOC)	:= 0x00000100
 initrd_phys-$(CONFIG_ARCH_TEGRA_2x_SOC)	:= 0x00800000
 
 dtb-$(CONFIG_MACH_HARMONY) += tegra-harmony.dtb
+dtb-$(CONFIG_MACH_PAZ00) += tegra-paz00.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 d368f8d..379660e 100644
--- a/arch/arm/mach-tegra/board-dt.c
+++ b/arch/arm/mach-tegra/board-dt.c
@@ -46,6 +46,7 @@
 #include "devices.h"
 
 void harmony_pinmux_init(void);
+void paz00_pinmux_init(void);
 void seaboard_pinmux_init(void);
 void ventana_pinmux_init(void);
 
@@ -85,6 +86,7 @@ static struct {
 	void (*init)(void);
 } pinmux_configs[] = {
 	{ "nvidia,harmony", harmony_pinmux_init },
+	{ "compal,paz00", paz00_pinmux_init },
 	{ "nvidia,seaboard", seaboard_pinmux_init },
 	{ "nvidia,ventana", ventana_pinmux_init },
 };
@@ -120,6 +122,7 @@ static void __init tegra_dt_init(void)
 
 static const char * tegra_dt_board_compat[] = {
 	"nvidia,harmony",
+	"compal,paz00",
 	"nvidia,seaboard",
 	"nvidia,ventana",
 	NULL
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 3/3] arm/dt: tegra: add dts file for paz00
  2011-11-01 20:37 ` [PATCH 3/3] arm/dt: tegra: add dts file for paz00 Marc Dietrich
@ 2011-11-01 22:37   ` Stephen Warren
  0 siblings, 0 replies; 18+ messages in thread
From: Stephen Warren @ 2011-11-01 22:37 UTC (permalink / raw)
  To: linux-arm-kernel

Marc Dietrich wrote at Tuesday, November 01, 2011 2:37 PM:
> This adds a dts file for paz00. As a side effect, this also enables
> the embedded controller which controls the keyboard, touchpad, power,
> leds, and some other functions.

Acked-by: Stephen Warren <swarren@nvidia.com>

-- 
nvpublic

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2011-11-01 22:37 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-31 19:58 [PATCH v3 0/3] paz00 updates for 3.3 Marc Dietrich
2011-10-31 19:58 ` [PATCH 1/3] ARM: tegra: paz00: add support for wakeup gpio key Marc Dietrich
2011-10-31 20:13   ` Stephen Warren
2011-10-31 21:36     ` Marc Dietrich
2011-10-31 19:58 ` [PATCH 2/3] staging: nvec: add device tree support Marc Dietrich
2011-10-31 20:18   ` Stephen Warren
2011-10-31 22:18     ` Marc Dietrich
2011-10-31 19:58 ` [PATCH 3/3] arm/dt: tegra: add dts file for paz00 Marc Dietrich
2011-10-31 20:14   ` Stephen Warren
2011-10-31 22:20     ` Marc Dietrich
  -- strict thread matches above, loose matches on Subject: below --
2011-11-01 20:37 [PATCH v4 0/3] paz00 updates for 3.3 Marc Dietrich
2011-11-01 20:37 ` [PATCH 3/3] arm/dt: tegra: add dts file for paz00 Marc Dietrich
2011-11-01 22:37   ` Stephen Warren
     [not found] <cover.1319313019.git.marvin24@gmx.de>
     [not found] ` <90ee88bcde84141e0280ffa4ccbd288462489eba.1319313020.git.marvin24@gmx.de>
2011-10-25  5:16   ` Stephen Warren
2011-10-25 19:05     ` Marc Dietrich
2011-10-26  6:43       ` Stephen Warren
2011-10-26 20:18         ` Marc Dietrich
2011-10-25 19:51     ` Rob Herring
2011-10-26  6:40       ` Stephen Warren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).