2 * Support for peripherals on the AXS10x mainboard
4 * Copyright (C) 2013-15 Synopsys, Inc. (www.synopsys.com)
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
17 compatible = "simple-bus";
20 ranges = <0x00000000 0x0 0xe0000000 0x10000000>;
21 interrupt-parent = <&mb_intc>;
23 creg_rst: reset-controller@11220 {
24 compatible = "snps,axs10x-reset";
29 i2sclk: i2sclk@100a0 {
30 compatible = "snps,axs10x-i2s-pll-clock";
32 clocks = <&i2spll_clk>;
37 i2spll_clk: i2spll_clk {
38 compatible = "fixed-clock";
39 clock-frequency = <27000000>;
44 compatible = "fixed-clock";
45 clock-frequency = <50000000>;
50 compatible = "fixed-clock";
51 clock-frequency = <50000000>;
56 compatible = "fixed-clock";
58 * DW sdio controller has external ciu clock divider
59 * controlled via register in SDIO IP. It divides
60 * sdio_ref_clk (which comes from CGU) by 16 for
61 * default. So default mmcclk clock (which comes
62 * to sdk_in) is 25000000 Hz.
64 clock-frequency = <25000000>;
70 compatible = "fixed-clock";
71 clock-frequency = <74250000>;
75 gmac: ethernet@0x18000 {
76 #interrupt-cells = <1>;
77 compatible = "snps,dwmac";
78 reg = < 0x18000 0x2000 >;
80 interrupt-names = "macirq";
84 clock-names = "stmmaceth";
86 resets = <&creg_rst 5>;
87 reset-names = "stmmaceth";
88 mac-address = [00 00 00 00 00 00]; /* Filled in by U-Boot */
92 compatible = "generic-ehci";
93 reg = < 0x40000 0x100 >;
98 compatible = "generic-ohci";
99 reg = < 0x60000 0x100 >;
104 * According to DW Mobile Storage databook it is required
105 * to use "Hold Register" if card is enumerated in SDR12 or
108 * Utilization of "Hold Register" is already implemented via
109 * dw_mci_pltfm_prepare_command() which in its turn gets
110 * used through dw_mci_drv_data->prepare_command call-back.
111 * This call-back is used in Altera Socfpga platform and so
112 * we may reuse it saying that we're compatible with their
113 * "altr,socfpga-dw-mshc".
115 * Most probably "Hold Register" utilization is platform-
116 * independent requirement which means that single unified
117 * "snps,dw-mshc" should be enough for all users of DW MMC once
118 * dw_mci_pltfm_prepare_command() is used in generic platform
122 compatible = "altr,socfpga-dw-mshc";
123 reg = < 0x15000 0x400 >;
125 card-detect-delay = < 200 >;
126 clocks = <&apbclk>, <&mmcclk>;
127 clock-names = "biu", "ciu";
133 compatible = "snps,dw-apb-uart";
134 reg = <0x20000 0x100>;
135 clock-frequency = <33333333>;
143 compatible = "snps,dw-apb-uart";
144 reg = <0x21000 0x100>;
145 clock-frequency = <33333333>;
152 /* UART muxed with USB data port (ttyS3) */
154 compatible = "snps,dw-apb-uart";
155 reg = <0x22000 0x100>;
156 clock-frequency = <33333333>;
164 compatible = "snps,designware-i2c";
165 reg = <0x1d000 0x100>;
166 clock-frequency = <400000>;
172 compatible = "snps,designware-i2s";
173 reg = <0x1e000 0x100>;
174 clocks = <&i2sclk 0>;
175 clock-names = "i2sclk";
177 #sound-dai-cells = <0>;
181 compatible = "snps,designware-i2c";
182 #address-cells = <1>;
184 reg = <0x1f000 0x100>;
185 clock-frequency = <400000>;
190 compatible="adi,adv7511";
193 adi,input-depth = <8>;
194 adi,input-colorspace = "rgb";
195 adi,input-clock = "1x";
196 adi,clock-delay = <0x03>;
197 #sound-dai-cells = <0>;
200 #address-cells = <1>;
206 adv7511_input:endpoint {
207 remote-endpoint = <&pgu_output>;
214 adv7511_output: endpoint {
215 remote-endpoint = <&hdmi_connector_in>;
222 compatible = "atmel,24c01";
228 compatible = "atmel,24c04";
235 compatible = "hdmi-connector";
238 hdmi_connector_in: endpoint {
239 remote-endpoint = <&adv7511_output>;
245 compatible = "snps,dw-apb-gpio";
246 reg = <0x13000 0x1000>;
247 #address-cells = <1>;
250 gpio0_banka: gpio-controller@0 {
251 compatible = "snps,dw-apb-gpio-port";
254 snps,nr-gpios = <32>;
258 gpio0_bankb: gpio-controller@1 {
259 compatible = "snps,dw-apb-gpio-port";
266 gpio0_bankc: gpio-controller@2 {
267 compatible = "snps,dw-apb-gpio-port";
276 compatible = "snps,dw-apb-gpio";
277 reg = <0x14000 0x1000>;
278 #address-cells = <1>;
281 gpio1_banka: gpio-controller@0 {
282 compatible = "snps,dw-apb-gpio-port";
285 snps,nr-gpios = <30>;
289 gpio1_bankb: gpio-controller@1 {
290 compatible = "snps,dw-apb-gpio-port";
293 snps,nr-gpios = <10>;
297 gpio1_bankc: gpio-controller@2 {
298 compatible = "snps,dw-apb-gpio-port";
307 compatible = "snps,arcpgu";
308 reg = <0x17000 0x400>;
309 encoder-slave = <&adv7511>;
311 clock-names = "pxlclk";
312 memory-region = <&frame_buffer>;
314 pgu_output: endpoint {
315 remote-endpoint = <&adv7511_input>;
321 compatible = "simple-audio-card";
322 simple-audio-card,name = "AXS10x HDMI Audio";
323 simple-audio-card,format = "i2s";
324 simple-audio-card,cpu {
327 simple-audio-card,codec {
328 sound-dai = <&adv7511>;