brcm2708: update linux 4.4 patches to latest version
[openwrt/staging/lynxis/omap.git] / target / linux / brcm2708 / patches-4.4 / 0199-BCM270X_DT-Add-1-bit-SDIO-using-minimal-pins.patch
1 From e1b1b8a6f9dbdcf019b8975d5ced5a0393b23dd3 Mon Sep 17 00:00:00 2001
2 From: campag <dave-lowe@ntlworld.com>
3 Date: Wed, 24 Feb 2016 16:45:42 +0000
4 Subject: [PATCH 199/423] BCM270X_DT: Add 1-bit SDIO using minimal pins...
5
6 ... for that mode: GPIOs 22-25.
7 ---
8 arch/arm/boot/dts/overlays/README | 21 ++++++++++++++
9 arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts | 36 ++++++++++++++++++++++++
10 2 files changed, 57 insertions(+)
11 create mode 100644 arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts
12
13 --- a/arch/arm/boot/dts/overlays/README
14 +++ b/arch/arm/boot/dts/overlays/README
15 @@ -709,6 +709,27 @@ Params: overclock_50 SD Clock
16 bus_width Set the SDIO host bus width (default 4 bits)
17
18
19 +Name: sdio-1bit
20 +Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock,
21 + and enables 1-bit SDIO via GPIOs 22-25.
22 +Load: dtoverlay=sdio-1bit,<param>=<val>
23 +Params: overclock_50 SD Clock (in MHz) to use when the MMC framework
24 + requests 50MHz
25 +
26 + sdio_overclock SDIO Clock (in MHz) to use when the MMC
27 + framework requests 50MHz
28 +
29 + force_pio Disable DMA support (default off)
30 +
31 + pio_limit Number of blocks above which to use DMA
32 + (default 1)
33 +
34 + debug Enable debug output (default off)
35 +
36 + poll_once Disable SDIO-device polling every second
37 + (default on: polling once at boot-time)
38 +
39 +
40 Name: sdtweak
41 Info: Tunes the bcm2835-sdhost SD/MMC driver
42 Load: dtoverlay=sdtweak,<param>=<val>
43 --- /dev/null
44 +++ b/arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts
45 @@ -0,0 +1,36 @@
46 +/* Enable 1-bit SDIO from MMC interface via GPIOs 22-25. Includes sdhost overlay. */
47 +
48 +/include/ "sdhost-overlay.dts"
49 +
50 +/{
51 + compatible = "brcm,bcm2708";
52 +
53 + fragment@3 {
54 + target = <&mmc>;
55 + sdio_mmc: __overlay__ {
56 + compatible = "brcm,bcm2835-mmc";
57 + pinctrl-names = "default";
58 + pinctrl-0 = <&sdio_pins>;
59 + non-removable;
60 + bus-width = <1>;
61 + brcm,overclock-50 = <0>;
62 + status = "okay";
63 + };
64 + };
65 +
66 + fragment@4 {
67 + target = <&gpio>;
68 + __overlay__ {
69 + sdio_pins: sdio_pins {
70 + brcm,pins = <22 23 24 25>;
71 + brcm,function = <7 7 7 7>; /* ALT3 = SD1 */
72 + brcm,pull = <0 2 2 2>;
73 + };
74 + };
75 + };
76 +
77 + __overrides__ {
78 + poll_once = <&sdio_mmc>,"non-removable?";
79 + sdio_overclock = <&sdio_mmc>,"brcm,overclock-50:0";
80 + };
81 +};