All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
@ 2023-04-12 19:49 Svyatoslav Ryhel
  2023-04-12 19:49 ` [PATCH v1 1/4] configs: tegra-common-post: add GPIO keyboard as STDIN device Svyatoslav Ryhel
                   ` (4 more replies)
  0 siblings, 5 replies; 16+ messages in thread
From: Svyatoslav Ryhel @ 2023-04-12 19:49 UTC (permalink / raw)
  To: Tom Warren, Svyatoslav Ryhel, Marek Vasut, Philippe Reynes,
	Marcel Ziswiler, Fabio Estevam, Simon Glass, Jonas Schwöbel
  Cc: u-boot

This patchset adds support for native use of U-Boot on ASUS/Google
Nexus 7 (2012), aka grouper/tilapia as a replacement of vendor
bootloader. Alongside device bringup tegra requires few small patches:
 - add gpio keyboard as stdin device
 - make networking boot options optional
 - add a small tool to generate SoC UID

Jonas Schwöbel (1):
  configs: tegra-common-post: make PXE and DHCP boot targets optional

Svyatoslav Ryhel (3):
  configs: tegra-common-post: add GPIO keyboard as STDIN device
  ARM: tegra: add SoC UID calculation function
  board: asus: grouper: add Google Nexus 7 (2012) support

 arch/arm/dts/Makefile                         |   3 +
 arch/arm/dts/tegra30-asus-grouper-common.dtsi | 125 ++++++
 .../dts/tegra30-asus-nexus7-grouper-E1565.dts |  40 ++
 .../dts/tegra30-asus-nexus7-grouper-PM269.dts |  65 ++++
 .../dts/tegra30-asus-nexus7-tilapia-E1565.dts |  40 ++
 arch/arm/include/asm/arch-tegra/fuse.h        |   7 +
 arch/arm/mach-tegra/Makefile                  |   2 +-
 arch/arm/mach-tegra/fuse.c                    | 151 ++++++++
 arch/arm/mach-tegra/tegra30/Kconfig           |   5 +
 board/asus/grouper/Kconfig                    |  20 +
 board/asus/grouper/MAINTAINERS                |   6 +
 board/asus/grouper/Makefile                   |  14 +
 board/asus/grouper/grouper-spl-max.c          |  46 +++
 board/asus/grouper/grouper-spl-ti.c           |  42 ++
 board/asus/grouper/grouper.c                  | 209 ++++++++++
 board/asus/grouper/pinmux-config-grouper.h    | 362 ++++++++++++++++++
 configs/grouper_E1565.config                  |   2 +
 configs/grouper_PM269.config                  |   2 +
 configs/grouper_common_defconfig              |  85 ++++
 configs/tilapia.config                        |   3 +
 include/configs/grouper.h                     |  68 ++++
 include/configs/tegra-common-post.h           |  28 +-
 22 files changed, 1319 insertions(+), 6 deletions(-)
 create mode 100644 arch/arm/dts/tegra30-asus-grouper-common.dtsi
 create mode 100644 arch/arm/dts/tegra30-asus-nexus7-grouper-E1565.dts
 create mode 100644 arch/arm/dts/tegra30-asus-nexus7-grouper-PM269.dts
 create mode 100644 arch/arm/dts/tegra30-asus-nexus7-tilapia-E1565.dts
 create mode 100644 arch/arm/mach-tegra/fuse.c
 create mode 100644 board/asus/grouper/Kconfig
 create mode 100644 board/asus/grouper/MAINTAINERS
 create mode 100644 board/asus/grouper/Makefile
 create mode 100644 board/asus/grouper/grouper-spl-max.c
 create mode 100644 board/asus/grouper/grouper-spl-ti.c
 create mode 100644 board/asus/grouper/grouper.c
 create mode 100644 board/asus/grouper/pinmux-config-grouper.h
 create mode 100644 configs/grouper_E1565.config
 create mode 100644 configs/grouper_PM269.config
 create mode 100644 configs/grouper_common_defconfig
 create mode 100644 configs/tilapia.config
 create mode 100644 include/configs/grouper.h

-- 
2.37.2


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

