// SPDX-License-Identifier: GPL-2.0 OR MIT /* * Copyright (C) 2022 StarFive Technology Co., Ltd. */ /dts-v1/; #include "jh7110.dtsi" #include / { #address-cells = <2>; #size-cells = <2>; model = "StarFive JH7110 EVB"; compatible = "starfive,jh7110"; aliases { spi0="/soc/spi@13010000"; gpio0="/soc/gpio@13040000"; ethernet0=&gmac0; ethernet1=&gmac1; mmc0=&sdio0; mmc1=&sdio1; }; chosen { stdout-path = "/soc/serial@10000000:115200"; starfive,boot-hart-id = <1>; }; memory@80000000 { device_type = "memory"; reg = <0x0 0x40000000 0x1 0x0>; }; reserved-memory { #size-cells = <2>; #address-cells = <2>; ranges; opensbi { reg = <0x00 0x40000000 0x00 0x80000>; no-map; }; }; soc { }; }; &cpu0 { status = "okay"; }; &clkgen { clocks = <&osc>, <&gmac1_rmii_refin>, <&stg_apb>, <&gmac0_rmii_refin>; clock-names = "osc", "gmac1_rmii_refin", "stg_apb", "gmac0_rmii_refin"; }; &gpio { status = "okay"; usb_pins: usb-pins { drive-vbus-pin { pinmux = ; bias-pull-up; drive-strength = <2>; input-disable; input-schmitt-disable; slew-rate = <0>; }; overcurrent-pin { pinmux = ; bias-pull-up; drive-strength = <2>; input-disable; input-schmitt-disable; slew-rate = <0>; }; }; mmc0_pins: mmc0-pins { mmc0-pins-rest { pinmux = ; bias-pull-up; drive-strength = <12>; input-disable; input-schmitt-disable; slew-rate = <0>; }; }; mmc1_pins: mmc1-pins { mmc1-pins-rest { pinmux = ; bias-pull-up; drive-strength = <12>; input-disable; input-schmitt-disable; slew-rate = <0>; }; }; i2c2_pins: i2c2-0 { i2c-pins { pinmux = , ; bias-disable; /* external pull-up */ input-enable; input-schmitt-enable; }; }; i2c5_pins: i2c5-0 { i2c-pins { pinmux = , ; bias-disable; /* external pull-up */ input-enable; input-schmitt-enable; }; }; hdmi_pins: hdmi-0 { i2c-pins { pinmux = , ; bias-pull-up; input-enable; }; cec-pins { pinmux = ; bias-pull-up; input-enable; }; hpd-pins { pinmux = ; input-enable; }; }; pcie0_perst_default: pcie0_perst_default { perst-pins { pinmux = ; drive-strength = <2>; input-disable; input-schmitt-disable; slew-rate = <0>; }; }; pcie0_perst_active: pcie0_perst_active { perst-pins { pinmux = ; drive-strength = <2>; input-disable; input-schmitt-disable; slew-rate = <0>; }; }; pcie0_power_default: pcie0_power_default { power-pins { pinmux = ; drive-strength = <2>; input-disable; input-schmitt-disable; slew-rate = <0>; }; }; pcie0_power_active: pcie0_power_active { power-pins { pinmux = ; drive-strength = <2>; input-disable; input-schmitt-disable; slew-rate = <0>; }; }; pcie1_perst_default: pcie1_perst_default { perst-pins { pinmux = ; drive-strength = <2>; input-disable; input-schmitt-disable; slew-rate = <0>; }; }; pcie1_perst_active: pcie1_perst_active { perst-pins { pinmux = ; drive-strength = <2>; input-disable; input-schmitt-disable; slew-rate = <0>; }; }; pcie1_power_default: pcie1_power_default { power-pins { pinmux = ; drive-strength = <2>; input-disable; input-schmitt-disable; slew-rate = <0>; }; }; pcie1_power_active: pcie1_power_active { power-pins { pinmux = ; drive-strength = <2>; input-disable; input-schmitt-disable; slew-rate = <0>; }; }; }; &sdio0 { assigned-clocks = <&clkgen JH7110_SDIO0_CLK_SDCARD>; assigned-clock-rates = <50000000>; fifo-depth = <32>; bus-width = <4>; status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&mmc0_pins>; }; &sdio1 { status = "disabled"; pinctrl-names = "default"; pinctrl-0 = <&mmc1_pins>; }; &gmac0 { status = "okay"; #address-cells = <1>; #size-cells = <0>; phy0: ethernet-phy@0 { rxc_dly_en = <1>; tx_delay_sel_fe = <5>; tx_delay_sel = <0xb>; tx_inverted_10 = <0x0>; tx_inverted_100 = <0x0>; tx_inverted_1000 = <0x0>; }; }; &gmac1 { status = "okay"; #address-cells = <1>; #size-cells = <0>; phy1: ethernet-phy@1 { rxc-skew-ps = <1060>; txc-skew-ps = <1800>; reg = <0>; }; }; &uart0 { reg-offset = <0>; current-speed = <115200>; status = "okay"; }; &gpioa { status = "disabled"; }; &usbdrd30 { clocks = <&clkgen JH7110_USB_125M>, <&clkgen JH7110_USB0_CLK_APP_125>, <&clkgen JH7110_USB0_CLK_LPM>, <&clkgen JH7110_USB0_CLK_STB>, <&clkgen JH7110_USB0_CLK_USB_APB>, <&clkgen JH7110_USB0_CLK_AXI>, <&clkgen JH7110_USB0_CLK_UTMI_APB>, <&clkgen JH7110_PCIE0_CLK_APB>; clock-names = "125m","app","lpm","stb","apb","axi","utmi", "phy"; resets = <&rstgen RSTN_U0_CDN_USB_PWRUP>, <&rstgen RSTN_U0_CDN_USB_APB>, <&rstgen RSTN_U0_CDN_USB_AXI>, <&rstgen RSTN_U0_CDN_USB_UTMI_APB>, <&rstgen RSTN_U0_PLDA_PCIE_APB>; reset-names = "pwrup","apb","axi","utmi", "phy"; starfive,usb2-only = <0>; status = "okay"; }; &usbdrd_cdns3 { dr_mode = "host"; pinctrl-names = "default"; pinctrl-0 = <&usb_pins>; }; &pcie0 { pinctrl-names = "perst-default", "perst-active", "power-default", "power-active"; pinctrl-0 = <&pcie0_perst_default>; pinctrl-1 = <&pcie0_perst_active>; pinctrl-2 = <&pcie0_power_default>; pinctrl-3 = <&pcie0_power_active>; status = "disabled"; }; &pcie1 { pinctrl-names = "perst-default", "perst-active", "power-default", "power-active"; pinctrl-0 = <&pcie1_perst_default>; pinctrl-1 = <&pcie1_perst_active>; pinctrl-2 = <&pcie1_power_default>; pinctrl-3 = <&pcie1_power_active>; status = "okay"; }; &timer { status = "disabled"; }; &wdog { status = "disabled"; }; &clkvout { status = "okay"; }; &pdm { status = "disabled"; }; &mipi_dsi0 { status = "okay"; rockchip,panel = <&rm68200_panel>; data-lanes-num = <1>; display-timings { timing0 { bits-per-pixel = <24>; clock-frequency = <160000000>; hfront-porch = <120>; hsync-len = <20>; hback-porch = <21>; hactive = <1200>; vfront-porch = <21>; vsync-len = <3>; vback-porch = <18>; vactive = <1920>; hsync-active = <0>; vsync-active = <0>; de-active = <1>; pixelclk-active = <0>; }; }; }; &hdmi{ pinctrl-names = "default"; pinctrl-0 = <&hdmi_pins>; status = "okay"; }; &i2c2 { clock-frequency = <100000>; i2c-sda-hold-time-ns = <300>; i2c-sda-falling-time-ns = <3000>; i2c-scl-falling-time-ns = <3000>; auto_calc_scl_lhcnt; pinctrl-names = "default"; pinctrl-0 = <&i2c2_pins>; status = "okay"; rm68200_panel: rm68200_panel@45 { compatible = "starfive,seeed"; reg = <0x45>; }; }; &i2c5 { clock-frequency = <100000>; i2c-sda-hold-time-ns = <300>; i2c-sda-falling-time-ns = <3000>; i2c-scl-falling-time-ns = <3000>; auto_calc_scl_lhcnt; pinctrl-names = "default"; pinctrl-0 = <&i2c5_pins>; status = "okay"; pmic_axp15060: axp15060_reg@36 { compatible = "stf,axp15060-regulator"; reg = <0x36>; }; pmic: jh7110_evb_reg@50 { compatible = "starfive,jh7110-evb-regulator"; reg = <0x50>; regulators { hdmi_1p8: ldo1 { regulator-name = "lp8733-ldo1"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-boot-on; regulator-always-on; }; mipitx_1p8: ldo2 { regulator-name = "lp8733-ldo2"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-boot-on; regulator-always-on; }; mipirx_1p8: ldo3 { regulator-name = "lp8733-ldo3"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-boot-on; regulator-always-on; }; hdmi_0p9: ldo4 { regulator-name = "lp8733-ldo4"; regulator-min-microvolt = <900000>; regulator-max-microvolt = <900000>; regulator-boot-on; regulator-always-on; }; mipitx_0p9: ldo5 { regulator-name = "lp8733-ldo5"; regulator-min-microvolt = <900000>; regulator-max-microvolt = <900000>; regulator-boot-on; regulator-always-on; }; mipirx_0p9: ldo6 { regulator-name = "lp8733-ldo6"; regulator-min-microvolt = <900000>; regulator-max-microvolt = <900000>; regulator-boot-on; regulator-always-on; }; sdio_vdd: ldo7 { regulator-name = "lp8733-ldo7"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-boot-on; regulator-always-on; }; }; }; };