From: Eugen Hristev <eugen.hristev@xxxxxxxxxxxxx> SAMA5D27 WLSOM1 boards has a WILC3000 device soldered. Add proper device tree nodes for this. [eugen.hristev: original author of this code] Signed-off-by: Eugen Hristev <eugen.hristev@xxxxxxxxxxxxx> [nicolas.ferre: original author of this code] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxxxxxx> [claudiu.beznea: adapt for mmc-pwrseq-sd8787, commit message] Signed-off-by: Claudiu Beznea <claudiu.beznea@xxxxxxxxxxxxx> --- arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi | 72 +++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi b/arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi index 025a78310e3a..de8bb3439aef 100644 --- a/arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi +++ b/arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi @@ -30,6 +30,16 @@ main_xtal { clock-frequency = <24000000>; }; }; + + wifi_pwrseq: wifi_pwrseq { + compatible = "mmc-pwrseq-sd8787"; + reset-gpios = <&pioA PIN_PA27 GPIO_ACTIVE_HIGH>; + powerdown-gpios = <&pioA PIN_PA29 GPIO_ACTIVE_HIGH>; + reset-power-delay-ms = <5>; + pinctrl-0 = <&pinctrl_wilc_pwrseq>; + pinctrl-names = "default"; + status = "okay"; + }; }; &flx1 { @@ -310,5 +320,67 @@ pinctrl_qspi1_default: qspi1_default { <PIN_PB10__QSPI1_IO3>; bias-pull-up; }; + + pinctrl_sdmmc1_default: sdmmc1_default { + cmd-data { + pinmux = <PIN_PA28__SDMMC1_CMD>, + <PIN_PA18__SDMMC1_DAT0>, + <PIN_PA19__SDMMC1_DAT1>, + <PIN_PA20__SDMMC1_DAT2>, + <PIN_PA21__SDMMC1_DAT3>; + bias-disable; + }; + + conf-ck { + pinmux = <PIN_PA22__SDMMC1_CK>; + bias-disable; + }; + }; + + pinctrl_wilc_default: wilc_default { + conf-irq { + pinmux = <PIN_PB25__GPIO>; + bias-disable; + }; + }; + + pinctrl_wilc_pwrseq: wilc_pwrseq { + conf-ce-nrst { + pinmux = <PIN_PA27__GPIO>, + <PIN_PA29__GPIO>; + bias-disable; + }; + + conf-rtcclk { + pinmux = <PIN_PB13__PCK1>; + bias-disable; + }; + }; +}; + +&sdmmc1 { + #address-cells = <1>; + #size-cells = <0>; + bus-width = <4>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sdmmc1_default>; + mmc-pwrseq = <&wifi_pwrseq>; + no-1-8-v; + non-removable; + status = "okay"; + + wilc: wilc@0 { + reg = <0>; + bus-width = <4>; + compatible = "microchip,wilc3000", "microchip,wilc1000"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_wilc_default>; + irq-gpios = <&pioA PIN_PB25 GPIO_ACTIVE_LOW>; + clocks = <&pmc PMC_TYPE_SYSTEM 9>; + clock-names = "rtc"; + assigned-clocks = <&pmc PMC_TYPE_SYSTEM 9>; + assigned-clock-rates = <32768>; + status = "okay"; + }; }; -- 2.25.1