Revision 827df9f3 hw/omap.h

b/hw/omap.h
5 5
 *
6 6
 * This program is free software; you can redistribute it and/or
7 7
 * modify it under the terms of the GNU General Public License as
8
 * published by the Free Software Foundation; either version 2 of
9
 * the License, or (at your option) any later version.
8
 * published by the Free Software Foundation; either version 2 or
9
 * (at your option) version 3 of the License.
10 10
 *
11 11
 * This program is distributed in the hope that it will be useful,
12 12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
......
22 22
# define hw_omap_h		"omap.h"
23 23

  
24 24
# define OMAP_EMIFS_BASE	0x00000000
25
# define OMAP2_Q0_BASE		0x00000000
25 26
# define OMAP_CS0_BASE		0x00000000
26 27
# define OMAP_CS1_BASE		0x04000000
27 28
# define OMAP_CS2_BASE		0x08000000
......
29 30
# define OMAP_EMIFF_BASE	0x10000000
30 31
# define OMAP_IMIF_BASE		0x20000000
31 32
# define OMAP_LOCALBUS_BASE	0x30000000
33
# define OMAP2_Q1_BASE		0x40000000
34
# define OMAP2_L4_BASE		0x48000000
35
# define OMAP2_SRAM_BASE	0x40200000
36
# define OMAP2_L3_BASE		0x68000000
37
# define OMAP2_Q2_BASE		0x80000000
38
# define OMAP2_Q3_BASE		0xc0000000
32 39
# define OMAP_MPUI_BASE		0xe1000000
33 40

  
34 41
# define OMAP730_SRAM_SIZE	0x00032000
35 42
# define OMAP15XX_SRAM_SIZE	0x00030000
36 43
# define OMAP16XX_SRAM_SIZE	0x00004000
37 44
# define OMAP1611_SRAM_SIZE	0x0003e800
45
# define OMAP242X_SRAM_SIZE	0x000a0000
46
# define OMAP243X_SRAM_SIZE	0x00010000
38 47
# define OMAP_CS0_SIZE		0x04000000
39 48
# define OMAP_CS1_SIZE		0x04000000
40 49
# define OMAP_CS2_SIZE		0x04000000
41 50
# define OMAP_CS3_SIZE		0x04000000
42 51

  
43
/* omap1_clk.c */
52
/* omap_clk.c */
44 53
struct omap_mpu_state_s;
45 54
typedef struct clk *omap_clk;
46 55
omap_clk omap_findclk(struct omap_mpu_state_s *mpu, const char *name);
......
55 64
void omap_clk_reparent(omap_clk clk, omap_clk parent);
56 65

  
57 66
/* omap[123].c */
67
struct omap_l4_s;
68
struct omap_l4_s *omap_l4_init(target_phys_addr_t base, int ta_num);
69

  
70
struct omap_target_agent_s;
71
struct omap_target_agent_s *omap_l4ta_get(struct omap_l4_s *bus, int cs);
72
target_phys_addr_t omap_l4_attach(struct omap_target_agent_s *ta, int region,
73
                int iotype);
74

  
58 75
struct omap_intr_handler_s;
59 76
struct omap_intr_handler_s *omap_inth_init(target_phys_addr_t base,
60
                unsigned long size, unsigned char nbanks,
77
                unsigned long size, unsigned char nbanks, qemu_irq **pins,
61 78
                qemu_irq parent_irq, qemu_irq parent_fiq, omap_clk clk);
62

  
63
struct omap_target_agent_s;
64
static inline target_phys_addr_t omap_l4_attach(struct omap_target_agent_s *ta,
65
                int region, int iotype) { return 0; }
79
struct omap_intr_handler_s *omap2_inth_init(target_phys_addr_t base,
80
                int size, int nbanks, qemu_irq **pins,
81
                qemu_irq parent_irq, qemu_irq parent_fiq,
82
                omap_clk fclk, omap_clk iclk);
83
void omap_inth_reset(struct omap_intr_handler_s *s);
84

  
85
struct omap_prcm_s;
86
struct omap_prcm_s *omap_prcm_init(struct omap_target_agent_s *ta,
87
                qemu_irq mpu_int, qemu_irq dsp_int, qemu_irq iva_int,
88
                struct omap_mpu_state_s *mpu);
