diff --git a/arch/riscv/boot/dts/starfive/Makefile b/arch/riscv/boot/dts/starfive/Makefile index 697a57a3cff8..93fd8db63f47 100644 --- a/arch/riscv/boot/dts/starfive/Makefile +++ b/arch/riscv/boot/dts/starfive/Makefile @@ -13,5 +13,6 @@ dtb-$(CONFIG_SOC_STARFIVE_JH7110) += jh7110-visionfive-v2.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-ac108.dtb diff --git a/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-A10.dts b/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-A10.dts index ba0c801599f9..db63f870ff28 100644 --- a/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-A10.dts +++ b/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-A10.dts @@ -2,6 +2,7 @@ /* * Copyright (C) 2022 StarFive Technology Co., Ltd. * Copyright (C) 2022 Hal Feng + * For VisionFive2 version A1.0 */ /dts-v1/; @@ -144,6 +145,16 @@ 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 { @@ -176,3 +187,13 @@ 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 new file mode 100644 index 000000000000..72fdf7fef26d --- /dev/null +++ b/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2-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-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.dtsi b/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2.dtsi index e0567834997c..d9a797c42b10 100644 --- a/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2.dtsi +++ b/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2.dtsi @@ -269,16 +269,6 @@ }; }; - pcie0_vbus_default: pcie0_vbus_default { - drive-vbus-pin { - starfive,pins = ; - starfive,pinmux = ; - starfive,pin-ioconfig = ; - starfive,pin-gpio-dout = ; - starfive,pin-gpio-doen = ; - }; - }; - pcie1_perst_default: pcie1_perst_default { perst-pins { starfive,pins = ; @@ -649,8 +639,7 @@ &pcie0 { pinctrl-names = "default", "perst-default", "perst-active"; pinctrl-0 = <&pcie0_wake_default>, - <&pcie0_clkreq_default>, - <&pcie0_vbus_default>; + <&pcie0_clkreq_default>; pinctrl-1 = <&pcie0_perst_default>; pinctrl-2 = <&pcie0_perst_active>; status = "okay";