* [PATCH v1 1/4] configs: tegra-common-post: add GPIO keyboard as STDIN device
  2023-04-12 19:49 [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support Svyatoslav Ryhel
@ 2023-04-12 19:49 ` Svyatoslav Ryhel
  2023-04-12 19:49 ` [PATCH v1 2/4] configs: tegra-common-post: make PXE and DHCP boot targets optional Svyatoslav Ryhel
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 16+ messages in thread
From: Svyatoslav Ryhel @ 2023-04-12 19:49 UTC (permalink / raw)
  To: Tom Warren, Svyatoslav Ryhel, Marek Vasut, Philippe Reynes,
	Marcel Ziswiler, Fabio Estevam, Simon Glass, Jonas Schwöbel
  Cc: u-boot

GPIO keyboard is used on many newly upstreamed devices.

Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # ASUS Grouper E1565
Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # LG P895 T30
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
 include/configs/tegra-common-post.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/include/configs/tegra-common-post.h b/include/configs/tegra-common-post.h
index 991ffbb7df..2d5095639a 100644
--- a/include/configs/tegra-common-post.h
+++ b/include/configs/tegra-common-post.h
@@ -35,6 +35,12 @@
 #define STDIN_KBD_USB ""
 #endif
 
+#ifdef CONFIG_BUTTON_KEYBOARD
+#define STDIN_BTN_KBD ",button-kbd"
+#else
+#define STDIN_BTN_KBD ""
+#endif
+
 #ifdef CONFIG_VIDEO
 #define STDOUT_VIDEO ",vidconsole"
 #else
@@ -48,7 +54,7 @@
 #endif
 
 #define TEGRA_DEVICE_SETTINGS \
-	"stdin=serial" STDIN_KBD_KBC STDIN_KBD_USB STDOUT_CROS_EC "\0" \
+	"stdin=serial" STDIN_KBD_KBC STDIN_KBD_USB STDOUT_CROS_EC STDIN_BTN_KBD "\0" \
 	"stdout=serial" STDOUT_VIDEO "\0" \
 	"stderr=serial" STDOUT_VIDEO "\0" \
 	""
-- 
2.37.2


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

* [PATCH v1 2/4] configs: tegra-common-post: make PXE and DHCP boot targets optional
  2023-04-12 19:49 [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support Svyatoslav Ryhel
  2023-04-12 19:49 ` [PATCH v1 1/4] configs: tegra-common-post: add GPIO keyboard as STDIN device Svyatoslav Ryhel
@ 2023-04-12 19:49 ` Svyatoslav Ryhel
  2023-04-12 19:49 ` [PATCH v1 3/4] ARM: tegra: add SoC UID calculation function Svyatoslav Ryhel
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 16+ messages in thread
From: Svyatoslav Ryhel @ 2023-04-12 19:49 UTC (permalink / raw)
  To: Tom Warren, Svyatoslav Ryhel, Marek Vasut, Philippe Reynes,
	Marcel Ziswiler, Fabio Estevam, Simon Glass, Jonas Schwöbel
  Cc: u-boot

From: Jonas Schwöbel <jonasschwoebel@yahoo.de>

Disabling the network related features in defconfig causes build to
fail so make them optional.

Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # ASUS Grouper E1565
Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # LG P895 T30
Signed-off-by: Jonas Schwöbel <jonasschwoebel@yahoo.de>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
 include/configs/tegra-common-post.h | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/include/configs/tegra-common-post.h b/include/configs/tegra-common-post.h
index 2d5095639a..0d0965ecce 100644
--- a/include/configs/tegra-common-post.h
+++ b/include/configs/tegra-common-post.h
@@ -8,9 +8,21 @@
 #define __TEGRA_COMMON_POST_H
 
 #if IS_ENABLED(CONFIG_CMD_USB)
-# define BOOT_TARGET_USB(func) func(USB, usb, 0)
+#define BOOT_TARGET_USB(func) func(USB, usb, 0)
 #else
-# define BOOT_TARGET_USB(func)
+#define BOOT_TARGET_USB(func)
+#endif
+
+#if CONFIG_IS_ENABLED(CMD_DHCP) && CONFIG_IS_ENABLED(CMD_PXE)
+#define BOOT_TARGET_PXE(func) func(PXE, pxe, na)
+#else
+#define BOOT_TARGET_PXE(func)
+#endif
+
+#if CONFIG_IS_ENABLED(CMD_DHCP)
+#define BOOT_TARGET_DHCP(func) func(DHCP, dhcp, na)
+#else
+#define BOOT_TARGET_DHCP(func)
 #endif
 
 #ifndef BOOT_TARGET_DEVICES
@@ -18,8 +30,8 @@
 	func(MMC, mmc, 1) \
 	func(MMC, mmc, 0) \
 	BOOT_TARGET_USB(func) \
-	func(PXE, pxe, na) \
-	func(DHCP, dhcp, na)
+	BOOT_TARGET_PXE(func) \
+	BOOT_TARGET_DHCP(func)
 #endif
 #include <config_distro_bootcmd.h>
 
-- 
2.37.2


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

* [PATCH v1 3/4] ARM: tegra: add SoC UID calculation function
  2023-04-12 19:49 [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support Svyatoslav Ryhel
  2023-04-12 19:49 ` [PATCH v1 1/4] configs: tegra-common-post: add GPIO keyboard as STDIN device Svyatoslav Ryhel
  2023-04-12 19:49 ` [PATCH v1 2/4] configs: tegra-common-post: make PXE and DHCP boot targets optional Svyatoslav Ryhel
@ 2023-04-12 19:49 ` Svyatoslav Ryhel
  2023-04-12 19:49 ` [PATCH v1 4/4] board: asus: grouper: add Google Nexus 7 (2012) support Svyatoslav Ryhel
  2023-04-12 23:07 ` [PATCH v1 0/4] Tegra: add ASUS/Google " Tom Warren
  4 siblings, 0 replies; 16+ messages in thread
From: Svyatoslav Ryhel @ 2023-04-12 19:49 UTC (permalink / raw)
  To: Tom Warren, Svyatoslav Ryhel, Marek Vasut, Philippe Reynes,
	Marcel Ziswiler, Fabio Estevam, Simon Glass, Jonas Schwöbel
  Cc: u-boot

This is a small tool for calculation of SoC UID based on the same
Linux function. It can be further used for generation of device
unique data like mac address or exposing it as serial number.

Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # ASUS Grouper E1565
Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # LG P895 T30
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
 arch/arm/include/asm/arch-tegra/fuse.h |   7 ++
 arch/arm/mach-tegra/Makefile           |   2 +-
 arch/arm/mach-tegra/fuse.c             | 151 +++++++++++++++++++++++++
 3 files changed, 159 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/mach-tegra/fuse.c

diff --git a/arch/arm/include/asm/arch-tegra/fuse.h b/arch/arm/include/asm/arch-tegra/fuse.h
index 5b8e0bd8d1..f3f2ad8e3f 100644
--- a/arch/arm/include/asm/arch-tegra/fuse.h
+++ b/arch/arm/include/asm/arch-tegra/fuse.h
@@ -19,4 +19,11 @@ struct fuse_regs {
 	u32 security_mode;		/* 0x1A0: FUSE_SECURITY_MODE */
 };
 
+/**
+ * Calculate SoC UID
+ *
+ * Return: uid if ok, 0 on error
+ */
+unsigned long long tegra_chip_uid(void);
+
 #endif	/* ifndef _FUSE_H_ */
diff --git a/arch/arm/mach-tegra/Makefile b/arch/arm/mach-tegra/Makefile
index 9147050b32..04e60ac853 100644
--- a/arch/arm/mach-tegra/Makefile
+++ b/arch/arm/mach-tegra/Makefile
@@ -14,7 +14,7 @@ endif
 
 obj-$(CONFIG_TEGRA_GP_PADCTRL) += ap.o
 obj-y += board.o board2.o
-obj-y += cache.o
+obj-y += cache.o fuse.o
 obj-$(CONFIG_TEGRA_CLKRST) += clock.o
 obj-$(CONFIG_$(SPL_)TEGRA_CRYPTO) += crypto.o
 obj-$(CONFIG_TEGRA_PINCTRL) += pinmux-common.o
diff --git a/arch/arm/mach-tegra/fuse.c b/arch/arm/mach-tegra/fuse.c
new file mode 100644
index 0000000000..dff44a8936
--- /dev/null
+++ b/arch/arm/mach-tegra/fuse.c
@@ -0,0 +1,151 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ *  (C) Copyright 2012-2013
+ *  NVIDIA Corporation <www.nvidia.com>
+ *
+ *  (C) Copyright 2022
+ *  Svyatoslav Ryhel <clamor95@gmail.com>
+ */
+
+#include <common.h>
+#include <linux/delay.h>
+#include <asm/io.h>
+
+#include <asm/arch/clock.h>
+#include <asm/arch/gp_padctrl.h>
+#include <asm/arch/tegra.h>
+#include <asm/arch-tegra/fuse.h>
+
+#include "cpu.h"
+
+#define FUSE_UID_LOW		0x108
+#define FUSE_UID_HIGH		0x10c
+
+#define FUSE_VENDOR_CODE	0x200
+#define FUSE_FAB_CODE		0x204
+#define FUSE_LOT_CODE_0		0x208
+#define FUSE_LOT_CODE_1		0x20c
+#define FUSE_WAFER_ID		0x210
+#define FUSE_X_COORDINATE	0x214
+#define FUSE_Y_COORDINATE	0x218
+
+#define FUSE_VENDOR_CODE_MASK	0xf
+#define FUSE_FAB_CODE_MASK	0x3f
+#define FUSE_WAFER_ID_MASK	0x3f
+#define FUSE_X_COORDINATE_MASK	0x1ff
+#define FUSE_Y_COORDINATE_MASK	0x1ff
+
+static u32 tegra_fuse_readl(unsigned long offset)
+{
+	return readl(NV_PA_FUSE_BASE + offset);
+}
+
+static void tegra_set_fuse(void)
+{
+	u32 reg;
+
+	/*
+	 * Performed by downstream and is not
+	 * documented by TRM. Whithout setting
+	 * this bit fuse region will not work.
+	 */
+	reg = readl_relaxed(NV_PA_CLK_RST_BASE + 0x48);
+	reg |= BIT(28);
+	writel(reg, NV_PA_CLK_RST_BASE + 0x48);
+
+	clock_enable(PERIPH_ID_FUSE);
+	udelay(2);
+	reset_set_enable(PERIPH_ID_FUSE, 0);
+}
+
+unsigned long long tegra_chip_uid(void)
+{
+	u64 uid = 0ull;
+	u32 reg;
+	u32 cid;
+	u32 vendor;
+	u32 fab;
+	u32 lot;
+	u32 wafer;
+	u32 x;
+	u32 y;
+	u32 i;
+
+	tegra_set_fuse();
+
+	/* This used to be so much easier in prior chips. Unfortunately, there
+	   is no one-stop shopping for the unique id anymore. It must be
+	   constructed from various bits of information burned into the fuses
+	   during the manufacturing process. The 64-bit unique id is formed
+	   by concatenating several bit fields. The notation used for the
+	   various fields is <fieldname:size_in_bits> with the UID composed
+	   thusly:
+	   <CID:4><VENDOR:4><FAB:6><LOT:26><WAFER:6><X:9><Y:9>
+	   Where:
+		Field    Bits  Position Data
+		-------  ----  -------- ----------------------------------------
+		CID        4     60     Chip id
+		VENDOR     4     56     Vendor code
+		FAB        6     50     FAB code
+		LOT       26     24     Lot code (5-digit base-36-coded-decimal,
+					re-encoded to 26 bits binary)
+		WAFER      6     18     Wafer id
+		X          9      9     Wafer X-coordinate
+		Y          9      0     Wafer Y-coordinate
+		-------  ----
+		Total     64
+	*/
+
+	switch (tegra_get_chip()) {
+	case CHIPID_TEGRA20:
+		/* T20 has simple calculation */
+		return ((unsigned long long)tegra_fuse_readl(FUSE_UID_HIGH) << 32ull) |
+			(unsigned long long)tegra_fuse_readl(FUSE_UID_LOW);
+	case CHIPID_TEGRA30:
+		/* T30 chip id is 0 */
+		cid = 0;
+		break;
+	case CHIPID_TEGRA114:
+		/* T11x chip id is 1 */
+		cid = 1;
+		break;
+	case CHIPID_TEGRA124:
+		/* T12x chip id is 3 */
+		cid = 3;
+		break;
+	case CHIPID_TEGRA210:
+		/* T210 chip id is 5 */
+		cid = 5;
+	default:
+		return 0;
+	}
+
+	vendor = tegra_fuse_readl(FUSE_VENDOR_CODE) & FUSE_VENDOR_CODE_MASK;
+	fab = tegra_fuse_readl(FUSE_FAB_CODE) & FUSE_FAB_CODE_MASK;
+
+	/* Lot code must be re-encoded from a 5 digit base-36 'BCD' number
+	   to a binary number. */
+	lot = 0;
+	reg = tegra_fuse_readl(FUSE_LOT_CODE_0) << 2;
+
+	for (i = 0; i < 5; ++i) {
+		u32 digit = (reg & 0xFC000000) >> 26;
+		lot *= 36;
+		lot += digit;
+		reg <<= 6;
+	}
+
+	wafer = tegra_fuse_readl(FUSE_WAFER_ID) & FUSE_WAFER_ID_MASK;
+	x = tegra_fuse_readl(FUSE_X_COORDINATE) & FUSE_X_COORDINATE_MASK;
+	y = tegra_fuse_readl(FUSE_Y_COORDINATE) & FUSE_Y_COORDINATE_MASK;
+
+	uid = ((unsigned long long)cid  << 60ull)
+	    | ((unsigned long long)vendor << 56ull)
+	    | ((unsigned long long)fab << 50ull)
+	    | ((unsigned long long)lot << 24ull)
+	    | ((unsigned long long)wafer << 18ull)
+	    | ((unsigned long long)x << 9ull)
+	    | ((unsigned long long)y << 0ull);
+
+	return uid;
+}
-- 
2.37.2


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

* [PATCH v1 4/4] board: asus: grouper: add Google Nexus 7 (2012) support
  2023-04-12 19:49 [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support Svyatoslav Ryhel
                   ` (2 preceding siblings ...)
  2023-04-12 19:49 ` [PATCH v1 3/4] ARM: tegra: add SoC UID calculation function Svyatoslav Ryhel
@ 2023-04-12 19:49 ` Svyatoslav Ryhel
  2023-04-19  1:46   ` Simon Glass
  2023-04-12 23:07 ` [PATCH v1 0/4] Tegra: add ASUS/Google " Tom Warren
  4 siblings, 1 reply; 16+ messages in thread
From: Svyatoslav Ryhel @ 2023-04-12 19:49 UTC (permalink / raw)
  To: Tom Warren, Svyatoslav Ryhel, Marek Vasut, Philippe Reynes,
	Marcel Ziswiler, Fabio Estevam, Simon Glass, Jonas Schwöbel
  Cc: u-boot

Nexus 7 is a mini tablet computer co-developed by Google and Asus
that runs the Android operating system. The Nexus 7 features a 7"
display, an Nvidia Tegra 3 quad-core chip, 1 GB of RAM and 8/16 GB
of internal storage.

This patch brings support for all 3 known ASUS/Google devices:
- Nexus 7 (2012) E1565
- Nexus 7 (2012) PM269
- Nexus 7 (2012) 3G - tilapia

Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # ASUS Grouper E1565
Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # ASUS Grouper E1565
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
 arch/arm/dts/Makefile                         |   3 +
 arch/arm/dts/tegra30-asus-grouper-common.dtsi | 125 ++++++
 .../dts/tegra30-asus-nexus7-grouper-E1565.dts |  40 ++
 .../dts/tegra30-asus-nexus7-grouper-PM269.dts |  65 ++++
 .../dts/tegra30-asus-nexus7-tilapia-E1565.dts |  40 ++
 arch/arm/mach-tegra/tegra30/Kconfig           |   5 +
 board/asus/grouper/Kconfig                    |  20 +
 board/asus/grouper/MAINTAINERS                |   6 +
 board/asus/grouper/Makefile                   |  14 +
 board/asus/grouper/grouper-spl-max.c          |  46 +++
 board/asus/grouper/grouper-spl-ti.c           |  42 ++
 board/asus/grouper/grouper.c                  | 209 ++++++++++
 board/asus/grouper/pinmux-config-grouper.h    | 362 ++++++++++++++++++
 configs/grouper_E1565.config                  |   2 +
 configs/grouper_PM269.config                  |   2 +
 configs/grouper_common_defconfig              |  85 ++++
 configs/tilapia.config                        |   3 +
 include/configs/grouper.h                     |  68 ++++
 18 files changed, 1137 insertions(+)
 create mode 100644 arch/arm/dts/tegra30-asus-grouper-common.dtsi
 create mode 100644 arch/arm/dts/tegra30-asus-nexus7-grouper-E1565.dts
 create mode 100644 arch/arm/dts/tegra30-asus-nexus7-grouper-PM269.dts
 create mode 100644 arch/arm/dts/tegra30-asus-nexus7-tilapia-E1565.dts
 create mode 100644 board/asus/grouper/Kconfig
 create mode 100644 board/asus/grouper/MAINTAINERS
 create mode 100644 board/asus/grouper/Makefile
 create mode 100644 board/asus/grouper/grouper-spl-max.c
 create mode 100644 board/asus/grouper/grouper-spl-ti.c
 create mode 100644 board/asus/grouper/grouper.c
 create mode 100644 board/asus/grouper/pinmux-config-grouper.h
 create mode 100644 configs/grouper_E1565.config
 create mode 100644 configs/grouper_PM269.config
 create mode 100644 configs/grouper_common_defconfig
 create mode 100644 configs/tilapia.config
 create mode 100644 include/configs/grouper.h

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 337bee7e1e..7b523b3b3a 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -227,6 +227,9 @@ dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
 	tegra20-ventana.dtb \
 	tegra20-colibri.dtb \
 	tegra30-apalis.dtb \
+	tegra30-asus-nexus7-grouper-PM269.dtb \
+	tegra30-asus-nexus7-grouper-E1565.dtb \
+	tegra30-asus-nexus7-tilapia-E1565.dtb \
 	tegra30-beaver.dtb \
 	tegra30-cardhu.dtb \
 	tegra30-colibri.dtb \
diff --git a/arch/arm/dts/tegra30-asus-grouper-common.dtsi b/arch/arm/dts/tegra30-asus-grouper-common.dtsi
new file mode 100644
index 0000000000..21a3fadde2
--- /dev/null
+++ b/arch/arm/dts/tegra30-asus-grouper-common.dtsi
@@ -0,0 +1,125 @@
+// SPDX-License-Identifier: GPL-2.0
+
+#include <dt-bindings/input/input.h>
+
+#include "tegra30.dtsi"
+
+/ {
+	chosen {
+		stdout-path = &uarta;
+	};
+
+	aliases {
+		i2c0 = &pmic_i2c;
+
+		mmc0 = &sdmmc4;	/* eMMC */
+
+		rtc1 = "/rtc@7000e000";
+
+		usb0 = &usb1;
+	};
+
+	memory {
+		device_type = "memory";
+		reg = <0x80000000 0x40000000>;
+	};
+
+	host1x@50000000 {
+		dc@54200000 {
+			nvidia,180-rotation;
+			rgb {
+				status = "okay";
+
+				nvidia,panel = <&panel>;
+			};
+		};
+	};
+
+	gpio@6000d000 {
+		volume-buttons-hog {
+			gpio-hog;
+			gpios = <TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>,
+				<TEGRA_GPIO(Q, 0) GPIO_ACTIVE_HIGH>;
+			output-low;
+		};
+	};
+
+	uarta: serial@70006000 {
+		status = "okay";
+	};
+
+	pwm: pwm@7000a000 {
+		status = "okay";
+	};
+
+	sdmmc4: sdhci@78000600 {
+		status = "okay";
+		bus-width = <8>;
+		non-removable;
+	};
+
+	usb1: usb@7d000000 {
+		status = "okay";
+		dr_mode = "otg";
+	};
+
+	backlight: backlight {
+		compatible = "pwm-backlight";
+
+		enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
+		power-supply = <&vdd_5v0_bl>;
+		pwms = <&pwm 0 50000>;
+
+		brightness-levels = <1 35 70 105 140 175 210 255>;
+		default-brightness-level = <5>;
+	};
+
+	/* PMIC has a built-in 32KHz oscillator which is used by PMC */
+	clk32k_in: clock-32k {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <32768>;
+		clock-output-names = "pmic-oscillator";
+	};
+
+	gpio-keys {
+		compatible = "gpio-keys";
+
+		key-power {
+			label = "Power";
+			gpios = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_ENTER>;
+		};
+
+		key-volume-up {
+			label = "Volume Up";
+			gpios = <&gpio TEGRA_GPIO(Q, 2) GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_UP>;
+		};
+
+		key-volume-down {
+			label = "Volume Down";
+			gpios = <&gpio TEGRA_GPIO(Q, 3) GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_DOWN>;
+		};
+	};
+
+	vdd_pnl_reg: regulator-pnl {
+		compatible = "regulator-fixed";
+		regulator-name = "vdd_panel";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		gpio = <&gpio TEGRA_GPIO(W, 1) GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+	};
+
+	vdd_5v0_bl: regulator-bl {
+		compatible = "regulator-fixed";
+		regulator-name = "vdd_5v0_bl";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		regulator-boot-on;
+		gpio = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+	};
+};
diff --git a/arch/arm/dts/tegra30-asus-nexus7-grouper-E1565.dts b/arch/arm/dts/tegra30-asus-nexus7-grouper-E1565.dts
new file mode 100644
index 0000000000..04b559f7b5
--- /dev/null
+++ b/arch/arm/dts/tegra30-asus-nexus7-grouper-E1565.dts
@@ -0,0 +1,40 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "tegra30-asus-grouper-common.dtsi"
+
+/ {
+	model = "ASUS Google Nexus 7 (Project Nakasi / ME370T) E1565";
+	compatible = "asus,grouper", "nvidia,tegra30";
+
+	pmic_i2c: i2c@7000d000 {
+		status = "okay";
+		clock-frequency = <400000>;
+	};
+
+	panel: panel {
+		compatible = "simple-panel";
+
+		power-supply = <&vdd_pnl_reg>;
+		enable-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>;
+
+		backlight = <&backlight>;
+
+		display-timings {
+			timing@0 {
+				/* 1280x800@60Hz */
+				clock-frequency = <68000000>;
+
+				hactive = <800>;
+				hfront-porch = <24>;
+				hback-porch = <32>;
+				hsync-len = <24>;
+
+				vactive = <1280>;
+				vfront-porch = <5>;
+				vback-porch = <32>;
+				vsync-len = <1>;
+			};
+		};
+	};
+};
diff --git a/arch/arm/dts/tegra30-asus-nexus7-grouper-PM269.dts b/arch/arm/dts/tegra30-asus-nexus7-grouper-PM269.dts
new file mode 100644
index 0000000000..3d8a5edc66
--- /dev/null
+++ b/arch/arm/dts/tegra30-asus-nexus7-grouper-PM269.dts
@@ -0,0 +1,65 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "tegra30-asus-grouper-common.dtsi"
+
+/ {
+	model = "ASUS Google Nexus 7 (Project Nakasi / ME370T) PM269";
+	compatible = "asus,grouper", "nvidia,tegra30";
+
+	pmic_i2c: i2c@7000d000 {
+		status = "okay";
+		clock-frequency = <400000>;
+
+		/* Texas Instruments TPS659110 PMIC */
+		pmic: tps65911@2d {
+			compatible = "ti,tps65911";
+			reg = <0x2d>;
+
+			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
+			#interrupt-cells = <2>;
+			interrupt-controller;
+
+			ti,system-power-controller;
+
+			#gpio-cells = <2>;
+			gpio-controller;
+
+			regulators {
+				/* eMMC VDD */
+				vcore_emmc: ldo1 {
+					regulator-name = "vdd_emmc_core";
+					regulator-min-microvolt = <1000000>;
+					regulator-max-microvolt = <3300000>;
+					regulator-always-on;
+				};
+			};
+		};
+	};
+
+	panel: panel {
+		compatible = "simple-panel";
+
+		power-supply = <&vdd_pnl_reg>;
+		enable-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>;
+
+		backlight = <&backlight>;
+
+		display-timings {
+			timing@0 {
+				/* 1280x800@60Hz */
+				clock-frequency = <68000000>;
+
+				hactive = <800>;
+				hfront-porch = <24>;
+				hback-porch = <32>;
+				hsync-len = <24>;
+
+				vactive = <1280>;
+				vfront-porch = <5>;
+				vback-porch = <32>;
+				vsync-len = <1>;
+			};
+		};
+	};
+};
diff --git a/arch/arm/dts/tegra30-asus-nexus7-tilapia-E1565.dts b/arch/arm/dts/tegra30-asus-nexus7-tilapia-E1565.dts
new file mode 100644
index 0000000000..0d12b11a06
--- /dev/null
+++ b/arch/arm/dts/tegra30-asus-nexus7-tilapia-E1565.dts
@@ -0,0 +1,40 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "tegra30-asus-grouper-common.dtsi"
+
+/ {
+	model = "ASUS Google Nexus 7 (Project Bach / ME370TG) E1565";
+	compatible = "asus,tilapia", "nvidia,tegra30";
+
+	pmic_i2c: i2c@7000d000 {
+		status = "okay";
+		clock-frequency = <400000>;
+	};
+
+	panel: panel {
+		compatible = "simple-panel";
+
+		power-supply = <&vdd_pnl_reg>;
+		enable-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>;
+
+		backlight = <&backlight>;
+
+		display-timings {
+			timing@0 {
+				/* 1280x800@60Hz */
+				clock-frequency = <81750000>;
+
+				hactive = <800>;
+				hfront-porch = <64>;
+				hback-porch = <128>;
+				hsync-len = <64>;
+
+				vactive = <1280>;
+				vfront-porch = <5>;
+				vback-porch = <2>;
+				vsync-len = <1>;
+			};
+		};
+	};
+};
diff --git a/arch/arm/mach-tegra/tegra30/Kconfig b/arch/arm/mach-tegra/tegra30/Kconfig
index 85b8ce294f..8a7787a8f8 100644
--- a/arch/arm/mach-tegra/tegra30/Kconfig
+++ b/arch/arm/mach-tegra/tegra30/Kconfig
@@ -20,6 +20,10 @@ config TARGET_COLIBRI_T30
 	bool "Toradex Colibri T30 board"
 	select BOARD_LATE_INIT
 
+config TARGET_GROUPER
+	bool "Asus and Google Grouper board"
+	select BOARD_LATE_INIT
+
 config TARGET_TEC_NG
 	bool "Avionic Design TEC-NG board"
 	select BOARD_LATE_INIT
@@ -29,6 +33,7 @@ endchoice
 config SYS_SOC
 	default "tegra30"
 
+source "board/asus/grouper/Kconfig"
 source "board/toradex/apalis_t30/Kconfig"
 source "board/nvidia/beaver/Kconfig"
 source "board/nvidia/cardhu/Kconfig"
diff --git a/board/asus/grouper/Kconfig b/board/asus/grouper/Kconfig
new file mode 100644
index 0000000000..bfc3bc7631
--- /dev/null
+++ b/board/asus/grouper/Kconfig
@@ -0,0 +1,20 @@
+if TARGET_GROUPER
+
+config SYS_BOARD
+	default "grouper"
+
+config SYS_VENDOR
+	default "asus"
+
+config SYS_CONFIG_NAME
+	default "grouper"
+
+config GROUPER_TPS65911
+	bool "Enable support TI TPS65911 PMIC"
+	default n
+
+config GROUPER_MAX77663
+	bool "Enable support MAXIM MAX77663 PMIC"
+	default n
+
+endif
diff --git a/board/asus/grouper/MAINTAINERS b/board/asus/grouper/MAINTAINERS
new file mode 100644
index 0000000000..0f7578e368
--- /dev/null
+++ b/board/asus/grouper/MAINTAINERS
@@ -0,0 +1,6 @@
+GROUPER BOARD
+M:	Svyatoslav Ryhel <clamor95@gmail.com>
+S:	Maintained
+F:	board/asus/grouper/
+F:	include/configs/grouper.h
+F:	configs/grouper_common_defconfig
diff --git a/board/asus/grouper/Makefile b/board/asus/grouper/Makefile
new file mode 100644
index 0000000000..3992d008f8
--- /dev/null
+++ b/board/asus/grouper/Makefile
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+#  (C) Copyright 2010-2012
+#  NVIDIA Corporation <www.nvidia.com>
+#
+#  (C) Copyright 2021
+#  Svyatoslav Ryhel <clamor95@gmail.com>
+
+ifdef CONFIG_SPL_BUILD
+obj-$(CONFIG_GROUPER_MAX77663) += grouper-spl-max.o
+obj-$(CONFIG_GROUPER_TPS65911) += grouper-spl-ti.o
+endif
+
+obj-y += grouper.o
diff --git a/board/asus/grouper/grouper-spl-max.c b/board/asus/grouper/grouper-spl-max.c
new file mode 100644
index 0000000000..c0e62ef072
--- /dev/null
+++ b/board/asus/grouper/grouper-spl-max.c
@@ -0,0 +1,46 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ *  T30 Grouper MAX SPL stage configuration
+ *
+ *  (C) Copyright 2010-2013
+ *  NVIDIA Corporation <www.nvidia.com>
+ *
+ *  (C) Copyright 2022
+ *  Svyatoslav Ryhel <clamor95@gmail.com>
+ */
+
+#include <common.h>
+#include <asm/arch-tegra/tegra_i2c.h>
+#include <linux/delay.h>
+
+/* I2C addr is in 8 bit */
+#define MAX77663_I2C_ADDR		0x78
+
+#define MAX77663_REG_SD0		0x16
+#define MAX77663_REG_SD0_DATA		(0x2100 | MAX77663_REG_SD0)
+#define MAX77663_REG_SD1		0x17
+#define MAX77663_REG_SD1_DATA		(0x3000 | MAX77663_REG_SD1)
+#define MAX77663_REG_LDO4		0x2B
+#define MAX77663_REG_LDO4_DATA		(0xE000 | MAX77663_REG_LDO4)
+
+#define MAX77663_REG_GPIO4		0x3A
+#define MAX77663_REG_GPIO4_DATA		(0x0100 | MAX77663_REG_GPIO4)
+
+void pmic_enable_cpu_vdd(void)
+{
+	/* Set VDD_CORE to 1.200V. */
+	tegra_i2c_ll_write(MAX77663_I2C_ADDR, MAX77663_REG_SD1_DATA);
+
+	udelay(1000);
+
+	/* Bring up VDD_CPU to 1.0125V. */
+	tegra_i2c_ll_write(MAX77663_I2C_ADDR, MAX77663_REG_SD0_DATA);
+	udelay(1000);
+
+	/* Bring up VDD_RTC to 1.200V. */
+	tegra_i2c_ll_write(MAX77663_I2C_ADDR, MAX77663_REG_LDO4_DATA);
+	udelay(10 * 1000);
+
+	/* Set 32k-out gpio state */
+	tegra_i2c_ll_write(MAX77663_I2C_ADDR, MAX77663_REG_GPIO4_DATA);
+}
diff --git a/board/asus/grouper/grouper-spl-ti.c b/board/asus/grouper/grouper-spl-ti.c
new file mode 100644
index 0000000000..dd21db5f0a
--- /dev/null
+++ b/board/asus/grouper/grouper-spl-ti.c
@@ -0,0 +1,42 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ *  T30 Grouper TI SPL stage configuration
+ *
+ *  (C) Copyright 2010-2013
+ *  NVIDIA Corporation <www.nvidia.com>
+ *
+ *  (C) Copyright 2022
+ *  Svyatoslav Ryhel <clamor95@gmail.com>
+ */
+
+#include <common.h>
+#include <asm/arch-tegra/tegra_i2c.h>
+#include <linux/delay.h>
+
+/* I2C addr is in 8 bit */
+#define TPS65911_I2C_ADDR		0x5A
+#define TPS65911_VDDCTRL_OP_REG		0x28
+#define TPS65911_VDDCTRL_SR_REG		0x27
+#define TPS65911_VDDCTRL_OP_DATA	(0x2400 | TPS65911_VDDCTRL_OP_REG)
+#define TPS65911_VDDCTRL_SR_DATA	(0x0100 | TPS65911_VDDCTRL_SR_REG)
+
+#define TPS62361B_I2C_ADDR		0xC0
+#define TPS62361B_SET3_REG		0x03
+#define TPS62361B_SET3_DATA		(0x4600 | TPS62361B_SET3_REG)
+
+void pmic_enable_cpu_vdd(void)
+{
+	/* Set VDD_CORE to 1.200V. */
+	tegra_i2c_ll_write(TPS62361B_I2C_ADDR, TPS62361B_SET3_DATA);
+
+	udelay(1000);
+
+	/*
+	 * Bring up CPU VDD via the TPS65911x PMIC on the DVC I2C bus.
+	 * First set VDD to 1.0125V, then enable the VDD regulator.
+	 */
+	tegra_i2c_ll_write(TPS65911_I2C_ADDR, TPS65911_VDDCTRL_OP_DATA);
+	udelay(1000);
+	tegra_i2c_ll_write(TPS65911_I2C_ADDR, TPS65911_VDDCTRL_SR_DATA);
+	udelay(10 * 1000);
+}
diff --git a/board/asus/grouper/grouper.c b/board/asus/grouper/grouper.c
new file mode 100644
index 0000000000..c096c9d0a7
--- /dev/null
+++ b/board/asus/grouper/grouper.c
@@ -0,0 +1,209 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ *  (C) Copyright 2010-2013
+ *  NVIDIA Corporation <www.nvidia.com>
+ *
+ *  (C) Copyright 2021
+ *  Svyatoslav Ryhel <clamor95@gmail.com>
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <env.h>
+#include <fdt_support.h>
+#include <i2c.h>
+#include <log.h>
+#include <asm/arch/pinmux.h>
+#include <asm/arch/gp_padctrl.h>
+#include <asm/arch/gpio.h>
+#include <asm/arch-tegra/fuse.h>
+#include <asm/gpio.h>
+#include <linux/delay.h>
+#include "pinmux-config-grouper.h"
+
+#define TPS65911_I2C_ADDRESS		0x2D
+#define TPS65911_REG_LDO1		0x30
+#define TPS65911_REG_DEVCTRL		0x3F
+
+#define DEVCTRL_PWR_OFF_MASK		0x80
+#define DEVCTRL_DEV_OFF_MASK		0x01
+#define DEVCTRL_DEV_ON_MASK		0x04
+
+#define MAX77663_I2C_ADDRESS		0x3C
+#define MAX77663_REG_SD2		0x18
+#define MAX77663_REG_LDO3		0x29
+#define MAX77663_REG_ONOFF_CFG1		0x41
+#define MAX77663_ONOFF_PWR_OFF		0x02
+
+#ifdef CONFIG_CMD_POWEROFF
+#ifdef CONFIG_GROUPER_TPS65911
+int do_poweroff(struct cmd_tbl *cmdtp,
+		int flag, int argc, char *const argv[])
+{
+	struct udevice *dev;
+	uchar data_buffer[1];
+	int ret;
+
+	ret = i2c_get_chip_for_busnum(0, TPS65911_I2C_ADDRESS, 1, &dev);
+	if (ret) {
+		debug("%s: Cannot find PMIC I2C chip\n", __func__);
+		return 0;
+	}
+
+	ret = dm_i2c_read(dev, TPS65911_REG_DEVCTRL, data_buffer, 1);
+	if (ret)
+		return ret;
+
+	data_buffer[0] |= DEVCTRL_PWR_OFF_MASK;
+
+	ret = dm_i2c_write(dev, TPS65911_REG_DEVCTRL, data_buffer, 1);
+	if (ret)
+		return ret;
+
+	data_buffer[0] |= DEVCTRL_DEV_OFF_MASK;
+	data_buffer[0] &= ~DEVCTRL_DEV_ON_MASK;
+
+	ret = dm_i2c_write(dev, TPS65911_REG_DEVCTRL, data_buffer, 1);
+	if (ret)
+		return ret;
+
+	// wait some time and then print error
+	mdelay(5000);
+
+	printf("Failed to power off!!!\n");
+	return 1;
+}
+#endif /* CONFIG_GROUPER_TPS65911 */
+
+#ifdef CONFIG_GROUPER_MAX77663
+int do_poweroff(struct cmd_tbl *cmdtp,
+		int flag, int argc, char *const argv[])
+{
+	struct udevice *dev;
+	uchar data_buffer[1];
+	int ret;
+
+	ret = i2c_get_chip_for_busnum(0, MAX77663_I2C_ADDRESS, 1, &dev);
+	if (ret) {
+		debug("%s: Cannot find PMIC I2C chip\n", __func__);
+		return 0;
+	}
+
+	ret = dm_i2c_read(dev, MAX77663_REG_ONOFF_CFG1, data_buffer, 1);
+	if (ret)
+		return ret;
+
+	data_buffer[0] |= MAX77663_ONOFF_PWR_OFF;
+
+	ret = dm_i2c_write(dev, MAX77663_REG_ONOFF_CFG1, data_buffer, 1);
+	if (ret)
+		return ret;
+
+	// wait some time and then print error
+	mdelay(5000);
+
+	printf("Failed to power off!!!\n");
+	return 1;
+}
+#endif /* CONFIG_GROUPER_MAX77663 */
+#endif /* CONFIG_CMD_POWEROFF */
+
+/*
+ * Routine: pinmux_init
+ * Description: Do individual peripheral pinmux configs
+ */
+void pinmux_init(void)
+{
+	pinmux_config_pingrp_table(grouper_pinmux_common,
+		ARRAY_SIZE(grouper_pinmux_common));
+
+	pinmux_config_drvgrp_table(grouper_padctrl,
+		ARRAY_SIZE(grouper_padctrl));
+}
+
+#ifdef CONFIG_MMC_SDHCI_TEGRA
+/*
+ * Do I2C/PMU writes to bring up SD card and eMMC bus power
+ */
+void board_sdmmc_tps65911_voltage_init(void)
+{
+	struct udevice *dev;
+	int ret;
+
+	ret = i2c_get_chip_for_busnum(0, TPS65911_I2C_ADDRESS, 1, &dev);
+	if (ret) {
+		debug("%s: Cannot find PMIC I2C chip\n", __func__);
+		return;
+	}
+
+	/* TPS659110: LDO1_REG = 3.3v, ACTIVE to SDMMC4 */
+	ret = dm_i2c_reg_write(dev, TPS65911_REG_LDO1, 0xC9);
+	if (ret)
+		printf("vcore_emmc set failed: %d\n", ret);
+}
+
+void board_sdmmc_max77663_voltage_init(void)
+{
+	struct udevice *dev;
+	int ret;
+
+	ret = i2c_get_chip_for_busnum(0, MAX77663_I2C_ADDRESS, 1, &dev);
+	if (ret) {
+		debug("%s: Cannot find PMIC I2C chip\n", __func__);
+		return;
+	}
+
+	/* 0x60 for 1.8v, bit7:0 = voltage */
+	ret = dm_i2c_reg_write(dev, MAX77663_REG_SD2, 0x60);
+	if (ret)
+		printf("vdd_1v8_vio set failed: %d\n", ret);
+
+	/* 0xEC for 3.00v, enabled: bit7:6 = 11 = enable, bit5:0 = voltage */
+	ret = dm_i2c_reg_write(dev, MAX77663_REG_LDO3, 0xEC);
+	if (ret)
+		printf("vcore_emmc set failed: %d\n", ret);
+}
+
+/*
+ * Routine: pin_mux_mmc
+ * Description: setup the MMC muxes, power rails, etc.
+ */
+void pin_mux_mmc(void)
+{
+	/*
+	 * NOTE: We don't do mmc-specific pin muxes here.
+	 * They were done globally in pinmux_init().
+	 */
+
+#ifdef CONFIG_GROUPER_MAX77663
+	/* Bring up eMMC power on MAX PMIC */
+	board_sdmmc_max77663_voltage_init();
+#endif
+
+#ifdef CONFIG_GROUPER_TPS65911
+	/* Bring up eMMC power on TI PMIC */
+	board_sdmmc_tps65911_voltage_init();
+#endif
+}
+#endif	/* MMC */
+
+#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
+int ft_board_setup(void *blob, struct bd_info *bd)
+{
+	/* Remove TrustZone nodes */
+	fdt_del_node_and_alias(blob, "/firmware");
+	fdt_del_node_and_alias(blob, "/reserved-memory/trustzone@bfe00000");
+
+	return 0;
+}
+#endif
+
+void nvidia_board_late_init(void)
+{
+	char serialno_str[17];
+
+	/* Set chip id as serialno */
+	sprintf(serialno_str, "%016llx", tegra_chip_uid());
+	env_set("serial#", serialno_str);
+	env_set("platform", "Tegra 3 T30");
+}
diff --git a/board/asus/grouper/pinmux-config-grouper.h b/board/asus/grouper/pinmux-config-grouper.h
new file mode 100644
index 0000000000..65adb690f7
--- /dev/null
+++ b/board/asus/grouper/pinmux-config-grouper.h
@@ -0,0 +1,362 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (c) 2010-2013, NVIDIA CORPORATION.  All rights reserved.
+ */
+
+#ifndef _PINMUX_CONFIG_GROUPER_H_
+#define _PINMUX_CONFIG_GROUPER_H_
+
+#define DEFAULT_PINMUX(_pingrp, _mux, _pull, _tri, _io)		\
+	{							\
+		.pingrp		= PMUX_PINGRP_##_pingrp,	\
+		.func		= PMUX_FUNC_##_mux,		\
+		.pull		= PMUX_PULL_##_pull,		\
+		.tristate	= PMUX_TRI_##_tri,		\
+		.io		= PMUX_PIN_##_io,		\
+		.lock		= PMUX_PIN_LOCK_DEFAULT,	\
+		.od		= PMUX_PIN_OD_DEFAULT,		\
+		.ioreset	= PMUX_PIN_IO_RESET_DEFAULT,	\
+	}
+
+#define I2C_PINMUX(_pingrp, _mux, _pull, _tri, _io, _lock, _od)	\
+	{							\
+		.pingrp		= PMUX_PINGRP_##_pingrp,	\
+		.func		= PMUX_FUNC_##_mux,		\
+		.pull		= PMUX_PULL_##_pull,		\
+		.tristate	= PMUX_TRI_##_tri,		\
+		.io		= PMUX_PIN_##_io,		\
+		.lock		= PMUX_PIN_LOCK_##_lock,	\
+		.od		= PMUX_PIN_OD_##_od,		\
+		.ioreset	= PMUX_PIN_IO_RESET_DEFAULT,	\
+	}
+
+#define LV_PINMUX(_pingrp, _mux, _pull, _tri, _io, _lock, _ioreset) \
+	{							\
+		.pingrp		= PMUX_PINGRP_##_pingrp,	\
+		.func		= PMUX_FUNC_##_mux,		\
+		.pull		= PMUX_PULL_##_pull,		\
+		.tristate	= PMUX_TRI_##_tri,		\
+		.io		= PMUX_PIN_##_io,		\
+		.lock		= PMUX_PIN_LOCK_##_lock,	\
+		.od		= PMUX_PIN_OD_DEFAULT,		\
+		.ioreset	= PMUX_PIN_IO_RESET_##_ioreset	\
+	}
+
+#define DEFAULT_PADCFG(_drvgrp, _slwf, _slwr, _drvup, _drvdn, _lpmd, _schmt, _hsm) \
+	{							\
+		.drvgrp		= PMUX_DRVGRP_##_drvgrp,	\
+		.slwf		= _slwf,			\
+		.slwr		= _slwr,			\
+		.drvup		= _drvup,			\
+		.drvdn		= _drvdn,			\
+		.lpmd		= PMUX_LPMD_##_lpmd,		\
+		.schmt		= PMUX_SCHMT_##_schmt,		\
+		.hsm		= PMUX_HSM_##_hsm,		\
+	}
+
+static struct pmux_pingrp_config grouper_pinmux_common[] = {
+	/* SDMMC1 pinmux */
+	DEFAULT_PINMUX(SDMMC1_CLK_PZ0,      SDMMC1,     NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SDMMC1_CMD_PZ1,      SDMMC1,         UP,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SDMMC1_DAT3_PY4,     SDMMC1,         UP,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SDMMC1_DAT2_PY5,     SDMMC1,         UP,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SDMMC1_DAT1_PY6,     SDMMC1,         UP,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SDMMC1_DAT0_PY7,     SDMMC1,         UP,    NORMAL,   INPUT),
+
+	/* SDMMC3 pinmux */
+	DEFAULT_PINMUX(SDMMC3_CLK_PA6,      SDMMC3,     NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SDMMC3_CMD_PA7,      SDMMC3,         UP,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SDMMC3_DAT0_PB7,     SDMMC3,         UP,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SDMMC3_DAT1_PB6,     SDMMC3,         UP,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SDMMC3_DAT2_PB5,     SDMMC3,         UP,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SDMMC3_DAT3_PB4,     SDMMC3,         UP,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SDMMC3_DAT4_PD1,     SDMMC3,         UP,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SDMMC3_DAT5_PD0,     SDMMC3,     NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(SDMMC3_DAT6_PD3,     SDMMC3,         UP,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SDMMC3_DAT7_PD4,     SDMMC3,         UP,    NORMAL,   INPUT),
+
+	/* SDMMC4 pinmux */
+	LV_PINMUX(SDMMC4_CLK_PCC4,          SDMMC4,     NORMAL,    NORMAL,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(SDMMC4_CMD_PT7,           SDMMC4,         UP,    NORMAL,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(SDMMC4_DAT0_PAA0,         SDMMC4,         UP,    NORMAL,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(SDMMC4_DAT1_PAA1,         SDMMC4,         UP,    NORMAL,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(SDMMC4_DAT2_PAA2,         SDMMC4,         UP,    NORMAL,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(SDMMC4_DAT3_PAA3,         SDMMC4,         UP,    NORMAL,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(SDMMC4_DAT4_PAA4,         SDMMC4,         UP,    NORMAL,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(SDMMC4_DAT5_PAA5,         SDMMC4,         UP,    NORMAL,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(SDMMC4_DAT6_PAA6,         SDMMC4,         UP,    NORMAL,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(SDMMC4_DAT7_PAA7,         SDMMC4,         UP,    NORMAL,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(SDMMC4_RST_N_PCC3,        RSVD2,        DOWN,    NORMAL,   INPUT,  DISABLE,  DISABLE),
+
+	/* I2C pinmux */
+	I2C_PINMUX(GEN1_I2C_SCL_PC4,        I2C1,       NORMAL,    NORMAL,   INPUT,  DISABLE,   ENABLE),
+	I2C_PINMUX(GEN1_I2C_SDA_PC5,        I2C1,       NORMAL,    NORMAL,   INPUT,  DISABLE,   ENABLE),
+	I2C_PINMUX(GEN2_I2C_SCL_PT5,        I2C2,       NORMAL,    NORMAL,   INPUT,  DISABLE,   ENABLE),
+	I2C_PINMUX(GEN2_I2C_SDA_PT6,        I2C2,       NORMAL,    NORMAL,   INPUT,  DISABLE,   ENABLE),
+	I2C_PINMUX(CAM_I2C_SCL_PBB1,        I2C3,       NORMAL,    NORMAL,   INPUT,  DISABLE,   ENABLE),
+	I2C_PINMUX(CAM_I2C_SDA_PBB2,        I2C3,       NORMAL,    NORMAL,   INPUT,  DISABLE,   ENABLE),
+	I2C_PINMUX(DDC_SCL_PV4,             I2C4,       NORMAL,    NORMAL,   INPUT,  DISABLE,   ENABLE),
+	I2C_PINMUX(DDC_SDA_PV5,             I2C4,       NORMAL,    NORMAL,   INPUT,  DISABLE,   ENABLE),
+	I2C_PINMUX(PWR_I2C_SCL_PZ6,         I2CPWR,     NORMAL,    NORMAL,   INPUT,  DISABLE,   ENABLE),
+	I2C_PINMUX(PWR_I2C_SDA_PZ7,         I2CPWR,     NORMAL,    NORMAL,   INPUT,  DISABLE,   ENABLE),
+
+	/* HDMI-CEC pinmux */
+	DEFAULT_PINMUX(HDMI_CEC_PEE3,       CEC,        NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(HDMI_INT_PN7,        RSVD1,      NORMAL,  TRISTATE,   INPUT),
+
+	/* ULPI pinmux */
+	DEFAULT_PINMUX(ULPI_DATA0_PO1,      UARTA,        DOWN,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(ULPI_DATA1_PO2,      UARTA,          UP,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(ULPI_DATA2_PO3,      UARTA,          UP,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(ULPI_DATA3_PO4,      ULPI,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(ULPI_DATA4_PO5,      UARTA,          UP,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(ULPI_DATA5_PO6,      UARTA,          UP,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(ULPI_DATA6_PO7,      UARTA,          UP,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(ULPI_DATA7_PO0,      UARTA,          UP,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(ULPI_CLK_PY0,        ULPI,       NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(ULPI_DIR_PY1,        ULPI,       NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(ULPI_NXT_PY2,        RSVD1,      NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(ULPI_STP_PY3,        RSVD1,      NORMAL,  TRISTATE,  OUTPUT),
+
+	/* DAP3 pinmux */
+	DEFAULT_PINMUX(DAP3_FS_PP0,         I2S2,       NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(DAP3_DIN_PP1,        I2S2,         DOWN,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(DAP3_DOUT_PP2,       I2S2,         DOWN,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(DAP3_SCLK_PP3,       I2S2,         DOWN,  TRISTATE,   INPUT),
+
+	DEFAULT_PINMUX(PV0,                 RSVD1,          UP,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(PV1,                 RSVD1,      NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(PV2,                 OWR,        NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(PV3,                 RSVD1,      NORMAL,  TRISTATE,   INPUT),
+
+	/* CLK2 pinmux */
+	DEFAULT_PINMUX(CLK2_OUT_PW5,        EXTPERIPH2, NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(CLK2_REQ_PCC5,       DAP,        NORMAL,    NORMAL,   INPUT),
+
+	/* LCD pinmux */
+	DEFAULT_PINMUX(LCD_PWR1_PC1,        DISPLAYA,   NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(LCD_PWR2_PC6,        DISPLAYA,   NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(LCD_SDIN_PZ2,        DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_SDOUT_PN5,       DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_WR_N_PZ3,        DISPLAYA,       UP,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_CS0_N_PN4,       DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_DC0_PN6,         DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_SCK_PZ4,         DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_PWR0_PB2,        DISPLAYA,   NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(LCD_PCLK_PB3,        DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_DE_PJ1,          DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_HSYNC_PJ3,       DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_VSYNC_PJ4,       DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D0_PE0,          DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D1_PE1,          DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D2_PE2,          DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D3_PE3,          DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D4_PE4,          DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D5_PE5,          DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D6_PE6,          DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D7_PE7,          DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D8_PF0,          DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D9_PF1,          DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D10_PF2,         DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D11_PF3,         DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D12_PF4,         DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D13_PF5,         DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D14_PF6,         DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D15_PF7,         DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D16_PM0,         DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D17_PM1,         DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D18_PM2,         DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D19_PM3,         DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D20_PM4,         DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D21_PM5,         DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D22_PM6,         DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_D23_PM7,         DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_CS1_N_PW0,       DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(LCD_M1_PW1,          DISPLAYA,   NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(LCD_DC1_PD2,         DISPLAYA,   NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(CRT_HSYNC_PV6,       CRT,        NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(CRT_VSYNC_PV7,       CRT,        NORMAL,    NORMAL,  OUTPUT),
+
+	/* VI-group pinmux */
+	LV_PINMUX(VI_D0_PT4,                RSVD1,        DOWN,  TRISTATE,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(VI_D1_PD5,                SDMMC2,       DOWN,  TRISTATE,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(VI_D2_PL0,                SDMMC2,       DOWN,  TRISTATE,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(VI_D3_PL1,                SDMMC2,       DOWN,  TRISTATE,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(VI_D4_PL2,                VI,             UP,    NORMAL,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(VI_D5_PL3,                SDMMC2,       DOWN,  TRISTATE,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(VI_D6_PL4,                VI,             UP,    NORMAL,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(VI_D7_PL5,                SDMMC2,       DOWN,  TRISTATE,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(VI_D8_PL6,                SDMMC2,       DOWN,  TRISTATE,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(VI_D9_PL7,                SDMMC2,       DOWN,  TRISTATE,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(VI_D10_PT2,               RSVD1,        DOWN,  TRISTATE,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(VI_D11_PT3,               RSVD1,        DOWN,  TRISTATE,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(VI_PCLK_PT0,              SDMMC2,         UP,  TRISTATE,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(VI_MCLK_PT1,              RSVD1,        DOWN,  TRISTATE,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(VI_HSYNC_PD7,             RSVD1,        DOWN,  TRISTATE,   INPUT,  DISABLE,  DISABLE),
+	LV_PINMUX(VI_VSYNC_PD6,             RSVD1,        DOWN,  TRISTATE,   INPUT,  DISABLE,  DISABLE),
+
+	/* UART-B pinmux */
+	DEFAULT_PINMUX(UART2_RXD_PC3,       UARTB,      NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(UART2_TXD_PC2,       UARTB,      NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(UART2_RTS_N_PJ6,     UARTB,      NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(UART2_CTS_N_PJ5,     UARTB,      NORMAL,    NORMAL,   INPUT),
+
+	/* UART-C pinmux */
+	DEFAULT_PINMUX(UART3_TXD_PW6,       UARTC,      NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(UART3_RXD_PW7,       UARTC,      NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(UART3_CTS_N_PA1,     UARTC,      NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(UART3_RTS_N_PC0,     UARTC,      NORMAL,    NORMAL,  OUTPUT),
+
+	/* U-gpio group pinmux */
+	DEFAULT_PINMUX(PU0,                 RSVD4,      NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(PU1,                 RSVD1,      NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(PU2,                 RSVD1,      NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(PU3,                 RSVD4,      NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(PU4,                 PWM1,       NORMAL,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(PU5,                 PWM2,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(PU6,                 RSVD4,      NORMAL,    NORMAL,   INPUT),
+
+	/* DAP4 pinmux */
+	DEFAULT_PINMUX(DAP4_FS_PP4,         I2S3,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(DAP4_DIN_PP5,        I2S3,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(DAP4_DOUT_PP6,       I2S3,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(DAP4_SCLK_PP7,       I2S3,       NORMAL,    NORMAL,   INPUT),
+
+	/* CLK3 pinmux */
+	DEFAULT_PINMUX(CLK3_OUT_PEE0,       EXTPERIPH3, NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(CLK3_REQ_PEE1,       DEV3,       NORMAL,    NORMAL,   INPUT),
+
+	DEFAULT_PINMUX(CAM_MCLK_PCC0,       VI_ALT3,      DOWN,    NORMAL,   INPUT),
+
+	DEFAULT_PINMUX(PCC1,                RSVD2,      NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(PBB0,                RSVD2,      NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(PBB3,                VGP3,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(PBB4,                VGP4,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(PBB5,                VGP5,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(PBB6,                VGP6,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(PBB7,                I2S4,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(PCC2,                I2S4,       NORMAL,    NORMAL,   INPUT),
+
+	DEFAULT_PINMUX(JTAG_RTCK_PU7,       RTCK,           UP,    NORMAL,   INPUT),
+
+	/* KBC keys */
+	DEFAULT_PINMUX(KB_ROW0_PR0,         RSVD4,          UP,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(KB_ROW1_PR1,         KBC,        NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(KB_ROW2_PR2,         KBC,        NORMAL,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(KB_ROW3_PR3,         KBC,        NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(KB_ROW4_PR4,         KBC,        NORMAL,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(KB_ROW5_PR5,         KBC,        NORMAL,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(KB_ROW6_PR6,         KBC,        NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(KB_ROW7_PR7,         KBC,        NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(KB_ROW8_PS0,         KBC,        NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(KB_ROW9_PS1,         KBC,        NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(KB_ROW10_PS2,        KBC,        NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(KB_ROW11_PS3,        KBC,        NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(KB_ROW12_PS4,        KBC,        NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(KB_ROW13_PS5,        KBC,        NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(KB_ROW14_PS6,        KBC,        NORMAL,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(KB_ROW15_PS7,        KBC,        NORMAL,    NORMAL,  OUTPUT),
+
+	DEFAULT_PINMUX(KB_COL0_PQ0,         KBC,        NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(KB_COL1_PQ1,         KBC,        NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(KB_COL2_PQ2,         RSVD4,          UP,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(KB_COL3_PQ3,         RSVD4,          UP,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(KB_COL4_PQ4,         KBC,        NORMAL,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(KB_COL5_PQ5,         KBC,        NORMAL,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(KB_COL6_PQ6,         KBC,            UP,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(KB_COL7_PQ7,         KBC,        NORMAL,  TRISTATE,   INPUT),
+
+	/* CLK */
+	DEFAULT_PINMUX(CLK_32K_OUT_PA0,     BLINK,      NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(SYS_CLK_REQ_PZ5,     SYSCLK,     NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(OWR,                 OWR,        NORMAL,    NORMAL,   INPUT),
+
+	/* DAP1 pinmux */
+	DEFAULT_PINMUX(DAP1_FS_PN0,         I2S0,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(DAP1_DIN_PN1,        I2S0,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(DAP1_DOUT_PN2,       I2S0,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(DAP1_SCLK_PN3,       I2S0,       NORMAL,    NORMAL,   INPUT),
+
+	/* CLK1 pinmux */
+	DEFAULT_PINMUX(CLK1_REQ_PEE2,       DAP,        NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(CLK1_OUT_PW4,        EXTPERIPH1, NORMAL,    NORMAL,   INPUT),
+
+	/* SPDIF pinmux */
+	DEFAULT_PINMUX(SPDIF_IN_PK6,        SPDIF,      NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SPDIF_OUT_PK5,       SPDIF,      NORMAL,    NORMAL,  OUTPUT),
+
+	/* DAP2 pinmux */
+	DEFAULT_PINMUX(DAP2_FS_PA2,         I2S1,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(DAP2_DIN_PA4,        I2S1,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(DAP2_DOUT_PA5,       I2S1,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(DAP2_SCLK_PA3,       I2S1,       NORMAL,    NORMAL,   INPUT),
+
+	/* SPI pinmux */
+	DEFAULT_PINMUX(SPI1_MOSI_PX4,       SPI1,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SPI1_SCK_PX5,        SPI1,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SPI1_CS0_N_PX6,      SPI1,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SPI1_MISO_PX7,       SPI1,       NORMAL,    NORMAL,   INPUT),
+
+	DEFAULT_PINMUX(SPI2_MOSI_PX0,       SPI2,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SPI2_MISO_PX1,       SPI2,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SPI2_SCK_PX2,        SPI2,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SPI2_CS1_N_PW2,      SPI2,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(SPI2_CS2_N_PW3,      SPI2,       NORMAL,    NORMAL,   INPUT),
+
+	/* PEX pinmux */
+	DEFAULT_PINMUX(PEX_L0_PRSNT_N_PDD0,  PCIE,       NORMAL,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(PEX_L0_RST_N_PDD1,    PCIE,       NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(PEX_L0_CLKREQ_N_PDD2, PCIE,       NORMAL,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(PEX_WAKE_N_PDD3,      PCIE,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(PEX_L1_PRSNT_N_PDD4,  PCIE,       NORMAL,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(PEX_L1_RST_N_PDD5,    PCIE,       NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(PEX_L1_CLKREQ_N_PDD6, PCIE,       NORMAL,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(PEX_L2_PRSNT_N_PDD7,  PCIE,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(PEX_L2_RST_N_PCC6,    PCIE,       NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(PEX_L2_CLKREQ_N_PCC7, PCIE,       NORMAL,    NORMAL,  OUTPUT),
+
+	/* GMI pinmux */
+	DEFAULT_PINMUX(GMI_WP_N_PC7,        RSVD1,      NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(GMI_IORDY_PI5,       RSVD1,          UP,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(GMI_WAIT_PI7,        RSVD1,      NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(GMI_ADV_N_PK0,       RSVD1,      NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(GMI_CLK_PK1,         NAND,       NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(GMI_CS0_N_PJ0,       RSVD1,      NORMAL,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(GMI_CS1_N_PJ2,       RSVD1,      NORMAL,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(GMI_CS2_N_PK3,       RSVD1,      NORMAL,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(GMI_CS3_N_PK4,       RSVD1,      NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(GMI_CS4_N_PK2,       RSVD1,      NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(GMI_CS6_N_PI3,       GMI,        NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(GMI_CS7_N_PI6,       NAND,       NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(GMI_AD0_PG0,         RSVD1,      NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(GMI_AD1_PG1,         RSVD1,      NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(GMI_AD2_PG2,         RSVD1,        DOWN,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(GMI_AD3_PG3,         RSVD1,        DOWN,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(GMI_AD4_PG4,         NAND,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(GMI_AD5_PG5,         NAND,       NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(GMI_AD6_PG6,         RSVD1,        DOWN,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(GMI_AD7_PG7,         RSVD1,        DOWN,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(GMI_AD8_PH0,         PWM0,       NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(GMI_AD9_PH1,         RSVD4,        DOWN,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(GMI_AD10_PH2,        PWM2,       NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(GMI_AD11_PH3,        PWM3,       NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(GMI_AD12_PH4,        RSVD1,      NORMAL,  TRISTATE,   INPUT),
+	DEFAULT_PINMUX(GMI_AD13_PH5,        RSVD1,      NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(GMI_AD14_PH6,        RSVD1,      NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(GMI_AD15_PH7,        RSVD1,          UP,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(GMI_A16_PJ7,         UARTD,      NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(GMI_A17_PB0,         UARTD,      NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(GMI_A18_PB1,         UARTD,      NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(GMI_A19_PK7,         UARTD,      NORMAL,    NORMAL,  OUTPUT),
+	DEFAULT_PINMUX(GMI_WR_N_PI0,        RSVD1,      NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(GMI_OE_N_PI1,        RSVD1,      NORMAL,  TRISTATE,  OUTPUT),
+	DEFAULT_PINMUX(GMI_DQS_PI2,         RSVD1,      NORMAL,    NORMAL,   INPUT),
+	DEFAULT_PINMUX(GMI_RST_N_PI4,       NAND,           UP,    NORMAL,  OUTPUT),
+};
+
+static struct pmux_drvgrp_config grouper_padctrl[] = {
+	/* (_drvgrp, _slwf, _slwr, _drvup, _drvdn, _lpmd, _schmt, _hsm) */
+	DEFAULT_PADCFG(SDIO1, SDIOCFG_DRVUP_SLWF, SDIOCFG_DRVDN_SLWR, \
+		SDIOCFG_DRVUP, SDIOCFG_DRVDN, NONE, DISABLE, DISABLE),
+};
+#endif	/* _PINMUX_CONFIG_GROUPER_H_ */
diff --git a/configs/grouper_E1565.config b/configs/grouper_E1565.config
new file mode 100644
index 0000000000..4d8d5263fa
--- /dev/null
+++ b/configs/grouper_E1565.config
@@ -0,0 +1,2 @@
+CONFIG_DEFAULT_DEVICE_TREE="tegra30-asus-nexus7-grouper-E1565"
+CONFIG_GROUPER_MAX77663=y
diff --git a/configs/grouper_PM269.config b/configs/grouper_PM269.config
new file mode 100644
index 0000000000..fc768b2051
--- /dev/null
+++ b/configs/grouper_PM269.config
@@ -0,0 +1,2 @@
+CONFIG_DEFAULT_DEVICE_TREE="tegra30-asus-nexus7-grouper-PM269"
+CONFIG_GROUPER_TPS65911=y
diff --git a/configs/grouper_common_defconfig b/configs/grouper_common_defconfig
new file mode 100644
index 0000000000..ba6d84dc20
--- /dev/null
+++ b/configs/grouper_common_defconfig
@@ -0,0 +1,85 @@
+CONFIG_ARM=y
+CONFIG_SYS_L2CACHE_OFF=y
+CONFIG_ARCH_TEGRA=y
+CONFIG_SUPPORT_PASSING_ATAGS=y
+CONFIG_CMDLINE_TAG=y
+CONFIG_INITRD_TAG=y
+CONFIG_TEXT_BASE=0x80110000
+CONFIG_NR_DRAM_BANKS=2
+CONFIG_ENV_SIZE=0x3000
+CONFIG_ENV_OFFSET=0xFFFFD000
+CONFIG_DEFAULT_DEVICE_TREE="tegra30-asus-grouper-common"
+CONFIG_SPL_TEXT_BASE=0x80108000
+CONFIG_SYS_PROMPT="Tegra30 (Grouper) # "
+CONFIG_SPL_STACK=0x800ffffc
+CONFIG_TEGRA30=y
+CONFIG_TARGET_GROUPER=y
+CONFIG_CMD_EBTUPDATE=y
+CONFIG_SYS_LOAD_ADDR=0x81000000
+CONFIG_OF_BOARD_SETUP=y
+CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_BOOTDELAY=0
+CONFIG_AUTOBOOT_KEYED=y
+CONFIG_AUTOBOOT_KEYED_CTRLC=y
+CONFIG_CONSOLE_RECORD=y
+CONFIG_CONSOLE_RECORD_OUT_SIZE=0x10000
+CONFIG_SPL_FOOTPRINT_LIMIT=y
+CONFIG_SPL_MAX_FOOTPRINT=0x8000
+# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
+CONFIG_SYS_SPL_MALLOC=y
+CONFIG_HAS_CUSTOM_SPL_MALLOC_START=y
+CONFIG_CUSTOM_SYS_SPL_MALLOC_ADDR=0x80090000
+CONFIG_SYS_SPL_MALLOC_SIZE=0x10000
+CONFIG_SYS_MAXARGS=64
+CONFIG_SYS_PBSIZE=2084
+CONFIG_CMD_BOOTMENU=y
+# CONFIG_CMD_IMI is not set
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_GPT=y
+CONFIG_CMD_GPT_RENAME=y
+CONFIG_CMD_I2C=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_POWEROFF=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_USB_MASS_STORAGE=y
+CONFIG_CMD_UMS_ABORT_KEYED=y
+# CONFIG_CMD_SETEXPR is not set
+# CONFIG_CMD_NFS is not set
+CONFIG_CMD_PAUSE=y
+CONFIG_CMD_EXT4_WRITE=y
+# CONFIG_SPL_DOS_PARTITION is not set
+# CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_ENV_OVERWRITE=y
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_SYS_MMC_ENV_PART=2
+CONFIG_SPL_DM=y
+CONFIG_BUTTON=y
+CONFIG_USB_FUNCTION_FASTBOOT=y
+CONFIG_FASTBOOT_BUF_ADDR=0x91000000
+CONFIG_FASTBOOT_BUF_SIZE=0x10000000
+CONFIG_FASTBOOT_FLASH=y
+CONFIG_FASTBOOT_FLASH_MMC_DEV=0
+CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
+CONFIG_GPIO_HOG=y
+CONFIG_SYS_I2C_TEGRA=y
+CONFIG_I2C_MUX=y
+CONFIG_I2C_MUX_GPIO=y
+CONFIG_BUTTON_KEYBOARD=y
+CONFIG_DM_PMIC=y
+CONFIG_DM_REGULATOR=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_PWM_TEGRA=y
+CONFIG_SYS_NS16550=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_TEGRA=y
+CONFIG_USB_KEYBOARD=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_MANUFACTURER="ASUS Google"
+CONFIG_USB_GADGET_VENDOR_NUM=0x18d1
+CONFIG_USB_GADGET_PRODUCT_NUM=0x4e41
+CONFIG_CI_UDC=y
+CONFIG_VIDEO=y
+# CONFIG_VIDEO_LOGO is not set
+CONFIG_VIDEO_TEGRA20=y
+# CONFIG_CMD_BOOTEFI_BOOTMGR is not set
diff --git a/configs/tilapia.config b/configs/tilapia.config
new file mode 100644
index 0000000000..1fb0633e3a
--- /dev/null
+++ b/configs/tilapia.config
@@ -0,0 +1,3 @@
+CONFIG_DEFAULT_DEVICE_TREE="tegra30-asus-nexus7-tilapia-E1565"
+CONFIG_GROUPER_MAX77663=y
+CONFIG_SYS_PROMPT="Tegra30 (Tilapia) # "
diff --git a/include/configs/grouper.h b/include/configs/grouper.h
new file mode 100644
index 0000000000..ad08a2b110
--- /dev/null
+++ b/include/configs/grouper.h
@@ -0,0 +1,68 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (c) 2010-2012, NVIDIA CORPORATION.  All rights reserved.
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#include <linux/sizes.h>
+
+#include "tegra30-common.h"
+
+/* High-level configuration options */
+#define CFG_TEGRA_BOARD_STRING		"ASUS Google Nexus 7 (2012)"
+
+#define GROUPER_FLASH_UBOOT \
+	"flash_uboot=echo Preparing RAM;" \
+		"mw ${kernel_addr_r} 0 ${boot_block_size_r};" \
+		"mw ${ramdisk_addr_r} 0 ${boot_block_size_r};" \
+		"echo Reading BCT;" \
+		"mmc dev 0 1;" \
+		"mmc read ${kernel_addr_r} 0 ${boot_block_size};" \
+		"echo Reading bootloader;" \
+		"if load mmc 0:1 ${ramdisk_addr_r} ${bootloader_file};" \
+		"then echo Calculating bootloader size;" \
+			"size mmc 0:1 ${bootloader_file};" \
+			"ebtupdate ${kernel_addr_r} ${ramdisk_addr_r} ${filesize};" \
+			"echo Writing bootloader to eMMC;" \
+			"mmc dev 0 1;" \
+			"mmc write ${kernel_addr_r} 0 ${boot_block_size};" \
+			"mmc dev 0 2;" \
+			"mmc write ${ramdisk_addr_r} 0 ${boot_block_size};" \
+			"echo Bootloader written successfully;" \
+			"pause 'Press ANY key to reboot device...'; reset;" \
+		"else echo Reading bootloader failed;" \
+			"pause 'Press ANY key to return to bootmenu...'; bootmenu; fi\0"
+
+#define GROUPER_BOOTMENU \
+	GROUPER_FLASH_UBOOT \
+	"bootmenu_0=mount internal storage=usb start && ums 0 mmc 0; bootmenu\0" \
+	"bootmenu_1=fastboot=echo Starting Fastboot protocol ...; fastboot usb 0; bootmenu\0" \
+	"bootmenu_2=update bootloader=run flash_uboot\0" \
+	"bootmenu_3=reboot RCM=enterrcm\0" \
+	"bootmenu_4=reboot=reset\0" \
+	"bootmenu_5=power off=poweroff\0" \
+	"bootmenu_delay=-1\0"
+
+#define BOARD_EXTRA_ENV_SETTINGS \
+	"boot_block_size_r=0x200000\0" \
+	"boot_block_size=0x1000\0" \
+	"bootloader_file=u-boot-dtb-tegra.bin\0" \
+	"check_button=gpio input 131; test $? -eq 0;\0" \
+	"partitions=name=emmc,start=0,size=-,uuid=${uuid_gpt_rootfs}\0" \
+	GROUPER_BOOTMENU
+
+/* Board-specific serial config */
+#define CFG_SYS_NS16550_COM1		NV_PA_APB_UARTA_BASE
+
+#include "tegra-common-post.h"
+
+#undef CONFIG_BOOTCOMMAND
+#define CONFIG_BOOTCOMMAND \
+	"if run check_button;" \
+	"then bootmenu; fi;" \
+	"run bootcmd_mmc0;" \
+	"poweroff;"
+
+#endif /* __CONFIG_H */
-- 
2.37.2


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

* RE: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
  2023-04-12 19:49 [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support Svyatoslav Ryhel
                   ` (3 preceding siblings ...)
  2023-04-12 19:49 ` [PATCH v1 4/4] board: asus: grouper: add Google Nexus 7 (2012) support Svyatoslav Ryhel
@ 2023-04-12 23:07 ` Tom Warren
  2023-04-13  6:05   ` Svyatoslav Ryhel
  4 siblings, 1 reply; 16+ messages in thread
From: Tom Warren @ 2023-04-12 23:07 UTC (permalink / raw)
  To: Svyatoslav Ryhel, Marek Vasut, Philippe Reynes, Marcel Ziswiler,
	Fabio Estevam, Simon Glass, Jonas Schwöbel
  Cc: u-boot

Svyatoslav,

This series (patches 3 & 4, in particular) fails when applied to u-boot-tegra/master TOT. Error snippet is below (from make p2771-0000-500_defconfig && make):

CC      arch/arm/mach-tegra/fuse.o
arch/arm/mach-tegra/fuse.c:14:10: fatal error: asm/arch/clock.h: No such file or directory
 #include <asm/arch/clock.h>
          ^~~~~~~~~~~~~~~~~~
compilation terminated.
scripts/Makefile.build:256: recipe for target 'arch/arm/mach-tegra/fuse.o' failed
make[1]: *** [arch/arm/mach-tegra/fuse.o] Error 1
Makefile:1845: recipe for target 'arch/arm/mach-tegra' failed
make: *** [arch/arm/mach-tegra] Error 2

buildman/tegra also fails for that board, and 2 others.  Removing those two patches (3 & 4 in your Nexus7 patchset) gets make & buildman working again.
Buildman/tegra worked fine on the base u-boot-tegra/master repo (before I applied your patchset w/git am).

PTAL,

Tom

-----Original Message-----
From: Svyatoslav Ryhel <clamor95@gmail.com> 
Sent: Wednesday, April 12, 2023 12:50 PM
To: Tom Warren <twarren@nvidia.com>; Svyatoslav Ryhel <clamor95@gmail.com>; Marek Vasut <marex@denx.de>; Philippe Reynes <philippe.reynes@softathome.com>; Marcel Ziswiler <marcel.ziswiler@toradex.com>; Fabio Estevam <festevam@denx.de>; Simon Glass <sjg@chromium.org>; Jonas Schwöbel <jonasschwoebel@yahoo.de>
Cc: u-boot@lists.denx.de
Subject: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support

External email: Use caution opening links or attachments


This patchset adds support for native use of U-Boot on ASUS/Google Nexus 7 (2012), aka grouper/tilapia as a replacement of vendor bootloader. Alongside device bringup tegra requires few small patches:
 - add gpio keyboard as stdin device
 - make networking boot options optional
 - add a small tool to generate SoC UID

Jonas Schwöbel (1):
  configs: tegra-common-post: make PXE and DHCP boot targets optional

Svyatoslav Ryhel (3):
  configs: tegra-common-post: add GPIO keyboard as STDIN device
  ARM: tegra: add SoC UID calculation function
  board: asus: grouper: add Google Nexus 7 (2012) support

 arch/arm/dts/Makefile                         |   3 +
 arch/arm/dts/tegra30-asus-grouper-common.dtsi | 125 ++++++  .../dts/tegra30-asus-nexus7-grouper-E1565.dts |  40 ++  .../dts/tegra30-asus-nexus7-grouper-PM269.dts |  65 ++++  .../dts/tegra30-asus-nexus7-tilapia-E1565.dts |  40 ++
 arch/arm/include/asm/arch-tegra/fuse.h        |   7 +
 arch/arm/mach-tegra/Makefile                  |   2 +-
 arch/arm/mach-tegra/fuse.c                    | 151 ++++++++
 arch/arm/mach-tegra/tegra30/Kconfig           |   5 +
 board/asus/grouper/Kconfig                    |  20 +
 board/asus/grouper/MAINTAINERS                |   6 +
 board/asus/grouper/Makefile                   |  14 +
 board/asus/grouper/grouper-spl-max.c          |  46 +++
 board/asus/grouper/grouper-spl-ti.c           |  42 ++
 board/asus/grouper/grouper.c                  | 209 ++++++++++
 board/asus/grouper/pinmux-config-grouper.h    | 362 ++++++++++++++++++
 configs/grouper_E1565.config                  |   2 +
 configs/grouper_PM269.config                  |   2 +
 configs/grouper_common_defconfig              |  85 ++++
 configs/tilapia.config                        |   3 +
 include/configs/grouper.h                     |  68 ++++
 include/configs/tegra-common-post.h           |  28 +-
 22 files changed, 1319 insertions(+), 6 deletions(-)  create mode 100644 arch/arm/dts/tegra30-asus-grouper-common.dtsi
 create mode 100644 arch/arm/dts/tegra30-asus-nexus7-grouper-E1565.dts
 create mode 100644 arch/arm/dts/tegra30-asus-nexus7-grouper-PM269.dts
 create mode 100644 arch/arm/dts/tegra30-asus-nexus7-tilapia-E1565.dts
 create mode 100644 arch/arm/mach-tegra/fuse.c  create mode 100644 board/asus/grouper/Kconfig  create mode 100644 board/asus/grouper/MAINTAINERS  create mode 100644 board/asus/grouper/Makefile  create mode 100644 board/asus/grouper/grouper-spl-max.c
 create mode 100644 board/asus/grouper/grouper-spl-ti.c
 create mode 100644 board/asus/grouper/grouper.c  create mode 100644 board/asus/grouper/pinmux-config-grouper.h
 create mode 100644 configs/grouper_E1565.config  create mode 100644 configs/grouper_PM269.config  create mode 100644 configs/grouper_common_defconfig  create mode 100644 configs/tilapia.config  create mode 100644 include/configs/grouper.h

--
2.37.2


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

* Re: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
  2023-04-12 23:07 ` [PATCH v1 0/4] Tegra: add ASUS/Google " Tom Warren
@ 2023-04-13  6:05   ` Svyatoslav Ryhel
  2023-04-13 17:13     ` Tom Warren
  0 siblings, 1 reply; 16+ messages in thread
From: Svyatoslav Ryhel @ 2023-04-13  6:05 UTC (permalink / raw)
  To: Tom Warren
  Cc: Marek Vasut, Philippe Reynes, Marcel Ziswiler, Fabio Estevam,
	Simon Glass, Jonas Schwöbel, u-boot

чт, 13 квіт. 2023 р. о 02:07 Tom Warren <TWarren@nvidia.com> пише:
>
> Svyatoslav,
>
> This series (patches 3 & 4, in particular) fails when applied to u-boot-tegra/master TOT. Error snippet is below (from make p2771-0000-500_defconfig && make):
>
> CC      arch/arm/mach-tegra/fuse.o
> arch/arm/mach-tegra/fuse.c:14:10: fatal error: asm/arch/clock.h: No such file or directory
>  #include <asm/arch/clock.h>
>           ^~~~~~~~~~~~~~~~~~
> compilation terminated.
> scripts/Makefile.build:256: recipe for target 'arch/arm/mach-tegra/fuse.o' failed
> make[1]: *** [arch/arm/mach-tegra/fuse.o] Error 1
> Makefile:1845: recipe for target 'arch/arm/mach-tegra' failed
> make: *** [arch/arm/mach-tegra] Error 2

Hello Tom.

Thanks for your check. Issue was caused by non exposed headers for T186.
I have fixed that in v2, I hope buildman will pass. Additionally I have modified
grouper defconfig in such a way that it should pass even without
device fragment.

Best regards,
Svyatoslav R.

>
> buildman/tegra also fails for that board, and 2 others.  Removing those two patches (3 & 4 in your Nexus7 patchset) gets make & buildman working again.
> Buildman/tegra worked fine on the base u-boot-tegra/master repo (before I applied your patchset w/git am).
>
> PTAL,
>
> Tom
>
> -----Original Message-----
> From: Svyatoslav Ryhel <clamor95@gmail.com>
> Sent: Wednesday, April 12, 2023 12:50 PM
> To: Tom Warren <twarren@nvidia.com>; Svyatoslav Ryhel <clamor95@gmail.com>; Marek Vasut <marex@denx.de>; Philippe Reynes <philippe.reynes@softathome.com>; Marcel Ziswiler <marcel.ziswiler@toradex.com>; Fabio Estevam <festevam@denx.de>; Simon Glass <sjg@chromium.org>; Jonas Schwöbel <jonasschwoebel@yahoo.de>
> Cc: u-boot@lists.denx.de
> Subject: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
>
> External email: Use caution opening links or attachments
>
>
> This patchset adds support for native use of U-Boot on ASUS/Google Nexus 7 (2012), aka grouper/tilapia as a replacement of vendor bootloader. Alongside device bringup tegra requires few small patches:
>  - add gpio keyboard as stdin device
>  - make networking boot options optional
>  - add a small tool to generate SoC UID
>
> Jonas Schwöbel (1):
>   configs: tegra-common-post: make PXE and DHCP boot targets optional
>
> Svyatoslav Ryhel (3):
>   configs: tegra-common-post: add GPIO keyboard as STDIN device
>   ARM: tegra: add SoC UID calculation function
>   board: asus: grouper: add Google Nexus 7 (2012) support
>
>  arch/arm/dts/Makefile                         |   3 +
>  arch/arm/dts/tegra30-asus-grouper-common.dtsi | 125 ++++++  .../dts/tegra30-asus-nexus7-grouper-E1565.dts |  40 ++  .../dts/tegra30-asus-nexus7-grouper-PM269.dts |  65 ++++  .../dts/tegra30-asus-nexus7-tilapia-E1565.dts |  40 ++
>  arch/arm/include/asm/arch-tegra/fuse.h        |   7 +
>  arch/arm/mach-tegra/Makefile                  |   2 +-
>  arch/arm/mach-tegra/fuse.c                    | 151 ++++++++
>  arch/arm/mach-tegra/tegra30/Kconfig           |   5 +
>  board/asus/grouper/Kconfig                    |  20 +
>  board/asus/grouper/MAINTAINERS                |   6 +
>  board/asus/grouper/Makefile                   |  14 +
>  board/asus/grouper/grouper-spl-max.c          |  46 +++
>  board/asus/grouper/grouper-spl-ti.c           |  42 ++
>  board/asus/grouper/grouper.c                  | 209 ++++++++++
>  board/asus/grouper/pinmux-config-grouper.h    | 362 ++++++++++++++++++
>  configs/grouper_E1565.config                  |   2 +
>  configs/grouper_PM269.config                  |   2 +
>  configs/grouper_common_defconfig              |  85 ++++
>  configs/tilapia.config                        |   3 +
>  include/configs/grouper.h                     |  68 ++++
>  include/configs/tegra-common-post.h           |  28 +-
>  22 files changed, 1319 insertions(+), 6 deletions(-)  create mode 100644 arch/arm/dts/tegra30-asus-grouper-common.dtsi
>  create mode 100644 arch/arm/dts/tegra30-asus-nexus7-grouper-E1565.dts
>  create mode 100644 arch/arm/dts/tegra30-asus-nexus7-grouper-PM269.dts
>  create mode 100644 arch/arm/dts/tegra30-asus-nexus7-tilapia-E1565.dts
>  create mode 100644 arch/arm/mach-tegra/fuse.c  create mode 100644 board/asus/grouper/Kconfig  create mode 100644 board/asus/grouper/MAINTAINERS  create mode 100644 board/asus/grouper/Makefile  create mode 100644 board/asus/grouper/grouper-spl-max.c
>  create mode 100644 board/asus/grouper/grouper-spl-ti.c
>  create mode 100644 board/asus/grouper/grouper.c  create mode 100644 board/asus/grouper/pinmux-config-grouper.h
>  create mode 100644 configs/grouper_E1565.config  create mode 100644 configs/grouper_PM269.config  create mode 100644 configs/grouper_common_defconfig  create mode 100644 configs/tilapia.config  create mode 100644 include/configs/grouper.h
>
> --
> 2.37.2
>

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

* RE: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
  2023-04-13  6:05   ` Svyatoslav Ryhel
@ 2023-04-13 17:13     ` Tom Warren
  2023-04-13 19:11       ` Svyatoslav Ryhel
  2023-04-16 11:56       ` Svyatoslav Ryhel
  0 siblings, 2 replies; 16+ messages in thread
From: Tom Warren @ 2023-04-13 17:13 UTC (permalink / raw)
  To: Svyatoslav Ryhel
  Cc: Marek Vasut, Philippe Reynes, Marcel Ziswiler, Fabio Estevam,
	Simon Glass, Jonas Schwöbel, u-boot

Svyatoslav,

I tried to build w/V2 of your Nexus patches applied to TOT u-boot-tegra/master, and I get these errors from 'buildman tegra':

   aarch64:  +   p2771-0000-000             
+In file included from arch/arm/mach-tegra/fuse.c:16:0:
+arch/arm/include/asm/arch-tegra/clock.h:42:10: fatal error: asm/arch/clock-tables.h: No such file or directory
+ #include <asm/arch/clock-tables.h>
+          ^~~~~~~~~~~~~~~~~~~~~~~~~
+compilation terminated.
+make[2]: *** [arch/arm/mach-tegra/fuse.o] Error 1
+make[1]: *** [arch/arm/mach-tegra] Error 2
+make: *** [sub-make] Error 2
   aarch64:  +   p2771-0000-500                            
+In file included from arch/arm/mach-tegra/fuse.c:16:0:
+arch/arm/include/asm/arch-tegra/clock.h:42:10: fatal error: asm/arch/clock-tables.h: No such file or directory
+ #include <asm/arch/clock-tables.h>
+          ^~~~~~~~~~~~~~~~~~~~~~~~~
+compilation terminated.
+make[2]: *** [arch/arm/mach-tegra/fuse.o] Error 1
+make[1]: *** [arch/arm/mach-tegra] Error 2
+make: *** [sub-make] Error 2

These are the two T186 builds, they don't have or use a clock-tables.h .

Please test building your patchset on TOT u-boot-tegra/master _before_ posting. Use buildman (preferred) or 'make xxx_defconfig && make' for each Tegra board (cumbersome).

I won't take any future patches from you unless they're marked w/'passes buildman' or 'each Tegra board builds OK w/make', etc.  I certainly can't push a PR to TomR if it fails to build.

Tom

-----Original Message-----
From: Svyatoslav Ryhel <clamor95@gmail.com> 
Sent: Wednesday, April 12, 2023 11:05 PM
To: Tom Warren <TWarren@nvidia.com>
Cc: Marek Vasut <marex@denx.de>; Philippe Reynes <philippe.reynes@softathome.com>; Marcel Ziswiler <marcel.ziswiler@toradex.com>; Fabio Estevam <festevam@denx.de>; Simon Glass <sjg@chromium.org>; Jonas Schwöbel <jonasschwoebel@yahoo.de>; u-boot@lists.denx.de
Subject: Re: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support

External email: Use caution opening links or attachments


чт, 13 квіт. 2023 р. о 02:07 Tom Warren <TWarren@nvidia.com> пише:
>
> Svyatoslav,
>
> This series (patches 3 & 4, in particular) fails when applied to u-boot-tegra/master TOT. Error snippet is below (from make p2771-0000-500_defconfig && make):
>
> CC      arch/arm/mach-tegra/fuse.o
> arch/arm/mach-tegra/fuse.c:14:10: fatal error: asm/arch/clock.h: No 
> such file or directory  #include <asm/arch/clock.h>
>           ^~~~~~~~~~~~~~~~~~
> compilation terminated.
> scripts/Makefile.build:256: recipe for target 
> 'arch/arm/mach-tegra/fuse.o' failed
> make[1]: *** [arch/arm/mach-tegra/fuse.o] Error 1
> Makefile:1845: recipe for target 'arch/arm/mach-tegra' failed
> make: *** [arch/arm/mach-tegra] Error 2

Hello Tom.

Thanks for your check. Issue was caused by non exposed headers for T186.
I have fixed that in v2, I hope buildman will pass. Additionally I have modified grouper defconfig in such a way that it should pass even without device fragment.

Best regards,
Svyatoslav R.

>
> buildman/tegra also fails for that board, and 2 others.  Removing those two patches (3 & 4 in your Nexus7 patchset) gets make & buildman working again.
> Buildman/tegra worked fine on the base u-boot-tegra/master repo (before I applied your patchset w/git am).
>
> PTAL,
>
> Tom
>
> -----Original Message-----
> From: Svyatoslav Ryhel <clamor95@gmail.com>
> Sent: Wednesday, April 12, 2023 12:50 PM
> To: Tom Warren <twarren@nvidia.com>; Svyatoslav Ryhel 
> <clamor95@gmail.com>; Marek Vasut <marex@denx.de>; Philippe Reynes 
> <philippe.reynes@softathome.com>; Marcel Ziswiler 
> <marcel.ziswiler@toradex.com>; Fabio Estevam <festevam@denx.de>; Simon 
> Glass <sjg@chromium.org>; Jonas Schwöbel <jonasschwoebel@yahoo.de>
> Cc: u-boot@lists.denx.de
> Subject: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
>
> External email: Use caution opening links or attachments
>
>
> This patchset adds support for native use of U-Boot on ASUS/Google Nexus 7 (2012), aka grouper/tilapia as a replacement of vendor bootloader. Alongside device bringup tegra requires few small patches:
>  - add gpio keyboard as stdin device
>  - make networking boot options optional
>  - add a small tool to generate SoC UID
>
> Jonas Schwöbel (1):
>   configs: tegra-common-post: make PXE and DHCP boot targets optional
>
> Svyatoslav Ryhel (3):
>   configs: tegra-common-post: add GPIO keyboard as STDIN device
>   ARM: tegra: add SoC UID calculation function
>   board: asus: grouper: add Google Nexus 7 (2012) support
>
>  arch/arm/dts/Makefile                         |   3 +
>  arch/arm/dts/tegra30-asus-grouper-common.dtsi | 125 ++++++  .../dts/tegra30-asus-nexus7-grouper-E1565.dts |  40 ++  .../dts/tegra30-asus-nexus7-grouper-PM269.dts |  65 ++++  .../dts/tegra30-asus-nexus7-tilapia-E1565.dts |  40 ++
>  arch/arm/include/asm/arch-tegra/fuse.h        |   7 +
>  arch/arm/mach-tegra/Makefile                  |   2 +-
>  arch/arm/mach-tegra/fuse.c                    | 151 ++++++++
>  arch/arm/mach-tegra/tegra30/Kconfig           |   5 +
>  board/asus/grouper/Kconfig                    |  20 +
>  board/asus/grouper/MAINTAINERS                |   6 +
>  board/asus/grouper/Makefile                   |  14 +
>  board/asus/grouper/grouper-spl-max.c          |  46 +++
>  board/asus/grouper/grouper-spl-ti.c           |  42 ++
>  board/asus/grouper/grouper.c                  | 209 ++++++++++
>  board/asus/grouper/pinmux-config-grouper.h    | 362 ++++++++++++++++++
>  configs/grouper_E1565.config                  |   2 +
>  configs/grouper_PM269.config                  |   2 +
>  configs/grouper_common_defconfig              |  85 ++++
>  configs/tilapia.config                        |   3 +
>  include/configs/grouper.h                     |  68 ++++
>  include/configs/tegra-common-post.h           |  28 +-
>  22 files changed, 1319 insertions(+), 6 deletions(-)  create mode 
> 100644 arch/arm/dts/tegra30-asus-grouper-common.dtsi
>  create mode 100644 arch/arm/dts/tegra30-asus-nexus7-grouper-E1565.dts
>  create mode 100644 arch/arm/dts/tegra30-asus-nexus7-grouper-PM269.dts
>  create mode 100644 arch/arm/dts/tegra30-asus-nexus7-tilapia-E1565.dts
>  create mode 100644 arch/arm/mach-tegra/fuse.c  create mode 100644 
> board/asus/grouper/Kconfig  create mode 100644 
> board/asus/grouper/MAINTAINERS  create mode 100644 
> board/asus/grouper/Makefile  create mode 100644 
> board/asus/grouper/grouper-spl-max.c
>  create mode 100644 board/asus/grouper/grouper-spl-ti.c
>  create mode 100644 board/asus/grouper/grouper.c  create mode 100644 
> board/asus/grouper/pinmux-config-grouper.h
>  create mode 100644 configs/grouper_E1565.config  create mode 100644 
> configs/grouper_PM269.config  create mode 100644 
> configs/grouper_common_defconfig  create mode 100644 
> configs/tilapia.config  create mode 100644 include/configs/grouper.h
>
> --
> 2.37.2
>

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

* Re: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
  2023-04-13 17:13     ` Tom Warren
@ 2023-04-13 19:11       ` Svyatoslav Ryhel
  2023-04-16 11:56       ` Svyatoslav Ryhel
  1 sibling, 0 replies; 16+ messages in thread
From: Svyatoslav Ryhel @ 2023-04-13 19:11 UTC (permalink / raw)
  To: Tom Warren
  Cc: Marek Vasut, Philippe Reynes, Marcel Ziswiler, Fabio Estevam,
	Simon Glass, Jonas Schwöbel, u-boot

чт, 13 квіт. 2023 р. о 20:13 Tom Warren <TWarren@nvidia.com> пише:
>
> Svyatoslav,
>
> I tried to build w/V2 of your Nexus patches applied to TOT u-boot-tegra/master, and I get these errors from 'buildman tegra':
>
>    aarch64:  +   p2771-0000-000
> +In file included from arch/arm/mach-tegra/fuse.c:16:0:
> +arch/arm/include/asm/arch-tegra/clock.h:42:10: fatal error: asm/arch/clock-tables.h: No such file or directory
> + #include <asm/arch/clock-tables.h>
> +          ^~~~~~~~~~~~~~~~~~~~~~~~~
> +compilation terminated.
> +make[2]: *** [arch/arm/mach-tegra/fuse.o] Error 1
> +make[1]: *** [arch/arm/mach-tegra] Error 2
> +make: *** [sub-make] Error 2
>    aarch64:  +   p2771-0000-500
> +In file included from arch/arm/mach-tegra/fuse.c:16:0:
> +arch/arm/include/asm/arch-tegra/clock.h:42:10: fatal error: asm/arch/clock-tables.h: No such file or directory
> + #include <asm/arch/clock-tables.h>
> +          ^~~~~~~~~~~~~~~~~~~~~~~~~
> +compilation terminated.
> +make[2]: *** [arch/arm/mach-tegra/fuse.o] Error 1
> +make[1]: *** [arch/arm/mach-tegra] Error 2
> +make: *** [sub-make] Error 2
>
> These are the two T186 builds, they don't have or use a clock-tables.h .
>
> Please test building your patchset on TOT u-boot-tegra/master _before_ posting. Use buildman (preferred) or 'make xxx_defconfig && make' for each Tegra board (cumbersome).
>
> I won't take any future patches from you unless they're marked w/'passes buildman' or 'each Tegra board builds OK w/make', etc.  I certainly can't push a PR to TomR if it fails to build.

Thank you! I have reloaded patches with fixes. It passed
./tools/buildman/buildman -Pr tegra or do I need to run other tests.
If yes, pls specify which.

Best regards,
Svyatoslav R.

> Tom
>
> -----Original Message-----
> From: Svyatoslav Ryhel <clamor95@gmail.com>
> Sent: Wednesday, April 12, 2023 11:05 PM
> To: Tom Warren <TWarren@nvidia.com>
> Cc: Marek Vasut <marex@denx.de>; Philippe Reynes <philippe.reynes@softathome.com>; Marcel Ziswiler <marcel.ziswiler@toradex.com>; Fabio Estevam <festevam@denx.de>; Simon Glass <sjg@chromium.org>; Jonas Schwöbel <jonasschwoebel@yahoo.de>; u-boot@lists.denx.de
> Subject: Re: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
>
> External email: Use caution opening links or attachments
>
>
> чт, 13 квіт. 2023 р. о 02:07 Tom Warren <TWarren@nvidia.com> пише:
> >
> > Svyatoslav,
> >
> > This series (patches 3 & 4, in particular) fails when applied to u-boot-tegra/master TOT. Error snippet is below (from make p2771-0000-500_defconfig && make):
> >
> > CC      arch/arm/mach-tegra/fuse.o
> > arch/arm/mach-tegra/fuse.c:14:10: fatal error: asm/arch/clock.h: No
> > such file or directory  #include <asm/arch/clock.h>
> >           ^~~~~~~~~~~~~~~~~~
> > compilation terminated.
> > scripts/Makefile.build:256: recipe for target
> > 'arch/arm/mach-tegra/fuse.o' failed
> > make[1]: *** [arch/arm/mach-tegra/fuse.o] Error 1
> > Makefile:1845: recipe for target 'arch/arm/mach-tegra' failed
> > make: *** [arch/arm/mach-tegra] Error 2
>
> Hello Tom.
>
> Thanks for your check. Issue was caused by non exposed headers for T186.
> I have fixed that in v2, I hope buildman will pass. Additionally I have modified grouper defconfig in such a way that it should pass even without device fragment.
>
> Best regards,
> Svyatoslav R.
>
> >
> > buildman/tegra also fails for that board, and 2 others.  Removing those two patches (3 & 4 in your Nexus7 patchset) gets make & buildman working again.
> > Buildman/tegra worked fine on the base u-boot-tegra/master repo (before I applied your patchset w/git am).
> >
> > PTAL,
> >
> > Tom
> >
> > -----Original Message-----
> > From: Svyatoslav Ryhel <clamor95@gmail.com>
> > Sent: Wednesday, April 12, 2023 12:50 PM
> > To: Tom Warren <twarren@nvidia.com>; Svyatoslav Ryhel
> > <clamor95@gmail.com>; Marek Vasut <marex@denx.de>; Philippe Reynes
> > <philippe.reynes@softathome.com>; Marcel Ziswiler
> > <marcel.ziswiler@toradex.com>; Fabio Estevam <festevam@denx.de>; Simon
> > Glass <sjg@chromium.org>; Jonas Schwöbel <jonasschwoebel@yahoo.de>
> > Cc: u-boot@lists.denx.de
> > Subject: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
> >
> > External email: Use caution opening links or attachments
> >
> >
> > This patchset adds support for native use of U-Boot on ASUS/Google Nexus 7 (2012), aka grouper/tilapia as a replacement of vendor bootloader. Alongside device bringup tegra requires few small patches:
> >  - add gpio keyboard as stdin device
> >  - make networking boot options optional
> >  - add a small tool to generate SoC UID
> >
> > Jonas Schwöbel (1):
> >   configs: tegra-common-post: make PXE and DHCP boot targets optional
> >
> > Svyatoslav Ryhel (3):
> >   configs: tegra-common-post: add GPIO keyboard as STDIN device
> >   ARM: tegra: add SoC UID calculation function
> >   board: asus: grouper: add Google Nexus 7 (2012) support
> >
> >  arch/arm/dts/Makefile                         |   3 +
> >  arch/arm/dts/tegra30-asus-grouper-common.dtsi | 125 ++++++  .../dts/tegra30-asus-nexus7-grouper-E1565.dts |  40 ++  .../dts/tegra30-asus-nexus7-grouper-PM269.dts |  65 ++++  .../dts/tegra30-asus-nexus7-tilapia-E1565.dts |  40 ++
> >  arch/arm/include/asm/arch-tegra/fuse.h        |   7 +
> >  arch/arm/mach-tegra/Makefile                  |   2 +-
> >  arch/arm/mach-tegra/fuse.c                    | 151 ++++++++
> >  arch/arm/mach-tegra/tegra30/Kconfig           |   5 +
> >  board/asus/grouper/Kconfig                    |  20 +
> >  board/asus/grouper/MAINTAINERS                |   6 +
> >  board/asus/grouper/Makefile                   |  14 +
> >  board/asus/grouper/grouper-spl-max.c          |  46 +++
> >  board/asus/grouper/grouper-spl-ti.c           |  42 ++
> >  board/asus/grouper/grouper.c                  | 209 ++++++++++
> >  board/asus/grouper/pinmux-config-grouper.h    | 362 ++++++++++++++++++
> >  configs/grouper_E1565.config                  |   2 +
> >  configs/grouper_PM269.config                  |   2 +
> >  configs/grouper_common_defconfig              |  85 ++++
> >  configs/tilapia.config                        |   3 +
> >  include/configs/grouper.h                     |  68 ++++
> >  include/configs/tegra-common-post.h           |  28 +-
> >  22 files changed, 1319 insertions(+), 6 deletions(-)  create mode
> > 100644 arch/arm/dts/tegra30-asus-grouper-common.dtsi
> >  create mode 100644 arch/arm/dts/tegra30-asus-nexus7-grouper-E1565.dts
> >  create mode 100644 arch/arm/dts/tegra30-asus-nexus7-grouper-PM269.dts
> >  create mode 100644 arch/arm/dts/tegra30-asus-nexus7-tilapia-E1565.dts
> >  create mode 100644 arch/arm/mach-tegra/fuse.c  create mode 100644
> > board/asus/grouper/Kconfig  create mode 100644
> > board/asus/grouper/MAINTAINERS  create mode 100644
> > board/asus/grouper/Makefile  create mode 100644
> > board/asus/grouper/grouper-spl-max.c
> >  create mode 100644 board/asus/grouper/grouper-spl-ti.c
> >  create mode 100644 board/asus/grouper/grouper.c  create mode 100644
> > board/asus/grouper/pinmux-config-grouper.h
> >  create mode 100644 configs/grouper_E1565.config  create mode 100644
> > configs/grouper_PM269.config  create mode 100644
> > configs/grouper_common_defconfig  create mode 100644
> > configs/tilapia.config  create mode 100644 include/configs/grouper.h
> >
> > --
> > 2.37.2
> >

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

* RE: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
  2023-04-13 17:13     ` Tom Warren
  2023-04-13 19:11       ` Svyatoslav Ryhel
@ 2023-04-16 11:56       ` Svyatoslav Ryhel
  2023-04-17 15:08         ` Tom Warren
  1 sibling, 1 reply; 16+ messages in thread
From: Svyatoslav Ryhel @ 2023-04-16 11:56 UTC (permalink / raw)
  To: Tom Warren; +Cc: Jonas Schwöbel, u-boot





Mailing list reduction.

Tom,

May I extend this patchset with adding commits for other t20/t30 devices bringup. They are all typical and look like grouper bringup. This should decrease quantity of separate patches sent involving your assist. Devices in interest are Asus Transformers, LG P880/P895 and Htc One X.

Best regards,
Svyatoslav R.

13 квітня 2023 р. 20:13:25 GMT+03:00, Tom Warren <TWarren@nvidia.com> написав(-ла):
>Svyatoslav,
>
>I tried to build w/V2 of your Nexus patches applied to TOT u-boot-tegra/master, and I get these errors from 'buildman tegra':
>
>   aarch64:  +   p2771-0000-000             
>+In file included from arch/arm/mach-tegra/fuse.c:16:0:
>+arch/arm/include/asm/arch-tegra/clock.h:42:10: fatal error: asm/arch/clock-tables.h: No such file or directory
>+ #include <asm/arch/clock-tables.h>
>+          ^~~~~~~~~~~~~~~~~~~~~~~~~
>+compilation terminated.
>+make[2]: *** [arch/arm/mach-tegra/fuse.o] Error 1
>+make[1]: *** [arch/arm/mach-tegra] Error 2
>+make: *** [sub-make] Error 2
>   aarch64:  +   p2771-0000-500                            
>+In file included from arch/arm/mach-tegra/fuse.c:16:0:
>+arch/arm/include/asm/arch-tegra/clock.h:42:10: fatal error: asm/arch/clock-tables.h: No such file or directory
>+ #include <asm/arch/clock-tables.h>
>+          ^~~~~~~~~~~~~~~~~~~~~~~~~
>+compilation terminated.
>+make[2]: *** [arch/arm/mach-tegra/fuse.o] Error 1
>+make[1]: *** [arch/arm/mach-tegra] Error 2
>+make: *** [sub-make] Error 2
>
>These are the two T186 builds, they don't have or use a clock-tables.h .
>
>Please test building your patchset on TOT u-boot-tegra/master _before_ posting. Use buildman (preferred) or 'make xxx_defconfig && make' for each Tegra board (cumbersome).
>
>I won't take any future patches from you unless they're marked w/'passes buildman' or 'each Tegra board builds OK w/make', etc.  I certainly can't push a PR to TomR if it fails to build.
>
>Tom
>
>-----Original Message-----
>From: Svyatoslav Ryhel <clamor95@gmail.com> 
>Sent: Wednesday, April 12, 2023 11:05 PM
>To: Tom Warren <TWarren@nvidia.com>
>Cc: Marek Vasut <marex@denx.de>; Philippe Reynes <philippe.reynes@softathome.com>; Marcel Ziswiler <marcel.ziswiler@toradex.com>; Fabio Estevam <festevam@denx.de>; Simon Glass <sjg@chromium.org>; Jonas Schwöbel <jonasschwoebel@yahoo.de>; u-boot@lists.denx.de
>Subject: Re: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
>
>External email: Use caution opening links or attachments
>
>
>чт, 13 квіт. 2023 р. о 02:07 Tom Warren <TWarren@nvidia.com> пише:
>>
>> Svyatoslav,
>>
>> This series (patches 3 & 4, in particular) fails when applied to u-boot-tegra/master TOT. Error snippet is below (from make p2771-0000-500_defconfig && make):
>>
>> CC      arch/arm/mach-tegra/fuse.o
>> arch/arm/mach-tegra/fuse.c:14:10: fatal error: asm/arch/clock.h: No 
>> such file or directory  #include <asm/arch/clock.h>
>>           ^~~~~~~~~~~~~~~~~~
>> compilation terminated.
>> scripts/Makefile.build:256: recipe for target 
>> 'arch/arm/mach-tegra/fuse.o' failed
>> make[1]: *** [arch/arm/mach-tegra/fuse.o] Error 1
>> Makefile:1845: recipe for target 'arch/arm/mach-tegra' failed
>> make: *** [arch/arm/mach-tegra] Error 2
>
>Hello Tom.
>
>Thanks for your check. Issue was caused by non exposed headers for T186.
>I have fixed that in v2, I hope buildman will pass. Additionally I have modified grouper defconfig in such a way that it should pass even without device fragment.
>
>Best regards,
>Svyatoslav R.
>
>>
>> buildman/tegra also fails for that board, and 2 others.  Removing those two patches (3 & 4 in your Nexus7 patchset) gets make & buildman working again.
>> Buildman/tegra worked fine on the base u-boot-tegra/master repo (before I applied your patchset w/git am).
>>
>> PTAL,
>>
>> Tom
>>
>> -----Original Message-----
>> From: Svyatoslav Ryhel <clamor95@gmail.com>
>> Sent: Wednesday, April 12, 2023 12:50 PM
>> To: Tom Warren <twarren@nvidia.com>; Svyatoslav Ryhel 
>> <clamor95@gmail.com>; Marek Vasut <marex@denx.de>; Philippe Reynes 
>> <philippe.reynes@softathome.com>; Marcel Ziswiler 
>> <marcel.ziswiler@toradex.com>; Fabio Estevam <festevam@denx.de>; Simon 
>> Glass <sjg@chromium.org>; Jonas Schwöbel <jonasschwoebel@yahoo.de>
>> Cc: u-boot@lists.denx.de
>> Subject: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
>>
>> External email: Use caution opening links or attachments
>>
>>
>> This patchset adds support for native use of U-Boot on ASUS/Google Nexus 7 (2012), aka grouper/tilapia as a replacement of vendor bootloader. Alongside device bringup tegra requires few small patches:
>>  - add gpio keyboard as stdin device
>>  - make networking boot options optional
>>  - add a small tool to generate SoC UID
>>
>> Jonas Schwöbel (1):
>>   configs: tegra-common-post: make PXE and DHCP boot targets optional
>>
>> Svyatoslav Ryhel (3):
>>   configs: tegra-common-post: add GPIO keyboard as STDIN device
>>   ARM: tegra: add SoC UID calculation function
>>   board: asus: grouper: add Google Nexus 7 (2012) support
>>
>>  arch/arm/dts/Makefile                         |   3 +
>>  arch/arm/dts/tegra30-asus-grouper-common.dtsi | 125 ++++++  .../dts/tegra30-asus-nexus7-grouper-E1565.dts |  40 ++  .../dts/tegra30-asus-nexus7-grouper-PM269.dts |  65 ++++  .../dts/tegra30-asus-nexus7-tilapia-E1565.dts |  40 ++
>>  arch/arm/include/asm/arch-tegra/fuse.h        |   7 +
>>  arch/arm/mach-tegra/Makefile                  |   2 +-
>>  arch/arm/mach-tegra/fuse.c                    | 151 ++++++++
>>  arch/arm/mach-tegra/tegra30/Kconfig           |   5 +
>>  board/asus/grouper/Kconfig                    |  20 +
>>  board/asus/grouper/MAINTAINERS                |   6 +
>>  board/asus/grouper/Makefile                   |  14 +
>>  board/asus/grouper/grouper-spl-max.c          |  46 +++
>>  board/asus/grouper/grouper-spl-ti.c           |  42 ++
>>  board/asus/grouper/grouper.c                  | 209 ++++++++++
>>  board/asus/grouper/pinmux-config-grouper.h    | 362 ++++++++++++++++++
>>  configs/grouper_E1565.config                  |   2 +
>>  configs/grouper_PM269.config                  |   2 +
>>  configs/grouper_common_defconfig              |  85 ++++
>>  configs/tilapia.config                        |   3 +
>>  include/configs/grouper.h                     |  68 ++++
>>  include/configs/tegra-common-post.h           |  28 +-
>>  22 files changed, 1319 insertions(+), 6 deletions(-)  create mode 
>> 100644 arch/arm/dts/tegra30-asus-grouper-common.dtsi
>>  create mode 100644 arch/arm/dts/tegra30-asus-nexus7-grouper-E1565.dts
>>  create mode 100644 arch/arm/dts/tegra30-asus-nexus7-grouper-PM269.dts
>>  create mode 100644 arch/arm/dts/tegra30-asus-nexus7-tilapia-E1565.dts
>>  create mode 100644 arch/arm/mach-tegra/fuse.c  create mode 100644 
>> board/asus/grouper/Kconfig  create mode 100644 
>> board/asus/grouper/MAINTAINERS  create mode 100644 
>> board/asus/grouper/Makefile  create mode 100644 
>> board/asus/grouper/grouper-spl-max.c
>>  create mode 100644 board/asus/grouper/grouper-spl-ti.c
>>  create mode 100644 board/asus/grouper/grouper.c  create mode 100644 
>> board/asus/grouper/pinmux-config-grouper.h
>>  create mode 100644 configs/grouper_E1565.config  create mode 100644 
>> configs/grouper_PM269.config  create mode 100644 
>> configs/grouper_common_defconfig  create mode 100644 
>> configs/tilapia.config  create mode 100644 include/configs/grouper.h
>>
>> --
>> 2.37.2
>>

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

* RE: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
  2023-04-16 11:56       ` Svyatoslav Ryhel
@ 2023-04-17 15:08         ` Tom Warren
  2023-04-17 15:26           ` Svyatoslav Ryhel
  2023-04-18  7:31           ` Svyatoslav Ryhel
  0 siblings, 2 replies; 16+ messages in thread
From: Tom Warren @ 2023-04-17 15:08 UTC (permalink / raw)
  To: Svyatoslav Ryhel; +Cc: Jonas Schwöbel, u-boot

This patchset is specific to the Nexus 7, IIUC.  If the new devices also fall under that umbrella, then I see no problem with adding them here. But if they don't, maybe an ancillary patchset on top of this one would be better. 

Note that I still can't build with your latest (v3) patchset - grouper fails buildman and make. And I don't know where you are getting the '-Pr' argument w/buildman, my version doesn't support a -r option AFAICT.

tom@tom-ThinkPad-T580:~/denx/uboot-tegra$ buildman tegra30
Building current source for 6 boards (6 threads, 2 jobs per thread)
       arm:  +   grouper_common             
+drivers/video/tegra.c:24:30: fatal error: asm/arch/display.h: No such file or directory
+ #include <asm/arch/display.h>
+                              ^
+compilation terminated.
+make[3]: *** [drivers/video/tegra.o] Error 1
+make[2]: *** [drivers/video] Error 2
+make[1]: *** [drivers] Error 2
+make: *** [sub-make] Error 2
    5    0    1 /6              0:00:14  : beaver          
Completed: 6 total built, 6 newly), duration 0:01:26, rate 0.07

Tom

-----Original Message-----
From: Svyatoslav Ryhel <clamor95@gmail.com> 
Sent: Sunday, April 16, 2023 4:56 AM
To: Tom Warren <TWarren@nvidia.com>
Cc: Jonas Schwöbel <jonasschwoebel@yahoo.de>; u-boot@lists.denx.de
Subject: RE: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support

External email: Use caution opening links or attachments


Mailing list reduction.

Tom,

May I extend this patchset with adding commits for other t20/t30 devices bringup. They are all typical and look like grouper bringup. This should decrease quantity of separate patches sent involving your assist. Devices in interest are Asus Transformers, LG P880/P895 and Htc One X.

Best regards,
Svyatoslav R.

13 квітня 2023 р. 20:13:25 GMT+03:00, Tom Warren <TWarren@nvidia.com> написав(-ла):
>Svyatoslav,
>
>I tried to build w/V2 of your Nexus patches applied to TOT u-boot-tegra/master, and I get these errors from 'buildman tegra':
>
>   aarch64:  +   p2771-0000-000
>+In file included from arch/arm/mach-tegra/fuse.c:16:0:
>+arch/arm/include/asm/arch-tegra/clock.h:42:10: fatal error: 
>+asm/arch/clock-tables.h: No such file or directory  #include <asm/arch/clock-tables.h>
>+          ^~~~~~~~~~~~~~~~~~~~~~~~~
>+compilation terminated.
>+make[2]: *** [arch/arm/mach-tegra/fuse.o] Error 1
>+make[1]: *** [arch/arm/mach-tegra] Error 2
>+make: *** [sub-make] Error 2
>   aarch64:  +   p2771-0000-500
>+In file included from arch/arm/mach-tegra/fuse.c:16:0:
>+arch/arm/include/asm/arch-tegra/clock.h:42:10: fatal error: 
>+asm/arch/clock-tables.h: No such file or directory  #include <asm/arch/clock-tables.h>
>+          ^~~~~~~~~~~~~~~~~~~~~~~~~
>+compilation terminated.
>+make[2]: *** [arch/arm/mach-tegra/fuse.o] Error 1
>+make[1]: *** [arch/arm/mach-tegra] Error 2
>+make: *** [sub-make] Error 2
>
>These are the two T186 builds, they don't have or use a clock-tables.h .
>
>Please test building your patchset on TOT u-boot-tegra/master _before_ posting. Use buildman (preferred) or 'make xxx_defconfig && make' for each Tegra board (cumbersome).
>
>I won't take any future patches from you unless they're marked w/'passes buildman' or 'each Tegra board builds OK w/make', etc.  I certainly can't push a PR to TomR if it fails to build.
>
>Tom
>
>-----Original Message-----
>From: Svyatoslav Ryhel <clamor95@gmail.com>
>Sent: Wednesday, April 12, 2023 11:05 PM
>To: Tom Warren <TWarren@nvidia.com>
>Cc: Marek Vasut <marex@denx.de>; Philippe Reynes 
><philippe.reynes@softathome.com>; Marcel Ziswiler 
><marcel.ziswiler@toradex.com>; Fabio Estevam <festevam@denx.de>; Simon 
>Glass <sjg@chromium.org>; Jonas Schwöbel <jonasschwoebel@yahoo.de>; 
>u-boot@lists.denx.de
>Subject: Re: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) 
>support
>
>External email: Use caution opening links or attachments
>
>
>чт, 13 квіт. 2023 р. о 02:07 Tom Warren <TWarren@nvidia.com> пише:
>>
>> Svyatoslav,
>>
>> This series (patches 3 & 4, in particular) fails when applied to u-boot-tegra/master TOT. Error snippet is below (from make p2771-0000-500_defconfig && make):
>>
>> CC      arch/arm/mach-tegra/fuse.o
>> arch/arm/mach-tegra/fuse.c:14:10: fatal error: asm/arch/clock.h: No 
>> such file or directory  #include <asm/arch/clock.h>
>>           ^~~~~~~~~~~~~~~~~~
>> compilation terminated.
>> scripts/Makefile.build:256: recipe for target 
>> 'arch/arm/mach-tegra/fuse.o' failed
>> make[1]: *** [arch/arm/mach-tegra/fuse.o] Error 1
>> Makefile:1845: recipe for target 'arch/arm/mach-tegra' failed
>> make: *** [arch/arm/mach-tegra] Error 2
>
>Hello Tom.
>
>Thanks for your check. Issue was caused by non exposed headers for T186.
>I have fixed that in v2, I hope buildman will pass. Additionally I have modified grouper defconfig in such a way that it should pass even without device fragment.
>
>Best regards,
>Svyatoslav R.
>
>>
>> buildman/tegra also fails for that board, and 2 others.  Removing those two patches (3 & 4 in your Nexus7 patchset) gets make & buildman working again.
>> Buildman/tegra worked fine on the base u-boot-tegra/master repo (before I applied your patchset w/git am).
>>
>> PTAL,
>>
>> Tom
>>
>> -----Original Message-----
>> From: Svyatoslav Ryhel <clamor95@gmail.com>
>> Sent: Wednesday, April 12, 2023 12:50 PM
>> To: Tom Warren <twarren@nvidia.com>; Svyatoslav Ryhel 
>> <clamor95@gmail.com>; Marek Vasut <marex@denx.de>; Philippe Reynes 
>> <philippe.reynes@softathome.com>; Marcel Ziswiler 
>> <marcel.ziswiler@toradex.com>; Fabio Estevam <festevam@denx.de>; 
>> Simon Glass <sjg@chromium.org>; Jonas Schwöbel 
>> <jonasschwoebel@yahoo.de>
>> Cc: u-boot@lists.denx.de
>> Subject: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
>>
>> External email: Use caution opening links or attachments
>>
>>
>> This patchset adds support for native use of U-Boot on ASUS/Google Nexus 7 (2012), aka grouper/tilapia as a replacement of vendor bootloader. Alongside device bringup tegra requires few small patches:
>>  - add gpio keyboard as stdin device
>>  - make networking boot options optional
>>  - add a small tool to generate SoC UID
>>
>> Jonas Schwöbel (1):
>>   configs: tegra-common-post: make PXE and DHCP boot targets optional
>>
>> Svyatoslav Ryhel (3):
>>   configs: tegra-common-post: add GPIO keyboard as STDIN device
>>   ARM: tegra: add SoC UID calculation function
>>   board: asus: grouper: add Google Nexus 7 (2012) support
>>
>>  arch/arm/dts/Makefile                         |   3 +
>>  arch/arm/dts/tegra30-asus-grouper-common.dtsi | 125 ++++++  .../dts/tegra30-asus-nexus7-grouper-E1565.dts |  40 ++  .../dts/tegra30-asus-nexus7-grouper-PM269.dts |  65 ++++  .../dts/tegra30-asus-nexus7-tilapia-E1565.dts |  40 ++
>>  arch/arm/include/asm/arch-tegra/fuse.h        |   7 +
>>  arch/arm/mach-tegra/Makefile                  |   2 +-
>>  arch/arm/mach-tegra/fuse.c                    | 151 ++++++++
>>  arch/arm/mach-tegra/tegra30/Kconfig           |   5 +
>>  board/asus/grouper/Kconfig                    |  20 +
>>  board/asus/grouper/MAINTAINERS                |   6 +
>>  board/asus/grouper/Makefile                   |  14 +
>>  board/asus/grouper/grouper-spl-max.c          |  46 +++
>>  board/asus/grouper/grouper-spl-ti.c           |  42 ++
>>  board/asus/grouper/grouper.c                  | 209 ++++++++++
>>  board/asus/grouper/pinmux-config-grouper.h    | 362 ++++++++++++++++++
>>  configs/grouper_E1565.config                  |   2 +
>>  configs/grouper_PM269.config                  |   2 +
>>  configs/grouper_common_defconfig              |  85 ++++
>>  configs/tilapia.config                        |   3 +
>>  include/configs/grouper.h                     |  68 ++++
>>  include/configs/tegra-common-post.h           |  28 +-
>>  22 files changed, 1319 insertions(+), 6 deletions(-)  create mode
>> 100644 arch/arm/dts/tegra30-asus-grouper-common.dtsi
>>  create mode 100644 
>> arch/arm/dts/tegra30-asus-nexus7-grouper-E1565.dts
>>  create mode 100644 
>> arch/arm/dts/tegra30-asus-nexus7-grouper-PM269.dts
>>  create mode 100644 
>> arch/arm/dts/tegra30-asus-nexus7-tilapia-E1565.dts
>>  create mode 100644 arch/arm/mach-tegra/fuse.c  create mode 100644 
>> board/asus/grouper/Kconfig  create mode 100644 
>> board/asus/grouper/MAINTAINERS  create mode 100644 
>> board/asus/grouper/Makefile  create mode 100644 
>> board/asus/grouper/grouper-spl-max.c
>>  create mode 100644 board/asus/grouper/grouper-spl-ti.c
>>  create mode 100644 board/asus/grouper/grouper.c  create mode 100644 
>> board/asus/grouper/pinmux-config-grouper.h
>>  create mode 100644 configs/grouper_E1565.config  create mode 100644 
>> configs/grouper_PM269.config  create mode 100644 
>> configs/grouper_common_defconfig  create mode 100644 
>> configs/tilapia.config  create mode 100644 include/configs/grouper.h
>>
>> --
>> 2.37.2
>>

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

* RE: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
  2023-04-17 15:08         ` Tom Warren
@ 2023-04-17 15:26           ` Svyatoslav Ryhel
  2023-04-18  7:31           ` Svyatoslav Ryhel
  1 sibling, 0 replies; 16+ messages in thread
From: Svyatoslav Ryhel @ 2023-04-17 15:26 UTC (permalink / raw)
  To: Tom Warren; +Cc: Jonas Schwöbel, u-boot



Only last commit (actual Nexus 7 bring up) is 
specific to Nexus 7, 3 commits before it are
common for all devices in interest. I assume
they all can be set in one patchset.

Though, I have some concerns about if I am
able to get perfect timing of merge. You see,
HTC One X and LG P895/P880 require some
additional drivers for their panels. I was
thinking about getting all these devices into
state ready to merge in this sequence and
then hold it till I will merge panel and bridge
drivers. U-Boot maintainers are a bit worried
if there are drivers merged and none of
supported devices uses it. Having merge-ready
devices should help with passing those drivers.

Another solution may be to merge devices as
they are and just pray that there will be no
defconfig re-sync which will remove all yet
non existing configs (like configs for panel
drivers). Maybe you can advice something?

About buildman. I am building on top of
U-Boot master. I will look into this deeper
and let you know. Sorry for disturbance and
thank you for your help and patience.

Best regards,
Svyatoslav R.

17 квітня 2023 р. 18:08:02 GMT+03:00, Tom Warren <TWarren@nvidia.com> написав(-ла):
>This patchset is specific to the Nexus 7, IIUC.  If the new devices also fall under that umbrella, then I see no problem with adding them here. But if they don't, maybe an ancillary patchset on top of this one would be better. 
>
>Note that I still can't build with your latest (v3) patchset - grouper fails buildman and make. And I don't know where you are getting the '-Pr' argument w/buildman, my version doesn't support a -r option AFAICT.
>
>tom@tom-ThinkPad-T580:~/denx/uboot-tegra$ buildman tegra30
>Building current source for 6 boards (6 threads, 2 jobs per thread)
>       arm:  +   grouper_common             
>+drivers/video/tegra.c:24:30: fatal error: asm/arch/display.h: No such file or directory
>+ #include <asm/arch/display.h>
>+                              ^
>+compilation terminated.
>+make[3]: *** [drivers/video/tegra.o] Error 1
>+make[2]: *** [drivers/video] Error 2
>+make[1]: *** [drivers] Error 2
>+make: *** [sub-make] Error 2
>    5    0    1 /6              0:00:14  : beaver          
>Completed: 6 total built, 6 newly), duration 0:01:26, rate 0.07
>
>Tom
>
>-----Original Message-----
>From: Svyatoslav Ryhel <clamor95@gmail.com> 
>Sent: Sunday, April 16, 2023 4:56 AM
>To: Tom Warren <TWarren@nvidia.com>
>Cc: Jonas Schwöbel <jonasschwoebel@yahoo.de>; u-boot@lists.denx.de
>Subject: RE: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
>
>External email: Use caution opening links or attachments
>
>
>Mailing list reduction.
>
>Tom,
>
>May I extend this patchset with adding commits for other t20/t30 devices bringup. They are all typical and look like grouper bringup. This should decrease quantity of separate patches sent involving your assist. Devices in interest are Asus Transformers, LG P880/P895 and Htc One X.
>
>Best regards,
>Svyatoslav R.
>
>13 квітня 2023 р. 20:13:25 GMT+03:00, Tom Warren <TWarren@nvidia.com> написав(-ла):
>>Svyatoslav,
>>
>>I tried to build w/V2 of your Nexus patches applied to TOT u-boot-tegra/master, and I get these errors from 'buildman tegra':
>>
>>   aarch64:  +   p2771-0000-000
>>+In file included from arch/arm/mach-tegra/fuse.c:16:0:
>>+arch/arm/include/asm/arch-tegra/clock.h:42:10: fatal error: 
>>+asm/arch/clock-tables.h: No such file or directory  #include <asm/arch/clock-tables.h>
>>+          ^~~~~~~~~~~~~~~~~~~~~~~~~
>>+compilation terminated.
>>+make[2]: *** [arch/arm/mach-tegra/fuse.o] Error 1
>>+make[1]: *** [arch/arm/mach-tegra] Error 2
>>+make: *** [sub-make] Error 2
>>   aarch64:  +   p2771-0000-500
>>+In file included from arch/arm/mach-tegra/fuse.c:16:0:
>>+arch/arm/include/asm/arch-tegra/clock.h:42:10: fatal error: 
>>+asm/arch/clock-tables.h: No such file or directory  #include <asm/arch/clock-tables.h>
>>+          ^~~~~~~~~~~~~~~~~~~~~~~~~
>>+compilation terminated.
>>+make[2]: *** [arch/arm/mach-tegra/fuse.o] Error 1
>>+make[1]: *** [arch/arm/mach-tegra] Error 2
>>+make: *** [sub-make] Error 2
>>
>>These are the two T186 builds, they don't have or use a clock-tables.h .
>>
>>Please test building your patchset on TOT u-boot-tegra/master _before_ posting. Use buildman (preferred) or 'make xxx_defconfig && make' for each Tegra board (cumbersome).
>>
>>I won't take any future patches from you unless they're marked w/'passes buildman' or 'each Tegra board builds OK w/make', etc.  I certainly can't push a PR to TomR if it fails to build.
>>
>>Tom
>>
>>-----Original Message-----
>>From: Svyatoslav Ryhel <clamor95@gmail.com>
>>Sent: Wednesday, April 12, 2023 11:05 PM
>>To: Tom Warren <TWarren@nvidia.com>
>>Cc: Marek Vasut <marex@denx.de>; Philippe Reynes 
>><philippe.reynes@softathome.com>; Marcel Ziswiler 
>><marcel.ziswiler@toradex.com>; Fabio Estevam <festevam@denx.de>; Simon 
>>Glass <sjg@chromium.org>; Jonas Schwöbel <jonasschwoebel@yahoo.de>; 
>>u-boot@lists.denx.de
>>Subject: Re: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) 
>>support
>>
>>External email: Use caution opening links or attachments
>>
>>
>>чт, 13 квіт. 2023 р. о 02:07 Tom Warren <TWarren@nvidia.com> пише:
>>>
>>> Svyatoslav,
>>>
>>> This series (patches 3 & 4, in particular) fails when applied to u-boot-tegra/master TOT. Error snippet is below (from make p2771-0000-500_defconfig && make):
>>>
>>> CC      arch/arm/mach-tegra/fuse.o
>>> arch/arm/mach-tegra/fuse.c:14:10: fatal error: asm/arch/clock.h: No 
>>> such file or directory  #include <asm/arch/clock.h>
>>>           ^~~~~~~~~~~~~~~~~~
>>> compilation terminated.
>>> scripts/Makefile.build:256: recipe for target 
>>> 'arch/arm/mach-tegra/fuse.o' failed
>>> make[1]: *** [arch/arm/mach-tegra/fuse.o] Error 1
>>> Makefile:1845: recipe for target 'arch/arm/mach-tegra' failed
>>> make: *** [arch/arm/mach-tegra] Error 2
>>
>>Hello Tom.
>>
>>Thanks for your check. Issue was caused by non exposed headers for T186.
>>I have fixed that in v2, I hope buildman will pass. Additionally I have modified grouper defconfig in such a way that it should pass even without device fragment.
>>
>>Best regards,
>>Svyatoslav R.
>>
>>>
>>> buildman/tegra also fails for that board, and 2 others.  Removing those two patches (3 & 4 in your Nexus7 patchset) gets make & buildman working again.
>>> Buildman/tegra worked fine on the base u-boot-tegra/master repo (before I applied your patchset w/git am).
>>>
>>> PTAL,
>>>
>>> Tom
>>>
>>> -----Original Message-----
>>> From: Svyatoslav Ryhel <clamor95@gmail.com>
>>> Sent: Wednesday, April 12, 2023 12:50 PM
>>> To: Tom Warren <twarren@nvidia.com>; Svyatoslav Ryhel 
>>> <clamor95@gmail.com>; Marek Vasut <marex@denx.de>; Philippe Reynes 
>>> <philippe.reynes@softathome.com>; Marcel Ziswiler 
>>> <marcel.ziswiler@toradex.com>; Fabio Estevam <festevam@denx.de>; 
>>> Simon Glass <sjg@chromium.org>; Jonas Schwöbel 
>>> <jonasschwoebel@yahoo.de>
>>> Cc: u-boot@lists.denx.de
>>> Subject: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
>>>
>>> External email: Use caution opening links or attachments
>>>
>>>
>>> This patchset adds support for native use of U-Boot on ASUS/Google Nexus 7 (2012), aka grouper/tilapia as a replacement of vendor bootloader. Alongside device bringup tegra requires few small patches:
>>>  - add gpio keyboard as stdin device
>>>  - make networking boot options optional
>>>  - add a small tool to generate SoC UID
>>>
>>> Jonas Schwöbel (1):
>>>   configs: tegra-common-post: make PXE and DHCP boot targets optional
>>>
>>> Svyatoslav Ryhel (3):
>>>   configs: tegra-common-post: add GPIO keyboard as STDIN device
>>>   ARM: tegra: add SoC UID calculation function
>>>   board: asus: grouper: add Google Nexus 7 (2012) support
>>>
>>>  arch/arm/dts/Makefile                         |   3 +
>>>  arch/arm/dts/tegra30-asus-grouper-common.dtsi | 125 ++++++  .../dts/tegra30-asus-nexus7-grouper-E1565.dts |  40 ++  .../dts/tegra30-asus-nexus7-grouper-PM269.dts |  65 ++++  .../dts/tegra30-asus-nexus7-tilapia-E1565.dts |  40 ++
>>>  arch/arm/include/asm/arch-tegra/fuse.h        |   7 +
>>>  arch/arm/mach-tegra/Makefile                  |   2 +-
>>>  arch/arm/mach-tegra/fuse.c                    | 151 ++++++++
>>>  arch/arm/mach-tegra/tegra30/Kconfig           |   5 +
>>>  board/asus/grouper/Kconfig                    |  20 +
>>>  board/asus/grouper/MAINTAINERS                |   6 +
>>>  board/asus/grouper/Makefile                   |  14 +
>>>  board/asus/grouper/grouper-spl-max.c          |  46 +++
>>>  board/asus/grouper/grouper-spl-ti.c           |  42 ++
>>>  board/asus/grouper/grouper.c                  | 209 ++++++++++
>>>  board/asus/grouper/pinmux-config-grouper.h    | 362 ++++++++++++++++++
>>>  configs/grouper_E1565.config                  |   2 +
>>>  configs/grouper_PM269.config                  |   2 +
>>>  configs/grouper_common_defconfig              |  85 ++++
>>>  configs/tilapia.config                        |   3 +
>>>  include/configs/grouper.h                     |  68 ++++
>>>  include/configs/tegra-common-post.h           |  28 +-
>>>  22 files changed, 1319 insertions(+), 6 deletions(-)  create mode
>>> 100644 arch/arm/dts/tegra30-asus-grouper-common.dtsi
>>>  create mode 100644 
>>> arch/arm/dts/tegra30-asus-nexus7-grouper-E1565.dts
>>>  create mode 100644 
>>> arch/arm/dts/tegra30-asus-nexus7-grouper-PM269.dts
>>>  create mode 100644 
>>> arch/arm/dts/tegra30-asus-nexus7-tilapia-E1565.dts
>>>  create mode 100644 arch/arm/mach-tegra/fuse.c  create mode 100644 
>>> board/asus/grouper/Kconfig  create mode 100644 
>>> board/asus/grouper/MAINTAINERS  create mode 100644 
>>> board/asus/grouper/Makefile  create mode 100644 
>>> board/asus/grouper/grouper-spl-max.c
>>>  create mode 100644 board/asus/grouper/grouper-spl-ti.c
>>>  create mode 100644 board/asus/grouper/grouper.c  create mode 100644 
>>> board/asus/grouper/pinmux-config-grouper.h
>>>  create mode 100644 configs/grouper_E1565.config  create mode 100644 
>>> configs/grouper_PM269.config  create mode 100644 
>>> configs/grouper_common_defconfig  create mode 100644 
>>> configs/tilapia.config  create mode 100644 include/configs/grouper.h
>>>
>>> --
>>> 2.37.2
>>>

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

* Re: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
  2023-04-17 15:08         ` Tom Warren
  2023-04-17 15:26           ` Svyatoslav Ryhel
@ 2023-04-18  7:31           ` Svyatoslav Ryhel
  2023-04-18 21:03             ` Tom Warren
  1 sibling, 1 reply; 16+ messages in thread
From: Svyatoslav Ryhel @ 2023-04-18  7:31 UTC (permalink / raw)
  To: Tom Warren; +Cc: Jonas Schwöbel, u-boot

I have run buildman on top of u-boot master with 4 commits from the
current patchset + 4 more boards bringup (Asus Transformer T20, Asus
Transformer T30, LG X3, HTC endeavoru). I have totally 8 commits. Here
is log of buildman:

clamor@xeon:/u-boot$ ./tools/buildman/buildman tegra
Building current source for 31 boards (12 threads, 1 job per thread)
       arm:  w+   dalmore
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   venice2
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   jetson-tk1
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   apalis-tk1
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   cei-tk1-som
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   nyan-big
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   plutux
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   tec
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   ventana
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   transformer_t20
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   paz00
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   trimslice
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   medcom-wide
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   seaboard
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   harmony
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   grouper_common
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   colibri_t20
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   transformer_t30
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   tec-ng
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   endeavoru
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   cardhu
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   x3_t30
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   beaver
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   colibri_t30
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   apalis_t30
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
    6   25    0 /31             apalis_t30
Completed: 31 total built, 31 newly), duration 0:05:13, rate 0.10

