📄 omap.h
字号:
# define OMAP_INT_24XX_MCBSP1_IRQ_RX 60# define OMAP_INT_24XX_MCBSP2_IRQ_TX 62# define OMAP_INT_24XX_MCBSP2_IRQ_RX 63# define OMAP_INT_243X_MCBSP1_IRQ 64# define OMAP_INT_24XX_MCSPI1_IRQ 65# define OMAP_INT_24XX_MCSPI2_IRQ 66# define OMAP_INT_24XX_SSI1_IRQ0 67# define OMAP_INT_24XX_SSI1_IRQ1 68# define OMAP_INT_24XX_SSI2_IRQ0 69# define OMAP_INT_24XX_SSI2_IRQ1 70# define OMAP_INT_24XX_SSI_GDD_IRQ 71# define OMAP_INT_24XX_UART1_IRQ 72# define OMAP_INT_24XX_UART2_IRQ 73# define OMAP_INT_24XX_UART3_IRQ 74# define OMAP_INT_24XX_USB_IRQ_GEN 75# define OMAP_INT_24XX_USB_IRQ_NISO 76# define OMAP_INT_24XX_USB_IRQ_ISO 77# define OMAP_INT_24XX_USB_IRQ_HGEN 78# define OMAP_INT_24XX_USB_IRQ_HSOF 79# define OMAP_INT_24XX_USB_IRQ_OTG 80# define OMAP_INT_24XX_VLYNQ_IRQ 81# define OMAP_INT_24XX_MMC_IRQ 83# define OMAP_INT_24XX_MS_IRQ 84# define OMAP_INT_24XX_FAC_IRQ 85# define OMAP_INT_24XX_MCSPI3_IRQ 91# define OMAP_INT_243X_HS_USB_MC 92# define OMAP_INT_243X_HS_USB_DMA 93# define OMAP_INT_243X_CARKIT 94# define OMAP_INT_34XX_GPTIMER12 95/* omap_dma.c */enum omap_dma_model { omap_dma_3_0, omap_dma_3_1, omap_dma_3_2, omap_dma_4,};struct omap_dma_s;struct omap_dma_s *omap_dma_init(target_phys_addr_t base, qemu_irq *irqs, qemu_irq lcd_irq, struct omap_mpu_state_s *mpu, omap_clk clk, enum omap_dma_model model);struct omap_dma_s *omap_dma4_init(target_phys_addr_t base, qemu_irq *irqs, struct omap_mpu_state_s *mpu, int fifo, int chans, omap_clk iclk, omap_clk fclk);void omap_dma_reset(struct omap_dma_s *s);struct dma_irq_map { int ih; int intr;};/* Only used in OMAP DMA 3.x gigacells */enum omap_dma_port { emiff = 0, emifs, imif, /* omap16xx: ocp_t1 */ tipb, local, /* omap16xx: ocp_t2 */ tipb_mpui, __omap_dma_port_last,};typedef enum { constant = 0, post_incremented, single_index, double_index,} omap_dma_addressing_t;/* Only used in OMAP DMA 3.x gigacells */struct omap_dma_lcd_channel_s { enum omap_dma_port src; target_phys_addr_t src_f1_top; target_phys_addr_t src_f1_bottom; target_phys_addr_t src_f2_top; target_phys_addr_t src_f2_bottom; /* Used in OMAP DMA 3.2 gigacell */ unsigned char brust_f1; unsigned char pack_f1; unsigned char data_type_f1; unsigned char brust_f2; unsigned char pack_f2; unsigned char data_type_f2; unsigned char end_prog; unsigned char repeat; unsigned char auto_init; unsigned char priority; unsigned char fs; unsigned char running; unsigned char bs; unsigned char omap_3_1_compatible_disable; unsigned char dst; unsigned char lch_type; int16_t element_index_f1; int16_t element_index_f2; int32_t frame_index_f1; int32_t frame_index_f2; uint16_t elements_f1; uint16_t frames_f1; uint16_t elements_f2; uint16_t frames_f2; omap_dma_addressing_t mode_f1; omap_dma_addressing_t mode_f2; /* Destination port is fixed. */ int interrupts; int condition; int dual; int current_frame; ram_addr_t phys_framebuffer[2]; qemu_irq irq; struct omap_mpu_state_s *mpu;} *omap_dma_get_lcdch(struct omap_dma_s *s);/* * DMA request numbers for OMAP1 * See /usr/include/asm-arm/arch-omap/dma.h in Linux. */# define OMAP_DMA_NO_DEVICE 0# define OMAP_DMA_MCSI1_TX 1# define OMAP_DMA_MCSI1_RX 2# define OMAP_DMA_I2C_RX 3# define OMAP_DMA_I2C_TX 4# define OMAP_DMA_EXT_NDMA_REQ0 5# define OMAP_DMA_EXT_NDMA_REQ1 6# define OMAP_DMA_UWIRE_TX 7# define OMAP_DMA_MCBSP1_TX 8# define OMAP_DMA_MCBSP1_RX 9# define OMAP_DMA_MCBSP3_TX 10# define OMAP_DMA_MCBSP3_RX 11# define OMAP_DMA_UART1_TX 12# define OMAP_DMA_UART1_RX 13# define OMAP_DMA_UART2_TX 14# define OMAP_DMA_UART2_RX 15# define OMAP_DMA_MCBSP2_TX 16# define OMAP_DMA_MCBSP2_RX 17# define OMAP_DMA_UART3_TX 18# define OMAP_DMA_UART3_RX 19# define OMAP_DMA_CAMERA_IF_RX 20# define OMAP_DMA_MMC_TX 21# define OMAP_DMA_MMC_RX 22# define OMAP_DMA_NAND 23 /* Not in OMAP310 */# define OMAP_DMA_IRQ_LCD_LINE 24 /* Not in OMAP310 */# define OMAP_DMA_MEMORY_STICK 25 /* Not in OMAP310 */# define OMAP_DMA_USB_W2FC_RX0 26# define OMAP_DMA_USB_W2FC_RX1 27# define OMAP_DMA_USB_W2FC_RX2 28# define OMAP_DMA_USB_W2FC_TX0 29# define OMAP_DMA_USB_W2FC_TX1 30# define OMAP_DMA_USB_W2FC_TX2 31/* These are only for 1610 */# define OMAP_DMA_CRYPTO_DES_IN 32# define OMAP_DMA_SPI_TX 33# define OMAP_DMA_SPI_RX 34# define OMAP_DMA_CRYPTO_HASH 35# define OMAP_DMA_CCP_ATTN 36# define OMAP_DMA_CCP_FIFO_NOT_EMPTY 37# define OMAP_DMA_CMT_APE_TX_CHAN_0 38# define OMAP_DMA_CMT_APE_RV_CHAN_0 39# define OMAP_DMA_CMT_APE_TX_CHAN_1 40# define OMAP_DMA_CMT_APE_RV_CHAN_1 41# define OMAP_DMA_CMT_APE_TX_CHAN_2 42# define OMAP_DMA_CMT_APE_RV_CHAN_2 43# define OMAP_DMA_CMT_APE_TX_CHAN_3 44# define OMAP_DMA_CMT_APE_RV_CHAN_3 45# define OMAP_DMA_CMT_APE_TX_CHAN_4 46# define OMAP_DMA_CMT_APE_RV_CHAN_4 47# define OMAP_DMA_CMT_APE_TX_CHAN_5 48# define OMAP_DMA_CMT_APE_RV_CHAN_5 49# define OMAP_DMA_CMT_APE_TX_CHAN_6 50# define OMAP_DMA_CMT_APE_RV_CHAN_6 51# define OMAP_DMA_CMT_APE_TX_CHAN_7 52# define OMAP_DMA_CMT_APE_RV_CHAN_7 53# define OMAP_DMA_MMC2_TX 54# define OMAP_DMA_MMC2_RX 55# define OMAP_DMA_CRYPTO_DES_OUT 56/* * DMA request numbers for the OMAP2 */# define OMAP24XX_DMA_NO_DEVICE 0# define OMAP24XX_DMA_XTI_DMA 1 /* Not in OMAP2420 */# define OMAP24XX_DMA_EXT_DMAREQ0 2# define OMAP24XX_DMA_EXT_DMAREQ1 3# define OMAP24XX_DMA_GPMC 4# define OMAP24XX_DMA_GFX 5 /* Not in OMAP2420 */# define OMAP24XX_DMA_DSS 6# define OMAP24XX_DMA_VLYNQ_TX 7 /* Not in OMAP2420 */# define OMAP24XX_DMA_CWT 8 /* Not in OMAP2420 */# define OMAP24XX_DMA_AES_TX 9 /* Not in OMAP2420 */# define OMAP24XX_DMA_AES_RX 10 /* Not in OMAP2420 */# define OMAP24XX_DMA_DES_TX 11 /* Not in OMAP2420 */# define OMAP24XX_DMA_DES_RX 12 /* Not in OMAP2420 */# define OMAP24XX_DMA_SHA1MD5_RX 13 /* Not in OMAP2420 */# define OMAP24XX_DMA_EXT_DMAREQ2 14# define OMAP24XX_DMA_EXT_DMAREQ3 15# define OMAP24XX_DMA_EXT_DMAREQ4 16# define OMAP24XX_DMA_EAC_AC_RD 17# define OMAP24XX_DMA_EAC_AC_WR 18# define OMAP24XX_DMA_EAC_MD_UL_RD 19# define OMAP24XX_DMA_EAC_MD_UL_WR 20# define OMAP24XX_DMA_EAC_MD_DL_RD 21# define OMAP24XX_DMA_EAC_MD_DL_WR 22# define OMAP24XX_DMA_EAC_BT_UL_RD 23# define OMAP24XX_DMA_EAC_BT_UL_WR 24# define OMAP24XX_DMA_EAC_BT_DL_RD 25# define OMAP24XX_DMA_EAC_BT_DL_WR 26# define OMAP24XX_DMA_I2C1_TX 27# define OMAP24XX_DMA_I2C1_RX 28# define OMAP24XX_DMA_I2C2_TX 29# define OMAP24XX_DMA_I2C2_RX 30# define OMAP24XX_DMA_MCBSP1_TX 31# define OMAP24XX_DMA_MCBSP1_RX 32# define OMAP24XX_DMA_MCBSP2_TX 33# define OMAP24XX_DMA_MCBSP2_RX 34# define OMAP24XX_DMA_SPI1_TX0 35# define OMAP24XX_DMA_SPI1_RX0 36# define OMAP24XX_DMA_SPI1_TX1 37# define OMAP24XX_DMA_SPI1_RX1 38# define OMAP24XX_DMA_SPI1_TX2 39# define OMAP24XX_DMA_SPI1_RX2 40# define OMAP24XX_DMA_SPI1_TX3 41# define OMAP24XX_DMA_SPI1_RX3 42# define OMAP24XX_DMA_SPI2_TX0 43# define OMAP24XX_DMA_SPI2_RX0 44# define OMAP24XX_DMA_SPI2_TX1 45# define OMAP24XX_DMA_SPI2_RX1 46# define OMAP24XX_DMA_UART1_TX 49# define OMAP24XX_DMA_UART1_RX 50# define OMAP24XX_DMA_UART2_TX 51# define OMAP24XX_DMA_UART2_RX 52# define OMAP24XX_DMA_UART3_TX 53# define OMAP24XX_DMA_UART3_RX 54# define OMAP24XX_DMA_USB_W2FC_TX0 55# define OMAP24XX_DMA_USB_W2FC_RX0 56# define OMAP24XX_DMA_USB_W2FC_TX1 57# define OMAP24XX_DMA_USB_W2FC_RX1 58# define OMAP24XX_DMA_USB_W2FC_TX2 59# define OMAP24XX_DMA_USB_W2FC_RX2 60# define OMAP24XX_DMA_MMC1_TX 61# define OMAP24XX_DMA_MMC1_RX 62# define OMAP24XX_DMA_MS 63 /* Not in OMAP2420 */# define OMAP24XX_DMA_EXT_DMAREQ5 64/* omap[123].c */struct omap_mpu_timer_s;struct omap_mpu_timer_s *omap_mpu_timer_init(target_phys_addr_t base, qemu_irq irq, omap_clk clk);struct omap_gp_timer_s;struct omap_gp_timer_s *omap_gp_timer_init(struct omap_target_agent_s *ta, qemu_irq irq, omap_clk fclk, omap_clk iclk);struct omap_watchdog_timer_s;struct omap_watchdog_timer_s *omap_wd_timer_init(target_phys_addr_t base, qemu_irq irq, omap_clk clk);struct omap_32khz_timer_s;struct omap_32khz_timer_s *omap_os_timer_init(target_phys_addr_t base, qemu_irq irq, omap_clk clk);void omap_synctimer_init(struct omap_target_agent_s *ta, struct omap_mpu_state_s *mpu, omap_clk fclk, omap_clk iclk);struct omap_tipb_bridge_s;struct omap_tipb_bridge_s *omap_tipb_bridge_init(target_phys_addr_t base, qemu_irq abort_irq, omap_clk clk);struct omap_uart_s;struct omap_uart_s *omap_uart_init(target_phys_addr_t base, qemu_irq irq, omap_clk fclk, omap_clk iclk, qemu_irq txdma, qemu_irq rxdma, CharDriverState *chr);struct omap_uart_s *omap2_uart_init(struct omap_target_agent_s *ta, qemu_irq irq, omap_clk fclk, omap_clk iclk, qemu_irq txdma, qemu_irq rxdma, CharDriverState *chr);void omap_uart_reset(struct omap_uart_s *s);struct omap_mpuio_s;struct omap_mpuio_s *omap_mpuio_init(target_phys_addr_t base, qemu_irq kbd_int, qemu_irq gpio_int, qemu_irq wakeup, omap_clk clk);qemu_irq *omap_mpuio_in_get(struct omap_mpuio_s *s);void omap_mpuio_out_set(struct omap_mpuio_s *s, int line, qemu_irq handler);void omap_mpuio_key(struct omap_mpuio_s *s, int row, int col, int down);struct omap_gpio_s;struct omap_gpio_s *omap_gpio_init(target_phys_addr_t base, qemu_irq irq, omap_clk clk);qemu_irq *omap_gpio_in_get(struct omap_gpio_s *s);void omap_gpio_out_set(struct omap_gpio_s *s, int line, qemu_irq handler);struct omap_gpif_s;struct omap_gpif_s *omap2_gpio_init(struct omap_target_agent_s *ta, qemu_irq *irq, omap_clk *fclk, omap_clk iclk, int modules);qemu_irq *omap2_gpio_in_get(struct omap_gpif_s *s, int start);void omap2_gpio_out_set(struct omap_gpif_s *s, int line, qemu_irq handler);struct uwire_slave_s { uint16_t (*receive)(void *opaque); void (*send)(void *opaque, uint16_t data); void *opaque;};struct omap_uwire_s;struct omap_uwire_s *omap_uwire_init(target_phys_addr_t base, qemu_irq *irq, qemu_irq dma, omap_clk clk);void omap_uwire_attach(struct omap_uwire_s *s, struct uwire_slave_s *slave, int chipselect);struct omap_mcspi_s;struct omap_mcspi_s *omap_mcspi_init(struct omap_target_agent_s *ta, int chnum, qemu_irq irq, qemu_irq *drq, omap_clk fclk, omap_clk iclk);void omap_mcspi_attach(struct omap_mcspi_s *s, uint32_t (*txrx)(void *opaque, uint32_t, int), void *opaque, int chipselect);struct omap_rtc_s;struct omap_rtc_s *omap_rtc_init(target_phys_addr_t base, qemu_irq *irq, omap_clk clk);struct i2s_codec_s { void *opaque; /* The CPU can call this if it is generating the clock signal on the * i2s port. The CODEC can ignore it if it is set up as a clock * master and generates its own clock. */ void (*set_rate)(void *opaque, int in, int out); void (*tx_swallow)(void *opaque); qemu_irq rx_swallow; qemu_irq tx_start; int tx_rate; int cts; int rx_rate; int rts; struct i2s_fifo_s { uint8_t *fifo; int len; int start; int size; } in, out;};struct omap_mcbsp_s;struct omap_mcbsp_s *omap_mcbsp_init(target_phys_addr_t base, qemu_irq *irq, qemu_irq *dma, omap_clk clk);void omap_mcbsp_i2s_attach(struct omap_mcbsp_s *s, struct i2s_codec_s *slave);struct omap_lpg_s;struct omap_lpg_s *omap_lpg_init(target_phys_addr_t base, omap_clk clk);void omap_tap_init(struct omap_target_agent_s *ta, struct omap_mpu_state_s *mpu);/* omap_lcdc.c */struct omap_lcd_panel_s;void omap_lcdc_reset(struct omap_lcd_panel_s *s);struct omap_lcd_panel_s *omap_lcdc_init(target_phys_addr_t base, qemu_irq irq, struct omap_dma_lcd_channel_s *dma, DisplayState *ds, ram_addr_t imif_base, ram_addr_t emiff_base, omap_clk clk);/* omap_dss.c */struct rfbi_chip_s { void *opaque; void (*write)(void *opaque, int dc, uint16_t value); void (*block)(void *opaque, int dc, void *buf, size_t len, int pitch); uint16_t (*read)(void *opaque, int dc);};struct omap_dss_s;void omap_dss_reset(struct omap_dss_s *s);struct omap_dss_s *omap_dss_init(struct omap_target_agent_s *ta, target_phys_addr_t l3_base, DisplayState *ds, qemu_irq irq, qemu_irq drq, omap_clk fck1, omap_clk fck2, omap_clk ck54m, omap_clk ick1, omap_clk ick2);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -