7f7e405baa3887d5c0bda78e227d4f64d6032d82
[openwrt/staging/linusw.git] /
1 From 835ee8baed06f752b2c04fde6f328b1e0a27b985 Mon Sep 17 00:00:00 2001
2 From: Jonathan Bell <jonathan@raspberrypi.com>
3 Date: Wed, 8 Nov 2023 16:14:25 +0000
4 Subject: [PATCH 0719/1085] arm: dts: change RP1 SDHCI controller compatible
5 string
6
7 Also add a sdio-pi5 overlay which enables mmc0 on GPIOs 22-27, as was
8 possible with earlier models of Pi.
9
10 Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
11 ---
12 arch/arm/boot/dts/broadcom/rp1.dtsi | 4 ++--
13 arch/arm/boot/dts/overlays/Makefile | 1 +
14 arch/arm/boot/dts/overlays/README | 7 ++++++
15 arch/arm/boot/dts/overlays/overlay_map.dts | 4 ++++
16 .../boot/dts/overlays/sdio-pi5-overlay.dts | 24 +++++++++++++++++++
17 5 files changed, 38 insertions(+), 2 deletions(-)
18 create mode 100644 arch/arm/boot/dts/overlays/sdio-pi5-overlay.dts
19
20 --- a/arch/arm/boot/dts/broadcom/rp1.dtsi
21 +++ b/arch/arm/boot/dts/broadcom/rp1.dtsi
22 @@ -962,7 +962,7 @@
23
24 rp1_mmc0: mmc@180000 {
25 reg = <0xc0 0x40180000 0x0 0x100>;
26 - compatible = "snps,dwcmshc-sdhci";
27 + compatible = "raspberrypi,rp1-dwcmshc";
28 interrupts = <RP1_INT_SDIO0 IRQ_TYPE_LEVEL_HIGH>;
29 clocks = <&rp1_clocks RP1_CLK_SYS &sdhci_core
30 &rp1_clocks RP1_CLK_SDIO_TIMER
31 @@ -978,7 +978,7 @@
32
33 rp1_mmc1: mmc@184000 {
34 reg = <0xc0 0x40184000 0x0 0x100>;
35 - compatible = "snps,dwcmshc-sdhci";
36 + compatible = "raspberrypi,rp1-dwcmshc";
37 interrupts = <RP1_INT_SDIO1 IRQ_TYPE_LEVEL_HIGH>;
38 clocks = <&rp1_clocks RP1_CLK_SYS &sdhci_core
39 &rp1_clocks RP1_CLK_SDIO_TIMER
40 --- a/arch/arm/boot/dts/overlays/Makefile
41 +++ b/arch/arm/boot/dts/overlays/Makefile
42 @@ -225,6 +225,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
43 sc16is752-spi1.dtbo \
44 sdhost.dtbo \
45 sdio.dtbo \
46 + sdio-pi5.dtbo \
47 seeed-can-fd-hat-v1.dtbo \
48 seeed-can-fd-hat-v2.dtbo \
49 sh1106-spi.dtbo \
50 --- a/arch/arm/boot/dts/overlays/README
51 +++ b/arch/arm/boot/dts/overlays/README
52 @@ -3932,6 +3932,13 @@ Info: This overlay is now deprecated.
53 Load: <Deprecated>
54
55
56 +Name: sdio-pi5
57 +Info: Selects the rp1_mmc0 interface and enables it on GPIOs 22-27.
58 + Pi 5 only.
59 +Load: dtoverlay=sdio-pi5
60 +Params: <None>
61 +
62 +
63 Name: sdtweak
64 Info: This overlay is now deprecated. Use the sd_* dtparams in the
65 base DTB, e.g. "dtoverlay=sdtweak,poll_once" becomes
66 --- a/arch/arm/boot/dts/overlays/overlay_map.dts
67 +++ b/arch/arm/boot/dts/overlays/overlay_map.dts
68 @@ -250,6 +250,10 @@
69 deprecated = "use sdio,bus_width=1,gpios_22_25";
70 };
71
72 + sdio-pi5 {
73 + bcm2712;
74 + };
75 +
76 sdtweak {
77 deprecated = "use 'dtparam=sd_poll_once' etc.";
78 };
79 --- /dev/null
80 +++ b/arch/arm/boot/dts/overlays/sdio-pi5-overlay.dts
81 @@ -0,0 +1,24 @@
82 +/dts-v1/;
83 +/plugin/;
84 +
85 +/* SDIO/SD/MMC on RP1 bank 0 */
86 +
87 +/{
88 + compatible = "brcm,bcm2712";
89 +
90 + fragment@0 {
91 + target = <&rp1_mmc0>;
92 + frag0: __overlay__ {
93 + status = "okay";
94 + pinctrl-0 = <&rp1_sdio0_22_27>;
95 + pinctrl-names = "default";
96 + };
97 + };
98 +
99 + fragment@1 {
100 + target = <&rp1_sdio_clk0>;
101 + frag1: __overlay__ {
102 + status = "okay";
103 + };
104 + };
105 +};