As you can see there are no failures, and warnings are about gcc I use
for arm. I assume that the tegra branch you are using may not be
up-to-date.

Best regards,
Svyatoslav R.

пн, 17 квіт. 2023 р. о 18:08 Tom Warren <TWarren@nvidia.com> пише:
>
> This patchset is specific to the Nexus 7, IIUC.  If the new devices also fall under that umbrella, then I see no problem with adding them here. But if they don't, maybe an ancillary patchset on top of this one would be better.
>
> Note that I still can't build with your latest (v3) patchset - grouper fails buildman and make. And I don't know where you are getting the '-Pr' argument w/buildman, my version doesn't support a -r option AFAICT.
>
> tom@tom-ThinkPad-T580:~/denx/uboot-tegra$ buildman tegra30
> Building current source for 6 boards (6 threads, 2 jobs per thread)
>        arm:  +   grouper_common
> +drivers/video/tegra.c:24:30: fatal error: asm/arch/display.h: No such file or directory
> + #include <asm/arch/display.h>
> +                              ^
> +compilation terminated.
> +make[3]: *** [drivers/video/tegra.o] Error 1
> +make[2]: *** [drivers/video] Error 2
> +make[1]: *** [drivers] Error 2
> +make: *** [sub-make] Error 2
>     5    0    1 /6              0:00:14  : beaver
> Completed: 6 total built, 6 newly), duration 0:01:26, rate 0.07
>
> Tom
>
> -----Original Message-----
> From: Svyatoslav Ryhel <clamor95@gmail.com>
> Sent: Sunday, April 16, 2023 4:56 AM
> To: Tom Warren <TWarren@nvidia.com>
> Cc: Jonas Schwöbel <jonasschwoebel@yahoo.de>; u-boot@lists.denx.de
> Subject: RE: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
>
> External email: Use caution opening links or attachments
>
>
> Mailing list reduction.
>
> Tom,
>
> May I extend this patchset with adding commits for other t20/t30 devices bringup. They are all typical and look like grouper bringup. This should decrease quantity of separate patches sent involving your assist. Devices in interest are Asus Transformers, LG P880/P895 and Htc One X.
>
> Best regards,
> Svyatoslav R.
>
> 13 квітня 2023 р. 20:13:25 GMT+03:00, Tom Warren <TWarren@nvidia.com> написав(-ла):
> >Svyatoslav,
> >
> >I tried to build w/V2 of your Nexus patches applied to TOT u-boot-tegra/master, and I get these errors from 'buildman tegra':
> >
> >   aarch64:  +   p2771-0000-000
> >+In file included from arch/arm/mach-tegra/fuse.c:16:0:
> >+arch/arm/include/asm/arch-tegra/clock.h:42:10: fatal error:
> >+asm/arch/clock-tables.h: No such file or directory  #include <asm/arch/clock-tables.h>
> >+          ^~~~~~~~~~~~~~~~~~~~~~~~~
> >+compilation terminated.
> >+make[2]: *** [arch/arm/mach-tegra/fuse.o] Error 1
> >+make[1]: *** [arch/arm/mach-tegra] Error 2
> >+make: *** [sub-make] Error 2
> >   aarch64:  +   p2771-0000-500
> >+In file included from arch/arm/mach-tegra/fuse.c:16:0:
> >+arch/arm/include/asm/arch-tegra/clock.h:42:10: fatal error:
> >+asm/arch/clock-tables.h: No such file or directory  #include <asm/arch/clock-tables.h>
> >+          ^~~~~~~~~~~~~~~~~~~~~~~~~
> >+compilation terminated.
> >+make[2]: *** [arch/arm/mach-tegra/fuse.o] Error 1
> >+make[1]: *** [arch/arm/mach-tegra] Error 2
> >+make: *** [sub-make] Error 2
> >
> >These are the two T186 builds, they don't have or use a clock-tables.h .
> >
> >Please test building your patchset on TOT u-boot-tegra/master _before_ posting. Use buildman (preferred) or 'make xxx_defconfig && make' for each Tegra board (cumbersome).
> >
> >I won't take any future patches from you unless they're marked w/'passes buildman' or 'each Tegra board builds OK w/make', etc.  I certainly can't push a PR to TomR if it fails to build.
> >
> >Tom
> >
> >-----Original Message-----
> >From: Svyatoslav Ryhel <clamor95@gmail.com>
> >Sent: Wednesday, April 12, 2023 11:05 PM
> >To: Tom Warren <TWarren@nvidia.com>
> >Cc: Marek Vasut <marex@denx.de>; Philippe Reynes
> ><philippe.reynes@softathome.com>; Marcel Ziswiler
> ><marcel.ziswiler@toradex.com>; Fabio Estevam <festevam@denx.de>; Simon
> >Glass <sjg@chromium.org>; Jonas Schwöbel <jonasschwoebel@yahoo.de>;
> >u-boot@lists.denx.de
> >Subject: Re: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012)
> >support
> >
> >External email: Use caution opening links or attachments
> >
> >
> >чт, 13 квіт. 2023 р. о 02:07 Tom Warren <TWarren@nvidia.com> пише:
> >>
> >> Svyatoslav,
> >>
> >> This series (patches 3 & 4, in particular) fails when applied to u-boot-tegra/master TOT. Error snippet is below (from make p2771-0000-500_defconfig && make):
> >>
> >> CC      arch/arm/mach-tegra/fuse.o
> >> arch/arm/mach-tegra/fuse.c:14:10: fatal error: asm/arch/clock.h: No
> >> such file or directory  #include <asm/arch/clock.h>
> >>           ^~~~~~~~~~~~~~~~~~
> >> compilation terminated.
> >> scripts/Makefile.build:256: recipe for target
> >> 'arch/arm/mach-tegra/fuse.o' failed
> >> make[1]: *** [arch/arm/mach-tegra/fuse.o] Error 1
> >> Makefile:1845: recipe for target 'arch/arm/mach-tegra' failed
> >> make: *** [arch/arm/mach-tegra] Error 2
> >
> >Hello Tom.
> >
> >Thanks for your check. Issue was caused by non exposed headers for T186.
> >I have fixed that in v2, I hope buildman will pass. Additionally I have modified grouper defconfig in such a way that it should pass even without device fragment.
> >
> >Best regards,
> >Svyatoslav R.
> >
> >>
> >> buildman/tegra also fails for that board, and 2 others.  Removing those two patches (3 & 4 in your Nexus7 patchset) gets make & buildman working again.
> >> Buildman/tegra worked fine on the base u-boot-tegra/master repo (before I applied your patchset w/git am).
> >>
> >> PTAL,
> >>
> >> Tom
> >>
> >> -----Original Message-----
> >> From: Svyatoslav Ryhel <clamor95@gmail.com>
> >> Sent: Wednesday, April 12, 2023 12:50 PM
> >> To: Tom Warren <twarren@nvidia.com>; Svyatoslav Ryhel
> >> <clamor95@gmail.com>; Marek Vasut <marex@denx.de>; Philippe Reynes
> >> <philippe.reynes@softathome.com>; Marcel Ziswiler
> >> <marcel.ziswiler@toradex.com>; Fabio Estevam <festevam@denx.de>;
> >> Simon Glass <sjg@chromium.org>; Jonas Schwöbel
> >> <jonasschwoebel@yahoo.de>
> >> Cc: u-boot@lists.denx.de
> >> Subject: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
> >>
> >> External email: Use caution opening links or attachments
> >>
> >>
> >> This patchset adds support for native use of U-Boot on ASUS/Google Nexus 7 (2012), aka grouper/tilapia as a replacement of vendor bootloader. Alongside device bringup tegra requires few small patches:
> >>  - add gpio keyboard as stdin device
> >>  - make networking boot options optional
> >>  - add a small tool to generate SoC UID
> >>
> >> Jonas Schwöbel (1):
> >>   configs: tegra-common-post: make PXE and DHCP boot targets optional
> >>
> >> Svyatoslav Ryhel (3):
> >>   configs: tegra-common-post: add GPIO keyboard as STDIN device
> >>   ARM: tegra: add SoC UID calculation function
> >>   board: asus: grouper: add Google Nexus 7 (2012) support
> >>
> >>  arch/arm/dts/Makefile                         |   3 +
> >>  arch/arm/dts/tegra30-asus-grouper-common.dtsi | 125 ++++++  .../dts/tegra30-asus-nexus7-grouper-E1565.dts |  40 ++  .../dts/tegra30-asus-nexus7-grouper-PM269.dts |  65 ++++  .../dts/tegra30-asus-nexus7-tilapia-E1565.dts |  40 ++
> >>  arch/arm/include/asm/arch-tegra/fuse.h        |   7 +
> >>  arch/arm/mach-tegra/Makefile                  |   2 +-
> >>  arch/arm/mach-tegra/fuse.c                    | 151 ++++++++
> >>  arch/arm/mach-tegra/tegra30/Kconfig           |   5 +
> >>  board/asus/grouper/Kconfig                    |  20 +
> >>  board/asus/grouper/MAINTAINERS                |   6 +
> >>  board/asus/grouper/Makefile                   |  14 +
> >>  board/asus/grouper/grouper-spl-max.c          |  46 +++
> >>  board/asus/grouper/grouper-spl-ti.c           |  42 ++
> >>  board/asus/grouper/grouper.c                  | 209 ++++++++++
> >>  board/asus/grouper/pinmux-config-grouper.h    | 362 ++++++++++++++++++
> >>  configs/grouper_E1565.config                  |   2 +
> >>  configs/grouper_PM269.config                  |   2 +
> >>  configs/grouper_common_defconfig              |  85 ++++
> >>  configs/tilapia.config                        |   3 +
> >>  include/configs/grouper.h                     |  68 ++++
> >>  include/configs/tegra-common-post.h           |  28 +-
> >>  22 files changed, 1319 insertions(+), 6 deletions(-)  create mode
> >> 100644 arch/arm/dts/tegra30-asus-grouper-common.dtsi
> >>  create mode 100644
> >> arch/arm/dts/tegra30-asus-nexus7-grouper-E1565.dts
> >>  create mode 100644
> >> arch/arm/dts/tegra30-asus-nexus7-grouper-PM269.dts
> >>  create mode 100644
> >> arch/arm/dts/tegra30-asus-nexus7-tilapia-E1565.dts
> >>  create mode 100644 arch/arm/mach-tegra/fuse.c  create mode 100644
> >> board/asus/grouper/Kconfig  create mode 100644
> >> board/asus/grouper/MAINTAINERS  create mode 100644
> >> board/asus/grouper/Makefile  create mode 100644
> >> board/asus/grouper/grouper-spl-max.c
> >>  create mode 100644 board/asus/grouper/grouper-spl-ti.c
> >>  create mode 100644 board/asus/grouper/grouper.c  create mode 100644
> >> board/asus/grouper/pinmux-config-grouper.h
> >>  create mode 100644 configs/grouper_E1565.config  create mode 100644
> >> configs/grouper_PM269.config  create mode 100644
> >> configs/grouper_common_defconfig  create mode 100644
> >> configs/tilapia.config  create mode 100644 include/configs/grouper.h
> >>
> >> --
> >> 2.37.2
> >>

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

