Skip to contentSkip to conversation

sun50i: h5: Add NanoPi Neo Plus2 DT initial support

PATCH Superseded Antony Antony 6 participants 33 messages Sep 21, 2017 – Nov 21, 2017

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 113 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  21 ++++++
 3 files changed, 135 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig
arch/arm/dts/Makefile +1 -0
index fee4680..295a675 100644
@@ -333,6 +333,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
 	sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
 	sun50i-h5-nanopi-neo2.dtb \
+	sun50i-h5-nanopi-neo-plus2.dtb \
 	sun50i-h5-orangepi-pc2.dtb \
 	sun50i-h5-orangepi-prime.dtb \
 	sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +113 -0

113 lines not on this page · raw message

configs/nanopi_neo_plus2_defconfig new file +21 -0
new file mode 100644
index 0000000..ff99213
@@ -0,0 +1,21 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_SPL_SPI_FLASH_SUPPORT=y
+CONFIG_MACH_SUN50I_H5=y
+CONFIG_DRAM_CLK=408
+CONFIG_DRAM_ZQ=3881977
+CONFIG_MACPWR="PD6"
+CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-nanopi-neo-plus2"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SPL=y
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+# CONFIG_SPL_DOS_PARTITION is not set
+# CONFIG_SPL_ISO_PARTITION is not set
+# CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SPL_SPI_SUNXI=y
+CONFIG_SUN8I_EMAC=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
+CONFIG_SD_BOOT=y
Signature · 1 line
2.7.4
#1 lore raw

PATCH 1/1 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

Hi Antony,

Quoted 11 lines · Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

You don't really need the tested-by, we kind of expect you to have tested it already :)

Quoted 80 lines
---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 113 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  21 ++++++
 3 files changed, 135 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig
arch/arm/dts/Makefile +1 -0
index fee4680..295a675 100644
@@ -333,6 +333,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
 	sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
 	sun50i-h5-nanopi-neo2.dtb \
+	sun50i-h5-nanopi-neo-plus2.dtb \
 	sun50i-h5-orangepi-pc2.dtb \
 	sun50i-h5-orangepi-prime.dtb \
 	sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +54 -0
new file mode 100644
index 0000000..7d12774
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2017 Antony Antony <[email protected]>
+ * Copyright (c) 2016 ARM Ltd.
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h5.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+	model = "FriendlyARM NanoPi NEO Plus 2";
+	compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
+
+	aliases {

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts line 64

Quoted 10 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +10 -0
+		serial0 = &uart0;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	memory {
+		reg = <0x40000000 0x40000000>;
+	};

That is going to be automatically added, there's no need for it.

Quoted 6 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +6 -0
+	reg_vcc3v3: vcc3v3 {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc3v3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+	};

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts line 81

Quoted 10 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +10 -0
+};
+
+&ehci1 {
+	status = "okay";
+};
+
+&mmc0 {
+	compatible = "allwinner,sun50i-h5-mmc",
+		     "allwinner,sun50i-a64-mmc",
+		     "allwinner,sun5i-a13-mmc";

It's not compatible with the A13.

Quoted 38 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +32 -0
+	pinctrl-names = "default";
+	pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
+	vmmc-supply = <&reg_vcc3v3>;
+	bus-width = <4>;
+	cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;
+	cd-inverted;
+	status = "okay";
+};
+
+&mmc2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&mmc2_8bit_pins>;
+	vmmc-supply = <&reg_vcc3v3>;
+	bus-width = <8>;
+	non-removable;
+	cap-mmc-hw-reset;
+	status = "okay";
+};
+
+&ohci1 {
+	status = "okay";
+};
+
+&uart0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart0_pins_a>;
+	status = "okay";
+};
+
+&usbphy {
+	status = "okay";
+};
configs/nanopi_neo_plus2_defconfig new file +0 -0
new file mode 100644
index 0000000..ff99213

configs/nanopi_neo_plus2_defconfig line 3

Quoted 3 lines
configs/nanopi_neo_plus2_defconfig new file +3 -0
@@ -0,0 +1,21 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_SPL_SPI_FLASH_SUPPORT=y

I'd like to make it more trivial to select this from the boards.

One way would be to select that option from SPL_SPI_SUNXI.

Quoted 8 lines
configs/nanopi_neo_plus2_defconfig new file +8 -0
+CONFIG_MACH_SUN50I_H5=y
+CONFIG_DRAM_CLK=408
+CONFIG_DRAM_ZQ=3881977
+CONFIG_MACPWR="PD6"
+CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-nanopi-neo-plus2"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SPL=y
+# CONFIG_CMD_IMLS is not set

configs/nanopi_neo_plus2_defconfig line 21

Quoted 10 lines
configs/nanopi_neo_plus2_defconfig new file +10 -0
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+# CONFIG_SPL_DOS_PARTITION is not set
+# CONFIG_SPL_ISO_PARTITION is not set
+# CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SPL_SPI_SUNXI=y
+CONFIG_SUN8I_EMAC=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
+CONFIG_SD_BOOT=y

We don't use SD_BOOT.

Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170922/f31f903d/attachment.sig>
#2 lore raw

PATCH v2 1/1 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

In reply to Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y

---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 108 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++
 3 files changed, 127 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig
arch/arm/dts/Makefile +1 -0
index fee4680..295a675 100644
@@ -333,6 +333,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
 	sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
 	sun50i-h5-nanopi-neo2.dtb \
+	sun50i-h5-nanopi-neo-plus2.dtb \
 	sun50i-h5-orangepi-pc2.dtb \
 	sun50i-h5-orangepi-prime.dtb \
 	sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +108 -0

108 lines not on this page · raw message

configs/nanopi_neo_plus2_defconfig new file +18 -0
new file mode 100644
index 0000000..83a8dff
@@ -0,0 +1,18 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_MACH_SUN50I_H5=y
+CONFIG_DRAM_CLK=408
+CONFIG_DRAM_ZQ=3881977
+CONFIG_MACPWR="PD6"
+CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-nanopi-neo-plus2"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SPL=y
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+# CONFIG_SPL_DOS_PARTITION is not set
+# CONFIG_SPL_ISO_PARTITION is not set
+# CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SUN8I_EMAC=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
Signature · 1 line
2.7.4
#3 lore raw

PATCH v2 1/1 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

Hi Antony,

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts line 76

Quoted 3 lines · Antony Antony

