[PATCH v4 7/8] riscv: dts: starfive: introduce a common board dtsi for jh7110 based boards
Emil Renner Berthing
emil.renner.berthing at canonical.com
Mon Apr 29 06:51:55 PDT 2024
Jisheng Zhang wrote:
> This is to prepare for Milkv Mars board dts support in the following
> patch. Let's factored out common part into .dtsi.
Maybe something like:
"Many boards using the StarFive JH7110 SoC share a lot of their design with the
first VisionFive 2 boards. Let's factor out the common parts in preparation for
adding support for the Milk-V Mars board."
In any case:
Reviewed-by: Emil Renner Berthing <emil.renner.berthing at canonical.com>
>
> Signed-off-by: Jisheng Zhang <jszhang at kernel.org>
> ---
> .../boot/dts/starfive/jh7110-common.dtsi | 599 ++++++++++++++++++
> .../jh7110-starfive-visionfive-2.dtsi | 585 +----------------
> 2 files changed, 600 insertions(+), 584 deletions(-)
> create mode 100644 arch/riscv/boot/dts/starfive/jh7110-common.dtsi
>
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> new file mode 100644
> index 000000000000..8ff6ea64f048
> --- /dev/null
> +++ b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> @@ -0,0 +1,599 @@
> +// SPDX-License-Identifier: GPL-2.0 OR MIT
> +/*
> + * Copyright (C) 2022 StarFive Technology Co., Ltd.
> + * Copyright (C) 2022 Emil Renner Berthing <kernel at esmil.dk>
> + */
> +
> +/dts-v1/;
> +#include "jh7110.dtsi"
> +#include "jh7110-pinfunc.h"
> +#include <dt-bindings/gpio/gpio.h>
> +
> +/ {
> + aliases {
> + ethernet0 = &gmac0;
> + i2c0 = &i2c0;
> + i2c2 = &i2c2;
> + i2c5 = &i2c5;
> + i2c6 = &i2c6;
> + mmc0 = &mmc0;
> + mmc1 = &mmc1;
> + serial0 = &uart0;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + memory at 40000000 {
> + device_type = "memory";
> + reg = <0x0 0x40000000 0x1 0x0>;
> + };
> +
> + gpio-restart {
> + compatible = "gpio-restart";
> + gpios = <&sysgpio 35 GPIO_ACTIVE_HIGH>;
> + priority = <224>;
> + };
> +
> + pwmdac_codec: audio-codec {
> + compatible = "linux,spdif-dit";
> + #sound-dai-cells = <0>;
> + };
> +
> + sound {
> + compatible = "simple-audio-card";
> + simple-audio-card,name = "StarFive-PWMDAC-Sound-Card";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + simple-audio-card,dai-link at 0 {
> + reg = <0>;
> + format = "left_j";
> + bitclock-master = <&sndcpu0>;
> + frame-master = <&sndcpu0>;
> +
> + sndcpu0: cpu {
> + sound-dai = <&pwmdac>;
> + };
> +
> + codec {
> + sound-dai = <&pwmdac_codec>;
> + };
> + };
> + };
> +};
> +
> +&cpus {
> + timebase-frequency = <4000000>;
> +};
> +
> +&dvp_clk {
> + clock-frequency = <74250000>;
> +};
> +
> +&gmac0_rgmii_rxin {
> + clock-frequency = <125000000>;
> +};
> +
> +&gmac0_rmii_refin {
> + clock-frequency = <50000000>;
> +};
> +
> +&gmac1_rgmii_rxin {
> + clock-frequency = <125000000>;
> +};
> +
> +&gmac1_rmii_refin {
> + clock-frequency = <50000000>;
> +};
> +
> +&hdmitx0_pixelclk {
> + clock-frequency = <297000000>;
> +};
> +
> +&i2srx_bclk_ext {
> + clock-frequency = <12288000>;
> +};
> +
> +&i2srx_lrck_ext {
> + clock-frequency = <192000>;
> +};
> +
> +&i2stx_bclk_ext {
> + clock-frequency = <12288000>;
> +};
> +
> +&i2stx_lrck_ext {
> + clock-frequency = <192000>;
> +};
> +
> +&mclk_ext {
> + clock-frequency = <12288000>;
> +};
> +
> +&osc {
> + clock-frequency = <24000000>;
> +};
> +
> +&rtc_osc {
> + clock-frequency = <32768>;
> +};
> +
> +&tdm_ext {
> + clock-frequency = <49152000>;
> +};
> +
> +&camss {
> + assigned-clocks = <&ispcrg JH7110_ISPCLK_DOM4_APB_FUNC>,
> + <&ispcrg JH7110_ISPCLK_MIPI_RX0_PXL>;
> + assigned-clock-rates = <49500000>, <198000000>;
> + status = "okay";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port at 0 {
> + reg = <0>;
> + };
> +
> + port at 1 {
> + reg = <1>;
> +
> + camss_from_csi2rx: endpoint {
> + remote-endpoint = <&csi2rx_to_camss>;
> + };
> + };
> + };
> +};
> +
> +&csi2rx {
> + assigned-clocks = <&ispcrg JH7110_ISPCLK_VIN_SYS>;
> + assigned-clock-rates = <297000000>;
> + status = "okay";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port at 0 {
> + reg = <0>;
> +
> + /* remote MIPI sensor endpoint */
> + };
> +
> + port at 1 {
> + reg = <1>;
> +
> + csi2rx_to_camss: endpoint {
> + remote-endpoint = <&camss_from_csi2rx>;
> + };
> + };
> + };
> +};
> +
> +&gmac0 {
> + phy-handle = <&phy0>;
> + phy-mode = "rgmii-id";
> + status = "okay";
> +
> + mdio {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "snps,dwmac-mdio";
> +
> + phy0: ethernet-phy at 0 {
> + reg = <0>;
> + };
> + };
> +};
> +
> +&i2c0 {
> + clock-frequency = <100000>;
> + i2c-sda-hold-time-ns = <300>;
> + i2c-sda-falling-time-ns = <510>;
> + i2c-scl-falling-time-ns = <510>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2c0_pins>;
> + status = "okay";
> +};
> +
> +&i2c2 {
> + clock-frequency = <100000>;
> + i2c-sda-hold-time-ns = <300>;
> + i2c-sda-falling-time-ns = <510>;
> + i2c-scl-falling-time-ns = <510>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2c2_pins>;
> + status = "okay";
> +};
> +
> +&i2c5 {
> + clock-frequency = <100000>;
> + i2c-sda-hold-time-ns = <300>;
> + i2c-sda-falling-time-ns = <510>;
> + i2c-scl-falling-time-ns = <510>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2c5_pins>;
> + status = "okay";
> +
> + axp15060: pmic at 36 {
> + compatible = "x-powers,axp15060";
> + reg = <0x36>;
> + interrupt-controller;
> + #interrupt-cells = <1>;
> +
> + regulators {
> + vcc_3v3: dcdc1 {
> + regulator-boot-on;
> + regulator-always-on;
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-name = "vcc_3v3";
> + };
> +
> + vdd_cpu: dcdc2 {
> + regulator-always-on;
> + regulator-min-microvolt = <500000>;
> + regulator-max-microvolt = <1540000>;
> + regulator-name = "vdd-cpu";
> + };
> +
> + emmc_vdd: aldo4 {
> + regulator-boot-on;
> + regulator-always-on;
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-name = "emmc_vdd";
> + };
> + };
> + };
> +};
> +
> +&i2c6 {
> + clock-frequency = <100000>;
> + i2c-sda-hold-time-ns = <300>;
> + i2c-sda-falling-time-ns = <510>;
> + i2c-scl-falling-time-ns = <510>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2c6_pins>;
> + status = "okay";
> +};
> +
> +&mmc0 {
> + max-frequency = <100000000>;
> + assigned-clocks = <&syscrg JH7110_SYSCLK_SDIO0_SDCARD>;
> + assigned-clock-rates = <50000000>;
> + bus-width = <8>;
> + cap-mmc-highspeed;
> + mmc-ddr-1_8v;
> + mmc-hs200-1_8v;
> + cap-mmc-hw-reset;
> + post-power-on-delay-ms = <200>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc0_pins>;
> + vmmc-supply = <&vcc_3v3>;
> + vqmmc-supply = <&emmc_vdd>;
> + status = "okay";
> +};
> +
> +&mmc1 {
> + max-frequency = <100000000>;
> + assigned-clocks = <&syscrg JH7110_SYSCLK_SDIO1_SDCARD>;
> + assigned-clock-rates = <50000000>;
> + bus-width = <4>;
> + no-sdio;
> + no-mmc;
> + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> + disable-wp;
> + cap-sd-highspeed;
> + post-power-on-delay-ms = <200>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc1_pins>;
> + status = "okay";
> +};
> +
> +&pwmdac {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pwmdac_pins>;
> + status = "okay";
> +};
> +
> +&qspi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + status = "okay";
> +
> + nor_flash: flash at 0 {
> + compatible = "jedec,spi-nor";
> + reg = <0>;
> + cdns,read-delay = <5>;
> + spi-max-frequency = <12000000>;
> + cdns,tshsl-ns = <1>;
> + cdns,tsd2d-ns = <1>;
> + cdns,tchsh-ns = <1>;
> + cdns,tslch-ns = <1>;
> +
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + spl at 0 {
> + reg = <0x0 0x80000>;
> + };
> + uboot-env at f0000 {
> + reg = <0xf0000 0x10000>;
> + };
> + uboot at 100000 {
> + reg = <0x100000 0x400000>;
> + };
> + reserved-data at 600000 {
> + reg = <0x600000 0xa00000>;
> + };
> + };
> + };
> +};
> +
> +&pwm {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pwm_pins>;
> + status = "okay";
> +};
> +
> +&spi0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&spi0_pins>;
> + status = "okay";
> +
> + spi_dev0: spi at 0 {
> + compatible = "rohm,dh2228fv";
> + reg = <0>;
> + spi-max-frequency = <10000000>;
> + };
> +};
> +
> +&sysgpio {
> + i2c0_pins: i2c0-0 {
> + i2c-pins {
> + pinmux = <GPIOMUX(57, GPOUT_LOW,
> + GPOEN_SYS_I2C0_CLK,
> + GPI_SYS_I2C0_CLK)>,
> + <GPIOMUX(58, GPOUT_LOW,
> + GPOEN_SYS_I2C0_DATA,
> + GPI_SYS_I2C0_DATA)>;
> + bias-disable; /* external pull-up */
> + input-enable;
> + input-schmitt-enable;
> + };
> + };
> +
> + i2c2_pins: i2c2-0 {
> + i2c-pins {
> + pinmux = <GPIOMUX(3, GPOUT_LOW,
> + GPOEN_SYS_I2C2_CLK,
> + GPI_SYS_I2C2_CLK)>,
> + <GPIOMUX(2, 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;
> + };
> + };
> +
> + i2c6_pins: i2c6-0 {
> + i2c-pins {
> + pinmux = <GPIOMUX(16, GPOUT_LOW,
> + GPOEN_SYS_I2C6_CLK,
> + GPI_SYS_I2C6_CLK)>,
> + <GPIOMUX(17, GPOUT_LOW,
> + GPOEN_SYS_I2C6_DATA,
> + GPI_SYS_I2C6_DATA)>;
> + bias-disable; /* external pull-up */
> + input-enable;
> + input-schmitt-enable;
> + };
> + };
> +
> + mmc0_pins: mmc0-0 {
> + rst-pins {
> + pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST,
> + GPOEN_ENABLE,
> + GPI_NONE)>;
> + bias-pull-up;
> + drive-strength = <12>;
> + input-disable;
> + input-schmitt-disable;
> + slew-rate = <0>;
> + };
> +
> + mmc-pins {
> + pinmux = <PINMUX(64, 0)>,
> + <PINMUX(65, 0)>,
> + <PINMUX(66, 0)>,
> + <PINMUX(67, 0)>,
> + <PINMUX(68, 0)>,
> + <PINMUX(69, 0)>,
> + <PINMUX(70, 0)>,
> + <PINMUX(71, 0)>,
> + <PINMUX(72, 0)>,
> + <PINMUX(73, 0)>;
> + bias-pull-up;
> + drive-strength = <12>;
> + input-enable;
> + };
> + };
> +
> + mmc1_pins: mmc1-0 {
> + clk-pins {
> + pinmux = <GPIOMUX(10, GPOUT_SYS_SDIO1_CLK,
> + GPOEN_ENABLE,
> + GPI_NONE)>;
> + bias-pull-up;
> + drive-strength = <12>;
> + input-disable;
> + input-schmitt-disable;
> + slew-rate = <0>;
> + };
> +
> + mmc-pins {
> + pinmux = <GPIOMUX(9, GPOUT_SYS_SDIO1_CMD,
> + GPOEN_SYS_SDIO1_CMD,
> + GPI_SYS_SDIO1_CMD)>,
> + <GPIOMUX(11, GPOUT_SYS_SDIO1_DATA0,
> + GPOEN_SYS_SDIO1_DATA0,
> + GPI_SYS_SDIO1_DATA0)>,
> + <GPIOMUX(12, GPOUT_SYS_SDIO1_DATA1,
> + GPOEN_SYS_SDIO1_DATA1,
> + GPI_SYS_SDIO1_DATA1)>,
> + <GPIOMUX(7, GPOUT_SYS_SDIO1_DATA2,
> + GPOEN_SYS_SDIO1_DATA2,
> + GPI_SYS_SDIO1_DATA2)>,
> + <GPIOMUX(8, GPOUT_SYS_SDIO1_DATA3,
> + GPOEN_SYS_SDIO1_DATA3,
> + GPI_SYS_SDIO1_DATA3)>;
> + bias-pull-up;
> + drive-strength = <12>;
> + input-enable;
> + input-schmitt-enable;
> + slew-rate = <0>;
> + };
> + };
> +
> + pwmdac_pins: pwmdac-0 {
> + pwmdac-pins {
> + pinmux = <GPIOMUX(33, GPOUT_SYS_PWMDAC_LEFT,
> + GPOEN_ENABLE,
> + GPI_NONE)>,
> + <GPIOMUX(34, GPOUT_SYS_PWMDAC_RIGHT,
> + GPOEN_ENABLE,
> + GPI_NONE)>;
> + bias-disable;
> + drive-strength = <2>;
> + input-disable;
> + input-schmitt-disable;
> + slew-rate = <0>;
> + };
> + };
> +
> + pwm_pins: pwm-0 {
> + pwm-pins {
> + pinmux = <GPIOMUX(46, GPOUT_SYS_PWM_CHANNEL0,
> + GPOEN_SYS_PWM0_CHANNEL0,
> + GPI_NONE)>,
> + <GPIOMUX(59, GPOUT_SYS_PWM_CHANNEL1,
> + GPOEN_SYS_PWM0_CHANNEL1,
> + GPI_NONE)>;
> + bias-disable;
> + drive-strength = <12>;
> + input-disable;
> + input-schmitt-disable;
> + slew-rate = <0>;
> + };
> + };
> +
> + spi0_pins: spi0-0 {
> + mosi-pins {
> + pinmux = <GPIOMUX(52, GPOUT_SYS_SPI0_TXD,
> + GPOEN_ENABLE,
> + GPI_NONE)>;
> + bias-disable;
> + input-disable;
> + input-schmitt-disable;
> + };
> +
> + miso-pins {
> + pinmux = <GPIOMUX(53, GPOUT_LOW,
> + GPOEN_DISABLE,
> + GPI_SYS_SPI0_RXD)>;
> + bias-pull-up;
> + input-enable;
> + input-schmitt-enable;
> + };
> +
> + sck-pins {
> + pinmux = <GPIOMUX(48, GPOUT_SYS_SPI0_CLK,
> + GPOEN_ENABLE,
> + GPI_SYS_SPI0_CLK)>;
> + bias-disable;
> + input-disable;
> + input-schmitt-disable;
> + };
> +
> + ss-pins {
> + pinmux = <GPIOMUX(49, GPOUT_SYS_SPI0_FSS,
> + GPOEN_ENABLE,
> + GPI_SYS_SPI0_FSS)>;
> + bias-disable;
> + input-disable;
> + input-schmitt-disable;
> + };
> + };
> +
> + uart0_pins: uart0-0 {
> + tx-pins {
> + pinmux = <GPIOMUX(5, GPOUT_SYS_UART0_TX,
> + GPOEN_ENABLE,
> + GPI_NONE)>;
> + bias-disable;
> + drive-strength = <12>;
> + input-disable;
> + input-schmitt-disable;
> + slew-rate = <0>;
> + };
> +
> + rx-pins {
> + pinmux = <GPIOMUX(6, GPOUT_LOW,
> + GPOEN_DISABLE,
> + GPI_SYS_UART0_RX)>;
> + bias-disable; /* external pull-up */
> + drive-strength = <2>;
> + input-enable;
> + input-schmitt-enable;
> + slew-rate = <0>;
> + };
> + };
> +};
> +
> +&uart0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&uart0_pins>;
> + status = "okay";
> +};
> +
> +&usb0 {
> + dr_mode = "peripheral";
> + status = "okay";
> +};
> +
> +&U74_1 {
> + cpu-supply = <&vdd_cpu>;
> +};
> +
> +&U74_2 {
> + cpu-supply = <&vdd_cpu>;
> +};
> +
> +&U74_3 {
> + cpu-supply = <&vdd_cpu>;
> +};
> +
> +&U74_4 {
> + cpu-supply = <&vdd_cpu>;
> +};
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
> index e19f26628054..9d70f21c86fc 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
> +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
> @@ -5,188 +5,11 @@
> */
>
> /dts-v1/;
> -#include "jh7110.dtsi"
> -#include "jh7110-pinfunc.h"
> -#include <dt-bindings/gpio/gpio.h>
> +#include "jh7110-common.dtsi"
>
> / {
> aliases {
> - ethernet0 = &gmac0;
> ethernet1 = &gmac1;
> - i2c0 = &i2c0;
> - i2c2 = &i2c2;
> - i2c5 = &i2c5;
> - i2c6 = &i2c6;
> - mmc0 = &mmc0;
> - mmc1 = &mmc1;
> - serial0 = &uart0;
> - };
> -
> - chosen {
> - stdout-path = "serial0:115200n8";
> - };
> -
> - memory at 40000000 {
> - device_type = "memory";
> - reg = <0x0 0x40000000 0x1 0x0>;
> - };
> -
> - gpio-restart {
> - compatible = "gpio-restart";
> - gpios = <&sysgpio 35 GPIO_ACTIVE_HIGH>;
> - priority = <224>;
> - };
> -
> - pwmdac_codec: audio-codec {
> - compatible = "linux,spdif-dit";
> - #sound-dai-cells = <0>;
> - };
> -
> - sound {
> - compatible = "simple-audio-card";
> - simple-audio-card,name = "StarFive-PWMDAC-Sound-Card";
> - #address-cells = <1>;
> - #size-cells = <0>;
> -
> - simple-audio-card,dai-link at 0 {
> - reg = <0>;
> - format = "left_j";
> - bitclock-master = <&sndcpu0>;
> - frame-master = <&sndcpu0>;
> -
> - sndcpu0: cpu {
> - sound-dai = <&pwmdac>;
> - };
> -
> - codec {
> - sound-dai = <&pwmdac_codec>;
> - };
> - };
> - };
> -};
> -
> -&cpus {
> - timebase-frequency = <4000000>;
> -};
> -
> -&dvp_clk {
> - clock-frequency = <74250000>;
> -};
> -
> -&gmac0_rgmii_rxin {
> - clock-frequency = <125000000>;
> -};
> -
> -&gmac0_rmii_refin {
> - clock-frequency = <50000000>;
> -};
> -
> -&gmac1_rgmii_rxin {
> - clock-frequency = <125000000>;
> -};
> -
> -&gmac1_rmii_refin {
> - clock-frequency = <50000000>;
> -};
> -
> -&hdmitx0_pixelclk {
> - clock-frequency = <297000000>;
> -};
> -
> -&i2srx_bclk_ext {
> - clock-frequency = <12288000>;
> -};
> -
> -&i2srx_lrck_ext {
> - clock-frequency = <192000>;
> -};
> -
> -&i2stx_bclk_ext {
> - clock-frequency = <12288000>;
> -};
> -
> -&i2stx_lrck_ext {
> - clock-frequency = <192000>;
> -};
> -
> -&mclk_ext {
> - clock-frequency = <12288000>;
> -};
> -
> -&osc {
> - clock-frequency = <24000000>;
> -};
> -
> -&rtc_osc {
> - clock-frequency = <32768>;
> -};
> -
> -&tdm_ext {
> - clock-frequency = <49152000>;
> -};
> -
> -&camss {
> - assigned-clocks = <&ispcrg JH7110_ISPCLK_DOM4_APB_FUNC>,
> - <&ispcrg JH7110_ISPCLK_MIPI_RX0_PXL>;
> - assigned-clock-rates = <49500000>, <198000000>;
> - status = "okay";
> -
> - ports {
> - #address-cells = <1>;
> - #size-cells = <0>;
> -
> - port at 0 {
> - reg = <0>;
> - };
> -
> - port at 1 {
> - reg = <1>;
> -
> - camss_from_csi2rx: endpoint {
> - remote-endpoint = <&csi2rx_to_camss>;
> - };
> - };
> - };
> -};
> -
> -&csi2rx {
> - assigned-clocks = <&ispcrg JH7110_ISPCLK_VIN_SYS>;
> - assigned-clock-rates = <297000000>;
> - status = "okay";
> -
> - ports {
> - #address-cells = <1>;
> - #size-cells = <0>;
> -
> - port at 0 {
> - reg = <0>;
> -
> - /* remote MIPI sensor endpoint */
> - };
> -
> - port at 1 {
> - reg = <1>;
> -
> - csi2rx_to_camss: endpoint {
> - remote-endpoint = <&camss_from_csi2rx>;
> - };
> - };
> - };
> -};
> -
> -&gmac0 {
> - phy-handle = <&phy0>;
> - phy-mode = "rgmii-id";
> - status = "okay";
> -
> - mdio {
> - #address-cells = <1>;
> - #size-cells = <0>;
> - compatible = "snps,dwmac-mdio";
> -
> - phy0: ethernet-phy at 0 {
> - reg = <0>;
> - };
> };
> };
>
> @@ -206,412 +29,6 @@ phy1: ethernet-phy at 1 {
> };
> };
>
> -&i2c0 {
> - clock-frequency = <100000>;
> - i2c-sda-hold-time-ns = <300>;
> - i2c-sda-falling-time-ns = <510>;
> - i2c-scl-falling-time-ns = <510>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&i2c0_pins>;
> - status = "okay";
> -};
> -
> -&i2c2 {
> - clock-frequency = <100000>;
> - i2c-sda-hold-time-ns = <300>;
> - i2c-sda-falling-time-ns = <510>;
> - i2c-scl-falling-time-ns = <510>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&i2c2_pins>;
> - status = "okay";
> -};
> -
> -&i2c5 {
> - clock-frequency = <100000>;
> - i2c-sda-hold-time-ns = <300>;
> - i2c-sda-falling-time-ns = <510>;
> - i2c-scl-falling-time-ns = <510>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&i2c5_pins>;
> - status = "okay";
> -
> - axp15060: pmic at 36 {
> - compatible = "x-powers,axp15060";
> - reg = <0x36>;
> - interrupt-controller;
> - #interrupt-cells = <1>;
> -
> - regulators {
> - vcc_3v3: dcdc1 {
> - regulator-boot-on;
> - regulator-always-on;
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - regulator-name = "vcc_3v3";
> - };
> -
> - vdd_cpu: dcdc2 {
> - regulator-always-on;
> - regulator-min-microvolt = <500000>;
> - regulator-max-microvolt = <1540000>;
> - regulator-name = "vdd-cpu";
> - };
> -
> - emmc_vdd: aldo4 {
> - regulator-boot-on;
> - regulator-always-on;
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - regulator-name = "emmc_vdd";
> - };
> - };
> - };
> -};
> -
> -&i2c6 {
> - clock-frequency = <100000>;
> - i2c-sda-hold-time-ns = <300>;
> - i2c-sda-falling-time-ns = <510>;
> - i2c-scl-falling-time-ns = <510>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&i2c6_pins>;
> - status = "okay";
> -};
> -
> &mmc0 {
> - max-frequency = <100000000>;
> - assigned-clocks = <&syscrg JH7110_SYSCLK_SDIO0_SDCARD>;
> - assigned-clock-rates = <50000000>;
> - bus-width = <8>;
> - cap-mmc-highspeed;
> - mmc-ddr-1_8v;
> - mmc-hs200-1_8v;
> non-removable;
> - cap-mmc-hw-reset;
> - post-power-on-delay-ms = <200>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&mmc0_pins>;
> - vmmc-supply = <&vcc_3v3>;
> - vqmmc-supply = <&emmc_vdd>;
> - status = "okay";
> -};
> -
> -&mmc1 {
> - max-frequency = <100000000>;
> - assigned-clocks = <&syscrg JH7110_SYSCLK_SDIO1_SDCARD>;
> - assigned-clock-rates = <50000000>;
> - bus-width = <4>;
> - no-sdio;
> - no-mmc;
> - cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> - disable-wp;
> - cap-sd-highspeed;
> - post-power-on-delay-ms = <200>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&mmc1_pins>;
> - status = "okay";
> -};
> -
> -&pwmdac {
> - pinctrl-names = "default";
> - pinctrl-0 = <&pwmdac_pins>;
> - status = "okay";
> -};
> -
> -&qspi {
> - #address-cells = <1>;
> - #size-cells = <0>;
> - status = "okay";
> -
> - nor_flash: flash at 0 {
> - compatible = "jedec,spi-nor";
> - reg = <0>;
> - cdns,read-delay = <5>;
> - spi-max-frequency = <12000000>;
> - cdns,tshsl-ns = <1>;
> - cdns,tsd2d-ns = <1>;
> - cdns,tchsh-ns = <1>;
> - cdns,tslch-ns = <1>;
> -
> - partitions {
> - compatible = "fixed-partitions";
> - #address-cells = <1>;
> - #size-cells = <1>;
> -
> - spl at 0 {
> - reg = <0x0 0x80000>;
> - };
> - uboot-env at f0000 {
> - reg = <0xf0000 0x10000>;
> - };
> - uboot at 100000 {
> - reg = <0x100000 0x400000>;
> - };
> - reserved-data at 600000 {
> - reg = <0x600000 0xa00000>;
> - };
> - };
> - };
> -};
> -
> -&pwm {
> - pinctrl-names = "default";
> - pinctrl-0 = <&pwm_pins>;
> - status = "okay";
> -};
> -
> -&spi0 {
> - pinctrl-names = "default";
> - pinctrl-0 = <&spi0_pins>;
> - status = "okay";
> -
> - spi_dev0: spi at 0 {
> - compatible = "rohm,dh2228fv";
> - reg = <0>;
> - spi-max-frequency = <10000000>;
> - };
> -};
> -
> -&sysgpio {
> - i2c0_pins: i2c0-0 {
> - i2c-pins {
> - pinmux = <GPIOMUX(57, GPOUT_LOW,
> - GPOEN_SYS_I2C0_CLK,
> - GPI_SYS_I2C0_CLK)>,
> - <GPIOMUX(58, GPOUT_LOW,
> - GPOEN_SYS_I2C0_DATA,
> - GPI_SYS_I2C0_DATA)>;
> - bias-disable; /* external pull-up */
> - input-enable;
> - input-schmitt-enable;
> - };
> - };
> -
> - i2c2_pins: i2c2-0 {
> - i2c-pins {
> - pinmux = <GPIOMUX(3, GPOUT_LOW,
> - GPOEN_SYS_I2C2_CLK,
> - GPI_SYS_I2C2_CLK)>,
> - <GPIOMUX(2, 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;
> - };
> - };
> -
> - i2c6_pins: i2c6-0 {
> - i2c-pins {
> - pinmux = <GPIOMUX(16, GPOUT_LOW,
> - GPOEN_SYS_I2C6_CLK,
> - GPI_SYS_I2C6_CLK)>,
> - <GPIOMUX(17, GPOUT_LOW,
> - GPOEN_SYS_I2C6_DATA,
> - GPI_SYS_I2C6_DATA)>;
> - bias-disable; /* external pull-up */
> - input-enable;
> - input-schmitt-enable;
> - };
> - };
> -
> - mmc0_pins: mmc0-0 {
> - rst-pins {
> - pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST,
> - GPOEN_ENABLE,
> - GPI_NONE)>;
> - bias-pull-up;
> - drive-strength = <12>;
> - input-disable;
> - input-schmitt-disable;
> - slew-rate = <0>;
> - };
> -
> - mmc-pins {
> - pinmux = <PINMUX(64, 0)>,
> - <PINMUX(65, 0)>,
> - <PINMUX(66, 0)>,
> - <PINMUX(67, 0)>,
> - <PINMUX(68, 0)>,
> - <PINMUX(69, 0)>,
> - <PINMUX(70, 0)>,
> - <PINMUX(71, 0)>,
> - <PINMUX(72, 0)>,
> - <PINMUX(73, 0)>;
> - bias-pull-up;
> - drive-strength = <12>;
> - input-enable;
> - };
> - };
> -
> - mmc1_pins: mmc1-0 {
> - clk-pins {
> - pinmux = <GPIOMUX(10, GPOUT_SYS_SDIO1_CLK,
> - GPOEN_ENABLE,
> - GPI_NONE)>;
> - bias-pull-up;
> - drive-strength = <12>;
> - input-disable;
> - input-schmitt-disable;
> - slew-rate = <0>;
> - };
> -
> - mmc-pins {
> - pinmux = <GPIOMUX(9, GPOUT_SYS_SDIO1_CMD,
> - GPOEN_SYS_SDIO1_CMD,
> - GPI_SYS_SDIO1_CMD)>,
> - <GPIOMUX(11, GPOUT_SYS_SDIO1_DATA0,
> - GPOEN_SYS_SDIO1_DATA0,
> - GPI_SYS_SDIO1_DATA0)>,
> - <GPIOMUX(12, GPOUT_SYS_SDIO1_DATA1,
> - GPOEN_SYS_SDIO1_DATA1,
> - GPI_SYS_SDIO1_DATA1)>,
> - <GPIOMUX(7, GPOUT_SYS_SDIO1_DATA2,
> - GPOEN_SYS_SDIO1_DATA2,
> - GPI_SYS_SDIO1_DATA2)>,
> - <GPIOMUX(8, GPOUT_SYS_SDIO1_DATA3,
> - GPOEN_SYS_SDIO1_DATA3,
> - GPI_SYS_SDIO1_DATA3)>;
> - bias-pull-up;
> - drive-strength = <12>;
> - input-enable;
> - input-schmitt-enable;
> - slew-rate = <0>;
> - };
> - };
> -
> - pwmdac_pins: pwmdac-0 {
> - pwmdac-pins {
> - pinmux = <GPIOMUX(33, GPOUT_SYS_PWMDAC_LEFT,
> - GPOEN_ENABLE,
> - GPI_NONE)>,
> - <GPIOMUX(34, GPOUT_SYS_PWMDAC_RIGHT,
> - GPOEN_ENABLE,
> - GPI_NONE)>;
> - bias-disable;
> - drive-strength = <2>;
> - input-disable;
> - input-schmitt-disable;
> - slew-rate = <0>;
> - };
> - };
> -
> - pwm_pins: pwm-0 {
> - pwm-pins {
> - pinmux = <GPIOMUX(46, GPOUT_SYS_PWM_CHANNEL0,
> - GPOEN_SYS_PWM0_CHANNEL0,
> - GPI_NONE)>,
> - <GPIOMUX(59, GPOUT_SYS_PWM_CHANNEL1,
> - GPOEN_SYS_PWM0_CHANNEL1,
> - GPI_NONE)>;
> - bias-disable;
> - drive-strength = <12>;
> - input-disable;
> - input-schmitt-disable;
> - slew-rate = <0>;
> - };
> - };
> -
> - spi0_pins: spi0-0 {
> - mosi-pins {
> - pinmux = <GPIOMUX(52, GPOUT_SYS_SPI0_TXD,
> - GPOEN_ENABLE,
> - GPI_NONE)>;
> - bias-disable;
> - input-disable;
> - input-schmitt-disable;
> - };
> -
> - miso-pins {
> - pinmux = <GPIOMUX(53, GPOUT_LOW,
> - GPOEN_DISABLE,
> - GPI_SYS_SPI0_RXD)>;
> - bias-pull-up;
> - input-enable;
> - input-schmitt-enable;
> - };
> -
> - sck-pins {
> - pinmux = <GPIOMUX(48, GPOUT_SYS_SPI0_CLK,
> - GPOEN_ENABLE,
> - GPI_SYS_SPI0_CLK)>;
> - bias-disable;
> - input-disable;
> - input-schmitt-disable;
> - };
> -
> - ss-pins {
> - pinmux = <GPIOMUX(49, GPOUT_SYS_SPI0_FSS,
> - GPOEN_ENABLE,
> - GPI_SYS_SPI0_FSS)>;
> - bias-disable;
> - input-disable;
> - input-schmitt-disable;
> - };
> - };
> -
> - uart0_pins: uart0-0 {
> - tx-pins {
> - pinmux = <GPIOMUX(5, GPOUT_SYS_UART0_TX,
> - GPOEN_ENABLE,
> - GPI_NONE)>;
> - bias-disable;
> - drive-strength = <12>;
> - input-disable;
> - input-schmitt-disable;
> - slew-rate = <0>;
> - };
> -
> - rx-pins {
> - pinmux = <GPIOMUX(6, GPOUT_LOW,
> - GPOEN_DISABLE,
> - GPI_SYS_UART0_RX)>;
> - bias-disable; /* external pull-up */
> - drive-strength = <2>;
> - input-enable;
> - input-schmitt-enable;
> - slew-rate = <0>;
> - };
> - };
> -};
> -
> -&uart0 {
> - pinctrl-names = "default";
> - pinctrl-0 = <&uart0_pins>;
> - status = "okay";
> -};
> -
> -&usb0 {
> - dr_mode = "peripheral";
> - status = "okay";
> -};
> -
> -&U74_1 {
> - cpu-supply = <&vdd_cpu>;
> -};
> -
> -&U74_2 {
> - cpu-supply = <&vdd_cpu>;
> -};
> -
> -&U74_3 {
> - cpu-supply = <&vdd_cpu>;
> -};
> -
> -&U74_4 {
> - cpu-supply = <&vdd_cpu>;
> };
> --
> 2.43.0
>
More information about the linux-riscv
mailing list