openwrt/target/linux/brcm2708/patches-4.1/0177-BCM270X_DT-Add-SDIO-ov...

81 lines
2.6 KiB
Diff

From a0adae0d3e1327dfa796986e45bbe20dee335f2c Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 8 Sep 2015 15:14:50 +0100
Subject: [PATCH 177/203] BCM270X_DT: Add SDIO overlay
Enable SDIO from MMC interface via GPIOs 22-27. Includes the sdhost
overlay to free up the MMC interface.
---
arch/arm/boot/dts/overlays/Makefile | 1 +
arch/arm/boot/dts/overlays/README | 15 +++++++++++++++
arch/arm/boot/dts/overlays/sdio-overlay.dts | 29 +++++++++++++++++++++++++++++
3 files changed, 45 insertions(+)
create mode 100644 arch/arm/boot/dts/overlays/sdio-overlay.dts
--- a/arch/arm/boot/dts/overlays/Makefile
+++ b/arch/arm/boot/dts/overlays/Makefile
@@ -44,6 +44,7 @@ dtb-$(RPI_DT_OVERLAYS) += rpi-ft5406-ove
dtb-$(RPI_DT_OVERLAYS) += rpi-proto-overlay.dtb
dtb-$(RPI_DT_OVERLAYS) += rpi-sense-overlay.dtb
dtb-$(RPI_DT_OVERLAYS) += sdhost-overlay.dtb
+dtb-$(RPI_DT_OVERLAYS) += sdio-overlay.dtb
dtb-$(RPI_DT_OVERLAYS) += spi-bcm2708-overlay.dtb
dtb-$(RPI_DT_OVERLAYS) += spi-bcm2835-overlay.dtb
dtb-$(RPI_DT_OVERLAYS) += spi-dma-overlay.dtb
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -513,6 +513,21 @@ Params: overclock_50 Clock (
debug Enable debug output (default off)
+Name: sdio
+Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock,
+ and enables SDIO via GPIOs 22-27.
+Load: dtoverlay=sdio,<param>=<val>
+Params: overclock_50 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)
+
+
Name: spi-bcm2708
Info: Selects the bcm2708-spi SPI driver
Load: dtoverlay=spi-bcm2708
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/sdio-overlay.dts
@@ -0,0 +1,29 @@
+/* Enable SDIO from MMC interface via GPIOs 22-27. Includes sdhost overlay. */
+
+/include/ "sdhost-overlay.dts"
+
+/{
+ compatible = "brcm,bcm2708";
+
+ fragment@3 {
+ target = <&mmc>;
+ __overlay__ {
+ compatible = "brcm,bcm2835-mmc";
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdio_pins>;
+ non-removable;
+ status = "okay";
+ };
+ };
+
+ fragment@4 {
+ target = <&gpio>;
+ __overlay__ {
+ sdio_pins: sdio_pins {
+ brcm,pins = <22 23 24 25 26 27>;
+ brcm,function = <7 7 7 7 7 7>; /* ALT3 = SD1 */
+ brcm,pull = <0 2 2 2 2 2>;
+ };
+ };
+ };
+};