0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 // Copyright (c) 2019 Jernej Skrabec <jernej.skrabec@siol.net>
0003
0004 /dts-v1/;
0005
0006 #include "sun50i-h6.dtsi"
0007 #include "sun50i-h6-cpu-opp.dtsi"
0008
0009 #include <dt-bindings/gpio/gpio.h>
0010
0011 / {
0012 aliases {
0013 serial0 = &uart0;
0014 };
0015
0016 chosen {
0017 stdout-path = "serial0:115200n8";
0018 };
0019
0020 connector {
0021 compatible = "hdmi-connector";
0022 ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
0023 type = "a";
0024
0025 port {
0026 hdmi_con_in: endpoint {
0027 remote-endpoint = <&hdmi_out_con>;
0028 };
0029 };
0030 };
0031
0032 /* used for FD650 LED display driver */
0033 i2c {
0034 compatible = "i2c-gpio";
0035 sda-gpios = <&pio 7 6 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; /* PH6 */
0036 scl-gpios = <&pio 7 5 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; /* PH5 */
0037 i2c-gpio,delay-us = <5>;
0038 };
0039
0040 reg_vcc1v8: regulator-vcc1v8 {
0041 compatible = "regulator-fixed";
0042 regulator-name = "vcc1v8";
0043 regulator-min-microvolt = <1800000>;
0044 regulator-max-microvolt = <1800000>;
0045 };
0046
0047 reg_vcc3v3: regulator-vcc3v3 {
0048 compatible = "regulator-fixed";
0049 regulator-name = "vcc3v3";
0050 regulator-min-microvolt = <3300000>;
0051 regulator-max-microvolt = <3300000>;
0052 };
0053
0054 reg_vdd_cpu_gpu: regulator-vdd-cpu-gpu {
0055 compatible = "regulator-fixed";
0056 regulator-name = "vdd-cpu-gpu";
0057 regulator-min-microvolt = <1135000>;
0058 regulator-max-microvolt = <1135000>;
0059 };
0060
0061 sound-spdif {
0062 compatible = "simple-audio-card";
0063 simple-audio-card,name = "sun50i-h6-spdif";
0064
0065 simple-audio-card,cpu {
0066 sound-dai = <&spdif>;
0067 };
0068
0069 simple-audio-card,codec {
0070 sound-dai = <&spdif_out>;
0071 };
0072 };
0073
0074 spdif_out: spdif-out {
0075 #sound-dai-cells = <0>;
0076 compatible = "linux,spdif-dit";
0077 };
0078
0079 wifi_pwrseq: wifi-pwrseq {
0080 compatible = "mmc-pwrseq-simple";
0081 clocks = <&rtc CLK_OSC32K_FANOUT>;
0082 clock-names = "ext_clock";
0083 reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */
0084 };
0085 };
0086
0087 &cpu0 {
0088 cpu-supply = <®_vdd_cpu_gpu>;
0089 };
0090
0091 &de {
0092 status = "okay";
0093 };
0094
0095 &dwc3 {
0096 status = "okay";
0097 };
0098
0099 &ehci0 {
0100 status = "okay";
0101 };
0102
0103 &ehci3 {
0104 status = "okay";
0105 };
0106
0107 &gpu {
0108 mali-supply = <®_vdd_cpu_gpu>;
0109 status = "okay";
0110 };
0111
0112 &hdmi {
0113 status = "okay";
0114 };
0115
0116 &hdmi_out {
0117 hdmi_out_con: endpoint {
0118 remote-endpoint = <&hdmi_con_in>;
0119 };
0120 };
0121
0122 &mmc0 {
0123 pinctrl-names = "default";
0124 pinctrl-0 = <&mmc0_pins>;
0125 vmmc-supply = <®_vcc3v3>;
0126 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
0127 bus-width = <4>;
0128 status = "okay";
0129 };
0130
0131 &mmc1 {
0132 vmmc-supply = <®_vcc3v3>;
0133 vqmmc-supply = <®_vcc1v8>;
0134 mmc-pwrseq = <&wifi_pwrseq>;
0135 bus-width = <4>;
0136 non-removable;
0137 status = "okay";
0138 };
0139
0140 &mmc2 {
0141 vmmc-supply = <®_vcc3v3>;
0142 vqmmc-supply = <®_vcc1v8>;
0143 bus-width = <8>;
0144 non-removable;
0145 cap-mmc-hw-reset;
0146 mmc-hs200-1_8v;
0147 status = "okay";
0148 };
0149
0150 &ohci0 {
0151 status = "okay";
0152 };
0153
0154 &ohci3 {
0155 status = "okay";
0156 };
0157
0158 &pio {
0159 vcc-pc-supply = <®_vcc1v8>;
0160 vcc-pd-supply = <®_vcc3v3>;
0161 vcc-pg-supply = <®_vcc1v8>;
0162 };
0163
0164 &r_ir {
0165 status = "okay";
0166 };
0167
0168 &spdif {
0169 status = "okay";
0170 };
0171
0172 &uart0 {
0173 pinctrl-names = "default";
0174 pinctrl-0 = <&uart0_ph_pins>;
0175 status = "okay";
0176 };
0177
0178 &usb2otg {
0179 dr_mode = "host";
0180 status = "okay";
0181 };
0182
0183 &usb2phy {
0184 status = "okay";
0185 };
0186
0187 &usb3phy {
0188 status = "okay";
0189 };