Skip to content

Commit

Permalink
ARM: dts: Add WiFi module support for Peach boards
Browse files Browse the repository at this point in the history
Peach Pit and Pi boards have a WiFi module that is always powered
but needs toggling an enable pin and ungating a 32kHz reference
clock as part of their power sequencing.

Add a dev node for the SDIO slot and a MMC power sequence provider.

Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
  • Loading branch information
Javier Martinez Canillas authored and Kukjin Kim committed Feb 26, 2015
1 parent af6ad88 commit 3cb1818
Show file tree
Hide file tree
Showing 2 changed files with 112 additions and 0 deletions.
56 changes: 56 additions & 0 deletions arch/arm/boot/dts/exynos5420-peach-pit.dts
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,13 @@
};
};
};

mmc1_pwrseq: mmc1_pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&gpx0 0 GPIO_ACTIVE_LOW>; /* WIFI_EN */
clocks = <&max77802 MAX77802_CLK_32K_CP>;
clock-names = "ext_clock";
};
};

&adc {
Expand Down Expand Up @@ -691,6 +698,25 @@
bus-width = <8>;
};

&mmc_1 {
status = "okay";
num-slots = <1>;
broken-cd;
cap-sdio-irq;
card-detect-delay = <200>;
clock-frequency = <400000000>;
samsung,dw-mshc-ciu-div = <1>;
samsung,dw-mshc-sdr-timing = <0 1>;
samsung,dw-mshc-ddr-timing = <0 2>;
pinctrl-names = "default";
pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_int>, <&sd1_bus1>,
<&sd1_bus4>, <&sd1_bus8>, <&wifi_en>;
bus-width = <4>;
cap-sd-highspeed;
mmc-pwrseq = <&mmc1_pwrseq>;
vqmmc-supply = <&buck10_reg>;
};

&mmc_2 {
status = "okay";
num-slots = <1>;
Expand All @@ -710,6 +736,13 @@
pinctrl-names = "default";
pinctrl-0 = <&mask_tpm_reset>;

wifi_en: wifi-en {
samsung,pins = "gpx0-0";
samsung,pin-function = <1>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};

max98090_irq: max98090-irq {
samsung,pins = "gpx0-2";
samsung,pin-function = <0>;
Expand Down Expand Up @@ -797,6 +830,29 @@
};
};

&pinctrl_1 {
/* Adjust WiFi drive strengths lower for EMI */
sd1_clk: sd1-clk {
samsung,pin-drv = <2>;
};

sd1_cmd: sd1-cmd {
samsung,pin-drv = <2>;
};

sd1_bus1: sd1-bus-width1 {
samsung,pin-drv = <2>;
};

sd1_bus4: sd1-bus-width4 {
samsung,pin-drv = <2>;
};

sd1_bus8: sd1-bus-width8 {
samsung,pin-drv = <2>;
};
};

&pinctrl_2 {
pmic_dvs_2: pmic-dvs-2 {
samsung,pins = "gpj4-2";
Expand Down
56 changes: 56 additions & 0 deletions arch/arm/boot/dts/exynos5800-peach-pi.dts
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,13 @@
power-supply = <&tps65090_fet6>;
backlight = <&backlight>;
};

mmc1_pwrseq: mmc1_pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&gpx0 0 GPIO_ACTIVE_LOW>; /* WIFI_EN */
clocks = <&max77802 MAX77802_CLK_32K_CP>;
clock-names = "ext_clock";
};
};

&adc {
Expand Down Expand Up @@ -653,6 +660,25 @@
bus-width = <8>;
};

&mmc_1 {
status = "okay";
num-slots = <1>;
broken-cd;
cap-sdio-irq;
card-detect-delay = <200>;
clock-frequency = <400000000>;
samsung,dw-mshc-ciu-div = <1>;
samsung,dw-mshc-sdr-timing = <0 1>;
samsung,dw-mshc-ddr-timing = <0 2>;
pinctrl-names = "default";
pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_int>, <&sd1_bus1>,
<&sd1_bus4>, <&sd1_bus8>, <&wifi_en>;
bus-width = <4>;
cap-sd-highspeed;
mmc-pwrseq = <&mmc1_pwrseq>;
vqmmc-supply = <&buck10_reg>;
};

&mmc_2 {
status = "okay";
num-slots = <1>;
Expand All @@ -672,6 +698,13 @@
pinctrl-names = "default";
pinctrl-0 = <&mask_tpm_reset>;

wifi_en: wifi-en {
samsung,pins = "gpx0-0";
samsung,pin-function = <1>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};

max98091_irq: max98091-irq {
samsung,pins = "gpx0-2";
samsung,pin-function = <0>;
Expand Down Expand Up @@ -759,6 +792,29 @@
};
};

&pinctrl_1 {
/* Adjust WiFi drive strengths lower for EMI */
sd1_clk: sd1-clk {
samsung,pin-drv = <2>;
};

sd1_cmd: sd1-cmd {
samsung,pin-drv = <2>;
};

sd1_bus1: sd1-bus-width1 {
samsung,pin-drv = <2>;
};

sd1_bus4: sd1-bus-width4 {
samsung,pin-drv = <2>;
};

sd1_bus8: sd1-bus-width8 {
samsung,pin-drv = <2>;
};
};

&pinctrl_2 {
pmic_dvs_2: pmic-dvs-2 {
samsung,pins = "gpj4-2";
Expand Down

0 comments on commit 3cb1818

Please sign in to comment.