~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm/mach-spear/spear300.c

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0-only
  2 /*
  3  * arch/arm/mach-spear3xx/spear300.c
  4  *
  5  * SPEAr300 machine source file
  6  *
  7  * Copyright (C) 2009-2012 ST Microelectronics
  8  * Viresh Kumar <vireshk@kernel.org>
  9  */
 10 
 11 #define pr_fmt(fmt) "SPEAr300: " fmt
 12 
 13 #include <linux/amba/pl08x.h>
 14 #include <linux/of_platform.h>
 15 #include <asm/mach/arch.h>
 16 #include "generic.h"
 17 #include "spear.h"
 18 
 19 /* DMAC platform data's slave info */
 20 struct pl08x_channel_data spear300_dma_info[] = {
 21         {
 22                 .bus_id = "uart0_rx",
 23                 .min_signal = 2,
 24                 .max_signal = 2,
 25                 .muxval = 0,
 26                 .periph_buses = PL08X_AHB1,
 27         }, {
 28                 .bus_id = "uart0_tx",
 29                 .min_signal = 3,
 30                 .max_signal = 3,
 31                 .muxval = 0,
 32                 .periph_buses = PL08X_AHB1,
 33         }, {
 34                 .bus_id = "ssp0_rx",
 35                 .min_signal = 8,
 36                 .max_signal = 8,
 37                 .muxval = 0,
 38                 .periph_buses = PL08X_AHB1,
 39         }, {
 40                 .bus_id = "ssp0_tx",
 41                 .min_signal = 9,
 42                 .max_signal = 9,
 43                 .muxval = 0,
 44                 .periph_buses = PL08X_AHB1,
 45         }, {
 46                 .bus_id = "i2c_rx",
 47                 .min_signal = 10,
 48                 .max_signal = 10,
 49                 .muxval = 0,
 50                 .periph_buses = PL08X_AHB1,
 51         }, {
 52                 .bus_id = "i2c_tx",
 53                 .min_signal = 11,
 54                 .max_signal = 11,
 55                 .muxval = 0,
 56                 .periph_buses = PL08X_AHB1,
 57         }, {
 58                 .bus_id = "irda",
 59                 .min_signal = 12,
 60                 .max_signal = 12,
 61                 .muxval = 0,
 62                 .periph_buses = PL08X_AHB1,
 63         }, {
 64                 .bus_id = "adc",
 65                 .min_signal = 13,
 66                 .max_signal = 13,
 67                 .muxval = 0,
 68                 .periph_buses = PL08X_AHB1,
 69         }, {
 70                 .bus_id = "to_jpeg",
 71                 .min_signal = 14,
 72                 .max_signal = 14,
 73                 .muxval = 0,
 74                 .periph_buses = PL08X_AHB1,
 75         }, {
 76                 .bus_id = "from_jpeg",
 77                 .min_signal = 15,
 78                 .max_signal = 15,
 79                 .muxval = 0,
 80                 .periph_buses = PL08X_AHB1,
 81         }, {
 82                 .bus_id = "ras0_rx",
 83                 .min_signal = 0,
 84                 .max_signal = 0,
 85                 .muxval = 1,
 86                 .periph_buses = PL08X_AHB1,
 87         }, {
 88                 .bus_id = "ras0_tx",
 89                 .min_signal = 1,
 90                 .max_signal = 1,
 91                 .muxval = 1,
 92                 .periph_buses = PL08X_AHB1,
 93         }, {
 94                 .bus_id = "ras1_rx",
 95                 .min_signal = 2,
 96                 .max_signal = 2,
 97                 .muxval = 1,
 98                 .periph_buses = PL08X_AHB1,
 99         }, {
100                 .bus_id = "ras1_tx",
101                 .min_signal = 3,
102                 .max_signal = 3,
103                 .muxval = 1,
104                 .periph_buses = PL08X_AHB1,
105         }, {
106                 .bus_id = "ras2_rx",
107                 .min_signal = 4,
108                 .max_signal = 4,
109                 .muxval = 1,
110                 .periph_buses = PL08X_AHB1,
111         }, {
112                 .bus_id = "ras2_tx",
113                 .min_signal = 5,
114                 .max_signal = 5,
115                 .muxval = 1,
116                 .periph_buses = PL08X_AHB1,
117         }, {
118                 .bus_id = "ras3_rx",
119                 .min_signal = 6,
120                 .max_signal = 6,
121                 .muxval = 1,
122                 .periph_buses = PL08X_AHB1,
123         }, {
124                 .bus_id = "ras3_tx",
125                 .min_signal = 7,
126                 .max_signal = 7,
127                 .muxval = 1,
128                 .periph_buses = PL08X_AHB1,
129         }, {
130                 .bus_id = "ras4_rx",
131                 .min_signal = 8,
132                 .max_signal = 8,
133                 .muxval = 1,
134                 .periph_buses = PL08X_AHB1,
135         }, {
136                 .bus_id = "ras4_tx",
137                 .min_signal = 9,
138                 .max_signal = 9,
139                 .muxval = 1,
140                 .periph_buses = PL08X_AHB1,
141         }, {
142                 .bus_id = "ras5_rx",
143                 .min_signal = 10,
144                 .max_signal = 10,
145                 .muxval = 1,
146                 .periph_buses = PL08X_AHB1,
147         }, {
148                 .bus_id = "ras5_tx",
149                 .min_signal = 11,
150                 .max_signal = 11,
151                 .muxval = 1,
152                 .periph_buses = PL08X_AHB1,
153         }, {
154                 .bus_id = "ras6_rx",
155                 .min_signal = 12,
156                 .max_signal = 12,
157                 .muxval = 1,
158                 .periph_buses = PL08X_AHB1,
159         }, {
160                 .bus_id = "ras6_tx",
161                 .min_signal = 13,
162                 .max_signal = 13,
163                 .muxval = 1,
164                 .periph_buses = PL08X_AHB1,
165         }, {
166                 .bus_id = "ras7_rx",
167                 .min_signal = 14,
168                 .max_signal = 14,
169                 .muxval = 1,
170                 .periph_buses = PL08X_AHB1,
171         }, {
172                 .bus_id = "ras7_tx",
173                 .min_signal = 15,
174                 .max_signal = 15,
175                 .muxval = 1,
176                 .periph_buses = PL08X_AHB1,
177         },
178 };
179 
180 /* Add SPEAr300 auxdata to pass platform data */
181 static struct of_dev_auxdata spear300_auxdata_lookup[] __initdata = {
182         OF_DEV_AUXDATA("arm,pl022", SPEAR3XX_ICM1_SSP_BASE, NULL,
183                         &pl022_plat_data),
184         OF_DEV_AUXDATA("arm,pl080", SPEAR_ICM3_DMA_BASE, NULL,
185                         &pl080_plat_data),
186         {}
187 };
188 
189 static void __init spear300_dt_init(void)
190 {
191         pl080_plat_data.slave_channels = spear300_dma_info;
192         pl080_plat_data.num_slave_channels = ARRAY_SIZE(spear300_dma_info);
193 
194         of_platform_default_populate(NULL, spear300_auxdata_lookup, NULL);
195 }
196 
197 static const char * const spear300_dt_board_compat[] = {
198         "st,spear300",
199         "st,spear300-evb",
200         NULL,
201 };
202 
203 static void __init spear300_map_io(void)
204 {
205         spear3xx_map_io();
206 }
207 
208 DT_MACHINE_START(SPEAR300_DT, "ST SPEAr300 SoC with Flattened Device Tree")
209         .map_io         =       spear300_map_io,
210         .init_time      =       spear3xx_timer_init,
211         .init_machine   =       spear300_dt_init,
212         .restart        =       spear_restart,
213         .dt_compat      =       spear300_dt_board_compat,
214 MACHINE_END
215 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php