Merge tag 'JH7110_515_SDK_v3.5.1' from sdk into vf2-515-devel
[platform/kernel/linux-starfive.git] / arch / riscv / boot / dts / starfive / evb-overlay / jh7110-evb-overlay-sdio.dts
1 /dts-v1/;
2 /plugin/;
3 #include <dt-bindings/gpio/gpio.h>
4 #include <dt-bindings/pinctrl/starfive,jh7110-pinfunc.h>
5 / {
6         compatible = "starfive,jh7110";
7
8         //gpio
9         fragment@0 {
10                 target-path = "/soc/gpio@13040000";
11                 __overlay__ {
12                         dt_sdcard1_pins: dt-sdcard1-pins {
13                                 sdcard1-pins0 {
14                                         starfive,pins = <PAD_GPIO56>;
15                                         starfive,pinmux = <PAD_GPIO56_FUNC_SEL 0>;
16                                         starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
17                                         starfive,pin-gpio-dout = <GPO_SDIO1_CCLK_OUT>;
18                                         starfive,pin-gpio-doen = <OEN_LOW>;
19                                 };
20
21                                 sdcard1-pins1 {
22                                         starfive,pins = <PAD_GPIO50>;
23                                         starfive,pinmux = <PAD_GPIO50_FUNC_SEL 0>;
24                                         starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
25                                         starfive,pin-gpio-dout = <GPO_SDIO1_CCMD_OUT>;
26                                         starfive,pin-gpio-doen = <OEN_SDIO1_CCMD_OUT_EN>;
27                                         starfive,pin-gpio-din =  <GPI_SDIO1_CCMD_IN>;
28                                 };
29
30                                 sdcard1-pins2 {
31                                         starfive,pins = <PAD_GPIO49>;
32                                         starfive,pinmux = <PAD_GPIO49_FUNC_SEL 0>;
33                                         starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
34                                         starfive,pin-gpio-dout = <GPO_SDIO1_CDATA_OUT_0>;
35                                         starfive,pin-gpio-doen = <OEN_SDIO1_CDATA_OUT_EN_0>;
36                                         starfive,pin-gpio-din =  <GPI_SDIO1_CDATA_IN_0>;
37                                 };
38
39                                 sdcard1-pins3 {
40                                         starfive,pins = <PAD_GPIO45>;
41                                         starfive,pinmux = <PAD_GPIO45_FUNC_SEL 0>;
42                                         starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
43                                         starfive,pin-gpio-dout = <GPO_SDIO1_CDATA_OUT_1>;
44                                         starfive,pin-gpio-doen = <OEN_SDIO1_CDATA_OUT_EN_1>;
45                                         starfive,pin-gpio-din =  <GPI_SDIO1_CDATA_IN_1>;
46                                 };
47
48                                 sdcard1-pins4 {
49                                         starfive,pins = <PAD_GPIO62>;
50                                         starfive,pinmux = <PAD_GPIO62_FUNC_SEL 0>;
51                                         starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
52                                         starfive,pin-gpio-dout = <GPO_SDIO1_CDATA_OUT_2>;
53                                         starfive,pin-gpio-doen = <OEN_SDIO1_CDATA_OUT_EN_2>;
54                                         starfive,pin-gpio-din =  <GPI_SDIO1_CDATA_IN_2>;
55                                 };
56
57                                 sdcard1-pins5 {
58                                         starfive,pins = <PAD_GPIO40>;
59                                         starfive,pinmux = <PAD_GPIO40_FUNC_SEL 0>;
60                                         starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
61                                         starfive,pin-gpio-dout = <GPO_SDIO1_CDATA_OUT_3>;
62                                         starfive,pin-gpio-doen = <OEN_SDIO1_CDATA_OUT_EN_3>;
63                                         starfive,pin-gpio-din =  <GPI_SDIO1_CDATA_IN_3>;
64                                 };
65                         };
66                 };
67         };
68
69         //uart3
70         fragment@1 {
71                 target-path = "/soc/serial@12000000";
72                 __overlay__ {
73                         status = "okay";
74                 };
75         };
76
77         //i2c0
78         fragment@2 {
79                 target-path = "/soc/i2c@10030000";
80                 __overlay__ {
81                         status = "okay";
82                 };
83         };
84
85         //sdio1
86         fragment@3 {
87                 target-path = "/soc/sdio1@16020000";
88                 __overlay__ {
89                         max-frequency = <100000000>;
90                         card-detect-delay = <300>;
91                         bus-width = <4>;
92                         no-sdio;
93                         no-mmc;
94                         broken-cd;
95                         sd-uhs-sdr12;
96                         sd-uhs-sdr25;
97                         sd-uhs-sdr50;
98                         sd-uhs-sdr104;
99                         sd-uhs-ddr50;
100                         cap-sd-highspeed;
101                         post-power-on-delay-ms = <200>;
102                         pinctrl-names = "default";
103                         pinctrl-0 = <&dt_sdcard1_pins>;
104                         status = "okay";
105                 };
106         };
107 };
108
109