Skip to contentSkip to conversation

ARM: tegra: Add support for norrin board

PATCH Superseded Allen Martin 2 participants 4 messages Jul 31, 2014 – Aug 4, 2014

Subsystems (2)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 ARM: tegra: Add support for norrin board

Norrin (PM370) is a Tegra124 clamshell board that is very similar to venice2, but it has a different panel, the sdcard cd and wp sense are flipped, and it has a different revision of the AS3722 PMIC. This board is also refered to as "nyan" in the ChromeOS trees.

---
Changes from v1:
-Generated pinmux with tegra-pinmux-scripts directly from pinmux
spreadsheet.
-Don't try to reuse venice2 board files

---
 arch/arm/dts/Makefile                      |   1 +
 arch/arm/dts/tegra124-norrin.dts           |  91 +++++++++
 board/nvidia/norrin/Makefile               |   9 +
 board/nvidia/norrin/norrin.c               |  29 +++
 board/nvidia/norrin/pinmux-config-norrin.h | 287 +++++++++++++++++++++++++++++
 board/nvidia/venice2/as3722_init.h         |   2 +-
 boards.cfg                                 |   1 +
 include/configs/norrin.h                   |  81 ++++++++
 8 files changed, 500 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/dts/tegra124-norrin.dts
 create mode 100644 board/nvidia/norrin/Makefile
 create mode 100644 board/nvidia/norrin/norrin.c
 create mode 100644 board/nvidia/norrin/pinmux-config-norrin.h
 create mode 100644 include/configs/norrin.h
arch/arm/dts/Makefile +1 -0
index 55546152b94b..73a1f141cf04 100644
@@ -23,6 +23,7 @@ dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \
 	tegra30-tec-ng.dtb \
 	tegra114-dalmore.dtb \
 	tegra124-jetson-tk1.dtb \
+	tegra124-norrin.dtb \
 	tegra124-venice2.dtb
 dtb-$(CONFIG_ZYNQ) += zynq-zc702.dtb \
 	zynq-zc706.dtb \
arch/arm/dts/tegra124-norrin.dts new file +91 -0

91 lines not on this page · raw message

board/nvidia/norrin/Makefile new file +9 -0
new file mode 100644
index 000000000000..5e490bb38f30
@@ -0,0 +1,9 @@
+#
+# (C) Copyright 2014
+# NVIDIA Corporation <www.nvidia.com>
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+
+obj-y	+= ../venice2/as3722_init.o
+obj-y	+= norrin.o
board/nvidia/norrin/norrin.c new file +29 -0
new file mode 100644
index 000000000000..6f0050c4cd2f
@@ -0,0 +1,29 @@
+/*
+ * (C) Copyright 2014
+ * NVIDIA Corporation <www.nvidia.com>
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/arch/gpio.h>
+#include <asm/arch/pinmux.h>
+#include "pinmux-config-norrin.h"
+
+/*
+ * Routine: pinmux_init
+ * Description: Do individual peripheral pinmux configs
+ */
+void pinmux_init(void)
+{
+	pinmux_set_tristate_input_clamping();
+
+	gpio_config_table(norrin_gpio_inits,
+			  ARRAY_SIZE(norrin_gpio_inits));
+
+	pinmux_config_pingrp_table(norrin_pingrps,
+				   ARRAY_SIZE(norrin_pingrps));
+
+	pinmux_config_drvgrp_table(norrin_drvgrps,
+				   ARRAY_SIZE(norrin_drvgrps));
+}
board/nvidia/norrin/pinmux-config-norrin.h new file +287 -0

287 lines not on this page · raw message

board/nvidia/venice2/as3722_init.h +1 -1
index a7b24039f6aa..7c80ef09387b 100644
@@ -18,7 +18,7 @@
 #define AS3722_LDO6VOLTAGE_REG	0x16	/* VDD_SDMMC */
 #define AS3722_LDCONTROL_REG	0x4E
 
-#ifdef CONFIG_BOARD_JETSON_TK1
+#if defined(CONFIG_BOARD_JETSON_TK1) || defined(CONFIG_BOARD_NORRIN)
 #define AS3722_SD0VOLTAGE_DATA	(0x3C00 | AS3722_SD0VOLTAGE_REG)
 #else
 #define AS3722_SD0VOLTAGE_DATA	(0x2800 | AS3722_SD0VOLTAGE_REG)
boards.cfg +1 -0
index 5a85fad48095..a92f63f4751f 100644
@@ -395,6 +395,7 @@ Active  arm         armv7          zynq        xilinx          zynq
 Active  arm         armv7:arm720t  tegra114    nvidia          dalmore             dalmore                               -                                                                                                                                 Tom Warren <[email protected]>
 Active  arm         armv7:arm720t  tegra124    nvidia          jetson-tk1          jetson-tk1                            jetson-tk1:BOARD_JETSON_TK1=                                                                                                      Stephen Warren <[email protected]>
 Active  arm         armv7:arm720t  tegra124    nvidia          venice2             venice2                               -                                                                                                                                 Tom Warren <[email protected]>
