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

TOMOYO Linux Cross Reference
Linux/arch/sh/kernel/cpu/sh4a/setup-sh7780.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/sh/kernel/cpu/sh4a/setup-sh7780.c (Version linux-6.12-rc7) and /arch/i386/kernel/cpu/sh4a/setup-sh7780.c (Version linux-5.3.18)


  1 // SPDX-License-Identifier: GPL-2.0                 1 
  2 /*                                                
  3  * SH7780 Setup                                   
  4  *                                                
  5  *  Copyright (C) 2006  Paul Mundt                
  6  */                                               
  7 #include <linux/platform_device.h>                
  8 #include <linux/init.h>                           
  9 #include <linux/serial.h>                         
 10 #include <linux/io.h>                             
 11 #include <linux/serial_sci.h>                     
 12 #include <linux/sh_dma.h>                         
 13 #include <linux/sh_timer.h>                       
 14 #include <linux/sh_intc.h>                        
 15 #include <cpu/dma-register.h>                     
 16 #include <asm/platform_early.h>                   
 17                                                   
 18 static struct plat_sci_port scif0_platform_dat    
 19         .scscr          = SCSCR_REIE | SCSCR_C    
 20         .type           = PORT_SCIF,              
 21         .regtype        = SCIx_SH4_SCIF_FIFODA    
 22 };                                                
 23                                                   
 24 static struct resource scif0_resources[] = {      
 25         DEFINE_RES_MEM(0xffe00000, 0x100),        
 26         DEFINE_RES_IRQ(evt2irq(0x700)),           
 27 };                                                
 28                                                   
 29 static struct platform_device scif0_device = {    
 30         .name           = "sh-sci",               
 31         .id             = 0,                      
 32         .resource       = scif0_resources,        
 33         .num_resources  = ARRAY_SIZE(scif0_res    
 34         .dev            = {                       
 35                 .platform_data  = &scif0_platf    
 36         },                                        
 37 };                                                
 38                                                   
 39 static struct plat_sci_port scif1_platform_dat    
 40         .scscr          = SCSCR_REIE | SCSCR_C    
 41         .type           = PORT_SCIF,              
 42         .regtype        = SCIx_SH4_SCIF_FIFODA    
 43 };                                                
 44                                                   
 45 static struct resource scif1_resources[] = {      
 46         DEFINE_RES_MEM(0xffe10000, 0x100),        
 47         DEFINE_RES_IRQ(evt2irq(0xb80)),           
 48 };                                                
 49                                                   
 50 static struct platform_device scif1_device = {    
 51         .name           = "sh-sci",               
 52         .id             = 1,                      
 53         .resource       = scif1_resources,        
 54         .num_resources  = ARRAY_SIZE(scif1_res    
 55         .dev            = {                       
 56                 .platform_data  = &scif1_platf    
 57         },                                        
 58 };                                                
 59                                                   
 60 static struct sh_timer_config tmu0_platform_da    
 61         .channels_mask = 7,                       
 62 };                                                
 63                                                   
 64 static struct resource tmu0_resources[] = {       
 65         DEFINE_RES_MEM(0xffd80000, 0x30),         
 66         DEFINE_RES_IRQ(evt2irq(0x580)),           
 67         DEFINE_RES_IRQ(evt2irq(0x5a0)),           
 68         DEFINE_RES_IRQ(evt2irq(0x5c0)),           
 69 };                                                
 70                                                   
 71 static struct platform_device tmu0_device = {     
 72         .name           = "sh-tmu",               
 73         .id             = 0,                      
 74         .dev = {                                  
 75                 .platform_data  = &tmu0_platfo    
 76         },                                        
 77         .resource       = tmu0_resources,         
 78         .num_resources  = ARRAY_SIZE(tmu0_reso    
 79 };                                                
 80                                                   
 81 static struct sh_timer_config tmu1_platform_da    
 82         .channels_mask = 7,                       
 83 };                                                
 84                                                   
 85 static struct resource tmu1_resources[] = {       
 86         DEFINE_RES_MEM(0xffdc0000, 0x2c),         
 87         DEFINE_RES_IRQ(evt2irq(0xe00)),           
 88         DEFINE_RES_IRQ(evt2irq(0xe20)),           
 89         DEFINE_RES_IRQ(evt2irq(0xe40)),           
 90 };                                                
 91                                                   
 92 static struct platform_device tmu1_device = {     
 93         .name           = "sh-tmu",               
 94         .id             = 1,                      
 95         .dev = {                                  
 96                 .platform_data  = &tmu1_platfo    
 97         },                                        
 98         .resource       = tmu1_resources,         
 99         .num_resources  = ARRAY_SIZE(tmu1_reso    
100 };                                                
101                                                   
102 static struct resource rtc_resources[] = {        
103         [0] = {                                   
104                 .start  = 0xffe80000,             
105                 .end    = 0xffe80000 + 0x58 -     
106                 .flags  = IORESOURCE_IO,          
107         },                                        
108         [1] = {                                   
109                 /* Shared Period/Carry/Alarm I    
110                 .start  = evt2irq(0x480),         
111                 .flags  = IORESOURCE_IRQ,         
112         },                                        
113 };                                                
114                                                   
115 static struct platform_device rtc_device = {      
116         .name           = "sh-rtc",               
117         .id             = -1,                     
118         .num_resources  = ARRAY_SIZE(rtc_resou    
119         .resource       = rtc_resources,          
120 };                                                
121                                                   
122 /* DMA */                                         
123 static const struct sh_dmae_channel sh7780_dma    
124         {                                         
125                 .offset = 0,                      
126                 .dmars = 0,                       
127                 .dmars_bit = 0,                   
128         }, {                                      
129                 .offset = 0x10,                   
130                 .dmars = 0,                       
131                 .dmars_bit = 8,                   
132         }, {                                      
133                 .offset = 0x20,                   
134                 .dmars = 4,                       
135                 .dmars_bit = 0,                   
136         }, {                                      
137                 .offset = 0x30,                   
138                 .dmars = 4,                       
139                 .dmars_bit = 8,                   
140         }, {                                      
141                 .offset = 0x50,                   
142                 .dmars = 8,                       
143                 .dmars_bit = 0,                   
144         }, {                                      
145                 .offset = 0x60,                   
146                 .dmars = 8,                       
147                 .dmars_bit = 8,                   
148         }                                         
149 };                                                
150                                                   
151 static const struct sh_dmae_channel sh7780_dma    
152         {                                         
153                 .offset = 0,                      
154         }, {                                      
155                 .offset = 0x10,                   
156         }, {                                      
157                 .offset = 0x20,                   
158         }, {                                      
159                 .offset = 0x30,                   
160         }, {                                      
161                 .offset = 0x50,                   
162         }, {                                      
163                 .offset = 0x60,                   
164         }                                         
165 };                                                
166                                                   
167 static const unsigned int ts_shift[] = TS_SHIF    
168                                                   
169 static struct sh_dmae_pdata dma0_platform_data    
170         .channel        = sh7780_dmae0_channel    
171         .channel_num    = ARRAY_SIZE(sh7780_dm    
172         .ts_low_shift   = CHCR_TS_LOW_SHIFT,      
173         .ts_low_mask    = CHCR_TS_LOW_MASK,       
174         .ts_high_shift  = CHCR_TS_HIGH_SHIFT,     
175         .ts_high_mask   = CHCR_TS_HIGH_MASK,      
176         .ts_shift       = ts_shift,               
177         .ts_shift_num   = ARRAY_SIZE(ts_shift)    
178         .dmaor_init     = DMAOR_INIT,             
179 };                                                
180                                                   
181 static struct sh_dmae_pdata dma1_platform_data    
182         .channel        = sh7780_dmae1_channel    
183         .channel_num    = ARRAY_SIZE(sh7780_dm    
184         .ts_low_shift   = CHCR_TS_LOW_SHIFT,      
185         .ts_low_mask    = CHCR_TS_LOW_MASK,       
186         .ts_high_shift  = CHCR_TS_HIGH_SHIFT,     
187         .ts_high_mask   = CHCR_TS_HIGH_MASK,      
188         .ts_shift       = ts_shift,               
189         .ts_shift_num   = ARRAY_SIZE(ts_shift)    
190         .dmaor_init     = DMAOR_INIT,             
191 };                                                
192                                                   
193 static struct resource sh7780_dmae0_resources[    
194         [0] = {                                   
195                 /* Channel registers and DMAOR    
196                 .start  = 0xfc808020,             
197                 .end    = 0xfc80808f,             
198                 .flags  = IORESOURCE_MEM,         
199         },                                        
200         [1] = {                                   
201                 /* DMARSx */                      
202                 .start  = 0xfc809000,             
203                 .end    = 0xfc80900b,             
204                 .flags  = IORESOURCE_MEM,         
205         },                                        
206         {                                         
207                 /*                                
208                  * Real DMA error vector is 0x    
209                  * vectors are 0x640-0x6a0, 0x    
210                  */                               
211                 .name   = "error_irq",            
212                 .start  = evt2irq(0x640),         
213                 .end    = evt2irq(0x640),         
214                 .flags  = IORESOURCE_IRQ | IOR    
215         },                                        
216 };                                                
217                                                   
218 static struct resource sh7780_dmae1_resources[    
219         [0] = {                                   
220                 /* Channel registers and DMAOR    
221                 .start  = 0xfc818020,             
222                 .end    = 0xfc81808f,             
223                 .flags  = IORESOURCE_MEM,         
224         },                                        
225         /* DMAC1 has no DMARS */                  
226         {                                         
227                 /*                                
228                  * Real DMA error vector is 0x    
229                  * vectors are 0x7c0-0x7e0, 0x    
230                  */                               
231                 .name   = "error_irq",            
232                 .start  = evt2irq(0x7c0),         
233                 .end    = evt2irq(0x7c0),         
234                 .flags  = IORESOURCE_IRQ | IOR    
235         },                                        
236 };                                                
237                                                   
238 static struct platform_device dma0_device = {     
239         .name           = "sh-dma-engine",        
240         .id             = 0,                      
241         .resource       = sh7780_dmae0_resourc    
242         .num_resources  = ARRAY_SIZE(sh7780_dm    
243         .dev            = {                       
244                 .platform_data  = &dma0_platfo    
245         },                                        
246 };                                                
247                                                   
248 static struct platform_device dma1_device = {     
249         .name           = "sh-dma-engine",        
250         .id             = 1,                      
251         .resource       = sh7780_dmae1_resourc    
252         .num_resources  = ARRAY_SIZE(sh7780_dm    
253         .dev            = {                       
254                 .platform_data  = &dma1_platfo    
255         },                                        
256 };                                                
257                                                   
258 static struct platform_device *sh7780_devices[    
259         &scif0_device,                            
260         &scif1_device,                            
261         &tmu0_device,                             
262         &tmu1_device,                             
263         &rtc_device,                              
264         &dma0_device,                             
265         &dma1_device,                             
266 };                                                
267                                                   
268 static int __init sh7780_devices_setup(void)      
269 {                                                 
270         return platform_add_devices(sh7780_dev    
271                                     ARRAY_SIZE    
272 }                                                 
273 arch_initcall(sh7780_devices_setup);              
274                                                   
275 static struct platform_device *sh7780_early_de    
276         &scif0_device,                            
277         &scif1_device,                            
278         &tmu0_device,                             
279         &tmu1_device,                             
280 };                                                
281                                                   
282 void __init plat_early_device_setup(void)         
283 {                                                 
284         if (mach_is_sh2007()) {                   
285                 scif0_platform_data.scscr &= ~    
286                 scif1_platform_data.scscr &= ~    
287         }                                         
288                                                   
289         sh_early_platform_add_devices(sh7780_e    
290                                    ARRAY_SIZE(    
291 }                                                 
292                                                   
293 enum {                                            
294         UNUSED = 0,                               
295                                                   
296         /* interrupt sources */                   
297                                                   
298         IRL_LLLL, IRL_LLLH, IRL_LLHL, IRL_LLHH    
299         IRL_LHLL, IRL_LHLH, IRL_LHHL, IRL_LHHH    
300         IRL_HLLL, IRL_HLLH, IRL_HLHL, IRL_HLHH    
301         IRL_HHLL, IRL_HHLH, IRL_HHHL,             
302                                                   
303         IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5, IR    
304         RTC, WDT, TMU0, TMU1, TMU2, TMU2_TICPI    
305         HUDI, DMAC0, SCIF0, DMAC1, CMT, HAC,      
306         PCISERR, PCIINTA, PCIINTB, PCIINTC, PC    
307         SCIF1, SIOF, HSPI, MMCIF, TMU3, TMU4,     
308                                                   
309         /* interrupt groups */                    
310                                                   
311         TMU012, TMU345,                           
312 };                                                
313                                                   
314 static struct intc_vect vectors[] __initdata =    
315         INTC_VECT(RTC, 0x480), INTC_VECT(RTC,     
316         INTC_VECT(RTC, 0x4c0),                    
317         INTC_VECT(WDT, 0x560),                    
318         INTC_VECT(TMU0, 0x580), INTC_VECT(TMU1    
319         INTC_VECT(TMU2, 0x5c0), INTC_VECT(TMU2    
320         INTC_VECT(HUDI, 0x600),                   
321         INTC_VECT(DMAC0, 0x640), INTC_VECT(DMA    
322         INTC_VECT(DMAC0, 0x680), INTC_VECT(DMA    
323         INTC_VECT(DMAC0, 0x6c0),                  
324         INTC_VECT(SCIF0, 0x700), INTC_VECT(SCI    
325         INTC_VECT(SCIF0, 0x740), INTC_VECT(SCI    
326         INTC_VECT(DMAC0, 0x780), INTC_VECT(DMA    
327         INTC_VECT(DMAC1, 0x7c0), INTC_VECT(DMA    
328         INTC_VECT(CMT, 0x900), INTC_VECT(HAC,     
329         INTC_VECT(PCISERR, 0xa00), INTC_VECT(P    
330         INTC_VECT(PCIINTB, 0xa40), INTC_VECT(P    
331         INTC_VECT(PCIINTD, 0xa80), INTC_VECT(P    
332         INTC_VECT(PCIC5, 0xac0), INTC_VECT(PCI    
333         INTC_VECT(PCIC5, 0xb00), INTC_VECT(PCI    
334         INTC_VECT(SCIF1, 0xb80), INTC_VECT(SCI    
335         INTC_VECT(SCIF1, 0xbc0), INTC_VECT(SCI    
336         INTC_VECT(SIOF, 0xc00), INTC_VECT(HSPI    
337         INTC_VECT(MMCIF, 0xd00), INTC_VECT(MMC    
338         INTC_VECT(MMCIF, 0xd40), INTC_VECT(MMC    
339         INTC_VECT(DMAC1, 0xd80), INTC_VECT(DMA    
340         INTC_VECT(DMAC1, 0xdc0), INTC_VECT(DMA    
341         INTC_VECT(TMU3, 0xe00), INTC_VECT(TMU4    
342         INTC_VECT(TMU5, 0xe40),                   
343         INTC_VECT(SSI, 0xe80),                    
344         INTC_VECT(FLCTL, 0xf00), INTC_VECT(FLC    
345         INTC_VECT(FLCTL, 0xf40), INTC_VECT(FLC    
346         INTC_VECT(GPIO, 0xf80), INTC_VECT(GPIO    
347         INTC_VECT(GPIO, 0xfc0), INTC_VECT(GPIO    
348 };                                                
349                                                   
350 static struct intc_group groups[] __initdata =    
351         INTC_GROUP(TMU012, TMU0, TMU1, TMU2, T    
352         INTC_GROUP(TMU345, TMU3, TMU4, TMU5),     
353 };                                                
354                                                   
355 static struct intc_mask_reg mask_registers[] _    
356         { 0xffd40038, 0xffd4003c, 32, /* INT2M    
357           { 0, 0, 0, 0, 0, 0, GPIO, FLCTL,        
358             SSI, MMCIF, HSPI, SIOF, PCIC5, PCI    
359             PCIINTA, PCISERR, HAC, CMT, 0, 0,     
360             HUDI, 0, WDT, SCIF1, SCIF0, RTC, T    
361 };                                                
362                                                   
363 static struct intc_prio_reg prio_registers[] _    
364         { 0xffd40000, 0, 32, 8, /* INT2PRI0 */    
365                                                   
366         { 0xffd40004, 0, 32, 8, /* INT2PRI1 */    
367         { 0xffd40008, 0, 32, 8, /* INT2PRI2 */    
368         { 0xffd4000c, 0, 32, 8, /* INT2PRI3 */    
369         { 0xffd40010, 0, 32, 8, /* INT2PRI4 */    
370                                                   
371         { 0xffd40014, 0, 32, 8, /* INT2PRI5 */    
372                                                   
373         { 0xffd40018, 0, 32, 8, /* INT2PRI6 */    
374         { 0xffd4001c, 0, 32, 8, /* INT2PRI7 */    
375 };                                                
376                                                   
377 static DECLARE_INTC_DESC(intc_desc, "sh7780",     
378                          mask_registers, prio_    
379                                                   
380 /* Support for external interrupt pins in IRQ     
381                                                   
382 static struct intc_vect irq_vectors[] __initda    
383         INTC_VECT(IRQ0, 0x240), INTC_VECT(IRQ1    
384         INTC_VECT(IRQ2, 0x2c0), INTC_VECT(IRQ3    
385         INTC_VECT(IRQ4, 0x340), INTC_VECT(IRQ5    
386         INTC_VECT(IRQ6, 0x3c0), INTC_VECT(IRQ7    
387 };                                                
388                                                   
389 static struct intc_mask_reg irq_mask_registers    
390         { 0xffd00044, 0xffd00064, 32, /* INTMS    
391           { IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5    
392 };                                                
393                                                   
394 static struct intc_prio_reg irq_prio_registers    
395         { 0xffd00010, 0, 32, 4, /* INTPRI */ {    
396                                                   
397 };                                                
398                                                   
399 static struct intc_sense_reg irq_sense_registe    
400         { 0xffd0001c, 32, 2, /* ICR1 */   { IR    
401                                             IR    
402 };                                                
403                                                   
404 static struct intc_mask_reg irq_ack_registers[    
405         { 0xffd00024, 0, 32, /* INTREQ */         
406           { IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5    
407 };                                                
408                                                   
409 static DECLARE_INTC_DESC_ACK(intc_irq_desc, "s    
410                              NULL, irq_mask_re    
411                              irq_sense_registe    
412                                                   
413 /* External interrupt pins in IRL mode */         
414                                                   
415 static struct intc_vect irl_vectors[] __initda    
416         INTC_VECT(IRL_LLLL, 0x200), INTC_VECT(    
417         INTC_VECT(IRL_LLHL, 0x240), INTC_VECT(    
418         INTC_VECT(IRL_LHLL, 0x280), INTC_VECT(    
419         INTC_VECT(IRL_LHHL, 0x2c0), INTC_VECT(    
420         INTC_VECT(IRL_HLLL, 0x300), INTC_VECT(    
421         INTC_VECT(IRL_HLHL, 0x340), INTC_VECT(    
422         INTC_VECT(IRL_HHLL, 0x380), INTC_VECT(    
423         INTC_VECT(IRL_HHHL, 0x3c0),               
424 };                                                
425                                                   
426 static struct intc_mask_reg irl3210_mask_regis    
427         { 0xffd40080, 0xffd40084, 32, /* INTMS    
428           { IRL_LLLL, IRL_LLLH, IRL_LLHL, IRL_    
429             IRL_LHLL, IRL_LHLH, IRL_LHHL, IRL_    
430             IRL_HLLL, IRL_HLLH, IRL_HLHL, IRL_    
431             IRL_HHLL, IRL_HHLH, IRL_HHHL, } },    
432 };                                                
433                                                   
434 static struct intc_mask_reg irl7654_mask_regis    
435         { 0xffd40080, 0xffd40084, 32, /* INTMS    
436           { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0    
437             IRL_LLLL, IRL_LLLH, IRL_LLHL, IRL_    
438             IRL_LHLL, IRL_LHLH, IRL_LHHL, IRL_    
439             IRL_HLLL, IRL_HLLH, IRL_HLHL, IRL_    
440             IRL_HHLL, IRL_HHLH, IRL_HHHL, } },    
441 };                                                
442                                                   
443 static DECLARE_INTC_DESC(intc_irl7654_desc, "s    
444                          NULL, irl7654_mask_re    
445                                                   
446 static DECLARE_INTC_DESC(intc_irl3210_desc, "s    
447                          NULL, irl3210_mask_re    
448                                                   
449 #define INTC_ICR0       0xffd00000                
450 #define INTC_INTMSK0    0xffd00044                
451 #define INTC_INTMSK1    0xffd00048                
452 #define INTC_INTMSK2    0xffd40080                
453 #define INTC_INTMSKCLR1 0xffd00068                
454 #define INTC_INTMSKCLR2 0xffd40084                
455                                                   
456 void __init plat_irq_setup(void)                  
457 {                                                 
458         /* disable IRQ7-0 */                      
459         __raw_writel(0xff000000, INTC_INTMSK0)    
460                                                   
461         /* disable IRL3-0 + IRL7-4 */             
462         __raw_writel(0xc0000000, INTC_INTMSK1)    
463         __raw_writel(0xfffefffe, INTC_INTMSK2)    
464                                                   
465         /* select IRL mode for IRL3-0 + IRL7-4    
466         __raw_writel(__raw_readl(INTC_ICR0) &     
467                                                   
468         /* disable holding function, ie enable    
469         __raw_writel(__raw_readl(INTC_ICR0) |     
470                                                   
471         register_intc_controller(&intc_desc);     
472 }                                                 
473                                                   
474 void __init plat_irq_setup_pins(int mode)         
475 {                                                 
476         switch (mode) {                           
477         case IRQ_MODE_IRQ:                        
478                 /* select IRQ mode for IRL3-0     
479                 __raw_writel(__raw_readl(INTC_    
480                 register_intc_controller(&intc    
481                 break;                            
482         case IRQ_MODE_IRL7654:                    
483                 /* enable IRL7-4 but don't pro    
484                 __raw_writel(0x40000000, INTC_    
485                 __raw_writel(0x0000fffe, INTC_    
486                 break;                            
487         case IRQ_MODE_IRL3210:                    
488                 /* enable IRL0-3 but don't pro    
489                 __raw_writel(0x80000000, INTC_    
490                 __raw_writel(0xfffe0000, INTC_    
491                 break;                            
492         case IRQ_MODE_IRL7654_MASK:               
493                 /* enable IRL7-4 and mask usin    
494                 __raw_writel(0x40000000, INTC_    
495                 register_intc_controller(&intc    
496                 break;                            
497         case IRQ_MODE_IRL3210_MASK:               
498                 /* enable IRL0-3 and mask usin    
499                 __raw_writel(0x80000000, INTC_    
500                 register_intc_controller(&intc    
501                 break;                            
502         default:                                  
503                 BUG();                            
504         }                                         
505 }                                                 
506                                                   

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