+&mmc0 {

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +2 -0
+	compatible = "allwinner,sun50i-h5-mmc",
+		     "allwinner,sun50i-a64-mmc";

Sorry for missing that out earlier, but why do you need to override the compatible here?

Is there something missing in the DTSI?

Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170922/7144f8b0/attachment.sig>
#4 lore raw

PATCH v3 1/1 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

In reply to Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y
Changes v2->v3
removed compatible ="allwinner,sun50i-a64-mmc"

---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 107 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++
 3 files changed, 126 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig
arch/arm/dts/Makefile +1 -0
index fee4680..295a675 100644
@@ -333,6 +333,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
 	sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
 	sun50i-h5-nanopi-neo2.dtb \
+	sun50i-h5-nanopi-neo-plus2.dtb \
 	sun50i-h5-orangepi-pc2.dtb \
 	sun50i-h5-orangepi-prime.dtb \
 	sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +107 -0

107 lines not on this page · raw message

configs/nanopi_neo_plus2_defconfig new file +18 -0
new file mode 100644
index 0000000..83a8dff
@@ -0,0 +1,18 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_MACH_SUN50I_H5=y
+CONFIG_DRAM_CLK=408
+CONFIG_DRAM_ZQ=3881977
+CONFIG_MACPWR="PD6"
+CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-nanopi-neo-plus2"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SPL=y
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+# CONFIG_SPL_DOS_PARTITION is not set
+# CONFIG_SPL_ISO_PARTITION is not set
+# CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SUN8I_EMAC=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
Signature · 1 line
2.7.4
#5 lore raw

PATCH v3 1/1 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

Quoted 108 lines · Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y
Changes v2->v3
removed compatible ="allwinner,sun50i-a64-mmc"

---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 107 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++
 3 files changed, 126 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig
arch/arm/dts/Makefile +1 -0
index fee4680..295a675 100644
@@ -333,6 +333,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
 	sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
 	sun50i-h5-nanopi-neo2.dtb \
+	sun50i-h5-nanopi-neo-plus2.dtb \
 	sun50i-h5-orangepi-pc2.dtb \
 	sun50i-h5-orangepi-prime.dtb \
 	sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +65 -0
new file mode 100644
index 0000000..8ac098e
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2017 Antony Antony <[email protected]>
+ * Copyright (c) 2016 ARM Ltd.
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h5.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+	model = "FriendlyARM NanoPi NEO Plus 2";
+	compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
+
+	aliases {
+		serial0 = &uart0;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	reg_vcc3v3: vcc3v3 {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc3v3";
+		regulator-min-microvolt = <3300000>;

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts line 75

Quoted 10 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +10 -0
+		regulator-max-microvolt = <3300000>;
+	};
+};
+
+&ehci1 {
+	status = "okay";
+};
+
+&mmc0 {
+	compatible = "allwinner,sun50i-h5-mmc";

No, you need to keep the a64 one. But I'm still not sure why do you need to set it here.

Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170925/c2e99756/attachment.sig>
#6 lore raw

PATCH v3 1/1 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

Hi Maxime,

sorry for the delayed response.

Quoted 114 lines · Maxime Ripard
Quoted 113 lines · Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y
Changes v2->v3
removed compatible ="allwinner,sun50i-a64-mmc"

---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 107 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++
 3 files changed, 126 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig
arch/arm/dts/Makefile +1 -0
index fee4680..295a675 100644
@@ -333,6 +333,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
 	sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
 	sun50i-h5-nanopi-neo2.dtb \
+	sun50i-h5-nanopi-neo-plus2.dtb \
 	sun50i-h5-orangepi-pc2.dtb \
 	sun50i-h5-orangepi-prime.dtb \
 	sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +70 -0
new file mode 100644
index 0000000..8ac098e
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2017 Antony Antony <[email protected]>
+ * Copyright (c) 2016 ARM Ltd.
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h5.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+	model = "FriendlyARM NanoPi NEO Plus 2";
+	compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
+
+	aliases {
+		serial0 = &uart0;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	reg_vcc3v3: vcc3v3 {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc3v3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+	};
+};
+
+&ehci1 {
Quoted 9 lines

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts line 75

Quoted 5 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +5 -0
+	status = "okay";
+};
+
+&mmc0 {
+	compatible = "allwinner,sun50i-h5-mmc";

No, you need to keep the a64 one. But I'm still not sure why do you need to set it here.

Antother option is remove the "allwinner,sun50i-h5-mmc"; line. That works too.

I realzied mmc0 comes from "sun8i-h3.dtsi" which is included in sun50i-h5.dtsi

sun8i-h3.dtsi has:

mmc0: mmc at 01c0f000 {
	compatible = "allwinner,sun7i-a20-mmc",
		     "allwinner,sun5i-a13-mmc";

If I follow the a64, sun50i-a64.dtsi has mmc0 and it has a different entry.

mmc0: mmc at 1c0f000 {
			compatible = "allwinner,sun50i-a64-mmc";

I am a bit confused. What is your opinion?

-antony

#7 lore raw

PATCH v3 1/1 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

Quoted 124 lines · Antony Antony
Quoted 114 lines · Maxime Ripard
Quoted 113 lines · Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y
Changes v2->v3
removed compatible ="allwinner,sun50i-a64-mmc"

---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 107 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++
 3 files changed, 126 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig
arch/arm/dts/Makefile +1 -0
index fee4680..295a675 100644
@@ -333,6 +333,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
 	sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
 	sun50i-h5-nanopi-neo2.dtb \
+	sun50i-h5-nanopi-neo-plus2.dtb \
 	sun50i-h5-orangepi-pc2.dtb \
 	sun50i-h5-orangepi-prime.dtb \
 	sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +70 -0
new file mode 100644
index 0000000..8ac098e
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2017 Antony Antony <[email protected]>
+ * Copyright (c) 2016 ARM Ltd.
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h5.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+	model = "FriendlyARM NanoPi NEO Plus 2";
+	compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
+
+	aliases {
+		serial0 = &uart0;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	reg_vcc3v3: vcc3v3 {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc3v3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+	};
+};
+
+&ehci1 {
Quoted 8 lines

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts line 75

Quoted 5 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +5 -0
+	status = "okay";
+};
+
+&mmc0 {
+	compatible = "allwinner,sun50i-h5-mmc";

No, you need to keep the a64 one. But I'm still not sure why do you need to set it here.

Quoted 2 lines

Antother option is remove the "allwinner,sun50i-h5-mmc"; line. That works too.

Another option for what?

Quoted 8 lines

I realzied mmc0 comes from "sun8i-h3.dtsi" which is included in sun50i-h5.dtsi

sun8i-h3.dtsi has:

mmc0: mmc at 01c0f000 {
	compatible = "allwinner,sun7i-a20-mmc",
		     "allwinner,sun5i-a13-mmc";
Quoted 5 lines

If I follow the a64, sun50i-a64.dtsi has mmc0 and it has a different entry.

mmc0: mmc at 1c0f000 {
			compatible = "allwinner,sun50i-a64-mmc";

I am a bit confused. What is your opinion?

I'm still confused on what the issue is here.

Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171002/53a7b069/attachment.sig>
#8 lore raw

PATCH v3 1/1 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

In reply to Antony Antony
Quoted 129 lines · Antony Antony

Hi Maxime,

sorry for the delayed response.

Quoted 114 lines · Maxime Ripard
Quoted 113 lines · Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y
Changes v2->v3
removed compatible ="allwinner,sun50i-a64-mmc"

---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 107 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++
 3 files changed, 126 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig
arch/arm/dts/Makefile +1 -0
index fee4680..295a675 100644
@@ -333,6 +333,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
    sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
    sun50i-h5-nanopi-neo2.dtb \
+   sun50i-h5-nanopi-neo-plus2.dtb \
    sun50i-h5-orangepi-pc2.dtb \
    sun50i-h5-orangepi-prime.dtb \
    sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +70 -0
new file mode 100644
index 0000000..8ac098e
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2017 Antony Antony <[email protected]>
+ * Copyright (c) 2016 ARM Ltd.
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h5.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+   model = "FriendlyARM NanoPi NEO Plus 2";
+   compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
+
+   aliases {
+           serial0 = &uart0;
+   };
+
+   chosen {
+           stdout-path = "serial0:115200n8";
+   };
+
+   reg_vcc3v3: vcc3v3 {
+           compatible = "regulator-fixed";
+           regulator-name = "vcc3v3";
+           regulator-min-microvolt = <3300000>;
+           regulator-max-microvolt = <3300000>;
+   };
+};
+
+&ehci1 {
Quoted 9 lines

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts line 75

Quoted 5 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +5 -0
+   status = "okay";
+};
+
+&mmc0 {
+   compatible = "allwinner,sun50i-h5-mmc";

No, you need to keep the a64 one. But I'm still not sure why do you need to set it here.

Quoted 2 lines

Antother option is remove the "allwinner,sun50i-h5-mmc"; line. That works too.

Maxime's point is that you should do compatible string overrides for in the .dtsi file for any hardware block within the SoC itself.

Quoted 9 lines

I realzied mmc0 comes from "sun8i-h3.dtsi" which is included in sun50i-h5.dtsi

sun8i-h3.dtsi has:

mmc0: mmc at 01c0f000 {
        compatible = "allwinner,sun7i-a20-mmc",
                     "allwinner,sun5i-a13-mmc";
Quoted 5 lines

If I follow the a64, sun50i-a64.dtsi has mmc0 and it has a different entry.

mmc0: mmc at 1c0f000 {
                        compatible = "allwinner,sun50i-a64-mmc";

I am a bit confused. What is your opinion?

These denote the variant of the mmc controller in the SoC. The H5 has one that is compatible with the A64's, so you should have a soc specific compatible string, followed by a fallback one that it is compatible with. So it should be:

    compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";

in the H5 .dtsi file.

Please try to read up on device trees in general, and understand the meaning behind all the descriptions and choices, not just blindly pick stuff from different files.

ChenYu

#9 lore raw

PATCH v3 1/1 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

Hi

Thanks Chen-Yu and Maxime.

Quoted 151 lines · Chen-Yu Tsai
Quoted 129 lines · Antony Antony

Hi Maxime,

sorry for the delayed response.

Quoted 114 lines · Maxime Ripard
Quoted 113 lines · Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y
Changes v2->v3
removed compatible ="allwinner,sun50i-a64-mmc"

---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 107 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++
 3 files changed, 126 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig
arch/arm/dts/Makefile +1 -0
index fee4680..295a675 100644
@@ -333,6 +333,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
    sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
    sun50i-h5-nanopi-neo2.dtb \
+   sun50i-h5-nanopi-neo-plus2.dtb \
    sun50i-h5-orangepi-pc2.dtb \
    sun50i-h5-orangepi-prime.dtb \
    sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +70 -0
new file mode 100644
index 0000000..8ac098e
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2017 Antony Antony <[email protected]>
+ * Copyright (c) 2016 ARM Ltd.
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h5.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+   model = "FriendlyARM NanoPi NEO Plus 2";
+   compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
+
+   aliases {
+           serial0 = &uart0;
+   };
+
+   chosen {
+           stdout-path = "serial0:115200n8";
+   };
+
+   reg_vcc3v3: vcc3v3 {
+           compatible = "regulator-fixed";
+           regulator-name = "vcc3v3";
+           regulator-min-microvolt = <3300000>;
+           regulator-max-microvolt = <3300000>;
+   };
+};
+
+&ehci1 {
Quoted 9 lines

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts line 75

Quoted 5 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +5 -0
+   status = "okay";
+};
+
+&mmc0 {
+   compatible = "allwinner,sun50i-h5-mmc";

No, you need to keep the a64 one. But I'm still not sure why do you need to set it here.

Quoted 2 lines

Antother option is remove the "allwinner,sun50i-h5-mmc"; line. That works too.

Maxime's point is that you should do compatible string overrides for in the .dtsi file for any hardware block within the SoC itself.

Quoted 9 lines

I realzied mmc0 comes from "sun8i-h3.dtsi" which is included in sun50i-h5.dtsi

sun8i-h3.dtsi has:

mmc0: mmc at 01c0f000 {
        compatible = "allwinner,sun7i-a20-mmc",
                     "allwinner,sun5i-a13-mmc";
Quoted 5 lines

If I follow the a64, sun50i-a64.dtsi has mmc0 and it has a different entry.

mmc0: mmc at 1c0f000 {
                        compatible = "allwinner,sun50i-a64-mmc";

I am a bit confused. What is your opinion?

Quoted 8 lines

These denote the variant of the mmc controller in the SoC. The H5 has one that is compatible with the A64's, so you should have a soc specific compatible string, followed by a fallback one that it is compatible with. So it should be:

    compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";

in the H5 .dtsi file.

I notice there two solutions.

First, a board specific dts with the following compatible line.

&mmc0 {
	compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";

This is my v2 https://patchwork.ozlabs.org/patch/817502/

Second solution, send a v4 without the compatible line and a new patch to fix sun50i-h5.dtsi. The New patch will add a compatible.

&mmc0 {
	compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";
}

Please advise.

regards,
-antony

#10 lore raw

PATCH v3 1/1 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

Quoted 171 lines · Antony Antony

Hi

Thanks Chen-Yu and Maxime.

Quoted 151 lines · Chen-Yu Tsai
Quoted 129 lines · Antony Antony

Hi Maxime,

sorry for the delayed response.

Quoted 114 lines · Maxime Ripard
Quoted 113 lines · Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y
Changes v2->v3
removed compatible ="allwinner,sun50i-a64-mmc"

---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 107 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++
 3 files changed, 126 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig
arch/arm/dts/Makefile +1 -0
index fee4680..295a675 100644
@@ -333,6 +333,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
    sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
    sun50i-h5-nanopi-neo2.dtb \
+   sun50i-h5-nanopi-neo-plus2.dtb \
    sun50i-h5-orangepi-pc2.dtb \
    sun50i-h5-orangepi-prime.dtb \
    sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +70 -0
new file mode 100644
index 0000000..8ac098e
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2017 Antony Antony <[email protected]>
+ * Copyright (c) 2016 ARM Ltd.
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h5.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+   model = "FriendlyARM NanoPi NEO Plus 2";
+   compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
+
+   aliases {
+           serial0 = &uart0;
+   };
+
+   chosen {
+           stdout-path = "serial0:115200n8";
+   };
+
+   reg_vcc3v3: vcc3v3 {
+           compatible = "regulator-fixed";
+           regulator-name = "vcc3v3";
+           regulator-min-microvolt = <3300000>;
+           regulator-max-microvolt = <3300000>;
+   };
+};
+
+&ehci1 {
Quoted 9 lines

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts line 75

Quoted 5 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +5 -0
+   status = "okay";
+};
+
+&mmc0 {
+   compatible = "allwinner,sun50i-h5-mmc";

No, you need to keep the a64 one. But I'm still not sure why do you need to set it here.

Quoted 2 lines

Antother option is remove the "allwinner,sun50i-h5-mmc"; line. That works too.

Maxime's point is that you should do compatible string overrides for in the .dtsi file for any hardware block within the SoC itself.

Quoted 9 lines

I realzied mmc0 comes from "sun8i-h3.dtsi" which is included in sun50i-h5.dtsi

sun8i-h3.dtsi has:

mmc0: mmc at 01c0f000 {
        compatible = "allwinner,sun7i-a20-mmc",
                     "allwinner,sun5i-a13-mmc";
Quoted 5 lines

If I follow the a64, sun50i-a64.dtsi has mmc0 and it has a different entry.

mmc0: mmc at 1c0f000 {
                        compatible = "allwinner,sun50i-a64-mmc";

I am a bit confused. What is your opinion?

Quoted 8 lines

These denote the variant of the mmc controller in the SoC. The H5 has one that is compatible with the A64's, so you should have a soc specific compatible string, followed by a fallback one that it is compatible with. So it should be:

    compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";

in the H5 .dtsi file.

I notice there two solutions.

First, a board specific dts with the following compatible line.

&mmc0 {
	compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";
Quoted 8 lines

This is my v2 https://patchwork.ozlabs.org/patch/817502/

Second solution, send a v4 without the compatible line and a new patch to fix sun50i-h5.dtsi. The New patch will add a compatible.

&mmc0 {
	compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";
}

Still not sure what the issue you're trying to solve, but in general the second one is preferred.

Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171009/0fc47a5d/attachment-0001.sig>
#11 lore raw

PATCH v3 1/1 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

Quoted 177 lines · Maxime Ripard
Quoted 176 lines · Antony Antony

Hi

Thanks Chen-Yu and Maxime.

Quoted 151 lines · Chen-Yu Tsai
Quoted 129 lines · Antony Antony

Hi Maxime,

sorry for the delayed response.

Quoted 114 lines · Maxime Ripard
Quoted 113 lines · Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y
Changes v2->v3
removed compatible ="allwinner,sun50i-a64-mmc"

---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 107 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++
 3 files changed, 126 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig
arch/arm/dts/Makefile +1 -0
index fee4680..295a675 100644
@@ -333,6 +333,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
    sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
    sun50i-h5-nanopi-neo2.dtb \
+   sun50i-h5-nanopi-neo-plus2.dtb \
    sun50i-h5-orangepi-pc2.dtb \
    sun50i-h5-orangepi-prime.dtb \
    sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +70 -0
new file mode 100644
index 0000000..8ac098e
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2017 Antony Antony <[email protected]>
+ * Copyright (c) 2016 ARM Ltd.
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h5.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+   model = "FriendlyARM NanoPi NEO Plus 2";
+   compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
+
+   aliases {
+           serial0 = &uart0;
+   };
+
+   chosen {
+           stdout-path = "serial0:115200n8";
+   };
+
+   reg_vcc3v3: vcc3v3 {
+           compatible = "regulator-fixed";
+           regulator-name = "vcc3v3";
+           regulator-min-microvolt = <3300000>;
+           regulator-max-microvolt = <3300000>;
+   };
+};
+
+&ehci1 {
Quoted 9 lines

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts line 75

Quoted 5 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +5 -0
+   status = "okay";
+};
+
+&mmc0 {
+   compatible = "allwinner,sun50i-h5-mmc";

No, you need to keep the a64 one. But I'm still not sure why do you need to set it here.

Quoted 2 lines

Antother option is remove the "allwinner,sun50i-h5-mmc"; line. That works too.

Maxime's point is that you should do compatible string overrides for in the .dtsi file for any hardware block within the SoC itself.

Quoted 9 lines

I realzied mmc0 comes from "sun8i-h3.dtsi" which is included in sun50i-h5.dtsi

sun8i-h3.dtsi has:

mmc0: mmc at 01c0f000 {
        compatible = "allwinner,sun7i-a20-mmc",
                     "allwinner,sun5i-a13-mmc";
Quoted 5 lines

If I follow the a64, sun50i-a64.dtsi has mmc0 and it has a different entry.

mmc0: mmc at 1c0f000 {
                        compatible = "allwinner,sun50i-a64-mmc";

I am a bit confused. What is your opinion?

Quoted 8 lines

These denote the variant of the mmc controller in the SoC. The H5 has one that is compatible with the A64's, so you should have a soc specific compatible string, followed by a fallback one that it is compatible with. So it should be:

    compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";

in the H5 .dtsi file.

I notice there two solutions.

First, a board specific dts with the following compatible line.

&mmc0 {
	compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";

This is my v2 https://patchwork.ozlabs.org/patch/817502/

Second solution, send a v4 without the compatible line and a new patch to fix sun50i-h5.dtsi. The New patch will add a compatible.

Quoted 6 lines
Quoted 3 lines
&mmc0 {
	compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";
}

Still not sure what the issue you're trying to solve, but in general the second one is preferred.

thanks.

Would you be happy to apply the v2? If yes, there is nothing more to solve.

https://patchwork.ozlabs.org/patch/817502

I started exploring more options after you comment to v2.

-antony

#12 lore raw

PATCH v3 1/1 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

Quoted 185 lines · Antony Antony
Quoted 177 lines · Maxime Ripard
Quoted 176 lines · Antony Antony

Hi

Thanks Chen-Yu and Maxime.

Quoted 151 lines · Chen-Yu Tsai
Quoted 129 lines · Antony Antony

Hi Maxime,

sorry for the delayed response.

Quoted 114 lines · Maxime Ripard
Quoted 113 lines · Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y
Changes v2->v3
removed compatible ="allwinner,sun50i-a64-mmc"

---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 107 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++
 3 files changed, 126 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig
arch/arm/dts/Makefile +1 -0
index fee4680..295a675 100644
@@ -333,6 +333,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
    sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
    sun50i-h5-nanopi-neo2.dtb \
+   sun50i-h5-nanopi-neo-plus2.dtb \
    sun50i-h5-orangepi-pc2.dtb \
    sun50i-h5-orangepi-prime.dtb \
    sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +70 -0
new file mode 100644
index 0000000..8ac098e
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2017 Antony Antony <[email protected]>
+ * Copyright (c) 2016 ARM Ltd.
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h5.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+   model = "FriendlyARM NanoPi NEO Plus 2";
+   compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
+
+   aliases {
+           serial0 = &uart0;
+   };
+
+   chosen {
+           stdout-path = "serial0:115200n8";
+   };
+
+   reg_vcc3v3: vcc3v3 {
+           compatible = "regulator-fixed";
+           regulator-name = "vcc3v3";
+           regulator-min-microvolt = <3300000>;
+           regulator-max-microvolt = <3300000>;
+   };
+};
+
+&ehci1 {
Quoted 9 lines

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts line 75

Quoted 5 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +5 -0
+   status = "okay";
+};
+
+&mmc0 {
+   compatible = "allwinner,sun50i-h5-mmc";

No, you need to keep the a64 one. But I'm still not sure why do you need to set it here.

Quoted 2 lines

Antother option is remove the "allwinner,sun50i-h5-mmc"; line. That works too.

Maxime's point is that you should do compatible string overrides for in the .dtsi file for any hardware block within the SoC itself.

Quoted 9 lines

I realzied mmc0 comes from "sun8i-h3.dtsi" which is included in sun50i-h5.dtsi

sun8i-h3.dtsi has:

mmc0: mmc at 01c0f000 {
        compatible = "allwinner,sun7i-a20-mmc",
                     "allwinner,sun5i-a13-mmc";
Quoted 5 lines

If I follow the a64, sun50i-a64.dtsi has mmc0 and it has a different entry.

mmc0: mmc at 1c0f000 {
                        compatible = "allwinner,sun50i-a64-mmc";

I am a bit confused. What is your opinion?

Quoted 8 lines

These denote the variant of the mmc controller in the SoC. The H5 has one that is compatible with the A64's, so you should have a soc specific compatible string, followed by a fallback one that it is compatible with. So it should be:

    compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";

in the H5 .dtsi file.

I notice there two solutions.

First, a board specific dts with the following compatible line.

&mmc0 {
	compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";

This is my v2 https://patchwork.ozlabs.org/patch/817502/

Second solution, send a v4 without the compatible line and a new patch to fix sun50i-h5.dtsi. The New patch will add a compatible.

Quoted 6 lines
Quoted 3 lines
&mmc0 {
	compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";
}

Still not sure what the issue you're trying to solve, but in general the second one is preferred.

Quoted 7 lines

thanks.

Would you be happy to apply the v2? If yes, there is nothing more to solve.

https://patchwork.ozlabs.org/patch/817502

I started exploring more options after you comment to v2.

V2 isn't acceptable, you shouldn't have any compatible in the DT in the first place, but in the DTSI, like you suggested.

Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171009/5ff886b5/attachment.sig>
#13 lore raw

PATCH v4 1/2 arm64: sun50i-h5.dtsi : add h5 & a64 compatible to mmc[0-2]

In reply to Antony Antony

add more specific, Allwinner H5 SoC, compaitable to mmc0,1,2 current one comes from sun8i-h3.dtsi
compatible = "allwinner,sun7i-a20-mmc", "allwinner,sun5i-a13-mmc";

---
 arch/arm/dts/sun50i-h5.dtsi | 12 ++++++++++++
 1 file changed, 12 insertions(+)
arch/arm/dts/sun50i-h5.dtsi +12 -0
index 4904c18..1f4c1d1 100644
@@ -75,3 +75,15 @@
 &gic {
 	compatible = "arm,gic-400";
 };
+
+&mmc0 {
+	compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";
+};
+
+&mmc1 {
+	compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";
+};
+
+&mmc2 {
+	compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";
+};
Signature · 1 line
2.7.4
#14 lore raw

PATCH v4 1/2 arm64: sun50i-h5.dtsi : add h5 & a64 compatible to mmc[0-2]

Shouldn't we just be syncing changes to the DT from the kernel?

Quoted 36 lines · Antony Antony

add more specific, Allwinner H5 SoC, compaitable to mmc0,1,2 current one comes from sun8i-h3.dtsi
compatible = "allwinner,sun7i-a20-mmc", "allwinner,sun5i-a13-mmc";

---
 arch/arm/dts/sun50i-h5.dtsi | 12 ++++++++++++
 1 file changed, 12 insertions(+)
arch/arm/dts/sun50i-h5.dtsi +12 -1
index 4904c18..1f4c1d1 100644
@@ -75,3 +75,15 @@
 &gic {
        compatible = "arm,gic-400";
 };
+
+&mmc0 {
+       compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";
+};
+
+&mmc1 {
+       compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";
+};
+
+&mmc2 {
+       compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc";
+};
--

2.7.4

_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
https://lists.denx.de/listinfo/u-boot

#15 lore raw

PATCH v4 1/2 arm64: sun50i-h5.dtsi : add h5 & a64 compatible to mmc[0-2]

Quoted 1 line · Peter Robinson

Shouldn't we just be syncing changes to the DT from the kernel?

And add last merge commit details on commit message.

thanks!

Signature · 4 lines
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
#16 lore raw

PATCH v4 1/2 arm64: sun50i-h5.dtsi : add h5 & a64 compatible to mmc[0-2]

Quoted 3 lines · Jagan Teki
Quoted 1 line · Peter Robinson

Shouldn't we just be syncing changes to the DT from the kernel?

I guess syncing could possibly solve the problem! Kernel DTSI got the compiltables I need from the begining.

The diff looks big to me. I am not sure yet, I understand all changes. Anyone who would like to sync the two files? Or willing to help me?

diff ~/u-boot/arch/arm/dts/sun50i-h5.dtsi ~/linux/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi

Quoted 1 line

And add last merge commit details on commit message.

A good point. I am wondering what is the practice for this u-boot commit message. I do not see commit IDs mentioned. A few commits seems to mention kernel version in the commit message.

-antony

#17 lore raw

PATCH v4 1/2 arm64: sun50i-h5.dtsi : add h5 & a64 compatible to mmc[0-2]

Quoted 11 lines · Antony Antony
Quoted 3 lines · Jagan Teki
Quoted 1 line · Peter Robinson

Shouldn't we just be syncing changes to the DT from the kernel?

I guess syncing could possibly solve the problem! Kernel DTSI got the compiltables I need from the begining.

The diff looks big to me. I am not sure yet, I understand all changes. Anyone who would like to sync the two files? Or willing to help me?

Quoted 8 lines

diff ~/u-boot/arch/arm/dts/sun50i-h5.dtsi ~/linux/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi

Quoted 1 line

And add last merge commit details on commit message.

A good point. I am wondering what is the practice for this u-boot commit message. I do not see commit IDs mentioned. A few commits seems to mention kernel version in the commit message.

Getting merge ID details can help to check what details got synced, not a big deal.

thanks!

Signature · 4 lines
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
#18 lore raw

PATCH v4 2/2 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

In reply to Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 106 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++
 3 files changed, 125 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y
Changes v2->v3
removed compatible ="allwinner,sun50i-a64-mmc"
Changes v3->v4
removed compatible from mmc0
add h5 & a64 compaitable to sun50i-h5.dtsi

arch/arm/dts/Makefile +1 -0
index 5b90280..879ff24 100644
@@ -335,6 +335,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
 	sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
 	sun50i-h5-nanopi-neo2.dtb \
+	sun50i-h5-nanopi-neo-plus2.dtb \
 	sun50i-h5-orangepi-pc2.dtb \
 	sun50i-h5-orangepi-prime.dtb \
 	sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +106 -0

106 lines not on this page · raw message

configs/nanopi_neo_plus2_defconfig new file +18 -0
new file mode 100644
index 0000000..83a8dff
@@ -0,0 +1,18 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_MACH_SUN50I_H5=y
+CONFIG_DRAM_CLK=408
+CONFIG_DRAM_ZQ=3881977
+CONFIG_MACPWR="PD6"
+CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-nanopi-neo-plus2"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SPL=y
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+# CONFIG_SPL_DOS_PARTITION is not set
+# CONFIG_SPL_ISO_PARTITION is not set
+# CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SUN8I_EMAC=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
Signature · 1 line
2.7.4
#19 lore raw

PATCH v4 2/2 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

Quoted 108 lines · Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 106 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++
 3 files changed, 125 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y
Changes v2->v3
removed compatible ="allwinner,sun50i-a64-mmc"
Changes v3->v4
removed compatible from mmc0
add h5 & a64 compaitable to sun50i-h5.dtsi

arch/arm/dts/Makefile +1 -0
index 5b90280..879ff24 100644
@@ -335,6 +335,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
        sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
        sun50i-h5-nanopi-neo2.dtb \
+       sun50i-h5-nanopi-neo-plus2.dtb \
        sun50i-h5-orangepi-pc2.dtb \
        sun50i-h5-orangepi-prime.dtb \
        sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +62 -0
new file mode 100644
index 0000000..f1406c2
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2017 Antony Antony <[email protected]>
+ * Copyright (c) 2016 ARM Ltd.
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h5.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+       model = "FriendlyARM NanoPi NEO Plus 2";
+       compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
+
+       aliases {
+               serial0 = &uart0;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       reg_vcc3v3: vcc3v3 {

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts line 72

Quoted 10 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +10 -0
+               compatible = "regulator-fixed";
+               regulator-name = "vcc3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+};
+
+&ehci1 {
+       status = "okay";
+};

Does this tested? need to have in Linux first.

Quoted 14 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +14 -0
+
+&mmc0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
+       vmmc-supply = <&reg_vcc3v3>;
+       bus-width = <4>;
+       cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;
+       cd-inverted;
+       status = "okay";
+};
+
+&mmc2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc2_8bit_pins>;

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts line 96

Quoted 10 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +10 -0
+       vmmc-supply = <&reg_vcc3v3>;
+       bus-width = <8>;
+       non-removable;
+       cap-mmc-hw-reset;
+       status = "okay";
+};
+
+&ohci1 {
+       status = "okay";
+};

Same comment like ehci1

thanks!

Signature · 4 lines
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
#20 lore raw

PATCH v4 2/2 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

Quoted 113 lines · Jagan Teki
Quoted 112 lines · Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 106 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++
 3 files changed, 125 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y
Changes v2->v3
removed compatible ="allwinner,sun50i-a64-mmc"
Changes v3->v4
removed compatible from mmc0
add h5 & a64 compaitable to sun50i-h5.dtsi

arch/arm/dts/Makefile +1 -0
index 5b90280..879ff24 100644
@@ -335,6 +335,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
        sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
        sun50i-h5-nanopi-neo2.dtb \
+       sun50i-h5-nanopi-neo-plus2.dtb \
        sun50i-h5-orangepi-pc2.dtb \
        sun50i-h5-orangepi-prime.dtb \
        sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +66 -0
new file mode 100644
index 0000000..f1406c2
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2017 Antony Antony <[email protected]>
+ * Copyright (c) 2016 ARM Ltd.
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h5.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+       model = "FriendlyARM NanoPi NEO Plus 2";
+       compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
+
+       aliases {
+               serial0 = &uart0;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       reg_vcc3v3: vcc3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
Quoted 8 lines

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts line 72

Quoted 6 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +6 -0
+       };
+};
+
+&ehci1 {
+       status = "okay";
+};

Does this tested? need to have in Linux first.

I use rootfs from /dev/sda1 , spl and u-boot are on MicroSD card. in armbianEnv.txt set rootdev=/dev/sda1

Begin: Will now check root file system ... fsck from util-linux 2.27.1 [/sbin/fsck.ext4 (1) -- /dev/sda1] fsck.ext4 -a -C0 /dev/sda1

Are you suggesting ehci1 & ohci1 are not necessary in the u-boot DT file, The kernel will initialize it after u-boot?

Quoted 33 lines
Quoted 14 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +14 -0
+
+&mmc0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
+       vmmc-supply = <&reg_vcc3v3>;
+       bus-width = <4>;
+       cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;
+       cd-inverted;
+       status = "okay";
+};
+
+&mmc2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc2_8bit_pins>;

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts line 96

Quoted 10 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +10 -0
+       vmmc-supply = <&reg_vcc3v3>;
+       bus-width = <8>;
+       non-removable;
+       cap-mmc-hw-reset;
+       status = "okay";
+};
+
+&ohci1 {
+       status = "okay";
+};

Same comment like ehci1

thanks!

Signature · 4 lines
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
#21 lore raw

PATCH v4 2/2 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

Quoted 123 lines · Antony Antony
Quoted 113 lines · Jagan Teki
Quoted 112 lines · Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 106 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++
 3 files changed, 125 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y
Changes v2->v3
removed compatible ="allwinner,sun50i-a64-mmc"
Changes v3->v4
removed compatible from mmc0
add h5 & a64 compaitable to sun50i-h5.dtsi

arch/arm/dts/Makefile +1 -0
index 5b90280..879ff24 100644
@@ -335,6 +335,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
        sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
        sun50i-h5-nanopi-neo2.dtb \
+       sun50i-h5-nanopi-neo-plus2.dtb \
        sun50i-h5-orangepi-pc2.dtb \
        sun50i-h5-orangepi-prime.dtb \
        sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +66 -0
new file mode 100644
index 0000000..f1406c2
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2017 Antony Antony <[email protected]>
+ * Copyright (c) 2016 ARM Ltd.
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h5.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+       model = "FriendlyARM NanoPi NEO Plus 2";
+       compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
+
+       aliases {
+               serial0 = &uart0;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       reg_vcc3v3: vcc3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
Quoted 8 lines

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts line 72

Quoted 6 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +6 -0
+       };
+};
+
+&ehci1 {
+       status = "okay";
+};

Does this tested? need to have in Linux first.

Quoted 8 lines

I use rootfs from /dev/sda1 , spl and u-boot are on MicroSD card. in armbianEnv.txt set rootdev=/dev/sda1

Begin: Will now check root file system ... fsck from util-linux 2.27.1 [/sbin/fsck.ext4 (1) -- /dev/sda1] fsck.ext4 -a -C0 /dev/sda1

Are you suggesting ehci1 & ohci1 are not necessary in the u-boot DT file, The kernel will initialize it after u-boot?

No, the dts need to sync with Linux (atleast for sunxi), usually new dts additions should go Linux first.

thanks!

Signature · 4 lines
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
#22 lore raw

PATCH v4 2/2 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

Quoted 127 lines · Jagan Teki
Quoted 126 lines · Antony Antony
Quoted 113 lines · Jagan Teki
Quoted 112 lines · Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 106 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++
 3 files changed, 125 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y
Changes v2->v3
removed compatible ="allwinner,sun50i-a64-mmc"
Changes v3->v4
removed compatible from mmc0
add h5 & a64 compaitable to sun50i-h5.dtsi

arch/arm/dts/Makefile +1 -0
index 5b90280..879ff24 100644
@@ -335,6 +335,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
        sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
        sun50i-h5-nanopi-neo2.dtb \
+       sun50i-h5-nanopi-neo-plus2.dtb \
        sun50i-h5-orangepi-pc2.dtb \
        sun50i-h5-orangepi-prime.dtb \
        sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +66 -0
new file mode 100644
index 0000000..f1406c2
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2017 Antony Antony <[email protected]>
+ * Copyright (c) 2016 ARM Ltd.
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h5.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+       model = "FriendlyARM NanoPi NEO Plus 2";
+       compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
+
+       aliases {
+               serial0 = &uart0;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       reg_vcc3v3: vcc3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
Quoted 8 lines

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts line 72

Quoted 6 lines
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +6 -0
+       };
+};
+
+&ehci1 {
+       status = "okay";
+};

Does this tested? need to have in Linux first.

I use rootfs from /dev/sda1 , spl and u-boot are on MicroSD card. in armbianEnv.txt set rootdev=/dev/sda1

Quoted 8 lines
Quoted 5 lines

Begin: Will now check root file system ... fsck from util-linux 2.27.1 [/sbin/fsck.ext4 (1) -- /dev/sda1] fsck.ext4 -a -C0 /dev/sda1

Are you suggesting ehci1 & ohci1 are not necessary in the u-boot DT file, The kernel will initialize it after u-boot?

No, the dts need to sync with Linux (atleast for sunxi), usually new dts additions should go Linux first.

It is sunxi/for-next queed up for 4.15

-antony

#23 lore raw

PATCH v5 1/2 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

In reply to Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y
Changes v2->v3
removed compatible ="allwinner,sun50i-a64-mmc"
Changes v3->v4
removed compatible from mmc0
add h5 & a64 compaitable to sun50i-h5.dtsi
Changes v4->v5
update sun50i-h5.dtsi to krenel tree 4.14

---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 106 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++
 3 files changed, 125 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig
arch/arm/dts/Makefile +1 -0
index 6db64f91..e44ceaf 100644
@@ -336,6 +336,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
 	sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
 	sun50i-h5-nanopi-neo2.dtb \
+	sun50i-h5-nanopi-neo-plus2.dtb \
 	sun50i-h5-orangepi-pc2.dtb \
 	sun50i-h5-orangepi-prime.dtb \
 	sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +106 -0

106 lines not on this page · raw message

configs/nanopi_neo_plus2_defconfig new file +18 -0
new file mode 100644
index 0000000..83a8dff
@@ -0,0 +1,18 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_MACH_SUN50I_H5=y
+CONFIG_DRAM_CLK=408
+CONFIG_DRAM_ZQ=3881977
+CONFIG_MACPWR="PD6"
+CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-nanopi-neo-plus2"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SPL=y
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+# CONFIG_SPL_DOS_PARTITION is not set
+# CONFIG_SPL_ISO_PARTITION is not set
+# CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SUN8I_EMAC=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
Signature · 1 line
2.7.4
#24 lore raw

PATCH v5 2/2 arm64: sun50i-h5.dtsi : update to kernel 4.14

last Kernel commit of sun50i-h5.dtsi d86e63e1f0b7

---
Changes v3->v4
removed compatible from mmc0
add h5 & a64 compaitable to sun50i-h5.dtsi
Changes v4->v5
update sun50i-h5.dtsi to kernel 4.14

---
 arch/arm/dts/sun50i-h5.dtsi | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)
arch/arm/dts/sun50i-h5.dtsi +32 -0
index 4904c18..c052f31 100644
@@ -72,6 +72,38 @@
 	};
 };
 
+&ccu {
+	compatible = "allwinner,sun50i-h5-ccu";
+};
+
 &gic {
 	compatible = "arm,gic-400";
 };
+
+&mmc0 {
+	compatible = "allwinner,sun50i-h5-mmc",
+		     "allwinner,sun50i-a64-mmc";
+	clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
+	clock-names = "ahb", "mmc";
+};
+
+&mmc1 {
+	compatible = "allwinner,sun50i-h5-mmc",
+		     "allwinner,sun50i-a64-mmc";
+	clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>;
+	clock-names = "ahb", "mmc";
+};
+
+&mmc2 {
+	compatible = "allwinner,sun50i-h5-emmc",
+		     "allwinner,sun50i-a64-emmc";
+	clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
+	clock-names = "ahb", "mmc";
+};
+
+&pio {
+	interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
+		   <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+	compatible = "allwinner,sun50i-h5-pinctrl";
+};
Signature · 1 line
2.7.4
#25 lore raw

PATCH v5 2/2 arm64: sun50i-h5.dtsi : update to kernel 4.14

Quoted 3 lines · Antony Antony

last Kernel commit of sun50i-h5.dtsi d86e63e1f0b7

Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171117/9d6ae7b1/attachment.sig>
#26 lore raw

PATCH v5 1/2 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

In reply to Antony Antony
Quoted 10 lines · Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171117/d7769730/attachment.sig>
#27 lore raw

PATCH v5 1/2 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

In reply to Antony Antony
Quoted 22 lines · Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y
Changes v2->v3
removed compatible ="allwinner,sun50i-a64-mmc"
Changes v3->v4
removed compatible from mmc0
add h5 & a64 compaitable to sun50i-h5.dtsi
Changes v4->v5
update sun50i-h5.dtsi to krenel tree 4.14

Quoted 4 lines
---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 106 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++

Update board MAINTAINERS file as well.

Quoted 142 lines
 3 files changed, 125 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig
arch/arm/dts/Makefile +1 -0
index 6db64f91..e44ceaf 100644
@@ -336,6 +336,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
        sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
        sun50i-h5-nanopi-neo2.dtb \
+       sun50i-h5-nanopi-neo-plus2.dtb \
        sun50i-h5-orangepi-pc2.dtb \
        sun50i-h5-orangepi-prime.dtb \
        sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +106 -0
new file mode 100644
index 0000000..f1406c2
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2017 Antony Antony <[email protected]>
+ * Copyright (c) 2016 ARM Ltd.
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h5.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+       model = "FriendlyARM NanoPi NEO Plus 2";
+       compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
+
+       aliases {
+               serial0 = &uart0;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       reg_vcc3v3: vcc3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+};
+
+&ehci1 {
+       status = "okay";
+};
+
+&mmc0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
+       vmmc-supply = <&reg_vcc3v3>;
+       bus-width = <4>;
+       cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;
+       cd-inverted;
+       status = "okay";
+};
+
+&mmc2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc2_8bit_pins>;
+       vmmc-supply = <&reg_vcc3v3>;
+       bus-width = <8>;
+       non-removable;
+       cap-mmc-hw-reset;
+       status = "okay";
+};
+
+&ohci1 {
+       status = "okay";
+};
+
+&uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart0_pins_a>;
+       status = "okay";
+};
+
+&usbphy {
+       status = "okay";
+};
configs/nanopi_neo_plus2_defconfig new file +8 -0
new file mode 100644
index 0000000..83a8dff
@@ -0,0 +1,18 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_MACH_SUN50I_H5=y
+CONFIG_DRAM_CLK=408
+CONFIG_DRAM_ZQ=3881977
+CONFIG_MACPWR="PD6"
+CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-nanopi-neo-plus2"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set

configs/nanopi_neo_plus2_defconfig line 18

Quoted 10 lines
configs/nanopi_neo_plus2_defconfig new file +10 -0
+CONFIG_SPL=y
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+# CONFIG_SPL_DOS_PARTITION is not set
+# CONFIG_SPL_ISO_PARTITION is not set
+# CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SUN8I_EMAC=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2

Did you test eMMC boot?

thanks!

Signature · 4 lines
Jagan Teki
Senior Linux Kernel Engineer | Amarula Solutions
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
#28 lore raw

PATCH v5 1/2 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

Quoted 28 lines · Jagan Teki
Quoted 22 lines · Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y
Changes v2->v3
removed compatible ="allwinner,sun50i-a64-mmc"
Changes v3->v4
removed compatible from mmc0
add h5 & a64 compaitable to sun50i-h5.dtsi
Changes v4->v5
update sun50i-h5.dtsi to krenel tree 4.14

Quoted 4 lines
---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 106 ++++++++++++++++++++++++++++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++
Quoted 1 line

Update board MAINTAINERS file as well.

yes. I will send new version soon.

Quoted 2 lines
Quoted 1 line

+CONFIG_MMC_SUNXI_SLOT_EXTRA=2

Did you test eMMC boot?

yes. I use Armbian and boot from eMMC.

thanks,
-antony

#29 lore raw

PATCH v6 1/2 arm64: sun50i-h5.dtsi : update to kernel 4.14

In reply to Antony Antony

last Kernel commit of sun50i-h5.dtsi d86e63e1f0b7

---
Changes v1->v2
removed memory {}, compatible ="allwinner,sun5i-a13-mmc" remove CONFIG_SPL_SPI_FLASH_SUPPORT=y and CONFIG_SPL_SPI_SUNXI=y (no SPI) remove CONFIG_SD_BOOT=y
Changes v2->v3
removed compatible ="allwinner,sun50i-a64-mmc"
Changes v3->v4
removed compatible from mmc0
add h5 & a64 compaitable to sun50i-h5.dtsi
Changes v4->v5
update sun50i-h5.dtsi to krenel tree 4.14
Changes v5->v6
update board/sunxi/MAINTAINERS

---
 arch/arm/dts/sun50i-h5.dtsi | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)
arch/arm/dts/sun50i-h5.dtsi +32 -0
index 4904c18..c052f31 100644
@@ -72,6 +72,38 @@
 	};
 };
 
+&ccu {
+	compatible = "allwinner,sun50i-h5-ccu";
+};
+
 &gic {
 	compatible = "arm,gic-400";
 };
+
+&mmc0 {
+	compatible = "allwinner,sun50i-h5-mmc",
+		     "allwinner,sun50i-a64-mmc";
+	clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
+	clock-names = "ahb", "mmc";
+};
+
+&mmc1 {
+	compatible = "allwinner,sun50i-h5-mmc",
+		     "allwinner,sun50i-a64-mmc";
+	clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>;
+	clock-names = "ahb", "mmc";
+};
+
+&mmc2 {
+	compatible = "allwinner,sun50i-h5-emmc",
+		     "allwinner,sun50i-a64-emmc";
+	clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
+	clock-names = "ahb", "mmc";
+};
+
+&pio {
+	interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
+		   <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+	compatible = "allwinner,sun50i-h5-pinctrl";
+};
Signature · 1 line
2.7.4
#30 lore raw

PATCH v6 2/2 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

---
Changes v3->v4
removed compatible from mmc0
add h5 & a64 compaitable to sun50i-h5.dtsi
Changes v4->v5
update sun50i-h5.dtsi to kernel 4.14
Changes v5->v6
update board/sunxi/MAINTAINERS

---
 arch/arm/dts/Makefile                       |   1 +
 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 106 ++++++++++++++++++++++++++++
 board/sunxi/MAINTAINERS                     |   5 ++
 configs/nanopi_neo_plus2_defconfig          |  18 +++++
 4 files changed, 130 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
 create mode 100644 configs/nanopi_neo_plus2_defconfig
arch/arm/dts/Makefile +1 -0
index cd540e9..f54adb2 100644
@@ -337,6 +337,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
 	sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
 	sun50i-h5-nanopi-neo2.dtb \
+	sun50i-h5-nanopi-neo-plus2.dtb \
 	sun50i-h5-orangepi-pc2.dtb \
 	sun50i-h5-orangepi-prime.dtb \
 	sun50i-h5-orangepi-zero-plus2.dtb
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts new file +106 -0

106 lines not on this page · raw message

board/sunxi/MAINTAINERS +5 -0
index 99809c6..ee24d70 100644
@@ -286,6 +286,11 @@ M:	Jagan Teki <[email protected]>
 S:	Maintained
 F:	configs/nanopi_neo2_defconfig
 
+NANOPI-NEO-PLUS2 BOARD
+M:	Antony Antony <[email protected]>
+S:	Maintained
+F:	configs/nanopi_neo_plus2_defconfig
+
 NANOPI-NEO-AIR BOARD
 M:	Jelle van der Waa <[email protected]>
 S:	Maintained
configs/nanopi_neo_plus2_defconfig new file +18 -0
new file mode 100644
index 0000000..83a8dff
@@ -0,0 +1,18 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_MACH_SUN50I_H5=y
+CONFIG_DRAM_CLK=408
+CONFIG_DRAM_ZQ=3881977
+CONFIG_MACPWR="PD6"
+CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-nanopi-neo-plus2"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SPL=y
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+# CONFIG_SPL_DOS_PARTITION is not set
+# CONFIG_SPL_ISO_PARTITION is not set
+# CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SUN8I_EMAC=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
Signature · 1 line
2.7.4
#31 lore raw

PATCH v6 2/2 sun50i: h5: Add NanoPi Neo Plus2 DT initial support

Quoted 10 lines · Antony Antony

Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
- 2x USB 2.0 host ports

Applied to u-boot-sunxi/master