89

  
90
struct omap_sysctl_s;
91
struct omap_sysctl_s *omap_sysctl_init(struct omap_target_agent_s *ta,
92
                omap_clk iclk, struct omap_mpu_state_s *mpu);
93

  
94
struct omap_sdrc_s;
95
struct omap_sdrc_s *omap_sdrc_init(target_phys_addr_t base);
96

  
97
struct omap_gpmc_s;
98
struct omap_gpmc_s *omap_gpmc_init(target_phys_addr_t base, qemu_irq irq);
99
void omap_gpmc_attach(struct omap_gpmc_s *s, int cs, int iomemtype,
100
                void (*base_upd)(void *opaque, target_phys_addr_t new),
101
                void (*unmap)(void *opaque), void *opaque);
66 102

  
67 103
/*
68 104
 * Common IRQ numbers for level 1 interrupt handler
......
295 331
 * OMAP-24xx common IRQ numbers
296 332
 */
297 333
# define OMAP_INT_24XX_SYS_NIRQ		7
334
# define OMAP_INT_24XX_L3_IRQ		10
335
# define OMAP_INT_24XX_PRCM_MPU_IRQ	11
298 336
# define OMAP_INT_24XX_SDMA_IRQ0	12
299 337
# define OMAP_INT_24XX_SDMA_IRQ1	13
300 338
# define OMAP_INT_24XX_SDMA_IRQ2	14
301 339
# define OMAP_INT_24XX_SDMA_IRQ3	15
340
# define OMAP_INT_243X_MCBSP2_IRQ	16
341
# define OMAP_INT_243X_MCBSP3_IRQ	17
342
# define OMAP_INT_243X_MCBSP4_IRQ	18
343
# define OMAP_INT_243X_MCBSP5_IRQ	19
344
# define OMAP_INT_24XX_GPMC_IRQ		20
345
# define OMAP_INT_24XX_GUFFAW_IRQ	21
346
# define OMAP_INT_24XX_IVA_IRQ		22
347
# define OMAP_INT_24XX_EAC_IRQ		23
302 348
# define OMAP_INT_24XX_CAM_IRQ		24
303 349
# define OMAP_INT_24XX_DSS_IRQ		25
304 350
# define OMAP_INT_24XX_MAIL_U0_MPU	26
......
308 354
# define OMAP_INT_24XX_GPIO_BANK2	30
309 355
# define OMAP_INT_24XX_GPIO_BANK3	31
310 356
# define OMAP_INT_24XX_GPIO_BANK4	32
311
# define OMAP_INT_24XX_GPIO_BANK5	33
357
# define OMAP_INT_243X_GPIO_BANK5	33
312 358
# define OMAP_INT_24XX_MAIL_U3_MPU	34
359
# define OMAP_INT_24XX_WDT3		35
360
# define OMAP_INT_24XX_WDT4		36
313 361
# define OMAP_INT_24XX_GPTIMER1		37
314 362
# define OMAP_INT_24XX_GPTIMER2		38
315 363
# define OMAP_INT_24XX_GPTIMER3		39
......
322 370
# define OMAP_INT_24XX_GPTIMER10	46
323 371
# define OMAP_INT_24XX_GPTIMER11	47
324 372
# define OMAP_INT_24XX_GPTIMER12	48
373
# define OMAP_INT_24XX_PKA_IRQ		50
374
# define OMAP_INT_24XX_SHA1MD5_IRQ	51
375
# define OMAP_INT_24XX_RNG_IRQ		52
376
# define OMAP_INT_24XX_MG_IRQ		53
377
# define OMAP_INT_24XX_I2C1_IRQ		56
378
# define OMAP_INT_24XX_I2C2_IRQ		57
325 379
# define OMAP_INT_24XX_MCBSP1_IRQ_TX	59
326 380
# define OMAP_INT_24XX_MCBSP1_IRQ_RX	60
327 381
# define OMAP_INT_24XX_MCBSP2_IRQ_TX	62
328 382
# define OMAP_INT_24XX_MCBSP2_IRQ_RX	63
383
# define OMAP_INT_243X_MCBSP1_IRQ	64
384
# define OMAP_INT_24XX_MCSPI1_IRQ	65
385
# define OMAP_INT_24XX_MCSPI2_IRQ	66
386
# define OMAP_INT_24XX_SSI1_IRQ0	67
387
# define OMAP_INT_24XX_SSI1_IRQ1	68
388
# define OMAP_INT_24XX_SSI2_IRQ0	69
389
# define OMAP_INT_24XX_SSI2_IRQ1	70
390
# define OMAP_INT_24XX_SSI_GDD_IRQ	71
329 391
# define OMAP_INT_24XX_UART1_IRQ	72
330 392
# define OMAP_INT_24XX_UART2_IRQ	73
331 393
# define OMAP_INT_24XX_UART3_IRQ	74
......
335 397
# define OMAP_INT_24XX_USB_IRQ_HGEN	78
336 398
# define OMAP_INT_24XX_USB_IRQ_HSOF	79
337 399
# define OMAP_INT_24XX_USB_IRQ_OTG	80
400
# define OMAP_INT_24XX_VLYNQ_IRQ	81
338 401
# define OMAP_INT_24XX_MMC_IRQ		83
402
# define OMAP_INT_24XX_MS_IRQ		84
403
# define OMAP_INT_24XX_FAC_IRQ		85
404
# define OMAP_INT_24XX_MCSPI3_IRQ	91
339 405
# define OMAP_INT_243X_HS_USB_MC	92
340 406
# define OMAP_INT_243X_HS_USB_DMA	93
341 407
# define OMAP_INT_243X_CARKIT		94
408
# define OMAP_INT_34XX_GPTIMER12	95
342 409

  
343 410
/* omap_dma.c */
344 411
enum omap_dma_model {
......
352 419
struct omap_dma_s *omap_dma_init(target_phys_addr_t base, qemu_irq *irqs,
353 420
                qemu_irq lcd_irq, struct omap_mpu_state_s *mpu, omap_clk clk,
354 421
                enum omap_dma_model model);
422
struct omap_dma_s *omap_dma4_init(target_phys_addr_t base, qemu_irq *irqs,
423
                struct omap_mpu_state_s *mpu, int fifo,
424
                int chans, omap_clk iclk, omap_clk fclk);
355 425
void omap_dma_reset(struct omap_dma_s *s);
356 426

  
357 427
struct dma_irq_map {
......
367 437
    tipb,
368 438
    local,	/* omap16xx: ocp_t2 */
369 439
    tipb_mpui,
370
    omap_dma_port_last,
440
    __omap_dma_port_last,
371 441
};
372 442

  
373 443
typedef enum {
......
488 558
# define OMAP_DMA_MMC2_RX		55
489 559
# define OMAP_DMA_CRYPTO_DES_OUT	56
490 560

  
561
/*
562
 * DMA request numbers for the OMAP2
563
 */
564
# define OMAP24XX_DMA_NO_DEVICE		0
565
# define OMAP24XX_DMA_XTI_DMA		1	/* Not in OMAP2420 */
566
# define OMAP24XX_DMA_EXT_DMAREQ0	2
567
# define OMAP24XX_DMA_EXT_DMAREQ1	3
568
# define OMAP24XX_DMA_GPMC		4
569
# define OMAP24XX_DMA_GFX		5	/* Not in OMAP2420 */
570
# define OMAP24XX_DMA_DSS		6
571
# define OMAP24XX_DMA_VLYNQ_TX		7	/* Not in OMAP2420 */
572
# define OMAP24XX_DMA_CWT		8	/* Not in OMAP2420 */
573
# define OMAP24XX_DMA_AES_TX		9	/* Not in OMAP2420 */
574
# define OMAP24XX_DMA_AES_RX		10	/* Not in OMAP2420 */
575
# define OMAP24XX_DMA_DES_TX		11	/* Not in OMAP2420 */
576
# define OMAP24XX_DMA_DES_RX		12	/* Not in OMAP2420 */
577
# define OMAP24XX_DMA_SHA1MD5_RX	13	/* Not in OMAP2420 */
578
# define OMAP24XX_DMA_EXT_DMAREQ2	14
579
# define OMAP24XX_DMA_EXT_DMAREQ3	15
580
# define OMAP24XX_DMA_EXT_DMAREQ4	16
581
# define OMAP24XX_DMA_EAC_AC_RD		17
582
# define OMAP24XX_DMA_EAC_AC_WR		18
583
# define OMAP24XX_DMA_EAC_MD_UL_RD	19
584
# define OMAP24XX_DMA_EAC_MD_UL_WR	20
585
# define OMAP24XX_DMA_EAC_MD_DL_RD	21
586
# define OMAP24XX_DMA_EAC_MD_DL_WR	22
587
# define OMAP24XX_DMA_EAC_BT_UL_RD	23
588
# define OMAP24XX_DMA_EAC_BT_UL_WR	24
589
# define OMAP24XX_DMA_EAC_BT_DL_RD	25
590
# define OMAP24XX_DMA_EAC_BT_DL_WR	26
591
# define OMAP24XX_DMA_I2C1_TX		27
592
# define OMAP24XX_DMA_I2C1_RX		28
593
# define OMAP24XX_DMA_I2C2_TX		29
594
# define OMAP24XX_DMA_I2C2_RX		30
595
# define OMAP24XX_DMA_MCBSP1_TX		31
596
# define OMAP24XX_DMA_MCBSP1_RX		32
597
# define OMAP24XX_DMA_MCBSP2_TX		33
598
# define OMAP24XX_DMA_MCBSP2_RX		34
599
# define OMAP24XX_DMA_SPI1_TX0		35
600
# define OMAP24XX_DMA_SPI1_RX0		36
601
# define OMAP24XX_DMA_SPI1_TX1		37
602
# define OMAP24XX_DMA_SPI1_RX1		38
603
# define OMAP24XX_DMA_SPI1_TX2		39
604
# define OMAP24XX_DMA_SPI1_RX2		40
605
# define OMAP24XX_DMA_SPI1_TX3		41
606
# define OMAP24XX_DMA_SPI1_RX3		42
607
# define OMAP24XX_DMA_SPI2_TX0		43
608
# define OMAP24XX_DMA_SPI2_RX0		44
609
# define OMAP24XX_DMA_SPI2_TX1		45
610
# define OMAP24XX_DMA_SPI2_RX1		46
611

  
612
# define OMAP24XX_DMA_UART1_TX		49
613
# define OMAP24XX_DMA_UART1_RX		50
614
# define OMAP24XX_DMA_UART2_TX		51
615
# define OMAP24XX_DMA_UART2_RX		52
616
# define OMAP24XX_DMA_UART3_TX		53
617
# define OMAP24XX_DMA_UART3_RX		54
618
# define OMAP24XX_DMA_USB_W2FC_TX0	55
619
# define OMAP24XX_DMA_USB_W2FC_RX0	56
620
# define OMAP24XX_DMA_USB_W2FC_TX1	57
621
# define OMAP24XX_DMA_USB_W2FC_RX1	58
622
# define OMAP24XX_DMA_USB_W2FC_TX2	59
623
# define OMAP24XX_DMA_USB_W2FC_RX2	60
624
# define OMAP24XX_DMA_MMC1_TX		61
625
# define OMAP24XX_DMA_MMC1_RX		62
626
# define OMAP24XX_DMA_MS		63	/* Not in OMAP2420 */
627
# define OMAP24XX_DMA_EXT_DMAREQ5	64
628

  
491 629
/* omap[123].c */
492 630
struct omap_mpu_timer_s;
493 631
struct omap_mpu_timer_s *omap_mpu_timer_init(target_phys_addr_t base,
494 632
                qemu_irq irq, omap_clk clk);
495 633

  
634
struct omap_gp_timer_s;
635
struct omap_gp_timer_s *omap_gp_timer_init(struct omap_target_agent_s *ta,
636
                qemu_irq irq, omap_clk fclk, omap_clk iclk);
637

  
496 638
struct omap_watchdog_timer_s;
497 639
struct omap_watchdog_timer_s *omap_wd_timer_init(target_phys_addr_t base,
498 640
                qemu_irq irq, omap_clk clk);
......
501 643
struct omap_32khz_timer_s *omap_os_timer_init(target_phys_addr_t base,
502 644
                qemu_irq irq, omap_clk clk);
503 645

  
646
void omap_synctimer_init(struct omap_target_agent_s *ta,
647
                struct omap_mpu_state_s *mpu, omap_clk fclk, omap_clk iclk);
648

  
504 649
struct omap_tipb_bridge_s;
505 650
struct omap_tipb_bridge_s *omap_tipb_bridge_init(target_phys_addr_t base,
506 651
                qemu_irq abort_irq, omap_clk clk);
507 652

  
508 653
struct omap_uart_s;
509 654
struct omap_uart_s *omap_uart_init(target_phys_addr_t base,
510
                qemu_irq irq, omap_clk clk, CharDriverState *chr);
655
                qemu_irq irq, omap_clk fclk, omap_clk iclk,
656
                qemu_irq txdma, qemu_irq rxdma, CharDriverState *chr);
657
struct omap_uart_s *omap2_uart_init(struct omap_target_agent_s *ta,
658
                qemu_irq irq, omap_clk fclk, omap_clk iclk,
659
                qemu_irq txdma, qemu_irq rxdma, CharDriverState *chr);
660
void omap_uart_reset(struct omap_uart_s *s);
511 661

  
512 662
struct omap_mpuio_s;
513 663
struct omap_mpuio_s *omap_mpuio_init(target_phys_addr_t base,
......
523 673
qemu_irq *omap_gpio_in_get(struct omap_gpio_s *s);
524 674
void omap_gpio_out_set(struct omap_gpio_s *s, int line, qemu_irq handler);
525 675

  
676
struct omap_gpif_s;
677
struct omap_gpif_s *omap2_gpio_init(struct omap_target_agent_s *ta,
678
                qemu_irq *irq, omap_clk *fclk, omap_clk iclk, int modules);
679
qemu_irq *omap2_gpio_in_get(struct omap_gpif_s *s, int start);
680
void omap2_gpio_out_set(struct omap_gpif_s *s, int line, qemu_irq handler);
681

  
526 682
struct uwire_slave_s {
527 683
    uint16_t (*receive)(void *opaque);
528 684
    void (*send)(void *opaque, uint16_t data);
......
534 690
void omap_uwire_attach(struct omap_uwire_s *s,
535 691
                struct uwire_slave_s *slave, int chipselect);
536 692

  
693
struct omap_mcspi_s;
694
struct omap_mcspi_s *omap_mcspi_init(struct omap_target_agent_s *ta, int chnum,
695
                qemu_irq irq, qemu_irq *drq, omap_clk fclk, omap_clk iclk);
696
void omap_mcspi_attach(struct omap_mcspi_s *s,
697
                uint32_t (*txrx)(void *opaque, uint32_t), void *opaque,
698
                int chipselect);
699

  
537 700
struct omap_rtc_s;
538 701
struct omap_rtc_s *omap_rtc_init(target_phys_addr_t base,
539 702
                qemu_irq *irq, omap_clk clk);
......
570 733
struct omap_lpg_s;
571 734
struct omap_lpg_s *omap_lpg_init(target_phys_addr_t base, omap_clk clk);
572 735

  
736
void omap_tap_init(struct omap_target_agent_s *ta,
737
                struct omap_mpu_state_s *mpu);
738

  
573 739
/* omap_lcdc.c */
574 740
struct omap_lcd_panel_s;
575 741
void omap_lcdc_reset(struct omap_lcd_panel_s *s);
......
577 743
                struct omap_dma_lcd_channel_s *dma, DisplayState *ds,
578 744
                ram_addr_t imif_base, ram_addr_t emiff_base, omap_clk clk);
579 745

  
746
/* omap_dss.c */
747
struct rfbi_chip_s {
748
    void *opaque;
749
    void (*write)(void *opaque, int dc, uint16_t value);
750
    void (*block)(void *opaque, int dc, void *buf, size_t len, int pitch);
751
    uint16_t (*read)(void *opaque, int dc);
752
};
753
struct omap_dss_s;
754
void omap_dss_reset(struct omap_dss_s *s);
755
struct omap_dss_s *omap_dss_init(struct omap_target_agent_s *ta,
756
                target_phys_addr_t l3_base, DisplayState *ds,
757
                qemu_irq irq, qemu_irq drq,
758
                omap_clk fck1, omap_clk fck2, omap_clk ck54m,
759
                omap_clk ick1, omap_clk ick2);
760
void omap_rfbi_attach(struct omap_dss_s *s, int cs, struct rfbi_chip_s *chip);
761

  
580 762
/* omap_mmc.c */
581 763
struct omap_mmc_s;
582 764
struct omap_mmc_s *omap_mmc_init(target_phys_addr_t base,
583 765
                BlockDriverState *bd,
584 766
                qemu_irq irq, qemu_irq dma[], omap_clk clk);
767
struct omap_mmc_s *omap2_mmc_init(struct omap_target_agent_s *ta,
768
                BlockDriverState *bd, qemu_irq irq, qemu_irq dma[],
769
                omap_clk fclk, omap_clk iclk);
585 770
void omap_mmc_reset(struct omap_mmc_s *s);
586 771
void omap_mmc_handlers(struct omap_mmc_s *s, qemu_irq ro, qemu_irq cover);
772
void omap_mmc_enable(struct omap_mmc_s *s, int enable);
587 773

  
588 774
/* omap_i2c.c */
589 775
struct omap_i2c_s;
......
596 782

  
597 783
# define cpu_is_omap310(cpu)		(cpu->mpu_model == omap310)
598 784
# define cpu_is_omap1510(cpu)		(cpu->mpu_model == omap1510)
785
# define cpu_is_omap1610(cpu)		(cpu->mpu_model == omap1610)
786
# define cpu_is_omap1710(cpu)		(cpu->mpu_model == omap1710)
787
# define cpu_is_omap2410(cpu)		(cpu->mpu_model == omap2410)
788
# define cpu_is_omap2420(cpu)		(cpu->mpu_model == omap2420)
789
# define cpu_is_omap2430(cpu)		(cpu->mpu_model == omap2430)
790
# define cpu_is_omap3430(cpu)		(cpu->mpu_model == omap3430)
791

  
599 792
# define cpu_is_omap15xx(cpu)		\
600 793
        (cpu_is_omap310(cpu) || cpu_is_omap1510(cpu))
601
# define cpu_class_omap1(cpu)		1
794
# define cpu_is_omap16xx(cpu)		\
795
        (cpu_is_omap1610(cpu) || cpu_is_omap1710(cpu))
796
# define cpu_is_omap24xx(cpu)		\
797
        (cpu_is_omap2410(cpu) || cpu_is_omap2420(cpu) || cpu_is_omap2430(cpu))
798

  
799
# define cpu_class_omap1(cpu)		\
800
        (cpu_is_omap15xx(cpu) || cpu_is_omap16xx(cpu))
801
# define cpu_class_omap2(cpu)		cpu_is_omap24xx(cpu)
802
# define cpu_class_omap3(cpu)		cpu_is_omap3430(cpu)
602 803

  
603 804
struct omap_mpu_state_s {
604
    enum omap1_mpu_model {
805
    enum omap_mpu_model {
605 806
        omap310,
606 807
        omap1510,
808
        omap1610,
809
        omap1710,
810
        omap2410,
811
        omap2420,
812
        omap2422,
813
        omap2423,
814
        omap2430,
815
        omap3430,
607 816
    } mpu_model;
608 817

  
609 818
    CPUState *env;
......
620 829
                        target_phys_addr_t offset, uint32_t value);
621 830
        int (*addr_valid)(struct omap_mpu_state_s *s,
622 831
                        target_phys_addr_t addr);
623
    } port[omap_dma_port_last];
832
    } port[__omap_dma_port_last];
624 833

  
625 834
    unsigned long sdram_size;
626 835
    unsigned long sram_size;
......
656 865
        omap_clk clk;
657 866
    } pwt;
