1 // SPDX-License-Identifier: GPL-2.0 OR MIT
3 * Copyright (C) 2022 StarFive Technology Co., Ltd.
4 * Copyright (C) 2022 Hal Feng <hal.feng@starfivetech.com>
8 #include "jh7110-visionfive-v2.dtsi"
9 #include "codecs/sf_hdmi.dtsi"
12 model = "StarFive VisionFive V2";
13 compatible = "starfive,visionfive-v2", "starfive,jh7110";
16 compatible = "gpio-restart";
17 gpios = <&gpio 35 GPIO_ACTIVE_HIGH>;
24 uart0_pins: uart0-pins {
26 starfive,pins = <PAD_GPIO5>;
27 starfive,pin-ioconfig = <IO(GPIO_IE(1) | GPIO_DS(3))>;
28 starfive,pin-gpio-dout = <GPO_UART0_SOUT>;
29 starfive,pin-gpio-doen = <OEN_LOW>;
33 starfive,pins = <PAD_GPIO6>;
34 starfive,pinmux = <PAD_GPIO6_FUNC_SEL 0>;
35 starfive,pin-ioconfig = <IO(GPIO_IE(1) | GPIO_PU(1))>;
36 starfive,pin-gpio-doen = <OEN_HIGH>;
37 starfive,pin-gpio-din = <GPI_UART0_SIN>;
41 i2c2_pins: i2c2-pins {
43 starfive,pins = <PAD_GPIO3>;
44 starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
45 starfive,pin-gpio-dout = <GPO_LOW>;
46 starfive,pin-gpio-doen = <OEN_I2C2_IC_CLK_OE>;
47 starfive,pin-gpio-din = <GPI_I2C2_IC_CLK_IN_A>;
51 starfive,pins = <PAD_GPIO2>;
52 starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
53 starfive,pin-gpio-dout = <GPO_LOW>;
54 starfive,pin-gpio-doen = <OEN_I2C2_IC_DATA_OE>;
55 starfive,pin-gpio-din = <GPI_I2C2_IC_DATA_IN_A>;
59 mmc0_pins: mmc0-pins {
61 starfive,pins = <PAD_GPIO62>;
62 starfive,pinmux = <PAD_GPIO62_FUNC_SEL 0>;
63 starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
64 starfive,pin-gpio-dout = <GPO_SDIO0_RST_N>;
65 starfive,pin-gpio-doen = <OEN_LOW>;
69 sdcard1_pins: sdcard1-pins {
71 starfive,pins = <PAD_GPIO10>;
72 starfive,pinmux = <PAD_GPIO10_FUNC_SEL 0>;
73 starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)) | GPIO_DS(3))>;
74 starfive,pin-gpio-dout = <GPO_SDIO1_CCLK_OUT>;
75 starfive,pin-gpio-doen = <OEN_LOW>;
79 starfive,pins = <PAD_GPIO9>;
80 starfive,pinmux = <PAD_GPIO9_FUNC_SEL 0>;
81 starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)) | GPIO_DS(3))>;
82 starfive,pin-gpio-dout = <GPO_SDIO1_CCMD_OUT>;
83 starfive,pin-gpio-doen = <OEN_SDIO1_CCMD_OUT_EN>;
84 starfive,pin-gpio-din = <GPI_SDIO1_CCMD_IN>;
88 starfive,pins = <PAD_GPIO11>;
89 starfive,pinmux = <PAD_GPIO11_FUNC_SEL 0>;
90 starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)) | GPIO_DS(3))>;
91 starfive,pin-gpio-dout = <GPO_SDIO1_CDATA_OUT_0>;
92 starfive,pin-gpio-doen = <OEN_SDIO1_CDATA_OUT_EN_0>;
93 starfive,pin-gpio-din = <GPI_SDIO1_CDATA_IN_0>;
97 starfive,pins = <PAD_GPIO12>;
98 starfive,pinmux = <PAD_GPIO12_FUNC_SEL 0>;
99 starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)) | GPIO_DS(3))>;
100 starfive,pin-gpio-dout = <GPO_SDIO1_CDATA_OUT_1>;
101 starfive,pin-gpio-doen = <OEN_SDIO1_CDATA_OUT_EN_1>;
102 starfive,pin-gpio-din = <GPI_SDIO1_CDATA_IN_1>;
106 starfive,pins = <PAD_GPIO7>;
107 starfive,pinmux = <PAD_GPIO7_FUNC_SEL 0>;
108 starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)) | GPIO_DS(3))>;
109 starfive,pin-gpio-dout = <GPO_SDIO1_CDATA_OUT_2>;
110 starfive,pin-gpio-doen = <OEN_SDIO1_CDATA_OUT_EN_2>;
111 starfive,pin-gpio-din = <GPI_SDIO1_CDATA_IN_2>;
115 starfive,pins = <PAD_GPIO8>;
116 starfive,pinmux = <PAD_GPIO8_FUNC_SEL 0>;
117 starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)) | GPIO_DS(3))>;
118 starfive,pin-gpio-dout = <GPO_SDIO1_CDATA_OUT_3>;
119 starfive,pin-gpio-doen = <OEN_SDIO1_CDATA_OUT_EN_3>;
120 starfive,pin-gpio-din = <GPI_SDIO1_CDATA_IN_3>;
124 inno_hdmi_pins: inno_hdmi-pins {
126 starfive,pins = <PAD_GPIO0>;
127 starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
128 starfive,pin-gpio-dout = <GPO_HDMI0_DDC_SCL_OUT>;
129 starfive,pin-gpio-doen = <OEN_HDMI0_DDC_SCL_OEN>;
130 starfive,pin-gpio-din = <GPI_HDMI0_DDC_SCL_IN>;
134 starfive,pins = <PAD_GPIO1>;
135 starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
136 starfive,pin-gpio-dout = <GPO_HDMI0_DDC_SDA_OUT>;
137 starfive,pin-gpio-doen = <OEN_HDMI0_DDC_SDA_OEN>;
138 starfive,pin-gpio-din = <GPI_HDMI0_DDC_SDA_IN>;
141 starfive,pins = <PAD_GPIO14>;
142 //starfive,pinmux = <PAD_GPIO14_FUNC_SEL 0>;
143 starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
144 starfive,pin-gpio-doen = <OEN_HDMI0_CEC_SDA_OEN>;
145 starfive,pin-gpio-dout = <GPO_HDMI0_CEC_SDA_OUT>;
146 starfive,pin-gpio-din = <GPI_HDMI0_CEC_SDA_IN>;
149 starfive,pins = <PAD_GPIO15>;
150 //starfive,pinmux = <PAD_GPIO15_FUNC_SEL 0>;
151 starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
152 starfive,pin-gpio-doen = <OEN_HIGH>;
153 starfive,pin-gpio-din = <GPI_HDMI0_HPD>;
157 mclk_ext_pins: mclk_ext_pins {
159 starfive,pins = <PAD_GPIO4>;
160 starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
161 starfive,pin-gpio-din = <GPI_CRG0_EXT_MCLK>;
162 starfive,pin-gpio-doen = <OEN_HIGH>;
168 pinctrl-names = "default";
169 pinctrl-0 = <&uart0_pins>;
174 pinctrl-names = "default";
175 pinctrl-0 = <&i2c2_pins>;
180 pinctrl-names = "default";
181 pinctrl-0 = <&mmc0_pins>;
186 pinctrl-names = "default";
187 pinctrl-0 = <&sdcard1_pins>;
188 //cd-gpios = <&gpio 41 0>;
194 pinctrl-names = "default";
195 pinctrl-0 = <&inno_hdmi_pins>;
199 pinctrl-names = "default";
200 pinctrl-0 = <&mclk_ext_pins>;