011f2c26f1
As usual these patches were extracted and rebased from the raspberry pi repo: https://github.com/raspberrypi/linux/tree/rpi-4.4.y Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
82 lines
2.5 KiB
Diff
82 lines
2.5 KiB
Diff
From 0c30ca161cd0aeda5ce514055897c07dcdf8e5cb Mon Sep 17 00:00:00 2001
|
|
From: campag <dave-lowe@ntlworld.com>
|
|
Date: Wed, 24 Feb 2016 16:45:42 +0000
|
|
Subject: [PATCH] BCM270X_DT: Add 1-bit SDIO using minimal pins...
|
|
|
|
... for that mode: GPIOs 22-25.
|
|
---
|
|
arch/arm/boot/dts/overlays/README | 21 ++++++++++++++
|
|
arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts | 36 ++++++++++++++++++++++++
|
|
2 files changed, 57 insertions(+)
|
|
create mode 100644 arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts
|
|
|
|
--- a/arch/arm/boot/dts/overlays/README
|
|
+++ b/arch/arm/boot/dts/overlays/README
|
|
@@ -709,6 +709,27 @@ Params: overclock_50 SD Clock
|
|
bus_width Set the SDIO host bus width (default 4 bits)
|
|
|
|
|
|
+Name: sdio-1bit
|
|
+Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock,
|
|
+ and enables 1-bit SDIO via GPIOs 22-25.
|
|
+Load: dtoverlay=sdio-1bit,<param>=<val>
|
|
+Params: overclock_50 SD Clock (in MHz) to use when the MMC framework
|
|
+ requests 50MHz
|
|
+
|
|
+ sdio_overclock SDIO Clock (in MHz) to use when the MMC
|
|
+ framework requests 50MHz
|
|
+
|
|
+ force_pio Disable DMA support (default off)
|
|
+
|
|
+ pio_limit Number of blocks above which to use DMA
|
|
+ (default 1)
|
|
+
|
|
+ debug Enable debug output (default off)
|
|
+
|
|
+ poll_once Disable SDIO-device polling every second
|
|
+ (default on: polling once at boot-time)
|
|
+
|
|
+
|
|
Name: sdtweak
|
|
Info: Tunes the bcm2835-sdhost SD/MMC driver
|
|
Load: dtoverlay=sdtweak,<param>=<val>
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts
|
|
@@ -0,0 +1,36 @@
|
|
+/* Enable 1-bit SDIO from MMC interface via GPIOs 22-25. Includes sdhost overlay. */
|
|
+
|
|
+/include/ "sdhost-overlay.dts"
|
|
+
|
|
+/{
|
|
+ compatible = "brcm,bcm2708";
|
|
+
|
|
+ fragment@3 {
|
|
+ target = <&mmc>;
|
|
+ sdio_mmc: __overlay__ {
|
|
+ compatible = "brcm,bcm2835-mmc";
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&sdio_pins>;
|
|
+ non-removable;
|
|
+ bus-width = <1>;
|
|
+ brcm,overclock-50 = <0>;
|
|
+ status = "okay";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@4 {
|
|
+ target = <&gpio>;
|
|
+ __overlay__ {
|
|
+ sdio_pins: sdio_pins {
|
|
+ brcm,pins = <22 23 24 25>;
|
|
+ brcm,function = <7 7 7 7>; /* ALT3 = SD1 */
|
|
+ brcm,pull = <0 2 2 2>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ __overrides__ {
|
|
+ poll_once = <&sdio_mmc>,"non-removable?";
|
|
+ sdio_overclock = <&sdio_mmc>,"brcm,overclock-50:0";
|
|
+ };
|
|
+};
|