diff mbox

[U-Boot] Tegra: T30: Beaver board support.

Message ID 1365805839-2782-1-git-send-email-twarren@nvidia.com
State Superseded
Delegated to: Tom Warren
Headers show

Commit Message

Tom Warren April 12, 2013, 10:30 p.m. UTC
Beaver is a Tegra30 board that is nearly 100% compatible w/Cardhu.
Add a Beaver build so it can begin to be differentiated, if need be.

Signed-off-by: Tom Warren <twarren@nvidia.com>
---
 board/nvidia/beaver/Makefile        | 38 +++++++++++++++++++++
 board/nvidia/dts/tegra30-beaver.dts | 66 +++++++++++++++++++++++++++++++++++++
 boards.cfg                          |  1 +
 3 files changed, 105 insertions(+)
 create mode 100644 board/nvidia/beaver/Makefile
 create mode 100644 board/nvidia/dts/tegra30-beaver.dts

Comments

Tom Rini April 12, 2013, 10:35 p.m. UTC | #1
On Fri, Apr 12, 2013 at 03:30:39PM -0700, Tom Warren wrote:

> Beaver is a Tegra30 board that is nearly 100% compatible w/Cardhu.
> Add a Beaver build so it can begin to be differentiated, if need be.
> 
> Signed-off-by: Tom Warren <twarren@nvidia.com>
> ---
>  board/nvidia/beaver/Makefile        | 38 +++++++++++++++++++++
>  board/nvidia/dts/tegra30-beaver.dts | 66 +++++++++++++++++++++++++++++++++++++
>  boards.cfg                          |  1 +

OK, I assume cardhu and beaver dts files differ, right?  If so, maybe we
can find a smaller way to just say we have N boards that use a different
dts, but that's it?
Stephen Warren April 12, 2013, 10:39 p.m. UTC | #2
On 04/12/2013 04:35 PM, Tom Rini wrote:
> On Fri, Apr 12, 2013 at 03:30:39PM -0700, Tom Warren wrote:
> 
>> Beaver is a Tegra30 board that is nearly 100% compatible 
>> w/Cardhu. Add a Beaver build so it can begin to be 
>> differentiated, if need be.
>> 
>> Signed-off-by: Tom Warren <twarren@nvidia.com> --- 
>> board/nvidia/beaver/Makefile        | 38 +++++++++++++++++++++ 
>> board/nvidia/dts/tegra30-beaver.dts | 66 
>> +++++++++++++++++++++++++++++++++++++ boards.cfg |  1 +
> 
> OK, I assume cardhu and beaver dts files differ, right?  If so, 
> maybe we can find a smaller way to just say we have N boards that 
> use a different dts, but that's it?

I think you can do that just be modifying boards.cfg; n lines with the
same content except for the name in the first column, e.g.:

> snow                         arm         armv7       smdk5250            samsung        exynos
> smdk5250                     arm         armv7       smdk5250            samsung        exynos

You can also add an extra column with options if needed, although I
imagine the makefiles can see the value of the first column to e.g.
select different .dts files?

Perhaps we should do the same for Seaboard/Ventana too.
Tom Warren April 12, 2013, 10:40 p.m. UTC | #3
On Fri, Apr 12, 2013 at 3:35 PM, Tom Rini <trini@ti.com> wrote:

> On Fri, Apr 12, 2013 at 03:30:39PM -0700, Tom Warren wrote:
>
> > Beaver is a Tegra30 board that is nearly 100% compatible w/Cardhu.
> > Add a Beaver build so it can begin to be differentiated, if need be.
> >
> > Signed-off-by: Tom Warren <twarren@nvidia.com>
> > ---
> >  board/nvidia/beaver/Makefile        | 38 +++++++++++++++++++++
> >  board/nvidia/dts/tegra30-beaver.dts | 66
> +++++++++++++++++++++++++++++++++++++
> >  boards.cfg                          |  1 +
>
> OK, I assume cardhu and beaver dts files differ, right?  If so, maybe we
> can find a smaller way to just say we have N boards that use a different
> dts, but that's it?
>
> Right now, they only differ in the 'model' and 'compatible' fields
(because of the name change), and max memory (Beaver has more).

At some point, it may be more than just a DTS difference, though.