+Active  arm         armv7:arm720t  tegra124    nvidia          norrin              norrin                                norrin:BOARD_NORRIN                                                                                                               Allen Martin <[email protected]>
 Active  arm         armv7:arm720t  tegra20     avionic-design  medcom-wide         medcom-wide                           -                                                                                                                                 Alban Bedel <[email protected]>
 Active  arm         armv7:arm720t  tegra20     avionic-design  plutux              plutux                                -                                                                                                                                 Alban Bedel <[email protected]>
 Active  arm         armv7:arm720t  tegra20     avionic-design  tec                 tec                                   -                                                                                                                                 Alban Bedel <[email protected]>
include/configs/norrin.h new file +81 -0

81 lines not on this page · raw message

Signature · 1 line
1.8.1.5
#1 lore raw

PATCH v2 1/1 ARM: tegra: Add support for norrin board

Quoted 4 lines · Allen Martin

Norrin (PM370) is a Tegra124 clamshell board that is very similar to venice2, but it has a different panel, the sdcard cd and wp sense are flipped, and it has a different revision of the AS3722 PMIC. This board is also refered to as "nyan" in the ChromeOS trees.

At a *very* quick glance, this looks OK. But, you'll need to do a bit of work to rebase it onto the latest u-boot/master. Kconfig has been introduced now, so you'll need to do at least:

* Don't touch boards.cfg (it's been removed)
* Add configs/norrin_defconfig
* Add board/nvidia/norrin/MAINTAINERS

I think that's it.

#2 lore raw

PATCH v2 1/1 ARM: tegra: Add support for norrin board

Quoted 10 lines · Stephen Warren
Quoted 4 lines · Allen Martin

Norrin (PM370) is a Tegra124 clamshell board that is very similar to venice2, but it has a different panel, the sdcard cd and wp sense are flipped, and it has a different revision of the AS3722 PMIC. This board is also refered to as "nyan" in the ChromeOS trees.

At a *very* quick glance, this looks OK. But, you'll need to do a bit of work to rebase it onto the latest u-boot/master. Kconfig has been introduced now, so you'll need to do at least:

Quoted 5 lines

* Don't touch boards.cfg (it's been removed)
* Add configs/norrin_defconfig
* Add board/nvidia/norrin/MAINTAINERS

I think that's it.

I based the patch on u-boot-tegra/master, is there a tegra branch that has already been rebased? Or has the upstream workflow changed, so we're not collecting patches on u-boot-tegra for next merge window?

-Allen

nvpublic

#3 lore raw

PATCH v2 1/1 ARM: tegra: Add support for norrin board

Quoted 15 lines · Allen Martin
Quoted 14 lines · Stephen Warren
Quoted 4 lines · Allen Martin

Norrin (PM370) is a Tegra124 clamshell board that is very similar to venice2, but it has a different panel, the sdcard cd and wp sense are flipped, and it has a different revision of the AS3722 PMIC. This board is also refered to as "nyan" in the ChromeOS trees.

At a *very* quick glance, this looks OK. But, you'll need to do a bit of work to rebase it onto the latest u-boot/master. Kconfig has been introduced now, so you'll need to do at least:

* Don't touch boards.cfg (it's been removed)
* Add configs/norrin_defconfig
* Add board/nvidia/norrin/MAINTAINERS

Quoted 5 lines
Quoted 1 line

I think that's it.

I based the patch on u-boot-tegra/master, is there a tegra branch that has already been rebased? Or has the upstream workflow changed, so we're not collecting patches on u-boot-tegra for next merge window?

Anything that gets applied will eventually have to merge with what's upstream from u-boot-tegra/master, so it's best to base patches on the main U-Boot repo rather than the Tegra repo, perhaps with the addition of any relevant patches from other trees that will get into the main U-Boot repo before your patches. The only exception would be small changes/fixes that you know are going into u-boot-tegra/master very quickly, during a time period when Tom is actively applying patches for a current pull request.

When Tom isn't actively applying patches to u-boot-tegra/master, that branch will sit still, containing the content of the previous pull request. It might stay in that state for a while, as u-boot/master etc. all advance. When Tom starts applying patches for a new pull request, he'll then update u-boot-tegra/master to start at some upstream point (which will pull in all the new upstream work) and then apply your patches. If your patches aren't based on that new upstream already, they won't apply correctly, and you or Tom will have to rebase them at that time.