From 65c91a71ea8099e81ecf124dc094476a93a28c47 Mon Sep 17 00:00:00 2001 From: Karel Balej Date: Mon, 25 Dec 2023 22:45:29 +0100 Subject: [PATCH] DONOTMERGE: dt-bindings: samsung,coreprimevelte: add SDIO This includes WiFi and Bluetooth. --- .../pxa1908-samsung-coreprimevelte.dts | 124 ++++++++++++++++++ 1 file changed, 124 insertions(+) diff --git a/arch/arm64/boot/dts/marvell/pxa1908-samsung-coreprimevelte.dts b/arch/arm64/boot/dts/marvell/pxa1908-samsung-coreprimevelte.dts index bd014d690738..fbbc67383841 100644 --- a/arch/arm64/boot/dts/marvell/pxa1908-samsung-coreprimevelte.dts +++ b/arch/arm64/boot/dts/marvell/pxa1908-samsung-coreprimevelte.dts @@ -11,6 +11,7 @@ aliases { mmc0 = &sdh2; /* eMMC */ mmc1 = &sdh0; /* SD card */ + mmc2 = &sdh1; /* SDIO */ serial0 = &uart0; }; @@ -123,6 +124,12 @@ ctrl-gpios = <&gpio 97 GPIO_ACTIVE_HIGH>; max-brightness = <210>; }; + + wlan_pwrseq: pwrseq0 { + compatible = "mmc-pwrseq-simple"; + powerdown-gpios = <&gpio 57 GPIO_ACTIVE_HIGH>; + reset-gpios = <&gpio 58 GPIO_ACTIVE_HIGH>; + }; }; &smmu { @@ -294,6 +301,79 @@ pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>; pinctrl-single,low-power-mode = <0x208 0x388>; }; + + sdh1_pins_1: pinmux-sdh1-1 { + pinctrl-single,pins = < + 0x170 1 + 0x174 1 + 0x178 1 + 0x17c 1 + 0x180 1>; + pinctrl-single,drive-strength = <0x1000 0x1800>; + pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>; + pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>; + pinctrl-single,input-schmitt = <0 0x30>; + pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>; + pinctrl-single,low-power-mode = <0 0x388>; + }; + + sdh1_pins_2: pinmux-sdh1-2 { + pinctrl-single,pins = <0x184 1>; + pinctrl-single,drive-strength = <0x800 0x1800>; + pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>; + pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>; + pinctrl-single,input-schmitt = <0 0x30>; + pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>; + pinctrl-single,low-power-mode = <0x208 0x388>; + }; + + sdh1_pins_3: pinmux-sdh1-3 { + pinctrl-single,pins = <0xec 0>; + pinctrl-single,drive-strength = <0x1000 0x1800>; + pinctrl-single,bias-pullup = <0x8000 0x8000 0 0xc000>; + pinctrl-single,bias-pulldown = <0x8000 0x8000 0 0xa000>; + pinctrl-single,input-schmitt = <0 0x30>; + pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>; + pinctrl-single,low-power-mode = <0 0x388>; + }; + + sdh1_edge_wakeup: pinmux-sdh1-edge-wakeup { + pinctrl-single,pins = <0x178 1>; + pinctrl-single,drive-strength = <0x1000 0x1800>; + pinctrl-single,bias-pullup = <0x8000 0x8000 0 0xc000>; + pinctrl-single,bias-pulldown = <0x8000 0x8000 0 0xa000>; + pinctrl-single,input-schmitt = <0x30 0x30>; + pinctrl-single,input-schmitt-enable = <0 0 0x40 0x40>; + pinctrl-single,low-power-mode = <0 0x388>; + }; + + sdh1_pins_1_fast: pinmux-sdh1-1-fast { + pinctrl-single,pins = < + 0x170 1 + 0x174 1 + 0x178 1 + 0x17c 1 + 0x180 1 + >; + pinctrl-single,drive-strength = <0x1800 0x1800>; + pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>; + pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>; + pinctrl-single,input-schmitt = <0 0x30>; + pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>; + pinctrl-single,low-power-mode = <0 0x388>; + }; + + sdh1_pins_2_fast: pinmux-sdh1-2-fast { + pinctrl-single,pins = < + 0x184 1 + >; + pinctrl-single,drive-strength = <0x1800 0x1800>; + pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>; + pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>; + pinctrl-single,input-schmitt = <0 0x30>; + pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>; + pinctrl-single,low-power-mode = <0x208 0x388>; + }; }; &uart0 { @@ -374,3 +454,47 @@ bus-width = <4>; wp-inverted; }; + +&sdh1 { + status = "okay"; + pinctrl-names = "default", "state_uhs"; + pinctrl-0 = <&sdh1_pins_1 &sdh1_pins_2 &sdh1_pins_3>; + pinctrl-1 = <&sdh1_pins_1_fast &sdh1_pins_2_fast &sdh1_pins_3>; + pinctrl-2 = <&sdh1_edge_wakeup>; + bus-width = <4>; + max-frequency = <200000000>; + cap-sd-highspeed; + sd-uhs-sdr50; + sd-uhs-sdr104; + keep-power-in-suspend; + wakeup-source; + cap-sdio-irq; + vmmc-supply = <&ldo15>; + vqmmc-supply = <&buck2>; + mmc-pwrseq = <&wlan_pwrseq>; + non-removable; + cap-power-off-card; + + #address-cells = <1>; + #size-cells = <0>; + + mwifiex: wifi@1 { + compatible = "marvell,sd8777"; + reg = <1>; + interrupt-parent = <&gpio>; + interrupts = <38 IRQ_TYPE_LEVEL_LOW>; + marvell,wakeup-pin = <3>; + }; + + btmrvl: bluetooth@2 { + compatible = "marvell,sd8777-bt"; + reg = <2>; + interrupt-parent = <&gpio>; + interrupts = <40 IRQ_TYPE_LEVEL_LOW>; + + marvell,cal-data = /bits/ 8 < + 0x00 0x1c 0xfa 0x37 0xff 0xff 0xff 0xff 0x00 0x0d 0x7f 0x01 + 0xce 0xba 0x00 0x00 0x00 0x2d 0xc6 0xc0 0x00 0x00 0x00 0x00 + 0x00 0xf0 0x00 0x00>; + }; +}; -- 2.39.5