
On Wed, 19 Jun 2019 11:03:25 +0200 Clément Péron peron.clem@gmail.com wrote:
Hi Clément,
On Wed, 19 Jun 2019 at 03:12, Andre Przywara andre.przywara@arm.com wrote:
The Eachlink H6 Mini is a modestly priced TV box, using the Allwinner H6 SoC. It comes with 4GB of DRAM (3GB usable) and 32GB of eMMC in the typical TV box enclosure. This adds a basic device tree and defconfig for it.
It contrast to the other supported H6 boards the H6 Mini uses DDR3 DRAM chips (not LPDDR3), which require a different DRAM controller setup.
Signed-off-by: Andre Przywara andre.przywara@arm.com
arch/arm/dts/Makefile | 1 + arch/arm/dts/sun50i-h6-eachlink-h6-mini.dts | 116 ++++++++++++++++++++++++++++ configs/eachlink_h6_mini_defconfig | 17 ++++ 3 files changed, 134 insertions(+) create mode 100644 arch/arm/dts/sun50i-h6-eachlink-h6-mini.dts create mode 100644 configs/eachlink_h6_mini_defconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 528fb909d5..c463aca190 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -507,6 +507,7 @@ dtb-$(CONFIG_MACH_SUN50I_H5) += \ sun50i-h5-orangepi-zero-plus2.dtb dtb-$(CONFIG_MACH_SUN50I_H6) += \ sun50i-h6-beelink-gs1.dtb \
sun50i-h6-eachlink-h6-mini.dtb \ sun50i-h6-orangepi-lite2.dtb \ sun50i-h6-orangepi-one-plus.dtb \ sun50i-h6-pine-h64.dtb
diff --git a/arch/arm/dts/sun50i-h6-eachlink-h6-mini.dts b/arch/arm/dts/sun50i-h6-eachlink-h6-mini.dts new file mode 100644 index 0000000000..5956b5ccd7 --- /dev/null +++ b/arch/arm/dts/sun50i-h6-eachlink-h6-mini.dts @@ -0,0 +1,116 @@ +// SPDX-License-Identifier: (GPL-2.0+ or MIT) +/*
- Copyright (c) 2018 Arm Ltd.
- based on work by:
- Copyright (c) 2017 Icenowy Zheng icenowy@aosc.io
- */
+/dts-v1/;
+#include "sun50i-h6.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+/ {
model = "Eachlink H6 Mini";
compatible = "eachlink,h6-mini", "allwinner,sun50i-h6";
aliases {
serial0 = &uart0;
};
chosen {
stdout-path = "serial0:115200n8";
};
connector {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_con_in: endpoint {
remote-endpoint = <&hdmi_out_con>;
};
};
};
reg_vcc3v3: vcc3v3 {
compatible = "regulator-fixed";
regulator-name = "vcc3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
reg_vcc5v: vcc5v {
/* supply from the micro-USB DC jack */
compatible = "regulator-fixed";
regulator-name = "vcc-5v";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
};
+};
+&de {
status = "okay";
+};
+&hdmi {
status = "okay";
+};
+&hdmi_out {
hdmi_out_con: endpoint {
remote-endpoint = <&hdmi_con_in>;
};
+};
+&ehci0 {
phys = <&usb2phy 0>;
status = "okay";
+};
Same as Pine H64. If you plan to mainline this board in Linux maybe you should try to stuck with the linux one to avoid any differences.
Well, there is no DT in Linux yet, so how could I deviate? In fact I will send an ideally identical .dts to Linux later this week, so we have this bit in from the beginning.
I think it's a bit of a chicken and egg problem: I can't really post Linux support patches without having U-Boot running, so have to start somewhere.
+&ehci3 {
status = "okay";
+};
+&mmc0 {
vmmc-supply = <®_vcc3v3>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
bus-width = <4>;
status = "okay";
+};
+&mmc2 {
vmmc-supply = <®_vcc3v3>;
vqmmc-supply = <®_vcc3v3>;
non-removable;
cap-mmc-hw-reset;
bus-width = <8>;
status = "okay";
+};
+&ohci0 {
phys = <&usb2phy 0>;
status = "okay";
+};
+&ohci3 {
status = "okay";
+};
+&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_ph_pins>;
status = "okay";
+};
+&usb2otg {
dr_mode = "host";
status = "okay";
+};
+&usb2phy {
usb0_vbus-supply = <®_vcc5v>;
status = "okay";
+}; diff --git a/configs/eachlink_h6_mini_defconfig b/configs/eachlink_h6_mini_defconfig new file mode 100644 index 0000000000..d471a24dd5 --- /dev/null +++ b/configs/eachlink_h6_mini_defconfig @@ -0,0 +1,17 @@ +CONFIG_ARM=y +CONFIG_ARCH_SUNXI=y +CONFIG_NR_DRAM_BANKS=1 +CONFIG_SPL=y +CONFIG_MACH_SUN50I_H6=y +CONFIG_DRAM_CLK=660 +CONFIG_DRAM_ZQ=3881979 +CONFIG_SUNXI_DRAM_H6_DDR3_1333=y +CONFIG_MMC0_CD_PIN="PF6" +CONFIG_MMC_SUNXI_SLOT_EXTRA=2 +# CONFIG_PSCI_RESET is not set +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +CONFIG_SPL_TEXT_BASE=0x20060
This is now the default and it's no more required.
I know, but it's not in current mainline, which this patch is against.
+# CONFIG_CMD_FLASH is not set +# CONFIG_SPL_DOS_PARTITION is not set +# CONFIG_SPL_EFI_PARTITION is not set +CONFIG_DEFAULT_DEVICE_TREE="sun50i-h6-eachlink-h6-mini"
You should also add yourself in the MAINTAINERS file for the dts and config file of the board.
Sure.
Thanks for having a look!
Cheers, Andre.
-- 2.14.5
-- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe@googlegroups.com. To view this discussion on the web, visit https://groups.google.com/d/msgid/linux-sunxi/20190619011109.2080-8-andre.pr.... For more options, visit https://groups.google.com/d/optout.