1 // SPDX-License-Identifier: GPL-2.0-only
3 * Support for peripherals on the AXS10x mainboard
5 * Copyright (C) 2013-15 Synopsys, Inc. (www.synopsys.com)
14 compatible = "simple-bus";
17 ranges = <0x00000000 0x0 0xe0000000 0x10000000>;
18 interrupt-parent = <&mb_intc>;
20 creg_rst: reset-controller@11220 {
21 compatible = "snps,axs10x-reset";
26 i2sclk: i2sclk@100a0 {
27 compatible = "snps,axs10x-i2s-pll-clock";
29 clocks = <&i2spll_clk>;
34 i2spll_clk: i2spll_clk {
35 compatible = "fixed-clock";
36 clock-frequency = <27000000>;
41 compatible = "fixed-clock";
42 clock-frequency = <50000000>;
47 compatible = "fixed-clock";
48 clock-frequency = <50000000>;
53 compatible = "fixed-clock";
55 * DW sdio controller has external ciu clock divider
56 * controlled via register in SDIO IP. It divides
57 * sdio_ref_clk (which comes from CGU) by 16 for
58 * default. So default mmcclk clock (which comes
59 * to sdk_in) is 25000000 Hz.
61 clock-frequency = <25000000>;
67 compatible = "fixed-clock";
68 clock-frequency = <74250000>;
72 gmac: ethernet@18000 {
73 #interrupt-cells = <1>;
74 compatible = "snps,dwmac";
75 reg = < 0x18000 0x2000 >;
77 interrupt-names = "macirq";
81 clock-names = "stmmaceth";
83 resets = <&creg_rst 5>;
84 reset-names = "stmmaceth";
85 mac-address = [00 00 00 00 00 00]; /* Filled in by U-Boot */
89 compatible = "generic-ehci";
90 reg = < 0x40000 0x100 >;
95 compatible = "generic-ohci";
96 reg = < 0x60000 0x100 >;
101 * According to DW Mobile Storage databook it is required
102 * to use "Hold Register" if card is enumerated in SDR12 or
105 * Utilization of "Hold Register" is already implemented via
106 * dw_mci_pltfm_prepare_command() which in its turn gets
107 * used through dw_mci_drv_data->prepare_command call-back.
108 * This call-back is used in Altera Socfpga platform and so
109 * we may reuse it saying that we're compatible with their
110 * "altr,socfpga-dw-mshc".
112 * Most probably "Hold Register" utilization is platform-
113 * independent requirement which means that single unified
114 * "snps,dw-mshc" should be enough for all users of DW MMC once
115 * dw_mci_pltfm_prepare_command() is used in generic platform
119 compatible = "altr,socfpga-dw-mshc";
120 reg = < 0x15000 0x400 >;
122 card-detect-delay = < 200 >;
123 clocks = <&apbclk>, <&mmcclk>;
124 clock-names = "biu", "ciu";
130 compatible = "snps,dw-apb-uart";
131 reg = <0x20000 0x100>;
132 clock-frequency = <33333333>;
140 compatible = "snps,dw-apb-uart";
141 reg = <0x21000 0x100>;
142 clock-frequency = <33333333>;
149 /* UART muxed with USB data port (ttyS3) */
151 compatible = "snps,dw-apb-uart";
152 reg = <0x22000 0x100>;
153 clock-frequency = <33333333>;
161 compatible = "snps,designware-i2c";
162 reg = <0x1d000 0x100>;
163 clock-frequency = <400000>;
169 compatible = "snps,designware-i2s";
170 reg = <0x1e000 0x100>;
171 clocks = <&i2sclk 0>;
172 clock-names = "i2sclk";
174 #sound-dai-cells = <0>;
178 compatible = "snps,designware-i2c";
179 #address-cells = <1>;
181 reg = <0x1f000 0x100>;
182 clock-frequency = <400000>;
187 compatible="adi,adv7511";
190 adi,input-depth = <8>;
191 adi,input-colorspace = "rgb";
192 adi,input-clock = "1x";
193 adi,clock-delay = <0x03>;
194 #sound-dai-cells = <0>;
197 #address-cells = <1>;
203 adv7511_input:endpoint {
204 remote-endpoint = <&pgu_output>;
211 adv7511_output: endpoint {
212 remote-endpoint = <&hdmi_connector_in>;
219 compatible = "atmel,24c01";
225 compatible = "atmel,24c04";
232 compatible = "hdmi-connector";
235 hdmi_connector_in: endpoint {
236 remote-endpoint = <&adv7511_output>;
242 compatible = "snps,dw-apb-gpio";
243 reg = <0x13000 0x1000>;
244 #address-cells = <1>;
247 gpio0_banka: gpio-controller@0 {
248 compatible = "snps,dw-apb-gpio-port";
251 snps,nr-gpios = <32>;
255 gpio0_bankb: gpio-controller@1 {
256 compatible = "snps,dw-apb-gpio-port";
263 gpio0_bankc: gpio-controller@2 {
264 compatible = "snps,dw-apb-gpio-port";
273 compatible = "snps,dw-apb-gpio";
274 reg = <0x14000 0x1000>;
275 #address-cells = <1>;
278 gpio1_banka: gpio-controller@0 {
279 compatible = "snps,dw-apb-gpio-port";
282 snps,nr-gpios = <30>;
286 gpio1_bankb: gpio-controller@1 {
287 compatible = "snps,dw-apb-gpio-port";
290 snps,nr-gpios = <10>;
294 gpio1_bankc: gpio-controller@2 {
295 compatible = "snps,dw-apb-gpio-port";
304 compatible = "snps,arcpgu";
305 reg = <0x17000 0x400>;
306 encoder-slave = <&adv7511>;
308 clock-names = "pxlclk";
309 memory-region = <&frame_buffer>;
311 pgu_output: endpoint {
312 remote-endpoint = <&adv7511_input>;
318 compatible = "simple-audio-card";
319 simple-audio-card,name = "AXS10x HDMI Audio";
320 simple-audio-card,format = "i2s";
321 simple-audio-card,cpu {
324 simple-audio-card,codec {
325 sound-dai = <&adv7511>;