* [PATCH 0/3] arm64: meson-axg: meson-gxl: add support for JetHub D1/H1 @ 2021-09-02 13:05 Vyacheslav Bocharov 2021-09-02 13:05 ` [PATCH 1/3] arm64: dts: meson-gxl: add support for JetHub H1 Vyacheslav Bocharov ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Vyacheslav Bocharov @ 2021-09-02 13:05 UTC (permalink / raw) To: Neil Armstrong, Kevin Hilman Cc: linux-amlogic, linux-arm-kernel, linux-kernel Hi. I want to add support for new home automation devices. JetHome Jethub D1 (http://jethome.ru/jethub-d1) 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 - 512Mb/1GB LPDDR4 - 8/16GB eMMC flash - 1 x USB 2.0 - 1 x 10/100Mbps ethernet - WiFi / Bluetooth AMPAK AP6255 (Broadcom BCM43455) IEEE 802.11a/b/g/n/ac, Bluetooth 4.2. - TI CC2538 + CC2592 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 / Passive POE JetHome Jethub H1 (http://jethome.ru/jethub-h1) is a home automation controller with the following features: - square plastic case - Amlogic S905W (ARM Cortex-A53) quad-core up to 1.5GHz - no video out - 1GB LPDDR4 - 8/16GB eMMC flash - 2 x USB 2.0 - 1 x 10/100Mbps ethernet - WiFi / Bluetooth RTL8822CS IEEE 802.11a/b/g/n/ac, Bluetooth 5.0. - TI CC2538 + CC2592 Zigbee Wireless Module with up to 20dBm output power and Zigbee 3.0 support. - MicroSD 2.x/3.x/4.x DS/HS cards. - 1 x gpio LED - ADC user Button - DC source 5V microUSB Vyacheslav Bocharov (3): arm64: dts: meson-gxl: add support for JetHub H1 arm64: dts: meson-axg: add support for JetHub D1 dt-bindings: arm: amlogic: add bindings for JetHome Jethud D1/H1 .../devicetree/bindings/arm/amlogic.yaml | 2 + arch/arm64/boot/dts/amlogic/Makefile | 2 + .../amlogic/meson-axg-jethome-jethub-j100.dts | 439 ++++++++++++++++++ .../meson-gxl-s905w-jethome-jethub-j80.dts | 325 +++++++++++++ 4 files changed, 768 insertions(+) create mode 100644 arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j100.dts create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w-jethome-jethub-j80.dts -- 2.30.2 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/3] arm64: dts: meson-gxl: add support for JetHub H1 2021-09-02 13:05 [PATCH 0/3] arm64: meson-axg: meson-gxl: add support for JetHub D1/H1 Vyacheslav Bocharov @ 2021-09-02 13:05 ` Vyacheslav Bocharov 2021-09-02 13:19 ` Neil Armstrong 2021-09-02 13:05 ` [PATCH 2/3] arm64: dts: meson-axg: add support for JetHub D1 Vyacheslav Bocharov 2021-09-02 13:05 ` [PATCH 3/3] dt-bindings: arm: amlogic: add bindings for JetHub D1/H1 Vyacheslav Bocharov 2 siblings, 1 reply; 7+ messages in thread From: Vyacheslav Bocharov @ 2021-09-02 13:05 UTC (permalink / raw) To: Neil Armstrong, Kevin Hilman Cc: linux-amlogic, linux-arm-kernel, linux-kernel JetHome Jethub H1 (http://jethome.ru/jethub-h1) is a home automation controller with the following features: - square plastic case - Amlogic S905W (ARM Cortex-A53) quad-core up to 1.5GHz - no video out - 1GB LPDDR4 - 8/16GB eMMC flash - 2 x USB 2.0 - 1 x 10/100Mbps ethernet - WiFi / Bluetooth RTL8822CS IEEE 802.11a/b/g/n/ac, Bluetooth 5.0. - TI CC2538 + CC2592 Zigbee Wireless Module with up to 20dBm output power and Zigbee 3.0 support. - MicroSD 2.x/3.x/4.x DS/HS cards. - 1 x gpio LED - ADC user Button - DC source 5V microUSB Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in> --- arch/arm64/boot/dts/amlogic/Makefile | 1 + .../meson-gxl-s905w-jethome-jethub-j80.dts | 325 ++++++++++++++++++ 2 files changed, 326 insertions(+) create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w-jethome-jethub-j80.dts diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile index faa0a79a34f5..2c3ce7c401a5 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile @@ -38,6 +38,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s805x-p241.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-tx3-mini.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-libretech-pc.dtb +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-jethome-jethub-j80.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxm-khadas-vim2.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxm-mecool-kiii-pro.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxm-minix-neo-u9h.dtb diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-jethome-jethub-j80.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-jethome-jethub-j80.dts new file mode 100644 index 000000000000..7b14c7c4eed5 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-jethome-jethub-j80.dts @@ -0,0 +1,325 @@ + +/dts-v1/; + +#include "meson-gxl.dtsi" + +/ { + compatible = "jethome,j80", "amlogic,s905w", "amlogic,meson-gxl"; + model = "JetHome JetHub J80"; + amlogic-dt-id = "gxl_jethubj80_v1"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x0 0x0 0x40000000>; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + linux,cma { + compatible = "shared-dma-pool"; + reusable; size = <0x0 0x400000>; + alignment = <0x0 0x400000>; + linux,cma-default; + }; + }; + + aliases { + serial0 = &uart_AO; /* Console */ + serial1 = &uart_A; /* Bluetooth */ + serial2 = &uart_AO_B; /* Wireless module 1 */ + serial3 = &uart_C; /* Wireless module 2 */ + ethernet0 = ðmac; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + vddio_ao18: regulator-vddio_ao18 { + compatible = "regulator-fixed"; + regulator-name = "VDDIO_AO18"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + vddio_boot: regulator-vddio_boot { + compatible = "regulator-fixed"; + regulator-name = "VDDIO_BOOT"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + vddao_3v3: regulator-vddao_3v3 { + compatible = "regulator-fixed"; + regulator-name = "VDDAO_3V3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + vcc_3v3: regulator-vcc_3v3 { + compatible = "regulator-fixed"; + regulator-name = "VCC_3V3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + emmc_pwrseq: emmc-pwrseq { + compatible = "mmc-pwrseq-emmc"; + reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; + }; + + wifi32k: wifi32k { + compatible = "pwm-clock"; + #clock-cells = <0>; + clock-frequency = <32768>; + pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ + }; + + sdio_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; + clocks = <&wifi32k>; + clock-names = "ext_clock"; + }; + + partitions: partitions { + parts = <1>; + part-0 = <&rootfs>; + rootfs: rootfs { + pname = "rootfs"; + size = <0xffffffff 0xffffffff>; + mask = <4>; + }; + }; + + efusekey: efusekey { + keynum = <5>; + key0 = <&key_0>; + key1 = <&key_1>; + key2 = <&key_2>; + key3 = <&key_3>; + key4 = <&key_4>; + + key_0: key_0 { + keyname = "mac"; + offset = <0>; + size = <6>; + }; + key_1: key_1 { + keyname = "mac_bt"; + offset = <6>; + size = <6>; + }; + key_2: key_2 { + keyname = "mac_wifi"; + offset = <12>; + size = <6>; + }; + key_3: key_3 { + keyname = "usid"; + offset = <18>; + size = <32>; + }; + key_4: key_4 { + keyname = "serial"; + offset = <50>; + size = <32>; + }; + }; //End efusekey + + unifykey { + compatible = "amlogic, unifykey"; + status = "ok"; + unifykey-num = <6>; + unifykey-index-0 = <&keysn_0>; + unifykey-index-1 = <&keysn_1>; + unifykey-index-2 = <&keysn_2>; + unifykey-index-3 = <&keysn_3>; + unifykey-index-4 = <&keysn_4>; + unifykey-index-5 = <&keysn_5>; + + keysn_0: key_0 { + key-name = "usid"; + key-device = "efuse"; + key-permit = "read","write"; + }; + keysn_1: key_1 { + key-name = "mac"; + key-device = "efuse"; + key-permit = "read","write"; + }; + keysn_2: key_2 { + key-name = "mac_bt"; + key-device = "normal"; + key-permit = "read","write","del"; + key-type = "mac"; + }; + keysn_3: key_3 { + key-name = "mac_wifi"; + key-device = "normal"; + key-permit = "read","write","del"; + key-type = "mac"; + }; + keysn_4: key_4 { + key-name = "serial"; + key-device = "efuse"; + key-permit = "read","write"; + }; + keysn_5:key_5 { + key-name = "deviceid"; + key-device = "normal"; + key-permit = "read","write","del"; + }; + }; //End unifykey +}; + +&usb { + status = "okay"; + dr_mode = "host"; +}; + +&efuse { + status = "okay"; + compatible = "amlogic,meson-gxbb-efuse", "amlogic, efuse"; + read_cmd = <0x82000030>; + write_cmd = <0x82000031>; + get_max_cmd = <0x82000033>; + key = <&efusekey>; + clock-names = "efuse_clk"; +}; + +&pwm_ef { + status = "okay"; + pinctrl-0 = <&pwm_e_pins>; + pinctrl-names = "default"; + clocks = <&clkc CLKID_FCLK_DIV4>; + clock-names = "clkin0"; +}; + +&saradc { + status = "okay"; + vref-supply = <&vddio_ao18>; +}; + +/* Wireless SDIO Module */ +&sd_emmc_a { + status = "okay"; + pinctrl-0 = <&sdio_pins>; + pinctrl-1 = <&sdio_clk_gate_pins>; + pinctrl-names = "default", "clk-gate"; + #address-cells = <1>; + #size-cells = <0>; + + bus-width = <4>; + cap-sd-highspeed; + max-frequency = <50000000>; + + non-removable; + disable-wp; + + /* WiFi firmware requires power to be kept while in suspend */ + keep-power-in-suspend; + + mmc-pwrseq = <&sdio_pwrseq>; + + vmmc-supply = <&vddao_3v3>; + vqmmc-supply = <&vddio_boot>; +}; + +/* SD card */ +&sd_emmc_b { + status = "okay"; + pinctrl-0 = <&sdcard_pins>; + pinctrl-1 = <&sdcard_clk_gate_pins>; + pinctrl-names = "default", "clk-gate"; + + bus-width = <4>; + cap-sd-highspeed; + max-frequency = <50000000>; + disable-wp; + + cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; + + vmmc-supply = <&vddao_3v3>; + vqmmc-supply = <&vddio_boot>; +}; + +/* eMMC */ +&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 = <&vddio_boot>; +}; + +/* Console UART */ +&uart_AO { + status = "okay"; + pinctrl-0 = <&uart_ao_a_pins>; + pinctrl-names = "default"; +}; + +/* S905X only has access to its internal PHY */ +ðmac { + reg = <0x0 0xc9410000 0x0 0x10000 + 0x0 0xc8834540 0x0 0x4 + 0x0 0xc8834558 0x0 0xc + 0x0 0xc1104408 0x0 0x4>; + amlogic,eth-leds = <0x91>; + status = "okay"; + phy-mode = "rmii"; + phy-handle = <&internal_phy>; +}; + +&internal_phy { + status = "okay"; + pinctrl-0 = <ð_link_led_pins>, <ð_act_led_pins>; + pinctrl-names = "default"; +}; + +&uart_A { + status = "okay"; + pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; + pinctrl-names = "default"; + uart-has-rtscts; +}; + +&uart_C { + status = "okay"; + pinctrl-0 = <&uart_c_pins>; + pinctrl-names = "default"; +}; + +&uart_AO_B { + status = "okay"; + pinctrl-0 = <&uart_ao_b_pins>, <&uart_ao_b_cts_rts_pins>; + pinctrl-names = "default"; + uart-has-rtscts; +}; + +&i2c_B { + status = "okay"; + pinctrl-names="default"; + pinctrl-0=<&i2c_b_pins>; + + pcf8563: pcf8563@51 { + compatible = "nxp,pcf8563"; + reg = <0x51>; + status = "okay"; + }; +}; + -- 2.30.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/3] arm64: dts: meson-gxl: add support for JetHub H1 2021-09-02 13:05 ` [PATCH 1/3] arm64: dts: meson-gxl: add support for JetHub H1 Vyacheslav Bocharov @ 2021-09-02 13:19 ` Neil Armstrong 0 siblings, 0 replies; 7+ messages in thread From: Neil Armstrong @ 2021-09-02 13:19 UTC (permalink / raw) To: Vyacheslav Bocharov, Kevin Hilman Cc: linux-amlogic, linux-arm-kernel, linux-kernel Hi, On 02/09/2021 15:05, Vyacheslav Bocharov wrote: > JetHome Jethub H1 (http://jethome.ru/jethub-h1) is a home automation controller with the following features: > > - square plastic case > - Amlogic S905W (ARM Cortex-A53) quad-core up to 1.5GHz > - no video out > - 1GB LPDDR4 > - 8/16GB eMMC flash > - 2 x USB 2.0 > - 1 x 10/100Mbps ethernet > - WiFi / Bluetooth RTL8822CS IEEE 802.11a/b/g/n/ac, Bluetooth 5.0. > - TI CC2538 + CC2592 Zigbee Wireless Module with up to 20dBm output power and Zigbee 3.0 support. > - MicroSD 2.x/3.x/4.x DS/HS cards. > - 1 x gpio LED > - ADC user Button > - DC source 5V microUSB Thanks for submitting a new board ! > > Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in> > --- > arch/arm64/boot/dts/amlogic/Makefile | 1 + > .../meson-gxl-s905w-jethome-jethub-j80.dts | 325 ++++++++++++++++++ > 2 files changed, 326 insertions(+) > create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w-jethome-jethub-j80.dts > > diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile > index faa0a79a34f5..2c3ce7c401a5 100644 > --- a/arch/arm64/boot/dts/amlogic/Makefile > +++ b/arch/arm64/boot/dts/amlogic/Makefile > @@ -38,6 +38,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s805x-p241.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-tx3-mini.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-libretech-pc.dtb > +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-jethome-jethub-j80.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxm-khadas-vim2.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxm-mecool-kiii-pro.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxm-minix-neo-u9h.dtb > diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-jethome-jethub-j80.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-jethome-jethub-j80.dts > new file mode 100644 > index 000000000000..7b14c7c4eed5 > --- /dev/null > +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-jethome-jethub-j80.dts > @@ -0,0 +1,325 @@ Please add a proper SPDX Licence identifier. Don't you want to add a proper copyright header ? > + > +/dts-v1/; > + > +#include "meson-gxl.dtsi" > + > +/ { > + compatible = "jethome,j80", "amlogic,s905w", "amlogic,meson-gxl"; > + model = "JetHome JetHub J80"; > + amlogic-dt-id = "gxl_jethubj80_v1"; This attribute hasn't any upstream bindings, please remove it. > + > + memory@0 { > + device_type = "memory"; > + reg = <0x0 0x0 0x0 0x40000000>; > + }; > + > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + linux,cma { > + compatible = "shared-dma-pool"; > + reusable; size = <0x0 0x400000>; > + alignment = <0x0 0x400000>; > + linux,cma-default; > + }; > + }; If you want to reduce the cma pool size, simply add: reserved-memory { linux,cma { size = <0x0 0x400000>; }; }; > + > + aliases { > + serial0 = &uart_AO; /* Console */ > + serial1 = &uart_A; /* Bluetooth */ > + serial2 = &uart_AO_B; /* Wireless module 1 */ > + serial3 = &uart_C; /* Wireless module 2 */ > + ethernet0 = ðmac; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > + > + vddio_ao18: regulator-vddio_ao18 { > + compatible = "regulator-fixed"; > + regulator-name = "VDDIO_AO18"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + }; > + > + vddio_boot: regulator-vddio_boot { > + compatible = "regulator-fixed"; > + regulator-name = "VDDIO_BOOT"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + }; > + > + vddao_3v3: regulator-vddao_3v3 { > + compatible = "regulator-fixed"; > + regulator-name = "VDDAO_3V3"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + vcc_3v3: regulator-vcc_3v3 { > + compatible = "regulator-fixed"; > + regulator-name = "VCC_3V3"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + emmc_pwrseq: emmc-pwrseq { > + compatible = "mmc-pwrseq-emmc"; > + reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; > + }; > + > + wifi32k: wifi32k { > + compatible = "pwm-clock"; > + #clock-cells = <0>; > + clock-frequency = <32768>; > + pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ > + }; > + > + sdio_pwrseq: sdio-pwrseq { > + compatible = "mmc-pwrseq-simple"; > + reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; > + clocks = <&wifi32k>; > + clock-names = "ext_clock"; > + }; > + > + partitions: partitions { > + parts = <1>; > + part-0 = <&rootfs>; > + rootfs: rootfs { > + pname = "rootfs"; > + size = <0xffffffff 0xffffffff>; > + mask = <4>; > + }; > + }; This node hasn't any upstream bindings, please remove it. > + > + efusekey: efusekey { > + keynum = <5>; > + key0 = <&key_0>; > + key1 = <&key_1>; > + key2 = <&key_2>; > + key3 = <&key_3>; > + key4 = <&key_4>; > + > + key_0: key_0 { > + keyname = "mac"; > + offset = <0>; > + size = <6>; > + }; > + key_1: key_1 { > + keyname = "mac_bt"; > + offset = <6>; > + size = <6>; > + }; > + key_2: key_2 { > + keyname = "mac_wifi"; > + offset = <12>; > + size = <6>; > + }; > + key_3: key_3 { > + keyname = "usid"; > + offset = <18>; > + size = <32>; > + }; > + key_4: key_4 { > + keyname = "serial"; > + offset = <50>; > + size = <32>; > + }; > + }; //End efusekey This node hasn't any upstream bindings, please remove it. > + > + unifykey { > + compatible = "amlogic, unifykey"; > + status = "ok"; > + unifykey-num = <6>; > + unifykey-index-0 = <&keysn_0>; > + unifykey-index-1 = <&keysn_1>; > + unifykey-index-2 = <&keysn_2>; > + unifykey-index-3 = <&keysn_3>; > + unifykey-index-4 = <&keysn_4>; > + unifykey-index-5 = <&keysn_5>; > + > + keysn_0: key_0 { > + key-name = "usid"; > + key-device = "efuse"; > + key-permit = "read","write"; > + }; > + keysn_1: key_1 { > + key-name = "mac"; > + key-device = "efuse"; > + key-permit = "read","write"; > + }; > + keysn_2: key_2 { > + key-name = "mac_bt"; > + key-device = "normal"; > + key-permit = "read","write","del"; > + key-type = "mac"; > + }; > + keysn_3: key_3 { > + key-name = "mac_wifi"; > + key-device = "normal"; > + key-permit = "read","write","del"; > + key-type = "mac"; > + }; > + keysn_4: key_4 { > + key-name = "serial"; > + key-device = "efuse"; > + key-permit = "read","write"; > + }; > + keysn_5:key_5 { > + key-name = "deviceid"; > + key-device = "normal"; > + key-permit = "read","write","del"; > + }; > + }; //End unifykey > +}; This node hasn't any upstream bindings, please remove it. > + > +&usb { > + status = "okay"; > + dr_mode = "host"; > +}; > + > +&efuse { > + status = "okay"; > + compatible = "amlogic,meson-gxbb-efuse", "amlogic, efuse"; > + read_cmd = <0x82000030>; > + write_cmd = <0x82000031>; > + get_max_cmd = <0x82000033>; > + key = <&efusekey>; > + clock-names = "efuse_clk"; > +}; Looking at Documentation/devicetree/bindings/nvmem/amlogic-efuse.txt : remove "amlogic, efuse", and all the other attributes. > + > +&pwm_ef { > + status = "okay"; > + pinctrl-0 = <&pwm_e_pins>; > + pinctrl-names = "default"; > + clocks = <&clkc CLKID_FCLK_DIV4>; > + clock-names = "clkin0"; > +}; > + > +&saradc { > + status = "okay"; > + vref-supply = <&vddio_ao18>; > +}; > + > +/* Wireless SDIO Module */ > +&sd_emmc_a { > + status = "okay"; > + pinctrl-0 = <&sdio_pins>; > + pinctrl-1 = <&sdio_clk_gate_pins>; > + pinctrl-names = "default", "clk-gate"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + bus-width = <4>; > + cap-sd-highspeed; > + max-frequency = <50000000>; > + > + non-removable; > + disable-wp; > + > + /* WiFi firmware requires power to be kept while in suspend */ > + keep-power-in-suspend; > + > + mmc-pwrseq = <&sdio_pwrseq>; > + > + vmmc-supply = <&vddao_3v3>; > + vqmmc-supply = <&vddio_boot>; > +}; > + > +/* SD card */ > +&sd_emmc_b { > + status = "okay"; > + pinctrl-0 = <&sdcard_pins>; > + pinctrl-1 = <&sdcard_clk_gate_pins>; > + pinctrl-names = "default", "clk-gate"; > + > + bus-width = <4>; > + cap-sd-highspeed; > + max-frequency = <50000000>; > + disable-wp; > + > + cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; > + > + vmmc-supply = <&vddao_3v3>; > + vqmmc-supply = <&vddio_boot>; > +}; > + > +/* eMMC */ > +&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 = <&vddio_boot>; > +}; > + > +/* Console UART */ > +&uart_AO { > + status = "okay"; > + pinctrl-0 = <&uart_ao_a_pins>; > + pinctrl-names = "default"; > +}; > + > +/* S905X only has access to its internal PHY */ Did you mean S905W ? > +ðmac { > + reg = <0x0 0xc9410000 0x0 0x10000 > + 0x0 0xc8834540 0x0 0x4 > + 0x0 0xc8834558 0x0 0xc > + 0x0 0xc1104408 0x0 0x4>; > + amlogic,eth-leds = <0x91>; This attribute isn't defined in upstream bindings. > + status = "okay"; > + phy-mode = "rmii"; > + phy-handle = <&internal_phy>; > +}; > + > +&internal_phy { > + status = "okay"; > + pinctrl-0 = <ð_link_led_pins>, <ð_act_led_pins>; > + pinctrl-names = "default"; > +}; > + > +&uart_A { > + status = "okay"; > + pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; > + pinctrl-names = "default"; > + uart-has-rtscts; > +}; > + > +&uart_C { > + status = "okay"; > + pinctrl-0 = <&uart_c_pins>; > + pinctrl-names = "default"; > +}; > + > +&uart_AO_B { > + status = "okay"; > + pinctrl-0 = <&uart_ao_b_pins>, <&uart_ao_b_cts_rts_pins>; > + pinctrl-names = "default"; > + uart-has-rtscts; > +}; > + > +&i2c_B { > + status = "okay"; > + pinctrl-names="default"; > + pinctrl-0=<&i2c_b_pins>; Please add spaces before and after the "=". > + > + pcf8563: pcf8563@51 { > + compatible = "nxp,pcf8563"; > + reg = <0x51>; > + status = "okay"; > + }; > +}; > + > Thanks, Neil ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/3] arm64: dts: meson-axg: add support for JetHub D1 2021-09-02 13:05 [PATCH 0/3] arm64: meson-axg: meson-gxl: add support for JetHub D1/H1 Vyacheslav Bocharov 2021-09-02 13:05 ` [PATCH 1/3] arm64: dts: meson-gxl: add support for JetHub H1 Vyacheslav Bocharov @ 2021-09-02 13:05 ` Vyacheslav Bocharov 2021-09-02 13:27 ` Neil Armstrong 2021-09-02 13:05 ` [PATCH 3/3] dt-bindings: arm: amlogic: add bindings for JetHub D1/H1 Vyacheslav Bocharov 2 siblings, 1 reply; 7+ messages in thread From: Vyacheslav Bocharov @ 2021-09-02 13:05 UTC (permalink / raw) To: Neil Armstrong, Kevin Hilman Cc: linux-amlogic, linux-arm-kernel, linux-kernel JetHome Jethub D1 (http://jethome.ru/jethub-d1) 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 - 512Mb/1GB LPDDR4 - 8/16GB eMMC flash - 1 x USB 2.0 - 1 x 10/100Mbps ethernet - WiFi / Bluetooth AMPAK AP6255 (Broadcom BCM43455) IEEE 802.11a/b/g/n/ac, Bluetooth 4.2. - TI CC2538 + CC2592 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 / Passive POE Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in> --- arch/arm64/boot/dts/amlogic/Makefile | 1 + .../amlogic/meson-axg-jethome-jethub-j100.dts | 439 ++++++++++++++++++ 2 files changed, 440 insertions(+) create mode 100644 arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j100.dts diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile index 2c3ce7c401a5..3ba6f58b9833 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile @@ -1,5 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb +dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j100.dtb dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb 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 new file mode 100644 index 000000000000..68d688528c86 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j100.dts @@ -0,0 +1,439 @@ + +/dts-v1/; + +#include "meson-axg.dtsi" +#include <dt-bindings/input/input.h> +#include <dt-bindings/thermal/thermal.h> + +/ { + compatible = "jethome,j100", "amlogic,a113d", "amlogic,meson-axg"; + model = "JetHome JetHub J100"; + amlogic-dt-id = "axg_jethubj100_v1"; + + aliases { + serial0 = &uart_AO; /* Console */ + serial1 = &uart_B; /* Bluetooth */ + serial2 = &uart_AO_B; /* External UART (Wireless Module) */ + ethernet0 = ðmac; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + /* 1024MB RAM */ + memory@0 { + device_type = "memory"; + reg = <0x0 0x0 0x0 0x40000000>; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + linux,cma { + compatible = "shared-dma-pool"; + reusable; size = <0x0 0x400000>; + alignment = <0x0 0x400000>; + linux,cma-default; + }; + }; + + 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 = <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 */ + }; + + partitions: partitions { + parts = <1>; + part-0 = <&rootfs>; + rootfs: rootfs { + pname = "rootfs"; + size = <0xffffffff 0xffffffff>; + mask = <4>; + }; + }; + + efusekey: efusekey { + keynum = <5>; + key0 = <&key_0>; + key1 = <&key_1>; + key2 = <&key_2>; + key3 = <&key_3>; + key4 = <&key_4>; + + key_0: key_0 { + keyname = "mac"; + offset = <0>; + size = <6>; + }; + key_1: key_1 { + keyname = "mac_bt"; + offset = <6>; + size = <6>; + }; + key_2: key_2 { + keyname = "mac_wifi"; + offset = <12>; + size = <6>; + }; + key_3: key_3 { + keyname = "usid"; + offset = <18>; + size = <32>; + }; + key_4: key_4 { + keyname = "serial"; + offset = <50>; + size = <32>; + }; + }; //End efusekey + + unifykey { + compatible = "amlogic, unifykey"; + status = "ok"; + unifykey-num = <6>; + unifykey-index-0 = <&keysn_0>; + unifykey-index-1 = <&keysn_1>; + unifykey-index-2 = <&keysn_2>; + unifykey-index-3 = <&keysn_3>; + unifykey-index-4 = <&keysn_4>; + unifykey-index-5 = <&keysn_5>; + + keysn_0: key_0 { + key-name = "usid"; + key-device = "normal"; + key-permit = "read"; + }; + keysn_1: key_1 { + key-name = "mac"; + key-device = "normal"; + key-permit = "read"; + }; + keysn_2: key_2 { + key-name = "mac_bt"; + key-device = "normal"; + key-permit = "read","write","del"; + key-type = "mac"; + }; + keysn_3: key_3 { + key-name = "mac_wifi"; + key-device = "normal"; + key-permit = "read","write","del"; + key-type = "mac"; + }; + keysn_4: key_4 { + key-name = "serial"; + key-device = "normal"; + key-permit = "read"; + }; + keysn_5:key_5 { + key-name = "deviceid"; + key-device = "normal"; + key-permit = "read","write","del"; + }; + }; //End unifykey + + 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>; + }; + }; + }; +}; + +ðmac { + status = "okay"; + pinctrl-0 = <ð_rmii_x_pins>; + pinctrl-names = "default"; + phy-handle = <ð_phy0>; + phy-mode = "rmii"; + internal_phy=<0>; + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; + + 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; + sd-uhs-sdr104; + max-frequency = <200000000>; + non-removable; + disable-wp; + + mmc-pwrseq = <&sdio_pwrseq>; + + vmmc-supply = <&vddao_3v3>; + vqmmc-supply = <&vddio_boot>; + + brcmf: wifi@1 { + reg = <1>; + compatible = "brcm,bcm4329-fmac"; + }; +}; + +/* 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 = <&vddio_boot>; +}; + +/* 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"; +}; + +&audio { + status = "disabled"; +}; + +&efuse { + status = "okay"; + compatible = "amlogic,meson-gxbb-efuse", "amlogic, efuse"; + read_cmd = <0x82000030>; + write_cmd = <0x82000031>; + get_max_cmd = <0x82000033>; + key = <&efusekey>; + clock-names = "efuse_clk"; +}; + +&gpio { + interrupt-parent = <&gpio_intc>; + interrupt-controller; + #interrupt-cells = <2>; + 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 + "", "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>; +}; + -- 2.30.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/3] arm64: dts: meson-axg: add support for JetHub D1 2021-09-02 13:05 ` [PATCH 2/3] arm64: dts: meson-axg: add support for JetHub D1 Vyacheslav Bocharov @ 2021-09-02 13:27 ` Neil Armstrong 0 siblings, 0 replies; 7+ messages in thread From: Neil Armstrong @ 2021-09-02 13:27 UTC (permalink / raw) To: Vyacheslav Bocharov, Kevin Hilman Cc: linux-amlogic, linux-arm-kernel, linux-kernel Hi, On 02/09/2021 15:05, Vyacheslav Bocharov wrote: > JetHome Jethub D1 (http://jethome.ru/jethub-d1) 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 > - 512Mb/1GB LPDDR4 > - 8/16GB eMMC flash > - 1 x USB 2.0 > - 1 x 10/100Mbps ethernet > - WiFi / Bluetooth AMPAK AP6255 (Broadcom BCM43455) IEEE 802.11a/b/g/n/ac, Bluetooth 4.2. > - TI CC2538 + CC2592 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 / Passive POE > > Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in> > --- > arch/arm64/boot/dts/amlogic/Makefile | 1 + > .../amlogic/meson-axg-jethome-jethub-j100.dts | 439 ++++++++++++++++++ > 2 files changed, 440 insertions(+) > create mode 100644 arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j100.dts > > diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile > index 2c3ce7c401a5..3ba6f58b9833 100644 > --- a/arch/arm64/boot/dts/amlogic/Makefile > +++ b/arch/arm64/boot/dts/amlogic/Makefile > @@ -1,5 +1,6 @@ > # SPDX-License-Identifier: GPL-2.0 > dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb > +dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j100.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb > 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 > new file mode 100644 > index 000000000000..68d688528c86 > --- /dev/null > +++ b/arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j100.dts > @@ -0,0 +1,439 @@ Please add a proper SPDX Licence identifier. Don't you want to add a proper copyright header ? > + > +/dts-v1/; > + > +#include "meson-axg.dtsi" > +#include <dt-bindings/input/input.h> > +#include <dt-bindings/thermal/thermal.h> > + > +/ { > + compatible = "jethome,j100", "amlogic,a113d", "amlogic,meson-axg"; > + model = "JetHome JetHub J100"; > + amlogic-dt-id = "axg_jethubj100_v1"; This attribute hasn't any upstream bindings, please remove it. > + > + aliases { > + serial0 = &uart_AO; /* Console */ > + serial1 = &uart_B; /* Bluetooth */ Usually we don't add an alias for a serial port with a subnode (here bluetooth). > + serial2 = &uart_AO_B; /* External UART (Wireless Module) */ > + ethernet0 = ðmac; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > + > + /* 1024MB RAM */ > + memory@0 { > + device_type = "memory"; > + reg = <0x0 0x0 0x0 0x40000000>; > + }; > + > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + linux,cma { > + compatible = "shared-dma-pool"; > + reusable; size = <0x0 0x400000>; > + alignment = <0x0 0x400000>; > + linux,cma-default; > + }; > + }; If you want to reduce the cma pool size, simply add: 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 = <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 */ > + }; > + > + partitions: partitions { > + parts = <1>; > + part-0 = <&rootfs>; > + rootfs: rootfs { > + pname = "rootfs"; > + size = <0xffffffff 0xffffffff>; > + mask = <4>; > + }; > + }; This node hasn't any upstream bindings, please remove it. > + > + efusekey: efusekey { > + keynum = <5>; > + key0 = <&key_0>; > + key1 = <&key_1>; > + key2 = <&key_2>; > + key3 = <&key_3>; > + key4 = <&key_4>; > + > + key_0: key_0 { > + keyname = "mac"; > + offset = <0>; > + size = <6>; > + }; > + key_1: key_1 { > + keyname = "mac_bt"; > + offset = <6>; > + size = <6>; > + }; > + key_2: key_2 { > + keyname = "mac_wifi"; > + offset = <12>; > + size = <6>; > + }; > + key_3: key_3 { > + keyname = "usid"; > + offset = <18>; > + size = <32>; > + }; > + key_4: key_4 { > + keyname = "serial"; > + offset = <50>; > + size = <32>; > + }; > + }; //End efusekey This node hasn't any upstream bindings, please remove it. > + > + unifykey { > + compatible = "amlogic, unifykey"; > + status = "ok"; > + unifykey-num = <6>; > + unifykey-index-0 = <&keysn_0>; > + unifykey-index-1 = <&keysn_1>; > + unifykey-index-2 = <&keysn_2>; > + unifykey-index-3 = <&keysn_3>; > + unifykey-index-4 = <&keysn_4>; > + unifykey-index-5 = <&keysn_5>; > + > + keysn_0: key_0 { > + key-name = "usid"; > + key-device = "normal"; > + key-permit = "read"; > + }; > + keysn_1: key_1 { > + key-name = "mac"; > + key-device = "normal"; > + key-permit = "read"; > + }; > + keysn_2: key_2 { > + key-name = "mac_bt"; > + key-device = "normal"; > + key-permit = "read","write","del"; > + key-type = "mac"; > + }; > + keysn_3: key_3 { > + key-name = "mac_wifi"; > + key-device = "normal"; > + key-permit = "read","write","del"; > + key-type = "mac"; > + }; > + keysn_4: key_4 { > + key-name = "serial"; > + key-device = "normal"; > + key-permit = "read"; > + }; > + keysn_5:key_5 { > + key-name = "deviceid"; > + key-device = "normal"; > + key-permit = "read","write","del"; > + }; > + }; //End unifykey This node hasn't any upstream bindings, please remove it. > + > + 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>; > + }; > + }; > + }; > +}; > + > +ðmac { > + status = "okay"; > + pinctrl-0 = <ð_rmii_x_pins>; > + pinctrl-names = "default"; > + phy-handle = <ð_phy0>; > + phy-mode = "rmii"; > + internal_phy=<0>; This attribute hasn't any upstream bindings, please remove it. > + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; This is already defined in meson-axg.dtsi > + > + 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"; Is there an issue with autodetection of the PHY ? if no you can remove the compatible here. > + 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; > + sd-uhs-sdr104; > + max-frequency = <200000000>; > + non-removable; > + disable-wp; > + > + mmc-pwrseq = <&sdio_pwrseq>; > + > + vmmc-supply = <&vddao_3v3>; > + vqmmc-supply = <&vddio_boot>; > + > + brcmf: wifi@1 { > + reg = <1>; > + compatible = "brcm,bcm4329-fmac"; > + }; > +}; > + > +/* 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 = <&vddio_boot>; > +}; > + > +/* 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"; > +}; > + > +&audio { > + status = "disabled"; > +}; This is brutal, all the externally connected nodes are only disabled, so you can avoid disabling the bus entirely. > + > +&efuse { > + status = "okay"; > + compatible = "amlogic,meson-gxbb-efuse", "amlogic, efuse"; > + read_cmd = <0x82000030>; > + write_cmd = <0x82000031>; > + get_max_cmd = <0x82000033>; > + key = <&efusekey>; > + clock-names = "efuse_clk"; > +}; Looking at Documentation/devicetree/bindings/nvmem/amlogic-efuse.txt : remove "amlogic, efuse", and all the other attributes. > + > +&gpio { > + interrupt-parent = <&gpio_intc>; > + interrupt-controller; > + #interrupt-cells = <2>; This is not supported on upstream bindings, please remove. > + 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 > + "", "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>; > +}; > + > Thanks, Neil ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 3/3] dt-bindings: arm: amlogic: add bindings for JetHub D1/H1 2021-09-02 13:05 [PATCH 0/3] arm64: meson-axg: meson-gxl: add support for JetHub D1/H1 Vyacheslav Bocharov 2021-09-02 13:05 ` [PATCH 1/3] arm64: dts: meson-gxl: add support for JetHub H1 Vyacheslav Bocharov 2021-09-02 13:05 ` [PATCH 2/3] arm64: dts: meson-axg: add support for JetHub D1 Vyacheslav Bocharov @ 2021-09-02 13:05 ` Vyacheslav Bocharov 2021-09-02 13:29 ` Neil Armstrong 2 siblings, 1 reply; 7+ messages in thread From: Vyacheslav Bocharov @ 2021-09-02 13:05 UTC (permalink / raw) To: Neil Armstrong, Kevin Hilman Cc: linux-amlogic, linux-arm-kernel, linux-kernel, Vyacheslav Bocharov From: Vyacheslav Bocharov <devel@lexina.in> Add bindings for JetHome JetHub D1/H1 Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in> --- Documentation/devicetree/bindings/arm/amlogic.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml index 6423377710ee..b223d7829c3d 100644 --- a/Documentation/devicetree/bindings/arm/amlogic.yaml +++ b/Documentation/devicetree/bindings/arm/amlogic.yaml @@ -86,6 +86,7 @@ properties: - enum: - amlogic,p281 - oranth,tx3-mini + - jethome,jethub-j80 - const: amlogic,s905w - const: amlogic,meson-gxl @@ -133,6 +134,7 @@ properties: items: - enum: - amlogic,s400 + - jethome,jethub-j100 - const: amlogic,a113d - const: amlogic,meson-axg -- 2.30.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 3/3] dt-bindings: arm: amlogic: add bindings for JetHub D1/H1 2021-09-02 13:05 ` [PATCH 3/3] dt-bindings: arm: amlogic: add bindings for JetHub D1/H1 Vyacheslav Bocharov @ 2021-09-02 13:29 ` Neil Armstrong 0 siblings, 0 replies; 7+ messages in thread From: Neil Armstrong @ 2021-09-02 13:29 UTC (permalink / raw) To: Vyacheslav Bocharov, Kevin Hilman Cc: linux-amlogic, linux-arm-kernel, linux-kernel, Vyacheslav Bocharov Hi, On 02/09/2021 15:05, Vyacheslav Bocharov wrote: > From: Vyacheslav Bocharov <devel@lexina.in> > > Add bindings for JetHome JetHub D1/H1 > > Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in> > --- > Documentation/devicetree/bindings/arm/amlogic.yaml | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml > index 6423377710ee..b223d7829c3d 100644 > --- a/Documentation/devicetree/bindings/arm/amlogic.yaml > +++ b/Documentation/devicetree/bindings/arm/amlogic.yaml > @@ -86,6 +86,7 @@ properties: > - enum: > - amlogic,p281 > - oranth,tx3-mini > + - jethome,jethub-j80 > - const: amlogic,s905w > - const: amlogic,meson-gxl > > @@ -133,6 +134,7 @@ properties: > items: > - enum: > - amlogic,s400 > + - jethome,jethub-j100 > - const: amlogic,a113d > - const: amlogic,meson-axg > > Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> Could you put this patch first and also CC devicetree@vger.kernel.org ? Thanks, Neil ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-09-02 13:29 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-09-02 13:05 [PATCH 0/3] arm64: meson-axg: meson-gxl: add support for JetHub D1/H1 Vyacheslav Bocharov 2021-09-02 13:05 ` [PATCH 1/3] arm64: dts: meson-gxl: add support for JetHub H1 Vyacheslav Bocharov 2021-09-02 13:19 ` Neil Armstrong 2021-09-02 13:05 ` [PATCH 2/3] arm64: dts: meson-axg: add support for JetHub D1 Vyacheslav Bocharov 2021-09-02 13:27 ` Neil Armstrong 2021-09-02 13:05 ` [PATCH 3/3] dt-bindings: arm: amlogic: add bindings for JetHub D1/H1 Vyacheslav Bocharov 2021-09-02 13:29 ` Neil Armstrong
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).