* RE: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support
  2023-04-18  7:31           ` Svyatoslav Ryhel
@ 2023-04-18 21:03             ` Tom Warren
  0 siblings, 0 replies; 16+ messages in thread
From: Tom Warren @ 2023-04-18 21:03 UTC (permalink / raw)
  To: Svyatoslav Ryhel, Tom Rini; +Cc: Jonas Schwöbel, u-boot

Thanks, Svyatoslav.

I do all my testing on top of TOT u-boot-tegra/master, as that's what I'll use to send a PR to TomR. Before I apply any patches, I usually sync to TOT u-boot/master, via 'git rebase', then apply the patches, then build/test.

But in this case, rebasing to TOT u-boot/master has resulted in my dev laptop not being able to run buildman. It fails w/a python error. So I've been applying your patches to TOT u-boot-tegra/master, and trying to build there. That should still build, IMO.

I'll set up another laptop w/a more recent Ubuntu distro & try using buildman there w/u-boot/master. Otherwise, I'll have to do a git bisect of u-boot/master to see where it begins to fail to support buildman.

(Adding TomR for vis, buildman error below:)
tom@tom-ThinkPad-T580:~/denx/uboot-tegra$ buildman tegra
Traceback (most recent call last):
  File "/home/tom/denx/uboot-tegra/tools/buildman/buildman", line 24, in <module>
    from buildman import control
  File "/home/tom/denx/uboot-tegra/tools/buildman/../buildman/control.py", line 6, in <module>
    import importlib.resources
