tangled
alpha
login
or
join now
tjh.dev
/
kernel
1
fork
atom
Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1
fork
atom
overview
issues
pulls
pipelines
Merge branch 'rmobile/fbdev' into rmobile-latest
Paul Mundt
15 years ago
dce65a6a
4db70f73
+114
2 changed files
expand all
collapse all
unified
split
arch
arm
mach-shmobile
board-ap4evb.c
board-mackerel.c
+56
arch/arm/mach-shmobile/board-ap4evb.c
reviewed
···
249
249
{
250
250
return !gpio_get_value(GPIO_PORT41);
251
251
}
252
252
+
/* MERAM */
253
253
+
static struct sh_mobile_meram_info meram_info = {
254
254
+
.addr_mode = SH_MOBILE_MERAM_MODE1,
255
255
+
};
256
256
+
257
257
+
static struct resource meram_resources[] = {
258
258
+
[0] = {
259
259
+
.name = "MERAM",
260
260
+
.start = 0xe8000000,
261
261
+
.end = 0xe81fffff,
262
262
+
.flags = IORESOURCE_MEM,
263
263
+
},
264
264
+
};
265
265
+
266
266
+
static struct platform_device meram_device = {
267
267
+
.name = "sh_mobile_meram",
268
268
+
.id = 0,
269
269
+
.num_resources = ARRAY_SIZE(meram_resources),
270
270
+
.resource = meram_resources,
271
271
+
.dev = {
272
272
+
.platform_data = &meram_info,
273
273
+
},
274
274
+
};
252
275
253
276
/* SH_MMCIF */
254
277
static struct resource sh_mmcif_resources[] = {
···
470
447
#endif
471
448
},
472
449
};
450
450
+
static struct sh_mobile_meram_cfg lcd_meram_cfg = {
451
451
+
.icb[0] = {
452
452
+
.marker_icb = 28,
453
453
+
.cache_icb = 24,
454
454
+
.meram_offset = 0x0,
455
455
+
.meram_size = 0x40,
456
456
+
},
457
457
+
.icb[1] = {
458
458
+
.marker_icb = 29,
459
459
+
.cache_icb = 25,
460
460
+
.meram_offset = 0x40,
461
461
+
.meram_size = 0x40,
462
462
+
},
463
463
+
};
473
464
474
465
static struct sh_mobile_lcdc_info lcdc_info = {
466
466
+
.meram_dev = &meram_info,
475
467
.ch[0] = {
476
468
.chan = LCDC_CHAN_MAINLCD,
477
469
.bpp = 16,
478
470
.lcd_cfg = ap4evb_lcdc_modes,
479
471
.num_cfg = ARRAY_SIZE(ap4evb_lcdc_modes),
472
472
+
.meram_cfg = &lcd_meram_cfg,
480
473
}
481
474
};
482
475
···
763
724
static struct platform_device fsi_ak4643_device = {
764
725
.name = "sh_fsi2_a_ak4643",
765
726
};
727
727
+
static struct sh_mobile_meram_cfg hdmi_meram_cfg = {
728
728
+
.icb[0] = {
729
729
+
.marker_icb = 30,
730
730
+
.cache_icb = 26,
731
731
+
.meram_offset = 0x80,
732
732
+
.meram_size = 0x100,
733
733
+
},
734
734
+
.icb[1] = {
735
735
+
.marker_icb = 31,
736
736
+
.cache_icb = 27,
737
737
+
.meram_offset = 0x180,
738
738
+
.meram_size = 0x100,
739
739
+
},
740
740
+
};
766
741
767
742
static struct sh_mobile_lcdc_info sh_mobile_lcdc1_info = {
768
743
.clock_source = LCDC_CLK_EXTERNAL,
744
744
+
.meram_dev = &meram_info,
769
745
.ch[0] = {
770
746
.chan = LCDC_CHAN_MAINLCD,
771
747
.bpp = 16,
772
748
.interface_type = RGB24,
773
749
.clock_divider = 1,
774
750
.flags = LCDC_FLAGS_DWPOL,
751
751
+
.meram_cfg = &hdmi_meram_cfg,
775
752
}
776
753
};
777
754
···
1016
961
&csi2_device,
1017
962
&ceu_device,
1018
963
&ap4evb_camera,
964
964
+
&meram_device,
1019
965
};
1020
966
1021
967
static void __init hdmi_init_pm_clock(void)
+58
arch/arm/mach-shmobile/board-mackerel.c
reviewed
···
314
314
},
315
315
};
316
316
317
317
+
/* MERAM */
318
318
+
static struct sh_mobile_meram_info mackerel_meram_info = {
319
319
+
.addr_mode = SH_MOBILE_MERAM_MODE1,
320
320
+
};
321
321
+
322
322
+
static struct resource meram_resources[] = {
323
323
+
[0] = {
324
324
+
.name = "MERAM",
325
325
+
.start = 0xe8000000,
326
326
+
.end = 0xe81fffff,
327
327
+
.flags = IORESOURCE_MEM,
328
328
+
},
329
329
+
};
330
330
+
331
331
+
static struct platform_device meram_device = {
332
332
+
.name = "sh_mobile_meram",
333
333
+
.id = 0,
334
334
+
.num_resources = ARRAY_SIZE(meram_resources),
335
335
+
.resource = meram_resources,
336
336
+
.dev = {
337
337
+
.platform_data = &mackerel_meram_info,
338
338
+
},
339
339
+
};
340
340
+
317
341
/* LCDC */
318
342
static struct fb_videomode mackerel_lcdc_modes[] = {
319
343
{
···
366
342
return gpio_get_value(GPIO_PORT31);
367
343
}
368
344
345
345
+
static struct sh_mobile_meram_cfg lcd_meram_cfg = {
346
346
+
.icb[0] = {
347
347
+
.marker_icb = 28,
348
348
+
.cache_icb = 24,
349
349
+
.meram_offset = 0x0,
350
350
+
.meram_size = 0x40,
351
351
+
},
352
352
+
.icb[1] = {
353
353
+
.marker_icb = 29,
354
354
+
.cache_icb = 25,
355
355
+
.meram_offset = 0x40,
356
356
+
.meram_size = 0x40,
357
357
+
},
358
358
+
};
359
359
+
369
360
static struct sh_mobile_lcdc_info lcdc_info = {
361
361
+
.meram_dev = &mackerel_meram_info,
370
362
.clock_source = LCDC_CLK_BUS,
371
363
.ch[0] = {
372
364
.chan = LCDC_CHAN_MAINLCD,
···
402
362
.name = "sh_mobile_lcdc_bl",
403
363
.max_brightness = 1,
404
364
},
365
365
+
.meram_cfg = &lcd_meram_cfg,
405
366
}
406
367
};
407
368
···
429
388
},
430
389
};
431
390
391
391
+
static struct sh_mobile_meram_cfg hdmi_meram_cfg = {
392
392
+
.icb[0] = {
393
393
+
.marker_icb = 30,
394
394
+
.cache_icb = 26,
395
395
+
.meram_offset = 0x80,
396
396
+
.meram_size = 0x100,
397
397
+
},
398
398
+
.icb[1] = {
399
399
+
.marker_icb = 31,
400
400
+
.cache_icb = 27,
401
401
+
.meram_offset = 0x180,
402
402
+
.meram_size = 0x100,
403
403
+
},
404
404
+
};
432
405
/* HDMI */
433
406
static struct sh_mobile_lcdc_info hdmi_lcdc_info = {
407
407
+
.meram_dev = &mackerel_meram_info,
434
408
.clock_source = LCDC_CLK_EXTERNAL,
435
409
.ch[0] = {
436
410
.chan = LCDC_CHAN_MAINLCD,
···
453
397
.interface_type = RGB24,
454
398
.clock_divider = 1,
455
399
.flags = LCDC_FLAGS_DWPOL,
400
400
+
.meram_cfg = &hdmi_meram_cfg,
456
401
}
457
402
};
458
403
···
1207
1150
&mackerel_camera,
1208
1151
&hdmi_lcdc_device,
1209
1152
&hdmi_device,
1153
1153
+
&meram_device,
1210
1154
};
1211
1155
1212
1156
/* Keypad Initialization */