Merge tag 'v5.15.57' into rpi-5.15.y
[platform/kernel/linux-rpi.git] / arch / arm / boot / dts / overlays / sdio-overlay.dts
1 /dts-v1/;
2 /plugin/;
3
4 /* Enable SDIO from MMC interface via various GPIO groups */
5
6 /{
7         compatible = "brcm,bcm2835";
8
9         fragment@0 {
10                 target = <&mmcnr>;
11                 __overlay__ {
12                         status = "disabled";
13                 };
14         };
15
16         fragment@1 {
17                 target = <&mmc>;
18                 sdio_ovl: __overlay__ {
19                         pinctrl-0 = <&sdio_ovl_pins>;
20                         pinctrl-names = "default";
21                         non-removable;
22                         bus-width = <4>;
23                         status = "okay";
24                 };
25         };
26
27         fragment@2 {
28                 target = <&gpio>;
29                 __overlay__ {
30                         sdio_ovl_pins: sdio_ovl_pins {
31                                 brcm,pins = <22 23 24 25 26 27>;
32                                 brcm,function = <7>; /* ALT3 = SD1 */
33                                 brcm,pull = <0 2 2 2 2 2>;
34                         };
35                 };
36         };
37
38         fragment@3 {
39                 target = <&sdio_ovl_pins>;
40                 __dormant__ {
41                         brcm,pins = <22 23 24 25>;
42                         brcm,pull = <0 2 2 2>;
43                 };
44         };
45
46         fragment@4 {
47                 target = <&sdio_ovl_pins>;
48                 __dormant__ {
49                         brcm,pins = <34 35 36 37>;
50                         brcm,pull = <0 2 2 2>;
51                 };
52         };
53
54         fragment@5 {
55                 target = <&sdio_ovl_pins>;
56                 __dormant__ {
57                         brcm,pins = <34 35 36 37 38 39>;
58                         brcm,pull = <0 2 2 2 2 2>;
59                 };
60         };
61
62         fragment@6 {
63                 target-path = "/aliases";
64                 __overlay__ {
65                         mmc1 = "/soc/mmc@7e300000";
66                 };
67         };
68
69         __overrides__ {
70                 poll_once = <&sdio_ovl>,"non-removable?";
71                 bus_width = <&sdio_ovl>,"bus-width:0";
72                 sdio_overclock = <&sdio_ovl>,"brcm,overclock-50:0";
73                 gpios_22_25 = <0>,"=3";
74                 gpios_34_37 = <0>,"=4";
75                 gpios_34_39 = <0>,"=5";
76         };
77 };