brcm2708: update linux 4.4 patches to latest version
[librecmc/librecmc.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 +};