xref: /freebsd/sys/contrib/device-tree/src/riscv/starfive/jh7110-common.dtsi (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
17d0873ebSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 OR MIT
27d0873ebSEmmanuel Vadot/*
37d0873ebSEmmanuel Vadot * Copyright (C) 2022 StarFive Technology Co., Ltd.
47d0873ebSEmmanuel Vadot * Copyright (C) 2022 Emil Renner Berthing <kernel@esmil.dk>
57d0873ebSEmmanuel Vadot */
67d0873ebSEmmanuel Vadot
77d0873ebSEmmanuel Vadot/dts-v1/;
87d0873ebSEmmanuel Vadot#include "jh7110.dtsi"
97d0873ebSEmmanuel Vadot#include "jh7110-pinfunc.h"
107d0873ebSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
117d0873ebSEmmanuel Vadot
127d0873ebSEmmanuel Vadot/ {
137d0873ebSEmmanuel Vadot	aliases {
147d0873ebSEmmanuel Vadot		ethernet0 = &gmac0;
157d0873ebSEmmanuel Vadot		i2c0 = &i2c0;
167d0873ebSEmmanuel Vadot		i2c2 = &i2c2;
177d0873ebSEmmanuel Vadot		i2c5 = &i2c5;
187d0873ebSEmmanuel Vadot		i2c6 = &i2c6;
197d0873ebSEmmanuel Vadot		mmc0 = &mmc0;
207d0873ebSEmmanuel Vadot		mmc1 = &mmc1;
217d0873ebSEmmanuel Vadot		serial0 = &uart0;
227d0873ebSEmmanuel Vadot	};
237d0873ebSEmmanuel Vadot
247d0873ebSEmmanuel Vadot	chosen {
257d0873ebSEmmanuel Vadot		stdout-path = "serial0:115200n8";
267d0873ebSEmmanuel Vadot	};
277d0873ebSEmmanuel Vadot
287d0873ebSEmmanuel Vadot	memory@40000000 {
297d0873ebSEmmanuel Vadot		device_type = "memory";
307d0873ebSEmmanuel Vadot		reg = <0x0 0x40000000 0x1 0x0>;
317d0873ebSEmmanuel Vadot	};
327d0873ebSEmmanuel Vadot
337d0873ebSEmmanuel Vadot	gpio-restart {
347d0873ebSEmmanuel Vadot		compatible = "gpio-restart";
357d0873ebSEmmanuel Vadot		gpios = <&sysgpio 35 GPIO_ACTIVE_HIGH>;
367d0873ebSEmmanuel Vadot		priority = <224>;
377d0873ebSEmmanuel Vadot	};
387d0873ebSEmmanuel Vadot
397d0873ebSEmmanuel Vadot	pwmdac_codec: audio-codec {
407d0873ebSEmmanuel Vadot		compatible = "linux,spdif-dit";
417d0873ebSEmmanuel Vadot		#sound-dai-cells = <0>;
427d0873ebSEmmanuel Vadot	};
437d0873ebSEmmanuel Vadot
447d0873ebSEmmanuel Vadot	sound {
457d0873ebSEmmanuel Vadot		compatible = "simple-audio-card";
467d0873ebSEmmanuel Vadot		simple-audio-card,name = "StarFive-PWMDAC-Sound-Card";
477d0873ebSEmmanuel Vadot		#address-cells = <1>;
487d0873ebSEmmanuel Vadot		#size-cells = <0>;
497d0873ebSEmmanuel Vadot
507d0873ebSEmmanuel Vadot		simple-audio-card,dai-link@0 {
517d0873ebSEmmanuel Vadot			reg = <0>;
527d0873ebSEmmanuel Vadot			format = "left_j";
537d0873ebSEmmanuel Vadot			bitclock-master = <&sndcpu0>;
547d0873ebSEmmanuel Vadot			frame-master = <&sndcpu0>;
557d0873ebSEmmanuel Vadot
567d0873ebSEmmanuel Vadot			sndcpu0: cpu {
577d0873ebSEmmanuel Vadot				sound-dai = <&pwmdac>;
587d0873ebSEmmanuel Vadot			};
597d0873ebSEmmanuel Vadot
607d0873ebSEmmanuel Vadot			codec {
617d0873ebSEmmanuel Vadot				sound-dai = <&pwmdac_codec>;
627d0873ebSEmmanuel Vadot			};
637d0873ebSEmmanuel Vadot		};
647d0873ebSEmmanuel Vadot	};
657d0873ebSEmmanuel Vadot};
667d0873ebSEmmanuel Vadot
677d0873ebSEmmanuel Vadot&cpus {
687d0873ebSEmmanuel Vadot	timebase-frequency = <4000000>;
697d0873ebSEmmanuel Vadot};
707d0873ebSEmmanuel Vadot
717d0873ebSEmmanuel Vadot&dvp_clk {
727d0873ebSEmmanuel Vadot	clock-frequency = <74250000>;
737d0873ebSEmmanuel Vadot};
747d0873ebSEmmanuel Vadot
757d0873ebSEmmanuel Vadot&gmac0_rgmii_rxin {
767d0873ebSEmmanuel Vadot	clock-frequency = <125000000>;
777d0873ebSEmmanuel Vadot};
787d0873ebSEmmanuel Vadot
797d0873ebSEmmanuel Vadot&gmac0_rmii_refin {
807d0873ebSEmmanuel Vadot	clock-frequency = <50000000>;
817d0873ebSEmmanuel Vadot};
827d0873ebSEmmanuel Vadot
837d0873ebSEmmanuel Vadot&gmac1_rgmii_rxin {
847d0873ebSEmmanuel Vadot	clock-frequency = <125000000>;
857d0873ebSEmmanuel Vadot};
867d0873ebSEmmanuel Vadot
877d0873ebSEmmanuel Vadot&gmac1_rmii_refin {
887d0873ebSEmmanuel Vadot	clock-frequency = <50000000>;
897d0873ebSEmmanuel Vadot};
907d0873ebSEmmanuel Vadot
917d0873ebSEmmanuel Vadot&hdmitx0_pixelclk {
927d0873ebSEmmanuel Vadot	clock-frequency = <297000000>;
937d0873ebSEmmanuel Vadot};
947d0873ebSEmmanuel Vadot
957d0873ebSEmmanuel Vadot&i2srx_bclk_ext {
967d0873ebSEmmanuel Vadot	clock-frequency = <12288000>;
977d0873ebSEmmanuel Vadot};
987d0873ebSEmmanuel Vadot
997d0873ebSEmmanuel Vadot&i2srx_lrck_ext {
1007d0873ebSEmmanuel Vadot	clock-frequency = <192000>;
1017d0873ebSEmmanuel Vadot};
1027d0873ebSEmmanuel Vadot
1037d0873ebSEmmanuel Vadot&i2stx_bclk_ext {
1047d0873ebSEmmanuel Vadot	clock-frequency = <12288000>;
1057d0873ebSEmmanuel Vadot};
1067d0873ebSEmmanuel Vadot
1077d0873ebSEmmanuel Vadot&i2stx_lrck_ext {
1087d0873ebSEmmanuel Vadot	clock-frequency = <192000>;
1097d0873ebSEmmanuel Vadot};
1107d0873ebSEmmanuel Vadot
1117d0873ebSEmmanuel Vadot&mclk_ext {
1127d0873ebSEmmanuel Vadot	clock-frequency = <12288000>;
1137d0873ebSEmmanuel Vadot};
1147d0873ebSEmmanuel Vadot
1157d0873ebSEmmanuel Vadot&osc {
1167d0873ebSEmmanuel Vadot	clock-frequency = <24000000>;
1177d0873ebSEmmanuel Vadot};
1187d0873ebSEmmanuel Vadot
1197d0873ebSEmmanuel Vadot&rtc_osc {
1207d0873ebSEmmanuel Vadot	clock-frequency = <32768>;
1217d0873ebSEmmanuel Vadot};
1227d0873ebSEmmanuel Vadot
1237d0873ebSEmmanuel Vadot&tdm_ext {
1247d0873ebSEmmanuel Vadot	clock-frequency = <49152000>;
1257d0873ebSEmmanuel Vadot};
1267d0873ebSEmmanuel Vadot
1277d0873ebSEmmanuel Vadot&camss {
1287d0873ebSEmmanuel Vadot	assigned-clocks = <&ispcrg JH7110_ISPCLK_DOM4_APB_FUNC>,
1297d0873ebSEmmanuel Vadot			  <&ispcrg JH7110_ISPCLK_MIPI_RX0_PXL>;
1307d0873ebSEmmanuel Vadot	assigned-clock-rates = <49500000>, <198000000>;
1317d0873ebSEmmanuel Vadot
1327d0873ebSEmmanuel Vadot	ports {
1337d0873ebSEmmanuel Vadot		#address-cells = <1>;
1347d0873ebSEmmanuel Vadot		#size-cells = <0>;
1357d0873ebSEmmanuel Vadot
1367d0873ebSEmmanuel Vadot		port@0 {
1377d0873ebSEmmanuel Vadot			reg = <0>;
1387d0873ebSEmmanuel Vadot		};
1397d0873ebSEmmanuel Vadot
1407d0873ebSEmmanuel Vadot		port@1 {
1417d0873ebSEmmanuel Vadot			reg = <1>;
1427d0873ebSEmmanuel Vadot
1437d0873ebSEmmanuel Vadot			camss_from_csi2rx: endpoint {
1447d0873ebSEmmanuel Vadot				remote-endpoint = <&csi2rx_to_camss>;
1457d0873ebSEmmanuel Vadot			};
1467d0873ebSEmmanuel Vadot		};
1477d0873ebSEmmanuel Vadot	};
1487d0873ebSEmmanuel Vadot};
1497d0873ebSEmmanuel Vadot
1507d0873ebSEmmanuel Vadot&csi2rx {
1517d0873ebSEmmanuel Vadot	assigned-clocks = <&ispcrg JH7110_ISPCLK_VIN_SYS>;
1527d0873ebSEmmanuel Vadot	assigned-clock-rates = <297000000>;
1537d0873ebSEmmanuel Vadot
1547d0873ebSEmmanuel Vadot	ports {
1557d0873ebSEmmanuel Vadot		#address-cells = <1>;
1567d0873ebSEmmanuel Vadot		#size-cells = <0>;
1577d0873ebSEmmanuel Vadot
1587d0873ebSEmmanuel Vadot		port@0 {
1597d0873ebSEmmanuel Vadot			reg = <0>;
1607d0873ebSEmmanuel Vadot
1617d0873ebSEmmanuel Vadot			/* remote MIPI sensor endpoint */
1627d0873ebSEmmanuel Vadot		};
1637d0873ebSEmmanuel Vadot
1647d0873ebSEmmanuel Vadot		port@1 {
1657d0873ebSEmmanuel Vadot			reg = <1>;
1667d0873ebSEmmanuel Vadot
1677d0873ebSEmmanuel Vadot			csi2rx_to_camss: endpoint {
1687d0873ebSEmmanuel Vadot				remote-endpoint = <&camss_from_csi2rx>;
1697d0873ebSEmmanuel Vadot			};
1707d0873ebSEmmanuel Vadot		};
1717d0873ebSEmmanuel Vadot	};
1727d0873ebSEmmanuel Vadot};
1737d0873ebSEmmanuel Vadot
1747d0873ebSEmmanuel Vadot&gmac0 {
1757d0873ebSEmmanuel Vadot	phy-handle = <&phy0>;
1767d0873ebSEmmanuel Vadot	phy-mode = "rgmii-id";
1777d0873ebSEmmanuel Vadot	status = "okay";
1787d0873ebSEmmanuel Vadot
1797d0873ebSEmmanuel Vadot	mdio {
1807d0873ebSEmmanuel Vadot		#address-cells = <1>;
1817d0873ebSEmmanuel Vadot		#size-cells = <0>;
1827d0873ebSEmmanuel Vadot		compatible = "snps,dwmac-mdio";
1837d0873ebSEmmanuel Vadot
1847d0873ebSEmmanuel Vadot		phy0: ethernet-phy@0 {
1857d0873ebSEmmanuel Vadot			reg = <0>;
1867d0873ebSEmmanuel Vadot		};
1877d0873ebSEmmanuel Vadot	};
1887d0873ebSEmmanuel Vadot};
1897d0873ebSEmmanuel Vadot
1907d0873ebSEmmanuel Vadot&i2c0 {
1917d0873ebSEmmanuel Vadot	clock-frequency = <100000>;
1927d0873ebSEmmanuel Vadot	i2c-sda-hold-time-ns = <300>;
1937d0873ebSEmmanuel Vadot	i2c-sda-falling-time-ns = <510>;
1947d0873ebSEmmanuel Vadot	i2c-scl-falling-time-ns = <510>;
1957d0873ebSEmmanuel Vadot	pinctrl-names = "default";
1967d0873ebSEmmanuel Vadot	pinctrl-0 = <&i2c0_pins>;
1977d0873ebSEmmanuel Vadot	status = "okay";
1987d0873ebSEmmanuel Vadot};
1997d0873ebSEmmanuel Vadot
2007d0873ebSEmmanuel Vadot&i2c2 {
2017d0873ebSEmmanuel Vadot	clock-frequency = <100000>;
2027d0873ebSEmmanuel Vadot	i2c-sda-hold-time-ns = <300>;
2037d0873ebSEmmanuel Vadot	i2c-sda-falling-time-ns = <510>;
2047d0873ebSEmmanuel Vadot	i2c-scl-falling-time-ns = <510>;
2057d0873ebSEmmanuel Vadot	pinctrl-names = "default";
2067d0873ebSEmmanuel Vadot	pinctrl-0 = <&i2c2_pins>;
2077d0873ebSEmmanuel Vadot	status = "okay";
2087d0873ebSEmmanuel Vadot};
2097d0873ebSEmmanuel Vadot
2107d0873ebSEmmanuel Vadot&i2c5 {
2117d0873ebSEmmanuel Vadot	clock-frequency = <100000>;
2127d0873ebSEmmanuel Vadot	i2c-sda-hold-time-ns = <300>;
2137d0873ebSEmmanuel Vadot	i2c-sda-falling-time-ns = <510>;
2147d0873ebSEmmanuel Vadot	i2c-scl-falling-time-ns = <510>;
2157d0873ebSEmmanuel Vadot	pinctrl-names = "default";
2167d0873ebSEmmanuel Vadot	pinctrl-0 = <&i2c5_pins>;
2177d0873ebSEmmanuel Vadot	status = "okay";
2187d0873ebSEmmanuel Vadot
2197d0873ebSEmmanuel Vadot	axp15060: pmic@36 {
2207d0873ebSEmmanuel Vadot		compatible = "x-powers,axp15060";
2217d0873ebSEmmanuel Vadot		reg = <0x36>;
2227d0873ebSEmmanuel Vadot		interrupt-controller;
2237d0873ebSEmmanuel Vadot		#interrupt-cells = <1>;
2247d0873ebSEmmanuel Vadot
2257d0873ebSEmmanuel Vadot		regulators {
2267d0873ebSEmmanuel Vadot			vcc_3v3: dcdc1 {
2277d0873ebSEmmanuel Vadot				regulator-boot-on;
2287d0873ebSEmmanuel Vadot				regulator-always-on;
2297d0873ebSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
2307d0873ebSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
2317d0873ebSEmmanuel Vadot				regulator-name = "vcc_3v3";
2327d0873ebSEmmanuel Vadot			};
2337d0873ebSEmmanuel Vadot
2347d0873ebSEmmanuel Vadot			vdd_cpu: dcdc2 {
2357d0873ebSEmmanuel Vadot				regulator-always-on;
2367d0873ebSEmmanuel Vadot				regulator-min-microvolt = <500000>;
2377d0873ebSEmmanuel Vadot				regulator-max-microvolt = <1540000>;
2387d0873ebSEmmanuel Vadot				regulator-name = "vdd-cpu";
2397d0873ebSEmmanuel Vadot			};
2407d0873ebSEmmanuel Vadot
2417d0873ebSEmmanuel Vadot			emmc_vdd: aldo4 {
2427d0873ebSEmmanuel Vadot				regulator-boot-on;
2437d0873ebSEmmanuel Vadot				regulator-always-on;
2447d0873ebSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
2457d0873ebSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
2467d0873ebSEmmanuel Vadot				regulator-name = "emmc_vdd";
2477d0873ebSEmmanuel Vadot			};
2487d0873ebSEmmanuel Vadot		};
2497d0873ebSEmmanuel Vadot	};
2507d0873ebSEmmanuel Vadot};
2517d0873ebSEmmanuel Vadot
2527d0873ebSEmmanuel Vadot&i2c6 {
2537d0873ebSEmmanuel Vadot	clock-frequency = <100000>;
2547d0873ebSEmmanuel Vadot	i2c-sda-hold-time-ns = <300>;
2557d0873ebSEmmanuel Vadot	i2c-sda-falling-time-ns = <510>;
2567d0873ebSEmmanuel Vadot	i2c-scl-falling-time-ns = <510>;
2577d0873ebSEmmanuel Vadot	pinctrl-names = "default";
2587d0873ebSEmmanuel Vadot	pinctrl-0 = <&i2c6_pins>;
2597d0873ebSEmmanuel Vadot	status = "okay";
2607d0873ebSEmmanuel Vadot};
2617d0873ebSEmmanuel Vadot
2627d0873ebSEmmanuel Vadot&mmc0 {
2637d0873ebSEmmanuel Vadot	max-frequency = <100000000>;
2647d0873ebSEmmanuel Vadot	assigned-clocks = <&syscrg JH7110_SYSCLK_SDIO0_SDCARD>;
2657d0873ebSEmmanuel Vadot	assigned-clock-rates = <50000000>;
2667d0873ebSEmmanuel Vadot	bus-width = <8>;
2677d0873ebSEmmanuel Vadot	cap-mmc-highspeed;
2687d0873ebSEmmanuel Vadot	mmc-ddr-1_8v;
2697d0873ebSEmmanuel Vadot	mmc-hs200-1_8v;
2707d0873ebSEmmanuel Vadot	cap-mmc-hw-reset;
2717d0873ebSEmmanuel Vadot	post-power-on-delay-ms = <200>;
2727d0873ebSEmmanuel Vadot	pinctrl-names = "default";
2737d0873ebSEmmanuel Vadot	pinctrl-0 = <&mmc0_pins>;
2747d0873ebSEmmanuel Vadot	vmmc-supply = <&vcc_3v3>;
2757d0873ebSEmmanuel Vadot	vqmmc-supply = <&emmc_vdd>;
2767d0873ebSEmmanuel Vadot	status = "okay";
2777d0873ebSEmmanuel Vadot};
2787d0873ebSEmmanuel Vadot
2797d0873ebSEmmanuel Vadot&mmc1 {
2807d0873ebSEmmanuel Vadot	max-frequency = <100000000>;
2817d0873ebSEmmanuel Vadot	assigned-clocks = <&syscrg JH7110_SYSCLK_SDIO1_SDCARD>;
2827d0873ebSEmmanuel Vadot	assigned-clock-rates = <50000000>;
2837d0873ebSEmmanuel Vadot	bus-width = <4>;
2847d0873ebSEmmanuel Vadot	no-sdio;
2857d0873ebSEmmanuel Vadot	no-mmc;
2867d0873ebSEmmanuel Vadot	cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
2877d0873ebSEmmanuel Vadot	disable-wp;
2887d0873ebSEmmanuel Vadot	cap-sd-highspeed;
2897d0873ebSEmmanuel Vadot	post-power-on-delay-ms = <200>;
2907d0873ebSEmmanuel Vadot	pinctrl-names = "default";
2917d0873ebSEmmanuel Vadot	pinctrl-0 = <&mmc1_pins>;
2927d0873ebSEmmanuel Vadot	status = "okay";
2937d0873ebSEmmanuel Vadot};
2947d0873ebSEmmanuel Vadot
295*0e8011faSEmmanuel Vadot&pcie0 {
296*0e8011faSEmmanuel Vadot	perst-gpios = <&sysgpio 26 GPIO_ACTIVE_LOW>;
297*0e8011faSEmmanuel Vadot	phys = <&pciephy0>;
298*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
299*0e8011faSEmmanuel Vadot	pinctrl-0 = <&pcie0_pins>;
300*0e8011faSEmmanuel Vadot};
301*0e8011faSEmmanuel Vadot
302*0e8011faSEmmanuel Vadot&pcie1 {
303*0e8011faSEmmanuel Vadot	perst-gpios = <&sysgpio 28 GPIO_ACTIVE_LOW>;
304*0e8011faSEmmanuel Vadot	phys = <&pciephy1>;
305*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
306*0e8011faSEmmanuel Vadot	pinctrl-0 = <&pcie1_pins>;
307*0e8011faSEmmanuel Vadot};
308*0e8011faSEmmanuel Vadot
3097d0873ebSEmmanuel Vadot&pwmdac {
3107d0873ebSEmmanuel Vadot	pinctrl-names = "default";
3117d0873ebSEmmanuel Vadot	pinctrl-0 = <&pwmdac_pins>;
3127d0873ebSEmmanuel Vadot	status = "okay";
3137d0873ebSEmmanuel Vadot};
3147d0873ebSEmmanuel Vadot
3157d0873ebSEmmanuel Vadot&qspi {
3167d0873ebSEmmanuel Vadot	#address-cells = <1>;
3177d0873ebSEmmanuel Vadot	#size-cells = <0>;
3187d0873ebSEmmanuel Vadot	status = "okay";
3197d0873ebSEmmanuel Vadot
3207d0873ebSEmmanuel Vadot	nor_flash: flash@0 {
3217d0873ebSEmmanuel Vadot		compatible = "jedec,spi-nor";
3227d0873ebSEmmanuel Vadot		reg = <0>;
3237d0873ebSEmmanuel Vadot		cdns,read-delay = <5>;
3247d0873ebSEmmanuel Vadot		spi-max-frequency = <12000000>;
3257d0873ebSEmmanuel Vadot		cdns,tshsl-ns = <1>;
3267d0873ebSEmmanuel Vadot		cdns,tsd2d-ns = <1>;
3277d0873ebSEmmanuel Vadot		cdns,tchsh-ns = <1>;
3287d0873ebSEmmanuel Vadot		cdns,tslch-ns = <1>;
3297d0873ebSEmmanuel Vadot
3307d0873ebSEmmanuel Vadot		partitions {
3317d0873ebSEmmanuel Vadot			compatible = "fixed-partitions";
3327d0873ebSEmmanuel Vadot			#address-cells = <1>;
3337d0873ebSEmmanuel Vadot			#size-cells = <1>;
3347d0873ebSEmmanuel Vadot
3357d0873ebSEmmanuel Vadot			spl@0 {
336*0e8011faSEmmanuel Vadot				reg = <0x0 0xf0000>;
3377d0873ebSEmmanuel Vadot			};
3387d0873ebSEmmanuel Vadot			uboot-env@f0000 {
3397d0873ebSEmmanuel Vadot				reg = <0xf0000 0x10000>;
3407d0873ebSEmmanuel Vadot			};
3417d0873ebSEmmanuel Vadot			uboot@100000 {
342*0e8011faSEmmanuel Vadot				reg = <0x100000 0xf00000>;
3437d0873ebSEmmanuel Vadot			};
3447d0873ebSEmmanuel Vadot		};
3457d0873ebSEmmanuel Vadot	};
3467d0873ebSEmmanuel Vadot};
3477d0873ebSEmmanuel Vadot
3487d0873ebSEmmanuel Vadot&pwm {
3497d0873ebSEmmanuel Vadot	pinctrl-names = "default";
3507d0873ebSEmmanuel Vadot	pinctrl-0 = <&pwm_pins>;
3517d0873ebSEmmanuel Vadot	status = "okay";
3527d0873ebSEmmanuel Vadot};
3537d0873ebSEmmanuel Vadot
3547d0873ebSEmmanuel Vadot&spi0 {
3557d0873ebSEmmanuel Vadot	pinctrl-names = "default";
3567d0873ebSEmmanuel Vadot	pinctrl-0 = <&spi0_pins>;
3577d0873ebSEmmanuel Vadot	status = "okay";
3587d0873ebSEmmanuel Vadot
3597d0873ebSEmmanuel Vadot	spi_dev0: spi@0 {
3607d0873ebSEmmanuel Vadot		compatible = "rohm,dh2228fv";
3617d0873ebSEmmanuel Vadot		reg = <0>;
3627d0873ebSEmmanuel Vadot		spi-max-frequency = <10000000>;
3637d0873ebSEmmanuel Vadot	};
3647d0873ebSEmmanuel Vadot};
3657d0873ebSEmmanuel Vadot
366*0e8011faSEmmanuel Vadot&syscrg {
367*0e8011faSEmmanuel Vadot	assigned-clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>,
368*0e8011faSEmmanuel Vadot			  <&pllclk JH7110_PLLCLK_PLL0_OUT>;
369*0e8011faSEmmanuel Vadot	assigned-clock-rates = <500000000>, <1500000000>;
370*0e8011faSEmmanuel Vadot};
371*0e8011faSEmmanuel Vadot
3727d0873ebSEmmanuel Vadot&sysgpio {
3737d0873ebSEmmanuel Vadot	i2c0_pins: i2c0-0 {
3747d0873ebSEmmanuel Vadot		i2c-pins {
3757d0873ebSEmmanuel Vadot			pinmux = <GPIOMUX(57, GPOUT_LOW,
3767d0873ebSEmmanuel Vadot					      GPOEN_SYS_I2C0_CLK,
3777d0873ebSEmmanuel Vadot					      GPI_SYS_I2C0_CLK)>,
3787d0873ebSEmmanuel Vadot				 <GPIOMUX(58, GPOUT_LOW,
3797d0873ebSEmmanuel Vadot					      GPOEN_SYS_I2C0_DATA,
3807d0873ebSEmmanuel Vadot					      GPI_SYS_I2C0_DATA)>;
3817d0873ebSEmmanuel Vadot			bias-disable; /* external pull-up */
3827d0873ebSEmmanuel Vadot			input-enable;
3837d0873ebSEmmanuel Vadot			input-schmitt-enable;
3847d0873ebSEmmanuel Vadot		};
3857d0873ebSEmmanuel Vadot	};
3867d0873ebSEmmanuel Vadot
3877d0873ebSEmmanuel Vadot	i2c2_pins: i2c2-0 {
3887d0873ebSEmmanuel Vadot		i2c-pins {
3897d0873ebSEmmanuel Vadot			pinmux = <GPIOMUX(3, GPOUT_LOW,
3907d0873ebSEmmanuel Vadot					     GPOEN_SYS_I2C2_CLK,
3917d0873ebSEmmanuel Vadot					     GPI_SYS_I2C2_CLK)>,
3927d0873ebSEmmanuel Vadot				 <GPIOMUX(2, GPOUT_LOW,
3937d0873ebSEmmanuel Vadot					     GPOEN_SYS_I2C2_DATA,
3947d0873ebSEmmanuel Vadot					     GPI_SYS_I2C2_DATA)>;
3957d0873ebSEmmanuel Vadot			bias-disable; /* external pull-up */
3967d0873ebSEmmanuel Vadot			input-enable;
3977d0873ebSEmmanuel Vadot			input-schmitt-enable;
3987d0873ebSEmmanuel Vadot		};
3997d0873ebSEmmanuel Vadot	};
4007d0873ebSEmmanuel Vadot
4017d0873ebSEmmanuel Vadot	i2c5_pins: i2c5-0 {
4027d0873ebSEmmanuel Vadot		i2c-pins {
4037d0873ebSEmmanuel Vadot			pinmux = <GPIOMUX(19, GPOUT_LOW,
4047d0873ebSEmmanuel Vadot					      GPOEN_SYS_I2C5_CLK,
4057d0873ebSEmmanuel Vadot					      GPI_SYS_I2C5_CLK)>,
4067d0873ebSEmmanuel Vadot				 <GPIOMUX(20, GPOUT_LOW,
4077d0873ebSEmmanuel Vadot					      GPOEN_SYS_I2C5_DATA,
4087d0873ebSEmmanuel Vadot					      GPI_SYS_I2C5_DATA)>;
4097d0873ebSEmmanuel Vadot			bias-disable; /* external pull-up */
4107d0873ebSEmmanuel Vadot			input-enable;
4117d0873ebSEmmanuel Vadot			input-schmitt-enable;
4127d0873ebSEmmanuel Vadot		};
4137d0873ebSEmmanuel Vadot	};
4147d0873ebSEmmanuel Vadot
4157d0873ebSEmmanuel Vadot	i2c6_pins: i2c6-0 {
4167d0873ebSEmmanuel Vadot		i2c-pins {
4177d0873ebSEmmanuel Vadot			pinmux = <GPIOMUX(16, GPOUT_LOW,
4187d0873ebSEmmanuel Vadot					      GPOEN_SYS_I2C6_CLK,
4197d0873ebSEmmanuel Vadot					      GPI_SYS_I2C6_CLK)>,
4207d0873ebSEmmanuel Vadot				 <GPIOMUX(17, GPOUT_LOW,
4217d0873ebSEmmanuel Vadot					      GPOEN_SYS_I2C6_DATA,
4227d0873ebSEmmanuel Vadot					      GPI_SYS_I2C6_DATA)>;
4237d0873ebSEmmanuel Vadot			bias-disable; /* external pull-up */
4247d0873ebSEmmanuel Vadot			input-enable;
4257d0873ebSEmmanuel Vadot			input-schmitt-enable;
4267d0873ebSEmmanuel Vadot		};
4277d0873ebSEmmanuel Vadot	};
4287d0873ebSEmmanuel Vadot
4297d0873ebSEmmanuel Vadot	mmc0_pins: mmc0-0 {
4307d0873ebSEmmanuel Vadot		 rst-pins {
4317d0873ebSEmmanuel Vadot			pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST,
4327d0873ebSEmmanuel Vadot					      GPOEN_ENABLE,
4337d0873ebSEmmanuel Vadot					      GPI_NONE)>;
4347d0873ebSEmmanuel Vadot			bias-pull-up;
4357d0873ebSEmmanuel Vadot			drive-strength = <12>;
4367d0873ebSEmmanuel Vadot			input-disable;
4377d0873ebSEmmanuel Vadot			input-schmitt-disable;
4387d0873ebSEmmanuel Vadot			slew-rate = <0>;
4397d0873ebSEmmanuel Vadot		};
4407d0873ebSEmmanuel Vadot
4417d0873ebSEmmanuel Vadot		mmc-pins {
4427d0873ebSEmmanuel Vadot			pinmux = <PINMUX(64, 0)>,
4437d0873ebSEmmanuel Vadot				 <PINMUX(65, 0)>,
4447d0873ebSEmmanuel Vadot				 <PINMUX(66, 0)>,
4457d0873ebSEmmanuel Vadot				 <PINMUX(67, 0)>,
4467d0873ebSEmmanuel Vadot				 <PINMUX(68, 0)>,
4477d0873ebSEmmanuel Vadot				 <PINMUX(69, 0)>,
4487d0873ebSEmmanuel Vadot				 <PINMUX(70, 0)>,
4497d0873ebSEmmanuel Vadot				 <PINMUX(71, 0)>,
4507d0873ebSEmmanuel Vadot				 <PINMUX(72, 0)>,
4517d0873ebSEmmanuel Vadot				 <PINMUX(73, 0)>;
4527d0873ebSEmmanuel Vadot			bias-pull-up;
4537d0873ebSEmmanuel Vadot			drive-strength = <12>;
4547d0873ebSEmmanuel Vadot			input-enable;
4557d0873ebSEmmanuel Vadot		};
4567d0873ebSEmmanuel Vadot	};
4577d0873ebSEmmanuel Vadot
4587d0873ebSEmmanuel Vadot	mmc1_pins: mmc1-0 {
4597d0873ebSEmmanuel Vadot		clk-pins {
4607d0873ebSEmmanuel Vadot			pinmux = <GPIOMUX(10, GPOUT_SYS_SDIO1_CLK,
4617d0873ebSEmmanuel Vadot					      GPOEN_ENABLE,
4627d0873ebSEmmanuel Vadot					      GPI_NONE)>;
4637d0873ebSEmmanuel Vadot			bias-pull-up;
4647d0873ebSEmmanuel Vadot			drive-strength = <12>;
4657d0873ebSEmmanuel Vadot			input-disable;
4667d0873ebSEmmanuel Vadot			input-schmitt-disable;
4677d0873ebSEmmanuel Vadot			slew-rate = <0>;
4687d0873ebSEmmanuel Vadot		};
4697d0873ebSEmmanuel Vadot
4707d0873ebSEmmanuel Vadot		mmc-pins {
4717d0873ebSEmmanuel Vadot			pinmux = <GPIOMUX(9, GPOUT_SYS_SDIO1_CMD,
4727d0873ebSEmmanuel Vadot					     GPOEN_SYS_SDIO1_CMD,
4737d0873ebSEmmanuel Vadot					     GPI_SYS_SDIO1_CMD)>,
4747d0873ebSEmmanuel Vadot				 <GPIOMUX(11, GPOUT_SYS_SDIO1_DATA0,
4757d0873ebSEmmanuel Vadot					      GPOEN_SYS_SDIO1_DATA0,
4767d0873ebSEmmanuel Vadot					      GPI_SYS_SDIO1_DATA0)>,
4777d0873ebSEmmanuel Vadot				 <GPIOMUX(12, GPOUT_SYS_SDIO1_DATA1,
4787d0873ebSEmmanuel Vadot					      GPOEN_SYS_SDIO1_DATA1,
4797d0873ebSEmmanuel Vadot					      GPI_SYS_SDIO1_DATA1)>,
4807d0873ebSEmmanuel Vadot				 <GPIOMUX(7, GPOUT_SYS_SDIO1_DATA2,
4817d0873ebSEmmanuel Vadot					     GPOEN_SYS_SDIO1_DATA2,
4827d0873ebSEmmanuel Vadot					     GPI_SYS_SDIO1_DATA2)>,
4837d0873ebSEmmanuel Vadot				 <GPIOMUX(8, GPOUT_SYS_SDIO1_DATA3,
4847d0873ebSEmmanuel Vadot					     GPOEN_SYS_SDIO1_DATA3,
4857d0873ebSEmmanuel Vadot					     GPI_SYS_SDIO1_DATA3)>;
4867d0873ebSEmmanuel Vadot			bias-pull-up;
4877d0873ebSEmmanuel Vadot			drive-strength = <12>;
4887d0873ebSEmmanuel Vadot			input-enable;
4897d0873ebSEmmanuel Vadot			input-schmitt-enable;
4907d0873ebSEmmanuel Vadot			slew-rate = <0>;
4917d0873ebSEmmanuel Vadot		};
4927d0873ebSEmmanuel Vadot	};
4937d0873ebSEmmanuel Vadot
494*0e8011faSEmmanuel Vadot	pcie0_pins: pcie0-0 {
495*0e8011faSEmmanuel Vadot		clkreq-pins {
496*0e8011faSEmmanuel Vadot			pinmux = <GPIOMUX(27, GPOUT_LOW,
497*0e8011faSEmmanuel Vadot					      GPOEN_DISABLE,
498*0e8011faSEmmanuel Vadot					      GPI_NONE)>;
499*0e8011faSEmmanuel Vadot			bias-pull-down;
500*0e8011faSEmmanuel Vadot			drive-strength = <2>;
501*0e8011faSEmmanuel Vadot			input-enable;
502*0e8011faSEmmanuel Vadot			input-schmitt-disable;
503*0e8011faSEmmanuel Vadot			slew-rate = <0>;
504*0e8011faSEmmanuel Vadot		};
505*0e8011faSEmmanuel Vadot
506*0e8011faSEmmanuel Vadot		wake-pins {
507*0e8011faSEmmanuel Vadot			pinmux = <GPIOMUX(32, GPOUT_LOW,
508*0e8011faSEmmanuel Vadot					      GPOEN_DISABLE,
509*0e8011faSEmmanuel Vadot					      GPI_NONE)>;
510*0e8011faSEmmanuel Vadot			bias-pull-up;
511*0e8011faSEmmanuel Vadot			drive-strength = <2>;
512*0e8011faSEmmanuel Vadot			input-enable;
513*0e8011faSEmmanuel Vadot			input-schmitt-disable;
514*0e8011faSEmmanuel Vadot			slew-rate = <0>;
515*0e8011faSEmmanuel Vadot		};
516*0e8011faSEmmanuel Vadot	};
517*0e8011faSEmmanuel Vadot
518*0e8011faSEmmanuel Vadot	pcie1_pins: pcie1-0 {
519*0e8011faSEmmanuel Vadot		clkreq-pins {
520*0e8011faSEmmanuel Vadot			pinmux = <GPIOMUX(29, GPOUT_LOW,
521*0e8011faSEmmanuel Vadot					      GPOEN_DISABLE,
522*0e8011faSEmmanuel Vadot					      GPI_NONE)>;
523*0e8011faSEmmanuel Vadot			bias-pull-down;
524*0e8011faSEmmanuel Vadot			drive-strength = <2>;
525*0e8011faSEmmanuel Vadot			input-enable;
526*0e8011faSEmmanuel Vadot			input-schmitt-disable;
527*0e8011faSEmmanuel Vadot			slew-rate = <0>;
528*0e8011faSEmmanuel Vadot		};
529*0e8011faSEmmanuel Vadot
530*0e8011faSEmmanuel Vadot		wake-pins {
531*0e8011faSEmmanuel Vadot			pinmux = <GPIOMUX(21, GPOUT_LOW,
532*0e8011faSEmmanuel Vadot				      GPOEN_DISABLE,
533*0e8011faSEmmanuel Vadot					      GPI_NONE)>;
534*0e8011faSEmmanuel Vadot			bias-pull-up;
535*0e8011faSEmmanuel Vadot			drive-strength = <2>;
536*0e8011faSEmmanuel Vadot			input-enable;
537*0e8011faSEmmanuel Vadot			input-schmitt-disable;
538*0e8011faSEmmanuel Vadot			slew-rate = <0>;
539*0e8011faSEmmanuel Vadot		};
540*0e8011faSEmmanuel Vadot	};
541*0e8011faSEmmanuel Vadot
5427d0873ebSEmmanuel Vadot	pwmdac_pins: pwmdac-0 {
5437d0873ebSEmmanuel Vadot		pwmdac-pins {
5447d0873ebSEmmanuel Vadot			pinmux = <GPIOMUX(33, GPOUT_SYS_PWMDAC_LEFT,
5457d0873ebSEmmanuel Vadot					      GPOEN_ENABLE,
5467d0873ebSEmmanuel Vadot					      GPI_NONE)>,
5477d0873ebSEmmanuel Vadot				 <GPIOMUX(34, GPOUT_SYS_PWMDAC_RIGHT,
5487d0873ebSEmmanuel Vadot					      GPOEN_ENABLE,
5497d0873ebSEmmanuel Vadot					      GPI_NONE)>;
5507d0873ebSEmmanuel Vadot			bias-disable;
5517d0873ebSEmmanuel Vadot			drive-strength = <2>;
5527d0873ebSEmmanuel Vadot			input-disable;
5537d0873ebSEmmanuel Vadot			input-schmitt-disable;
5547d0873ebSEmmanuel Vadot			slew-rate = <0>;
5557d0873ebSEmmanuel Vadot		};
5567d0873ebSEmmanuel Vadot	};
5577d0873ebSEmmanuel Vadot
5587d0873ebSEmmanuel Vadot	pwm_pins: pwm-0 {
5597d0873ebSEmmanuel Vadot		pwm-pins {
5607d0873ebSEmmanuel Vadot			pinmux = <GPIOMUX(46, GPOUT_SYS_PWM_CHANNEL0,
5617d0873ebSEmmanuel Vadot					      GPOEN_SYS_PWM0_CHANNEL0,
5627d0873ebSEmmanuel Vadot					      GPI_NONE)>,
5637d0873ebSEmmanuel Vadot				 <GPIOMUX(59, GPOUT_SYS_PWM_CHANNEL1,
5647d0873ebSEmmanuel Vadot					      GPOEN_SYS_PWM0_CHANNEL1,
5657d0873ebSEmmanuel Vadot					      GPI_NONE)>;
5667d0873ebSEmmanuel Vadot			bias-disable;
5677d0873ebSEmmanuel Vadot			drive-strength = <12>;
5687d0873ebSEmmanuel Vadot			input-disable;
5697d0873ebSEmmanuel Vadot			input-schmitt-disable;
5707d0873ebSEmmanuel Vadot			slew-rate = <0>;
5717d0873ebSEmmanuel Vadot		};
5727d0873ebSEmmanuel Vadot	};
5737d0873ebSEmmanuel Vadot
5747d0873ebSEmmanuel Vadot	spi0_pins: spi0-0 {
5757d0873ebSEmmanuel Vadot		mosi-pins {
5767d0873ebSEmmanuel Vadot			pinmux = <GPIOMUX(52, GPOUT_SYS_SPI0_TXD,
5777d0873ebSEmmanuel Vadot					      GPOEN_ENABLE,
5787d0873ebSEmmanuel Vadot					      GPI_NONE)>;
5797d0873ebSEmmanuel Vadot			bias-disable;
5807d0873ebSEmmanuel Vadot			input-disable;
5817d0873ebSEmmanuel Vadot			input-schmitt-disable;
5827d0873ebSEmmanuel Vadot		};
5837d0873ebSEmmanuel Vadot
5847d0873ebSEmmanuel Vadot		miso-pins {
5857d0873ebSEmmanuel Vadot			pinmux = <GPIOMUX(53, GPOUT_LOW,
5867d0873ebSEmmanuel Vadot					      GPOEN_DISABLE,
5877d0873ebSEmmanuel Vadot					      GPI_SYS_SPI0_RXD)>;
5887d0873ebSEmmanuel Vadot			bias-pull-up;
5897d0873ebSEmmanuel Vadot			input-enable;
5907d0873ebSEmmanuel Vadot			input-schmitt-enable;
5917d0873ebSEmmanuel Vadot		};
5927d0873ebSEmmanuel Vadot
5937d0873ebSEmmanuel Vadot		sck-pins {
5947d0873ebSEmmanuel Vadot			pinmux = <GPIOMUX(48, GPOUT_SYS_SPI0_CLK,
5957d0873ebSEmmanuel Vadot					      GPOEN_ENABLE,
5967d0873ebSEmmanuel Vadot					      GPI_SYS_SPI0_CLK)>;
5977d0873ebSEmmanuel Vadot			bias-disable;
5987d0873ebSEmmanuel Vadot			input-disable;
5997d0873ebSEmmanuel Vadot			input-schmitt-disable;
6007d0873ebSEmmanuel Vadot		};
6017d0873ebSEmmanuel Vadot
6027d0873ebSEmmanuel Vadot		ss-pins {
6037d0873ebSEmmanuel Vadot			pinmux = <GPIOMUX(49, GPOUT_SYS_SPI0_FSS,
6047d0873ebSEmmanuel Vadot					      GPOEN_ENABLE,
6057d0873ebSEmmanuel Vadot					      GPI_SYS_SPI0_FSS)>;
6067d0873ebSEmmanuel Vadot			bias-disable;
6077d0873ebSEmmanuel Vadot			input-disable;
6087d0873ebSEmmanuel Vadot			input-schmitt-disable;
6097d0873ebSEmmanuel Vadot		};
6107d0873ebSEmmanuel Vadot	};
6117d0873ebSEmmanuel Vadot
6127d0873ebSEmmanuel Vadot	uart0_pins: uart0-0 {
6137d0873ebSEmmanuel Vadot		tx-pins {
6147d0873ebSEmmanuel Vadot			pinmux = <GPIOMUX(5, GPOUT_SYS_UART0_TX,
6157d0873ebSEmmanuel Vadot					     GPOEN_ENABLE,
6167d0873ebSEmmanuel Vadot					     GPI_NONE)>;
6177d0873ebSEmmanuel Vadot			bias-disable;
6187d0873ebSEmmanuel Vadot			drive-strength = <12>;
6197d0873ebSEmmanuel Vadot			input-disable;
6207d0873ebSEmmanuel Vadot			input-schmitt-disable;
6217d0873ebSEmmanuel Vadot			slew-rate = <0>;
6227d0873ebSEmmanuel Vadot		};
6237d0873ebSEmmanuel Vadot
6247d0873ebSEmmanuel Vadot		rx-pins {
6257d0873ebSEmmanuel Vadot			pinmux = <GPIOMUX(6, GPOUT_LOW,
6267d0873ebSEmmanuel Vadot					     GPOEN_DISABLE,
6277d0873ebSEmmanuel Vadot					     GPI_SYS_UART0_RX)>;
6287d0873ebSEmmanuel Vadot			bias-disable; /* external pull-up */
6297d0873ebSEmmanuel Vadot			drive-strength = <2>;
6307d0873ebSEmmanuel Vadot			input-enable;
6317d0873ebSEmmanuel Vadot			input-schmitt-enable;
6327d0873ebSEmmanuel Vadot			slew-rate = <0>;
6337d0873ebSEmmanuel Vadot		};
6347d0873ebSEmmanuel Vadot	};
6357d0873ebSEmmanuel Vadot};
6367d0873ebSEmmanuel Vadot
6377d0873ebSEmmanuel Vadot&uart0 {
6387d0873ebSEmmanuel Vadot	pinctrl-names = "default";
6397d0873ebSEmmanuel Vadot	pinctrl-0 = <&uart0_pins>;
6407d0873ebSEmmanuel Vadot	status = "okay";
6417d0873ebSEmmanuel Vadot};
6427d0873ebSEmmanuel Vadot
6437d0873ebSEmmanuel Vadot&usb0 {
6447d0873ebSEmmanuel Vadot	dr_mode = "peripheral";
6457d0873ebSEmmanuel Vadot	status = "okay";
6467d0873ebSEmmanuel Vadot};
6477d0873ebSEmmanuel Vadot
6487d0873ebSEmmanuel Vadot&U74_1 {
6497d0873ebSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
6507d0873ebSEmmanuel Vadot};
6517d0873ebSEmmanuel Vadot
6527d0873ebSEmmanuel Vadot&U74_2 {
6537d0873ebSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
6547d0873ebSEmmanuel Vadot};
6557d0873ebSEmmanuel Vadot
6567d0873ebSEmmanuel Vadot&U74_3 {
6577d0873ebSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
6587d0873ebSEmmanuel Vadot};
6597d0873ebSEmmanuel Vadot
6607d0873ebSEmmanuel Vadot&U74_4 {
6617d0873ebSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
6627d0873ebSEmmanuel Vadot};
663