From 702070d58bb61bcdcc46f28b6cef7f269ef14c3e Mon Sep 17 00:00:00 2001 From: Phil Elwell 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;