All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Neil Armstrong <narmstrong@baylibre.com>
To: Vyacheslav Bocharov <adeep@lexina.in>
Cc: linux-amlogic@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Rob Herring <robh+dt@kernel.org>,
	devicetree@vger.kernel.org
Subject: Re: [PATCH 1/2] arm64: dts: meson-axg: add support for JetHub D1p (j110)
Date: Tue, 16 Aug 2022 11:59:54 +0200	[thread overview]
Message-ID: <89777dae-34c5-3cb9-dd54-98230fd260e0@baylibre.com> (raw)
In-Reply-To: <20220811103113.3097868-2-adeep@lexina.in>

On 11/08/2022 12:31, Vyacheslav Bocharov wrote:
> - add support for JetHome JetHub D1p (https://jethome.ru/d1p) is a home
> automation controller with the following features:
>    - DIN Rail Mounting
>    - Amlogic A113X (ARM Cortex-A53) quad-core up to 1.5GHz
>    - no video out
>    - 1/2/4GB LPDDR4
>    - 8/16/32GB eMMC flash
>    - 1 x USB 2.0
>    - 1 x 10/100Mbps ethernet
>    - WiFi / Bluetooth Realtek 8822CS or similar IEEE 802.11a/b/g/n/ac
>    - TI CC2652P1 Zigbee Wireless Module with up to 20dBm output power
>      and Zigbee 3.0 support.
>    - 2 x gpio LEDS
>    - GPIO user Button
>    - 1 x 1-Wire
>    - 2 x RS-485
>    - 4 x dry contact digital GPIO inputs
>    - 3 x relay GPIO outputs
>    - DC source with a voltage of 9 to 56 V / Active POE
> 
> - unify device tree files for JetHub D1/D1p devices
> 
> Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>
> ---
>   arch/arm64/boot/dts/amlogic/Makefile          |   2 +
>   .../amlogic/meson-axg-jethome-jethub-j100.dts | 338 +----------------
>   .../meson-axg-jethome-jethub-j110-rev-2.dts   |  37 ++
>   .../meson-axg-jethome-jethub-j110-rev-3.dts   |  27 ++
>   .../meson-axg-jethome-jethub-j1xx.dtsi        | 351 ++++++++++++++++++
>   5 files changed, 421 insertions(+), 334 deletions(-)
>   create mode 100644 arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-2.dts
>   create mode 100644 arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-3.dts
>   create mode 100644 arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j1xx.dtsi
> 
> diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
> index 8773211df50e..33e9c96af099 100644
> --- a/arch/arm64/boot/dts/amlogic/Makefile
> +++ b/arch/arm64/boot/dts/amlogic/Makefile
> @@ -1,6 +1,8 @@
>   # SPDX-License-Identifier: GPL-2.0
>   dtb-$(CONFIG_ARCH_MESON) += meson-a1-ad401.dtb
>   dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j100.dtb
> +dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j110-rev-2.dtb
> +dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j110-rev-3.dtb
>   dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb
>   dtb-$(CONFIG_ARCH_MESON) += meson-g12a-radxa-zero.dtb
>   dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb
> diff --git a/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j100.dts b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j100.dts
> index 8b0d586aa84e..b2d6ba660914 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j100.dts
> +++ b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j100.dts
> @@ -1,270 +1,29 @@
>   // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
>   /*
> - * Copyright (c) 2021 Vyacheslav Bocharov <adeep@lexina.in>
> - * Copyright (c) 2020 JetHome
> - * Author: Aleksandr Kazantsev <ak@tvip.ru>
> - * Author: Alexey Shevelkin <ash@tvip.ru>
> + * Copyright (c) 2022 Vyacheslav Bocharov <adeep@lexina.in>
> + * Copyright (c) 2022 JetHome
>    * Author: Vyacheslav Bocharov <adeep@lexina.in>
>    */
>   
>   /dts-v1/;
>   
> -#include "meson-axg.dtsi"
> -#include <dt-bindings/input/input.h>
> -#include <dt-bindings/thermal/thermal.h>
> +#include "meson-axg-jethome-jethub-j1xx.dtsi"
>   
>   / {
>   	compatible = "jethome,jethub-j100", "amlogic,a113d", "amlogic,meson-axg";
> -	model = "JetHome JetHub J100";
> -	aliases {
> -		serial0 = &uart_AO;   /* Console */
> -		serial2 = &uart_AO_B; /* External UART (Wireless Module) */
> -		ethernet0 = &ethmac;
> -	};
> -
> -	chosen {
> -		stdout-path = "serial0:115200n8";
> -	};
> +	model = "JetHome JetHub D1 (J100)";
>   
>   	/* 1024MB RAM */
>   	memory@0 {
>   		device_type = "memory";
>   		reg = <0x0 0x0 0x0 0x40000000>;
>   	};
> -
> -	reserved-memory {
> -		linux,cma {
> -			size = <0x0 0x400000>;
> -		};
> -	};
> -
> -	emmc_pwrseq: emmc-pwrseq {
> -		compatible = "mmc-pwrseq-emmc";
> -		reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
> -	};
> -
> -	vcc_3v3: regulator-vcc_3v3 {
> -		compatible = "regulator-fixed";
> -		regulator-name = "VCC_3V3";
> -		regulator-min-microvolt = <3300000>;
> -		regulator-max-microvolt = <3300000>;
> -		vin-supply = <&vddao_3v3>;
> -		regulator-always-on;
> -	};
> -
> -	vcc_5v: regulator-vcc_5v {
> -		compatible = "regulator-fixed";
> -		regulator-name = "VCC5V";
> -		regulator-min-microvolt = <5000000>;
> -		regulator-max-microvolt = <5000000>;
> -		regulator-always-on;
> -	};
> -
> -	vddao_3v3: regulator-vddao_3v3 {
> -		compatible = "regulator-fixed";
> -		regulator-name = "VDDAO_3V3";
> -		regulator-min-microvolt = <3300000>;
> -		regulator-max-microvolt = <3300000>;
> -		vin-supply = <&vcc_5v>;
> -		regulator-always-on;
> -	};
> -
> -	vddio_ao18: regulator-vddio_ao18 {
> -		compatible = "regulator-fixed";
> -		regulator-name = "VDDIO_AO18";
> -		regulator-min-microvolt = <1800000>;
> -		regulator-max-microvolt = <1800000>;
> -		vin-supply = <&vddao_3v3>;
> -		regulator-always-on;
> -	};
> -
> -	vddio_boot: regulator-vddio_boot {
> -		compatible = "regulator-fixed";
> -		regulator-name = "VDDIO_BOOT";
> -		regulator-min-microvolt = <3300000>;
> -		regulator-max-microvolt = <3300000>;
> -		vin-supply = <&vddao_3v3>;
> -		regulator-always-on;
> -	};
> -
> -	vccq_1v8: regulator-vccq_1v8 {
> -		compatible = "regulator-fixed";
> -		regulator-name = "VCCQ_1V8";
> -		regulator-min-microvolt = <1800000>;
> -		regulator-max-microvolt = <1800000>;
> -		vin-supply = <&vddao_3v3>;
> -		regulator-always-on;
> -	};
> -
> -	usb_pwr: regulator-usb_pwr {
> -		compatible = "regulator-fixed";
> -		regulator-name = "USB_PWR";
> -		regulator-min-microvolt = <5000000>;
> -		regulator-max-microvolt = <5000000>;
> -		vin-supply = <&vcc_5v>;
> -		regulator-always-on;
> -	};
> -
> -	sdio_pwrseq: sdio-pwrseq {
> -		compatible = "mmc-pwrseq-simple";
> -		reset-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>;
> -		clocks = <&wifi32k>;
> -		clock-names = "ext_clock";
> -	};
> -
> -	wifi32k: wifi32k {
> -		compatible = "pwm-clock";
> -		#clock-cells = <0>;
> -		clock-frequency = <32768>;
> -		pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */
> -	};
> -
> -	thermal-zones {
> -		cpu_thermal: cpu-thermal {
> -			polling-delay-passive = <250>;
> -			polling-delay = <1000>;
> -			thermal-sensors = <&scpi_sensors 0>;
> -			trips {
> -				cpu_passive: cpu-passive {
> -					temperature = <70000>; /* millicelsius */
> -					hysteresis = <2000>; /* millicelsius */
> -					type = "passive";
> -				};
> -
> -				cpu_hot: cpu-hot {
> -					temperature = <80000>; /* millicelsius */
> -					hysteresis = <2000>; /* millicelsius */
> -					type = "hot";
> -				};
> -
> -				cpu_critical: cpu-critical {
> -					temperature = <100000>; /* millicelsius */
> -					hysteresis = <2000>; /* millicelsius */
> -					type = "critical";
> -				};
> -			};
> -
> -			cpu_cooling_maps: cooling-maps {
> -				map0 {
> -					trip = <&cpu_passive>;
> -					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> -							<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> -							<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> -							<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> -				};
> -
> -				map1 {
> -					trip = <&cpu_hot>;
> -					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> -							<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> -							<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> -							<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> -				};
> -			};
> -		};
> -	};
> -
> -	onewire {
> -		compatible = "w1-gpio";
> -		gpios = <&gpio GPIOA_14 GPIO_ACTIVE_HIGH>;
> -		#gpio-cells = <1>;
> -	};
> -};
> -
> -&efuse {
> -	sn: sn@32 {
> -		reg = <0x32 0x20>;
> -	};
> -
> -	eth_mac: eth_mac@0 {
> -		reg = <0x0 0x6>;
> -	};
> -
> -	bt_mac: bt_mac@6 {
> -		reg = <0x6 0x6>;
> -	};
> -
> -	wifi_mac: wifi_mac@c {
> -		reg = <0xc 0x6>;
> -	};
> -
> -	bid: bid@12 {
> -		reg = <0x12 0x20>;
> -	};
> -};
> -
> -&ethmac {
> -	status = "okay";
> -	pinctrl-0 = <&eth_rmii_x_pins>;
> -	pinctrl-names = "default";
> -	phy-handle = <&eth_phy0>;
> -	phy-mode = "rmii";
> -
> -	mdio {
> -		compatible = "snps,dwmac-mdio";
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -
> -		/* ICPlus IP101A/G Ethernet PHY (vendor_id=0x0243, model_id=0x0c54) */
> -		eth_phy0: ethernet-phy@0 {
> -			/* compatible = "ethernet-phy-id0243.0c54";*/
> -			max-speed = <100>;
> -			reg = <0>;
> -
> -			reset-assert-us = <10000>;
> -			reset-deassert-us = <10000>;
> -			reset-gpios = <&gpio GPIOZ_5 GPIO_ACTIVE_LOW>;
> -		};
> -	};
> -};
> -
> -/* Internal I2C bus (on CPU module) */
> -&i2c1 {
> -	status = "okay";
> -	pinctrl-0 = <&i2c1_z_pins>;
> -	pinctrl-names = "default";
> -
> -	/* RTC */
> -	pcf8563: pcf8563@51 {
> -		compatible = "nxp,pcf8563";
> -		reg = <0x51>;
> -		status = "okay";
> -	};
>   };
>   
> -/* Peripheral I2C bus (on motherboard) */
> -&i2c_AO {
> -	status = "okay";
> -	pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>;
> -	pinctrl-names = "default";
> -};
> -
> -&pwm_ab {
> -	status = "okay";
> -	pinctrl-0 = <&pwm_a_x20_pins>;
> -	pinctrl-names = "default";
> -};
>   
>   /* wifi module */
>   &sd_emmc_b {
> -	status = "okay";
> -	#address-cells = <1>;
> -	#size-cells = <0>;
> -
> -	pinctrl-0 = <&sdio_pins>;
> -	pinctrl-1 = <&sdio_clk_gate_pins>;
> -	pinctrl-names = "default", "clk-gate";
> -
> -	bus-width = <4>;
> -	cap-sd-highspeed;
> -	max-frequency = <50000000>;
>   	non-removable;
> -	disable-wp;
> -
> -	mmc-pwrseq = <&sdio_pwrseq>;
> -
> -	vmmc-supply = <&vddao_3v3>;
> -	vqmmc-supply = <&vddio_boot>;
>   
>   	brcmf: wifi@1 {
>   		reg = <1>;
> @@ -272,99 +31,10 @@ brcmf: wifi@1 {
>   	};
>   };
>   
> -/* emmc storage */
> -&sd_emmc_c {
> -	status = "okay";
> -	pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
> -	pinctrl-1 = <&emmc_clk_gate_pins>;
> -	pinctrl-names = "default", "clk-gate";
> -
> -	bus-width = <8>;
> -	cap-mmc-highspeed;
> -	max-frequency = <200000000>;
> -	non-removable;
> -	disable-wp;
> -	mmc-ddr-1_8v;
> -	mmc-hs200-1_8v;
> -
> -	mmc-pwrseq = <&emmc_pwrseq>;
> -
> -	vmmc-supply = <&vcc_3v3>;
> -	vqmmc-supply = <&vccq_1v8>;
> -};
> -
>   /* UART Bluetooth */
>   &uart_B {
> -	status = "okay";
> -	pinctrl-0 = <&uart_b_z_pins>, <&uart_b_z_cts_rts_pins>;
> -	pinctrl-names = "default";
> -	uart-has-rtscts;
> -
>   	bluetooth {
>   		compatible = "brcm,bcm43438-bt";
>   		shutdown-gpios = <&gpio GPIOZ_7 GPIO_ACTIVE_HIGH>;
>   	};
>   };
> -
> -/* UART Console */
> -&uart_AO {
> -	status = "okay";
> -	pinctrl-0 = <&uart_ao_a_pins>;
> -	pinctrl-names = "default";
> -};
> -
> -/* UART Wireless module */
> -&uart_AO_B {
> -	status = "okay";
> -	pinctrl-0 = <&uart_ao_b_pins>;
> -	pinctrl-names = "default";
> -};
> -
> -&usb {
> -	status = "okay";
> -	phy-supply = <&usb_pwr>;
> -};
> -
> -&spicc1 {
> -	status = "okay";
> -	pinctrl-0 = <&spi1_x_pins>, <&spi1_ss0_x_pins>;
> -	pinctrl-names = "default";
> -};
> -
> -&gpio {
> -	gpio-line-names =
> -		"", "", "", "", "", // 0 - 4
> -		"", "", "", "", "", // 5 - 9
> -		"UserButton", "", "", "", "", // 10 - 14
> -		"", "", "", "", "", // 15 - 19
> -		"", "", "", "", "", // 20 - 24
> -		"", "LedRed", "LedGreen", "Output3", "Output2", // 25 - 29
> -		"Output1", "", "", "", "", // 30 - 34
> -		"", "ZigBeeBOOT", "", "", "", // 35 - 39
> -		"1Wire", "ZigBeeRESET", "", "Input4", "Input3", // 40 - 44
> -		"Input2", "Input1", "", "", "", // 45 - 49
> -		"", "", "", "", "", // 50 - 54
> -		"", "", "", "", "", // 55 - 59
> -		"", "", "", "", "", // 60 - 64
> -		"", "", "", "", "", // 65 - 69
> -		"", "", "", "", "", // 70 - 74
> -		"", "", "", "", "", // 75 - 79
> -		"", "", "", "", "", // 80 - 84
> -		"", ""; // 85-86
> -};
> -
> -&cpu0 {
> -	#cooling-cells = <2>;
> -};
> -
> -&cpu1 {
> -	#cooling-cells = <2>;
> -};
> -
> -&cpu2 {
> -	#cooling-cells = <2>;
> -};
> -
> -&cpu3 {
> -	#cooling-cells = <2>;
> -};
> diff --git a/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-2.dts b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-2.dts
> new file mode 100644
> index 000000000000..0062667c4f65
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-2.dts
> @@ -0,0 +1,37 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (c) 2022 Vyacheslav Bocharov <adeep@lexina.in>
> + * Copyright (c) 2022 JetHome
> + * Author: Vyacheslav Bocharov <adeep@lexina.in>
> + */
> +
> +/dts-v1/;
> +
> +#include "meson-axg-jethome-jethub-j1xx.dtsi"
> +
> +/ {
> +	compatible = "jethome,jethub-j110", "amlogic,a113d", "amlogic,meson-axg";
> +	model = "JetHome JetHub D1p (J110) HW rev.2";
> +
> +	/* 2GiB or 4GiB RAM */
> +	memory@0 {
> +		device_type = "memory";
> +		reg = <0x0 0x0 0x0 0x80000000>;
> +	};
> +};
> +
> +
> +/* wifi module */
> +&sd_emmc_b {
> +	broken-cd;/* cd-gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>;*/
> +};
> +
> +/* UART Bluetooth */
> +&uart_B {
> +	bluetooth {
> +		compatible = "realtek,rtl8822cs-bt";
> +		enable-gpios  = <&gpio GPIOZ_7 GPIO_ACTIVE_HIGH>;
> +		host-wake-gpios = <&gpio GPIOZ_8 GPIO_ACTIVE_HIGH>;
> +		device-wake-gpios = <&gpio GPIOZ_6 GPIO_ACTIVE_HIGH>;
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-3.dts b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-3.dts
> new file mode 100644
> index 000000000000..c2d22b00c1cd
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-3.dts
> @@ -0,0 +1,27 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (c) 2022 Vyacheslav Bocharov <adeep@lexina.in>
> + * Copyright (c) 2022 JetHome
> + * Author: Vyacheslav Bocharov <adeep@lexina.in>
> + */
> +
> +/dts-v1/;
> +
> +#include "meson-axg-jethome-jethub-j1xx.dtsi"
> +
> +/ {
> +	compatible = "jethome,jethub-j110", "amlogic,a113d", "amlogic,meson-axg";
> +	model = "JetHome JetHub D1p (J110) Hw rev.3";
> +
> +	/* 2GiB or 4GiB RAM */
> +	memory@0 {
> +		device_type = "memory";
> +		reg = <0x0 0x0 0x0 0x80000000>;
> +	};
> +};
> +
> +
> +/* wifi module */
> +&sd_emmc_b {
> +	broken-cd;/* cd-gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>;*/
> +};
> diff --git a/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j1xx.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j1xx.dtsi
> new file mode 100644
> index 000000000000..5836b0030931
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j1xx.dtsi
> @@ -0,0 +1,351 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (c) 2022 Vyacheslav Bocharov <adeep@lexina.in>
> + * Copyright (c) 2022 JetHome
> + * Author: Vyacheslav Bocharov <adeep@lexina.in>
> + * Author: Aleksandr Kazantsev <ak@tvip.ru>
> + * Author: Alexey Shevelkin <ash@tvip.ru>
> + */
> +
> +/dts-v1/;
> +
> +#include "meson-axg.dtsi"
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/thermal/thermal.h>
> +
> +/ {
> +	aliases {
> +		serial0 = &uart_AO;   /* Console */
> +		serial2 = &uart_AO_B; /* External UART (Wireless Module) */
> +		ethernet0 = &ethmac;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +
> +	reserved-memory {
> +		linux,cma {
> +			size = <0x0 0x400000>;
> +		};
> +	};
> +
> +	emmc_pwrseq: emmc-pwrseq {
> +		compatible = "mmc-pwrseq-emmc";
> +		reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
> +	};
> +
> +	vcc_3v3: regulator-vcc_3v3 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VCC_3V3";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		vin-supply = <&vddao_3v3>;
> +		regulator-always-on;
> +	};
> +
> +	vcc_5v: regulator-vcc_5v {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VCC5V";
> +		regulator-min-microvolt = <5000000>;
> +		regulator-max-microvolt = <5000000>;
> +		regulator-always-on;
> +	};
> +
> +	vddao_3v3: regulator-vddao_3v3 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VDDAO_3V3";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		vin-supply = <&vcc_5v>;
> +		regulator-always-on;
> +	};
> +
> +	vddio_ao18: regulator-vddio_ao18 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VDDIO_AO18";
> +		regulator-min-microvolt = <1800000>;
> +		regulator-max-microvolt = <1800000>;
> +		vin-supply = <&vddao_3v3>;
> +		regulator-always-on;
> +	};
> +
> +	vddio_boot: regulator-vddio_boot {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VDDIO_BOOT";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		vin-supply = <&vddao_3v3>;
> +		regulator-always-on;
> +	};
> +
> +	vccq_1v8: regulator-vccq_1v8 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VCCQ_1V8";
> +		regulator-min-microvolt = <1800000>;
> +		regulator-max-microvolt = <1800000>;
> +		vin-supply = <&vddao_3v3>;
> +		regulator-always-on;
> +	};
> +
> +	usb_pwr: regulator-usb_pwr {
> +		compatible = "regulator-fixed";
> +		regulator-name = "USB_PWR";
> +		regulator-min-microvolt = <5000000>;
> +		regulator-max-microvolt = <5000000>;
> +		vin-supply = <&vcc_5v>;
> +		regulator-always-on;
> +	};
> +
> +	sdio_pwrseq: sdio-pwrseq {
> +		compatible = "mmc-pwrseq-simple";
> +		reset-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>;
> +		clocks = <&wifi32k>;
> +		clock-names = "ext_clock";
> +	};
> +
> +	wifi32k: wifi32k {
> +		compatible = "pwm-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <32768>;
> +		pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */
> +	};
> +
> +	thermal-zones {
> +		cpu_thermal: cpu-thermal {
> +			polling-delay-passive = <250>;
> +			polling-delay = <1000>;
> +			thermal-sensors = <&scpi_sensors 0>;
> +			trips {
> +				cpu_passive: cpu-passive {
> +					temperature = <70000>; /* millicelsius */
> +					hysteresis = <2000>; /* millicelsius */
> +					type = "passive";
> +				};
> +
> +				cpu_hot: cpu-hot {
> +					temperature = <80000>; /* millicelsius */
> +					hysteresis = <2000>; /* millicelsius */
> +					type = "hot";
> +				};
> +
> +				cpu_critical: cpu-critical {
> +					temperature = <100000>; /* millicelsius */
> +					hysteresis = <2000>; /* millicelsius */
> +					type = "critical";
> +				};
> +			};
> +
> +			cpu_cooling_maps: cooling-maps {
> +				map0 {
> +					trip = <&cpu_passive>;
> +					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +							<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +							<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +							<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> +				};
> +
> +				map1 {
> +					trip = <&cpu_hot>;
> +					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +							<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +							<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +							<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> +				};
> +			};
> +		};
> +	};
> +
> +	onewire {
> +		compatible = "w1-gpio";
> +		gpios = <&gpio GPIOA_14 GPIO_ACTIVE_HIGH>;
> +		#gpio-cells = <1>;
> +	};
> +};
> +
> +&efuse {
> +	sn: sn@32 {
> +		reg = <0x32 0x20>;
> +	};
> +
> +	eth_mac: eth_mac@0 {
> +		reg = <0x0 0x6>;
> +	};
> +
> +	bt_mac: bt_mac@6 {
> +		reg = <0x6 0x6>;
> +	};
> +
> +	wifi_mac: wifi_mac@c {
> +		reg = <0xc 0x6>;
> +	};
> +
> +	bid: bid@12 {
> +		reg = <0x12 0x20>;
> +	};
> +};
> +
> +&ethmac {
> +	status = "okay";
> +	pinctrl-0 = <&eth_rmii_x_pins>;
> +	pinctrl-names = "default";
> +	phy-handle = <&eth_phy0>;
> +	phy-mode = "rmii";
> +
> +	mdio {
> +		compatible = "snps,dwmac-mdio";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		/* ICPlus IP101A/G Ethernet PHY (vendor_id=0x0243, model_id=0x0c54) */
> +		eth_phy0: ethernet-phy@0 {
> +			/* compatible = "ethernet-phy-id0243.0c54";*/
> +			max-speed = <100>;
> +			reg = <0>;
> +
> +			reset-assert-us = <10000>;
> +			reset-deassert-us = <10000>;
> +			reset-gpios = <&gpio GPIOZ_5 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +};
> +
> +/* Internal I2C bus (on CPU module) */
> +&i2c1 {
> +	status = "okay";
> +	pinctrl-0 = <&i2c1_z_pins>;
> +	pinctrl-names = "default";
> +
> +	/* RTC */
> +	pcf8563: pcf8563@51 {
> +		compatible = "nxp,pcf8563";
> +		reg = <0x51>;
> +		status = "okay";
> +	};
> +};
> +
> +/* Peripheral I2C bus (on motherboard) */
> +&i2c_AO {
> +	status = "okay";
> +	pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>;
> +	pinctrl-names = "default";
> +};
> +
> +&pwm_ab {
> +	status = "okay";
> +	pinctrl-0 = <&pwm_a_x20_pins>;
> +	pinctrl-names = "default";
> +};
> +
> +/* wifi module */
> +&sd_emmc_b {
> +	status = "okay";
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +
> +	pinctrl-0 = <&sdio_pins>;
> +	pinctrl-1 = <&sdio_clk_gate_pins>;
> +	pinctrl-names = "default", "clk-gate";
> +
> +	bus-width = <4>;
> +	cap-sd-highspeed;
> +	max-frequency = <50000000>;
> +	disable-wp;
> +
> +	mmc-pwrseq = <&sdio_pwrseq>;
> +
> +	vmmc-supply = <&vddao_3v3>;
> +	vqmmc-supply = <&vddio_boot>;
> +};
> +
> +/* emmc storage */
> +&sd_emmc_c {
> +	status = "okay";
> +	pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
> +	pinctrl-1 = <&emmc_clk_gate_pins>;
> +	pinctrl-names = "default", "clk-gate";
> +
> +	bus-width = <8>;
> +	cap-mmc-highspeed;
> +	max-frequency = <200000000>;
> +	non-removable;
> +	disable-wp;
> +	mmc-ddr-1_8v;
> +	mmc-hs200-1_8v;
> +
> +	mmc-pwrseq = <&emmc_pwrseq>;
> +
> +	vmmc-supply = <&vcc_3v3>;
> +	vqmmc-supply = <&vccq_1v8>;
> +};
> +
> +/* UART Bluetooth */
> +&uart_B {
> +	status = "okay";
> +	pinctrl-0 = <&uart_b_z_pins>, <&uart_b_z_cts_rts_pins>;
> +	pinctrl-names = "default";
> +	uart-has-rtscts;
> +};
> +
> +/* UART Console */
> +&uart_AO {
> +	status = "okay";
> +	pinctrl-0 = <&uart_ao_a_pins>;
> +	pinctrl-names = "default";
> +};
> +
> +/* UART Wireless module */
> +&uart_AO_B {
> +	status = "okay";
> +	pinctrl-0 = <&uart_ao_b_pins>;
> +	pinctrl-names = "default";
> +};
> +
> +&usb {
> +	status = "okay";
> +	phy-supply = <&usb_pwr>;
> +};
> +
> +&spicc1 {
> +	status = "okay";
> +	pinctrl-0 = <&spi1_x_pins>, <&spi1_ss0_x_pins>;
> +	pinctrl-names = "default";
> +};
> +
> +&gpio {
> +	gpio-line-names =
> +		"", "", "", "", "", // 0 - 4
> +		"", "", "", "", "", // 5 - 9
> +		"UserButton", "", "", "", "", // 10 - 14
> +		"", "", "", "", "", // 15 - 19
> +		"", "", "", "", "", // 20 - 24
> +		"", "LedRed", "LedGreen", "Output3", "Output2", // 25 - 29
> +		"Output1", "", "", "", "", // 30 - 34
> +		"", "ZigBeeBOOT", "", "", "", // 35 - 39
> +		"1Wire", "ZigBeeRESET", "", "Input4", "Input3", // 40 - 44
> +		"Input2", "Input1", "", "", "", // 45 - 49
> +		"", "", "", "", "", // 50 - 54
> +		"", "", "", "", "", // 55 - 59
> +		"", "", "", "", "", // 60 - 64
> +		"", "", "", "", "", // 65 - 69
> +		"", "", "", "", "", // 70 - 74
> +		"", "", "", "", "", // 75 - 79
> +		"", "", "", "", "", // 80 - 84
> +		"", ""; // 85-86
> +};
> +
> +&cpu0 {
> +	#cooling-cells = <2>;
> +};
> +
> +&cpu1 {
> +	#cooling-cells = <2>;
> +};
> +
> +&cpu2 {
> +	#cooling-cells = <2>;
> +};
> +
> +&cpu3 {
> +	#cooling-cells = <2>;
> +};

Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Neil Armstrong <narmstrong@baylibre.com>
To: Vyacheslav Bocharov <adeep@lexina.in>
Cc: linux-amlogic@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Rob Herring <robh+dt@kernel.org>,
	devicetree@vger.kernel.org
Subject: Re: [PATCH 1/2] arm64: dts: meson-axg: add support for JetHub D1p (j110)
Date: Tue, 16 Aug 2022 11:59:54 +0200	[thread overview]
Message-ID: <89777dae-34c5-3cb9-dd54-98230fd260e0@baylibre.com> (raw)
In-Reply-To: <20220811103113.3097868-2-adeep@lexina.in>

On 11/08/2022 12:31, Vyacheslav Bocharov wrote:
> - add support for JetHome JetHub D1p (https://jethome.ru/d1p) is a home
> automation controller with the following features:
>    - DIN Rail Mounting
>    - Amlogic A113X (ARM Cortex-A53) quad-core up to 1.5GHz
>    - no video out
>    - 1/2/4GB LPDDR4
>    - 8/16/32GB eMMC flash
>    - 1 x USB 2.0
>    - 1 x 10/100Mbps ethernet
>    - WiFi / Bluetooth Realtek 8822CS or similar IEEE 802.11a/b/g/n/ac
>    - TI CC2652P1 Zigbee Wireless Module with up to 20dBm output power
>      and Zigbee 3.0 support.
>    - 2 x gpio LEDS
>    - GPIO user Button
>    - 1 x 1-Wire
>    - 2 x RS-485
>    - 4 x dry contact digital GPIO inputs
>    - 3 x relay GPIO outputs
>    - DC source with a voltage of 9 to 56 V / Active POE
> 
> - unify device tree files for JetHub D1/D1p devices
> 
> Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>
> ---
>   arch/arm64/boot/dts/amlogic/Makefile          |   2 +
>   .../amlogic/meson-axg-jethome-jethub-j100.dts | 338 +----------------
>   .../meson-axg-jethome-jethub-j110-rev-2.dts   |  37 ++
>   .../meson-axg-jethome-jethub-j110-rev-3.dts   |  27 ++
>   .../meson-axg-jethome-jethub-j1xx.dtsi        | 351 ++++++++++++++++++
>   5 files changed, 421 insertions(+), 334 deletions(-)
>   create mode 100644 arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-2.dts
>   create mode 100644 arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-3.dts
>   create mode 100644 arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j1xx.dtsi
> 
> diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
> index 8773211df50e..33e9c96af099 100644
> --- a/arch/arm64/boot/dts/amlogic/Makefile
> +++ b/arch/arm64/boot/dts/amlogic/Makefile
> @@ -1,6 +1,8 @@
>   # SPDX-License-Identifier: GPL-2.0
>   dtb-$(CONFIG_ARCH_MESON) += meson-a1-ad401.dtb
>   dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j100.dtb
> +dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j110-rev-2.dtb
> +dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j110-rev-3.dtb
>   dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb
>   dtb-$(CONFIG_ARCH_MESON) += meson-g12a-radxa-zero.dtb
>   dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb
> diff --git a/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j100.dts b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j100.dts
> index 8b0d586aa84e..b2d6ba660914 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j100.dts
> +++ b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j100.dts
> @@ -1,270 +1,29 @@
>   // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
>   /*
> - * Copyright (c) 2021 Vyacheslav Bocharov <adeep@lexina.in>
> - * Copyright (c) 2020 JetHome
> - * Author: Aleksandr Kazantsev <ak@tvip.ru>
> - * Author: Alexey Shevelkin <ash@tvip.ru>
> + * Copyright (c) 2022 Vyacheslav Bocharov <adeep@lexina.in>
> + * Copyright (c) 2022 JetHome
>    * Author: Vyacheslav Bocharov <adeep@lexina.in>
>    */
>   
>   /dts-v1/;
>   
> -#include "meson-axg.dtsi"
> -#include <dt-bindings/input/input.h>
> -#include <dt-bindings/thermal/thermal.h>
> +#include "meson-axg-jethome-jethub-j1xx.dtsi"
>   
>   / {
>   	compatible = "jethome,jethub-j100", "amlogic,a113d", "amlogic,meson-axg";
> -	model = "JetHome JetHub J100";
> -	aliases {
> -		serial0 = &uart_AO;   /* Console */
> -		serial2 = &uart_AO_B; /* External UART (Wireless Module) */
> -		ethernet0 = &ethmac;
> -	};
> -
> -	chosen {
> -		stdout-path = "serial0:115200n8";
> -	};
> +	model = "JetHome JetHub D1 (J100)";
>   
>   	/* 1024MB RAM */
>   	memory@0 {
>   		device_type = "memory";
>   		reg = <0x0 0x0 0x0 0x40000000>;
>   	};
> -
> -	reserved-memory {
> -		linux,cma {
> -			size = <0x0 0x400000>;
> -		};
> -	};
> -
> -	emmc_pwrseq: emmc-pwrseq {
> -		compatible = "mmc-pwrseq-emmc";
> -		reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
> -	};
> -
> -	vcc_3v3: regulator-vcc_3v3 {
> -		compatible = "regulator-fixed";
> -		regulator-name = "VCC_3V3";
> -		regulator-min-microvolt = <3300000>;
> -		regulator-max-microvolt = <3300000>;
> -		vin-supply = <&vddao_3v3>;
> -		regulator-always-on;
> -	};
> -
> -	vcc_5v: regulator-vcc_5v {
> -		compatible = "regulator-fixed";
> -		regulator-name = "VCC5V";
> -		regulator-min-microvolt = <5000000>;
> -		regulator-max-microvolt = <5000000>;
> -		regulator-always-on;
> -	};
> -
> -	vddao_3v3: regulator-vddao_3v3 {
> -		compatible = "regulator-fixed";
> -		regulator-name = "VDDAO_3V3";
> -		regulator-min-microvolt = <3300000>;
> -		regulator-max-microvolt = <3300000>;
> -		vin-supply = <&vcc_5v>;
> -		regulator-always-on;
> -	};
> -
> -	vddio_ao18: regulator-vddio_ao18 {
> -		compatible = "regulator-fixed";
> -		regulator-name = "VDDIO_AO18";
> -		regulator-min-microvolt = <1800000>;
> -		regulator-max-microvolt = <1800000>;
> -		vin-supply = <&vddao_3v3>;
> -		regulator-always-on;
> -	};
> -
> -	vddio_boot: regulator-vddio_boot {
> -		compatible = "regulator-fixed";
> -		regulator-name = "VDDIO_BOOT";
> -		regulator-min-microvolt = <3300000>;
> -		regulator-max-microvolt = <3300000>;
> -		vin-supply = <&vddao_3v3>;
> -		regulator-always-on;
> -	};
> -
> -	vccq_1v8: regulator-vccq_1v8 {
> -		compatible = "regulator-fixed";
> -		regulator-name = "VCCQ_1V8";
> -		regulator-min-microvolt = <1800000>;
> -		regulator-max-microvolt = <1800000>;
> -		vin-supply = <&vddao_3v3>;
> -		regulator-always-on;
> -	};
> -
> -	usb_pwr: regulator-usb_pwr {
> -		compatible = "regulator-fixed";
> -		regulator-name = "USB_PWR";
> -		regulator-min-microvolt = <5000000>;
> -		regulator-max-microvolt = <5000000>;
> -		vin-supply = <&vcc_5v>;
> -		regulator-always-on;
> -	};
> -
> -	sdio_pwrseq: sdio-pwrseq {
> -		compatible = "mmc-pwrseq-simple";
> -		reset-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>;
> -		clocks = <&wifi32k>;
> -		clock-names = "ext_clock";
> -	};
> -
> -	wifi32k: wifi32k {
> -		compatible = "pwm-clock";
> -		#clock-cells = <0>;
> -		clock-frequency = <32768>;
> -		pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */
> -	};
> -
> -	thermal-zones {
> -		cpu_thermal: cpu-thermal {
> -			polling-delay-passive = <250>;
> -			polling-delay = <1000>;
> -			thermal-sensors = <&scpi_sensors 0>;
> -			trips {
> -				cpu_passive: cpu-passive {
> -					temperature = <70000>; /* millicelsius */
> -					hysteresis = <2000>; /* millicelsius */
> -					type = "passive";
> -				};
> -
> -				cpu_hot: cpu-hot {
> -					temperature = <80000>; /* millicelsius */
> -					hysteresis = <2000>; /* millicelsius */
> -					type = "hot";
> -				};
> -
> -				cpu_critical: cpu-critical {
> -					temperature = <100000>; /* millicelsius */
> -					hysteresis = <2000>; /* millicelsius */
> -					type = "critical";
> -				};
> -			};
> -
> -			cpu_cooling_maps: cooling-maps {
> -				map0 {
> -					trip = <&cpu_passive>;
> -					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> -							<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> -							<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> -							<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> -				};
> -
> -				map1 {
> -					trip = <&cpu_hot>;
> -					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> -							<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> -							<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> -							<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> -				};
> -			};
> -		};
> -	};
> -
> -	onewire {
> -		compatible = "w1-gpio";
> -		gpios = <&gpio GPIOA_14 GPIO_ACTIVE_HIGH>;
> -		#gpio-cells = <1>;
> -	};
> -};
> -
> -&efuse {
> -	sn: sn@32 {
> -		reg = <0x32 0x20>;
> -	};
> -
> -	eth_mac: eth_mac@0 {
> -		reg = <0x0 0x6>;
> -	};
> -
> -	bt_mac: bt_mac@6 {
> -		reg = <0x6 0x6>;
> -	};
> -
> -	wifi_mac: wifi_mac@c {
> -		reg = <0xc 0x6>;
> -	};
> -
> -	bid: bid@12 {
> -		reg = <0x12 0x20>;
> -	};
> -};
> -
> -&ethmac {
> -	status = "okay";
> -	pinctrl-0 = <&eth_rmii_x_pins>;
> -	pinctrl-names = "default";
> -	phy-handle = <&eth_phy0>;
> -	phy-mode = "rmii";
> -
> -	mdio {
> -		compatible = "snps,dwmac-mdio";
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -
> -		/* ICPlus IP101A/G Ethernet PHY (vendor_id=0x0243, model_id=0x0c54) */
> -		eth_phy0: ethernet-phy@0 {
> -			/* compatible = "ethernet-phy-id0243.0c54";*/
> -			max-speed = <100>;
> -			reg = <0>;
> -
> -			reset-assert-us = <10000>;
> -			reset-deassert-us = <10000>;
> -			reset-gpios = <&gpio GPIOZ_5 GPIO_ACTIVE_LOW>;
> -		};
> -	};
> -};
> -
> -/* Internal I2C bus (on CPU module) */
> -&i2c1 {
> -	status = "okay";
> -	pinctrl-0 = <&i2c1_z_pins>;
> -	pinctrl-names = "default";
> -
> -	/* RTC */
> -	pcf8563: pcf8563@51 {
> -		compatible = "nxp,pcf8563";
> -		reg = <0x51>;
> -		status = "okay";
> -	};
>   };
>   
> -/* Peripheral I2C bus (on motherboard) */
> -&i2c_AO {
> -	status = "okay";
> -	pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>;
> -	pinctrl-names = "default";
> -};
> -
> -&pwm_ab {
> -	status = "okay";
> -	pinctrl-0 = <&pwm_a_x20_pins>;
> -	pinctrl-names = "default";
> -};
>   
>   /* wifi module */
>   &sd_emmc_b {
> -	status = "okay";
> -	#address-cells = <1>;
> -	#size-cells = <0>;
> -
> -	pinctrl-0 = <&sdio_pins>;
> -	pinctrl-1 = <&sdio_clk_gate_pins>;
> -	pinctrl-names = "default", "clk-gate";
> -
> -	bus-width = <4>;
> -	cap-sd-highspeed;
> -	max-frequency = <50000000>;
>   	non-removable;
> -	disable-wp;
> -
> -	mmc-pwrseq = <&sdio_pwrseq>;
> -
> -	vmmc-supply = <&vddao_3v3>;
> -	vqmmc-supply = <&vddio_boot>;
>   
>   	brcmf: wifi@1 {
>   		reg = <1>;
> @@ -272,99 +31,10 @@ brcmf: wifi@1 {
>   	};
>   };
>   
> -/* emmc storage */
> -&sd_emmc_c {
> -	status = "okay";
> -	pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
> -	pinctrl-1 = <&emmc_clk_gate_pins>;
> -	pinctrl-names = "default", "clk-gate";
> -
> -	bus-width = <8>;
> -	cap-mmc-highspeed;
> -	max-frequency = <200000000>;
> -	non-removable;
> -	disable-wp;
> -	mmc-ddr-1_8v;
> -	mmc-hs200-1_8v;
> -
> -	mmc-pwrseq = <&emmc_pwrseq>;
> -
> -	vmmc-supply = <&vcc_3v3>;
> -	vqmmc-supply = <&vccq_1v8>;
> -};
> -
>   /* UART Bluetooth */
>   &uart_B {
> -	status = "okay";
> -	pinctrl-0 = <&uart_b_z_pins>, <&uart_b_z_cts_rts_pins>;
> -	pinctrl-names = "default";
> -	uart-has-rtscts;
> -
>   	bluetooth {
>   		compatible = "brcm,bcm43438-bt";
>   		shutdown-gpios = <&gpio GPIOZ_7 GPIO_ACTIVE_HIGH>;
>   	};
>   };
> -
> -/* UART Console */
> -&uart_AO {
> -	status = "okay";
> -	pinctrl-0 = <&uart_ao_a_pins>;
> -	pinctrl-names = "default";
> -};
> -
> -/* UART Wireless module */
> -&uart_AO_B {
> -	status = "okay";
> -	pinctrl-0 = <&uart_ao_b_pins>;
> -	pinctrl-names = "default";
> -};
> -
> -&usb {
> -	status = "okay";
> -	phy-supply = <&usb_pwr>;
> -};
> -
> -&spicc1 {
> -	status = "okay";
> -	pinctrl-0 = <&spi1_x_pins>, <&spi1_ss0_x_pins>;
> -	pinctrl-names = "default";
> -};
> -
> -&gpio {
> -	gpio-line-names =
> -		"", "", "", "", "", // 0 - 4
> -		"", "", "", "", "", // 5 - 9
> -		"UserButton", "", "", "", "", // 10 - 14
> -		"", "", "", "", "", // 15 - 19
> -		"", "", "", "", "", // 20 - 24
> -		"", "LedRed", "LedGreen", "Output3", "Output2", // 25 - 29
> -		"Output1", "", "", "", "", // 30 - 34
> -		"", "ZigBeeBOOT", "", "", "", // 35 - 39
> -		"1Wire", "ZigBeeRESET", "", "Input4", "Input3", // 40 - 44
> -		"Input2", "Input1", "", "", "", // 45 - 49
> -		"", "", "", "", "", // 50 - 54
> -		"", "", "", "", "", // 55 - 59
> -		"", "", "", "", "", // 60 - 64
> -		"", "", "", "", "", // 65 - 69
> -		"", "", "", "", "", // 70 - 74
> -		"", "", "", "", "", // 75 - 79
> -		"", "", "", "", "", // 80 - 84
> -		"", ""; // 85-86
> -};
> -
> -&cpu0 {
> -	#cooling-cells = <2>;
> -};
> -
> -&cpu1 {
> -	#cooling-cells = <2>;
> -};
> -
> -&cpu2 {
> -	#cooling-cells = <2>;
> -};
> -
> -&cpu3 {
> -	#cooling-cells = <2>;
> -};
> diff --git a/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-2.dts b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-2.dts
> new file mode 100644
> index 000000000000..0062667c4f65
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-2.dts
> @@ -0,0 +1,37 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (c) 2022 Vyacheslav Bocharov <adeep@lexina.in>
> + * Copyright (c) 2022 JetHome
> + * Author: Vyacheslav Bocharov <adeep@lexina.in>
> + */
> +
> +/dts-v1/;
> +
> +#include "meson-axg-jethome-jethub-j1xx.dtsi"
> +
> +/ {
> +	compatible = "jethome,jethub-j110", "amlogic,a113d", "amlogic,meson-axg";
> +	model = "JetHome JetHub D1p (J110) HW rev.2";
> +
> +	/* 2GiB or 4GiB RAM */
> +	memory@0 {
> +		device_type = "memory";
> +		reg = <0x0 0x0 0x0 0x80000000>;
> +	};
> +};
> +
> +
> +/* wifi module */
> +&sd_emmc_b {
> +	broken-cd;/* cd-gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>;*/
> +};
> +
> +/* UART Bluetooth */
> +&uart_B {
> +	bluetooth {
> +		compatible = "realtek,rtl8822cs-bt";
> +		enable-gpios  = <&gpio GPIOZ_7 GPIO_ACTIVE_HIGH>;
> +		host-wake-gpios = <&gpio GPIOZ_8 GPIO_ACTIVE_HIGH>;
> +		device-wake-gpios = <&gpio GPIOZ_6 GPIO_ACTIVE_HIGH>;
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-3.dts b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-3.dts
> new file mode 100644
> index 000000000000..c2d22b00c1cd
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-3.dts
> @@ -0,0 +1,27 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (c) 2022 Vyacheslav Bocharov <adeep@lexina.in>
> + * Copyright (c) 2022 JetHome
> + * Author: Vyacheslav Bocharov <adeep@lexina.in>
> + */
> +
> +/dts-v1/;
> +
> +#include "meson-axg-jethome-jethub-j1xx.dtsi"
> +
> +/ {
> +	compatible = "jethome,jethub-j110", "amlogic,a113d", "amlogic,meson-axg";
> +	model = "JetHome JetHub D1p (J110) Hw rev.3";
> +
> +	/* 2GiB or 4GiB RAM */
> +	memory@0 {
> +		device_type = "memory";
> +		reg = <0x0 0x0 0x0 0x80000000>;
> +	};
> +};
> +
> +
> +/* wifi module */
> +&sd_emmc_b {
> +	broken-cd;/* cd-gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>;*/
> +};
> diff --git a/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j1xx.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j1xx.dtsi
> new file mode 100644
> index 000000000000..5836b0030931
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j1xx.dtsi
> @@ -0,0 +1,351 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (c) 2022 Vyacheslav Bocharov <adeep@lexina.in>
> + * Copyright (c) 2022 JetHome
> + * Author: Vyacheslav Bocharov <adeep@lexina.in>
> + * Author: Aleksandr Kazantsev <ak@tvip.ru>
> + * Author: Alexey Shevelkin <ash@tvip.ru>
> + */
> +
> +/dts-v1/;
> +
> +#include "meson-axg.dtsi"
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/thermal/thermal.h>
> +
> +/ {
> +	aliases {
> +		serial0 = &uart_AO;   /* Console */
> +		serial2 = &uart_AO_B; /* External UART (Wireless Module) */
> +		ethernet0 = &ethmac;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +
> +	reserved-memory {
> +		linux,cma {
> +			size = <0x0 0x400000>;
> +		};
> +	};
> +
> +	emmc_pwrseq: emmc-pwrseq {
> +		compatible = "mmc-pwrseq-emmc";
> +		reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
> +	};
> +
> +	vcc_3v3: regulator-vcc_3v3 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VCC_3V3";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		vin-supply = <&vddao_3v3>;
> +		regulator-always-on;
> +	};
> +
> +	vcc_5v: regulator-vcc_5v {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VCC5V";
> +		regulator-min-microvolt = <5000000>;
> +		regulator-max-microvolt = <5000000>;
> +		regulator-always-on;
> +	};
> +
> +	vddao_3v3: regulator-vddao_3v3 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VDDAO_3V3";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		vin-supply = <&vcc_5v>;
> +		regulator-always-on;
> +	};
> +
> +	vddio_ao18: regulator-vddio_ao18 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VDDIO_AO18";
> +		regulator-min-microvolt = <1800000>;
> +		regulator-max-microvolt = <1800000>;
> +		vin-supply = <&vddao_3v3>;
> +		regulator-always-on;
> +	};
> +
> +	vddio_boot: regulator-vddio_boot {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VDDIO_BOOT";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		vin-supply = <&vddao_3v3>;
> +		regulator-always-on;
> +	};
> +
> +	vccq_1v8: regulator-vccq_1v8 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VCCQ_1V8";
> +		regulator-min-microvolt = <1800000>;
> +		regulator-max-microvolt = <1800000>;
> +		vin-supply = <&vddao_3v3>;
> +		regulator-always-on;
> +	};
> +
> +	usb_pwr: regulator-usb_pwr {
> +		compatible = "regulator-fixed";
> +		regulator-name = "USB_PWR";
> +		regulator-min-microvolt = <5000000>;
> +		regulator-max-microvolt = <5000000>;
> +		vin-supply = <&vcc_5v>;
> +		regulator-always-on;
> +	};
> +
> +	sdio_pwrseq: sdio-pwrseq {
> +		compatible = "mmc-pwrseq-simple";
> +		reset-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>;
> +		clocks = <&wifi32k>;
> +		clock-names = "ext_clock";
> +	};
> +
> +	wifi32k: wifi32k {
> +		compatible = "pwm-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <32768>;
> +		pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */
> +	};
> +
> +	thermal-zones {
> +		cpu_thermal: cpu-thermal {
> +			polling-delay-passive = <250>;
> +			polling-delay = <1000>;
> +			thermal-sensors = <&scpi_sensors 0>;
> +			trips {
> +				cpu_passive: cpu-passive {
> +					temperature = <70000>; /* millicelsius */
> +					hysteresis = <2000>; /* millicelsius */
> +					type = "passive";
> +				};
> +
> +				cpu_hot: cpu-hot {
> +					temperature = <80000>; /* millicelsius */
> +					hysteresis = <2000>; /* millicelsius */
> +					type = "hot";
> +				};
> +
> +				cpu_critical: cpu-critical {
> +					temperature = <100000>; /* millicelsius */
> +					hysteresis = <2000>; /* millicelsius */
> +					type = "critical";
> +				};
> +			};
> +
> +			cpu_cooling_maps: cooling-maps {
> +				map0 {
> +					trip = <&cpu_passive>;
> +					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +							<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +							<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +							<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> +				};
> +
> +				map1 {
> +					trip = <&cpu_hot>;
> +					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +							<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +							<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +							<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> +				};
> +			};
> +		};
> +	};
> +
> +	onewire {
> +		compatible = "w1-gpio";
> +		gpios = <&gpio GPIOA_14 GPIO_ACTIVE_HIGH>;
> +		#gpio-cells = <1>;
> +	};
> +};
> +
> +&efuse {
> +	sn: sn@32 {
> +		reg = <0x32 0x20>;
> +	};
> +
> +	eth_mac: eth_mac@0 {
> +		reg = <0x0 0x6>;
> +	};
> +
> +	bt_mac: bt_mac@6 {
> +		reg = <0x6 0x6>;
> +	};
> +
> +	wifi_mac: wifi_mac@c {
> +		reg = <0xc 0x6>;
> +	};
> +
> +	bid: bid@12 {
> +		reg = <0x12 0x20>;
> +	};
> +};
> +
> +&ethmac {
> +	status = "okay";
> +	pinctrl-0 = <&eth_rmii_x_pins>;
> +	pinctrl-names = "default";
> +	phy-handle = <&eth_phy0>;
> +	phy-mode = "rmii";
> +
> +	mdio {
> +		compatible = "snps,dwmac-mdio";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		/* ICPlus IP101A/G Ethernet PHY (vendor_id=0x0243, model_id=0x0c54) */
> +		eth_phy0: ethernet-phy@0 {
> +			/* compatible = "ethernet-phy-id0243.0c54";*/
> +			max-speed = <100>;
> +			reg = <0>;
> +
> +			reset-assert-us = <10000>;
> +			reset-deassert-us = <10000>;
> +			reset-gpios = <&gpio GPIOZ_5 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +};
> +
> +/* Internal I2C bus (on CPU module) */
> +&i2c1 {
> +	status = "okay";
> +	pinctrl-0 = <&i2c1_z_pins>;
> +	pinctrl-names = "default";
> +
> +	/* RTC */
> +	pcf8563: pcf8563@51 {
> +		compatible = "nxp,pcf8563";
> +		reg = <0x51>;
> +		status = "okay";
> +	};
> +};
> +
> +/* Peripheral I2C bus (on motherboard) */
> +&i2c_AO {
> +	status = "okay";
> +	pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>;
> +	pinctrl-names = "default";
> +};
> +
> +&pwm_ab {
> +	status = "okay";
> +	pinctrl-0 = <&pwm_a_x20_pins>;
> +	pinctrl-names = "default";
> +};
> +
> +/* wifi module */
> +&sd_emmc_b {
> +	status = "okay";
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +
> +	pinctrl-0 = <&sdio_pins>;
> +	pinctrl-1 = <&sdio_clk_gate_pins>;
> +	pinctrl-names = "default", "clk-gate";
> +
> +	bus-width = <4>;
> +	cap-sd-highspeed;
> +	max-frequency = <50000000>;
> +	disable-wp;
> +
> +	mmc-pwrseq = <&sdio_pwrseq>;
> +
> +	vmmc-supply = <&vddao_3v3>;
> +	vqmmc-supply = <&vddio_boot>;
> +};
> +
> +/* emmc storage */
> +&sd_emmc_c {
> +	status = "okay";
> +	pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
> +	pinctrl-1 = <&emmc_clk_gate_pins>;
> +	pinctrl-names = "default", "clk-gate";
> +
> +	bus-width = <8>;
> +	cap-mmc-highspeed;
> +	max-frequency = <200000000>;
> +	non-removable;
> +	disable-wp;
> +	mmc-ddr-1_8v;
> +	mmc-hs200-1_8v;
> +
> +	mmc-pwrseq = <&emmc_pwrseq>;
> +
> +	vmmc-supply = <&vcc_3v3>;
> +	vqmmc-supply = <&vccq_1v8>;
> +};
> +
> +/* UART Bluetooth */
> +&uart_B {
> +	status = "okay";
> +	pinctrl-0 = <&uart_b_z_pins>, <&uart_b_z_cts_rts_pins>;
> +	pinctrl-names = "default";
> +	uart-has-rtscts;
> +};
> +
> +/* UART Console */
> +&uart_AO {
> +	status = "okay";
> +	pinctrl-0 = <&uart_ao_a_pins>;
> +	pinctrl-names = "default";
> +};
> +
> +/* UART Wireless module */
> +&uart_AO_B {
> +	status = "okay";
> +	pinctrl-0 = <&uart_ao_b_pins>;
> +	pinctrl-names = "default";
> +};
> +
> +&usb {
> +	status = "okay";
> +	phy-supply = <&usb_pwr>;
> +};
> +
> +&spicc1 {
> +	status = "okay";
> +	pinctrl-0 = <&spi1_x_pins>, <&spi1_ss0_x_pins>;
> +	pinctrl-names = "default";
> +};
> +
> +&gpio {
> +	gpio-line-names =
> +		"", "", "", "", "", // 0 - 4
> +		"", "", "", "", "", // 5 - 9
> +		"UserButton", "", "", "", "", // 10 - 14
> +		"", "", "", "", "", // 15 - 19
> +		"", "", "", "", "", // 20 - 24
> +		"", "LedRed", "LedGreen", "Output3", "Output2", // 25 - 29
> +		"Output1", "", "", "", "", // 30 - 34
> +		"", "ZigBeeBOOT", "", "", "", // 35 - 39
> +		"1Wire", "ZigBeeRESET", "", "Input4", "Input3", // 40 - 44
> +		"Input2", "Input1", "", "", "", // 45 - 49
> +		"", "", "", "", "", // 50 - 54
> +		"", "", "", "", "", // 55 - 59
> +		"", "", "", "", "", // 60 - 64
> +		"", "", "", "", "", // 65 - 69
> +		"", "", "", "", "", // 70 - 74
> +		"", "", "", "", "", // 75 - 79
> +		"", "", "", "", "", // 80 - 84
> +		"", ""; // 85-86
> +};
> +
> +&cpu0 {
> +	#cooling-cells = <2>;
> +};
> +
> +&cpu1 {
> +	#cooling-cells = <2>;
> +};
> +
> +&cpu2 {
> +	#cooling-cells = <2>;
> +};
> +
> +&cpu3 {
> +	#cooling-cells = <2>;
> +};

Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

WARNING: multiple messages have this Message-ID (diff)
From: Neil Armstrong <narmstrong@baylibre.com>
To: Vyacheslav Bocharov <adeep@lexina.in>
Cc: linux-amlogic@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Rob Herring <robh+dt@kernel.org>,
	devicetree@vger.kernel.org
Subject: Re: [PATCH 1/2] arm64: dts: meson-axg: add support for JetHub D1p (j110)
Date: Tue, 16 Aug 2022 11:59:54 +0200	[thread overview]
Message-ID: <89777dae-34c5-3cb9-dd54-98230fd260e0@baylibre.com> (raw)
In-Reply-To: <20220811103113.3097868-2-adeep@lexina.in>

On 11/08/2022 12:31, Vyacheslav Bocharov wrote:
> - add support for JetHome JetHub D1p (https://jethome.ru/d1p) is a home
> automation controller with the following features:
>    - DIN Rail Mounting
>    - Amlogic A113X (ARM Cortex-A53) quad-core up to 1.5GHz
>    - no video out
>    - 1/2/4GB LPDDR4
>    - 8/16/32GB eMMC flash
>    - 1 x USB 2.0
>    - 1 x 10/100Mbps ethernet
>    - WiFi / Bluetooth Realtek 8822CS or similar IEEE 802.11a/b/g/n/ac
>    - TI CC2652P1 Zigbee Wireless Module with up to 20dBm output power
>      and Zigbee 3.0 support.
>    - 2 x gpio LEDS
>    - GPIO user Button
>    - 1 x 1-Wire
>    - 2 x RS-485
>    - 4 x dry contact digital GPIO inputs
>    - 3 x relay GPIO outputs
>    - DC source with a voltage of 9 to 56 V / Active POE
> 
> - unify device tree files for JetHub D1/D1p devices
> 
> Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>
> ---
>   arch/arm64/boot/dts/amlogic/Makefile          |   2 +
>   .../amlogic/meson-axg-jethome-jethub-j100.dts | 338 +----------------
>   .../meson-axg-jethome-jethub-j110-rev-2.dts   |  37 ++
>   .../meson-axg-jethome-jethub-j110-rev-3.dts   |  27 ++
>   .../meson-axg-jethome-jethub-j1xx.dtsi        | 351 ++++++++++++++++++
>   5 files changed, 421 insertions(+), 334 deletions(-)
>   create mode 100644 arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-2.dts
>   create mode 100644 arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-3.dts
>   create mode 100644 arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j1xx.dtsi
> 
> diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
> index 8773211df50e..33e9c96af099 100644
> --- a/arch/arm64/boot/dts/amlogic/Makefile
> +++ b/arch/arm64/boot/dts/amlogic/Makefile
> @@ -1,6 +1,8 @@
>   # SPDX-License-Identifier: GPL-2.0
>   dtb-$(CONFIG_ARCH_MESON) += meson-a1-ad401.dtb
>   dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j100.dtb
> +dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j110-rev-2.dtb
> +dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j110-rev-3.dtb
>   dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb
>   dtb-$(CONFIG_ARCH_MESON) += meson-g12a-radxa-zero.dtb
>   dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb
> diff --git a/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j100.dts b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j100.dts
> index 8b0d586aa84e..b2d6ba660914 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j100.dts
> +++ b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j100.dts
> @@ -1,270 +1,29 @@
>   // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
>   /*
> - * Copyright (c) 2021 Vyacheslav Bocharov <adeep@lexina.in>
> - * Copyright (c) 2020 JetHome
> - * Author: Aleksandr Kazantsev <ak@tvip.ru>
> - * Author: Alexey Shevelkin <ash@tvip.ru>
> + * Copyright (c) 2022 Vyacheslav Bocharov <adeep@lexina.in>
> + * Copyright (c) 2022 JetHome
>    * Author: Vyacheslav Bocharov <adeep@lexina.in>
>    */
>   
>   /dts-v1/;
>   
> -#include "meson-axg.dtsi"
> -#include <dt-bindings/input/input.h>
> -#include <dt-bindings/thermal/thermal.h>
> +#include "meson-axg-jethome-jethub-j1xx.dtsi"
>   
>   / {
>   	compatible = "jethome,jethub-j100", "amlogic,a113d", "amlogic,meson-axg";
> -	model = "JetHome JetHub J100";
> -	aliases {
> -		serial0 = &uart_AO;   /* Console */
> -		serial2 = &uart_AO_B; /* External UART (Wireless Module) */
> -		ethernet0 = &ethmac;
> -	};
> -
> -	chosen {
> -		stdout-path = "serial0:115200n8";
> -	};
> +	model = "JetHome JetHub D1 (J100)";
>   
>   	/* 1024MB RAM */
>   	memory@0 {
>   		device_type = "memory";
>   		reg = <0x0 0x0 0x0 0x40000000>;
>   	};
> -
> -	reserved-memory {
> -		linux,cma {
> -			size = <0x0 0x400000>;
> -		};
> -	};
> -
> -	emmc_pwrseq: emmc-pwrseq {
> -		compatible = "mmc-pwrseq-emmc";
> -		reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
> -	};
> -
> -	vcc_3v3: regulator-vcc_3v3 {
> -		compatible = "regulator-fixed";
> -		regulator-name = "VCC_3V3";
> -		regulator-min-microvolt = <3300000>;
> -		regulator-max-microvolt = <3300000>;
> -		vin-supply = <&vddao_3v3>;
> -		regulator-always-on;
> -	};
> -
> -	vcc_5v: regulator-vcc_5v {
> -		compatible = "regulator-fixed";
> -		regulator-name = "VCC5V";
> -		regulator-min-microvolt = <5000000>;
> -		regulator-max-microvolt = <5000000>;
> -		regulator-always-on;
> -	};
> -
> -	vddao_3v3: regulator-vddao_3v3 {
> -		compatible = "regulator-fixed";
> -		regulator-name = "VDDAO_3V3";
> -		regulator-min-microvolt = <3300000>;
> -		regulator-max-microvolt = <3300000>;
> -		vin-supply = <&vcc_5v>;
> -		regulator-always-on;
> -	};
> -
> -	vddio_ao18: regulator-vddio_ao18 {
> -		compatible = "regulator-fixed";
> -		regulator-name = "VDDIO_AO18";
> -		regulator-min-microvolt = <1800000>;
> -		regulator-max-microvolt = <1800000>;
> -		vin-supply = <&vddao_3v3>;
> -		regulator-always-on;
> -	};
> -
> -	vddio_boot: regulator-vddio_boot {
> -		compatible = "regulator-fixed";
> -		regulator-name = "VDDIO_BOOT";
> -		regulator-min-microvolt = <3300000>;
> -		regulator-max-microvolt = <3300000>;
> -		vin-supply = <&vddao_3v3>;
> -		regulator-always-on;
> -	};
> -
> -	vccq_1v8: regulator-vccq_1v8 {
> -		compatible = "regulator-fixed";
> -		regulator-name = "VCCQ_1V8";
> -		regulator-min-microvolt = <1800000>;
> -		regulator-max-microvolt = <1800000>;
> -		vin-supply = <&vddao_3v3>;
> -		regulator-always-on;
> -	};
> -
> -	usb_pwr: regulator-usb_pwr {
> -		compatible = "regulator-fixed";
> -		regulator-name = "USB_PWR";
> -		regulator-min-microvolt = <5000000>;
> -		regulator-max-microvolt = <5000000>;
> -		vin-supply = <&vcc_5v>;
> -		regulator-always-on;
> -	};
> -
> -	sdio_pwrseq: sdio-pwrseq {
> -		compatible = "mmc-pwrseq-simple";
> -		reset-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>;
> -		clocks = <&wifi32k>;
> -		clock-names = "ext_clock";
> -	};
> -
> -	wifi32k: wifi32k {
> -		compatible = "pwm-clock";
> -		#clock-cells = <0>;
> -		clock-frequency = <32768>;
> -		pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */
> -	};
> -
> -	thermal-zones {
> -		cpu_thermal: cpu-thermal {
> -			polling-delay-passive = <250>;
> -			polling-delay = <1000>;
> -			thermal-sensors = <&scpi_sensors 0>;
> -			trips {
> -				cpu_passive: cpu-passive {
> -					temperature = <70000>; /* millicelsius */
> -					hysteresis = <2000>; /* millicelsius */
> -					type = "passive";
> -				};
> -
> -				cpu_hot: cpu-hot {
> -					temperature = <80000>; /* millicelsius */
> -					hysteresis = <2000>; /* millicelsius */
> -					type = "hot";
> -				};
> -
> -				cpu_critical: cpu-critical {
> -					temperature = <100000>; /* millicelsius */
> -					hysteresis = <2000>; /* millicelsius */
> -					type = "critical";
> -				};
> -			};
> -
> -			cpu_cooling_maps: cooling-maps {
> -				map0 {
> -					trip = <&cpu_passive>;
> -					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> -							<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> -							<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> -							<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> -				};
> -
> -				map1 {
> -					trip = <&cpu_hot>;
> -					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> -							<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> -							<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> -							<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> -				};
> -			};
> -		};
> -	};
> -
> -	onewire {
> -		compatible = "w1-gpio";
> -		gpios = <&gpio GPIOA_14 GPIO_ACTIVE_HIGH>;
> -		#gpio-cells = <1>;
> -	};
> -};
> -
> -&efuse {
> -	sn: sn@32 {
> -		reg = <0x32 0x20>;
> -	};
> -
> -	eth_mac: eth_mac@0 {
> -		reg = <0x0 0x6>;
> -	};
> -
> -	bt_mac: bt_mac@6 {
> -		reg = <0x6 0x6>;
> -	};
> -
> -	wifi_mac: wifi_mac@c {
> -		reg = <0xc 0x6>;
> -	};
> -
> -	bid: bid@12 {
> -		reg = <0x12 0x20>;
> -	};
> -};
> -
> -&ethmac {
> -	status = "okay";
> -	pinctrl-0 = <&eth_rmii_x_pins>;
> -	pinctrl-names = "default";
> -	phy-handle = <&eth_phy0>;
> -	phy-mode = "rmii";
> -
> -	mdio {
> -		compatible = "snps,dwmac-mdio";
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -
> -		/* ICPlus IP101A/G Ethernet PHY (vendor_id=0x0243, model_id=0x0c54) */
> -		eth_phy0: ethernet-phy@0 {
> -			/* compatible = "ethernet-phy-id0243.0c54";*/
> -			max-speed = <100>;
> -			reg = <0>;
> -
> -			reset-assert-us = <10000>;
> -			reset-deassert-us = <10000>;
> -			reset-gpios = <&gpio GPIOZ_5 GPIO_ACTIVE_LOW>;
> -		};
> -	};
> -};
> -
> -/* Internal I2C bus (on CPU module) */
> -&i2c1 {
> -	status = "okay";
> -	pinctrl-0 = <&i2c1_z_pins>;
> -	pinctrl-names = "default";
> -
> -	/* RTC */
> -	pcf8563: pcf8563@51 {
> -		compatible = "nxp,pcf8563";
> -		reg = <0x51>;
> -		status = "okay";
> -	};
>   };
>   
> -/* Peripheral I2C bus (on motherboard) */
> -&i2c_AO {
> -	status = "okay";
> -	pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>;
> -	pinctrl-names = "default";
> -};
> -
> -&pwm_ab {
> -	status = "okay";
> -	pinctrl-0 = <&pwm_a_x20_pins>;
> -	pinctrl-names = "default";
> -};
>   
>   /* wifi module */
>   &sd_emmc_b {
> -	status = "okay";
> -	#address-cells = <1>;
> -	#size-cells = <0>;
> -
> -	pinctrl-0 = <&sdio_pins>;
> -	pinctrl-1 = <&sdio_clk_gate_pins>;
> -	pinctrl-names = "default", "clk-gate";
> -
> -	bus-width = <4>;
> -	cap-sd-highspeed;
> -	max-frequency = <50000000>;
>   	non-removable;
> -	disable-wp;
> -
> -	mmc-pwrseq = <&sdio_pwrseq>;
> -
> -	vmmc-supply = <&vddao_3v3>;
> -	vqmmc-supply = <&vddio_boot>;
>   
>   	brcmf: wifi@1 {
>   		reg = <1>;
> @@ -272,99 +31,10 @@ brcmf: wifi@1 {
>   	};
>   };
>   
> -/* emmc storage */
> -&sd_emmc_c {
> -	status = "okay";
> -	pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
> -	pinctrl-1 = <&emmc_clk_gate_pins>;
> -	pinctrl-names = "default", "clk-gate";
> -
> -	bus-width = <8>;
> -	cap-mmc-highspeed;
> -	max-frequency = <200000000>;
> -	non-removable;
> -	disable-wp;
> -	mmc-ddr-1_8v;
> -	mmc-hs200-1_8v;
> -
> -	mmc-pwrseq = <&emmc_pwrseq>;
> -
> -	vmmc-supply = <&vcc_3v3>;
> -	vqmmc-supply = <&vccq_1v8>;
> -};
> -
>   /* UART Bluetooth */
>   &uart_B {
> -	status = "okay";
> -	pinctrl-0 = <&uart_b_z_pins>, <&uart_b_z_cts_rts_pins>;
> -	pinctrl-names = "default";
> -	uart-has-rtscts;
> -
>   	bluetooth {
>   		compatible = "brcm,bcm43438-bt";
>   		shutdown-gpios = <&gpio GPIOZ_7 GPIO_ACTIVE_HIGH>;
>   	};
>   };
> -
> -/* UART Console */
> -&uart_AO {
> -	status = "okay";
> -	pinctrl-0 = <&uart_ao_a_pins>;
> -	pinctrl-names = "default";
> -};
> -
> -/* UART Wireless module */
> -&uart_AO_B {
> -	status = "okay";
> -	pinctrl-0 = <&uart_ao_b_pins>;
> -	pinctrl-names = "default";
> -};
> -
> -&usb {
> -	status = "okay";
> -	phy-supply = <&usb_pwr>;
> -};
> -
> -&spicc1 {
> -	status = "okay";
> -	pinctrl-0 = <&spi1_x_pins>, <&spi1_ss0_x_pins>;
> -	pinctrl-names = "default";
> -};
> -
> -&gpio {
> -	gpio-line-names =
> -		"", "", "", "", "", // 0 - 4
> -		"", "", "", "", "", // 5 - 9
> -		"UserButton", "", "", "", "", // 10 - 14
> -		"", "", "", "", "", // 15 - 19
> -		"", "", "", "", "", // 20 - 24
> -		"", "LedRed", "LedGreen", "Output3", "Output2", // 25 - 29
> -		"Output1", "", "", "", "", // 30 - 34
> -		"", "ZigBeeBOOT", "", "", "", // 35 - 39
> -		"1Wire", "ZigBeeRESET", "", "Input4", "Input3", // 40 - 44
> -		"Input2", "Input1", "", "", "", // 45 - 49
> -		"", "", "", "", "", // 50 - 54
> -		"", "", "", "", "", // 55 - 59
> -		"", "", "", "", "", // 60 - 64
> -		"", "", "", "", "", // 65 - 69
> -		"", "", "", "", "", // 70 - 74
> -		"", "", "", "", "", // 75 - 79
> -		"", "", "", "", "", // 80 - 84
> -		"", ""; // 85-86
> -};
> -
> -&cpu0 {
> -	#cooling-cells = <2>;
> -};
> -
> -&cpu1 {
> -	#cooling-cells = <2>;
> -};
> -
> -&cpu2 {
> -	#cooling-cells = <2>;
> -};
> -
> -&cpu3 {
> -	#cooling-cells = <2>;
> -};
> diff --git a/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-2.dts b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-2.dts
> new file mode 100644
> index 000000000000..0062667c4f65
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-2.dts
> @@ -0,0 +1,37 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (c) 2022 Vyacheslav Bocharov <adeep@lexina.in>
> + * Copyright (c) 2022 JetHome
> + * Author: Vyacheslav Bocharov <adeep@lexina.in>
> + */
> +
> +/dts-v1/;
> +
> +#include "meson-axg-jethome-jethub-j1xx.dtsi"
> +
> +/ {
> +	compatible = "jethome,jethub-j110", "amlogic,a113d", "amlogic,meson-axg";
> +	model = "JetHome JetHub D1p (J110) HW rev.2";
> +
> +	/* 2GiB or 4GiB RAM */
> +	memory@0 {
> +		device_type = "memory";
> +		reg = <0x0 0x0 0x0 0x80000000>;
> +	};
> +};
> +
> +
> +/* wifi module */
> +&sd_emmc_b {
> +	broken-cd;/* cd-gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>;*/
> +};
> +
> +/* UART Bluetooth */
> +&uart_B {
> +	bluetooth {
> +		compatible = "realtek,rtl8822cs-bt";
> +		enable-gpios  = <&gpio GPIOZ_7 GPIO_ACTIVE_HIGH>;
> +		host-wake-gpios = <&gpio GPIOZ_8 GPIO_ACTIVE_HIGH>;
> +		device-wake-gpios = <&gpio GPIOZ_6 GPIO_ACTIVE_HIGH>;
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-3.dts b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-3.dts
> new file mode 100644
> index 000000000000..c2d22b00c1cd
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j110-rev-3.dts
> @@ -0,0 +1,27 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (c) 2022 Vyacheslav Bocharov <adeep@lexina.in>
> + * Copyright (c) 2022 JetHome
> + * Author: Vyacheslav Bocharov <adeep@lexina.in>
> + */
> +
> +/dts-v1/;
> +
> +#include "meson-axg-jethome-jethub-j1xx.dtsi"
> +
> +/ {
> +	compatible = "jethome,jethub-j110", "amlogic,a113d", "amlogic,meson-axg";
> +	model = "JetHome JetHub D1p (J110) Hw rev.3";
> +
> +	/* 2GiB or 4GiB RAM */
> +	memory@0 {
> +		device_type = "memory";
> +		reg = <0x0 0x0 0x0 0x80000000>;
> +	};
> +};
> +
> +
> +/* wifi module */
> +&sd_emmc_b {
> +	broken-cd;/* cd-gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>;*/
> +};
> diff --git a/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j1xx.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j1xx.dtsi
> new file mode 100644
> index 000000000000..5836b0030931
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j1xx.dtsi
> @@ -0,0 +1,351 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (c) 2022 Vyacheslav Bocharov <adeep@lexina.in>
> + * Copyright (c) 2022 JetHome
> + * Author: Vyacheslav Bocharov <adeep@lexina.in>
> + * Author: Aleksandr Kazantsev <ak@tvip.ru>
> + * Author: Alexey Shevelkin <ash@tvip.ru>
> + */
> +
> +/dts-v1/;
> +
> +#include "meson-axg.dtsi"
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/thermal/thermal.h>
> +
> +/ {
> +	aliases {
> +		serial0 = &uart_AO;   /* Console */
> +		serial2 = &uart_AO_B; /* External UART (Wireless Module) */
> +		ethernet0 = &ethmac;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +
> +	reserved-memory {
> +		linux,cma {
> +			size = <0x0 0x400000>;
> +		};
> +	};
> +
> +	emmc_pwrseq: emmc-pwrseq {
> +		compatible = "mmc-pwrseq-emmc";
> +		reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
> +	};
> +
> +	vcc_3v3: regulator-vcc_3v3 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VCC_3V3";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		vin-supply = <&vddao_3v3>;
> +		regulator-always-on;
> +	};
> +
> +	vcc_5v: regulator-vcc_5v {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VCC5V";
> +		regulator-min-microvolt = <5000000>;
> +		regulator-max-microvolt = <5000000>;
> +		regulator-always-on;
> +	};
> +
> +	vddao_3v3: regulator-vddao_3v3 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VDDAO_3V3";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		vin-supply = <&vcc_5v>;
> +		regulator-always-on;
> +	};
> +
> +	vddio_ao18: regulator-vddio_ao18 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VDDIO_AO18";
> +		regulator-min-microvolt = <1800000>;
> +		regulator-max-microvolt = <1800000>;
> +		vin-supply = <&vddao_3v3>;
> +		regulator-always-on;
> +	};
> +
> +	vddio_boot: regulator-vddio_boot {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VDDIO_BOOT";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		vin-supply = <&vddao_3v3>;
> +		regulator-always-on;
> +	};
> +
> +	vccq_1v8: regulator-vccq_1v8 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VCCQ_1V8";
> +		regulator-min-microvolt = <1800000>;
> +		regulator-max-microvolt = <1800000>;
> +		vin-supply = <&vddao_3v3>;
> +		regulator-always-on;
> +	};
> +
> +	usb_pwr: regulator-usb_pwr {
> +		compatible = "regulator-fixed";
> +		regulator-name = "USB_PWR";
> +		regulator-min-microvolt = <5000000>;
> +		regulator-max-microvolt = <5000000>;
> +		vin-supply = <&vcc_5v>;
> +		regulator-always-on;
> +	};
> +
> +	sdio_pwrseq: sdio-pwrseq {
> +		compatible = "mmc-pwrseq-simple";
> +		reset-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>;
> +		clocks = <&wifi32k>;
> +		clock-names = "ext_clock";
> +	};
> +
> +	wifi32k: wifi32k {
> +		compatible = "pwm-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <32768>;
> +		pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */
> +	};
> +
> +	thermal-zones {
> +		cpu_thermal: cpu-thermal {
> +			polling-delay-passive = <250>;
> +			polling-delay = <1000>;
> +			thermal-sensors = <&scpi_sensors 0>;
> +			trips {
> +				cpu_passive: cpu-passive {
> +					temperature = <70000>; /* millicelsius */
> +					hysteresis = <2000>; /* millicelsius */
> +					type = "passive";
> +				};
> +
> +				cpu_hot: cpu-hot {
> +					temperature = <80000>; /* millicelsius */
> +					hysteresis = <2000>; /* millicelsius */
> +					type = "hot";
> +				};
> +
> +				cpu_critical: cpu-critical {
> +					temperature = <100000>; /* millicelsius */
> +					hysteresis = <2000>; /* millicelsius */
> +					type = "critical";
> +				};
> +			};
> +
> +			cpu_cooling_maps: cooling-maps {
> +				map0 {
> +					trip = <&cpu_passive>;
> +					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +							<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +							<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +							<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> +				};
> +
> +				map1 {
> +					trip = <&cpu_hot>;
> +					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +							<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +							<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +							<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> +				};
> +			};
> +		};
> +	};
> +
> +	onewire {
> +		compatible = "w1-gpio";
> +		gpios = <&gpio GPIOA_14 GPIO_ACTIVE_HIGH>;
> +		#gpio-cells = <1>;
> +	};
> +};
> +
> +&efuse {
> +	sn: sn@32 {
> +		reg = <0x32 0x20>;
> +	};
> +
> +	eth_mac: eth_mac@0 {
> +		reg = <0x0 0x6>;
> +	};
> +
> +	bt_mac: bt_mac@6 {
> +		reg = <0x6 0x6>;
> +	};
> +
> +	wifi_mac: wifi_mac@c {
> +		reg = <0xc 0x6>;
> +	};
> +
> +	bid: bid@12 {
> +		reg = <0x12 0x20>;
> +	};
> +};
> +
> +&ethmac {
> +	status = "okay";
> +	pinctrl-0 = <&eth_rmii_x_pins>;
> +	pinctrl-names = "default";
> +	phy-handle = <&eth_phy0>;
> +	phy-mode = "rmii";
> +
> +	mdio {
> +		compatible = "snps,dwmac-mdio";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		/* ICPlus IP101A/G Ethernet PHY (vendor_id=0x0243, model_id=0x0c54) */
> +		eth_phy0: ethernet-phy@0 {
> +			/* compatible = "ethernet-phy-id0243.0c54";*/
> +			max-speed = <100>;
> +			reg = <0>;
> +
> +			reset-assert-us = <10000>;
> +			reset-deassert-us = <10000>;
> +			reset-gpios = <&gpio GPIOZ_5 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +};
> +
> +/* Internal I2C bus (on CPU module) */
> +&i2c1 {
> +	status = "okay";
> +	pinctrl-0 = <&i2c1_z_pins>;
> +	pinctrl-names = "default";
> +
> +	/* RTC */
> +	pcf8563: pcf8563@51 {
> +		compatible = "nxp,pcf8563";
> +		reg = <0x51>;
> +		status = "okay";
> +	};
> +};
> +
> +/* Peripheral I2C bus (on motherboard) */
> +&i2c_AO {
> +	status = "okay";
> +	pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>;
> +	pinctrl-names = "default";
> +};
> +
> +&pwm_ab {
> +	status = "okay";
> +	pinctrl-0 = <&pwm_a_x20_pins>;
> +	pinctrl-names = "default";
> +};
> +
> +/* wifi module */
> +&sd_emmc_b {
> +	status = "okay";
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +
> +	pinctrl-0 = <&sdio_pins>;
> +	pinctrl-1 = <&sdio_clk_gate_pins>;
> +	pinctrl-names = "default", "clk-gate";
> +
> +	bus-width = <4>;
> +	cap-sd-highspeed;
> +	max-frequency = <50000000>;
> +	disable-wp;
> +
> +	mmc-pwrseq = <&sdio_pwrseq>;
> +
> +	vmmc-supply = <&vddao_3v3>;
> +	vqmmc-supply = <&vddio_boot>;
> +};
> +
> +/* emmc storage */
> +&sd_emmc_c {
> +	status = "okay";
> +	pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
> +	pinctrl-1 = <&emmc_clk_gate_pins>;
> +	pinctrl-names = "default", "clk-gate";
> +
> +	bus-width = <8>;
> +	cap-mmc-highspeed;
> +	max-frequency = <200000000>;
> +	non-removable;
> +	disable-wp;
> +	mmc-ddr-1_8v;
> +	mmc-hs200-1_8v;
> +
> +	mmc-pwrseq = <&emmc_pwrseq>;
> +
> +	vmmc-supply = <&vcc_3v3>;
> +	vqmmc-supply = <&vccq_1v8>;
> +};
> +
> +/* UART Bluetooth */
> +&uart_B {
> +	status = "okay";
> +	pinctrl-0 = <&uart_b_z_pins>, <&uart_b_z_cts_rts_pins>;
> +	pinctrl-names = "default";
> +	uart-has-rtscts;
> +};
> +
> +/* UART Console */
> +&uart_AO {
> +	status = "okay";
> +	pinctrl-0 = <&uart_ao_a_pins>;
> +	pinctrl-names = "default";
> +};
> +
> +/* UART Wireless module */
> +&uart_AO_B {
> +	status = "okay";
> +	pinctrl-0 = <&uart_ao_b_pins>;
> +	pinctrl-names = "default";
> +};
> +
> +&usb {
> +	status = "okay";
> +	phy-supply = <&usb_pwr>;
> +};
> +
> +&spicc1 {
> +	status = "okay";
> +	pinctrl-0 = <&spi1_x_pins>, <&spi1_ss0_x_pins>;
> +	pinctrl-names = "default";
> +};
> +
> +&gpio {
> +	gpio-line-names =
> +		"", "", "", "", "", // 0 - 4
> +		"", "", "", "", "", // 5 - 9
> +		"UserButton", "", "", "", "", // 10 - 14
> +		"", "", "", "", "", // 15 - 19
> +		"", "", "", "", "", // 20 - 24
> +		"", "LedRed", "LedGreen", "Output3", "Output2", // 25 - 29
> +		"Output1", "", "", "", "", // 30 - 34
> +		"", "ZigBeeBOOT", "", "", "", // 35 - 39
> +		"1Wire", "ZigBeeRESET", "", "Input4", "Input3", // 40 - 44
> +		"Input2", "Input1", "", "", "", // 45 - 49
> +		"", "", "", "", "", // 50 - 54
> +		"", "", "", "", "", // 55 - 59
> +		"", "", "", "", "", // 60 - 64
> +		"", "", "", "", "", // 65 - 69
> +		"", "", "", "", "", // 70 - 74
> +		"", "", "", "", "", // 75 - 79
> +		"", "", "", "", "", // 80 - 84
> +		"", ""; // 85-86
> +};
> +
> +&cpu0 {
> +	#cooling-cells = <2>;
> +};
> +
> +&cpu1 {
> +	#cooling-cells = <2>;
> +};
> +
> +&cpu2 {
> +	#cooling-cells = <2>;
> +};
> +
> +&cpu3 {
> +	#cooling-cells = <2>;
> +};

Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>

  reply	other threads:[~2022-08-16 10:01 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-11 10:31 [PATCH 0/2] arm64: meson: add support for JetHome JetHub D1p (j110) Vyacheslav Bocharov
2022-08-11 10:31 ` Vyacheslav Bocharov
2022-08-11 10:31 ` Vyacheslav Bocharov
2022-08-11 10:31 ` [PATCH 1/2] arm64: dts: meson-axg: add support for " Vyacheslav Bocharov
2022-08-11 10:31   ` Vyacheslav Bocharov
2022-08-11 10:31   ` Vyacheslav Bocharov
2022-08-16  9:59   ` Neil Armstrong [this message]
2022-08-16  9:59     ` Neil Armstrong
2022-08-16  9:59     ` Neil Armstrong
2022-08-11 10:31 ` [PATCH 2/2] dt-bindings: arm: amlogic: add bindings for Jethub " Vyacheslav Bocharov
2022-08-11 10:31   ` Vyacheslav Bocharov
2022-08-11 10:31   ` Vyacheslav Bocharov
2022-08-14 21:26   ` Rob Herring
2022-08-14 21:26     ` Rob Herring
2022-08-14 21:26     ` Rob Herring
2022-08-16 12:22 ` [PATCH 0/2] arm64: meson: add support for JetHome JetHub " Neil Armstrong
2022-08-16 12:22   ` Neil Armstrong
2022-08-16 12:22   ` Neil Armstrong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=89777dae-34c5-3cb9-dd54-98230fd260e0@baylibre.com \
    --to=narmstrong@baylibre.com \
    --cc=adeep@lexina.in \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.