From 2dc1e11c688a439084692e0b86d20adc0310d42c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alvaro=20Fern=C3=A1ndez=20Rojas?= Date: Mon, 20 Jun 2016 23:24:50 +0200 Subject: As usual these patches were extracted from the raspberry pi repo: https://github.com/raspberrypi/linux/tree/rpi-4.4.y MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Álvaro Fernández Rojas --- ...270X_DT-Add-dtparams-for-the-SD-interface.patch | 235 +++++++++++++++++++++ 1 file changed, 235 insertions(+) create mode 100644 target/linux/brcm2708/patches-4.4/0144-BCM270X_DT-Add-dtparams-for-the-SD-interface.patch (limited to 'target/linux/brcm2708/patches-4.4/0144-BCM270X_DT-Add-dtparams-for-the-SD-interface.patch') diff --git a/target/linux/brcm2708/patches-4.4/0144-BCM270X_DT-Add-dtparams-for-the-SD-interface.patch b/target/linux/brcm2708/patches-4.4/0144-BCM270X_DT-Add-dtparams-for-the-SD-interface.patch new file mode 100644 index 0000000000..157f5804b3 --- /dev/null +++ b/target/linux/brcm2708/patches-4.4/0144-BCM270X_DT-Add-dtparams-for-the-SD-interface.patch @@ -0,0 +1,235 @@ +From 5920a56447c13b86d073a388be113c28c2a8681d Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 12 Feb 2016 15:38:00 +0000 +Subject: [PATCH 144/304] BCM270X_DT: Add dtparams for the SD interface + +Add new base dtparams sd_overclock, sd_force_pio, sd_pio_limit +and sd_debug. +--- + arch/arm/boot/dts/bcm2708-rpi-b-plus.dts | 4 ++++ + arch/arm/boot/dts/bcm2708-rpi-b.dts | 4 ++++ + arch/arm/boot/dts/bcm2708-rpi-cm.dts | 1 - + arch/arm/boot/dts/bcm2708-rpi-cm.dtsi | 13 +++++++++++++ + arch/arm/boot/dts/bcm2708_common.dtsi | 2 ++ + arch/arm/boot/dts/bcm2709-rpi-2-b.dts | 4 ++++ + arch/arm/boot/dts/overlays/README | 11 ++++++++++- + arch/arm/boot/dts/overlays/mmc-overlay.dts | 1 - + arch/arm/boot/dts/overlays/sdhost-overlay.dts | 27 +++++++++++++------------- + arch/arm/boot/dts/overlays/sdtweak-overlay.dts | 14 ++++++------- + 10 files changed, 58 insertions(+), 23 deletions(-) + +--- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts ++++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts +@@ -141,5 +141,9 @@ + audio = <&audio>,"status"; + watchdog = <&watchdog>,"status"; + random = <&random>,"status"; ++ sd_overclock = <&sdhost>,"brcm,overclock-50:0"; ++ sd_force_pio = <&sdhost>,"brcm,force-pio?"; ++ sd_pio_limit = <&sdhost>,"brcm,pio-limit:0"; ++ sd_debug = <&sdhost>,"brcm,debug"; + }; + }; +--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts ++++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts +@@ -131,5 +131,9 @@ + audio = <&audio>,"status"; + watchdog = <&watchdog>,"status"; + random = <&random>,"status"; ++ sd_overclock = <&sdhost>,"brcm,overclock-50:0"; ++ sd_force_pio = <&sdhost>,"brcm,force-pio?"; ++ sd_pio_limit = <&sdhost>,"brcm,pio-limit:0"; ++ sd_debug = <&sdhost>,"brcm,debug"; + }; + }; +--- a/arch/arm/boot/dts/bcm2708-rpi-cm.dts ++++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dts +@@ -97,6 +97,5 @@ + i2c0_baudrate = <&i2c0>,"clock-frequency:0"; + i2c1_baudrate = <&i2c1>,"clock-frequency:0"; + i2c2_baudrate = <&i2c2>,"clock-frequency:0"; +- core_freq = <&clk_core>,"clock-frequency:0"; + }; + }; +--- a/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi ++++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi +@@ -7,6 +7,13 @@ + }; + }; + ++&gpio { ++ sdhost_pins: sdhost_pins { ++ brcm,pins = <48 49 50 51 52 53>; ++ brcm,function = <4>; /* alt0 */ ++ }; ++}; ++ + &leds { + act_led: act { + label = "led0"; +@@ -29,6 +36,8 @@ + + / { + __overrides__ { ++ core_freq = <&clk_core>,"clock-frequency:0"; ++ + act_led_gpio = <&act_led>,"gpios:4"; + act_led_activelow = <&act_led>,"gpios:8"; + act_led_trigger = <&act_led>,"linux,default-trigger"; +@@ -36,5 +45,9 @@ + audio = <&audio>,"status"; + watchdog = <&watchdog>,"status"; + random = <&random>,"status"; ++ sd_overclock = <&sdhost>,"brcm,overclock-50:0"; ++ sd_force_pio = <&sdhost>,"brcm,force-pio?"; ++ sd_pio_limit = <&sdhost>,"brcm,pio-limit:0"; ++ sd_debug = <&sdhost>,"brcm,debug"; + }; + }; +--- a/arch/arm/boot/dts/bcm2708_common.dtsi ++++ b/arch/arm/boot/dts/bcm2708_common.dtsi +@@ -135,6 +135,7 @@ + dmas = <&dma 13>, + <&dma 13>; + dma-names = "tx", "rx"; ++ brcm,overclock-50 = <0>; + brcm,pio-limit = <1>; + status = "disabled"; + }; +@@ -203,6 +204,7 @@ + dmas = <&dma 11>, + <&dma 11>; + dma-names = "tx", "rx"; ++ brcm,overclock-50 = <0>; + status = "disabled"; + }; + +--- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts ++++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts +@@ -141,5 +141,9 @@ + audio = <&audio>,"status"; + watchdog = <&watchdog>,"status"; + random = <&random>,"status"; ++ sd_overclock = <&sdhost>,"brcm,overclock-50:0"; ++ sd_force_pio = <&sdhost>,"brcm,force-pio?"; ++ sd_pio_limit = <&sdhost>,"brcm,pio-limit:0"; ++ sd_debug = <&sdhost>,"brcm,debug"; + }; + }; +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -112,6 +112,16 @@ Params: + random Set to "on" to enable the hardware random + number generator (default "on") + ++ sd_overclock Clock (in MHz) to use when the MMC framework ++ requests 50MHz ++ ++ sd_force_pio Disable DMA support for SD driver (default off) ++ ++ sd_pio_limit Number of blocks above which to use DMA for ++ SD card (default 1) ++ ++ sd_debug Enable debug output from SD driver (default off) ++ + uart0 Set to "off" to disable uart0 (default "on") + + watchdog Set to "on" to enable the hardware watchdog +@@ -443,7 +453,6 @@ Info: Selects the bcm2835-mmc SD/MMC d + Load: dtoverlay=mmc,= + Params: overclock_50 Clock (in MHz) to use when the MMC framework + requests 50MHz +- force_pio Disable DMA support + + + Name: mz61581 +--- a/arch/arm/boot/dts/overlays/mmc-overlay.dts ++++ b/arch/arm/boot/dts/overlays/mmc-overlay.dts +@@ -34,6 +34,5 @@ + + __overrides__ { + overclock_50 = <&frag0>,"brcm,overclock-50:0"; +- force_pio = <&frag0>,"brcm,force-pio?"; + }; + }; +--- a/arch/arm/boot/dts/overlays/sdhost-overlay.dts ++++ b/arch/arm/boot/dts/overlays/sdhost-overlay.dts +@@ -1,19 +1,14 @@ + /dts-v1/; + /plugin/; + ++/* Provide backwards compatible aliases for the old sdhost dtparams. */ ++ + /{ + compatible = "brcm,bcm2708"; + + fragment@0 { +- target = <&mmc>; +- __overlay__ { +- status = "disabled"; +- }; +- }; +- +- fragment@1 { + target = <&sdhost>; +- frag1: __overlay__ { ++ frag0: __overlay__ { + brcm,overclock-50 = <0>; + brcm,pio-limit = <1>; + brcm,debug-flags = <0>; +@@ -21,11 +16,17 @@ + }; + }; + ++ fragment@1 { ++ target = <&mmc>; ++ __overlay__ { ++ status = "disabled"; ++ }; ++ }; ++ + __overrides__ { +- overclock_50 = <&frag1>,"brcm,overclock-50:0"; +- force_pio = <&frag1>,"brcm,force-pio?"; +- pio_limit = <&frag1>,"brcm,pio-limit:0"; +- debug = <&frag1>,"brcm,debug?"; +- debug_flags = <&frag1>,"brcm,debug-flags:0"; ++ overclock_50 = <&frag0>,"brcm,overclock-50:0"; ++ force_pio = <&frag0>,"brcm,force-pio?"; ++ pio_limit = <&frag0>,"brcm,pio-limit:0"; ++ debug = <&frag0>,"brcm,debug?"; + }; + }; +--- a/arch/arm/boot/dts/overlays/sdtweak-overlay.dts ++++ b/arch/arm/boot/dts/overlays/sdtweak-overlay.dts +@@ -1,23 +1,23 @@ + /dts-v1/; + /plugin/; + ++/* Provide backwards compatible aliases for the old sdhost dtparams. */ ++ + /{ + compatible = "brcm,bcm2708"; + + fragment@0 { + target = <&sdhost>; +- frag1: __overlay__ { ++ frag0: __overlay__ { + brcm,overclock-50 = <0>; + brcm,pio-limit = <1>; +- brcm,debug-flags = <0>; + }; + }; + + __overrides__ { +- overclock_50 = <&frag1>,"brcm,overclock-50:0"; +- force_pio = <&frag1>,"brcm,force-pio?"; +- pio_limit = <&frag1>,"brcm,pio-limit:0"; +- debug = <&frag1>,"brcm,debug?"; +- debug_flags = <&frag1>,"brcm,debug-flags:0"; ++ overclock_50 = <&frag0>,"brcm,overclock-50:0"; ++ force_pio = <&frag0>,"brcm,force-pio?"; ++ pio_limit = <&frag0>,"brcm,pio-limit:0"; ++ debug = <&frag0>,"brcm,debug?"; + }; + }; -- cgit v1.2.3