ModuleNotFoundError: No module named 'importlib.resources'

Tom

-----Original Message-----
From: Svyatoslav Ryhel <clamor95@gmail.com> 
Sent: Tuesday, April 18, 2023 12:32 AM
To: Tom Warren <TWarren@nvidia.com>
Cc: Jonas Schwöbel <jonasschwoebel@yahoo.de>; u-boot@lists.denx.de
Subject: Re: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support

External email: Use caution opening links or attachments


I have run buildman on top of u-boot master with 4 commits from the current patchset + 4 more boards bringup (Asus Transformer T20, Asus Transformer T30, LG X3, HTC endeavoru). I have totally 8 commits. Here is log of buildman:

clamor@xeon:/u-boot$ ./tools/buildman/buildman tegra Building current source for 31 boards (12 threads, 1 job per thread)
       arm:  w+   dalmore
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   venice2
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   jetson-tk1
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   apalis-tk1
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   cei-tk1-som
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   nyan-big
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   plutux
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   tec
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   ventana
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   transformer_t20
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   paz00
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   trimslice
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   medcom-wide
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   seaboard
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   harmony
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   grouper_common
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   colibri_t20
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   transformer_t30
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   tec-ng
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   endeavoru
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   cardhu
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   x3_t30
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   beaver
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   colibri_t30
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
       arm:  w+   apalis_t30
