From nobody Sat Apr 11 13:58:23 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 50238C19F2A for ; Thu, 11 Aug 2022 10:37:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234427AbiHKKhk (ORCPT ); Thu, 11 Aug 2022 06:37:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44722 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234035AbiHKKhb (ORCPT ); Thu, 11 Aug 2022 06:37:31 -0400 Received: from mx.msync.work (mx.msync.work [185.250.0.168]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 682AF90199; Thu, 11 Aug 2022 03:37:28 -0700 (PDT) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 43BEBA5321; Thu, 11 Aug 2022 10:31:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lexina.in; s=dkim; t=1660213893; h=from:subject:date:message-id:to:cc:mime-version: content-transfer-encoding:in-reply-to:references; bh=hsFCZBeHM062+g20SDpcGeOCSewNijmVoq4J1WjYU+A=; b=gTtMRqwpUGxvgihgLcLrtDe3bLQ3xEbrk9CqSsaFF80FscTa9Fl2Icw5IPQ6b2htqBkuxE 3qeU1I+iqL7etB6mlj5iyUv3owAnTDRPo0kl0g+qVkeOf3zrIbP3jfckvux51UMklfa/mG vWEr4ACxr0ejRnn1mRWmRrM5sJQWiYMUDzRbiZc+4BfQIbRsZnwdm7Nc2Xaccuk58ciDzR dc4q5kTwCLPGiufHiGZ+g/VemDDXbqXEvdw46LxNrv9d5zPnhX5uGQjsos34/tWvniS8TK DowRSr50/YYNhyJj763lc7P09fjkwSSWMGThYtOSrJUfnJ795HvlCSH6QXVsnQ== From: Vyacheslav Bocharov To: Neil Armstrong Cc: linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Rob Herring , devicetree@vger.kernel.org Subject: [PATCH 1/2] arm64: dts: meson-axg: add support for JetHub D1p (j110) Date: Thu, 11 Aug 2022 13:31:12 +0300 Message-Id: <20220811103113.3097868-2-adeep@lexina.in> In-Reply-To: <20220811103113.3097868-1-adeep@lexina.in> References: <20220811103113.3097868-1-adeep@lexina.in> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Last-TLS-Session-Version: TLSv1.3 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" - 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 Reviewed-by: Neil Armstrong --- 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-j1= 10-rev-2.dts create mode 100644 arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j1= 10-rev-3.dts create mode 100644 arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j1= xx.dtsi diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/aml= ogic/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) +=3D meson-a1-ad401.dtb dtb-$(CONFIG_ARCH_MESON) +=3D meson-axg-jethome-jethub-j100.dtb +dtb-$(CONFIG_ARCH_MESON) +=3D meson-axg-jethome-jethub-j110-rev-2.dtb +dtb-$(CONFIG_ARCH_MESON) +=3D meson-axg-jethome-jethub-j110-rev-3.dtb dtb-$(CONFIG_ARCH_MESON) +=3D meson-axg-s400.dtb dtb-$(CONFIG_ARCH_MESON) +=3D meson-g12a-radxa-zero.dtb dtb-$(CONFIG_ARCH_MESON) +=3D 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 - * Copyright (c) 2020 JetHome - * Author: Aleksandr Kazantsev - * Author: Alexey Shevelkin + * Copyright (c) 2022 Vyacheslav Bocharov + * Copyright (c) 2022 JetHome * Author: Vyacheslav Bocharov */ =20 /dts-v1/; =20 -#include "meson-axg.dtsi" -#include -#include +#include "meson-axg-jethome-jethub-j1xx.dtsi" =20 / { compatible =3D "jethome,jethub-j100", "amlogic,a113d", "amlogic,meson-axg= "; - model =3D "JetHome JetHub J100"; - aliases { - serial0 =3D &uart_AO; /* Console */ - serial2 =3D &uart_AO_B; /* External UART (Wireless Module) */ - ethernet0 =3D ðmac; - }; - - chosen { - stdout-path =3D "serial0:115200n8"; - }; + model =3D "JetHome JetHub D1 (J100)"; =20 /* 1024MB RAM */ memory@0 { device_type =3D "memory"; reg =3D <0x0 0x0 0x0 0x40000000>; }; - - reserved-memory { - linux,cma { - size =3D <0x0 0x400000>; - }; - }; - - emmc_pwrseq: emmc-pwrseq { - compatible =3D "mmc-pwrseq-emmc"; - reset-gpios =3D <&gpio BOOT_9 GPIO_ACTIVE_LOW>; - }; - - vcc_3v3: regulator-vcc_3v3 { - compatible =3D "regulator-fixed"; - regulator-name =3D "VCC_3V3"; - regulator-min-microvolt =3D <3300000>; - regulator-max-microvolt =3D <3300000>; - vin-supply =3D <&vddao_3v3>; - regulator-always-on; - }; - - vcc_5v: regulator-vcc_5v { - compatible =3D "regulator-fixed"; - regulator-name =3D "VCC5V"; - regulator-min-microvolt =3D <5000000>; - regulator-max-microvolt =3D <5000000>; - regulator-always-on; - }; - - vddao_3v3: regulator-vddao_3v3 { - compatible =3D "regulator-fixed"; - regulator-name =3D "VDDAO_3V3"; - regulator-min-microvolt =3D <3300000>; - regulator-max-microvolt =3D <3300000>; - vin-supply =3D <&vcc_5v>; - regulator-always-on; - }; - - vddio_ao18: regulator-vddio_ao18 { - compatible =3D "regulator-fixed"; - regulator-name =3D "VDDIO_AO18"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <1800000>; - vin-supply =3D <&vddao_3v3>; - regulator-always-on; - }; - - vddio_boot: regulator-vddio_boot { - compatible =3D "regulator-fixed"; - regulator-name =3D "VDDIO_BOOT"; - regulator-min-microvolt =3D <3300000>; - regulator-max-microvolt =3D <3300000>; - vin-supply =3D <&vddao_3v3>; - regulator-always-on; - }; - - vccq_1v8: regulator-vccq_1v8 { - compatible =3D "regulator-fixed"; - regulator-name =3D "VCCQ_1V8"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <1800000>; - vin-supply =3D <&vddao_3v3>; - regulator-always-on; - }; - - usb_pwr: regulator-usb_pwr { - compatible =3D "regulator-fixed"; - regulator-name =3D "USB_PWR"; - regulator-min-microvolt =3D <5000000>; - regulator-max-microvolt =3D <5000000>; - vin-supply =3D <&vcc_5v>; - regulator-always-on; - }; - - sdio_pwrseq: sdio-pwrseq { - compatible =3D "mmc-pwrseq-simple"; - reset-gpios =3D <&gpio GPIOX_7 GPIO_ACTIVE_LOW>; - clocks =3D <&wifi32k>; - clock-names =3D "ext_clock"; - }; - - wifi32k: wifi32k { - compatible =3D "pwm-clock"; - #clock-cells =3D <0>; - clock-frequency =3D <32768>; - pwms =3D <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */ - }; - - thermal-zones { - cpu_thermal: cpu-thermal { - polling-delay-passive =3D <250>; - polling-delay =3D <1000>; - thermal-sensors =3D <&scpi_sensors 0>; - trips { - cpu_passive: cpu-passive { - temperature =3D <70000>; /* millicelsius */ - hysteresis =3D <2000>; /* millicelsius */ - type =3D "passive"; - }; - - cpu_hot: cpu-hot { - temperature =3D <80000>; /* millicelsius */ - hysteresis =3D <2000>; /* millicelsius */ - type =3D "hot"; - }; - - cpu_critical: cpu-critical { - temperature =3D <100000>; /* millicelsius */ - hysteresis =3D <2000>; /* millicelsius */ - type =3D "critical"; - }; - }; - - cpu_cooling_maps: cooling-maps { - map0 { - trip =3D <&cpu_passive>; - cooling-device =3D <&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 =3D <&cpu_hot>; - cooling-device =3D <&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 =3D "w1-gpio"; - gpios =3D <&gpio GPIOA_14 GPIO_ACTIVE_HIGH>; - #gpio-cells =3D <1>; - }; -}; - -&efuse { - sn: sn@32 { - reg =3D <0x32 0x20>; - }; - - eth_mac: eth_mac@0 { - reg =3D <0x0 0x6>; - }; - - bt_mac: bt_mac@6 { - reg =3D <0x6 0x6>; - }; - - wifi_mac: wifi_mac@c { - reg =3D <0xc 0x6>; - }; - - bid: bid@12 { - reg =3D <0x12 0x20>; - }; -}; - -ðmac { - status =3D "okay"; - pinctrl-0 =3D <ð_rmii_x_pins>; - pinctrl-names =3D "default"; - phy-handle =3D <ð_phy0>; - phy-mode =3D "rmii"; - - mdio { - compatible =3D "snps,dwmac-mdio"; - #address-cells =3D <1>; - #size-cells =3D <0>; - - /* ICPlus IP101A/G Ethernet PHY (vendor_id=3D0x0243, model_id=3D0x0c54) = */ - eth_phy0: ethernet-phy@0 { - /* compatible =3D "ethernet-phy-id0243.0c54";*/ - max-speed =3D <100>; - reg =3D <0>; - - reset-assert-us =3D <10000>; - reset-deassert-us =3D <10000>; - reset-gpios =3D <&gpio GPIOZ_5 GPIO_ACTIVE_LOW>; - }; - }; -}; - -/* Internal I2C bus (on CPU module) */ -&i2c1 { - status =3D "okay"; - pinctrl-0 =3D <&i2c1_z_pins>; - pinctrl-names =3D "default"; - - /* RTC */ - pcf8563: pcf8563@51 { - compatible =3D "nxp,pcf8563"; - reg =3D <0x51>; - status =3D "okay"; - }; }; =20 -/* Peripheral I2C bus (on motherboard) */ -&i2c_AO { - status =3D "okay"; - pinctrl-0 =3D <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>; - pinctrl-names =3D "default"; -}; - -&pwm_ab { - status =3D "okay"; - pinctrl-0 =3D <&pwm_a_x20_pins>; - pinctrl-names =3D "default"; -}; =20 /* wifi module */ &sd_emmc_b { - status =3D "okay"; - #address-cells =3D <1>; - #size-cells =3D <0>; - - pinctrl-0 =3D <&sdio_pins>; - pinctrl-1 =3D <&sdio_clk_gate_pins>; - pinctrl-names =3D "default", "clk-gate"; - - bus-width =3D <4>; - cap-sd-highspeed; - max-frequency =3D <50000000>; non-removable; - disable-wp; - - mmc-pwrseq =3D <&sdio_pwrseq>; - - vmmc-supply =3D <&vddao_3v3>; - vqmmc-supply =3D <&vddio_boot>; =20 brcmf: wifi@1 { reg =3D <1>; @@ -272,99 +31,10 @@ brcmf: wifi@1 { }; }; =20 -/* emmc storage */ -&sd_emmc_c { - status =3D "okay"; - pinctrl-0 =3D <&emmc_pins>, <&emmc_ds_pins>; - pinctrl-1 =3D <&emmc_clk_gate_pins>; - pinctrl-names =3D "default", "clk-gate"; - - bus-width =3D <8>; - cap-mmc-highspeed; - max-frequency =3D <200000000>; - non-removable; - disable-wp; - mmc-ddr-1_8v; - mmc-hs200-1_8v; - - mmc-pwrseq =3D <&emmc_pwrseq>; - - vmmc-supply =3D <&vcc_3v3>; - vqmmc-supply =3D <&vccq_1v8>; -}; - /* UART Bluetooth */ &uart_B { - status =3D "okay"; - pinctrl-0 =3D <&uart_b_z_pins>, <&uart_b_z_cts_rts_pins>; - pinctrl-names =3D "default"; - uart-has-rtscts; - bluetooth { compatible =3D "brcm,bcm43438-bt"; shutdown-gpios =3D <&gpio GPIOZ_7 GPIO_ACTIVE_HIGH>; }; }; - -/* UART Console */ -&uart_AO { - status =3D "okay"; - pinctrl-0 =3D <&uart_ao_a_pins>; - pinctrl-names =3D "default"; -}; - -/* UART Wireless module */ -&uart_AO_B { - status =3D "okay"; - pinctrl-0 =3D <&uart_ao_b_pins>; - pinctrl-names =3D "default"; -}; - -&usb { - status =3D "okay"; - phy-supply =3D <&usb_pwr>; -}; - -&spicc1 { - status =3D "okay"; - pinctrl-0 =3D <&spi1_x_pins>, <&spi1_ss0_x_pins>; - pinctrl-names =3D "default"; -}; - -&gpio { - gpio-line-names =3D - "", "", "", "", "", // 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 =3D <2>; -}; - -&cpu1 { - #cooling-cells =3D <2>; -}; - -&cpu2 { - #cooling-cells =3D <2>; -}; - -&cpu3 { - #cooling-cells =3D <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 + * Copyright (c) 2022 JetHome + * Author: Vyacheslav Bocharov + */ + +/dts-v1/; + +#include "meson-axg-jethome-jethub-j1xx.dtsi" + +/ { + compatible =3D "jethome,jethub-j110", "amlogic,a113d", "amlogic,meson-axg= "; + model =3D "JetHome JetHub D1p (J110) HW rev.2"; + + /* 2GiB or 4GiB RAM */ + memory@0 { + device_type =3D "memory"; + reg =3D <0x0 0x0 0x0 0x80000000>; + }; +}; + + +/* wifi module */ +&sd_emmc_b { + broken-cd;/* cd-gpios =3D <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>;*/ +}; + +/* UART Bluetooth */ +&uart_B { + bluetooth { + compatible =3D "realtek,rtl8822cs-bt"; + enable-gpios =3D <&gpio GPIOZ_7 GPIO_ACTIVE_HIGH>; + host-wake-gpios =3D <&gpio GPIOZ_8 GPIO_ACTIVE_HIGH>; + device-wake-gpios =3D <&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 + * Copyright (c) 2022 JetHome + * Author: Vyacheslav Bocharov + */ + +/dts-v1/; + +#include "meson-axg-jethome-jethub-j1xx.dtsi" + +/ { + compatible =3D "jethome,jethub-j110", "amlogic,a113d", "amlogic,meson-axg= "; + model =3D "JetHome JetHub D1p (J110) Hw rev.3"; + + /* 2GiB or 4GiB RAM */ + memory@0 { + device_type =3D "memory"; + reg =3D <0x0 0x0 0x0 0x80000000>; + }; +}; + + +/* wifi module */ +&sd_emmc_b { + broken-cd;/* cd-gpios =3D <&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 + * Copyright (c) 2022 JetHome + * Author: Vyacheslav Bocharov + * Author: Aleksandr Kazantsev + * Author: Alexey Shevelkin + */ + +/dts-v1/; + +#include "meson-axg.dtsi" +#include +#include + +/ { + aliases { + serial0 =3D &uart_AO; /* Console */ + serial2 =3D &uart_AO_B; /* External UART (Wireless Module) */ + ethernet0 =3D ðmac; + }; + + chosen { + stdout-path =3D "serial0:115200n8"; + }; + + reserved-memory { + linux,cma { + size =3D <0x0 0x400000>; + }; + }; + + emmc_pwrseq: emmc-pwrseq { + compatible =3D "mmc-pwrseq-emmc"; + reset-gpios =3D <&gpio BOOT_9 GPIO_ACTIVE_LOW>; + }; + + vcc_3v3: regulator-vcc_3v3 { + compatible =3D "regulator-fixed"; + regulator-name =3D "VCC_3V3"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + vin-supply =3D <&vddao_3v3>; + regulator-always-on; + }; + + vcc_5v: regulator-vcc_5v { + compatible =3D "regulator-fixed"; + regulator-name =3D "VCC5V"; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + regulator-always-on; + }; + + vddao_3v3: regulator-vddao_3v3 { + compatible =3D "regulator-fixed"; + regulator-name =3D "VDDAO_3V3"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + vin-supply =3D <&vcc_5v>; + regulator-always-on; + }; + + vddio_ao18: regulator-vddio_ao18 { + compatible =3D "regulator-fixed"; + regulator-name =3D "VDDIO_AO18"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + vin-supply =3D <&vddao_3v3>; + regulator-always-on; + }; + + vddio_boot: regulator-vddio_boot { + compatible =3D "regulator-fixed"; + regulator-name =3D "VDDIO_BOOT"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + vin-supply =3D <&vddao_3v3>; + regulator-always-on; + }; + + vccq_1v8: regulator-vccq_1v8 { + compatible =3D "regulator-fixed"; + regulator-name =3D "VCCQ_1V8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + vin-supply =3D <&vddao_3v3>; + regulator-always-on; + }; + + usb_pwr: regulator-usb_pwr { + compatible =3D "regulator-fixed"; + regulator-name =3D "USB_PWR"; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + vin-supply =3D <&vcc_5v>; + regulator-always-on; + }; + + sdio_pwrseq: sdio-pwrseq { + compatible =3D "mmc-pwrseq-simple"; + reset-gpios =3D <&gpio GPIOX_7 GPIO_ACTIVE_LOW>; + clocks =3D <&wifi32k>; + clock-names =3D "ext_clock"; + }; + + wifi32k: wifi32k { + compatible =3D "pwm-clock"; + #clock-cells =3D <0>; + clock-frequency =3D <32768>; + pwms =3D <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */ + }; + + thermal-zones { + cpu_thermal: cpu-thermal { + polling-delay-passive =3D <250>; + polling-delay =3D <1000>; + thermal-sensors =3D <&scpi_sensors 0>; + trips { + cpu_passive: cpu-passive { + temperature =3D <70000>; /* millicelsius */ + hysteresis =3D <2000>; /* millicelsius */ + type =3D "passive"; + }; + + cpu_hot: cpu-hot { + temperature =3D <80000>; /* millicelsius */ + hysteresis =3D <2000>; /* millicelsius */ + type =3D "hot"; + }; + + cpu_critical: cpu-critical { + temperature =3D <100000>; /* millicelsius */ + hysteresis =3D <2000>; /* millicelsius */ + type =3D "critical"; + }; + }; + + cpu_cooling_maps: cooling-maps { + map0 { + trip =3D <&cpu_passive>; + cooling-device =3D <&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 =3D <&cpu_hot>; + cooling-device =3D <&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 =3D "w1-gpio"; + gpios =3D <&gpio GPIOA_14 GPIO_ACTIVE_HIGH>; + #gpio-cells =3D <1>; + }; +}; + +&efuse { + sn: sn@32 { + reg =3D <0x32 0x20>; + }; + + eth_mac: eth_mac@0 { + reg =3D <0x0 0x6>; + }; + + bt_mac: bt_mac@6 { + reg =3D <0x6 0x6>; + }; + + wifi_mac: wifi_mac@c { + reg =3D <0xc 0x6>; + }; + + bid: bid@12 { + reg =3D <0x12 0x20>; + }; +}; + +ðmac { + status =3D "okay"; + pinctrl-0 =3D <ð_rmii_x_pins>; + pinctrl-names =3D "default"; + phy-handle =3D <ð_phy0>; + phy-mode =3D "rmii"; + + mdio { + compatible =3D "snps,dwmac-mdio"; + #address-cells =3D <1>; + #size-cells =3D <0>; + + /* ICPlus IP101A/G Ethernet PHY (vendor_id=3D0x0243, model_id=3D0x0c54) = */ + eth_phy0: ethernet-phy@0 { + /* compatible =3D "ethernet-phy-id0243.0c54";*/ + max-speed =3D <100>; + reg =3D <0>; + + reset-assert-us =3D <10000>; + reset-deassert-us =3D <10000>; + reset-gpios =3D <&gpio GPIOZ_5 GPIO_ACTIVE_LOW>; + }; + }; +}; + +/* Internal I2C bus (on CPU module) */ +&i2c1 { + status =3D "okay"; + pinctrl-0 =3D <&i2c1_z_pins>; + pinctrl-names =3D "default"; + + /* RTC */ + pcf8563: pcf8563@51 { + compatible =3D "nxp,pcf8563"; + reg =3D <0x51>; + status =3D "okay"; + }; +}; + +/* Peripheral I2C bus (on motherboard) */ +&i2c_AO { + status =3D "okay"; + pinctrl-0 =3D <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>; + pinctrl-names =3D "default"; +}; + +&pwm_ab { + status =3D "okay"; + pinctrl-0 =3D <&pwm_a_x20_pins>; + pinctrl-names =3D "default"; +}; + +/* wifi module */ +&sd_emmc_b { + status =3D "okay"; + #address-cells =3D <1>; + #size-cells =3D <0>; + + pinctrl-0 =3D <&sdio_pins>; + pinctrl-1 =3D <&sdio_clk_gate_pins>; + pinctrl-names =3D "default", "clk-gate"; + + bus-width =3D <4>; + cap-sd-highspeed; + max-frequency =3D <50000000>; + disable-wp; + + mmc-pwrseq =3D <&sdio_pwrseq>; + + vmmc-supply =3D <&vddao_3v3>; + vqmmc-supply =3D <&vddio_boot>; +}; + +/* emmc storage */ +&sd_emmc_c { + status =3D "okay"; + pinctrl-0 =3D <&emmc_pins>, <&emmc_ds_pins>; + pinctrl-1 =3D <&emmc_clk_gate_pins>; + pinctrl-names =3D "default", "clk-gate"; + + bus-width =3D <8>; + cap-mmc-highspeed; + max-frequency =3D <200000000>; + non-removable; + disable-wp; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + + mmc-pwrseq =3D <&emmc_pwrseq>; + + vmmc-supply =3D <&vcc_3v3>; + vqmmc-supply =3D <&vccq_1v8>; +}; + +/* UART Bluetooth */ +&uart_B { + status =3D "okay"; + pinctrl-0 =3D <&uart_b_z_pins>, <&uart_b_z_cts_rts_pins>; + pinctrl-names =3D "default"; + uart-has-rtscts; +}; + +/* UART Console */ +&uart_AO { + status =3D "okay"; + pinctrl-0 =3D <&uart_ao_a_pins>; + pinctrl-names =3D "default"; +}; + +/* UART Wireless module */ +&uart_AO_B { + status =3D "okay"; + pinctrl-0 =3D <&uart_ao_b_pins>; + pinctrl-names =3D "default"; +}; + +&usb { + status =3D "okay"; + phy-supply =3D <&usb_pwr>; +}; + +&spicc1 { + status =3D "okay"; + pinctrl-0 =3D <&spi1_x_pins>, <&spi1_ss0_x_pins>; + pinctrl-names =3D "default"; +}; + +&gpio { + gpio-line-names =3D + "", "", "", "", "", // 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 =3D <2>; +}; + +&cpu1 { + #cooling-cells =3D <2>; +}; + +&cpu2 { + #cooling-cells =3D <2>; +}; + +&cpu3 { + #cooling-cells =3D <2>; +}; --=20 2.30.2