aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuodong Xu <guodong.xu@linaro.org>2015-02-13 06:51:40 +0800
committerGuodong Xu <guodong.xu@linaro.org>2015-02-15 19:01:58 +0800
commit0b986a3c7232fde393d1cd66368b784a67333f2c (patch)
tree9ddd0082375262d71d31e03a4e52d6c613ddc661
parent0db9336ae10c335bafec56e44f06923379506ac5 (diff)
dts: hikey: add device tree info for using TI WL1835 WIFI
Both non-removable and broken-cd are set for dwmmc_2. If only use 'non-removable', no sdio card detection will happen. If only use 'broken-cd', following error message will happen periodicly: [ 601.103290] INFO: task kworker/u16:1:49 blocked for more than 120 seconds. [ 601.110176] Tainted: G W 3.18.0+ #2 [ 601.115334] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 601.123165] kworker/u16:1 D ffffffc000085598 0 49 2 0x00000000 [ 601.130270] Workqueue: kmmcd mmc_rescan [ 601.134127] Call trace: [ 601.136580] [<ffffffc000085598>] __switch_to+0x74/0x8c [ 601.141722] [<ffffffc000802ba8>] __schedule+0x2b8/0x744 [ 601.146965] [<ffffffc000803058>] schedule+0x24/0x74 [ 601.151852] [<ffffffc000805bc0>] schedule_timeout+0x1b0/0x24c [ 601.157615] [<ffffffc000803d20>] wait_for_common+0x9c/0x144 [ 601.163193] [<ffffffc000803dd8>] wait_for_completion+0x10/0x1c Message from sy[ 601.169304] [<ffffffc0006517c4>] mmc_wait_for_req_done+0x34/0xfc slogd@linaro-dev[ 601.176701] [<ffffffc000651914>] mmc_wait_for_cmd+0x58/0x88 eloper at Jul 3[ 601.183658] [<ffffffc00065804c>] _mmc_select_card+0x44/0x54 18:55:31 ... [ 601.190595] [<ffffffc000658204>] mmc_select_card+0x14/0x50 kernel:[ 601.1[ 601.197478] [<ffffffc00065aba8>] mmc_sdio_alive+0xc/0x18 34127] Call trac[ 601.204174] [<ffffffc000653ba0>] _mmc_detect_card_removed+0x60/0xf8 e: [ 601.211805] [<ffffffc00065bd38>] mmc_sdio_detect+0x28/0xc4 [ 601.217732] [<ffffffc000653efc>] mmc_rescan+0x1c0/0x33c [ 601.222964] [<ffffffc0000c6d9c>] process_one_work+0x13c/0x408 [ 601.228724] [<ffffffc0000c7814>] worker_thread+0x140/0x470 [ 601.234228] [<ffffffc0000cbed8>] kthread+0xd8/0xf0 Signed-off-by: Guodong Xu <guodong.xu@linaro.org>
-rw-r--r--arch/arm64/boot/dts/hi6220-hikey.dts49
-rw-r--r--arch/arm64/boot/dts/hi6220.dtsi4
2 files changed, 49 insertions, 4 deletions
diff --git a/arch/arm64/boot/dts/hi6220-hikey.dts b/arch/arm64/boot/dts/hi6220-hikey.dts
index 19656faf87d6..b139d96e5dcc 100644
--- a/arch/arm64/boot/dts/hi6220-hikey.dts
+++ b/arch/arm64/boot/dts/hi6220-hikey.dts
@@ -119,6 +119,55 @@
&SD_DATA3_cfg_idle>;
};
+ dwmmc_2: dwmmc2@f723f000 {
+ broken-cd;
+ non-removable;
+ /* WL_EN */
+ vmmc-supply = <&wlan_en_reg>;
+ pinctrl-names = "default", "idle";
+ pinctrl-0 = <&SDIO_CLK_cfg_func
+ &SDIO_CMD_cfg_func
+ &SDIO_DATA0_cfg_func
+ &SDIO_DATA1_cfg_func
+ &SDIO_DATA2_cfg_func
+ &SDIO_DATA3_cfg_func
+ &SDIO_CLK_pmx_func
+ &SDIO_CMD_pmx_func
+ &SDIO_DATA0_pmx_func
+ &SDIO_DATA1_pmx_func
+ &SDIO_DATA2_pmx_func
+ &SDIO_DATA3_pmx_func>;
+ pinctrl-1 = <&SDIO_CLK_cfg_idle
+ &SDIO_CMD_cfg_idle
+ &SDIO_DATA0_cfg_idle
+ &SDIO_DATA1_cfg_idle
+ &SDIO_DATA2_cfg_idle
+ &SDIO_DATA3_cfg_idle
+ &SDIO_CLK_pmx_idle
+ &SDIO_CMD_pmx_idle
+ &SDIO_DATA0_pmx_idle
+ &SDIO_DATA1_pmx_idle
+ &SDIO_DATA2_pmx_idle
+ &SDIO_DATA3_pmx_idle>;
+ };
+
+ wlcore {
+ compatible = "wlcore";
+ /*
+ * FIXME: The following is complete CRAP since
+ * the vendor driver doesn't follow the gpio
+ * binding. Passing in a magic Linux gpio number
+ * here until we fix the vendor driver.
+ */
+
+ /* WL_IRQ, WL_HOST_WAKE_GPIO1_3 */
+ gpio = <499>;
+ /* Use edge irqs for suspend/resume */
+ platform-quirks = <1>;
+ /* WL12XX_REFCLOCK_38_XTAL */
+ board-ref-clock = <4>;
+ };
+
kim {
compatible = "kim";
pinctrl-names = "default";
diff --git a/arch/arm64/boot/dts/hi6220.dtsi b/arch/arm64/boot/dts/hi6220.dtsi
index f63a0c976aa9..b7d25df03969 100644
--- a/arch/arm64/boot/dts/hi6220.dtsi
+++ b/arch/arm64/boot/dts/hi6220.dtsi
@@ -1048,10 +1048,6 @@
#size-cells = <0x0>;
clocks = <&clock_sys HI6220_MMC2_CIUCLK>, <&clock_sys HI6220_MMC2_CLK>;
clock-names = "ciu", "biu";
- emmc-ldo-supply = <&ldo2>;
- pinctrl-names = "default", "idle";
- pinctrl-0;
- pinctrl-1;
};
mtcmos {