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

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
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

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?

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.

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

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?
participants (3)
-
Stephen Warren
-
Tom Rini
-
Tom Warren