+arm-none-eabi-ld.bfd: warning: -z norelro ignored
    6   25    0 /31             apalis_t30
Completed: 31 total built, 31 newly), duration 0:05:13, rate 0.10

As you can see there are no failures, and warnings are about gcc I use for arm. I assume that the tegra branch you are using may not be up-to-date.

Best regards,
Svyatoslav R.

пн, 17 квіт. 2023 р. о 18:08 Tom Warren <TWarren@nvidia.com> пише:
>
> This patchset is specific to the Nexus 7, IIUC.  If the new devices also fall under that umbrella, then I see no problem with adding them here. But if they don't, maybe an ancillary patchset on top of this one would be better.
>
> Note that I still can't build with your latest (v3) patchset - grouper fails buildman and make. And I don't know where you are getting the '-Pr' argument w/buildman, my version doesn't support a -r option AFAICT.
>
> tom@tom-ThinkPad-T580:~/denx/uboot-tegra$ buildman tegra30 Building 
> current source for 6 boards (6 threads, 2 jobs per thread)
>        arm:  +   grouper_common
> +drivers/video/tegra.c:24:30: fatal error: asm/arch/display.h: No such 
> +file or directory  #include <asm/arch/display.h>
> +                              ^
> +compilation terminated.
> +make[3]: *** [drivers/video/tegra.o] Error 1
> +make[2]: *** [drivers/video] Error 2
> +make[1]: *** [drivers] Error 2
> +make: *** [sub-make] Error 2
>     5    0    1 /6              0:00:14  : beaver
> Completed: 6 total built, 6 newly), duration 0:01:26, rate 0.07
>
> Tom
>
> -----Original Message-----
> From: Svyatoslav Ryhel <clamor95@gmail.com>
> Sent: Sunday, April 16, 2023 4:56 AM
> To: Tom Warren <TWarren@nvidia.com>
> Cc: Jonas Schwöbel <jonasschwoebel@yahoo.de>; u-boot@lists.denx.de
> Subject: RE: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) 
> support
>
> External email: Use caution opening links or attachments
>
>
> Mailing list reduction.
>
> Tom,
>
> May I extend this patchset with adding commits for other t20/t30 devices bringup. They are all typical and look like grouper bringup. This should decrease quantity of separate patches sent involving your assist. Devices in interest are Asus Transformers, LG P880/P895 and Htc One X.
>
> Best regards,
> Svyatoslav R.
>
> 13 квітня 2023 р. 20:13:25 GMT+03:00, Tom Warren <TWarren@nvidia.com> написав(-ла):
> >Svyatoslav,
> >
> >I tried to build w/V2 of your Nexus patches applied to TOT u-boot-tegra/master, and I get these errors from 'buildman tegra':
> >
> >   aarch64:  +   p2771-0000-000
> >+In file included from arch/arm/mach-tegra/fuse.c:16:0:
> >+arch/arm/include/asm/arch-tegra/clock.h:42:10: fatal error:
> >+asm/arch/clock-tables.h: No such file or directory  #include <asm/arch/clock-tables.h>
> >+          ^~~~~~~~~~~~~~~~~~~~~~~~~
> >+compilation terminated.
> >+make[2]: *** [arch/arm/mach-tegra/fuse.o] Error 1
> >+make[1]: *** [arch/arm/mach-tegra] Error 2
> >+make: *** [sub-make] Error 2
> >   aarch64:  +   p2771-0000-500
> >+In file included from arch/arm/mach-tegra/fuse.c:16:0:
> >+arch/arm/include/asm/arch-tegra/clock.h:42:10: fatal error:
> >+asm/arch/clock-tables.h: No such file or directory  #include <asm/arch/clock-tables.h>
> >+          ^~~~~~~~~~~~~~~~~~~~~~~~~
> >+compilation terminated.
> >+make[2]: *** [arch/arm/mach-tegra/fuse.o] Error 1
> >+make[1]: *** [arch/arm/mach-tegra] Error 2
> >+make: *** [sub-make] Error 2
> >
> >These are the two T186 builds, they don't have or use a clock-tables.h .
> >
> >Please test building your patchset on TOT u-boot-tegra/master _before_ posting. Use buildman (preferred) or 'make xxx_defconfig && make' for each Tegra board (cumbersome).
> >
> >I won't take any future patches from you unless they're marked w/'passes buildman' or 'each Tegra board builds OK w/make', etc.  I certainly can't push a PR to TomR if it fails to build.
> >
> >Tom
> >
> >-----Original Message-----
> >From: Svyatoslav Ryhel <clamor95@gmail.com>
> >Sent: Wednesday, April 12, 2023 11:05 PM
> >To: Tom Warren <TWarren@nvidia.com>
> >Cc: Marek Vasut <marex@denx.de>; Philippe Reynes 
> ><philippe.reynes@softathome.com>; Marcel Ziswiler 
> ><marcel.ziswiler@toradex.com>; Fabio Estevam <festevam@denx.de>; 
> >Simon Glass <sjg@chromium.org>; Jonas Schwöbel 
> ><jonasschwoebel@yahoo.de>; u-boot@lists.denx.de
> >Subject: Re: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) 
> >support
> >
> >External email: Use caution opening links or attachments
> >
> >
> >чт, 13 квіт. 2023 р. о 02:07 Tom Warren <TWarren@nvidia.com> пише:
> >>
> >> Svyatoslav,
> >>
> >> This series (patches 3 & 4, in particular) fails when applied to u-boot-tegra/master TOT. Error snippet is below (from make p2771-0000-500_defconfig && make):
> >>
> >> CC      arch/arm/mach-tegra/fuse.o
> >> arch/arm/mach-tegra/fuse.c:14:10: fatal error: asm/arch/clock.h: No 
> >> such file or directory  #include <asm/arch/clock.h>
> >>           ^~~~~~~~~~~~~~~~~~
> >> compilation terminated.
> >> scripts/Makefile.build:256: recipe for target 
> >> 'arch/arm/mach-tegra/fuse.o' failed
> >> make[1]: *** [arch/arm/mach-tegra/fuse.o] Error 1
> >> Makefile:1845: recipe for target 'arch/arm/mach-tegra' failed
> >> make: *** [arch/arm/mach-tegra] Error 2
> >
> >Hello Tom.
> >
> >Thanks for your check. Issue was caused by non exposed headers for T186.
> >I have fixed that in v2, I hope buildman will pass. Additionally I have modified grouper defconfig in such a way that it should pass even without device fragment.
> >
> >Best regards,
> >Svyatoslav R.
> >
> >>
> >> buildman/tegra also fails for that board, and 2 others.  Removing those two patches (3 & 4 in your Nexus7 patchset) gets make & buildman working again.
> >> Buildman/tegra worked fine on the base u-boot-tegra/master repo (before I applied your patchset w/git am).
> >>
> >> PTAL,
> >>
> >> Tom
> >>
> >> -----Original Message-----
> >> From: Svyatoslav Ryhel <clamor95@gmail.com>
> >> Sent: Wednesday, April 12, 2023 12:50 PM
> >> To: Tom Warren <twarren@nvidia.com>; Svyatoslav Ryhel 
> >> <clamor95@gmail.com>; Marek Vasut <marex@denx.de>; Philippe Reynes 
> >> <philippe.reynes@softathome.com>; Marcel Ziswiler 
> >> <marcel.ziswiler@toradex.com>; Fabio Estevam <festevam@denx.de>; 
> >> Simon Glass <sjg@chromium.org>; Jonas Schwöbel 
> >> <jonasschwoebel@yahoo.de>
> >> Cc: u-boot@lists.denx.de
> >> Subject: [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) 
> >> support
> >>
> >> External email: Use caution opening links or attachments
> >>
> >>
> >> This patchset adds support for native use of U-Boot on ASUS/Google Nexus 7 (2012), aka grouper/tilapia as a replacement of vendor bootloader. Alongside device bringup tegra requires few small patches:
> >>  - add gpio keyboard as stdin device
> >>  - make networking boot options optional
> >>  - add a small tool to generate SoC UID
> >>
> >> Jonas Schwöbel (1):
> >>   configs: tegra-common-post: make PXE and DHCP boot targets 
> >> optional
> >>
> >> Svyatoslav Ryhel (3):
> >>   configs: tegra-common-post: add GPIO keyboard as STDIN device
> >>   ARM: tegra: add SoC UID calculation function
> >>   board: asus: grouper: add Google Nexus 7 (2012) support
> >>
> >>  arch/arm/dts/Makefile                         |   3 +
> >>  arch/arm/dts/tegra30-asus-grouper-common.dtsi | 125 ++++++  .../dts/tegra30-asus-nexus7-grouper-E1565.dts |  40 ++  .../dts/tegra30-asus-nexus7-grouper-PM269.dts |  65 ++++  .../dts/tegra30-asus-nexus7-tilapia-E1565.dts |  40 ++
> >>  arch/arm/include/asm/arch-tegra/fuse.h        |   7 +
> >>  arch/arm/mach-tegra/Makefile                  |   2 +-
> >>  arch/arm/mach-tegra/fuse.c                    | 151 ++++++++
> >>  arch/arm/mach-tegra/tegra30/Kconfig           |   5 +
> >>  board/asus/grouper/Kconfig                    |  20 +
> >>  board/asus/grouper/MAINTAINERS                |   6 +
> >>  board/asus/grouper/Makefile                   |  14 +
> >>  board/asus/grouper/grouper-spl-max.c          |  46 +++
> >>  board/asus/grouper/grouper-spl-ti.c           |  42 ++
> >>  board/asus/grouper/grouper.c                  | 209 ++++++++++
> >>  board/asus/grouper/pinmux-config-grouper.h    | 362 ++++++++++++++++++
> >>  configs/grouper_E1565.config                  |   2 +
> >>  configs/grouper_PM269.config                  |   2 +
> >>  configs/grouper_common_defconfig              |  85 ++++
> >>  configs/tilapia.config                        |   3 +
> >>  include/configs/grouper.h                     |  68 ++++
> >>  include/configs/tegra-common-post.h           |  28 +-
> >>  22 files changed, 1319 insertions(+), 6 deletions(-)  create mode
> >> 100644 arch/arm/dts/tegra30-asus-grouper-common.dtsi
> >>  create mode 100644
> >> arch/arm/dts/tegra30-asus-nexus7-grouper-E1565.dts
> >>  create mode 100644
> >> arch/arm/dts/tegra30-asus-nexus7-grouper-PM269.dts
> >>  create mode 100644
> >> arch/arm/dts/tegra30-asus-nexus7-tilapia-E1565.dts
> >>  create mode 100644 arch/arm/mach-tegra/fuse.c  create mode 100644 
> >> board/asus/grouper/Kconfig  create mode 100644 
> >> board/asus/grouper/MAINTAINERS  create mode 100644 
> >> board/asus/grouper/Makefile  create mode 100644 
> >> board/asus/grouper/grouper-spl-max.c
> >>  create mode 100644 board/asus/grouper/grouper-spl-ti.c
> >>  create mode 100644 board/asus/grouper/grouper.c  create mode 
> >> 100644 board/asus/grouper/pinmux-config-grouper.h
> >>  create mode 100644 configs/grouper_E1565.config  create mode 
> >> 100644 configs/grouper_PM269.config  create mode 100644 
> >> configs/grouper_common_defconfig  create mode 100644 
> >> configs/tilapia.config  create mode 100644 
> >> include/configs/grouper.h
> >>
> >> --
> >> 2.37.2
> >>

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

