2 * Copyright 2015 John Wehle <john@feith.com>
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 #ifndef _ARM_AMLOGIC_AML8726_CCM_H
30 #define _ARM_AMLOGIC_AML8726_CCM_H
32 struct aml8726_ccm_gate {
37 struct aml8726_ccm_function {
39 struct aml8726_ccm_gate *gates;
46 static struct aml8726_ccm_gate aml8726_m3_ethernet[] = {
51 static struct aml8726_ccm_gate aml8726_m3_i2c[] = {
56 static struct aml8726_ccm_gate aml8726_m3_rng[] = {
61 static struct aml8726_ccm_gate aml8726_m3_sdio[] = {
66 static struct aml8726_ccm_gate aml8726_m3_sdxc[] = {
71 static struct aml8726_ccm_gate aml8726_m3_uart_a[] = {
76 static struct aml8726_ccm_gate aml8726_m3_uart_b[] = {
81 static struct aml8726_ccm_gate aml8726_m3_uart_c[] = {
86 static struct aml8726_ccm_gate aml8726_m3_usb_a[] = {
91 static struct aml8726_ccm_gate aml8726_m3_usb_b[] = {
96 struct aml8726_ccm_function aml8726_m3_ccm[] = {
97 { "ethernet", aml8726_m3_ethernet },
98 { "i2c", aml8726_m3_i2c },
99 { "rng", aml8726_m3_rng },
100 { "sdio", aml8726_m3_sdio },
101 { "sdxc", aml8726_m3_sdxc },
102 { "uart-a", aml8726_m3_uart_a },
103 { "uart-b", aml8726_m3_uart_b },
104 { "uart-c", aml8726_m3_uart_c },
105 { "usb-a", aml8726_m3_usb_a },
106 { "usb-b", aml8726_m3_usb_b },
114 static struct aml8726_ccm_gate aml8726_m6_ethernet[] = {
119 static struct aml8726_ccm_gate aml8726_m6_i2c[] = {
124 static struct aml8726_ccm_gate aml8726_m6_rng[] = {
129 static struct aml8726_ccm_gate aml8726_m6_sdio[] = {
134 static struct aml8726_ccm_gate aml8726_m6_sdxc[] = {
139 static struct aml8726_ccm_gate aml8726_m6_uart_a[] = {
144 static struct aml8726_ccm_gate aml8726_m6_uart_b[] = {
149 static struct aml8726_ccm_gate aml8726_m6_uart_c[] = {
154 static struct aml8726_ccm_gate aml8726_m6_usb_a[] = {
159 static struct aml8726_ccm_gate aml8726_m6_usb_b[] = {
164 struct aml8726_ccm_function aml8726_m6_ccm[] = {
165 { "ethernet", aml8726_m6_ethernet },
166 { "i2c", aml8726_m6_i2c },
167 { "rng", aml8726_m6_rng },
168 { "sdio", aml8726_m6_sdio },
169 { "sdxc", aml8726_m6_sdxc },
170 { "uart-a", aml8726_m6_uart_a },
171 { "uart-b", aml8726_m6_uart_b },
172 { "uart-c", aml8726_m6_uart_c },
173 { "usb-a", aml8726_m6_usb_a },
174 { "usb-b", aml8726_m6_usb_b },
182 static struct aml8726_ccm_gate aml8726_m8_ethernet[] = {
187 static struct aml8726_ccm_gate aml8726_m8_i2c[] = {
192 static struct aml8726_ccm_gate aml8726_m8_rng[] = {
198 static struct aml8726_ccm_gate aml8726_m8_sdio[] = {
203 static struct aml8726_ccm_gate aml8726_m8_sdxc[] = {
208 static struct aml8726_ccm_gate aml8726_m8_uart_a[] = {
213 static struct aml8726_ccm_gate aml8726_m8_uart_b[] = {
218 static struct aml8726_ccm_gate aml8726_m8_uart_c[] = {
223 static struct aml8726_ccm_gate aml8726_m8_usb_a[] = {
229 static struct aml8726_ccm_gate aml8726_m8_usb_b[] = {
235 struct aml8726_ccm_function aml8726_m8_ccm[] = {
236 { "ethernet", aml8726_m8_ethernet },
237 { "i2c", aml8726_m8_i2c },
238 { "rng", aml8726_m8_rng },
239 { "sdio", aml8726_m8_sdio },
240 { "sdxc", aml8726_m8_sdxc },
241 { "uart-a", aml8726_m8_uart_a },
242 { "uart-b", aml8726_m8_uart_b },
243 { "uart-c", aml8726_m8_uart_c },
244 { "usb-a", aml8726_m8_usb_a },
245 { "usb-b", aml8726_m8_usb_b },
253 static struct aml8726_ccm_gate aml8726_m8b_ethernet[] = {
258 static struct aml8726_ccm_gate aml8726_m8b_i2c[] = {
263 static struct aml8726_ccm_gate aml8726_m8b_rng[] = {
269 static struct aml8726_ccm_gate aml8726_m8b_sdio[] = {
274 static struct aml8726_ccm_gate aml8726_m8b_sdxc[] = {
279 static struct aml8726_ccm_gate aml8726_m8b_uart_a[] = {
284 static struct aml8726_ccm_gate aml8726_m8b_uart_b[] = {
289 static struct aml8726_ccm_gate aml8726_m8b_uart_c[] = {
294 static struct aml8726_ccm_gate aml8726_m8b_usb_a[] = {
300 static struct aml8726_ccm_gate aml8726_m8b_usb_b[] = {
306 struct aml8726_ccm_function aml8726_m8b_ccm[] = {
307 { "ethernet", aml8726_m8b_ethernet },
308 { "i2c", aml8726_m8b_i2c },
309 { "rng", aml8726_m8b_rng },
310 { "sdio", aml8726_m8b_sdio },
311 { "sdxc", aml8726_m8b_sdxc },
312 { "uart-a", aml8726_m8b_uart_a },
313 { "uart-b", aml8726_m8b_uart_b },
314 { "uart-c", aml8726_m8b_uart_c },
315 { "usb-a", aml8726_m8b_usb_a },
316 { "usb-b", aml8726_m8b_usb_b },
320 #endif /* _ARM_AMLOGIC_AML8726_CCM_H */