aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChen-Yu Tsai <wens@csie.org>2018-08-28 06:01:30 -0400
committerChen-Yu Tsai <wens@csie.org>2018-09-02 22:59:16 -0400
commitfa59dd2ef7551ecae468d5ac2329e70226a8f1d8 (patch)
tree0692e8263a099deb1b9de68577433fdc56ca18e7
parent3e9429efb7f22e780b96a8afe82bac4e87f69e50 (diff)
arm64: dts: allwinner: a64: Split out data strobe pin from mmc2 pinmux
The eMMC 5.0 standard introduced the data strobe (DS) pin. This pin is not used for pre-5.0 data modes, nor is it found on pre-5.0 eMMC chips. On the A64, this pin is muxed with spi0's MISO pin. If the DS pin is included in the mmc2 pinmux by default, this wil prevent the usage of both mmc2 and spi0 together. Instead, split out the DS pin to a separate pinmux that only gets used by boards that actually have it wired up. Currently supported ones include the Bananapi M64 and Pine64 Pinebook. These are fixed up. Fixes: a3e8f4926248 ("arm64: allwinner: a64: Add MMC pinctrl nodes") Fixes: b8bcf0e1b212 ("arm64: allwinner: add BananaPi-M64 support") Fixes: df35fbcfa398 ("arm64: dts: allwinner: add support for Pinebook") Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts2
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts2
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi9
3 files changed, 10 insertions, 3 deletions
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
index 094cfed13df9..e643e453ec68 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
@@ -151,7 +151,7 @@
151 151
152&mmc2 { 152&mmc2 {
153 pinctrl-names = "default"; 153 pinctrl-names = "default";
154 pinctrl-0 = <&mmc2_pins>; 154 pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>;
155 vmmc-supply = <&reg_dcdc1>; 155 vmmc-supply = <&reg_dcdc1>;
156 bus-width = <8>; 156 bus-width = <8>;
157 non-removable; 157 non-removable;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
index 4b8fe453bacd..73f14d7f915a 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
@@ -103,7 +103,7 @@
103 103
104&mmc2 { 104&mmc2 {
105 pinctrl-names = "default"; 105 pinctrl-names = "default";
106 pinctrl-0 = <&mmc2_pins>; 106 pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>;
107 vmmc-supply = <&reg_dcdc1>; 107 vmmc-supply = <&reg_dcdc1>;
108 vqmmc-supply = <&reg_eldo1>; 108 vqmmc-supply = <&reg_eldo1>;
109 bus-width = <8>; 109 bus-width = <8>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
index b73f9287c3f0..364b7a499f7c 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -413,7 +413,7 @@
413 }; 413 };
414 414
415 mmc2_pins: mmc2-pins { 415 mmc2_pins: mmc2-pins {
416 pins = "PC1", "PC5", "PC6", "PC8", "PC9", 416 pins = "PC5", "PC6", "PC8", "PC9",
417 "PC10","PC11", "PC12", "PC13", 417 "PC10","PC11", "PC12", "PC13",
418 "PC14", "PC15", "PC16"; 418 "PC14", "PC15", "PC16";
419 function = "mmc2"; 419 function = "mmc2";
@@ -421,6 +421,13 @@
421 bias-pull-up; 421 bias-pull-up;
422 }; 422 };
423 423
424 mmc2_ds_pin: mmc2-ds-pin {
425 pins = "PC1";
426 function = "mmc2";
427 drive-strength = <30>;
428 bias-pull-up;
429 };
430
424 pwm_pin: pwm_pin { 431 pwm_pin: pwm_pin {
425 pins = "PD22"; 432 pins = "PD22";
426 function = "pwm"; 433 function = "pwm";