~funderscore blog cgit wiki get in touch
aboutsummaryrefslogtreecommitdiff
blob: 3a7f939a008c61bce9b82425469c1724e8442933 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
// SPDX-License-Identifier: GPL-2.0+
/*
 * Copyright (C) 2017 Synopsys, Inc. All rights reserved.
 */

/ {
	aliases {
		spi0 = &spi0;
	};

	axs10x_mb@e0000000 {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00000000 0xe0000000 0x10000000>;
		bootph-all;

		clocks {
			compatible = "simple-bus";
			bootph-all;

			apbclk: apbclk {
				compatible = "fixed-clock";
				clock-frequency = <50000000>;
				#clock-cells = <0>;
			};

			uartclk: uartclk {
				compatible = "fixed-clock";
				clock-frequency = <33333333>;
				#clock-cells = <0>;
				bootph-all;
			};

			mmcclk_ciu: mmcclk-ciu {
				compatible = "fixed-clock";
				/*
				 * DW sdio controller has external ciu clock divider
				 * controlled via register in SDIO IP. It divides
				 * sdio_ref_clk (which comes from CGU) by 16 for
				 * default. So default mmcclk clock (which comes
				 * to sdk_in) is 25000000 Hz.
				 */
				clock-frequency = <25000000>;
				#clock-cells = <0>;
			};

			mmcclk_biu: mmcclk-biu {
				compatible = "fixed-clock";
				clock-frequency = <50000000>;
				#clock-cells = <0>;
			};
		};

		ethernet@18000 {
			compatible = "snps,arc-dwmac-3.70a";
			reg = < 0x18000 0x2000 >;
			phy-mode = "gmii";
			snps,pbl = < 32 >;
			clocks = <&apbclk>;
			clock-names = "stmmaceth";
			max-speed = <100>;
		};

		ehci@40000 {
			compatible = "generic-ehci";
			reg = < 0x40000 0x100 >;
		};

		ohci@60000 {
			compatible = "generic-ohci";
			reg = < 0x60000 0x100 >;
		};

		mmc: mmc@15000 {
			compatible = "snps,dw-mshc";
			reg = <0x15000 0x400>;
			bus-width = <4>;
			clocks = <&mmcclk_biu>, <&mmcclk_ciu>;
			clock-names = "biu", "ciu";
			max-frequency = <25000000>;
		};

		uart0: serial0@22000 {
			compatible = "snps,dw-apb-uart";
			reg = <0x22000 0x100>;
			clocks = <&uartclk>;
			reg-shift = <2>;
			reg-io-width = <4>;
		};

		spi0: spi@0 {
			compatible = "snps,axs10x-spi", "snps,dw-apb-ssi";
			reg = <0x0 0x100>;
			#address-cells = <1>;
			#size-cells = <0>;
			spi-max-frequency = <4000000>;
			clocks = <&apbclk>;
			clock-names = "spi_clk";
			num-cs = <1>;
			cs-gpios = <&cs_gpio 0>;
			spi_flash@0 {
				compatible = "jedec,spi-nor";
				reg = <0>;
				spi-max-frequency = <4000000>;
			};
		};

		cs_gpio: gpio@11218 {
			compatible = "snps,creg-gpio";
			reg = <0x11218 0x4>;
			gpio-controller;
			#gpio-cells = <1>;
			gpio-bank-name = "axs-spi-cs";
			gpio-count = <1>;
			gpio-first-shift = <0>;
			gpio-bit-per-line = <2>;
			gpio-activate-val = <1>;
			gpio-deactivate-val = <3>;
			gpio-default-val = <1>;
		};
	};
};