From: "Heiko Stübner" <heiko@sntech.de>
To: Michael Trimarchi <michael@amarulasolutions.com>
Cc: linux-rockchip@lists.infradead.org, linux-mmc@vger.kernel.org,
dianders@chromium.org, romain.perier@gmail.com,
FUKAUMI Naoki <naobsd@gmail.com>
Subject: Re: [RFC PATCH] ARM: dts: rockchip: Add wifi support for firefly
Date: Sat, 08 Aug 2015 23:05:53 +0200 [thread overview]
Message-ID: <5702275.SOOuh5NPWf@diego> (raw)
In-Reply-To: <1438956725-4188-1-git-send-email-michael@amarulasolutions.com>
[-- Attachment #1: Type: text/plain, Size: 3283 bytes --]
Hi Michael,
Am Freitag, 7. August 2015, 16:12:05 schrieb Michael Trimarchi:
> This patch enable wifi support for the firefly board.
> Card answer to me that support from 2.0V but regulator is connected
> to 1.8V, so voltage capability is wrong. In order to avoid this
> we just defined a fixed regulator trigger by the wifi enable gpio
> that report 2.0V.
>
> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
> ---
> arch/arm/boot/dts/rk3288-firefly.dtsi | 43
> +++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2
> deletions(-)
>
> diff --git a/arch/arm/boot/dts/rk3288-firefly.dtsi
> b/arch/arm/boot/dts/rk3288-firefly.dtsi index 0b42372..fcf234e 100644
> --- a/arch/arm/boot/dts/rk3288-firefly.dtsi
> +++ b/arch/arm/boot/dts/rk3288-firefly.dtsi
> @@ -116,6 +116,28 @@
> vin-supply = <&vcc_io>;
> };
>
> + io_domains: io-domains {
> + compatible = "rockchip,rk3288-io-voltage-domain";
> + rockchip,grf = <&grf>;
> +
> + wifi-supply = <&vcc_18>;
> + audio-supply = <&vcca_33>;
> + };
should be a separate patch and include the other interesting io-domains as
well.
> +
> + vcc_wifi: wifi-regulator {
> + compatible = "regulator-fixed";
> + enable-active-high;
> + gpio = <&gpio4 28 GPIO_ACTIVE_HIGH>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&sdio0_pwr>;
> + regulator-name = "vcc_wifi";
> + regulator-min-microvolt = <2000000>;
> + regulator-max-microvolt = <2000000>;
> + startup-delay-us = <100000>;
> + regulator-always-on;
> + vin-supply = <&vcc_io>;
> + };
> +
> vcc_flash: flash-regulator {
> compatible = "regulator-fixed";
> regulator-name = "vcc_flash";
> @@ -437,13 +459,30 @@
> &sdio0 {
> broken-cd;
> bus-width = <4>;
> + clock-freq-min-max = <400000 50000000>;
> disable-wp;
> non-removable;
> + cap-sd-highspeed;
> num-slots = <1>;
> pinctrl-names = "default";
> - pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>;
> - vmmc-supply = <&vcc_18>;
> + pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>, <&sdio0_int>;
> +
> + sd-uhs-sdr50;
> + sd-uhs-sdr104;
> + sd-uhs-ddr50;
we don't have mmc tuning capabilities yet, so please no sd-uhs-* stuff. That
way you should also be able to leave out the clock-freq-min-max above, as
regular "highspeed" does not venture above the 50MHz limit.
> + cap-sdio-irq;
> +
> + vmmc-supply = <&vcc_wifi>;
the original supply is actually wrong in the dts. vcc_18 is the io voltage
used on the
pins _to_ the card, not to supply the card itself. So vcc_18 is actually the
so called vqmmc-supply.
vmmc-supply is done regularly from vcc_io. So your voltage hack above can go
away too.
Bringup should also use a mmc-power-sequency so you can make sure the
rtc_clock is running, which is also needed by the wifi module.
> status = "okay";
missing #address-cells and #size-cells values for the subnodes
> +
> + brcmf: bcrmf@0 {
> + compatible = "brcm,bcm4329-fmac";
> + interrupt-parent = <&gpio4>;
> + reg = <0>;
> + interrupts = <30 IRQ_TYPE_EDGE_FALLING>;
> + interrupt-names = "host-wake";
> + status = "okay";
> + };
> };
>
> &sdmmc {
I took the liberty to move stuff around how it should look like, but did not
find the time to actually test this. So maybe you can take a look at the
attached patches.
Heiko
[-- Attachment #2: 0001-ARM-dts-rockchip-add-rk3288-firefly-io-domains.patch --]
[-- Type: text/x-patch, Size: 1572 bytes --]
>From 1a255ca2a4281b6257eca95ed3edabe74818bc1e Mon Sep 17 00:00:00 2001
From: Heiko Stuebner <heiko@sntech.de>
Date: Sat, 8 Aug 2015 22:14:57 +0200
Subject: [PATCH 1/3] ARM: dts: rockchip: add rk3288-firefly io-domains
This adds the io-domain description for the different io supplies on
the rk3288 firefly.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
arch/arm/boot/dts/rk3288-firefly.dtsi | 21 ++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/rk3288-firefly.dtsi b/arch/arm/boot/dts/rk3288-firefly.dtsi
index 20fa0ef..0b2b496 100644
--- a/arch/arm/boot/dts/rk3288-firefly.dtsi
+++ b/arch/arm/boot/dts/rk3288-firefly.dtsi
@@ -55,6 +55,20 @@
clock-output-names = "ext_gmac";
};
+ io_domains: io-domains {
+ compatible = "rockchip,rk3288-io-voltage-domain";
+ rockchip,grf = <&grf>;
+
+ audio-supply = <&vcca_33>;
+ bb-supply = <&vcc_io>;
+ flash0-supply = <&vcc_flash>;
+ gpio1830-supply = <&vcc_io>;
+ gpio30-supply = <&vcc_io>;
+ lcdc-supply = <&vcc_io>;
+ sdcard-supply = <&vccio_sd>;
+ wifi-supply = <&vccio_wl>;
+ };
+
ir: ir-receiver {
compatible = "gpio-ir-receiver";
pinctrl-names = "default";
@@ -325,7 +339,12 @@
regulator-always-on;
};
- vcc_18: REG11 {
+ /*
+ * vcc_18 has an alias named vccio_wl. We'll add this
+ * aliase here just to make it easier to follow the
+ * schematic.
+ */
+ vccio_wl: vcc_18: REG11 {
regulator-name = "vcc_18";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
--
2.1.4
[-- Attachment #3: 0002-ARM-dts-rockchip-add-address-and-size-cells-to-dw-ms.patch --]
[-- Type: text/x-patch, Size: 2505 bytes --]
>From e89204f15a1c1c9066013e2517bc5bb80d067601 Mon Sep 17 00:00:00 2001
From: Heiko Stuebner <heiko@sntech.de>
Date: Sat, 8 Aug 2015 22:37:52 +0200
Subject: [PATCH 2/3] ARM: dts: rockchip: add #address- and #size-cells to
dw-mshc nodes
The mmc subsystem allows to specifiy function subnodes to specify data
for embedded boards like wifi sdio modules use there.
The address of these submodules is the slot-id they are connected to,
so set #address-cells and #size-cells accordingly to prevent boards from
having to repeat these settings in each dts.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
arch/arm/boot/dts/rk3288.dtsi | 8 ++++++++
arch/arm/boot/dts/rk3xxx.dtsi | 6 ++++++
2 files changed, 14 insertions(+)
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
index 906e938..7bd0a30 100644
--- a/arch/arm/boot/dts/rk3288.dtsi
+++ b/arch/arm/boot/dts/rk3288.dtsi
@@ -227,6 +227,8 @@
fifo-depth = <0x100>;
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
reg = <0xff0c0000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
status = "disabled";
};
@@ -238,6 +240,8 @@
fifo-depth = <0x100>;
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
reg = <0xff0d0000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
status = "disabled";
};
@@ -249,6 +253,8 @@
fifo-depth = <0x100>;
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
reg = <0xff0e0000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
status = "disabled";
};
@@ -260,6 +266,8 @@
fifo-depth = <0x100>;
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
reg = <0xff0f0000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
status = "disabled";
};
diff --git a/arch/arm/boot/dts/rk3xxx.dtsi b/arch/arm/boot/dts/rk3xxx.dtsi
index 4497d28..e09b752 100644
--- a/arch/arm/boot/dts/rk3xxx.dtsi
+++ b/arch/arm/boot/dts/rk3xxx.dtsi
@@ -218,6 +218,8 @@
clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
clock-names = "biu", "ciu";
fifo-depth = <256>;
+ #address-cells = <1>;
+ #size-cells = <0>;
status = "disabled";
};
@@ -228,6 +230,8 @@
clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>;
clock-names = "biu", "ciu";
fifo-depth = <256>;
+ #address-cells = <1>;
+ #size-cells = <0>;
status = "disabled";
};
@@ -238,6 +242,8 @@
clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>;
clock-names = "biu", "ciu";
fifo-depth = <256>;
+ #address-cells = <1>;
+ #size-cells = <0>;
status = "disabled";
};
--
2.1.4
[-- Attachment #4: 0003-ARM-dts-rockchip-Add-wifi-support-for-firefly.patch --]
[-- Type: text/x-patch, Size: 2214 bytes --]
>From 62bd4e7d8e78296089a675575df4354e605723c9 Mon Sep 17 00:00:00 2001
From: Michael Trimarchi <michael@amarulasolutions.com>
Date: Fri, 7 Aug 2015 16:12:05 +0200
Subject: [PATCH 3/3] ARM: dts: rockchip: Add wifi support for firefly
This patch enables wifi support for the firefly board.
The core supply of the wifi modules comes from vcc_io but aliased to
vbat_wl, so add this alias too to make reading the schematics easier.
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
---
arch/arm/boot/dts/rk3288-firefly.dtsi | 38 ++++++++++++++++++++++++++++++++---
1 file changed, 35 insertions(+), 3 deletions(-)
diff --git a/arch/arm/boot/dts/rk3288-firefly.dtsi b/arch/arm/boot/dts/rk3288-firefly.dtsi
index 0b2b496..506bd00 100644
--- a/arch/arm/boot/dts/rk3288-firefly.dtsi
+++ b/arch/arm/boot/dts/rk3288-firefly.dtsi
@@ -110,6 +110,17 @@
};
};
+ sdio_pwrseq: sdio-pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ clocks = <&hym8563>;
+ clock-names = "ext_clock";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_reg_on>;
+
+ /* On the module itself this is WL_REG_ON */
+ reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
+ };
+
vcc_sys: vsys-regulator {
compatible = "regulator-fixed";
regulator-name = "vcc_sys";
@@ -428,6 +439,12 @@
};
};
+ sdio {
+ wifi_reg_on: wifi-reg-on {
+ rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
sdmmc {
sdmmc_pwr: sdmmc-pwr {
rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
@@ -457,15 +474,30 @@
};
&sdio0 {
+ status = "okay";
+
broken-cd;
bus-width = <4>;
disable-wp;
+ cap-sd-highspeed;
+ cap-sdio-irq;
+ keep-power-in-suspend;
+ mmc-pwrseq = <&sdio_pwrseq>;
non-removable;
num-slots = <1>;
pinctrl-names = "default";
- pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>;
- vmmc-supply = <&vcc_18>;
- status = "okay";
+ pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>, <&sdio0_int>;
+ vmmc-supply = <&vcc_io>;
+ vqmmc-supply = <&vccio_wl>;
+
+ brcmf: bcrmf@0 {
+ compatible = "brcm,bcm4329-fmac";
+ reg = <0>;
+ interrupt-parent = <&gpio4>;
+ interrupts = <30 IRQ_TYPE_EDGE_FALLING>;
+ interrupt-names = "host-wake";
+ status = "okay";
+ };
};
&sdmmc {
--
2.1.4
WARNING: multiple messages have this Message-ID (diff)
From: "Heiko Stübner" <heiko@sntech.de>
To: Michael Trimarchi <michael@amarulasolutions.com>
Cc: linux-rockchip@lists.infradead.org, linux-mmc@vger.kernel.org,
dianders@chromium.org, romain.perier@gmail.com,
FUKAUMI Naoki <naobsd@gmail.com>
Subject: Re: [RFC PATCH] ARM: dts: rockchip: Add wifi support for firefly
Date: Sat, 08 Aug 2015 23:05:53 +0200 [thread overview]
Message-ID: <5702275.SOOuh5NPWf@diego> (raw)
In-Reply-To: <1438956725-4188-1-git-send-email-michael@amarulasolutions.com>
[-- Attachment #1: Type: text/plain, Size: 3283 bytes --]
Hi Michael,
Am Freitag, 7. August 2015, 16:12:05 schrieb Michael Trimarchi:
> This patch enable wifi support for the firefly board.
> Card answer to me that support from 2.0V but regulator is connected
> to 1.8V, so voltage capability is wrong. In order to avoid this
> we just defined a fixed regulator trigger by the wifi enable gpio
> that report 2.0V.
>
> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
> ---
> arch/arm/boot/dts/rk3288-firefly.dtsi | 43
> +++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2
> deletions(-)
>
> diff --git a/arch/arm/boot/dts/rk3288-firefly.dtsi
> b/arch/arm/boot/dts/rk3288-firefly.dtsi index 0b42372..fcf234e 100644
> --- a/arch/arm/boot/dts/rk3288-firefly.dtsi
> +++ b/arch/arm/boot/dts/rk3288-firefly.dtsi
> @@ -116,6 +116,28 @@
> vin-supply = <&vcc_io>;
> };
>
> + io_domains: io-domains {
> + compatible = "rockchip,rk3288-io-voltage-domain";
> + rockchip,grf = <&grf>;
> +
> + wifi-supply = <&vcc_18>;
> + audio-supply = <&vcca_33>;
> + };
should be a separate patch and include the other interesting io-domains as
well.
> +
> + vcc_wifi: wifi-regulator {
> + compatible = "regulator-fixed";
> + enable-active-high;
> + gpio = <&gpio4 28 GPIO_ACTIVE_HIGH>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&sdio0_pwr>;
> + regulator-name = "vcc_wifi";
> + regulator-min-microvolt = <2000000>;
> + regulator-max-microvolt = <2000000>;
> + startup-delay-us = <100000>;
> + regulator-always-on;
> + vin-supply = <&vcc_io>;
> + };
> +
> vcc_flash: flash-regulator {
> compatible = "regulator-fixed";
> regulator-name = "vcc_flash";
> @@ -437,13 +459,30 @@
> &sdio0 {
> broken-cd;
> bus-width = <4>;
> + clock-freq-min-max = <400000 50000000>;
> disable-wp;
> non-removable;
> + cap-sd-highspeed;
> num-slots = <1>;
> pinctrl-names = "default";
> - pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>;
> - vmmc-supply = <&vcc_18>;
> + pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>, <&sdio0_int>;
> +
> + sd-uhs-sdr50;
> + sd-uhs-sdr104;
> + sd-uhs-ddr50;
we don't have mmc tuning capabilities yet, so please no sd-uhs-* stuff. That
way you should also be able to leave out the clock-freq-min-max above, as
regular "highspeed" does not venture above the 50MHz limit.
> + cap-sdio-irq;
> +
> + vmmc-supply = <&vcc_wifi>;
the original supply is actually wrong in the dts. vcc_18 is the io voltage
used on the
pins _to_ the card, not to supply the card itself. So vcc_18 is actually the
so called vqmmc-supply.
vmmc-supply is done regularly from vcc_io. So your voltage hack above can go
away too.
Bringup should also use a mmc-power-sequency so you can make sure the
rtc_clock is running, which is also needed by the wifi module.
> status = "okay";
missing #address-cells and #size-cells values for the subnodes
> +
> + brcmf: bcrmf@0 {
> + compatible = "brcm,bcm4329-fmac";
> + interrupt-parent = <&gpio4>;
> + reg = <0>;
> + interrupts = <30 IRQ_TYPE_EDGE_FALLING>;
> + interrupt-names = "host-wake";
> + status = "okay";
> + };
> };
>
> &sdmmc {
I took the liberty to move stuff around how it should look like, but did not
find the time to actually test this. So maybe you can take a look at the
attached patches.
Heiko
[-- Attachment #2: 0001-ARM-dts-rockchip-add-rk3288-firefly-io-domains.patch --]
[-- Type: text/x-patch, Size: 1571 bytes --]
From 1a255ca2a4281b6257eca95ed3edabe74818bc1e Mon Sep 17 00:00:00 2001
From: Heiko Stuebner <heiko@sntech.de>
Date: Sat, 8 Aug 2015 22:14:57 +0200
Subject: [PATCH 1/3] ARM: dts: rockchip: add rk3288-firefly io-domains
This adds the io-domain description for the different io supplies on
the rk3288 firefly.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
arch/arm/boot/dts/rk3288-firefly.dtsi | 21 ++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/rk3288-firefly.dtsi b/arch/arm/boot/dts/rk3288-firefly.dtsi
index 20fa0ef..0b2b496 100644
--- a/arch/arm/boot/dts/rk3288-firefly.dtsi
+++ b/arch/arm/boot/dts/rk3288-firefly.dtsi
@@ -55,6 +55,20 @@
clock-output-names = "ext_gmac";
};
+ io_domains: io-domains {
+ compatible = "rockchip,rk3288-io-voltage-domain";
+ rockchip,grf = <&grf>;
+
+ audio-supply = <&vcca_33>;
+ bb-supply = <&vcc_io>;
+ flash0-supply = <&vcc_flash>;
+ gpio1830-supply = <&vcc_io>;
+ gpio30-supply = <&vcc_io>;
+ lcdc-supply = <&vcc_io>;
+ sdcard-supply = <&vccio_sd>;
+ wifi-supply = <&vccio_wl>;
+ };
+
ir: ir-receiver {
compatible = "gpio-ir-receiver";
pinctrl-names = "default";
@@ -325,7 +339,12 @@
regulator-always-on;
};
- vcc_18: REG11 {
+ /*
+ * vcc_18 has an alias named vccio_wl. We'll add this
+ * aliase here just to make it easier to follow the
+ * schematic.
+ */
+ vccio_wl: vcc_18: REG11 {
regulator-name = "vcc_18";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
--
2.1.4
[-- Attachment #3: 0002-ARM-dts-rockchip-add-address-and-size-cells-to-dw-ms.patch --]
[-- Type: text/x-patch, Size: 2504 bytes --]
From e89204f15a1c1c9066013e2517bc5bb80d067601 Mon Sep 17 00:00:00 2001
From: Heiko Stuebner <heiko@sntech.de>
Date: Sat, 8 Aug 2015 22:37:52 +0200
Subject: [PATCH 2/3] ARM: dts: rockchip: add #address- and #size-cells to
dw-mshc nodes
The mmc subsystem allows to specifiy function subnodes to specify data
for embedded boards like wifi sdio modules use there.
The address of these submodules is the slot-id they are connected to,
so set #address-cells and #size-cells accordingly to prevent boards from
having to repeat these settings in each dts.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
arch/arm/boot/dts/rk3288.dtsi | 8 ++++++++
arch/arm/boot/dts/rk3xxx.dtsi | 6 ++++++
2 files changed, 14 insertions(+)
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
index 906e938..7bd0a30 100644
--- a/arch/arm/boot/dts/rk3288.dtsi
+++ b/arch/arm/boot/dts/rk3288.dtsi
@@ -227,6 +227,8 @@
fifo-depth = <0x100>;
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
reg = <0xff0c0000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
status = "disabled";
};
@@ -238,6 +240,8 @@
fifo-depth = <0x100>;
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
reg = <0xff0d0000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
status = "disabled";
};
@@ -249,6 +253,8 @@
fifo-depth = <0x100>;
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
reg = <0xff0e0000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
status = "disabled";
};
@@ -260,6 +266,8 @@
fifo-depth = <0x100>;
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
reg = <0xff0f0000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
status = "disabled";
};
diff --git a/arch/arm/boot/dts/rk3xxx.dtsi b/arch/arm/boot/dts/rk3xxx.dtsi
index 4497d28..e09b752 100644
--- a/arch/arm/boot/dts/rk3xxx.dtsi
+++ b/arch/arm/boot/dts/rk3xxx.dtsi
@@ -218,6 +218,8 @@
clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
clock-names = "biu", "ciu";
fifo-depth = <256>;
+ #address-cells = <1>;
+ #size-cells = <0>;
status = "disabled";
};
@@ -228,6 +230,8 @@
clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>;
clock-names = "biu", "ciu";
fifo-depth = <256>;
+ #address-cells = <1>;
+ #size-cells = <0>;
status = "disabled";
};
@@ -238,6 +242,8 @@
clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>;
clock-names = "biu", "ciu";
fifo-depth = <256>;
+ #address-cells = <1>;
+ #size-cells = <0>;
status = "disabled";
};
--
2.1.4
[-- Attachment #4: 0003-ARM-dts-rockchip-Add-wifi-support-for-firefly.patch --]
[-- Type: text/x-patch, Size: 2213 bytes --]
From 62bd4e7d8e78296089a675575df4354e605723c9 Mon Sep 17 00:00:00 2001
From: Michael Trimarchi <michael@amarulasolutions.com>
Date: Fri, 7 Aug 2015 16:12:05 +0200
Subject: [PATCH 3/3] ARM: dts: rockchip: Add wifi support for firefly
This patch enables wifi support for the firefly board.
The core supply of the wifi modules comes from vcc_io but aliased to
vbat_wl, so add this alias too to make reading the schematics easier.
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
---
arch/arm/boot/dts/rk3288-firefly.dtsi | 38 ++++++++++++++++++++++++++++++++---
1 file changed, 35 insertions(+), 3 deletions(-)
diff --git a/arch/arm/boot/dts/rk3288-firefly.dtsi b/arch/arm/boot/dts/rk3288-firefly.dtsi
index 0b2b496..506bd00 100644
--- a/arch/arm/boot/dts/rk3288-firefly.dtsi
+++ b/arch/arm/boot/dts/rk3288-firefly.dtsi
@@ -110,6 +110,17 @@
};
};
+ sdio_pwrseq: sdio-pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ clocks = <&hym8563>;
+ clock-names = "ext_clock";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_reg_on>;
+
+ /* On the module itself this is WL_REG_ON */
+ reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
+ };
+
vcc_sys: vsys-regulator {
compatible = "regulator-fixed";
regulator-name = "vcc_sys";
@@ -428,6 +439,12 @@
};
};
+ sdio {
+ wifi_reg_on: wifi-reg-on {
+ rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
sdmmc {
sdmmc_pwr: sdmmc-pwr {
rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
@@ -457,15 +474,30 @@
};
&sdio0 {
+ status = "okay";
+
broken-cd;
bus-width = <4>;
disable-wp;
+ cap-sd-highspeed;
+ cap-sdio-irq;
+ keep-power-in-suspend;
+ mmc-pwrseq = <&sdio_pwrseq>;
non-removable;
num-slots = <1>;
pinctrl-names = "default";
- pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>;
- vmmc-supply = <&vcc_18>;
- status = "okay";
+ pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>, <&sdio0_int>;
+ vmmc-supply = <&vcc_io>;
+ vqmmc-supply = <&vccio_wl>;
+
+ brcmf: bcrmf@0 {
+ compatible = "brcm,bcm4329-fmac";
+ reg = <0>;
+ interrupt-parent = <&gpio4>;
+ interrupts = <30 IRQ_TYPE_EDGE_FALLING>;
+ interrupt-names = "host-wake";
+ status = "okay";
+ };
};
&sdmmc {
--
2.1.4
next prev parent reply other threads:[~2015-08-08 21:05 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-07 14:12 [RFC PATCH] ARM: dts: rockchip: Add wifi support for firefly Michael Trimarchi
2015-08-08 21:05 ` Heiko Stübner [this message]
2015-08-08 21:05 ` Heiko Stübner
2015-08-09 8:26 ` Michael Trimarchi
2015-08-09 19:17 ` Heiko Stübner
2015-11-16 7:39 ` Michael Trimarchi
2015-12-31 12:29 ` Michael Trimarchi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5702275.SOOuh5NPWf@diego \
--to=heiko@sntech.de \
--cc=dianders@chromium.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=michael@amarulasolutions.com \
--cc=naobsd@gmail.com \
--cc=romain.perier@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.