blob: 5eaaf067c76a3d0eb23714c49dc6e4e66683468e [file] [log] [blame]
Beniamino Galvaniaeff05a2014-10-05 23:59:14 +02001/*
2 * Copyright 2014 Carlo Caione <carlo@caione.org>
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program. If not, see <http://www.gnu.org/licenses/>.
21 *
22 * Or, alternatively,
23 *
24 * b) Permission is hereby granted, free of charge, to any person
25 * obtaining a copy of this software and associated documentation
26 * files (the "Software"), to deal in the Software without
27 * restriction, including without limitation the rights to use,
28 * copy, modify, merge, publish, distribute, sublicense, and/or
29 * sell copies of the Software, and to permit persons to whom the
30 * Software is furnished to do so, subject to the following
31 * conditions:
32 *
33 * The above copyright notice and this permission notice shall be
34 * included in all copies or substantial portions of the Software.
35 *
36 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
38 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
39 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
40 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
41 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
42 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
43 * OTHER DEALINGS IN THE SOFTWARE.
44 */
45
Beniamino Galvanid9fea882015-01-17 19:15:16 +010046#include <dt-bindings/gpio/meson8-gpio.h>
Beniamino Galvaniaeff05a2014-10-05 23:59:14 +020047/include/ "meson.dtsi"
48
49/ {
50 model = "Amlogic Meson8 SoC";
51 compatible = "amlogic,meson8";
52
Beniamino Galvaniaeff05a2014-10-05 23:59:14 +020053 cpus {
54 #address-cells = <1>;
55 #size-cells = <0>;
56
57 cpu@200 {
58 device_type = "cpu";
59 compatible = "arm,cortex-a9";
Beniamino Galvani550ab392014-11-18 15:30:35 +010060 next-level-cache = <&L2>;
Beniamino Galvaniaeff05a2014-10-05 23:59:14 +020061 reg = <0x200>;
62 };
63
64 cpu@201 {
65 device_type = "cpu";
66 compatible = "arm,cortex-a9";
Beniamino Galvani550ab392014-11-18 15:30:35 +010067 next-level-cache = <&L2>;
Beniamino Galvaniaeff05a2014-10-05 23:59:14 +020068 reg = <0x201>;
69 };
70
71 cpu@202 {
72 device_type = "cpu";
73 compatible = "arm,cortex-a9";
Beniamino Galvani550ab392014-11-18 15:30:35 +010074 next-level-cache = <&L2>;
Beniamino Galvaniaeff05a2014-10-05 23:59:14 +020075 reg = <0x202>;
76 };
77
78 cpu@203 {
79 device_type = "cpu";
80 compatible = "arm,cortex-a9";
Beniamino Galvani550ab392014-11-18 15:30:35 +010081 next-level-cache = <&L2>;
Beniamino Galvaniaeff05a2014-10-05 23:59:14 +020082 reg = <0x203>;
83 };
84 };
85
86 clk81: clk@0 {
87 #clock-cells = <0>;
88 compatible = "fixed-clock";
89 clock-frequency = <141666666>;
90 };
Beniamino Galvanid9fea882015-01-17 19:15:16 +010091
Martin Blumenstingl200a5752017-04-17 23:39:37 +020092}; /* end of / */
93
94&aobus {
95 pinctrl_aobus: pinctrl@84 {
96 compatible = "amlogic,meson8-aobus-pinctrl";
97 reg = <0x84 0xc>;
Beniamino Galvanid9fea882015-01-17 19:15:16 +010098 #address-cells = <1>;
99 #size-cells = <1>;
100 ranges;
101
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200102 gpio_ao: ao-bank@14 {
103 reg = <0x14 0x4>,
104 <0x2c 0x4>,
105 <0x24 0x8>;
106 reg-names = "mux", "pull", "gpio";
107 gpio-controller;
108 #gpio-cells = <2>;
109 gpio-ranges = <&pinctrl_aobus 0 120 16>;
110 };
111
112 uart_ao_a_pins: uart_ao_a {
113 mux {
114 groups = "uart_tx_ao_a", "uart_rx_ao_a";
115 function = "uart_ao";
116 };
117 };
118
119 i2c_ao_pins: i2c_mst_ao {
120 mux {
121 groups = "i2c_mst_sck_ao", "i2c_mst_sda_ao";
122 function = "i2c_mst_ao";
123 };
124 };
125 };
126};
127
128&cbus {
129 pinctrl_cbus: pinctrl@9880 {
130 compatible = "amlogic,meson8-cbus-pinctrl";
131 reg = <0x9880 0x10>;
132 #address-cells = <1>;
133 #size-cells = <1>;
134 ranges;
135
136 gpio: banks@80b0 {
137 reg = <0x80b0 0x28>,
138 <0x80e8 0x18>,
139 <0x8120 0x18>,
140 <0x8030 0x30>;
Beniamino Galvanid9fea882015-01-17 19:15:16 +0100141 reg-names = "mux", "pull", "pull-enable", "gpio";
142 gpio-controller;
143 #gpio-cells = <2>;
Neil Armstrong90f349a2017-03-23 17:27:26 +0100144 gpio-ranges = <&pinctrl_cbus 0 0 120>;
Beniamino Galvanid9fea882015-01-17 19:15:16 +0100145 };
146
Beniamino Galvanid9fea882015-01-17 19:15:16 +0100147 spi_nor_pins: nor {
148 mux {
149 groups = "nor_d", "nor_q", "nor_c", "nor_cs";
150 function = "nor";
151 };
152 };
153
154 ir_recv_pins: remote {
155 mux {
156 groups = "remote_input";
157 function = "remote";
158 };
159 };
160
161 eth_pins: ethernet {
162 mux {
163 groups = "eth_tx_clk_50m", "eth_tx_en",
164 "eth_txd1", "eth_txd0",
165 "eth_rx_clk_in", "eth_rx_dv",
166 "eth_rxd1", "eth_rxd0", "eth_mdio",
167 "eth_mdc";
168 function = "ethernet";
169 };
170 };
171 };
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200172};
Beniamino Galvanid9fea882015-01-17 19:15:16 +0100173
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200174&ethmac {
175 clocks = <&clk81>;
176 clock-names = "stmmaceth";
177};
Carlo Caioneb60e1152016-03-23 10:13:59 +0100178
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200179&i2c_AO {
180 clocks = <&clk81>;
181};
Carlo Caioneb60e1152016-03-23 10:13:59 +0100182
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200183&i2c_A {
184 clocks = <&clk81>;
185};
Carlo Caioneb60e1152016-03-23 10:13:59 +0100186
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200187&i2c_B {
188 clocks = <&clk81>;
189};
190
191&spifc {
192 clocks = <&clk81>;
193};
194
195&uart_AO {
196 clocks = <&clk81>;
197};
198
199&uart_A {
200 clocks = <&clk81>;
201};
202
203&uart_B {
204 clocks = <&clk81>;
205};
206
207&uart_C {
208 clocks = <&clk81>;
209};