diff mbox

arm/tegra: Add device-tree support for TrimSlice board

Message ID 1319450467-11819-1-git-send-email-swarren@nvidia.com
State Superseded, archived
Headers show

Commit Message

Stephen Warren Oct. 24, 2011, 10:01 a.m. UTC
* Add device-tree file for TrimSlice
* Add that to the list of .dts files to build
* Update board-dt.c to recognize TrimSlice board name

Signed-off-by: Stephen Warren <swarren@nvidia.com>
---
 arch/arm/boot/dts/tegra-trimslice.dts |   38 +++++++++++++++++++++++++++++++++
 arch/arm/mach-tegra/Makefile.boot     |    1 +
 arch/arm/mach-tegra/board-dt.c        |    3 ++
 3 files changed, 42 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/boot/dts/tegra-trimslice.dts

Comments

Marc Dietrich Oct. 24, 2011, 9:27 p.m. UTC | #1
Hi Stephen,

On Monday 24 October 2011 12:01:07 Stephen Warren wrote:
> * Add device-tree file for TrimSlice
> * Add that to the list of .dts files to build
> * Update board-dt.c to recognize TrimSlice board name
> 
> Signed-off-by: Stephen Warren <swarren@nvidia.com>
> ---
>  arch/arm/boot/dts/tegra-trimslice.dts |   38
> +++++++++++++++++++++++++++++++++ arch/arm/mach-tegra/Makefile.boot     |  
>  1 +
>  arch/arm/mach-tegra/board-dt.c        |    3 ++
>  3 files changed, 42 insertions(+), 0 deletions(-)
>  create mode 100644 arch/arm/boot/dts/tegra-trimslice.dts

doesn't this also require to add something like 

obj-${CONFIG_MACH_TEGRA_DT} += board-trimslice-pinmux.o

to the Makefile?

And how is the binary device tree generated? I cannot find the proper CONFIG so 
that Makefile.boot is executed.

Marc


