[U-Boot] [PATCH 1/3] ARM: tegra: fix Tegra186 DT GPIO binding header

From: Stephen Warren swarren@nvidia.com
Tegra186 uses different GPIO port IDs compared to previous chips. Make sure the SoC DT file includes the correct GPIO binding header.
Signed-off-by: Stephen Warren swarren@nvidia.com --- arch/arm/dts/tegra186.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/dts/tegra186.dtsi b/arch/arm/dts/tegra186.dtsi index fce34fa6500e..99d49254b36b 100644 --- a/arch/arm/dts/tegra186.dtsi +++ b/arch/arm/dts/tegra186.dtsi @@ -1,5 +1,5 @@ #include "skeleton.dtsi" -#include <dt-bindings/gpio/tegra-gpio.h> +#include <dt-bindings/gpio/tegra186-gpio.h> #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/mailbox/tegra-hsp.h>

From: Stephen Warren swarren@nvidia.com
There are multiple versions of p2771-0000 board. There are SW visible incompatible differences between the versions, and they are relevant to U-Boot. Create separate "A02" and "B00" defconfigs (named after the first and/or only board rev they defconfig supports) so that users can select which build they want.
With the minimal set of HW currently enabled in U-Boot, the differences are irrelevant, hence the DT files aren't different. However, that will change in a future patch.
Signed-off-by: Stephen Warren swarren@nvidia.com --- arch/arm/dts/Makefile | 3 ++- arch/arm/dts/tegra186-p2771-0000-a02.dts | 8 ++++++++ arch/arm/dts/tegra186-p2771-0000-b00.dts | 8 ++++++++ .../arm/dts/{tegra186-p2771-0000.dts => tegra186-p2771-0000.dtsi} | 2 -- configs/{p2771-0000_defconfig => p2771-0000-a02_defconfig} | 4 ++-- configs/{p2771-0000_defconfig => p2771-0000-b00_defconfig} | 4 ++-- 6 files changed, 22 insertions(+), 7 deletions(-) create mode 100644 arch/arm/dts/tegra186-p2771-0000-a02.dts create mode 100644 arch/arm/dts/tegra186-p2771-0000-b00.dts rename arch/arm/dts/{tegra186-p2771-0000.dts => tegra186-p2771-0000.dtsi} (96%) copy configs/{p2771-0000_defconfig => p2771-0000-a02_defconfig} (85%) rename configs/{p2771-0000_defconfig => p2771-0000-b00_defconfig} (85%)
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index ef573ec68515..d41183c917fe 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -53,7 +53,8 @@ dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \ tegra124-jetson-tk1.dtb \ tegra124-nyan-big.dtb \ tegra124-venice2.dtb \ - tegra186-p2771-0000.dtb \ + tegra186-p2771-0000-a02.dtb \ + tegra186-p2771-0000-b00.dtb \ tegra210-e2220-1170.dtb \ tegra210-p2371-0000.dtb \ tegra210-p2371-2180.dtb \ diff --git a/arch/arm/dts/tegra186-p2771-0000-a02.dts b/arch/arm/dts/tegra186-p2771-0000-a02.dts new file mode 100644 index 000000000000..70f4326c0913 --- /dev/null +++ b/arch/arm/dts/tegra186-p2771-0000-a02.dts @@ -0,0 +1,8 @@ +/dts-v1/; + +#include "tegra186-p2771-0000.dtsi" + +/ { + model = "NVIDIA P2771-0000 A02"; + compatible = "nvidia,p2771-0000-a02", "nvidia,p2771-0000", "nvidia,tegra186"; +}; diff --git a/arch/arm/dts/tegra186-p2771-0000-b00.dts b/arch/arm/dts/tegra186-p2771-0000-b00.dts new file mode 100644 index 000000000000..2384a65e870a --- /dev/null +++ b/arch/arm/dts/tegra186-p2771-0000-b00.dts @@ -0,0 +1,8 @@ +/dts-v1/; + +#include "tegra186-p2771-0000.dtsi" + +/ { + model = "NVIDIA P2771-0000 B00"; + compatible = "nvidia,p2771-0000-b00", "nvidia,p2771-0000", "nvidia,tegra186"; +}; diff --git a/arch/arm/dts/tegra186-p2771-0000.dts b/arch/arm/dts/tegra186-p2771-0000.dtsi similarity index 96% rename from arch/arm/dts/tegra186-p2771-0000.dts rename to arch/arm/dts/tegra186-p2771-0000.dtsi index 5f29ee450194..87f0427e80c1 100644 --- a/arch/arm/dts/tegra186-p2771-0000.dts +++ b/arch/arm/dts/tegra186-p2771-0000.dtsi @@ -1,5 +1,3 @@ -/dts-v1/; - #include "tegra186.dtsi"
/ { diff --git a/configs/p2771-0000_defconfig b/configs/p2771-0000-a02_defconfig similarity index 85% copy from configs/p2771-0000_defconfig copy to configs/p2771-0000-a02_defconfig index 9f2c418f9fe1..1fe25f58f199 100644 --- a/configs/p2771-0000_defconfig +++ b/configs/p2771-0000-a02_defconfig @@ -2,10 +2,10 @@ CONFIG_ARM=y CONFIG_TEGRA=y CONFIG_TEGRA186=y CONFIG_TARGET_P2771_0000=y -CONFIG_DEFAULT_DEVICE_TREE="tegra186-p2771-0000" +CONFIG_DEFAULT_DEVICE_TREE="tegra186-p2771-0000-a02" CONFIG_OF_SYSTEM_SETUP=y CONFIG_HUSH_PARSER=y -CONFIG_SYS_PROMPT="Tegra186 (P2771-0000) # " +CONFIG_SYS_PROMPT="Tegra186 (P2771-0000 A02) # " # CONFIG_CMD_IMI is not set # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set diff --git a/configs/p2771-0000_defconfig b/configs/p2771-0000-b00_defconfig similarity index 85% rename from configs/p2771-0000_defconfig rename to configs/p2771-0000-b00_defconfig index 9f2c418f9fe1..552fb6cec78b 100644 --- a/configs/p2771-0000_defconfig +++ b/configs/p2771-0000-b00_defconfig @@ -2,10 +2,10 @@ CONFIG_ARM=y CONFIG_TEGRA=y CONFIG_TEGRA186=y CONFIG_TARGET_P2771_0000=y -CONFIG_DEFAULT_DEVICE_TREE="tegra186-p2771-0000" +CONFIG_DEFAULT_DEVICE_TREE="tegra186-p2771-0000-b00" CONFIG_OF_SYSTEM_SETUP=y CONFIG_HUSH_PARSER=y -CONFIG_SYS_PROMPT="Tegra186 (P2771-0000) # " +CONFIG_SYS_PROMPT="Tegra186 (P2771-0000 B00) # " # CONFIG_CMD_IMI is not set # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set

From: Stephen Warren swarren@nvidia.com
Many files in arch/arm/mach-tegra are compiled conditionally based on Kconfig variables, or applicable to all platforms. We can let the main Tegra Makefile handle compiling (or not) those files to avoid each SoC- specific Makefile needing to duplicate entries for those files. This leaves the SoC-specific Makefiles to compile truly SoC-specific code.
In the future, we'll hopefully add Kconfig variables for all the other files, and refactor those files, and so reduce the need for SoC-specific Makefiles and/or ifdefs in the Makefiles.
Signed-off-by: Stephen Warren swarren@nvidia.com --- arch/arm/mach-tegra/Makefile | 12 ++++++------ arch/arm/mach-tegra/tegra186/Makefile | 3 --- 2 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/arch/arm/mach-tegra/Makefile b/arch/arm/mach-tegra/Makefile index 12ee1cd7495b..3b8d0127c7aa 100644 --- a/arch/arm/mach-tegra/Makefile +++ b/arch/arm/mach-tegra/Makefile @@ -15,23 +15,23 @@ else obj-$(CONFIG_CMD_ENTERRCM) += cmd_enterrcm.o endif
-obj-$(CONFIG_ARM64) += arm64-mmu.o obj-y += ap.o obj-y += board.o board2.o obj-y += cache.o obj-y += clock.o -obj-y += lowlevel_init.o obj-y += pinmux-common.o obj-y += powergate.o obj-y += xusb-padctl-dummy.o -obj-$(CONFIG_DISPLAY_CPUINFO) += sys_info.o -obj-$(CONFIG_TEGRA_GPU) += gpu.o -obj-$(CONFIG_TEGRA_CLOCK_SCALING) += emc.o +endif
+obj-$(CONFIG_ARM64) += arm64-mmu.o +obj-$(CONFIG_TEGRA_CLOCK_SCALING) += emc.o +obj-$(CONFIG_TEGRA_GPU) += gpu.o +obj-y += lowlevel_init.o ifndef CONFIG_SPL_BUILD obj-$(CONFIG_ARMV7_PSCI) += psci.o endif -endif +obj-$(CONFIG_DISPLAY_CPUINFO) += sys_info.o
obj-$(CONFIG_TEGRA20) += tegra20/ obj-$(CONFIG_TEGRA30) += tegra30/ diff --git a/arch/arm/mach-tegra/tegra186/Makefile b/arch/arm/mach-tegra/tegra186/Makefile index ce4610d8f809..188b097d2c7f 100644 --- a/arch/arm/mach-tegra/tegra186/Makefile +++ b/arch/arm/mach-tegra/tegra186/Makefile @@ -2,7 +2,4 @@ # # SPDX-License-Identifier: GPL-2.0
-obj-y += ../arm64-mmu.o obj-y += ../board186.o -obj-y += ../lowlevel_init.o -obj-$(CONFIG_DISPLAY_CPUINFO) += ../sys_info.o
participants (1)
-
Stephen Warren