Tom
>
Tom Rini April 13, 2013, 12:50 a.m. UTC | #4
On Fri, Apr 12, 2013 at 03:40:43PM -0700, Tom Warren wrote:
> On Fri, Apr 12, 2013 at 3:35 PM, Tom Rini <trini@ti.com> wrote:
> 
> > On Fri, Apr 12, 2013 at 03:30:39PM -0700, Tom Warren wrote:
> >
> > > Beaver is a Tegra30 board that is nearly 100% compatible w/Cardhu.
> > > Add a Beaver build so it can begin to be differentiated, if need be.
> > >
> > > Signed-off-by: Tom Warren <twarren@nvidia.com>
> > > ---
> > >  board/nvidia/beaver/Makefile        | 38 +++++++++++++++++++++
> > >  board/nvidia/dts/tegra30-beaver.dts | 66
> > +++++++++++++++++++++++++++++++++++++
> > >  boards.cfg                          |  1 +
> >
> > OK, I assume cardhu and beaver dts files differ, right?  If so, maybe we
> > can find a smaller way to just say we have N boards that use a different
> > dts, but that's it?
> >
> > Right now, they only differ in the 'model' and 'compatible' fields
> (because of the name change), and max memory (Beaver has more).
> 
> At some point, it may be more than just a DTS difference, though.

OK.  And this is something I'm struggling with and thinking about for
am335x, we want to make it easy to re-use SoC-specific bits (say memory
controller) as well as likely used things (say ethernet).  Or are you
not quite at the point of number of boards to be able to say whats
likely reused but not SoC specific?
diff mbox

Patch

diff --git a/board/nvidia/beaver/Makefile b/board/nvidia/beaver/Makefile
new file mode 100644
index 0000000..9510f60
--- /dev/null
+++ b/board/nvidia/beaver/Makefile
@@ -0,0 +1,38 @@ 
+#
+# Copyright (c) 2010-2013, NVIDIA CORPORATION.  All rights reserved.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms and conditions of the GNU General Public License,
+# version 2, as published by the Free Software Foundation.
+#
+# This program is distributed in the hope it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+# more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+
+include $(TOPDIR)/config.mk
+
+$(shell mkdir -p $(obj)../cardhu)
+
+LIB	= $(obj)lib$(BOARD).o
+
+COBJS	= ../cardhu/cardhu.o
+
+SRCS	:= $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS))
+
+$(LIB):	$(obj).depend $(OBJS)
+	$(call cmd_link_o_target, $(OBJS))
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
diff --git a/board/nvidia/dts/tegra30-beaver.dts b/board/nvidia/dts/tegra30-beaver.dts
new file mode 100644
index 0000000..84aff51
--- /dev/null
+++ b/board/nvidia/dts/tegra30-beaver.dts
@@ -0,0 +1,66 @@ 
+/dts-v1/;
+
+#include "tegra30.dtsi"
+
+/ {
+	model = "NVIDIA Beaver";
+	compatible = "nvidia,beaver", "nvidia,tegra30";
+
+	aliases {
+		i2c0 = "/i2c@7000d000";
+		i2c1 = "/i2c@7000c000";
+		i2c2 = "/i2c@7000c400";
+		i2c3 = "/i2c@7000c500";
+		i2c4 = "/i2c@7000c700";
+		sdhci0 = "/sdhci@78000600";
+		sdhci1 = "/sdhci@78000000";
+	};
+
+	memory {
+		device_type = "memory";
+		reg = <0x80000000 0x80000000>;
+	};
+
+	i2c@7000c000 {
+		status = "okay";
+		clock-frequency = <100000>;
+	};
+
+	i2c@7000c400 {
+		status = "okay";
+		clock-frequency = <100000>;
+	};
+
+	i2c@7000c500 {
+		status = "okay";
+		clock-frequency = <100000>;
+	};
+
+	i2c@7000c700 {
+		status = "okay";
+		clock-frequency = <100000>;
+	};
+
+	i2c@7000d000 {
+		status = "okay";
+		clock-frequency = <100000>;
+	};
+
+	spi@7000da00 {
+		status = "okay";
+		spi-max-frequency = <25000000>;
+	};
+
+	sdhci@78000000 {
+		status = "okay";
+		cd-gpios = <&gpio 69 1>; /* gpio PI5 */
+		wp-gpios = <&gpio 155 0>; /* gpio PT3 */
+		power-gpios = <&gpio 31 0>; /* gpio PD7 */
+		bus-width = <4>;
+	};
+
+	sdhci@78000600 {
+		status = "okay";
+		bus-width = <8>;
+	};
+};
diff --git a/boards.cfg b/boards.cfg
index 1acf56a..676f25c 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -310,6 +310,7 @@  seaboard                     arm         armv7:arm720t seaboard          nvidia
 ventana                      arm         armv7:arm720t ventana           nvidia         tegra20
 whistler                     arm         armv7:arm720t whistler          nvidia         tegra20
 cardhu                       arm         armv7:arm720t cardhu            nvidia         tegra30
+beaver                       arm         armv7:arm720t beaver            nvidia         tegra30
 dalmore                      arm         armv7:arm720t dalmore           nvidia         tegra114
 colibri_t20_iris             arm         armv7:arm720t colibri_t20_iris  toradex        tegra20
 u8500_href                   arm         armv7       u8500               st-ericsson    u8500