// SPDX-License-Identifier: GPL-2.0 OR MIT /* * Copyright (C) 2024 E Shattow */ /dts-v1/; #include #include #include "jh7110-common.dtsi" / { model = "Milk-V Mars CM Lite"; compatible = "milkv,marscm-lite", "starfive,jh7110"; /delete-property/ sound; aliases { i2c1 = &i2c1; i2c3 = &i2c3; i2c4 = &i2c4; serial3 = &uart3; }; wifi_pwrseq: wifi-pwrseq { compatible = "mmc-pwrseq-simple"; reset-gpios = <&sysgpio 33 GPIO_ACTIVE_LOW>; /* GPIO_ACTIVE_HIGH fails to initialize mmc1 */ }; }; &gmac0 { starfive,tx-use-rgmii-clk; assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>; assigned-clock-parents = <&aoncrg JH7110_AONCLK_GMAC0_RMII_RTX>; status = "okay"; }; &i2c0 { status = "okay"; }; &i2c2 { status = "disabled"; }; &i2c2_pins { /delete-property/ pinmux; /* AP6256: UART_CTS_N<>UART1_CTSn_GPIO3 */ }; &emmc_vdd { regulator-min-microvolt = <3300000>; }; &i2c6 { status = "disabled"; }; &i2c6_pins { /delete-property/ pinmux; /* AP6256: UART_RXD<>UART_RX_GPIO17 */ }; &mmc0 { bus-width = <4>; /delete-property/ cap-mmc-highspeed; cap-sd-highspeed; broken-cd; no-sdio; no-mmc; card-detect-delay = <300>; status = "okay"; }; &mmc0_pins { mmc-pins { slew-rate = <1>; }; pwren-pins { pinmux = ; slew-rate = <1>; }; rst-pins { slew-rate = <1>; }; }; /* SDIO AP6256 BT+WiFi */ &mmc1 { #address-cells = <1>; #size-cells = <0>; /delete-property/ no-sdio; /delete-property/ no-mmc; /delete-property/ cd-gpios; /delete-property/ disable-wp; /delete-property/ post-power-on-delay-ms; cap-sdio-irq; cap-power-off-card; max-frequency = <50000000>; assigned-clock-rates = <50000000>; mmc-pwrseq = <&wifi_pwrseq>; non-removable; /* required for SDIO; mutually exclusive to cd-gpios */ keep-power-in-suspend; /* vmmc-supply = <&vcc_3v3>; vqmmc-supply = <&vcc_3v3>; */ status = "okay"; wifi@1 { compatible = "brcm,bcm43456-fmac", "brcm,bcm4329-fmac"; reg = <1>; /* test: */ interrupt-parent = <&sysgpio>; interrupts = <34 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "host-wake"; pinctrl-names = "default"; pinctrl-0 = <&wifi_wake_host>; /* brcm,drive-strength = <12>;*/ }; }; &pcie0 { status = "okay"; }; &phy0 { rx-internal-delay-ps = <1500>; tx-internal-delay-ps = <1500>; motorcomm,tx-clk-adj-enabled; motorcomm,tx-clk-10-inverted; motorcomm,tx-clk-100-inverted; motorcomm,tx-clk-1000-inverted; motorcomm,rx-clk-drv-microamp = <3970>; motorcomm,rx-data-drv-microamp = <2910>; }; &pwm { status = "okay"; }; &pwmdac { /delete-property/ pinctrl-names; /delete-property/ pinctrl-0; status = "disabled"; }; &pwmdac_pins { /delete-property/ pinmux; /* AP6256: WL_REG_ON>>WIFI_REG_ON_H_GPIO33 WL_HOST_WAKE>>WIFI_WAKE_HOST_H_GPIO34 */ }; &pwmdac_codec { status = "disabled"; }; &spi0 { status = "okay"; }; &sysgpio { uart1_pins: uart1-0 { tx-pins { pinmux = ; bias-disable; drive-strength = <12>; input-disable; input-schmitt-disable; }; rx-pins { pinmux = ; bias-pull-up; input-enable; input-schmitt-enable; }; cts-pins { pinmux = ; bias-disable; input-enable; input-schmitt-enable; }; rts-pins { pinmux = ; bias-disable; input-disable; input-schmitt-disable; }; }; usb0_pins: usb0-0 { vbus-pins { pinmux = ; bias-disable; input-disable; input-schmitt-disable; slew-rate = <0>; }; }; wifi_wake_host: wifi-wake-host { wake-pins { pinmux = ; bias-pull-up; drive-strength = <2>; input-enable; input-schmitt-disable; slew-rate = <0>; }; }; }; &uart1 { uart-has-rtscts; pinctrl-names = "default"; pinctrl-0 = <&uart1_pins>; status = "okay"; /* bluetooth { compatible = "brcm,bcm4345c5"; clocks = <&aoncrg JH7110_AONCLK_RTC_32K>; clock-names = "lpo"; interrupt-parent = <&sysgpio>; interrupts = <30 GPIO_ACTIVE_HIGH>; interrupt-names = "host-wakeup"; device-wakeup-gpios = <&sysgpio 31 GPIO_ACTIVE_HIGH>; shutdown-gpios = <&sysgpio 18 GPIO_ACTIVE_HIGH>; max-speed = <1500000>; pinctrl-names = "default"; pinctrl-0 = <&bt_reg_on &bt_wake_host &host_wake_bt>; vbat-supply = <&vcc_3v3>; vddio-supply = <&emmc_vdd>; }; */ }; &usb0 { dr_mode = "host"; pinctrl-names = "default"; pinctrl-0 = <&usb0_pins>; status = "okay"; };