]> git.dujemihanovic.xyz Git - linux.git/commitdiff
DONOTMERGE: arm64: dts: samsung,coreprimevelte: add SDIO
authorKarel Balej <balejk@matfyz.cz>
Mon, 25 Dec 2023 21:45:29 +0000 (22:45 +0100)
committerDuje Mihanović <duje.mihanovic@skole.hr>
Sat, 29 Jun 2024 10:52:30 +0000 (12:52 +0200)
This includes WiFi and Bluetooth.

arch/arm64/boot/dts/marvell/pxa1908-samsung-coreprimevelte.dts

index 2f68632f6f62af4bdb2b89b8ce2c3afdcf5806df..2f6a0e85248582bdc78474087b8ea6ee4cc9d906 100644 (file)
@@ -11,6 +11,7 @@
        aliases {
                mmc0 = &sdh2; /* eMMC */
                mmc1 = &sdh0; /* SD card */
+               mmc2 = &sdh1; /* SDIO */
                serial0 = &uart0;
        };
 
                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 {
                pinctrl-single,input-schmitt = <0x40 0 0x40 0x70>;
                pinctrl-single,low-power-mode = <0x208 0x388>;
        };
+
+       sdh1_pins_0: sdh1-pins-0 {
+               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_1: sdh1-pins-1 {
+               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_2: sdh1-pins-2 {
+               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_pin: sdh1-edge-wakeup-pin {
+               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_fast_pins_0: sdh1-fast-pins-0 {
+               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_fast_pins_1: sdh1-fast-pins-1 {
+               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 {
        vqmmc-supply = <&ldo6>;
        vmmc-supply = <&ldo14>;
 };
+
+&sdh1 {
+       status = "okay";
+       pinctrl-names = "default", "state_uhs";
+       pinctrl-0 = <&sdh1_pins_0 &sdh1_pins_1 &sdh1_pins_2>;
+       pinctrl-1 = <&sdh1_fast_pins_0 &sdh1_fast_pins_1 &sdh1_pins_2>;
+       pinctrl-2 = <&sdh1_edge_wakeup_pin>;
+       bus-width = <4>;
+       max-frequency = <200000000>;
+       cap-sd-highspeed;
+       sd-uhs-sdr50;
+       sd-uhs-sdr104;
+       keep-power-in-suspend;
+       wakeup-source;
+       cap-sdio-irq;
+       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>;
+       };
+};