658 867

  
659
    struct omap_i2c_s *i2c;
868
    struct omap_i2c_s *i2c[2];
660 869

  
661 870
    struct omap_rtc_s *rtc;
662 871

  
......
722 931
        uint16_t dsp_idlect2;
723 932
        uint16_t dsp_rstct2;
724 933
    } clkm;
725
} *omap310_mpu_init(unsigned long sdram_size,
934

  
935
    /* OMAP2-only peripherals */
936
    struct omap_l4_s *l4;
937

  
938
    struct omap_gp_timer_s *gptimer[12];
939

  
940
    target_phys_addr_t tap_base;
941

  
942
    struct omap_synctimer_s {
943
        target_phys_addr_t base;
944
        uint32_t val;
945
        uint16_t readh;
946
    } synctimer;
947

  
948
    struct omap_prcm_s *prcm;
949
    struct omap_sdrc_s *sdrc;
950
    struct omap_gpmc_s *gpmc;
951
    struct omap_sysctl_s *sysc;
952

  
953
    struct omap_gpif_s *gpif;
954

  
955
    struct omap_mcspi_s *mcspi[2];
956

  
957
    struct omap_dss_s *dss;
958
};
959

  
960
/* omap1.c */
961
struct omap_mpu_state_s *omap310_mpu_init(unsigned long sdram_size,
962
                DisplayState *ds, const char *core);
