On 27/05/2019 16:02, Neil Armstrong wrote: > This patch adds basic support for : > - Amlogic G12B, which is very similar to G12A > - The HardKernel Odroid-N2 based on the S922X SoC > > The Amlogic G12B SoC is very similar with the G12A SoC, sharing > most of the features and architecture, but with these differences : > - The first CPU cluster only has 2xCortex-A53 instead of 4 > - G12B has a second cluster of 4xCortex-A73 > - Both cluster can achieve 2GHz instead of 1,8GHz for G12A > - CPU Clock architecture is difference, thus needing a different > compatible to handle this slight difference > - Supports a MIPI CSI input > - Embeds a Mali-G52 instead of a Mali-G31, but integration is the same > > Actual support is done in the same way as for the GXM support, including > the G12A dtsi and redefining the CPU clusters. > Unlike GXM, the first cluster is different, thus needing to remove > the last 2 cpu nodes of the first cluster. > > Signed-off-by: Neil Armstrong <narmstr...@baylibre.com> > --- > arch/arm64/boot/dts/amlogic/Makefile | 1 + > .../boot/dts/amlogic/meson-g12b-odroid-n2.dts | 288 ++++++++++++++++++ > arch/arm64/boot/dts/amlogic/meson-g12b.dtsi | 82 +++++ > 3 files changed, 371 insertions(+) > create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts > create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b.dtsi > > diff --git a/arch/arm64/boot/dts/amlogic/Makefile > b/arch/arm64/boot/dts/amlogic/Makefile > index e129c03ced14..07b861fe5fa5 100644 > --- a/arch/arm64/boot/dts/amlogic/Makefile > +++ b/arch/arm64/boot/dts/amlogic/Makefile > @@ -3,6 +3,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb > +dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nanopi-k2.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nexbox-a95x.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-odroidc2.dtb > diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts > b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts > new file mode 100644 > index 000000000000..48783ead8dfb > --- /dev/null > +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts > @@ -0,0 +1,288 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (c) 2019 BayLibre, SAS > + * Author: Neil Armstrong <narmstr...@baylibre.com> > + */ > + > +/dts-v1/; > +
[...] > + > + hub_5v: regulator-hub_5v { > + compatible = "regulator-fixed"; > + regulator-name = "HUB_5V"; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + vin-supply = <&vcc_5v>; > + > + /* Connected to the Hub CHIPENABLE, LOW sets low power state */ > + gpio = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + }; > + > + usb_pwr_en: regulator-usb_pwr_en { > + compatible = "regulator-fixed"; > + regulator-name = "USB_PWR_EN"; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + vin-supply = <&hub_5v>; > + > + /* Connected to the microUSB port power enable */ > + gpio = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + }; > + [...] > + > +&usb { > + status = "okay"; > + vbus-supply = <&usb_pwr_en>; > +}; > + > +&usb2_phy0 { > + phy-supply = <&vcc_5v>; > +}; > + > +&usb2_phy1 { > + phy-supply = <&vcc_5v>; > +}; In fact, I need to fixup here : usb2_phy1 needs &hub_5v and regulator-usb_pwr_en depends on &vcc_5v instead... @Martin, can I still keep your reviewed-by for v5 ? Neil > diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi > b/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi > new file mode 100644 > index 000000000000..9e88e513b22d > --- /dev/null > +++ b/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi > @@ -0,0 +1,82 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) [...] > + }; > + }; > +}; > + > +&clkc { > + compatible = "amlogic,g12b-clkc"; > +}; >