You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
269 lines
5.8 KiB
269 lines
5.8 KiB
From 702070d58bb61bcdcc46f28b6cef7f269ef14c3e Mon Sep 17 00:00:00 2001
|
|
From: Phil Elwell <phil@raspberrypi.org>
|
|
Date: Tue, 8 Dec 2015 16:23:33 +0000
|
|
Subject: [PATCH 221/222] bcm270x_dt: Use the sdhost MMC controller by default
|
|
|
|
The "mmc" overlay reverts to using the other controller.
|
|
---
|
|
arch/arm/boot/dts/bcm2708-rpi-b-plus.dts | 11 ++++--
|
|
arch/arm/boot/dts/bcm2708-rpi-b.dts | 11 ++++--
|
|
arch/arm/boot/dts/bcm2708-rpi-cm.dtsi | 14 ++++++--
|
|
arch/arm/boot/dts/bcm2708_common.dtsi | 13 +++++++
|
|
arch/arm/boot/dts/bcm2709-rpi-2-b.dts | 11 ++++--
|
|
arch/arm/boot/dts/overlays/mmc-overlay.dts | 22 +++++++++++-
|
|
arch/arm/boot/dts/overlays/sdhost-overlay.dts | 49 ++++++---------------------
|
|
arch/arm/boot/dts/overlays/sdio-overlay.dts | 1 -
|
|
8 files changed, 84 insertions(+), 48 deletions(-)
|
|
|
|
--- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
|
|
+++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
|
|
@@ -8,6 +8,11 @@
|
|
};
|
|
|
|
&gpio {
|
|
+ sdhost_pins: sdhost_pins {
|
|
+ brcm,pins = <48 49 50 51 52 53>;
|
|
+ brcm,function = <4>; /* alt0 */
|
|
+ };
|
|
+
|
|
spi0_pins: spi0_pins {
|
|
brcm,pins = <7 8 9 10 11>;
|
|
brcm,function = <4>; /* alt0 */
|
|
@@ -29,9 +34,11 @@
|
|
};
|
|
};
|
|
|
|
-&mmc {
|
|
- status = "okay";
|
|
+&sdhost {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&sdhost_pins>;
|
|
bus-width = <4>;
|
|
+ status = "okay";
|
|
};
|
|
|
|
&fb {
|
|
--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
|
+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
|
@@ -8,6 +8,11 @@
|
|
};
|
|
|
|
&gpio {
|
|
+ sdhost_pins: sdhost_pins {
|
|
+ brcm,pins = <48 49 50 51 52 53>;
|
|
+ brcm,function = <4>; /* alt0 */
|
|
+ };
|
|
+
|
|
spi0_pins: spi0_pins {
|
|
brcm,pins = <7 8 9 10 11>;
|
|
brcm,function = <4>; /* alt0 */
|
|
@@ -29,9 +34,11 @@
|
|
};
|
|
};
|
|
|
|
-&mmc {
|
|
- status = "okay";
|
|
+&sdhost {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&sdhost_pins>;
|
|
bus-width = <4>;
|
|
+ status = "okay";
|
|
};
|
|
|
|
&fb {
|
|
--- a/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi
|
|
+++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi
|
|
@@ -1,5 +1,12 @@
|
|
/include/ "bcm2708.dtsi"
|
|
|
|
+&gpio {
|
|
+ sdhost_pins: sdhost_pins {
|
|
+ brcm,pins = <48 49 50 51 52 53>;
|
|
+ brcm,function = <4>; /* alt0 */
|
|
+ };
|
|
+};
|
|
+
|
|
&leds {
|
|
act_led: act {
|
|
label = "led0";
|
|
@@ -8,9 +15,12 @@
|
|
};
|
|
};
|
|
|
|
-&mmc {
|
|
- status = "okay";
|
|
+&sdhost {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&sdhost_pins>;
|
|
bus-width = <4>;
|
|
+ non-removable;
|
|
+ status = "okay";
|
|
};
|
|
|
|
&fb {
|
|
--- a/arch/arm/boot/dts/bcm2708_common.dtsi
|
|
+++ b/arch/arm/boot/dts/bcm2708_common.dtsi
|
|
@@ -14,6 +14,7 @@
|
|
mailbox = &mailbox;
|
|
gpio = &gpio;
|
|
uart0 = &uart0;
|
|
+ sdhost = &sdhost;
|
|
i2s = &i2s;
|
|
spi0 = &spi0;
|
|
i2c0 = &i2c0;
|
|
@@ -114,6 +115,18 @@
|
|
status = "disabled";
|
|
};
|
|
|
|
+ sdhost: sdhost@7e202000 {
|
|
+ compatible = "brcm,bcm2835-sdhost";
|
|
+ reg = <0x7e202000 0x100>;
|
|
+ interrupts = <2 24>;
|
|
+ clocks = <&clk_core>;
|
|
+ dmas = <&dma 13>,
|
|
+ <&dma 13>;
|
|
+ dma-names = "tx", "rx";
|
|
+ brcm,pio-limit = <1>;
|
|
+ status = "disabled";
|
|
+ };
|
|
+
|
|
i2s: i2s@7e203000 {
|
|
compatible = "brcm,bcm2708-i2s";
|
|
reg = <0x7e203000 0x24>,
|
|
--- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
|
|
+++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
|
|
@@ -8,6 +8,11 @@
|
|
};
|
|
|
|
&gpio {
|
|
+ sdhost_pins: sdhost_pins {
|
|
+ brcm,pins = <48 49 50 51 52 53>;
|
|
+ brcm,function = <4>; /* alt0 */
|
|
+ };
|
|
+
|
|
spi0_pins: spi0_pins {
|
|
brcm,pins = <7 8 9 10 11>;
|
|
brcm,function = <4>; /* alt0 */
|
|
@@ -29,9 +34,11 @@
|
|
};
|
|
};
|
|
|
|
-&mmc {
|
|
- status = "okay";
|
|
+&sdhost {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&sdhost_pins>;
|
|
bus-width = <4>;
|
|
+ status = "okay";
|
|
};
|
|
|
|
&fb {
|
|
--- a/arch/arm/boot/dts/overlays/mmc-overlay.dts
|
|
+++ b/arch/arm/boot/dts/overlays/mmc-overlay.dts
|
|
@@ -6,9 +6,29 @@
|
|
|
|
fragment@0 {
|
|
target = <&mmc>;
|
|
-
|
|
frag0: __overlay__ {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&mmc_pins>;
|
|
+ bus-width = <4>;
|
|
brcm,overclock-50 = <0>;
|
|
+ status = "okay";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@1 {
|
|
+ target = <&gpio>;
|
|
+ __overlay__ {
|
|
+ mmc_pins: mmc_pins {
|
|
+ brcm,pins = <48 49 50 51 52 53>;
|
|
+ brcm,function = <7>; /* alt3 */
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@2 {
|
|
+ target = <&sdhost>;
|
|
+ __overlay__ {
|
|
+ status = "disabled";
|
|
};
|
|
};
|
|
|
|
--- a/arch/arm/boot/dts/overlays/sdhost-overlay.dts
|
|
+++ b/arch/arm/boot/dts/overlays/sdhost-overlay.dts
|
|
@@ -5,52 +5,25 @@
|
|
compatible = "brcm,bcm2708";
|
|
|
|
fragment@0 {
|
|
- target = <&soc>;
|
|
+ target = <&mmc>;
|
|
__overlay__ {
|
|
- #address-cells = <1>;
|
|
- #size-cells = <1>;
|
|
-
|
|
- sdhost: sdhost@7e202000 {
|
|
- compatible = "brcm,bcm2835-sdhost";
|
|
- reg = <0x7e202000 0x100>;
|
|
- pinctrl-names = "default";
|
|
- pinctrl-0 = <&sdhost_pins>;
|
|
- interrupts = <2 24>;
|
|
- clocks = <&clk_core>;
|
|
- dmas = <&dma 13>,
|
|
- <&dma 13>;
|
|
- dma-names = "tx", "rx";
|
|
- brcm,delay-after-stop = <0>;
|
|
- brcm,overclock-50 = <0>;
|
|
- brcm,pio-limit = <1>;
|
|
- status = "okay";
|
|
- };
|
|
+ status = "disabled";
|
|
};
|
|
};
|
|
|
|
fragment@1 {
|
|
- target = <&gpio>;
|
|
- __overlay__ {
|
|
- sdhost_pins: sdhost_pins {
|
|
- brcm,pins = <48 49 50 51 52 53>;
|
|
- brcm,function = <4>; /* alt0 */
|
|
- };
|
|
- };
|
|
- };
|
|
-
|
|
- fragment@2 {
|
|
- target = <&mmc>;
|
|
- __overlay__ {
|
|
- /* Find a way to disable the other driver */
|
|
- compatible = "";
|
|
- status = "disabled";
|
|
+ target = <&sdhost>;
|
|
+ frag1: __overlay__ {
|
|
+ brcm,overclock-50 = <0>;
|
|
+ brcm,pio-limit = <1>;
|
|
+ status = "okay";
|
|
};
|
|
};
|
|
|
|
__overrides__ {
|
|
- overclock_50 = <&sdhost>,"brcm,overclock-50:0";
|
|
- force_pio = <&sdhost>,"brcm,force-pio?";
|
|
- pio_limit = <&sdhost>,"brcm,pio-limit:0";
|
|
- debug = <&sdhost>,"brcm,debug?";
|
|
+ overclock_50 = <&frag1>,"brcm,overclock-50:0";
|
|
+ force_pio = <&frag1>,"brcm,force-pio?";
|
|
+ pio_limit = <&frag1>,"brcm,pio-limit:0";
|
|
+ debug = <&frag1>,"brcm,debug?";
|
|
};
|
|
};
|
|
--- a/arch/arm/boot/dts/overlays/sdio-overlay.dts
|
|
+++ b/arch/arm/boot/dts/overlays/sdio-overlay.dts
|
|
@@ -8,7 +8,6 @@
|
|
fragment@3 {
|
|
target = <&mmc>;
|
|
sdio_mmc: __overlay__ {
|
|
- compatible = "brcm,bcm2835-mmc";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&sdio_pins>;
|
|
non-removable;
|
|
|