963

  
964
/* omap2.c */
965
struct omap_mpu_state_s *omap2420_mpu_init(unsigned long sdram_size,
726 966
                DisplayState *ds, const char *core);
727 967

  
728 968
# if TARGET_PHYS_ADDR_BITS == 32
......
743 983
void omap_badwidth_write32(void *opaque, target_phys_addr_t addr,
744 984
                uint32_t value);
745 985

  
986
void omap_mpu_wakeup(void *opaque, int irq, int req);
987

  
746 988
# define OMAP_BAD_REG(paddr)		\
747
        printf("%s: Bad register " OMAP_FMT_plx "\n", __FUNCTION__, paddr)
989
        fprintf(stderr, "%s: Bad register " OMAP_FMT_plx "\n",	\
990
                        __FUNCTION__, paddr)
748 991
# define OMAP_RO_REG(paddr)		\
749
        printf("%s: Read-only register " OMAP_FMT_plx "\n",	\
992
        fprintf(stderr, "%s: Read-only register " OMAP_FMT_plx "\n",	\
750 993
                        __FUNCTION__, paddr)
751 994

  
995
/* OMAP-specific Linux bootloader tags for the ATAG_BOARD area
996
   (Board-specifc tags are not here)  */
997
#define OMAP_TAG_CLOCK		0x4f01
998
#define OMAP_TAG_MMC		0x4f02
999
#define OMAP_TAG_SERIAL_CONSOLE	0x4f03
1000
#define OMAP_TAG_USB		0x4f04
1001
#define OMAP_TAG_LCD		0x4f05
1002
#define OMAP_TAG_GPIO_SWITCH	0x4f06
1003
#define OMAP_TAG_UART		0x4f07
1004
#define OMAP_TAG_FBMEM		0x4f08
1005
#define OMAP_TAG_STI_CONSOLE	0x4f09
1006
#define OMAP_TAG_CAMERA_SENSOR	0x4f0a
1007
#define OMAP_TAG_PARTITION	0x4f0b
1008
#define OMAP_TAG_TEA5761	0x4f10
1009
#define OMAP_TAG_TMP105		0x4f11
1010
#define OMAP_TAG_BOOT_REASON	0x4f80
1011
#define OMAP_TAG_FLASH_PART_STR	0x4f81
1012
#define OMAP_TAG_VERSION_STR	0x4f82
1013

  
752 1014
# define TCMI_VERBOSE			1
753 1015
//# define MEM_VERBOSE			1
754 1016

  
755 1017
# ifdef TCMI_VERBOSE
756 1018
#  define OMAP_8B_REG(paddr)		\
757
        printf("%s: 8-bit register " OMAP_FMT_plx "\n",	\
1019
        fprintf(stderr, "%s: 8-bit register " OMAP_FMT_plx "\n",	\
758 1020
                        __FUNCTION__, paddr)
759 1021
#  define OMAP_16B_REG(paddr)		\
760
        printf("%s: 16-bit register " OMAP_FMT_plx "\n",	\
1022
        fprintf(stderr, "%s: 16-bit register " OMAP_FMT_plx "\n",	\
761 1023
                        __FUNCTION__, paddr)
762 1024
#  define OMAP_32B_REG(paddr)		\
763
        printf("%s: 32-bit register " OMAP_FMT_plx "\n",	\
1025
        fprintf(stderr, "%s: 32-bit register " OMAP_FMT_plx "\n",	\
764 1026
                        __FUNCTION__, paddr)
765 1027
# else
766 1028
#  define OMAP_8B_REG(paddr)

Also available in: Unified diff