From daba99e4fded182f1f235a124aec05478c5dfb3b Mon Sep 17 00:00:00 2001 From: Hal Feng Date: Thu, 14 Mar 2024 14:07:09 +0800 Subject: riscv: dts: starfive: visionfive2: Rename jh7110-visionfive-v2-*.dts to jh7110-starfive-visionfive-2-*.dts Rename the dts file, for sync with Linux mainline. Signed-off-by: Hal Feng --- arch/riscv/boot/dts/starfive/Makefile | 12 +- .../starfive/jh7110-starfive-visionfive-2-A10.dts | 199 +++++ .../starfive/jh7110-starfive-visionfive-2-A11.dts | 207 +++++ .../jh7110-starfive-visionfive-2-ac108.dts | 23 + .../jh7110-starfive-visionfive-2-sof-wm8960.dts | 36 + .../jh7110-starfive-visionfive-2-v1.3b.dts | 299 +++++++ .../jh7110-starfive-visionfive-2-wm8960.dts | 27 + .../dts/starfive/jh7110-starfive-visionfive-2.dtsi | 987 +++++++++++++++++++++ .../boot/dts/starfive/jh7110-visionfive-v2-A10.dts | 199 ----- .../boot/dts/starfive/jh7110-visionfive-v2-A11.dts | 207 ----- .../dts/starfive/jh7110-visionfive-v2-ac108.dts | 23 - .../starfive/jh7110-visionfive-v2-sof-wm8960.dts | 36 - .../dts/starfive/jh7110-visionfive-v2-wm8960.dts | 27 - .../boot/dts/starfive/jh7110-visionfive-v2.dts | 299 ------- .../boot/dts/starfive/jh7110-visionfive-v2.dtsi | 987 --------------------- 15 files changed, 1784 insertions(+), 1784 deletions(-) create mode 100644 arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-A10.dts create mode 100644 arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-A11.dts create mode 100644 arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-ac108.dts create mode 100644 arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-sof-wm8960.dts create mode 100644 arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-v1.3b.dts create mode 100644 arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-wm8960.dts create mode 100644 arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi delete mode 100644 arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-A10.dts delete mode 100644 arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-A11.dts delete mode 100644 arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-ac108.dts delete mode 100644 arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-sof-wm8960.dts delete mode 100644 arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-wm8960.dts delete mode 100644 arch/riscv/boot/dts/starfive/jh7110-visionfive-v2.dts delete mode 100644 arch/riscv/boot/dts/starfive/jh7110-visionfive-v2.dtsi diff --git a/arch/riscv/boot/dts/starfive/Makefile b/arch/riscv/boot/dts/starfive/Makefile index 9919dcdb9839..75b3d593c783 100644 --- a/arch/riscv/boot/dts/starfive/Makefile +++ b/arch/riscv/boot/dts/starfive/Makefile @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 subdir-y += evb-overlay vf2-overlay -dtb-$(CONFIG_SOC_STARFIVE_JH7110) += jh7110-visionfive-v2.dtb \ +dtb-$(CONFIG_SOC_STARFIVE_JH7110) += jh7110-starfive-visionfive-2-v1.3b.dtb \ jh7110-evb.dtb \ jh7110-fpga.dtb \ jh7110-evb-can-pdm-pwmdac.dtb \ @@ -12,8 +12,8 @@ dtb-$(CONFIG_SOC_STARFIVE_JH7110) += jh7110-visionfive-v2.dtb \ jh7110-evb-uart4-emmc-spdif.dtb \ jh7110-evb-uart5-pwm-i2c-tdm.dtb\ jh7110-evb-usbdevice.dtb \ - jh7110-visionfive-v2-A10.dtb \ - jh7110-visionfive-v2-A11.dtb \ - jh7110-visionfive-v2-wm8960.dtb \ - jh7110-visionfive-v2-sof-wm8960.dtb \ - jh7110-visionfive-v2-ac108.dtb + jh7110-starfive-visionfive-2-A10.dtb \ + jh7110-starfive-visionfive-2-A11.dtb \ + jh7110-starfive-visionfive-2-wm8960.dtb \ + jh7110-starfive-visionfive-2-sof-wm8960.dtb \ + jh7110-starfive-visionfive-2-ac108.dtb diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-A10.dts b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-A10.dts new file mode 100644 index 000000000000..6c4e1175f5c1 --- /dev/null +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-A10.dts @@ -0,0 +1,199 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT +/* + * Copyright (C) 2022 StarFive Technology Co., Ltd. + * Copyright (C) 2022 Hal Feng + * For VisionFive2 version A1.0 + */ + +/dts-v1/; +#include "jh7110-starfive-visionfive-2.dtsi" + +/ { + model = "StarFive VisionFive V2"; + compatible = "starfive,visionfive-v2", "starfive,jh7110"; +}; + +&gpio { + uart0_pins: uart0-pins { + uart0-pins-tx { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + + uart0-pins-rx { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + }; + + i2c2_pins: i2c2-pins { + i2c2-pins-scl { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + i2c2-pins-sda { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + }; + + mmc0_pins: mmc0-pins { + mmc0-pins-rest { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + }; + + sdcard1_pins: sdcard1-pins { + sdcard1-pins0 { + starfive,pins = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + + sdcard1-pins1 { + starfive,pins = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + sdcard1-pins2 { + starfive,pins = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + sdcard1-pins3 { + starfive,pins = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + sdcard1-pins4 { + starfive,pins = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + sdcard1-pins5 { + starfive,pins = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + }; + + inno_hdmi_pins: inno_hdmi-pins { + inno_hdmi-scl { + starfive,pins = ; + //starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + inno_hdmi-sda { + starfive,pins = ; + //starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + inno_hdmi-cec-pins { + starfive,pins = ; + //starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-din = ; + }; + inno_hdmi-hpd-pins { + starfive,pins = ; + //starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + }; + + pcie0_vbus_default: pcie0_vbus_default { + drive-vbus-pin { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + }; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pins>; + status = "okay"; +}; + +&i2c2 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c2_pins>; + status = "okay"; +}; + +&sdio0 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_pins>; + status = "okay"; +}; + +&sdio1 { + pinctrl-names = "default"; + pinctrl-0 = <&sdcard1_pins>; + //cd-gpios = <&gpio 6 0>; + status = "okay"; +}; + +&hdmi { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&inno_hdmi_pins>; +}; + +&pcie0 { + pinctrl-names = "default", "perst-default", "perst-active"; + pinctrl-0 = <&pcie0_wake_default>, + <&pcie0_clkreq_default>, + <&pcie0_vbus_default>; + pinctrl-1 = <&pcie0_perst_default>; + pinctrl-2 = <&pcie0_perst_active>; + status = "okay"; +}; diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-A11.dts b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-A11.dts new file mode 100644 index 000000000000..8805a6b32e75 --- /dev/null +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-A11.dts @@ -0,0 +1,207 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT +/* + * Copyright (C) 2022 StarFive Technology Co., Ltd. + * Copyright (C) 2022 Hal Feng + * For VisionFive2 version A1.1 + */ + +/dts-v1/; +#include "jh7110-starfive-visionfive-2.dtsi" + +/ { + model = "StarFive VisionFive V2"; + compatible = "starfive,visionfive-v2", "starfive,jh7110"; + + gpio-restart { + compatible = "gpio-restart"; + gpios = <&gpio 35 GPIO_ACTIVE_HIGH>; + priority = <224>; + }; + +}; + +&gpio { + uart0_pins: uart0-pins { + uart0-pins-tx { + starfive,pins = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + + uart0-pins-rx { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + }; + + i2c2_pins: i2c2-pins { + i2c2-pins-scl { + starfive,pins = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + i2c2-pins-sda { + starfive,pins = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + }; + + mmc0_pins: mmc0-pins { + mmc0-pins-rest { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + }; + + sdcard1_pins: sdcard1-pins { + sdcard1-pins0 { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + + sdcard1-pins1 { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + sdcard1-pins2 { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + sdcard1-pins3 { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + sdcard1-pins4 { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + sdcard1-pins5 { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + }; + + inno_hdmi_pins: inno_hdmi-pins { + inno_hdmi-scl { + starfive,pins = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + inno_hdmi-sda { + starfive,pins = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + inno_hdmi-cec-pins { + starfive,pins = ; + //starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-din = ; + }; + inno_hdmi-hpd-pins { + starfive,pins = ; + //starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + }; + + pcie0_vbus_default: pcie0_vbus_default { + drive-vbus-pin { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + }; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pins>; + status = "okay"; +}; + +&i2c2 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c2_pins>; + status = "okay"; +}; + +&sdio0 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_pins>; + status = "okay"; +}; + +&sdio1 { + pinctrl-names = "default"; + pinctrl-0 = <&sdcard1_pins>; + //cd-gpios = <&gpio 41 0>; + status = "okay"; +}; + +&hdmi { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&inno_hdmi_pins>; +}; + +&pcie0 { + pinctrl-names = "default", "perst-default", "perst-active"; + pinctrl-0 = <&pcie0_wake_default>, + <&pcie0_clkreq_default>, + <&pcie0_vbus_default>; + pinctrl-1 = <&pcie0_perst_default>; + pinctrl-2 = <&pcie0_perst_active>; + status = "okay"; +}; diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-ac108.dts b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-ac108.dts new file mode 100644 index 000000000000..caeb0e5fe4ad --- /dev/null +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-ac108.dts @@ -0,0 +1,23 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT +/* + * Copyright (C) 2022 StarFive Technology Co., Ltd. + * Copyright (C) 2022 Hal Feng + */ + +/dts-v1/; +#include "jh7110-starfive-visionfive-2-v1.3b.dts" +#include "codecs/sf_ac108.dtsi" + +&i2c0 { + ac108_a: ac108@3b { + compatible = "x-power,ac108_0"; + reg = <0x3b>; + #sound-dai-cells = <0>; + data-protocol = <0>; + }; +}; + +&i2srx_3ch { + status = "okay"; +}; + diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-sof-wm8960.dts b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-sof-wm8960.dts new file mode 100644 index 000000000000..4f0cd506159f --- /dev/null +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-sof-wm8960.dts @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT +/* + * Copyright (C) 2022 StarFive Technology Co., Ltd. + * Copyright (C) 2022 Hal Feng + */ + +/dts-v1/; +#include "jh7110-starfive-visionfive-2-v1.3b.dts" +#include "codecs/sof_wm8960.dtsi" + +&i2c0 { + status = "okay"; + wm8960: codec@1a { + compatible = "wlf,wm8960"; + reg = <0x1a>; + #sound-dai-cells = <0>; + + wlf,shared-lrclk; + }; +}; + +&pdm { + status = "disabled"; +}; + +&mailbox_client0 { + status = "disabled"; +}; + +&sof_tdm { + status = "okay"; +}; + +&sof_dsp { + status = "okay"; +}; \ No newline at end of file diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-v1.3b.dts b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-v1.3b.dts new file mode 100644 index 000000000000..e0b5736c6312 --- /dev/null +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-v1.3b.dts @@ -0,0 +1,299 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT +/* + * Copyright (C) 2022 StarFive Technology Co., Ltd. + * Copyright (C) 2022 Hal Feng + */ + +/dts-v1/; +#include "jh7110-starfive-visionfive-2.dtsi" +#include "codecs/sf_hdmi.dtsi" + +/ { + model = "StarFive VisionFive V2"; + compatible = "starfive,visionfive-v2", "starfive,jh7110"; + + gpio-restart { + compatible = "gpio-restart"; + gpios = <&gpio 35 GPIO_ACTIVE_HIGH>; + priority = <160>; + }; + +}; + +&gpio { + uart0_pins: uart0-pins { + uart0-pins-tx { + starfive,pins = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + + uart0-pins-rx { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + }; + + i2c2_pins: i2c2-pins { + i2c2-pins-scl { + starfive,pins = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + i2c2-pins-sda { + starfive,pins = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + }; + + mmc0_pins: mmc0-pins { + mmc0-pins-rest { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + + mmc0-pins-cLK { + starfive,pins = ; + starfive,pin-ioconfig = ; + }; + + mmc0-pins-cmd { + starfive,pins = ; + starfive,pin-ioconfig = ; + }; + + mmc0-pins-data0 { + starfive,pins = ; + starfive,pin-ioconfig = ; + }; + + mmc0-pins-data1 { + starfive,pins = ; + starfive,pin-ioconfig = ; + }; + + mmc0-pins-data2 { + starfive,pins = ; + starfive,pin-ioconfig = ; + }; + + mmc0-pins-data3 { + starfive,pins = ; + starfive,pin-ioconfig = ; + }; + + mmc0-pins-data4 { + starfive,pins = ; + starfive,pin-ioconfig = ; + }; + + mmc0-pins-data5 { + starfive,pins = ; + starfive,pin-ioconfig = ; + }; + + mmc0-pins-data6 { + starfive,pins = ; + starfive,pin-ioconfig = ; + }; + + mmc0-pins-data7 { + starfive,pins = ; + starfive,pin-ioconfig = ; + }; + }; + + sdcard1_pins: sdcard1-pins { + sdcard1-pins0 { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + + sdcard1-pins1 { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + sdcard1-pins2 { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + sdcard1-pins3 { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + sdcard1-pins4 { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + sdcard1-pins5 { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + }; + + inno_hdmi_pins: inno_hdmi-pins { + inno_hdmi-scl { + starfive,pins = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + inno_hdmi-sda { + starfive,pins = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + inno_hdmi-cec-pins { + starfive,pins = ; + //starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-din = ; + }; + inno_hdmi-hpd-pins { + starfive,pins = ; + //starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + }; + + mclk_ext_pins: mclk_ext_pins { + mclk_ext_pins { + starfive,pins = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-din = ; + starfive,pin-gpio-doen = ; + }; + }; + + tdm0_pins: tdm0-pins { + tdm0-pins-tx { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + + tdm0-pins-rx { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + tdm0-pins-sync { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + tdm0-pins-pcmclk { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + }; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pins>; + status = "okay"; +}; + +&i2c2 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c2_pins>; + status = "okay"; +}; + +&sdio0 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_pins>; + status = "okay"; +}; + +&sdio1 { + pinctrl-names = "default"; + pinctrl-0 = <&sdcard1_pins>; + //cd-gpios = <&gpio 41 0>; + status = "okay"; +}; + +&hdmi { + pinctrl-names = "default"; + pinctrl-0 = <&inno_hdmi_pins>; + hpd-gpio = <&gpio 15 GPIO_ACTIVE_HIGH>; + status = "okay"; +}; + +&i2stx_4ch0 { + pinctrl-names = "default"; + pinctrl-0 = <&mclk_ext_pins>; + status = "okay"; +}; + +&cpu1 { + cpu-supply = <&cpu_vdd>; + clocks = <&clkgen JH7110_CPU_CORE>; + clock-names = "cpu"; +}; + +&tdm { + pinctrl-names = "default"; + pinctrl-0 = <&tdm0_pins>; + status = "disabled"; +}; diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-wm8960.dts b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-wm8960.dts new file mode 100644 index 000000000000..99fa15d1ee47 --- /dev/null +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-wm8960.dts @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT +/* + * Copyright (C) 2022 StarFive Technology Co., Ltd. + * Copyright (C) 2022 Hal Feng + */ + +/dts-v1/; +#include "jh7110-starfive-visionfive-2-v1.3b.dts" +#include "codecs/sf_wm8960.dtsi" + +&i2c0 { + wm8960: codec@1a { + compatible = "wlf,wm8960"; + reg = <0x1a>; + #sound-dai-cells = <0>; + + wlf,shared-lrclk; + }; +}; + +&i2srx_3ch { + status = "okay"; +}; + +&i2stx_4ch1 { + status = "okay"; +}; diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi new file mode 100644 index 000000000000..32629bb82be0 --- /dev/null +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi @@ -0,0 +1,987 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT +/* + * Copyright (C) 2022 StarFive Technology Co., Ltd. + * Copyright (C) 2022 Hal Feng + */ + +/dts-v1/; +#include +#include +#include +#include "jh7110.dtsi" +#include "codecs/sf_pwmdac.dtsi" + +/ { + model = "StarFive VisionFive V2"; + compatible = "starfive,visionfive-v2", "starfive,jh7110"; + + aliases { + spi0 = &qspi; + gpio0 = &gpio; + ethernet0 = &gmac0; + ethernet1 = &gmac1; + mmc0 = &sdio0; + mmc1 = &sdio1; + serial0 = &uart0; + serial3 = &uart3; + i2c0 = &i2c0; + i2c1 = &i2c1; + i2c2 = &i2c2; + i2c3 = &i2c3; + i2c4 = &i2c4; + i2c5 = &i2c5; + i2c6 = &i2c6; + }; + + chosen { + linux,initrd-start = <0x0 0x46100000>; + linux,initrd-end = <0x0 0x4c000000>; + stdout-path = "serial0:115200"; + #bootargs = "debug console=ttyS0 rootwait"; + }; + + cpus { + timebase-frequency = <4000000>; + }; + + memory@40000000 { + device_type = "memory"; + reg = <0x0 0x40000000 0x1 0x0>; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + linux,cma { + compatible = "shared-dma-pool"; + reusable; + size = <0x0 0x20000000>; + alignment = <0x0 0x1000>; + alloc-ranges = <0x0 0x70000000 0x0 0x20000000>; + linux,cma-default; + }; + + e24_mem: e24@c0000000 { + reg = <0x0 0x6ce00000 0x0 0x1600000>; + }; + + hifi4_reserved: hifi4@f0000000 { + reg = <0x0 0x69c00000 0x0 0x03001000>; + }; + + }; + + leds { + compatible = "gpio-leds"; + + led-ack { + gpios = <&gpioa 3 GPIO_ACTIVE_HIGH>; + color = ; + function = LED_FUNCTION_HEARTBEAT; + linux,default-trigger = "heartbeat"; + label = "ack"; + }; + }; + + backlight: backlight { + compatible = "pwm-backlight"; + pwms = <&ptc 2 5000000 1 >; + status = "okay"; + brightness-levels = < + 0 1 2 3 4 5 6 7 + 8 9 10 11 12 13 14 15 + 16 17 18 19 20 21 22 23 + 24 25 26 27 28 29 30 31 + 32 33 34 35 36 37 38 39 + 40 41 42 43 44 45 46 47 + 48 49 50 51 52 53 54 55 + 56 57 58 59 60 61 62 63 + 64 65 66 67 68 69 70 71 + 72 73 74 75 76 77 78 79 + 80 81 82 83 84 85 86 87 + 88 89 90 91 92 93 94 95 + 96 97 98 99 100 101 102 103 + 104 105 106 107 108 109 110 111 + 112 113 114 115 116 117 118 119 + 120 121 122 123 124 125 126 127 + 128 129 130 131 132 133 134 135 + 136 137 138 139 140 141 142 143 + 144 145 146 147 148 149 150 151 + 152 153 154 155 156 157 158 159 + 160 161 162 163 164 165 166 167 + 168 169 170 171 172 173 174 175 + 176 177 178 179 180 181 182 183 + 184 185 186 187 188 189 190 191 + 192 193 194 195 196 197 198 199 + 200 201 202 203 204 205 206 207 + 208 209 210 211 212 213 214 215 + 216 217 218 219 220 221 222 223 + 224 225 226 227 228 229 230 231 + 232 233 234 235 236 237 238 239 + 240 241 242 243 244 245 246 247 + 248 249 250 251 252 253 254 255>; + default-brightness-level = <255>; + }; + + +}; + +&gpio { + i2c0_pins: i2c0-pins { + i2c0-pins-scl { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + i2c0-pins-sda { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + }; + + i2c5_pins: i2c5-pins { + i2c5-pins-scl { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + i2c5-pins-sda { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + }; + + i2c6_pins: i2c6-pins { + i2c6-pins-scl { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + i2c6-pins-sda { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + }; + + pwmdac0_pins: pwmdac0-pins { + pwmdac0-pins-left { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + + pwmdac0-pins-right { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + }; + + pwm_pins: pwm-pins { + pwm_ch0-pins { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + + pwm_ch1-pins { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + + pwm_ch2-pins { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + + }; + + ssp0_pins: ssp0-pins { + ssp0-pins_tx { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + + ssp0-pins_rx { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + + ssp0-pins_clk { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + + ssp0-pins_cs { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + }; + + pcie0_perst_default: pcie0_perst_default { + perst-pins { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + }; + + pcie0_perst_active: pcie0_perst_active { + perst-pins { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + }; + + pcie0_wake_default: pcie0_wake_default { + wake-pins { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-doen = ; + }; + }; + + pcie0_clkreq_default: pcie0_clkreq_default { + clkreq-pins { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-doen = ; + }; + }; + + pcie1_perst_default: pcie1_perst_default { + perst-pins { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + }; + + pcie1_perst_active: pcie1_perst_active { + perst-pins { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + }; + + pcie1_wake_default: pcie1_wake_default { + wake-pins { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-doen = ; + }; + }; + + pcie1_clkreq_default: pcie1_clkreq_default { + clkreq-pins { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-doen = ; + }; + }; + + usb_pins: usb-pins { + drive-vbus-pin { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + }; + + i2srx_pins: i2srx-pins { + i2srx-pins0 { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-doen = ; + starfive,pin-gpio-din = ; + }; + }; + + i2s_clk_pins: i2s-clk0 { + i2s-clk0_bclk { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-din = ; + starfive,pin-gpio-doen = ; + }; + + i2s-clk0_lrclk { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-din = ; + starfive,pin-gpio-doen = ; + }; + }; + + i2stx_pins: i2stx-pins { + i2stx-pins0 { + starfive,pins = ; + starfive,pinmux = ; + starfive,pin-ioconfig = ; + starfive,pin-gpio-dout = ; + starfive,pin-gpio-doen = ; + }; + }; +}; + +&uart0 { + status = "okay"; +}; + +&dma { + status = "okay"; +}; + +&trng { + status = "okay"; +}; + +&crypto { + status = "okay"; +}; + +&sec_dma { + status = "okay"; +}; + +&i2c0 { + clock-frequency = <100000>; + i2c-sda-hold-time-ns = <300>; + i2c-sda-falling-time-ns = <510>; + i2c-scl-falling-time-ns = <510>; + auto_calc_scl_lhcnt; + pinctrl-names = "default"; + pinctrl-0 = <&i2c0_pins>; + status = "okay"; +}; + +&i2c2 { + clock-frequency = <100000>; + i2c-sda-hold-time-ns = <300>; + i2c-sda-falling-time-ns = <510>; + i2c-scl-falling-time-ns = <510>; + auto_calc_scl_lhcnt; + status = "okay"; + + seeed_plane_i2c@45 { + compatible = "seeed_panel"; + reg = <0x45>; + + port { + panel_out0: endpoint { + remote-endpoint = <&dsi0_output>; + }; + }; + }; + + tinker_ft5406: tinker_ft5406@38 { + compatible = "tinker_ft5406"; + reg = <0x38>; + }; + + touchscreen@14 { + compatible = "goodix,gt911"; + reg = <0x14>; + irq-gpios = <&gpio 30 GPIO_ACTIVE_HIGH>; + reset-gpios = <&gpio 31 GPIO_ACTIVE_HIGH>; + }; + + panel_radxa@19 { + compatible ="starfive_jadard"; + reg = <0x19>; + reset-gpio = <&gpio 23 0>; + enable-gpio = <&gpio 22 0>; + + port { + panel_out1: endpoint { + remote-endpoint = <&dsi1_output>; + }; + }; + }; + +}; + +&i2c5 { + clock-frequency = <100000>; + i2c-sda-hold-time-ns = <300>; + i2c-sda-falling-time-ns = <510>; + i2c-scl-falling-time-ns = <510>; + auto_calc_scl_lhcnt; + pinctrl-names = "default"; + pinctrl-0 = <&i2c5_pins>; + status = "okay"; + + eeprom@50 { + compatible = "atmel,24c04"; + reg = <0x50>; + pagesize = <16>; + }; + + pmic: axp15060_reg@36 { + compatible = "stf,axp15060-regulator"; + reg = <0x36>; + + regulators { + mipi_0p9: ALDO1 { + regulator-boot-on; + regulator-compatible = "mipi_0p9"; + regulator-name = "mipi_0p9"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + }; + hdmi_0p9: ALDO5 { + regulator-boot-on; + regulator-compatible = "hdmi_0p9"; + regulator-name = "hdmi_0p9"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + }; + hdmi_1p8: ALDO3 { + regulator-boot-on; + regulator-compatible = "hdmi_1p8"; + regulator-name = "hdmi_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + sdio_vdd: ALDO4 { + regulator-boot-on; + regulator-always-on; + regulator-compatible = "sdio_vdd"; + regulator-name = "sdio_vdd"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + vcc_3v3: DCDC1 { + regulator-boot-on; + regulator-always-on; + regulator-compatible = "vcc_3v3"; + regulator-name = "vcc_3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + cpu_vdd: DCDC2 { + regulator-boot-on; + regulator-always-on; + regulator-compatible = "cpu_vdd"; + regulator-name = "cpu_vdd"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1540000>; + }; + }; + }; +}; + +&i2c6 { + clock-frequency = <100000>; + i2c-sda-hold-time-ns = <300>; + i2c-sda-falling-time-ns = <510>; + i2c-scl-falling-time-ns = <510>; + auto_calc_scl_lhcnt; + pinctrl-names = "default"; + pinctrl-0 = <&i2c6_pins>; + status = "okay"; + + imx219: imx219@10 { + compatible = "sony,imx219"; + reg = <0x10>; + clocks = <&clk_ext_camera>; + clock-names = "xclk"; + reset-gpio = <&gpio 18 0>; + //DOVDD-supply = <&v2v8>; + rotation = <0>; + orientation = <1>; //CAMERA_ORIENTATION_BACK + + port { + /* CSI2 bus endpoint */ + imx219_to_csi2rx0: endpoint { + remote-endpoint = <&csi2rx0_from_imx219>; + bus-type = <4>; /* MIPI CSI-2 D-PHY */ + clock-lanes = <4>; + data-lanes = <0 1>; + lane-polarities = <0 0 0>; + link-frequencies = /bits/ 64 <456000000>; + }; + }; + }; + + imx708: imx708@1a { + compatible = "sony,imx708"; + reg = <0x1a>; + clocks = <&clk_ext_camera>; + reset-gpio = <&gpio 18 0>; + + port { + imx708_to_csi2rx0: endpoint { + remote-endpoint = <&csi2rx0_from_imx708>; + data-lanes = <1 2>; + clock-noncontinuous; + link-frequencies = /bits/ 64 <450000000>; + }; + }; + }; + + ov4689: ov4689@36 { + compatible = "ovti,ov4689"; + reg = <0x36>; + clocks = <&clk_ext_camera>; + clock-names = "xclk"; + //reset-gpio = <&gpio 18 0>; + rotation = <180>; + + port { + /* Parallel bus endpoint */ + ov4689_to_csi2rx0: endpoint { + remote-endpoint = <&csi2rx0_from_ov4689>; + bus-type = <4>; /* MIPI CSI-2 D-PHY */ + clock-lanes = <0>; + data-lanes = <1 2>; + }; + }; + }; +}; + +&sdio0 { + max-frequency = <100000000>; + assigned-clocks = <&clkgen JH7110_SDIO0_CLK_SDCARD>; + assigned-clock-rates = <50000000>; + card-detect-delay = <300>; + bus-width = <8>; + cap-mmc-highspeed; + mmc-hs200-1_8v; + non-removable; + cap-mmc-hw-reset; + post-power-on-delay-ms = <200>; + vmmc-supply = <&vcc_3v3>; + vqmmc-supply = <&sdio_vdd>; + status = "okay"; +}; + +&sdio1 { + max-frequency = <100000000>; + assigned-clocks = <&clkgen JH7110_SDIO1_CLK_SDCARD>; + assigned-clock-rates = <50000000>; + card-detect-delay = <300>; + bus-width = <4>; + cap-sd-highspeed; + no-sdio; + no-mmc; + broken-cd; + post-power-on-delay-ms = <200>; + status = "okay"; +}; + +&vin_sysctl { + /* when use dvp open this pinctrl*/ + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + + /* CSI2 bus endpoint */ + csi2rx0_from_imx219: endpoint@0 { + reg = <0>; + remote-endpoint = <&imx219_to_csi2rx0>; + bus-type = <4>; /* MIPI CSI-2 D-PHY */ + clock-lanes = <4>; + data-lanes = <0 1>; + lane-polarities = <0 0 0>; + status = "okay"; + }; + + csi2rx0_from_imx708: endpoint@1 { + reg = <1>; + remote-endpoint = <&imx708_to_csi2rx0>; + bus-type = <4>; /* MIPI CSI-2 D-PHY */ + clock-lanes = <4>; + data-lanes = <0 1>; + lane-polarities = <0 0 0>; + status = "okay"; + }; + + csi2rx0_from_ov4689: endpoint@2 { + reg = <2>; + remote-endpoint = <&ov4689_to_csi2rx0>; + bus-type = <4>; /* MIPI CSI-2 D-PHY */ + clock-lanes = <4>; + data-lanes = <0 1>; + status = "okay"; + }; + }; + }; +}; + +&sfctemp { + status = "okay"; +}; + +&jpu { + status = "okay"; +}; + +&vpu_dec { + status = "okay"; +}; + +&vpu_enc { + status = "okay"; +}; + +&gmac0 { + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + phy0: ethernet-phy@0 { + rgmii_sw_dr_2 = <0x0>; + rgmii_sw_dr = <0x3>; + rgmii_sw_dr_rxc = <0x6>; + rxc_dly_en = <0>; + rx_delay_sel = <0xa>; + tx_delay_sel_fe = <5>; + tx_delay_sel = <0xa>; + tx_inverted_10 = <0x1>; + tx_inverted_100 = <0x1>; + tx_inverted_1000 = <0x1>; + }; +}; + +&gmac1 { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + phy1: ethernet-phy@1 { + rgmii_sw_dr_2 = <0x0>; + rgmii_sw_dr = <0x3>; + rgmii_sw_dr_rxc = <0x6>; + tx_delay_sel_fe = <5>; + tx_delay_sel = <0>; + rxc_dly_en = <0>; + rx_delay_sel = <0x2>; + tx_inverted_10 = <0x1>; + tx_inverted_100 = <0x1>; + tx_inverted_1000 = <0x0>; + }; +}; + +&gpu { + status = "okay"; +}; + +&pwmdac { + pinctrl-names = "default"; + pinctrl-0 = <&pwmdac0_pins>; + status = "okay"; +}; + +&i2srx_3ch { + pinctrl-names = "default"; + pinctrl-0 = <&i2s_clk_pins &i2srx_pins>; + status = "disabled"; +}; + +&i2stx_4ch1 { + pinctrl-names = "default"; + pinctrl-0 = <&i2stx_pins>; + status = "disabled"; +}; + +&pwmdac_codec { + status = "okay"; +}; + +&spi0 { + pinctrl-names = "default"; + pinctrl-0 = <&ssp0_pins>; + status = "okay"; + + spi_dev0: spi@0 { + compatible = "rohm,dh2228fv"; + pl022,com-mode = <1>; + spi-max-frequency = <10000000>; + reg = <0>; + status = "okay"; + }; +}; + +&pcie0 { + pinctrl-names = "default"; + pinctrl-0 = <&pcie0_wake_default>, + <&pcie0_clkreq_default>; + reset-gpios = <&gpio 26 GPIO_ACTIVE_LOW>; + status = "okay"; +}; + +&pcie1 { + pinctrl-names = "default"; + pinctrl-0 = <&pcie1_wake_default>, + <&pcie1_clkreq_default>; + reset-gpios = <&gpio 28 GPIO_ACTIVE_LOW>; + status = "okay"; +}; + +&mailbox_contrl0 { + status = "okay"; +}; + +&mailbox_client0 { + status = "okay"; +}; + +&display { + status = "okay"; +}; + +&hdmi { + status = "okay"; + + hdmi_in: port { + #address-cells = <1>; + #size-cells = <0>; + hdmi_in_lcdc: endpoint@0 { + reg = <0>; + remote-endpoint = <&dc_out_dpi1>; + }; + }; +}; + +&dc8200 { + status = "okay"; + + dc_out: port { + #address-cells = <1>; + #size-cells = <0>; + dc_out_dpi0: endpoint@0 { + reg = <0>; + remote-endpoint = <&hdmi_input0>; + }; + dc_out_dpi1: endpoint@1 { + reg = <1>; + remote-endpoint = <&hdmi_in_lcdc>; + }; + + dc_out_dpi2: endpoint@2 { + reg = <2>; + remote-endpoint = <&mipi_in>; + }; + }; +}; + +&rgb_output { + status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + port@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + hdmi_input0:endpoint@0 { + reg = <0>; + remote-endpoint = <&dc_out_dpi0>; + }; + }; + }; +}; + +&dsi_output { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + mipi_in: endpoint { + remote-endpoint = <&dc_out_dpi2>; + }; + }; + + port@1 { + reg = <1>; + sf_dpi_output: endpoint { + remote-endpoint = <&dsi_in_port>; + }; + }; + }; +}; + +&mipi_dsi { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; + + dsi0_output: endpoint@0 { + reg = <0>; + remote-endpoint = <&panel_out0>; + }; + + dsi1_output: endpoint@1 { + reg = <1>; + remote-endpoint = <&panel_out1>; + }; + + }; + + port@1{ + reg = <1>; + dsi_in_port: endpoint { + remote-endpoint = <&sf_dpi_output>; + }; + }; + + }; +}; + +&mipi_dphy { + status = "okay"; +}; + +&co_process { + memory-region = <&e24_mem>; + status = "okay"; +}; + +&usbdrd30 { + clocks = <&clkgen JH7110_USB_125M>, + <&clkgen JH7110_USB0_CLK_APP_125>, + <&clkgen JH7110_USB0_CLK_LPM>, + <&clkgen JH7110_USB0_CLK_STB>, + <&clkgen JH7110_USB0_CLK_USB_APB>, + <&clkgen JH7110_USB0_CLK_AXI>, + <&clkgen JH7110_USB0_CLK_UTMI_APB>; + clock-names = "125m","app","lpm","stb","apb","axi","utmi"; + resets = <&rstgen RSTN_U0_CDN_USB_PWRUP>, + <&rstgen RSTN_U0_CDN_USB_APB>, + <&rstgen RSTN_U0_CDN_USB_AXI>, + <&rstgen RSTN_U0_CDN_USB_UTMI_APB>; + reset-names = "pwrup","apb","axi","utmi"; + starfive,usb2-only; + dr_mode = "peripheral"; /*host or peripheral*/ + status = "okay"; +}; + +&ptc { + pinctrl-names = "default"; + pinctrl-0 = <&pwm_pins>; + status = "okay"; +}; + +&sof_dsp { + memory-region = <&hifi4_reserved>; +}; + +&qspi { + nor_flash: nor-flash@0 { + compatible = "jedec,spi-nor"; + reg=<0>; + cdns,read-delay = <3>; + spi-max-frequency = <100000000>; + cdns,tshsl-ns = <1>; + cdns,tsd2d-ns = <1>; + cdns,tchsh-ns = <1>; + cdns,tslch-ns = <1>; + status = "okay"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + spl@0 { + reg = <0x0 0x40000>; + }; + uboot-env@100000 { + reg = <0xf0000 0x10000>; + }; + uboot@100000 { + reg = <0x100000 0x300000>; + }; + data@f00000 { + reg = <0xf00000 0x100000>; + }; + }; + }; +}; diff --git a/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-A10.dts b/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-A10.dts deleted file mode 100644 index db63f870ff28..000000000000 --- a/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-A10.dts +++ /dev/null @@ -1,199 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 OR MIT -/* - * Copyright (C) 2022 StarFive Technology Co., Ltd. - * Copyright (C) 2022 Hal Feng - * For VisionFive2 version A1.0 - */ - -/dts-v1/; -#include "jh7110-visionfive-v2.dtsi" - -/ { - model = "StarFive VisionFive V2"; - compatible = "starfive,visionfive-v2", "starfive,jh7110"; -}; - -&gpio { - uart0_pins: uart0-pins { - uart0-pins-tx { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - - uart0-pins-rx { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - }; - - i2c2_pins: i2c2-pins { - i2c2-pins-scl { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - i2c2-pins-sda { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - }; - - mmc0_pins: mmc0-pins { - mmc0-pins-rest { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - }; - - sdcard1_pins: sdcard1-pins { - sdcard1-pins0 { - starfive,pins = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - - sdcard1-pins1 { - starfive,pins = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - sdcard1-pins2 { - starfive,pins = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - sdcard1-pins3 { - starfive,pins = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - sdcard1-pins4 { - starfive,pins = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - sdcard1-pins5 { - starfive,pins = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - }; - - inno_hdmi_pins: inno_hdmi-pins { - inno_hdmi-scl { - starfive,pins = ; - //starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - inno_hdmi-sda { - starfive,pins = ; - //starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - inno_hdmi-cec-pins { - starfive,pins = ; - //starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-din = ; - }; - inno_hdmi-hpd-pins { - starfive,pins = ; - //starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - }; - - pcie0_vbus_default: pcie0_vbus_default { - drive-vbus-pin { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - }; -}; - -&uart0 { - pinctrl-names = "default"; - pinctrl-0 = <&uart0_pins>; - status = "okay"; -}; - -&i2c2 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c2_pins>; - status = "okay"; -}; - -&sdio0 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc0_pins>; - status = "okay"; -}; - -&sdio1 { - pinctrl-names = "default"; - pinctrl-0 = <&sdcard1_pins>; - //cd-gpios = <&gpio 6 0>; - status = "okay"; -}; - -&hdmi { - status = "okay"; - pinctrl-names = "default"; - pinctrl-0 = <&inno_hdmi_pins>; -}; - -&pcie0 { - pinctrl-names = "default", "perst-default", "perst-active"; - pinctrl-0 = <&pcie0_wake_default>, - <&pcie0_clkreq_default>, - <&pcie0_vbus_default>; - pinctrl-1 = <&pcie0_perst_default>; - pinctrl-2 = <&pcie0_perst_active>; - status = "okay"; -}; diff --git a/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-A11.dts b/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-A11.dts deleted file mode 100644 index 72fdf7fef26d..000000000000 --- a/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-A11.dts +++ /dev/null @@ -1,207 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 OR MIT -/* - * Copyright (C) 2022 StarFive Technology Co., Ltd. - * Copyright (C) 2022 Hal Feng - * For VisionFive2 version A1.1 - */ - -/dts-v1/; -#include "jh7110-visionfive-v2.dtsi" - -/ { - model = "StarFive VisionFive V2"; - compatible = "starfive,visionfive-v2", "starfive,jh7110"; - - gpio-restart { - compatible = "gpio-restart"; - gpios = <&gpio 35 GPIO_ACTIVE_HIGH>; - priority = <224>; - }; - -}; - -&gpio { - uart0_pins: uart0-pins { - uart0-pins-tx { - starfive,pins = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - - uart0-pins-rx { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - }; - - i2c2_pins: i2c2-pins { - i2c2-pins-scl { - starfive,pins = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - i2c2-pins-sda { - starfive,pins = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - }; - - mmc0_pins: mmc0-pins { - mmc0-pins-rest { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - }; - - sdcard1_pins: sdcard1-pins { - sdcard1-pins0 { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - - sdcard1-pins1 { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - sdcard1-pins2 { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - sdcard1-pins3 { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - sdcard1-pins4 { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - sdcard1-pins5 { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - }; - - inno_hdmi_pins: inno_hdmi-pins { - inno_hdmi-scl { - starfive,pins = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - inno_hdmi-sda { - starfive,pins = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - inno_hdmi-cec-pins { - starfive,pins = ; - //starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-din = ; - }; - inno_hdmi-hpd-pins { - starfive,pins = ; - //starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - }; - - pcie0_vbus_default: pcie0_vbus_default { - drive-vbus-pin { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - }; -}; - -&uart0 { - pinctrl-names = "default"; - pinctrl-0 = <&uart0_pins>; - status = "okay"; -}; - -&i2c2 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c2_pins>; - status = "okay"; -}; - -&sdio0 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc0_pins>; - status = "okay"; -}; - -&sdio1 { - pinctrl-names = "default"; - pinctrl-0 = <&sdcard1_pins>; - //cd-gpios = <&gpio 41 0>; - status = "okay"; -}; - -&hdmi { - status = "okay"; - pinctrl-names = "default"; - pinctrl-0 = <&inno_hdmi_pins>; -}; - -&pcie0 { - pinctrl-names = "default", "perst-default", "perst-active"; - pinctrl-0 = <&pcie0_wake_default>, - <&pcie0_clkreq_default>, - <&pcie0_vbus_default>; - pinctrl-1 = <&pcie0_perst_default>; - pinctrl-2 = <&pcie0_perst_active>; - status = "okay"; -}; diff --git a/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-ac108.dts b/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-ac108.dts deleted file mode 100644 index 0dbcf21f0cdd..000000000000 --- a/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-ac108.dts +++ /dev/null @@ -1,23 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 OR MIT -/* - * Copyright (C) 2022 StarFive Technology Co., Ltd. - * Copyright (C) 2022 Hal Feng - */ - -/dts-v1/; -#include "jh7110-visionfive-v2.dts" -#include "codecs/sf_ac108.dtsi" - -&i2c0 { - ac108_a: ac108@3b { - compatible = "x-power,ac108_0"; - reg = <0x3b>; - #sound-dai-cells = <0>; - data-protocol = <0>; - }; -}; - -&i2srx_3ch { - status = "okay"; -}; - diff --git a/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-sof-wm8960.dts b/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-sof-wm8960.dts deleted file mode 100644 index 8be56ab74e3b..000000000000 --- a/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-sof-wm8960.dts +++ /dev/null @@ -1,36 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 OR MIT -/* - * Copyright (C) 2022 StarFive Technology Co., Ltd. - * Copyright (C) 2022 Hal Feng - */ - -/dts-v1/; -#include "jh7110-visionfive-v2.dts" -#include "codecs/sof_wm8960.dtsi" - -&i2c0 { - status = "okay"; - wm8960: codec@1a { - compatible = "wlf,wm8960"; - reg = <0x1a>; - #sound-dai-cells = <0>; - - wlf,shared-lrclk; - }; -}; - -&pdm { - status = "disabled"; -}; - -&mailbox_client0 { - status = "disabled"; -}; - -&sof_tdm { - status = "okay"; -}; - -&sof_dsp { - status = "okay"; -}; \ No newline at end of file diff --git a/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-wm8960.dts b/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-wm8960.dts deleted file mode 100644 index 7403e13413b0..000000000000 --- a/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-wm8960.dts +++ /dev/null @@ -1,27 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 OR MIT -/* - * Copyright (C) 2022 StarFive Technology Co., Ltd. - * Copyright (C) 2022 Hal Feng - */ - -/dts-v1/; -#include "jh7110-visionfive-v2.dts" -#include "codecs/sf_wm8960.dtsi" - -&i2c0 { - wm8960: codec@1a { - compatible = "wlf,wm8960"; - reg = <0x1a>; - #sound-dai-cells = <0>; - - wlf,shared-lrclk; - }; -}; - -&i2srx_3ch { - status = "okay"; -}; - -&i2stx_4ch1 { - status = "okay"; -}; diff --git a/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2.dts b/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2.dts deleted file mode 100644 index 2cdf93d849d6..000000000000 --- a/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2.dts +++ /dev/null @@ -1,299 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 OR MIT -/* - * Copyright (C) 2022 StarFive Technology Co., Ltd. - * Copyright (C) 2022 Hal Feng - */ - -/dts-v1/; -#include "jh7110-visionfive-v2.dtsi" -#include "codecs/sf_hdmi.dtsi" - -/ { - model = "StarFive VisionFive V2"; - compatible = "starfive,visionfive-v2", "starfive,jh7110"; - - gpio-restart { - compatible = "gpio-restart"; - gpios = <&gpio 35 GPIO_ACTIVE_HIGH>; - priority = <160>; - }; - -}; - -&gpio { - uart0_pins: uart0-pins { - uart0-pins-tx { - starfive,pins = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - - uart0-pins-rx { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - }; - - i2c2_pins: i2c2-pins { - i2c2-pins-scl { - starfive,pins = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - i2c2-pins-sda { - starfive,pins = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - }; - - mmc0_pins: mmc0-pins { - mmc0-pins-rest { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - - mmc0-pins-cLK { - starfive,pins = ; - starfive,pin-ioconfig = ; - }; - - mmc0-pins-cmd { - starfive,pins = ; - starfive,pin-ioconfig = ; - }; - - mmc0-pins-data0 { - starfive,pins = ; - starfive,pin-ioconfig = ; - }; - - mmc0-pins-data1 { - starfive,pins = ; - starfive,pin-ioconfig = ; - }; - - mmc0-pins-data2 { - starfive,pins = ; - starfive,pin-ioconfig = ; - }; - - mmc0-pins-data3 { - starfive,pins = ; - starfive,pin-ioconfig = ; - }; - - mmc0-pins-data4 { - starfive,pins = ; - starfive,pin-ioconfig = ; - }; - - mmc0-pins-data5 { - starfive,pins = ; - starfive,pin-ioconfig = ; - }; - - mmc0-pins-data6 { - starfive,pins = ; - starfive,pin-ioconfig = ; - }; - - mmc0-pins-data7 { - starfive,pins = ; - starfive,pin-ioconfig = ; - }; - }; - - sdcard1_pins: sdcard1-pins { - sdcard1-pins0 { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - - sdcard1-pins1 { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - sdcard1-pins2 { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - sdcard1-pins3 { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - sdcard1-pins4 { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - sdcard1-pins5 { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - }; - - inno_hdmi_pins: inno_hdmi-pins { - inno_hdmi-scl { - starfive,pins = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - inno_hdmi-sda { - starfive,pins = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - inno_hdmi-cec-pins { - starfive,pins = ; - //starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-din = ; - }; - inno_hdmi-hpd-pins { - starfive,pins = ; - //starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - }; - - mclk_ext_pins: mclk_ext_pins { - mclk_ext_pins { - starfive,pins = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-din = ; - starfive,pin-gpio-doen = ; - }; - }; - - tdm0_pins: tdm0-pins { - tdm0-pins-tx { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - - tdm0-pins-rx { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - tdm0-pins-sync { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - tdm0-pins-pcmclk { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - }; -}; - -&uart0 { - pinctrl-names = "default"; - pinctrl-0 = <&uart0_pins>; - status = "okay"; -}; - -&i2c2 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c2_pins>; - status = "okay"; -}; - -&sdio0 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc0_pins>; - status = "okay"; -}; - -&sdio1 { - pinctrl-names = "default"; - pinctrl-0 = <&sdcard1_pins>; - //cd-gpios = <&gpio 41 0>; - status = "okay"; -}; - -&hdmi { - pinctrl-names = "default"; - pinctrl-0 = <&inno_hdmi_pins>; - hpd-gpio = <&gpio 15 GPIO_ACTIVE_HIGH>; - status = "okay"; -}; - -&i2stx_4ch0 { - pinctrl-names = "default"; - pinctrl-0 = <&mclk_ext_pins>; - status = "okay"; -}; - -&cpu1 { - cpu-supply = <&cpu_vdd>; - clocks = <&clkgen JH7110_CPU_CORE>; - clock-names = "cpu"; -}; - -&tdm { - pinctrl-names = "default"; - pinctrl-0 = <&tdm0_pins>; - status = "disabled"; -}; diff --git a/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2.dtsi b/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2.dtsi deleted file mode 100644 index 32629bb82be0..000000000000 --- a/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2.dtsi +++ /dev/null @@ -1,987 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 OR MIT -/* - * Copyright (C) 2022 StarFive Technology Co., Ltd. - * Copyright (C) 2022 Hal Feng - */ - -/dts-v1/; -#include -#include -#include -#include "jh7110.dtsi" -#include "codecs/sf_pwmdac.dtsi" - -/ { - model = "StarFive VisionFive V2"; - compatible = "starfive,visionfive-v2", "starfive,jh7110"; - - aliases { - spi0 = &qspi; - gpio0 = &gpio; - ethernet0 = &gmac0; - ethernet1 = &gmac1; - mmc0 = &sdio0; - mmc1 = &sdio1; - serial0 = &uart0; - serial3 = &uart3; - i2c0 = &i2c0; - i2c1 = &i2c1; - i2c2 = &i2c2; - i2c3 = &i2c3; - i2c4 = &i2c4; - i2c5 = &i2c5; - i2c6 = &i2c6; - }; - - chosen { - linux,initrd-start = <0x0 0x46100000>; - linux,initrd-end = <0x0 0x4c000000>; - stdout-path = "serial0:115200"; - #bootargs = "debug console=ttyS0 rootwait"; - }; - - cpus { - timebase-frequency = <4000000>; - }; - - memory@40000000 { - device_type = "memory"; - reg = <0x0 0x40000000 0x1 0x0>; - }; - - reserved-memory { - #address-cells = <2>; - #size-cells = <2>; - ranges; - - linux,cma { - compatible = "shared-dma-pool"; - reusable; - size = <0x0 0x20000000>; - alignment = <0x0 0x1000>; - alloc-ranges = <0x0 0x70000000 0x0 0x20000000>; - linux,cma-default; - }; - - e24_mem: e24@c0000000 { - reg = <0x0 0x6ce00000 0x0 0x1600000>; - }; - - hifi4_reserved: hifi4@f0000000 { - reg = <0x0 0x69c00000 0x0 0x03001000>; - }; - - }; - - leds { - compatible = "gpio-leds"; - - led-ack { - gpios = <&gpioa 3 GPIO_ACTIVE_HIGH>; - color = ; - function = LED_FUNCTION_HEARTBEAT; - linux,default-trigger = "heartbeat"; - label = "ack"; - }; - }; - - backlight: backlight { - compatible = "pwm-backlight"; - pwms = <&ptc 2 5000000 1 >; - status = "okay"; - brightness-levels = < - 0 1 2 3 4 5 6 7 - 8 9 10 11 12 13 14 15 - 16 17 18 19 20 21 22 23 - 24 25 26 27 28 29 30 31 - 32 33 34 35 36 37 38 39 - 40 41 42 43 44 45 46 47 - 48 49 50 51 52 53 54 55 - 56 57 58 59 60 61 62 63 - 64 65 66 67 68 69 70 71 - 72 73 74 75 76 77 78 79 - 80 81 82 83 84 85 86 87 - 88 89 90 91 92 93 94 95 - 96 97 98 99 100 101 102 103 - 104 105 106 107 108 109 110 111 - 112 113 114 115 116 117 118 119 - 120 121 122 123 124 125 126 127 - 128 129 130 131 132 133 134 135 - 136 137 138 139 140 141 142 143 - 144 145 146 147 148 149 150 151 - 152 153 154 155 156 157 158 159 - 160 161 162 163 164 165 166 167 - 168 169 170 171 172 173 174 175 - 176 177 178 179 180 181 182 183 - 184 185 186 187 188 189 190 191 - 192 193 194 195 196 197 198 199 - 200 201 202 203 204 205 206 207 - 208 209 210 211 212 213 214 215 - 216 217 218 219 220 221 222 223 - 224 225 226 227 228 229 230 231 - 232 233 234 235 236 237 238 239 - 240 241 242 243 244 245 246 247 - 248 249 250 251 252 253 254 255>; - default-brightness-level = <255>; - }; - - -}; - -&gpio { - i2c0_pins: i2c0-pins { - i2c0-pins-scl { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - i2c0-pins-sda { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - }; - - i2c5_pins: i2c5-pins { - i2c5-pins-scl { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - i2c5-pins-sda { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - }; - - i2c6_pins: i2c6-pins { - i2c6-pins-scl { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - i2c6-pins-sda { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - }; - - pwmdac0_pins: pwmdac0-pins { - pwmdac0-pins-left { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - - pwmdac0-pins-right { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - }; - - pwm_pins: pwm-pins { - pwm_ch0-pins { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - - pwm_ch1-pins { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - - pwm_ch2-pins { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - - }; - - ssp0_pins: ssp0-pins { - ssp0-pins_tx { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - - ssp0-pins_rx { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - - ssp0-pins_clk { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - - ssp0-pins_cs { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - }; - - pcie0_perst_default: pcie0_perst_default { - perst-pins { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - }; - - pcie0_perst_active: pcie0_perst_active { - perst-pins { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - }; - - pcie0_wake_default: pcie0_wake_default { - wake-pins { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-doen = ; - }; - }; - - pcie0_clkreq_default: pcie0_clkreq_default { - clkreq-pins { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-doen = ; - }; - }; - - pcie1_perst_default: pcie1_perst_default { - perst-pins { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - }; - - pcie1_perst_active: pcie1_perst_active { - perst-pins { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - }; - - pcie1_wake_default: pcie1_wake_default { - wake-pins { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-doen = ; - }; - }; - - pcie1_clkreq_default: pcie1_clkreq_default { - clkreq-pins { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-doen = ; - }; - }; - - usb_pins: usb-pins { - drive-vbus-pin { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - }; - - i2srx_pins: i2srx-pins { - i2srx-pins0 { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-doen = ; - starfive,pin-gpio-din = ; - }; - }; - - i2s_clk_pins: i2s-clk0 { - i2s-clk0_bclk { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-din = ; - starfive,pin-gpio-doen = ; - }; - - i2s-clk0_lrclk { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-din = ; - starfive,pin-gpio-doen = ; - }; - }; - - i2stx_pins: i2stx-pins { - i2stx-pins0 { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - }; -}; - -&uart0 { - status = "okay"; -}; - -&dma { - status = "okay"; -}; - -&trng { - status = "okay"; -}; - -&crypto { - status = "okay"; -}; - -&sec_dma { - status = "okay"; -}; - -&i2c0 { - clock-frequency = <100000>; - i2c-sda-hold-time-ns = <300>; - i2c-sda-falling-time-ns = <510>; - i2c-scl-falling-time-ns = <510>; - auto_calc_scl_lhcnt; - pinctrl-names = "default"; - pinctrl-0 = <&i2c0_pins>; - status = "okay"; -}; - -&i2c2 { - clock-frequency = <100000>; - i2c-sda-hold-time-ns = <300>; - i2c-sda-falling-time-ns = <510>; - i2c-scl-falling-time-ns = <510>; - auto_calc_scl_lhcnt; - status = "okay"; - - seeed_plane_i2c@45 { - compatible = "seeed_panel"; - reg = <0x45>; - - port { - panel_out0: endpoint { - remote-endpoint = <&dsi0_output>; - }; - }; - }; - - tinker_ft5406: tinker_ft5406@38 { - compatible = "tinker_ft5406"; - reg = <0x38>; - }; - - touchscreen@14 { - compatible = "goodix,gt911"; - reg = <0x14>; - irq-gpios = <&gpio 30 GPIO_ACTIVE_HIGH>; - reset-gpios = <&gpio 31 GPIO_ACTIVE_HIGH>; - }; - - panel_radxa@19 { - compatible ="starfive_jadard"; - reg = <0x19>; - reset-gpio = <&gpio 23 0>; - enable-gpio = <&gpio 22 0>; - - port { - panel_out1: endpoint { - remote-endpoint = <&dsi1_output>; - }; - }; - }; - -}; - -&i2c5 { - clock-frequency = <100000>; - i2c-sda-hold-time-ns = <300>; - i2c-sda-falling-time-ns = <510>; - i2c-scl-falling-time-ns = <510>; - auto_calc_scl_lhcnt; - pinctrl-names = "default"; - pinctrl-0 = <&i2c5_pins>; - status = "okay"; - - eeprom@50 { - compatible = "atmel,24c04"; - reg = <0x50>; - pagesize = <16>; - }; - - pmic: axp15060_reg@36 { - compatible = "stf,axp15060-regulator"; - reg = <0x36>; - - regulators { - mipi_0p9: ALDO1 { - regulator-boot-on; - regulator-compatible = "mipi_0p9"; - regulator-name = "mipi_0p9"; - regulator-min-microvolt = <900000>; - regulator-max-microvolt = <900000>; - }; - hdmi_0p9: ALDO5 { - regulator-boot-on; - regulator-compatible = "hdmi_0p9"; - regulator-name = "hdmi_0p9"; - regulator-min-microvolt = <900000>; - regulator-max-microvolt = <900000>; - }; - hdmi_1p8: ALDO3 { - regulator-boot-on; - regulator-compatible = "hdmi_1p8"; - regulator-name = "hdmi_1p8"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - }; - sdio_vdd: ALDO4 { - regulator-boot-on; - regulator-always-on; - regulator-compatible = "sdio_vdd"; - regulator-name = "sdio_vdd"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - }; - vcc_3v3: DCDC1 { - regulator-boot-on; - regulator-always-on; - regulator-compatible = "vcc_3v3"; - regulator-name = "vcc_3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - }; - cpu_vdd: DCDC2 { - regulator-boot-on; - regulator-always-on; - regulator-compatible = "cpu_vdd"; - regulator-name = "cpu_vdd"; - regulator-min-microvolt = <500000>; - regulator-max-microvolt = <1540000>; - }; - }; - }; -}; - -&i2c6 { - clock-frequency = <100000>; - i2c-sda-hold-time-ns = <300>; - i2c-sda-falling-time-ns = <510>; - i2c-scl-falling-time-ns = <510>; - auto_calc_scl_lhcnt; - pinctrl-names = "default"; - pinctrl-0 = <&i2c6_pins>; - status = "okay"; - - imx219: imx219@10 { - compatible = "sony,imx219"; - reg = <0x10>; - clocks = <&clk_ext_camera>; - clock-names = "xclk"; - reset-gpio = <&gpio 18 0>; - //DOVDD-supply = <&v2v8>; - rotation = <0>; - orientation = <1>; //CAMERA_ORIENTATION_BACK - - port { - /* CSI2 bus endpoint */ - imx219_to_csi2rx0: endpoint { - remote-endpoint = <&csi2rx0_from_imx219>; - bus-type = <4>; /* MIPI CSI-2 D-PHY */ - clock-lanes = <4>; - data-lanes = <0 1>; - lane-polarities = <0 0 0>; - link-frequencies = /bits/ 64 <456000000>; - }; - }; - }; - - imx708: imx708@1a { - compatible = "sony,imx708"; - reg = <0x1a>; - clocks = <&clk_ext_camera>; - reset-gpio = <&gpio 18 0>; - - port { - imx708_to_csi2rx0: endpoint { - remote-endpoint = <&csi2rx0_from_imx708>; - data-lanes = <1 2>; - clock-noncontinuous; - link-frequencies = /bits/ 64 <450000000>; - }; - }; - }; - - ov4689: ov4689@36 { - compatible = "ovti,ov4689"; - reg = <0x36>; - clocks = <&clk_ext_camera>; - clock-names = "xclk"; - //reset-gpio = <&gpio 18 0>; - rotation = <180>; - - port { - /* Parallel bus endpoint */ - ov4689_to_csi2rx0: endpoint { - remote-endpoint = <&csi2rx0_from_ov4689>; - bus-type = <4>; /* MIPI CSI-2 D-PHY */ - clock-lanes = <0>; - data-lanes = <1 2>; - }; - }; - }; -}; - -&sdio0 { - max-frequency = <100000000>; - assigned-clocks = <&clkgen JH7110_SDIO0_CLK_SDCARD>; - assigned-clock-rates = <50000000>; - card-detect-delay = <300>; - bus-width = <8>; - cap-mmc-highspeed; - mmc-hs200-1_8v; - non-removable; - cap-mmc-hw-reset; - post-power-on-delay-ms = <200>; - vmmc-supply = <&vcc_3v3>; - vqmmc-supply = <&sdio_vdd>; - status = "okay"; -}; - -&sdio1 { - max-frequency = <100000000>; - assigned-clocks = <&clkgen JH7110_SDIO1_CLK_SDCARD>; - assigned-clock-rates = <50000000>; - card-detect-delay = <300>; - bus-width = <4>; - cap-sd-highspeed; - no-sdio; - no-mmc; - broken-cd; - post-power-on-delay-ms = <200>; - status = "okay"; -}; - -&vin_sysctl { - /* when use dvp open this pinctrl*/ - status = "okay"; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@1 { - reg = <1>; - #address-cells = <1>; - #size-cells = <0>; - - /* CSI2 bus endpoint */ - csi2rx0_from_imx219: endpoint@0 { - reg = <0>; - remote-endpoint = <&imx219_to_csi2rx0>; - bus-type = <4>; /* MIPI CSI-2 D-PHY */ - clock-lanes = <4>; - data-lanes = <0 1>; - lane-polarities = <0 0 0>; - status = "okay"; - }; - - csi2rx0_from_imx708: endpoint@1 { - reg = <1>; - remote-endpoint = <&imx708_to_csi2rx0>; - bus-type = <4>; /* MIPI CSI-2 D-PHY */ - clock-lanes = <4>; - data-lanes = <0 1>; - lane-polarities = <0 0 0>; - status = "okay"; - }; - - csi2rx0_from_ov4689: endpoint@2 { - reg = <2>; - remote-endpoint = <&ov4689_to_csi2rx0>; - bus-type = <4>; /* MIPI CSI-2 D-PHY */ - clock-lanes = <4>; - data-lanes = <0 1>; - status = "okay"; - }; - }; - }; -}; - -&sfctemp { - status = "okay"; -}; - -&jpu { - status = "okay"; -}; - -&vpu_dec { - status = "okay"; -}; - -&vpu_enc { - status = "okay"; -}; - -&gmac0 { - status = "okay"; - #address-cells = <1>; - #size-cells = <0>; - phy0: ethernet-phy@0 { - rgmii_sw_dr_2 = <0x0>; - rgmii_sw_dr = <0x3>; - rgmii_sw_dr_rxc = <0x6>; - rxc_dly_en = <0>; - rx_delay_sel = <0xa>; - tx_delay_sel_fe = <5>; - tx_delay_sel = <0xa>; - tx_inverted_10 = <0x1>; - tx_inverted_100 = <0x1>; - tx_inverted_1000 = <0x1>; - }; -}; - -&gmac1 { - #address-cells = <1>; - #size-cells = <0>; - status = "okay"; - phy1: ethernet-phy@1 { - rgmii_sw_dr_2 = <0x0>; - rgmii_sw_dr = <0x3>; - rgmii_sw_dr_rxc = <0x6>; - tx_delay_sel_fe = <5>; - tx_delay_sel = <0>; - rxc_dly_en = <0>; - rx_delay_sel = <0x2>; - tx_inverted_10 = <0x1>; - tx_inverted_100 = <0x1>; - tx_inverted_1000 = <0x0>; - }; -}; - -&gpu { - status = "okay"; -}; - -&pwmdac { - pinctrl-names = "default"; - pinctrl-0 = <&pwmdac0_pins>; - status = "okay"; -}; - -&i2srx_3ch { - pinctrl-names = "default"; - pinctrl-0 = <&i2s_clk_pins &i2srx_pins>; - status = "disabled"; -}; - -&i2stx_4ch1 { - pinctrl-names = "default"; - pinctrl-0 = <&i2stx_pins>; - status = "disabled"; -}; - -&pwmdac_codec { - status = "okay"; -}; - -&spi0 { - pinctrl-names = "default"; - pinctrl-0 = <&ssp0_pins>; - status = "okay"; - - spi_dev0: spi@0 { - compatible = "rohm,dh2228fv"; - pl022,com-mode = <1>; - spi-max-frequency = <10000000>; - reg = <0>; - status = "okay"; - }; -}; - -&pcie0 { - pinctrl-names = "default"; - pinctrl-0 = <&pcie0_wake_default>, - <&pcie0_clkreq_default>; - reset-gpios = <&gpio 26 GPIO_ACTIVE_LOW>; - status = "okay"; -}; - -&pcie1 { - pinctrl-names = "default"; - pinctrl-0 = <&pcie1_wake_default>, - <&pcie1_clkreq_default>; - reset-gpios = <&gpio 28 GPIO_ACTIVE_LOW>; - status = "okay"; -}; - -&mailbox_contrl0 { - status = "okay"; -}; - -&mailbox_client0 { - status = "okay"; -}; - -&display { - status = "okay"; -}; - -&hdmi { - status = "okay"; - - hdmi_in: port { - #address-cells = <1>; - #size-cells = <0>; - hdmi_in_lcdc: endpoint@0 { - reg = <0>; - remote-endpoint = <&dc_out_dpi1>; - }; - }; -}; - -&dc8200 { - status = "okay"; - - dc_out: port { - #address-cells = <1>; - #size-cells = <0>; - dc_out_dpi0: endpoint@0 { - reg = <0>; - remote-endpoint = <&hdmi_input0>; - }; - dc_out_dpi1: endpoint@1 { - reg = <1>; - remote-endpoint = <&hdmi_in_lcdc>; - }; - - dc_out_dpi2: endpoint@2 { - reg = <2>; - remote-endpoint = <&mipi_in>; - }; - }; -}; - -&rgb_output { - status = "disabled"; - - ports { - #address-cells = <1>; - #size-cells = <0>; - port@0 { - #address-cells = <1>; - #size-cells = <0>; - reg = <0>; - hdmi_input0:endpoint@0 { - reg = <0>; - remote-endpoint = <&dc_out_dpi0>; - }; - }; - }; -}; - -&dsi_output { - status = "okay"; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - mipi_in: endpoint { - remote-endpoint = <&dc_out_dpi2>; - }; - }; - - port@1 { - reg = <1>; - sf_dpi_output: endpoint { - remote-endpoint = <&dsi_in_port>; - }; - }; - }; -}; - -&mipi_dsi { - status = "okay"; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - #address-cells = <1>; - #size-cells = <0>; - - dsi0_output: endpoint@0 { - reg = <0>; - remote-endpoint = <&panel_out0>; - }; - - dsi1_output: endpoint@1 { - reg = <1>; - remote-endpoint = <&panel_out1>; - }; - - }; - - port@1{ - reg = <1>; - dsi_in_port: endpoint { - remote-endpoint = <&sf_dpi_output>; - }; - }; - - }; -}; - -&mipi_dphy { - status = "okay"; -}; - -&co_process { - memory-region = <&e24_mem>; - status = "okay"; -}; - -&usbdrd30 { - clocks = <&clkgen JH7110_USB_125M>, - <&clkgen JH7110_USB0_CLK_APP_125>, - <&clkgen JH7110_USB0_CLK_LPM>, - <&clkgen JH7110_USB0_CLK_STB>, - <&clkgen JH7110_USB0_CLK_USB_APB>, - <&clkgen JH7110_USB0_CLK_AXI>, - <&clkgen JH7110_USB0_CLK_UTMI_APB>; - clock-names = "125m","app","lpm","stb","apb","axi","utmi"; - resets = <&rstgen RSTN_U0_CDN_USB_PWRUP>, - <&rstgen RSTN_U0_CDN_USB_APB>, - <&rstgen RSTN_U0_CDN_USB_AXI>, - <&rstgen RSTN_U0_CDN_USB_UTMI_APB>; - reset-names = "pwrup","apb","axi","utmi"; - starfive,usb2-only; - dr_mode = "peripheral"; /*host or peripheral*/ - status = "okay"; -}; - -&ptc { - pinctrl-names = "default"; - pinctrl-0 = <&pwm_pins>; - status = "okay"; -}; - -&sof_dsp { - memory-region = <&hifi4_reserved>; -}; - -&qspi { - nor_flash: nor-flash@0 { - compatible = "jedec,spi-nor"; - reg=<0>; - cdns,read-delay = <3>; - spi-max-frequency = <100000000>; - cdns,tshsl-ns = <1>; - cdns,tsd2d-ns = <1>; - cdns,tchsh-ns = <1>; - cdns,tslch-ns = <1>; - status = "okay"; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - spl@0 { - reg = <0x0 0x40000>; - }; - uboot-env@100000 { - reg = <0xf0000 0x10000>; - }; - uboot@100000 { - reg = <0x100000 0x300000>; - }; - data@f00000 { - reg = <0xf00000 0x100000>; - }; - }; - }; -}; -- cgit v1.2.3