* Re: [PATCH v1 4/4] board: asus: grouper: add Google Nexus 7 (2012) support
  2023-04-12 19:49 ` [PATCH v1 4/4] board: asus: grouper: add Google Nexus 7 (2012) support Svyatoslav Ryhel
@ 2023-04-19  1:46   ` Simon Glass
  2023-04-19  7:25     ` Svyatoslav Ryhel
  0 siblings, 1 reply; 16+ messages in thread
From: Simon Glass @ 2023-04-19  1:46 UTC (permalink / raw)
  To: Svyatoslav Ryhel
  Cc: Tom Warren, Marek Vasut, Philippe Reynes, Marcel Ziswiler,
	Fabio Estevam, Jonas Schwöbel, u-boot

Hi Svyatoslav,

On Wed, 12 Apr 2023 at 13:50, Svyatoslav Ryhel <clamor95@gmail.com> wrote:
>
> Nexus 7 is a mini tablet computer co-developed by Google and Asus
> that runs the Android operating system. The Nexus 7 features a 7"
> display, an Nvidia Tegra 3 quad-core chip, 1 GB of RAM and 8/16 GB
> of internal storage.
>
> This patch brings support for all 3 known ASUS/Google devices:
> - Nexus 7 (2012) E1565
> - Nexus 7 (2012) PM269
> - Nexus 7 (2012) 3G - tilapia
>
> Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # ASUS Grouper E1565
> Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # ASUS Grouper E1565
> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> ---
>  arch/arm/dts/Makefile                         |   3 +
>  arch/arm/dts/tegra30-asus-grouper-common.dtsi | 125 ++++++
>  .../dts/tegra30-asus-nexus7-grouper-E1565.dts |  40 ++
>  .../dts/tegra30-asus-nexus7-grouper-PM269.dts |  65 ++++
>  .../dts/tegra30-asus-nexus7-tilapia-E1565.dts |  40 ++
>  arch/arm/mach-tegra/tegra30/Kconfig           |   5 +
>  board/asus/grouper/Kconfig                    |  20 +
>  board/asus/grouper/MAINTAINERS                |   6 +
>  board/asus/grouper/Makefile                   |  14 +
>  board/asus/grouper/grouper-spl-max.c          |  46 +++
>  board/asus/grouper/grouper-spl-ti.c           |  42 ++
>  board/asus/grouper/grouper.c                  | 209 ++++++++++
>  board/asus/grouper/pinmux-config-grouper.h    | 362 ++++++++++++++++++
>  configs/grouper_E1565.config                  |   2 +
>  configs/grouper_PM269.config                  |   2 +
>  configs/grouper_common_defconfig              |  85 ++++
>  configs/tilapia.config                        |   3 +
>  include/configs/grouper.h                     |  68 ++++
>  18 files changed, 1137 insertions(+)
>  create mode 100644 arch/arm/dts/tegra30-asus-grouper-common.dtsi
>  create mode 100644 arch/arm/dts/tegra30-asus-nexus7-grouper-E1565.dts
>  create mode 100644 arch/arm/dts/tegra30-asus-nexus7-grouper-PM269.dts
>  create mode 100644 arch/arm/dts/tegra30-asus-nexus7-tilapia-E1565.dts
>  create mode 100644 board/asus/grouper/Kconfig
>  create mode 100644 board/asus/grouper/MAINTAINERS
>  create mode 100644 board/asus/grouper/Makefile
>  create mode 100644 board/asus/grouper/grouper-spl-max.c
>  create mode 100644 board/asus/grouper/grouper-spl-ti.c
>  create mode 100644 board/asus/grouper/grouper.c
>  create mode 100644 board/asus/grouper/pinmux-config-grouper.h
>  create mode 100644 configs/grouper_E1565.config
>  create mode 100644 configs/grouper_PM269.config
>  create mode 100644 configs/grouper_common_defconfig
>  create mode 100644 configs/tilapia.config
>  create mode 100644 include/configs/grouper.h

Please can add you add a doc/board/... file to describe how to put
this on the device?

Regards,
Simon

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

* Re: [PATCH v1 4/4] board: asus: grouper: add Google Nexus 7 (2012) support
  2023-04-19  1:46   ` Simon Glass
