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

TOMOYO Linux Cross Reference
Linux/arch/arm/mach-pxa/devices.c

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ 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.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/arm/mach-pxa/devices.c (Version linux-6.12-rc7) and /arch/ppc/mach-pxa/devices.c (Version linux-4.14.336)


  1 // SPDX-License-Identifier: GPL-2.0                 1 
  2 #include <linux/module.h>                         
  3 #include <linux/kernel.h>                         
  4 #include <linux/init.h>                           
  5 #include <linux/platform_device.h>                
  6 #include <linux/clkdev.h>                         
  7 #include <linux/clk-provider.h>                   
  8 #include <linux/dma-mapping.h>                    
  9 #include <linux/dmaengine.h>                      
 10 #include <linux/gpio-pxa.h>                       
 11 #include <linux/platform_data/i2c-pxa.h>          
 12 #include <linux/soc/pxa/cpu.h>                    
 13                                                   
 14 #include "udc.h"                                  
 15 #include <linux/platform_data/video-pxafb.h>      
 16 #include <linux/platform_data/mmc-pxamci.h>       
 17 #include "irqs.h"                                 
 18 #include <linux/platform_data/usb-ohci-pxa27x.    
 19 #include <linux/platform_data/mmp_dma.h>          
 20                                                   
 21 #include "mfp-pxa2xx.h"                           
 22 #include "regs-ost.h"                             
 23 #include "reset.h"                                
 24 #include "devices.h"                              
 25 #include "generic.h"                              
 26                                                   
 27 void __init pxa_register_device(struct platfor    
 28 {                                                 
 29         int ret;                                  
 30                                                   
 31         dev->dev.platform_data = data;            
 32                                                   
 33         ret = platform_device_register(dev);      
 34         if (ret)                                  
 35                 dev_err(&dev->dev, "unable to     
 36 }                                                 
 37                                                   
 38 static struct resource pxa_resource_pmu = {       
 39         .start  = IRQ_PMU,                        
 40         .end    = IRQ_PMU,                        
 41         .flags  = IORESOURCE_IRQ,                 
 42 };                                                
 43                                                   
 44 struct platform_device pxa_device_pmu = {         
 45         .name           = "xscale-pmu",           
 46         .id             = -1,                     
 47         .resource       = &pxa_resource_pmu,      
 48         .num_resources  = 1,                      
 49 };                                                
 50                                                   
 51 static const struct resource pxamci_resources[    
 52         [0] = {                                   
 53                 .start  = 0x41100000,             
 54                 .end    = 0x41100fff,             
 55                 .flags  = IORESOURCE_MEM,         
 56         },                                        
 57         [1] = {                                   
 58                 .start  = IRQ_MMC,                
 59                 .end    = IRQ_MMC,                
 60                 .flags  = IORESOURCE_IRQ,         
 61         },                                        
 62 };                                                
 63                                                   
 64 void __init pxa_set_mci_info(const struct pxam    
 65                              const struct prop    
 66 {                                                 
 67         const struct platform_device_info mci_    
 68                 .name           = "pxa2xx-mci"    
 69                 .id             = 0,              
 70                 .res            = pxamci_resou    
 71                 .num_res        = ARRAY_SIZE(p    
 72                 .data           = info,           
 73                 .size_data      = sizeof(*info    
 74                 .dma_mask       = 0xffffffffUL    
 75                 .properties     = props,          
 76         };                                        
 77         struct platform_device *mci_dev;          
 78         int err;                                  
 79                                                   
 80         mci_dev = platform_device_register_ful    
 81         err = PTR_ERR_OR_ZERO(mci_dev);           
 82         if (err)                                  
 83                 pr_err("Unable to create mci d    
 84 }                                                 
 85                                                   
 86 static struct pxa2xx_udc_mach_info pxa_udc_inf    
 87         .gpio_pullup = -1,                        
 88 };                                                
 89                                                   
 90 static struct resource pxa2xx_udc_resources[]     
 91         [0] = {                                   
 92                 .start  = 0x40600000,             
 93                 .end    = 0x4060ffff,             
 94                 .flags  = IORESOURCE_MEM,         
 95         },                                        
 96         [1] = {                                   
 97                 .start  = IRQ_USB,                
 98                 .end    = IRQ_USB,                
 99                 .flags  = IORESOURCE_IRQ,         
100         },                                        
101 };                                                
102                                                   
103 static u64 udc_dma_mask = ~(u32)0;                
104                                                   
105 struct platform_device pxa25x_device_udc = {      
106         .name           = "pxa25x-udc",           
107         .id             = -1,                     
108         .resource       = pxa2xx_udc_resources    
109         .num_resources  = ARRAY_SIZE(pxa2xx_ud    
110         .dev            =  {                      
111                 .platform_data  = &pxa_udc_inf    
112                 .dma_mask       = &udc_dma_mas    
113         }                                         
114 };                                                
115                                                   
116 struct platform_device pxa27x_device_udc = {      
117         .name           = "pxa27x-udc",           
118         .id             = -1,                     
119         .resource       = pxa2xx_udc_resources    
120         .num_resources  = ARRAY_SIZE(pxa2xx_ud    
121         .dev            =  {                      
122                 .platform_data  = &pxa_udc_inf    
123                 .dma_mask       = &udc_dma_mas    
124         }                                         
125 };                                                
126                                                   
127 static struct resource pxafb_resources[] = {      
128         [0] = {                                   
129                 .start  = 0x44000000,             
130                 .end    = 0x4400ffff,             
131                 .flags  = IORESOURCE_MEM,         
132         },                                        
133         [1] = {                                   
134                 .start  = IRQ_LCD,                
135                 .end    = IRQ_LCD,                
136                 .flags  = IORESOURCE_IRQ,         
137         },                                        
138 };                                                
139                                                   
140 static u64 fb_dma_mask = ~(u64)0;                 
141                                                   
142 struct platform_device pxa_device_fb = {          
143         .name           = "pxa2xx-fb",            
144         .id             = -1,                     
145         .dev            = {                       
146                 .dma_mask       = &fb_dma_mask    
147                 .coherent_dma_mask = 0xfffffff    
148         },                                        
149         .num_resources  = ARRAY_SIZE(pxafb_res    
150         .resource       = pxafb_resources,        
151 };                                                
152                                                   
153 void __init pxa_set_fb_info(struct device *par    
154 {                                                 
155         pxa_device_fb.dev.parent = parent;        
156         pxa_register_device(&pxa_device_fb, in    
157 }                                                 
158                                                   
159 static struct resource pxa_resource_ffuart[] =    
160         {                                         
161                 .start  = 0x40100000,             
162                 .end    = 0x40100023,             
163                 .flags  = IORESOURCE_MEM,         
164         }, {                                      
165                 .start  = IRQ_FFUART,             
166                 .end    = IRQ_FFUART,             
167                 .flags  = IORESOURCE_IRQ,         
168         }                                         
169 };                                                
170                                                   
171 struct platform_device pxa_device_ffuart = {      
172         .name           = "pxa2xx-uart",          
173         .id             = 0,                      
174         .resource       = pxa_resource_ffuart,    
175         .num_resources  = ARRAY_SIZE(pxa_resou    
176 };                                                
177                                                   
178 void __init pxa_set_ffuart_info(void *info)       
179 {                                                 
180         pxa_register_device(&pxa_device_ffuart    
181 }                                                 
182                                                   
183 static struct resource pxa_resource_btuart[] =    
184         {                                         
185                 .start  = 0x40200000,             
186                 .end    = 0x40200023,             
187                 .flags  = IORESOURCE_MEM,         
188         }, {                                      
189                 .start  = IRQ_BTUART,             
190                 .end    = IRQ_BTUART,             
191                 .flags  = IORESOURCE_IRQ,         
192         }                                         
193 };                                                
194                                                   
195 struct platform_device pxa_device_btuart = {      
196         .name           = "pxa2xx-uart",          
197         .id             = 1,                      
198         .resource       = pxa_resource_btuart,    
199         .num_resources  = ARRAY_SIZE(pxa_resou    
200 };                                                
201                                                   
202 void __init pxa_set_btuart_info(void *info)       
203 {                                                 
204         pxa_register_device(&pxa_device_btuart    
205 }                                                 
206                                                   
207 static struct resource pxa_resource_stuart[] =    
208         {                                         
209                 .start  = 0x40700000,             
210                 .end    = 0x40700023,             
211                 .flags  = IORESOURCE_MEM,         
212         }, {                                      
213                 .start  = IRQ_STUART,             
214                 .end    = IRQ_STUART,             
215                 .flags  = IORESOURCE_IRQ,         
216         }                                         
217 };                                                
218                                                   
219 struct platform_device pxa_device_stuart = {      
220         .name           = "pxa2xx-uart",          
221         .id             = 2,                      
222         .resource       = pxa_resource_stuart,    
223         .num_resources  = ARRAY_SIZE(pxa_resou    
224 };                                                
225                                                   
226 void __init pxa_set_stuart_info(void *info)       
227 {                                                 
228         pxa_register_device(&pxa_device_stuart    
229 }                                                 
230                                                   
231 static struct resource pxa_resource_hwuart[] =    
232         {                                         
233                 .start  = 0x41600000,             
234                 .end    = 0x4160002F,             
235                 .flags  = IORESOURCE_MEM,         
236         }, {                                      
237                 .start  = IRQ_HWUART,             
238                 .end    = IRQ_HWUART,             
239                 .flags  = IORESOURCE_IRQ,         
240         }                                         
241 };                                                
242                                                   
243 struct platform_device pxa_device_hwuart = {      
244         .name           = "pxa2xx-uart",          
245         .id             = 3,                      
246         .resource       = pxa_resource_hwuart,    
247         .num_resources  = ARRAY_SIZE(pxa_resou    
248 };                                                
249                                                   
250 void __init pxa_set_hwuart_info(void *info)       
251 {                                                 
252         if (cpu_is_pxa255())                      
253                 pxa_register_device(&pxa_devic    
254         else                                      
255                 pr_info("UART: Ignoring attemp    
256 }                                                 
257                                                   
258 static struct resource pxai2c_resources[] = {     
259         {                                         
260                 .start  = 0x40301680,             
261                 .end    = 0x403016a3,             
262                 .flags  = IORESOURCE_MEM,         
263         }, {                                      
264                 .start  = IRQ_I2C,                
265                 .end    = IRQ_I2C,                
266                 .flags  = IORESOURCE_IRQ,         
267         },                                        
268 };                                                
269                                                   
270 struct platform_device pxa_device_i2c = {         
271         .name           = "pxa2xx-i2c",           
272         .id             = 0,                      
273         .resource       = pxai2c_resources,       
274         .num_resources  = ARRAY_SIZE(pxai2c_re    
275 };                                                
276                                                   
277 void __init pxa_set_i2c_info(struct i2c_pxa_pl    
278 {                                                 
279         pxa_register_device(&pxa_device_i2c, i    
280 }                                                 
281                                                   
282 #ifdef CONFIG_PXA27x                              
283 static struct resource pxa27x_resources_i2c_po    
284         {                                         
285                 .start  = 0x40f00180,             
286                 .end    = 0x40f001a3,             
287                 .flags  = IORESOURCE_MEM,         
288         }, {                                      
289                 .start  = IRQ_PWRI2C,             
290                 .end    = IRQ_PWRI2C,             
291                 .flags  = IORESOURCE_IRQ,         
292         },                                        
293 };                                                
294                                                   
295 struct platform_device pxa27x_device_i2c_power    
296         .name           = "pxa2xx-i2c",           
297         .id             = 1,                      
298         .resource       = pxa27x_resources_i2c    
299         .num_resources  = ARRAY_SIZE(pxa27x_re    
300 };                                                
301 #endif                                            
302                                                   
303 static struct resource pxai2s_resources[] = {     
304         {                                         
305                 .start  = 0x40400000,             
306                 .end    = 0x40400083,             
307                 .flags  = IORESOURCE_MEM,         
308         }, {                                      
309                 .start  = IRQ_I2S,                
310                 .end    = IRQ_I2S,                
311                 .flags  = IORESOURCE_IRQ,         
312         },                                        
313 };                                                
314                                                   
315 struct platform_device pxa_device_i2s = {         
316         .name           = "pxa2xx-i2s",           
317         .id             = -1,                     
318         .resource       = pxai2s_resources,       
319         .num_resources  = ARRAY_SIZE(pxai2s_re    
320 };                                                
321                                                   
322 struct platform_device pxa_device_asoc_ssp1 =     
323         .name           = "pxa-ssp-dai",          
324         .id             = 0,                      
325 };                                                
326                                                   
327 struct platform_device pxa_device_asoc_ssp2= {    
328         .name           = "pxa-ssp-dai",          
329         .id             = 1,                      
330 };                                                
331                                                   
332 struct platform_device pxa_device_asoc_ssp3 =     
333         .name           = "pxa-ssp-dai",          
334         .id             = 2,                      
335 };                                                
336                                                   
337 struct platform_device pxa_device_asoc_ssp4 =     
338         .name           = "pxa-ssp-dai",          
339         .id             = 3,                      
340 };                                                
341                                                   
342 struct platform_device pxa_device_asoc_platfor    
343         .name           = "pxa-pcm-audio",        
344         .id             = -1,                     
345 };                                                
346                                                   
347 static struct resource pxa_rtc_resources[] = {    
348         [0] = {                                   
349                 .start  = 0x40900000,             
350                 .end    = 0x40900000 + 0x3b,      
351                 .flags  = IORESOURCE_MEM,         
352         },                                        
353         [1] = {                                   
354                 .start  = IRQ_RTC1Hz,             
355                 .end    = IRQ_RTC1Hz,             
356                 .name   = "rtc 1Hz",              
357                 .flags  = IORESOURCE_IRQ,         
358         },                                        
359         [2] = {                                   
360                 .start  = IRQ_RTCAlrm,            
361                 .end    = IRQ_RTCAlrm,            
362                 .name   = "rtc alarm",            
363                 .flags  = IORESOURCE_IRQ,         
364         },                                        
365 };                                                
366                                                   
367 struct platform_device pxa_device_rtc = {         
368         .name           = "pxa-rtc",              
369         .id             = -1,                     
370         .num_resources  = ARRAY_SIZE(pxa_rtc_r    
371         .resource       = pxa_rtc_resources,      
372 };                                                
373                                                   
374 struct platform_device sa1100_device_rtc = {      
375         .name           = "sa1100-rtc",           
376         .id             = -1,                     
377         .num_resources  = ARRAY_SIZE(pxa_rtc_r    
378         .resource       = pxa_rtc_resources,      
379 };                                                
380                                                   
381 #ifdef CONFIG_PXA25x                              
382                                                   
383 static struct resource pxa25x_resource_pwm0[]     
384         [0] = {                                   
385                 .start  = 0x40b00000,             
386                 .end    = 0x40b0000f,             
387                 .flags  = IORESOURCE_MEM,         
388         },                                        
389 };                                                
390                                                   
391 struct platform_device pxa25x_device_pwm0 = {     
392         .name           = "pxa25x-pwm",           
393         .id             = 0,                      
394         .resource       = pxa25x_resource_pwm0    
395         .num_resources  = ARRAY_SIZE(pxa25x_re    
396 };                                                
397                                                   
398 static struct resource pxa25x_resource_pwm1[]     
399         [0] = {                                   
400                 .start  = 0x40c00000,             
401                 .end    = 0x40c0000f,             
402                 .flags  = IORESOURCE_MEM,         
403         },                                        
404 };                                                
405                                                   
406 struct platform_device pxa25x_device_pwm1 = {     
407         .name           = "pxa25x-pwm",           
408         .id             = 1,                      
409         .resource       = pxa25x_resource_pwm1    
410         .num_resources  = ARRAY_SIZE(pxa25x_re    
411 };                                                
412                                                   
413 static u64 pxa25x_ssp_dma_mask = DMA_BIT_MASK(    
414                                                   
415 static struct resource pxa25x_resource_ssp[] =    
416         [0] = {                                   
417                 .start  = 0x41000000,             
418                 .end    = 0x4100001f,             
419                 .flags  = IORESOURCE_MEM,         
420         },                                        
421         [1] = {                                   
422                 .start  = IRQ_SSP,                
423                 .end    = IRQ_SSP,                
424                 .flags  = IORESOURCE_IRQ,         
425         },                                        
426 };                                                
427                                                   
428 struct platform_device pxa25x_device_ssp = {      
429         .name           = "pxa25x-ssp",           
430         .id             = 0,                      
431         .dev            = {                       
432                 .dma_mask = &pxa25x_ssp_dma_ma    
433                 .coherent_dma_mask = DMA_BIT_M    
434         },                                        
435         .resource       = pxa25x_resource_ssp,    
436         .num_resources  = ARRAY_SIZE(pxa25x_re    
437 };                                                
438                                                   
439 static u64 pxa25x_nssp_dma_mask = DMA_BIT_MASK    
440                                                   
441 static struct resource pxa25x_resource_nssp[]     
442         [0] = {                                   
443                 .start  = 0x41400000,             
444                 .end    = 0x4140002f,             
445                 .flags  = IORESOURCE_MEM,         
446         },                                        
447         [1] = {                                   
448                 .start  = IRQ_NSSP,               
449                 .end    = IRQ_NSSP,               
450                 .flags  = IORESOURCE_IRQ,         
451         },                                        
452 };                                                
453                                                   
454 struct platform_device pxa25x_device_nssp = {     
455         .name           = "pxa25x-nssp",          
456         .id             = 1,                      
457         .dev            = {                       
458                 .dma_mask = &pxa25x_nssp_dma_m    
459                 .coherent_dma_mask = DMA_BIT_M    
460         },                                        
461         .resource       = pxa25x_resource_nssp    
462         .num_resources  = ARRAY_SIZE(pxa25x_re    
463 };                                                
464                                                   
465 static u64 pxa25x_assp_dma_mask = DMA_BIT_MASK    
466                                                   
467 static struct resource pxa25x_resource_assp[]     
468         [0] = {                                   
469                 .start  = 0x41500000,             
470                 .end    = 0x4150002f,             
471                 .flags  = IORESOURCE_MEM,         
472         },                                        
473         [1] = {                                   
474                 .start  = IRQ_ASSP,               
475                 .end    = IRQ_ASSP,               
476                 .flags  = IORESOURCE_IRQ,         
477         },                                        
478 };                                                
479                                                   
480 struct platform_device pxa25x_device_assp = {     
481         /* ASSP is basically equivalent to NSS    
482         .name           = "pxa25x-nssp",          
483         .id             = 2,                      
484         .dev            = {                       
485                 .dma_mask = &pxa25x_assp_dma_m    
486                 .coherent_dma_mask = DMA_BIT_M    
487         },                                        
488         .resource       = pxa25x_resource_assp    
489         .num_resources  = ARRAY_SIZE(pxa25x_re    
490 };                                                
491 #endif /* CONFIG_PXA25x */                        
492                                                   
493 #if defined(CONFIG_PXA27x) || defined(CONFIG_P    
494 static u64 pxa27x_ohci_dma_mask = DMA_BIT_MASK    
495                                                   
496 static struct resource pxa27x_resource_ohci[]     
497         [0] = {                                   
498                 .start  = 0x4C000000,             
499                 .end    = 0x4C00ff6f,             
500                 .flags  = IORESOURCE_MEM,         
501         },                                        
502         [1] = {                                   
503                 .start  = IRQ_USBH1,              
504                 .end    = IRQ_USBH1,              
505                 .flags  = IORESOURCE_IRQ,         
506         },                                        
507 };                                                
508                                                   
509 struct platform_device pxa27x_device_ohci = {     
510         .name           = "pxa27x-ohci",          
511         .id             = -1,                     
512         .dev            = {                       
513                 .dma_mask = &pxa27x_ohci_dma_m    
514                 .coherent_dma_mask = DMA_BIT_M    
515         },                                        
516         .num_resources  = ARRAY_SIZE(pxa27x_re    
517         .resource       = pxa27x_resource_ohci    
518 };                                                
519                                                   
520 void __init pxa_set_ohci_info(struct pxaohci_p    
521 {                                                 
522         pxa_register_device(&pxa27x_device_ohc    
523 }                                                 
524 #endif /* CONFIG_PXA27x || CONFIG_PXA3xx */       
525                                                   
526 #if defined(CONFIG_PXA27x) || defined(CONFIG_P    
527 static u64 pxa27x_ssp1_dma_mask = DMA_BIT_MASK    
528                                                   
529 static struct resource pxa27x_resource_ssp1[]     
530         [0] = {                                   
531                 .start  = 0x41000000,             
532                 .end    = 0x4100003f,             
533                 .flags  = IORESOURCE_MEM,         
534         },                                        
535         [1] = {                                   
536                 .start  = IRQ_SSP,                
537                 .end    = IRQ_SSP,                
538                 .flags  = IORESOURCE_IRQ,         
539         },                                        
540 };                                                
541                                                   
542 struct platform_device pxa27x_device_ssp1 = {     
543         .name           = "pxa27x-ssp",           
544         .id             = 0,                      
545         .dev            = {                       
546                 .dma_mask = &pxa27x_ssp1_dma_m    
547                 .coherent_dma_mask = DMA_BIT_M    
548         },                                        
549         .resource       = pxa27x_resource_ssp1    
550         .num_resources  = ARRAY_SIZE(pxa27x_re    
551 };                                                
552                                                   
553 static u64 pxa27x_ssp2_dma_mask = DMA_BIT_MASK    
554                                                   
555 static struct resource pxa27x_resource_ssp2[]     
556         [0] = {                                   
557                 .start  = 0x41700000,             
558                 .end    = 0x4170003f,             
559                 .flags  = IORESOURCE_MEM,         
560         },                                        
561         [1] = {                                   
562                 .start  = IRQ_SSP2,               
563                 .end    = IRQ_SSP2,               
564                 .flags  = IORESOURCE_IRQ,         
565         },                                        
566 };                                                
567                                                   
568 struct platform_device pxa27x_device_ssp2 = {     
569         .name           = "pxa27x-ssp",           
570         .id             = 1,                      
571         .dev            = {                       
572                 .dma_mask = &pxa27x_ssp2_dma_m    
573                 .coherent_dma_mask = DMA_BIT_M    
574         },                                        
575         .resource       = pxa27x_resource_ssp2    
576         .num_resources  = ARRAY_SIZE(pxa27x_re    
577 };                                                
578                                                   
579 static u64 pxa27x_ssp3_dma_mask = DMA_BIT_MASK    
580                                                   
581 static struct resource pxa27x_resource_ssp3[]     
582         [0] = {                                   
583                 .start  = 0x41900000,             
584                 .end    = 0x4190003f,             
585                 .flags  = IORESOURCE_MEM,         
586         },                                        
587         [1] = {                                   
588                 .start  = IRQ_SSP3,               
589                 .end    = IRQ_SSP3,               
590                 .flags  = IORESOURCE_IRQ,         
591         },                                        
592 };                                                
593                                                   
594 struct platform_device pxa27x_device_ssp3 = {     
595         .name           = "pxa27x-ssp",           
596         .id             = 2,                      
597         .dev            = {                       
598                 .dma_mask = &pxa27x_ssp3_dma_m    
599                 .coherent_dma_mask = DMA_BIT_M    
600         },                                        
601         .resource       = pxa27x_resource_ssp3    
602         .num_resources  = ARRAY_SIZE(pxa27x_re    
603 };                                                
604                                                   
605 static struct resource pxa27x_resource_pwm0[]     
606         [0] = {                                   
607                 .start  = 0x40b00000,             
608                 .end    = 0x40b0001f,             
609                 .flags  = IORESOURCE_MEM,         
610         },                                        
611 };                                                
612                                                   
613 struct platform_device pxa27x_device_pwm0 = {     
614         .name           = "pxa27x-pwm",           
615         .id             = 0,                      
616         .resource       = pxa27x_resource_pwm0    
617         .num_resources  = ARRAY_SIZE(pxa27x_re    
618 };                                                
619                                                   
620 static struct resource pxa27x_resource_pwm1[]     
621         [0] = {                                   
622                 .start  = 0x40c00000,             
623                 .end    = 0x40c0001f,             
624                 .flags  = IORESOURCE_MEM,         
625         },                                        
626 };                                                
627                                                   
628 struct platform_device pxa27x_device_pwm1 = {     
629         .name           = "pxa27x-pwm",           
630         .id             = 1,                      
631         .resource       = pxa27x_resource_pwm1    
632         .num_resources  = ARRAY_SIZE(pxa27x_re    
633 };                                                
634 #endif /* CONFIG_PXA27x || CONFIG_PXA3xx */       
635                                                   
636 #if defined(CONFIG_PXA25x) || defined(CONFIG_P    
637 const struct software_node pxa2xx_gpiochip_nod    
638         .name   = "gpio-pxa",                     
639 };                                                
640                                                   
641 struct resource pxa_resource_gpio[] = {           
642         {                                         
643                 .start  = 0x40e00000,             
644                 .end    = 0x40e0ffff,             
645                 .flags  = IORESOURCE_MEM,         
646         }, {                                      
647                 .start  = IRQ_GPIO0,              
648                 .end    = IRQ_GPIO0,              
649                 .name   = "gpio0",                
650                 .flags  = IORESOURCE_IRQ,         
651         }, {                                      
652                 .start  = IRQ_GPIO1,              
653                 .end    = IRQ_GPIO1,              
654                 .name   = "gpio1",                
655                 .flags  = IORESOURCE_IRQ,         
656         }, {                                      
657                 .start  = IRQ_GPIO_2_x,           
658                 .end    = IRQ_GPIO_2_x,           
659                 .name   = "gpio_mux",             
660                 .flags  = IORESOURCE_IRQ,         
661         },                                        
662 };                                                
663                                                   
664 static struct pxa_gpio_platform_data pxa2xx_gp    
665         .irq_base       = PXA_GPIO_TO_IRQ(0),     
666         .gpio_set_wake  = gpio_set_wake,          
667 };                                                
668                                                   
669 struct platform_device pxa25x_device_gpio = {     
670         .name           = "pxa25x-gpio",          
671         .id             = -1,                     
672         .num_resources  = ARRAY_SIZE(pxa_resou    
673         .resource       = pxa_resource_gpio,      
674         .dev            = {                       
675                 .platform_data  = &pxa2xx_gpio    
676         },                                        
677 };                                                
678                                                   
679 struct platform_device pxa27x_device_gpio = {     
680         .name           = "pxa27x-gpio",          
681         .id             = -1,                     
682         .num_resources  = ARRAY_SIZE(pxa_resou    
683         .resource       = pxa_resource_gpio,      
684         .dev            = {                       
685                 .platform_data  = &pxa2xx_gpio    
686         },                                        
687 };                                                
688 #endif /* CONFIG_PXA25x || CONFIG_PXA27x */       
689                                                   
690 static struct resource pxa_dma_resource[] = {     
691         [0] = {                                   
692                 .start  = 0x40000000,             
693                 .end    = 0x4000ffff,             
694                 .flags  = IORESOURCE_MEM,         
695         },                                        
696         [1] = {                                   
697                 .start  = IRQ_DMA,                
698                 .end    = IRQ_DMA,                
699                 .flags  = IORESOURCE_IRQ,         
700         },                                        
701 };                                                
702                                                   
703 static u64 pxadma_dmamask = 0xffffffffUL;         
704                                                   
705 static struct platform_device pxa2xx_pxa_dma =    
706         .name           = "pxa-dma",              
707         .id             = 0,                      
708         .dev            = {                       
709                 .dma_mask = &pxadma_dmamask,      
710                 .coherent_dma_mask = 0xfffffff    
711         },                                        
712         .num_resources  = ARRAY_SIZE(pxa_dma_r    
713         .resource       = pxa_dma_resource,       
714 };                                                
715                                                   
716 void __init pxa2xx_set_dmac_info(struct mmp_dm    
717 {                                                 
718         pxa_register_device(&pxa2xx_pxa_dma, d    
719 }                                                 
720                                                   
721 void __init pxa_register_wdt(unsigned int rese    
722 {                                                 
723         struct resource res = DEFINE_RES_MEM(O    
724                                                   
725         reset_status &= RESET_STATUS_WATCHDOG;    
726         platform_device_register_resndata(NULL    
727                                           &res    
728 }                                                 
729                                                   

~ [ 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