123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482 |
- // SPDX-License-Identifier: GPL-2.0 OR MIT
- /*
- * Copyright (C) 2022 StarFive Technology Co., Ltd.
- */
- /dts-v1/;
- #include "jh7110.dtsi"
- #include <dt-bindings/pinctrl/pinctrl-starfive-jh7110.h>
- / {
- #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 = <GPIOMUX(33, GPOUT_SYS_USB_DRIVE_VBUS,
- GPOEN_ENABLE, GPI_NONE)>;
- bias-pull-up;
- drive-strength = <2>;
- input-disable;
- input-schmitt-disable;
- slew-rate = <0>;
- };
- overcurrent-pin {
- pinmux = <GPIOMUX(34, GPOUT_LOW,
- GPOEN_DISABLE, GPI_SYS_USB_OVERCURRENT)>;
- bias-pull-up;
- drive-strength = <2>;
- input-disable;
- input-schmitt-disable;
- slew-rate = <0>;
- };
- };
- mmc0_pins: mmc0-pins {
- mmc0-pins-rest {
- pinmux = <GPIOMUX(22, GPOUT_SYS_SDIO0_RST,
- GPOEN_ENABLE, GPI_NONE)>;
- bias-pull-up;
- drive-strength = <12>;
- input-disable;
- input-schmitt-disable;
- slew-rate = <0>;
- };
- };
- mmc1_pins: mmc1-pins {
- mmc1-pins-rest {
- pinmux = <GPIOMUX(24, GPOUT_SYS_SDIO1_RST,
- GPOEN_ENABLE, GPI_NONE)>;
- bias-pull-up;
- drive-strength = <12>;
- input-disable;
- input-schmitt-disable;
- slew-rate = <0>;
- };
- };
- i2c2_pins: i2c2-0 {
- i2c-pins {
- pinmux = <GPIOMUX(11, GPOUT_LOW,
- GPOEN_SYS_I2C2_CLK,
- GPI_SYS_I2C2_CLK)>,
- <GPIOMUX(9, GPOUT_LOW,
- GPOEN_SYS_I2C2_DATA,
- GPI_SYS_I2C2_DATA)>;
- bias-disable; /* external pull-up */
- input-enable;
- input-schmitt-enable;
- };
- };
- i2c5_pins: i2c5-0 {
- i2c-pins {
- pinmux = <GPIOMUX(19, GPOUT_LOW,
- GPOEN_SYS_I2C5_CLK,
- GPI_SYS_I2C5_CLK)>,
- <GPIOMUX(20, GPOUT_LOW,
- GPOEN_SYS_I2C5_DATA,
- GPI_SYS_I2C5_DATA)>;
- bias-disable; /* external pull-up */
- input-enable;
- input-schmitt-enable;
- };
- };
- hdmi_pins: hdmi-0 {
- i2c-pins {
- pinmux = <GPIOMUX(7, GPOUT_SYS_HDMI_DDC_SCL,
- GPOEN_SYS_HDMI_DDC_SCL,
- GPI_SYS_HDMI_DDC_SCL)>,
- <GPIOMUX(8, GPOUT_SYS_HDMI_DDC_SDA,
- GPOEN_SYS_HDMI_DDC_SDA,
- GPI_SYS_HDMI_DDC_SDA)>;
- bias-pull-up;
- input-enable;
- };
- cec-pins {
- pinmux = <GPIOMUX(14, GPOUT_SYS_HDMI_CEC_SDA,
- GPOEN_SYS_HDMI_CEC_SDA,
- GPI_SYS_HDMI_CEC_SDA)>;
- bias-pull-up;
- input-enable;
- };
- hpd-pins {
- pinmux = <GPIOMUX(15, GPOUT_LOW,
- GPOEN_DISABLE,
- GPI_SYS_HDMI_HPD)>;
- input-enable;
- };
- };
- pcie0_perst_default: pcie0_perst_default {
- perst-pins {
- pinmux = <GPIOMUX(26, GPOUT_HIGH, GPOEN_ENABLE, GPI_NONE)>;
- drive-strength = <2>;
- input-disable;
- input-schmitt-disable;
- slew-rate = <0>;
- };
- };
- pcie0_perst_active: pcie0_perst_active {
- perst-pins {
- pinmux = <GPIOMUX(26, GPOUT_LOW, GPOEN_ENABLE, GPI_NONE)>;
- drive-strength = <2>;
- input-disable;
- input-schmitt-disable;
- slew-rate = <0>;
- };
- };
- pcie0_power_default: pcie0_power_default {
- power-pins {
- pinmux = <GPIOMUX(32, GPOUT_LOW, GPOEN_ENABLE, GPI_NONE)>;
- drive-strength = <2>;
- input-disable;
- input-schmitt-disable;
- slew-rate = <0>;
- };
- };
- pcie0_power_active: pcie0_power_active {
- power-pins {
- pinmux = <GPIOMUX(32, GPOUT_HIGH, GPOEN_ENABLE, GPI_NONE)>;
- drive-strength = <2>;
- input-disable;
- input-schmitt-disable;
- slew-rate = <0>;
- };
- };
- pcie1_perst_default: pcie1_perst_default {
- perst-pins {
- pinmux = <GPIOMUX(28, GPOUT_HIGH, GPOEN_ENABLE, GPI_NONE)>;
- drive-strength = <2>;
- input-disable;
- input-schmitt-disable;
- slew-rate = <0>;
- };
- };
- pcie1_perst_active: pcie1_perst_active {
- perst-pins {
- pinmux = <GPIOMUX(28, GPOUT_LOW, GPOEN_ENABLE, GPI_NONE)>;
- drive-strength = <2>;
- input-disable;
- input-schmitt-disable;
- slew-rate = <0>;
- };
- };
- pcie1_power_default: pcie1_power_default {
- power-pins {
- pinmux = <GPIOMUX(21, GPOUT_LOW, GPOEN_ENABLE, GPI_NONE)>;
- drive-strength = <2>;
- input-disable;
- input-schmitt-disable;
- slew-rate = <0>;
- };
- };
- pcie1_power_active: pcie1_power_active {
- power-pins {
- pinmux = <GPIOMUX(21, GPOUT_HIGH, GPOEN_ENABLE, GPI_NONE)>;
- 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;
- };
- };
- };
- };
|