@ 2023-04-19  7:25     ` Svyatoslav Ryhel
  0 siblings, 0 replies; 16+ messages in thread
From: Svyatoslav Ryhel @ 2023-04-19  7:25 UTC (permalink / raw)
  To: Simon Glass
  Cc: Tom Warren, Marek Vasut, Philippe Reynes, Marcel Ziswiler,
	Fabio Estevam, Jonas Schwöbel, u-boot

Hello Simon,
ср, 19 квіт. 2023 р. о 04:47 Simon Glass <sjg@chromium.org> пише:
>
> Hi Svyatoslav,
>
> On Wed, 12 Apr 2023 at 13:50, Svyatoslav Ryhel <clamor95@gmail.com> wrote:
> >
> > Nexus 7 is a mini tablet computer co-developed by Google and Asus
> > that runs the Android operating system. The Nexus 7 features a 7"
> > display, an Nvidia Tegra 3 quad-core chip, 1 GB of RAM and 8/16 GB
> > of internal storage.
> >
> > This patch brings support for all 3 known ASUS/Google devices:
> > - Nexus 7 (2012) E1565
> > - Nexus 7 (2012) PM269
> > - Nexus 7 (2012) 3G - tilapia
> >
> > Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # ASUS Grouper E1565
> > Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # ASUS Grouper E1565
> > Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> > ---
> >  arch/arm/dts/Makefile                         |   3 +
> >  arch/arm/dts/tegra30-asus-grouper-common.dtsi | 125 ++++++
> >  .../dts/tegra30-asus-nexus7-grouper-E1565.dts |  40 ++
> >  .../dts/tegra30-asus-nexus7-grouper-PM269.dts |  65 ++++
> >  .../dts/tegra30-asus-nexus7-tilapia-E1565.dts |  40 ++
> >  arch/arm/mach-tegra/tegra30/Kconfig           |   5 +
> >  board/asus/grouper/Kconfig                    |  20 +
> >  board/asus/grouper/MAINTAINERS                |   6 +
> >  board/asus/grouper/Makefile                   |  14 +
> >  board/asus/grouper/grouper-spl-max.c          |  46 +++
> >  board/asus/grouper/grouper-spl-ti.c           |  42 ++
> >  board/asus/grouper/grouper.c                  | 209 ++++++++++
> >  board/asus/grouper/pinmux-config-grouper.h    | 362 ++++++++++++++++++
> >  configs/grouper_E1565.config                  |   2 +
> >  configs/grouper_PM269.config                  |   2 +
> >  configs/grouper_common_defconfig              |  85 ++++
> >  configs/tilapia.config                        |   3 +
> >  include/configs/grouper.h                     |  68 ++++
> >  18 files changed, 1137 insertions(+)
> >  create mode 100644 arch/arm/dts/tegra30-asus-grouper-common.dtsi
> >  create mode 100644 arch/arm/dts/tegra30-asus-nexus7-grouper-E1565.dts
> >  create mode 100644 arch/arm/dts/tegra30-asus-nexus7-grouper-PM269.dts
> >  create mode 100644 arch/arm/dts/tegra30-asus-nexus7-tilapia-E1565.dts
> >  create mode 100644 board/asus/grouper/Kconfig
> >  create mode 100644 board/asus/grouper/MAINTAINERS
> >  create mode 100644 board/asus/grouper/Makefile
> >  create mode 100644 board/asus/grouper/grouper-spl-max.c
> >  create mode 100644 board/asus/grouper/grouper-spl-ti.c
> >  create mode 100644 board/asus/grouper/grouper.c
> >  create mode 100644 board/asus/grouper/pinmux-config-grouper.h
> >  create mode 100644 configs/grouper_E1565.config
> >  create mode 100644 configs/grouper_PM269.config
> >  create mode 100644 configs/grouper_common_defconfig
> >  create mode 100644 configs/tilapia.config
> >  create mode 100644 include/configs/grouper.h
>
> Please can add you add a doc/board/... file to describe how to put
> this on the device?
>
> Regards,
> Simon

Sure, I will add doc/board/... for all boards I am proposing in the
next patchset iteration.

Best regards,
Svyatoslav R.

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

end of thread, other threads:[~2023-04-19  7:25 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-12 19:49 [PATCH v1 0/4] Tegra: add ASUS/Google Nexus 7 (2012) support Svyatoslav Ryhel
2023-04-12 19:49 ` [PATCH v1 1/4] configs: tegra-common-post: add GPIO keyboard as STDIN device Svyatoslav Ryhel
2023-04-12 19:49 ` [PATCH v1 2/4] configs: tegra-common-post: make PXE and DHCP boot targets optional Svyatoslav Ryhel
2023-04-12 19:49 ` [PATCH v1 3/4] ARM: tegra: add SoC UID calculation function Svyatoslav Ryhel
2023-04-12 19:49 ` [PATCH v1 4/4] board: asus: grouper: add Google Nexus 7 (2012) support Svyatoslav Ryhel
2023-04-19  1:46   ` Simon Glass
2023-04-19  7:25     ` Svyatoslav Ryhel
2023-04-12 23:07 ` [PATCH v1 0/4] Tegra: add ASUS/Google " Tom Warren
2023-04-13  6:05   ` Svyatoslav Ryhel
2023-04-13 17:13     ` Tom Warren
2023-04-13 19:11       ` Svyatoslav Ryhel
2023-04-16 11:56       ` Svyatoslav Ryhel
2023-04-17 15:08         ` Tom Warren
2023-04-17 15:26           ` Svyatoslav Ryhel
2023-04-18  7:31           ` Svyatoslav Ryhel
2023-04-18 21:03             ` Tom Warren

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.