> diff --git a/arch/arm/boot/dts/tegra-trimslice.dts
> b/arch/arm/boot/dts/tegra-trimslice.dts new file mode 100644
> index 0000000..d3d0d20
> --- /dev/null
> +++ b/arch/arm/boot/dts/tegra-trimslice.dts
> @@ -0,0 +1,38 @@
> +/dts-v1/;
> +
> +/memreserve/ 0x1c000000 0x04000000;
> +/include/ "tegra20.dtsi"
> +
> +/ {
> +	model = "Compulab TrimSlice board";
> +	compatible = "compulab,trimslice", "nvidia,tegra20";
> +
> +	chosen {
> +		bootargs = "vmalloc=192M video=tegrafb console=ttyS0,115200n8
> root=/dev/mmcblk0p1 rw rootwait"; +	};
> +
> +	memory@0 {
> +		reg = < 0x00000000 0x40000000 >;
> +	};
> +
> +	i2c@7000c000 {
> +		clock-frequency = <400000>;
> +	};
> +
> +	i2c@7000c400 {
> +		clock-frequency = <400000>;
> +	};
> +
> +	i2c@7000c500 {
> +		clock-frequency = <400000>;
> +	};
> +
> +	serial@70006000 {
> +		clock-frequency = < 216000000 >;
> +	};
> +
> +	sdhci@c8000600 {
> +		cd-gpios = <&gpio 121 0>;
> +		wp-gpios = <&gpio 122 0>;
> +	};
> +};
> diff --git a/arch/arm/mach-tegra/Makefile.boot
> b/arch/arm/mach-tegra/Makefile.boot index bd12c9f..9f177a4 100644
> --- a/arch/arm/mach-tegra/Makefile.boot
> +++ b/arch/arm/mach-tegra/Makefile.boot
> @@ -4,4 +4,5 @@ initrd_phys-$(CONFIG_ARCH_TEGRA_2x_SOC)	:= 0x00800000
> 
>  dtb-$(CONFIG_MACH_HARMONY) += tegra-harmony.dtb
>  dtb-$(CONFIG_MACH_SEABOARD) += tegra-seaboard.dtb
> +dtb-$(CONFIG_MACH_TRIMSLICE) += tegra-trimslice.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 0d22212..9ac4ed7 100644
> --- a/arch/arm/mach-tegra/board-dt.c
> +++ b/arch/arm/mach-tegra/board-dt.c
> @@ -47,6 +47,7 @@
> 
>  void harmony_pinmux_init(int is_dt);
>  void seaboard_pinmux_init(int is_dt);
> +void trimslice_pinmux_init(int is_dt);
>  void ventana_pinmux_init(int is_dt);
> 
>  struct of_dev_auxdata tegra20_auxdata_lookup[] __initdata = {
> @@ -84,6 +85,7 @@ static struct {
>  	char *machine;
>  	void (*init)(int is_dt);
>  } pinmux_configs[] = {
> +	{ "compulab,trimslice", trimslice_pinmux_init },
>  	{ "nvidia,harmony", harmony_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[] = {
> +	"compulab,trimslice",
>  	"nvidia,harmony",
>  	"nvidia,seaboard",
>  	"nvidia,ventana",
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stephen Warren Oct. 25, 2011, 4:10 a.m. UTC | #2
Marc Dietrich wrote at Monday, October 24, 2011 3:28 PM:
> On Monday 24 October 2011 12:01:07 Stephen Warren wrote:
> > * Add device-tree file for TrimSlice
> > * Add that to the list of .dts files to build
> > * Update board-dt.c to recognize TrimSlice board name
> >
> > Signed-off-by: Stephen Warren <swarren@nvidia.com>
> > ---
> >  arch/arm/boot/dts/tegra-trimslice.dts |   38
> > +++++++++++++++++++++++++++++++++ arch/arm/mach-tegra/Makefile.boot     |
> >  1 +
> >  arch/arm/mach-tegra/board-dt.c        |    3 ++
> >  3 files changed, 42 insertions(+), 0 deletions(-)
> >  create mode 100644 arch/arm/boot/dts/tegra-trimslice.dts
> 
> doesn't this also require to add something like
> 
> obj-${CONFIG_MACH_TEGRA_DT} += board-trimslice-pinmux.o
> 
> to the Makefile?

Yes, definitely. I've fixed this up locally; I hope to repost soon.

> And how is the binary device tree generated? I cannot find the proper CONFIG so
> that Makefile.boot is executed.

make dtbs
(this relies on having built dtc, which happens only by "make" not e.g.
"make zImage" IIRC)
Thierry Reding Oct. 25, 2011, 5:52 a.m. UTC | #3
* Stephen Warren wrote:
> Marc Dietrich wrote at Monday, October 24, 2011 3:28 PM:
> > On Monday 24 October 2011 12:01:07 Stephen Warren wrote:
> > > * Add device-tree file for TrimSlice
> > > * Add that to the list of .dts files to build
> > > * Update board-dt.c to recognize TrimSlice board name
> > >
> > > Signed-off-by: Stephen Warren <swarren@nvidia.com>
> > > ---
> > >  arch/arm/boot/dts/tegra-trimslice.dts |   38
> > > +++++++++++++++++++++++++++++++++ arch/arm/mach-tegra/Makefile.boot     |
> > >  1 +
> > >  arch/arm/mach-tegra/board-dt.c        |    3 ++
> > >  3 files changed, 42 insertions(+), 0 deletions(-)
> > >  create mode 100644 arch/arm/boot/dts/tegra-trimslice.dts
> > 
> > doesn't this also require to add something like
> > 
> > obj-${CONFIG_MACH_TEGRA_DT} += board-trimslice-pinmux.o
> > 
> > to the Makefile?
> 
> Yes, definitely. I've fixed this up locally; I hope to repost soon.

Can it please be obj-$(CONFIG_MACH_TEGRA_DT) instead? I think both Russell
and Olof agreed[0] to use parens instead of braces, even though the current
practice is to copy what previous boards did.

Thierry

[0]: http://article.gmane.org/gmane.linux.ports.tegra/1670
Olof Johansson Oct. 25, 2011, 7:55 a.m. UTC | #4
On Tue, Oct 25, 2011 at 7:52 AM, Thierry Reding
<thierry.reding@avionic-design.de> wrote:
> * Stephen Warren wrote:
>> Marc Dietrich wrote at Monday, October 24, 2011 3:28 PM:
>> > On Monday 24 October 2011 12:01:07 Stephen Warren wrote:
>> > > * Add device-tree file for TrimSlice
>> > > * Add that to the list of .dts files to build
>> > > * Update board-dt.c to recognize TrimSlice board name
>> > >
>> > > Signed-off-by: Stephen Warren <swarren@nvidia.com>
>> > > ---
>> > >  arch/arm/boot/dts/tegra-trimslice.dts |   38
>> > > +++++++++++++++++++++++++++++++++ arch/arm/mach-tegra/Makefile.boot     |
>> > >  1 +
>> > >  arch/arm/mach-tegra/board-dt.c        |    3 ++
>> > >  3 files changed, 42 insertions(+), 0 deletions(-)
>> > >  create mode 100644 arch/arm/boot/dts/tegra-trimslice.dts
>> >
>> > doesn't this also require to add something like
>> >
>> > obj-${CONFIG_MACH_TEGRA_DT} += board-trimslice-pinmux.o
>> >
>> > to the Makefile?
>>
>> Yes, definitely. I've fixed this up locally; I hope to repost soon.
>
> Can it please be obj-$(CONFIG_MACH_TEGRA_DT) instead? I think both Russell
> and Olof agreed[0] to use parens instead of braces, even though the current
> practice is to copy what previous boards did.

Ah yeah, I forgot to clean that up for 3.2, I'll post a patch shortly.
Braces are nonstandard, and will continue to proliferate if left in
there.


-Olof
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/boot/dts/tegra-trimslice.dts b/arch/arm/boot/dts/tegra-trimslice.dts
new file mode 100644
index 0000000..d3d0d20
--- /dev/null
+++ b/arch/arm/boot/dts/tegra-trimslice.dts
@@ -0,0 +1,38 @@ 
+/dts-v1/;
+
+/memreserve/ 0x1c000000 0x04000000;
+/include/ "tegra20.dtsi"
+
+/ {
+	model = "Compulab TrimSlice board";
+	compatible = "compulab,trimslice", "nvidia,tegra20";
+
+	chosen {
+		bootargs = "vmalloc=192M video=tegrafb console=ttyS0,115200n8 root=/dev/mmcblk0p1 rw rootwait";
+	};
+
+	memory@0 {
+		reg = < 0x00000000 0x40000000 >;
+	};
+
+	i2c@7000c000 {
+		clock-frequency = <400000>;
+	};
+
+	i2c@7000c400 {
+		clock-frequency = <400000>;
+	};
+
+	i2c@7000c500 {
+		clock-frequency = <400000>;
+	};
+
+	serial@70006000 {
+		clock-frequency = < 216000000 >;
+	};
+
+	sdhci@c8000600 {
+		cd-gpios = <&gpio 121 0>;
+		wp-gpios = <&gpio 122 0>;
+	};
+};
diff --git a/arch/arm/mach-tegra/Makefile.boot b/arch/arm/mach-tegra/Makefile.boot
index bd12c9f..9f177a4 100644
--- a/arch/arm/mach-tegra/Makefile.boot
+++ b/arch/arm/mach-tegra/Makefile.boot
@@ -4,4 +4,5 @@  initrd_phys-$(CONFIG_ARCH_TEGRA_2x_SOC)	:= 0x00800000
 
 dtb-$(CONFIG_MACH_HARMONY) += tegra-harmony.dtb
 dtb-$(CONFIG_MACH_SEABOARD) += tegra-seaboard.dtb
+dtb-$(CONFIG_MACH_TRIMSLICE) += tegra-trimslice.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 0d22212..9ac4ed7 100644
--- a/arch/arm/mach-tegra/board-dt.c
+++ b/arch/arm/mach-tegra/board-dt.c
@@ -47,6 +47,7 @@ 
 
 void harmony_pinmux_init(int is_dt);
 void seaboard_pinmux_init(int is_dt);
+void trimslice_pinmux_init(int is_dt);
 void ventana_pinmux_init(int is_dt);
 
 struct of_dev_auxdata tegra20_auxdata_lookup[] __initdata = {
@@ -84,6 +85,7 @@  static struct {
 	char *machine;
 	void (*init)(int is_dt);
 } pinmux_configs[] = {
+	{ "compulab,trimslice", trimslice_pinmux_init },
 	{ "nvidia,harmony", harmony_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[] = {
+	"compulab,trimslice",
 	"nvidia,harmony",
 	"nvidia,seaboard",
 	"nvidia,ventana",