| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #pragma once |
| |
| #include <assert.h> |
| #include <stdint.h> |
| #include <stdio.h> |
| #include <stdlib.h> |
| #include <string.h> |
| #include <ddk/device.h> |
| #include <ddk/io-buffer.h> |
| #include <ddk/protocol/platform-device.h> |
| #include <zircon/listnode.h> |
| #include <zircon/types.h> |
| #include <threads.h> |
| |
| #define DISPLAY_MASK(start, count) (((1 << (count)) - 1) << (start)) |
| #define DISPLAY_SET_MASK(mask, start, count, value) \ |
| ((mask & ~DISPLAY_MASK(start, count)) | \ |
| (((value) << (start)) & DISPLAY_MASK(start, count))) |
| |
| #define READ32_PRESET_REG(a) readl(display->mmio_preset.vaddr + a) |
| #define WRITE32_PRESET_REG(a, v) writel(v, display->mmio_preset.vaddr + a) |
| |
| #define READ32_HDMITX_REG(a) readl(display->mmio_hdmitx.vaddr + a) |
| #define WRITE32_HDMITX_REG(a, v) writel(v, display->mmio_hdmitx.vaddr + a) |
| |
| #define READ32_HHI_REG(a) readl(display->mmio_hiu.vaddr + a) |
| #define WRITE32_HHI_REG(a, v) writel(v, display->mmio_hiu.vaddr + a) |
| |
| #define READ32_VPU_REG(a) readl(display->mmio_vpu.vaddr + a) |
| #define WRITE32_VPU_REG(a, v) writel(v, display->mmio_vpu.vaddr + a) |
| |
| #define READ32_DMC_REG(a) readl(display->mmio_dmc.vaddr + a) |
| #define WRITE32_DMC_REG(a, v) writel(v, display->mmio_dmc.vaddr + a) |
| |
| #define READ32_HDMITX_SEC_REG(a) readl(display->mmio_hdmitx_sec.vaddr + a) |
| #define WRITE32_HDMITX_SEC_REG(a, v) writel(v, display->mmio_hdmitx_sec.vaddr + a) |
| |
| #define READ32_CBUS_REG(a) readl(display->mmio_cbus.vaddr + 0x400 + a) |
| #define WRITE32_CBUS_REG(a, v) writel(v, display->mmio_cbus.vaddr + 0x400+ a) |
| |
| #define SET_BIT32(x, dest, value, count, start) \ |
| WRITE32_##x##_REG(dest, (READ32_##x##_REG(dest) & ~DISPLAY_MASK(start, count)) | \ |
| (((value) << (start)) & DISPLAY_MASK(start, count))) |
| |
| #define WRITE32_REG(x, a, v) WRITE32_##x##_REG(a, v) |
| #define READ32_REG(x, a) READ32_##x##_REG(a) |
| |
| #define SEC_OFFSET (0x1UL << 24) |
| #define TOP_OFFSET_MASK (0x0UL << 24) |
| #define TOP_SEC_OFFSET_MASK ((TOP_OFFSET_MASK) | (SEC_OFFSET)) |
| #define DWC_OFFSET_MASK (0x10UL << 24) |
| #define DWC_SEC_OFFSET_MASK ((DWC_OFFSET_MASK) | (SEC_OFFSET)) |
| |
| #define DMC_CAV_LUT_DATAL (0x12 << 2) |
| #define DMC_CAV_LUT_DATAH (0x13 << 2) |
| #define DMC_CAV_LUT_ADDR (0x14 << 2) |
| |
| #define DMC_CAV_ADDR_LMASK 0x1fffffff |
| #define DMC_CAV_WIDTH_LMASK 0x7 |
| #define DMC_CAV_WIDTH_LWID 3 |
| #define DMC_CAV_WIDTH_LBIT 29 |
| |
| #define DMC_CAV_WIDTH_HMASK 0x1ff |
| #define DMC_CAV_WIDTH_HBIT 0 |
| #define DMC_CAV_HEIGHT_MASK 0x1fff |
| #define DMC_CAV_HEIGHT_BIT 9 |
| |
| #define DMC_CAV_LUT_ADDR_INDEX_MASK 0x7 |
| #define DMC_CAV_LUT_ADDR_RD_EN (1 << 8) |
| #define DMC_CAV_LUT_ADDR_WR_EN (2 << 8) |
| |
| /* HHI */ |
| #define HHI_MEM_PD_REG0 (0x40 << 2) |
| #define HHI_VPU_MEM_PD_REG0 (0x41 << 2) |
| #define HHI_VPU_MEM_PD_REG1 (0x42 << 2) |
| #define HHI_AUD_DAC_CTRL (0x44 << 2) |
| #define HHI_VIID_CLK_DIV (0x4a << 2) |
| #define HHI_GCLK_MPEG0 (0x50 << 2) |
| #define HHI_GCLK_MPEG1 (0x51 << 2) |
| #define HHI_GCLK_MPEG2 (0x52 << 2) |
| #define HHI_GCLK_OTHER (0x54 << 2) |
| #define HHI_GCLK_AO (0x55 << 2) |
| #define HHI_SYS_OSCIN_CNTL (0x56 << 2) |
| #define HHI_SYS_CPU_CLK_CNTL1 (0x57 << 2) |
| #define HHI_SYS_CPU_RESET_CNTL (0x58 << 2) |
| #define HHI_VID_CLK_DIV (0x59 << 2) |
| #define HHI_MPEG_CLK_CNTL (0x5d << 2) |
| #define HHI_AUD_CLK_CNTL (0x5e << 2) |
| #define HHI_VID_CLK_CNTL (0x5f << 2) |
| #define HHI_WIFI_CLK_CNTL (0x60 << 2) |
| #define HHI_WIFI_PLL_CNTL (0x61 << 2) |
| #define HHI_WIFI_PLL_CNTL2 (0x62 << 2) |
| #define HHI_WIFI_PLL_CNTL3 (0x63 << 2) |
| #define HHI_AUD_CLK_CNTL2 (0x64 << 2) |
| #define HHI_VID_CLK_CNTL2 (0x65 << 2) |
| #define HHI_VID_DIVIDER_CNTL (0x66 << 2) |
| #define HHI_SYS_CPU_CLK_CNTL (0x67 << 2) |
| #define HHI_VID_PLL_CLK_DIV (0x68 << 2) |
| #define HHI_AUD_CLK_CNTL3 (0x69 << 2) |
| #define HHI_MALI_CLK_CNTL (0x6c << 2) |
| #define HHI_MIPI_PHY_CLK_CNTL (0x6e << 2) |
| #define HHI_VPU_CLK_CNTL (0x6f << 2) |
| #define HHI_OTHER_PLL_CNTL (0x70 << 2) |
| #define HHI_OTHER_PLL_CNTL2 (0x71 << 2) |
| #define HHI_OTHER_PLL_CNTL3 (0x72 << 2) |
| #define HHI_HDMI_CLK_CNTL (0x73 << 2) |
| #define HHI_DEMOD_CLK_CNTL (0x74 << 2) |
| #define HHI_SATA_CLK_CNTL (0x75 << 2) |
| #define HHI_ETH_CLK_CNTL (0x76 << 2) |
| #define HHI_CLK_DOUBLE_CNTL (0x77 << 2) |
| #define HHI_VDEC_CLK_CNTL (0x78 << 2) |
| #define HHI_VDEC2_CLK_CNTL (0x79 << 2) |
| #define HHI_VDEC3_CLK_CNTL (0x7a << 2) |
| #define HHI_VDEC4_CLK_CNTL (0x7b << 2) |
| #define HHI_HDCP22_CLK_CNTL (0x7c << 2) |
| #define HHI_VAPBCLK_CNTL (0x7d << 2) |
| #define HHI_VP9DEC_CLK_CNTL (0x7e << 2) |
| #define HHI_HDMI_AFC_CNTL (0x7f << 2) |
| #define HHI_HDMIRX_CLK_CNTL (0x80 << 2) |
| #define HHI_HDMIRX_AUD_CLK_CNTL (0x81 << 2) |
| #define HHI_EDP_APB_CLK_CNTL (0x82 << 2) |
| #define HHI_VPU_CLKB_CNTL (0x83 << 2) |
| #define HHI_VID_PLL_MOD_CNTL0 (0x84 << 2) |
| #define HHI_VID_PLL_MOD_LOW_TCNT (0x85 << 2) |
| #define HHI_VID_PLL_MOD_HIGH_TCNT (0x86 << 2) |
| #define HHI_VID_PLL_MOD_NOM_TCNT (0x87 << 2) |
| #define HHI_USB_CLK_CNTL (0x88 << 2) |
| #define HHI_32K_CLK_CNTL (0x89 << 2) |
| #define HHI_GEN_CLK_CNTL (0x8a << 2) |
| #define HHI_GEN_CLK_CNTL2 (0x8b << 2) |
| #define HHI_JTAG_CONFIG (0x8e << 2) |
| #define HHI_VAFE_CLKXTALIN_CNTL (0x8f << 2) |
| #define HHI_VAFE_CLKOSCIN_CNTL (0x90 << 2) |
| #define HHI_VAFE_CLKIN_CNTL (0x91 << 2) |
| #define HHI_TVFE_AUTOMODE_CLK_CNTL (0x92 << 2) |
| #define HHI_VAFE_CLKPI_CNTL (0x93 << 2) |
| #define HHI_VDIN_MEAS_CLK_CNTL (0x94 << 2) |
| #define HHI_PCM_CLK_CNTL (0x96 << 2) |
| #define HHI_NAND_CLK_CNTL (0x97 << 2) |
| #define HHI_ISP_LED_CLK_CNTL (0x98 << 2) |
| #define HHI_SD_EMMC_CLK_CNTL (0x99 << 2) |
| #define HHI_EDP_TX_PHY_CNTL0 (0x9c << 2) |
| #define HHI_EDP_TX_PHY_CNTL1 (0x9d << 2) |
| #define HHI_MPLL_CNTL (0xa0 << 2) |
| #define HHI_MPLL_CNTL2 (0xa1 << 2) |
| #define HHI_MPLL_CNTL3 (0xa2 << 2) |
| #define HHI_MPLL_CNTL4 (0xa3 << 2) |
| #define HHI_MPLL_CNTL5 (0xa4 << 2) |
| #define HHI_MPLL_CNTL6 (0xa5 << 2) |
| #define HHI_MPLL_CNTL7 (0xa6 << 2) |
| #define HHI_MPLL_CNTL8 (0xa7 << 2) |
| #define HHI_MPLL_CNTL9 (0xa8 << 2) |
| #define HHI_MPLL_CNTL10 (0xa9 << 2) |
| #define HHI_ADC_PLL_CNTL (0xaa << 2) |
| #define HHI_ADC_PLL_CNTL2 (0xab << 2) |
| #define HHI_ADC_PLL_CNTL3 (0xac << 2) |
| #define HHI_ADC_PLL_CNTL4 (0xad << 2) |
| #define HHI_ADC_PLL_CNTL_I (0xae << 2) |
| #define HHI_AUDCLK_PLL_CNTL (0xb0 << 2) |
| #define HHI_AUDCLK_PLL_CNTL2 (0xb1 << 2) |
| #define HHI_AUDCLK_PLL_CNTL3 (0xb2 << 2) |
| #define HHI_AUDCLK_PLL_CNTL4 (0xb3 << 2) |
| #define HHI_AUDCLK_PLL_CNTL5 (0xb4 << 2) |
| #define HHI_AUDCLK_PLL_CNTL6 (0xb5 << 2) |
| #define HHI_L2_DDR_CLK_CNTL (0xb6 << 2) |
| #define HHI_MPLL3_CNTL0 (0xb8 << 2) |
| #define HHI_MPLL3_CNTL1 (0xb9 << 2) |
| #define HHI_VDAC_CNTL0 (0xbd << 2) |
| #define HHI_VDAC_CNTL1 (0xbe << 2) |
| #define HHI_SYS_PLL_CNTL (0xc0 << 2) |
| #define HHI_SYS_PLL_CNTL2 (0xc1 << 2) |
| #define HHI_SYS_PLL_CNTL3 (0xc2 << 2) |
| #define HHI_SYS_PLL_CNTL4 (0xc3 << 2) |
| #define HHI_SYS_PLL_CNTL5 (0xc4 << 2) |
| #define HHI_DPLL_TOP_I (0xc6 << 2) |
| #define HHI_DPLL_TOP2_I (0xc7 << 2) |
| #define HHI_HDMI_PLL_CNTL (0xc8 << 2) |
| #define HHI_HDMI_PLL_CNTL1 (0xc9 << 2) |
| #define HHI_HDMI_PLL_CNTL2 (0xca << 2) |
| #define HHI_HDMI_PLL_CNTL3 (0xcb << 2) |
| #define HHI_HDMI_PLL_CNTL4 (0xcc << 2) |
| #define HHI_HDMI_PLL_CNTL5 (0xcd << 2) |
| #define HHI_HDMI_PLL_STS (0xce << 2) |
| #define HHI_DSI_LVDS_EDP_CNTL0 (0xd1 << 2) |
| #define HHI_DSI_LVDS_EDP_CNTL1 (0xd2 << 2) |
| #define HHI_CSI_PHY_CNTL0 (0xd3 << 2) |
| #define HHI_CSI_PHY_CNTL1 (0xd4 << 2) |
| #define HHI_CSI_PHY_CNTL2 (0xd5 << 2) |
| #define HHI_CSI_PHY_CNTL3 (0xd6 << 2) |
| #define HHI_CSI_PHY_CNTL4 (0xd7 << 2) |
| #define HHI_DIF_CSI_PHY_CNTL0 (0xd8 << 2) |
| #define HHI_DIF_CSI_PHY_CNTL1 (0xd9 << 2) |
| #define HHI_DIF_CSI_PHY_CNTL2 (0xda << 2) |
| #define HHI_DIF_CSI_PHY_CNTL3 (0xdb << 2) |
| #define HHI_DIF_CSI_PHY_CNTL4 (0xdc << 2) |
| #define HHI_DIF_CSI_PHY_CNTL5 (0xdd << 2) |
| #define HHI_LVDS_TX_PHY_CNTL0 (0xde << 2) |
| #define HHI_LVDS_TX_PHY_CNTL1 (0xdf << 2) |
| #define HHI_VID2_PLL_CNTL (0xe0 << 2) |
| #define HHI_VID2_PLL_CNTL2 (0xe1 << 2) |
| #define HHI_VID2_PLL_CNTL3 (0xe2 << 2) |
| #define HHI_VID2_PLL_CNTL4 (0xe3 << 2) |
| #define HHI_VID2_PLL_CNTL5 (0xe4 << 2) |
| #define HHI_VID2_PLL_CNTL_I (0xe5 << 2) |
| #define HHI_HDMI_PHY_CNTL0 (0xe8 << 2) |
| #define HHI_HDMI_PHY_CNTL1 (0xe9 << 2) |
| #define HHI_HDMI_PHY_CNTL2 (0xea << 2) |
| #define HHI_HDMI_PHY_CNTL3 (0xeb << 2) |
| #define HHI_VID_LOCK_CLK_CNTL (0xf2 << 2) |
| #define HHI_ATV_DMD_SYS_CLK_CNTL (0xf3 << 2) |
| #define HHI_BT656_CLK_CNTL (0xf5 << 2) |
| #define HHI_SAR_CLK_CNTL (0xf6 << 2) |
| #define HHI_HDMIRX_AUD_PLL_CNTL (0xf8 << 2) |
| #define HHI_HDMIRX_AUD_PLL_CNTL2 (0xf9 << 2) |
| #define HHI_HDMIRX_AUD_PLL_CNTL3 (0xfa << 2) |
| #define HHI_HDMIRX_AUD_PLL_CNTL4 (0xfb << 2) |
| #define HHI_HDMIRX_AUD_PLL_CNTL5 (0xfc << 2) |
| #define HHI_HDMIRX_AUD_PLL_CNTL6 (0xfd << 2) |
| #define HHI_HDMIRX_AUD_PLL_CNTL_I (0xfe << 2) |
| |
| // P RESET |
| #define PRESET_REGISTER (0x400) |
| #define PRESET0_REGISTER (0x404) |
| #define PRESET2_REGISTER (0x40C) |
| |
| // HDMITX ADDRESS and DATA PORTS |
| #define HDMITX_ADDR_PORT (0x00) |
| #define HDMITX_DATA_PORT (0x04) |
| #define HDMITX_CTRL_PORT (0x08) |
| |
| |
| // HDMI TOP |
| #define HDMITX_TOP_SW_RESET (TOP_OFFSET_MASK + 0x000) |
| #define HDMITX_TOP_CLK_CNTL (TOP_OFFSET_MASK + 0x001) |
| #define HDMITX_TOP_HPD_FILTER (TOP_OFFSET_MASK + 0x002) |
| #define HDMITX_TOP_INTR_MASKN (TOP_OFFSET_MASK + 0x003) |
| #define HDMITX_TOP_INTR_STAT (TOP_OFFSET_MASK + 0x004) |
| #define HDMITX_TOP_INTR_STAT_CLR (TOP_OFFSET_MASK + 0x005) |
| #define HDMITX_TOP_BIST_CNTL (TOP_OFFSET_MASK + 0x006) |
| #define HDMITX_TOP_SHIFT_PTTN_012 (TOP_OFFSET_MASK + 0x007) |
| #define HDMITX_TOP_SHIFT_PTTN_345 (TOP_OFFSET_MASK + 0x008) |
| #define HDMITX_TOP_SHIFT_PTTN_67 (TOP_OFFSET_MASK + 0x009) |
| #define HDMITX_TOP_TMDS_CLK_PTTN_01 (TOP_OFFSET_MASK + 0x00A) |
| #define HDMITX_TOP_TMDS_CLK_PTTN_23 (TOP_OFFSET_MASK + 0x00B) |
| #define HDMITX_TOP_TMDS_CLK_PTTN_CNTL (TOP_OFFSET_MASK + 0x00C) |
| #define HDMITX_TOP_REVOCMEM_STAT (TOP_OFFSET_MASK + 0x00D) |
| #define HDMITX_TOP_STAT0 (TOP_OFFSET_MASK + 0x00E) |
| #define HDMITX_TOP_SKP_CNTL_STAT (TOP_SEC_OFFSET_MASK + 0x010) |
| #define HDMITX_TOP_NONCE_0 (TOP_SEC_OFFSET_MASK + 0x011) |
| #define HDMITX_TOP_NONCE_1 (TOP_SEC_OFFSET_MASK + 0x012) |
| #define HDMITX_TOP_NONCE_2 (TOP_SEC_OFFSET_MASK + 0x013) |
| #define HDMITX_TOP_NONCE_3 (TOP_SEC_OFFSET_MASK + 0x014) |
| #define HDMITX_TOP_PKF_0 (TOP_SEC_OFFSET_MASK + 0x015) |
| #define HDMITX_TOP_PKF_1 (TOP_SEC_OFFSET_MASK + 0x016) |
| #define HDMITX_TOP_PKF_2 (TOP_SEC_OFFSET_MASK + 0x017) |
| #define HDMITX_TOP_PKF_3 (TOP_SEC_OFFSET_MASK + 0x018) |
| #define HDMITX_TOP_DUK_0 (TOP_SEC_OFFSET_MASK + 0x019) |
| #define HDMITX_TOP_DUK_1 (TOP_SEC_OFFSET_MASK + 0x01A) |
| #define HDMITX_TOP_DUK_2 (TOP_SEC_OFFSET_MASK + 0x01B) |
| #define HDMITX_TOP_DUK_3 (TOP_SEC_OFFSET_MASK + 0x01C) |
| #define HDMITX_TOP_INFILTER (TOP_OFFSET_MASK + 0x01D) |
| #define HDMITX_TOP_NSEC_SCRATCH (TOP_OFFSET_MASK + 0x01E) |
| #define HDMITX_TOP_SEC_SCRATCH (TOP_SEC_OFFSET_MASK + 0x01F) |
| #define HDMITX_TOP_DONT_TOUCH0 (TOP_OFFSET_MASK + 0x0FE) |
| #define HDMITX_TOP_DONT_TOUCH1 (TOP_OFFSET_MASK + 0x0FF) |
| |
| |
| // HDMI DWC |
| #define HDMITX_DWC_DESIGN_ID (DWC_OFFSET_MASK + 0x0000) |
| #define HDMITX_DWC_REVISION_ID (DWC_OFFSET_MASK + 0x0001) |
| #define HDMITX_DWC_PRODUCT_ID0 (DWC_OFFSET_MASK + 0x0002) |
| #define HDMITX_DWC_PRODUCT_ID1 (DWC_OFFSET_MASK + 0x0003) |
| #define HDMITX_DWC_CONFIG0_ID (DWC_OFFSET_MASK + 0x0004) |
| #define HDMITX_DWC_CONFIG1_ID (DWC_OFFSET_MASK + 0x0005) |
| #define HDMITX_DWC_CONFIG2_ID (DWC_OFFSET_MASK + 0x0006) |
| #define HDMITX_DWC_CONFIG3_ID (DWC_OFFSET_MASK + 0x0007) |
| #define HDMITX_DWC_IH_FC_STAT0 (DWC_OFFSET_MASK + 0x0100) |
| #define HDMITX_DWC_IH_FC_STAT1 (DWC_OFFSET_MASK + 0x0101) |
| #define HDMITX_DWC_IH_FC_STAT2 (DWC_OFFSET_MASK + 0x0102) |
| #define HDMITX_DWC_IH_AS_STAT0 (DWC_OFFSET_MASK + 0x0103) |
| #define HDMITX_DWC_IH_PHY_STAT0 (DWC_OFFSET_MASK + 0x0104) |
| #define HDMITX_DWC_IH_I2CM_STAT0 (DWC_OFFSET_MASK + 0x0105) |
| #define HDMITX_DWC_IH_CEC_STAT0 (DWC_OFFSET_MASK + 0x0106) |
| #define HDMITX_DWC_IH_VP_STAT0 (DWC_OFFSET_MASK + 0x0107) |
| #define HDMITX_DWC_IH_I2CMPHY_STAT0 (DWC_OFFSET_MASK + 0x0108) |
| #define HDMITX_DWC_IH_DECODE (DWC_OFFSET_MASK + 0x0170) |
| #define HDMITX_DWC_IH_MUTE_FC_STAT0 (DWC_OFFSET_MASK + 0x0180) |
| #define HDMITX_DWC_IH_MUTE_FC_STAT1 (DWC_OFFSET_MASK + 0x0181) |
| #define HDMITX_DWC_IH_MUTE_FC_STAT2 (DWC_OFFSET_MASK + 0x0182) |
| #define HDMITX_DWC_IH_MUTE_AS_STAT0 (DWC_OFFSET_MASK + 0x0183) |
| #define HDMITX_DWC_IH_MUTE_PHY_STAT0 (DWC_OFFSET_MASK + 0x0184) |
| #define HDMITX_DWC_IH_MUTE_I2CM_STAT0 (DWC_OFFSET_MASK + 0x0185) |
| #define HDMITX_DWC_IH_MUTE_CEC_STAT0 (DWC_OFFSET_MASK + 0x0186) |
| #define HDMITX_DWC_IH_MUTE_VP_STAT0 (DWC_OFFSET_MASK + 0x0187) |
| #define HDMITX_DWC_IH_MUTE_I2CMPHY_STAT0 (DWC_OFFSET_MASK + 0x0188) |
| #define HDMITX_DWC_IH_MUTE (DWC_OFFSET_MASK + 0x01FF) |
| |
| #define HDMITX_DWC_TX_INVID0 (DWC_OFFSET_MASK + 0x0200) |
| #define TX_INVID0_DE_GEN_ENB (0x01 << 7) |
| #define TX_INVID0_VM_RGB444_8B (0x01 << 0) |
| #define TX_INVID0_VM_RGB444_10B (0x03 << 0) |
| #define TX_INVID0_VM_RGB444_12B (0x05 << 0) |
| #define TX_INVID0_VM_RGB444_16B (0x07 << 0) |
| #define TX_INVID0_VM_YCBCR444_8B (0x09 << 0) |
| #define TX_INVID0_VM_YCBCR444_10B (0x0B << 0) |
| #define TX_INVID0_VM_YCBCR444_12B (0x0D << 0) |
| #define TX_INVID0_VM_YCBCR444_16B (0x0F << 0) |
| |
| #define HDMITX_DWC_TX_INSTUFFING (DWC_OFFSET_MASK + 0x0201) |
| #define HDMITX_DWC_TX_GYDATA0 (DWC_OFFSET_MASK + 0x0202) |
| #define HDMITX_DWC_TX_GYDATA1 (DWC_OFFSET_MASK + 0x0203) |
| #define HDMITX_DWC_TX_RCRDATA0 (DWC_OFFSET_MASK + 0x0204) |
| #define HDMITX_DWC_TX_RCRDATA1 (DWC_OFFSET_MASK + 0x0205) |
| #define HDMITX_DWC_TX_BCBDATA0 (DWC_OFFSET_MASK + 0x0206) |
| #define HDMITX_DWC_TX_BCBDATA1 (DWC_OFFSET_MASK + 0x0207) |
| #define HDMITX_DWC_VP_STATUS (DWC_OFFSET_MASK + 0x0800) |
| #define HDMITX_DWC_VP_PR_CD (DWC_OFFSET_MASK + 0x0801) |
| #define HDMITX_DWC_VP_STUFF (DWC_OFFSET_MASK + 0x0802) |
| #define HDMITX_DWC_VP_REMAP (DWC_OFFSET_MASK + 0x0803) |
| |
| #define HDMITX_DWC_VP_CONF (DWC_OFFSET_MASK + 0x0804) |
| #define VP_CONF_BYPASS_EN (1 << 6) |
| #define VP_CONF_BYPASS_SEL_VP (1 << 2) |
| #define VP_CONF_OUTSELECTOR (2 << 0) |
| #define HDMITX_DWC_VP_MASK (DWC_OFFSET_MASK + 0x0807) |
| |
| #define HDMITX_DWC_FC_INVIDCONF (DWC_OFFSET_MASK + 0x1000) |
| #define FC_INVIDCONF_HDCP_KEEPOUT (1 << 7) |
| #define FC_INVIDCONF_VSYNC_POL(x) (1 << 6) |
| #define FC_INVIDCONF_HSYNC_POL(x) (1 << 5) |
| #define FC_INVIDCONF_DE_POL_H (1 << 4) |
| #define FC_INVIDCONF_DVI_HDMI_MODE (1 << 3) |
| #define FC_INVIDCONF_VBLANK_OSC (1 << 1) |
| #define FC_INVIDCONF_IN_VID_INTERLACED (1 << 0) |
| |
| #define HDMITX_DWC_FC_INHACTV0 (DWC_OFFSET_MASK + 0x1001) |
| #define HDMITX_DWC_FC_INHACTV1 (DWC_OFFSET_MASK + 0x1002) |
| #define HDMITX_DWC_FC_INHBLANK0 (DWC_OFFSET_MASK + 0x1003) |
| #define HDMITX_DWC_FC_INHBLANK1 (DWC_OFFSET_MASK + 0x1004) |
| #define HDMITX_DWC_FC_INVACTV0 (DWC_OFFSET_MASK + 0x1005) |
| #define HDMITX_DWC_FC_INVACTV1 (DWC_OFFSET_MASK + 0x1006) |
| #define HDMITX_DWC_FC_INVBLANK (DWC_OFFSET_MASK + 0x1007) |
| #define HDMITX_DWC_FC_HSYNCINDELAY0 (DWC_OFFSET_MASK + 0x1008) |
| #define HDMITX_DWC_FC_HSYNCINDELAY1 (DWC_OFFSET_MASK + 0x1009) |
| #define HDMITX_DWC_FC_HSYNCINWIDTH0 (DWC_OFFSET_MASK + 0x100A) |
| #define HDMITX_DWC_FC_HSYNCINWIDTH1 (DWC_OFFSET_MASK + 0x100B) |
| #define HDMITX_DWC_FC_VSYNCINDELAY (DWC_OFFSET_MASK + 0x100C) |
| #define HDMITX_DWC_FC_VSYNCINWIDTH (DWC_OFFSET_MASK + 0x100D) |
| #define HDMITX_DWC_FC_INFREQ0 (DWC_OFFSET_MASK + 0x100E) |
| #define HDMITX_DWC_FC_INFREQ1 (DWC_OFFSET_MASK + 0x100F) |
| #define HDMITX_DWC_FC_INFREQ2 (DWC_OFFSET_MASK + 0x1010) |
| #define HDMITX_DWC_FC_CTRLDUR (DWC_OFFSET_MASK + 0x1011) |
| #define HDMITX_DWC_FC_EXCTRLDUR (DWC_OFFSET_MASK + 0x1012) |
| #define HDMITX_DWC_FC_EXCTRLSPAC (DWC_OFFSET_MASK + 0x1013) |
| #define HDMITX_DWC_FC_CH0PREAM (DWC_OFFSET_MASK + 0x1014) |
| #define HDMITX_DWC_FC_CH1PREAM (DWC_OFFSET_MASK + 0x1015) |
| #define HDMITX_DWC_FC_CH2PREAM (DWC_OFFSET_MASK + 0x1016) |
| #define HDMITX_DWC_FC_AVICONF3 (DWC_OFFSET_MASK + 0x1017) |
| #define HDMITX_DWC_FC_GCP (DWC_OFFSET_MASK + 0x1018) |
| |
| #define HDMITX_DWC_FC_AVICONF0 (DWC_OFFSET_MASK + 0x1019) |
| #define FC_AVICONF0_A0 (1 << 6) |
| #define FC_AVICONF0_RGB (0 << 0) |
| #define FC_AVICONF0_444 (2 << 0) |
| |
| #define HDMITX_DWC_FC_AVICONF1 (DWC_OFFSET_MASK + 0x101A) |
| #define FC_AVICONF1_C1C0(x) (x << 6) |
| #define FC_AVICONF1_M1M0(x) (x << 4) |
| #define FC_AVICONF1_R3R0 (0x8 << 0) |
| |
| |
| #define HDMITX_DWC_FC_AVICONF2 (DWC_OFFSET_MASK + 0x101B) |
| #define HDMITX_DWC_FC_AVIVID (DWC_OFFSET_MASK + 0x101C) |
| #define HDMITX_DWC_FC_AVIETB0 (DWC_OFFSET_MASK + 0x101D) |
| #define HDMITX_DWC_FC_AVIETB1 (DWC_OFFSET_MASK + 0x101E) |
| #define HDMITX_DWC_FC_AVISBB0 (DWC_OFFSET_MASK + 0x101F) |
| #define HDMITX_DWC_FC_AVISBB1 (DWC_OFFSET_MASK + 0x1020) |
| #define HDMITX_DWC_FC_AVIELB0 (DWC_OFFSET_MASK + 0x1021) |
| #define HDMITX_DWC_FC_AVIELB1 (DWC_OFFSET_MASK + 0x1022) |
| #define HDMITX_DWC_FC_AVISRB0 (DWC_OFFSET_MASK + 0x1023) |
| #define HDMITX_DWC_FC_AVISRB1 (DWC_OFFSET_MASK + 0x1024) |
| #define HDMITX_DWC_FC_AUDICONF0 (DWC_OFFSET_MASK + 0x1025) |
| #define HDMITX_DWC_FC_AUDICONF1 (DWC_OFFSET_MASK + 0x1026) |
| #define HDMITX_DWC_FC_AUDICONF2 (DWC_OFFSET_MASK + 0x1027) |
| #define HDMITX_DWC_FC_AUDICONF3 (DWC_OFFSET_MASK + 0x1028) |
| #define HDMITX_DWC_FC_VSDIEEEID0 (DWC_OFFSET_MASK + 0x1029) |
| #define HDMITX_DWC_FC_VSDSIZE (DWC_OFFSET_MASK + 0x102A) |
| #define HDMITX_DWC_FC_VSDIEEEID1 (DWC_OFFSET_MASK + 0x1030) |
| #define HDMITX_DWC_FC_VSDIEEEID2 (DWC_OFFSET_MASK + 0x1031) |
| #define HDMITX_DWC_FC_VSDPAYLOAD0 (DWC_OFFSET_MASK + 0x1032) |
| #define HDMITX_DWC_FC_VSDPAYLOAD1 (DWC_OFFSET_MASK + 0x1033) |
| #define HDMITX_DWC_FC_VSDPAYLOAD2 (DWC_OFFSET_MASK + 0x1034) |
| #define HDMITX_DWC_FC_VSDPAYLOAD3 (DWC_OFFSET_MASK + 0x1035) |
| #define HDMITX_DWC_FC_VSDPAYLOAD4 (DWC_OFFSET_MASK + 0x1036) |
| #define HDMITX_DWC_FC_VSDPAYLOAD5 (DWC_OFFSET_MASK + 0x1037) |
| #define HDMITX_DWC_FC_VSDPAYLOAD6 (DWC_OFFSET_MASK + 0x1038) |
| #define HDMITX_DWC_FC_VSDPAYLOAD7 (DWC_OFFSET_MASK + 0x1039) |
| #define HDMITX_DWC_FC_VSDPAYLOAD8 (DWC_OFFSET_MASK + 0x103A) |
| #define HDMITX_DWC_FC_VSDPAYLOAD9 (DWC_OFFSET_MASK + 0x103B) |
| #define HDMITX_DWC_FC_VSDPAYLOAD10 (DWC_OFFSET_MASK + 0x103C) |
| #define HDMITX_DWC_FC_VSDPAYLOAD11 (DWC_OFFSET_MASK + 0x103D) |
| #define HDMITX_DWC_FC_VSDPAYLOAD12 (DWC_OFFSET_MASK + 0x103E) |
| #define HDMITX_DWC_FC_VSDPAYLOAD13 (DWC_OFFSET_MASK + 0x103F) |
| #define HDMITX_DWC_FC_VSDPAYLOAD14 (DWC_OFFSET_MASK + 0x1040) |
| #define HDMITX_DWC_FC_VSDPAYLOAD15 (DWC_OFFSET_MASK + 0x1041) |
| #define HDMITX_DWC_FC_VSDPAYLOAD16 (DWC_OFFSET_MASK + 0x1042) |
| #define HDMITX_DWC_FC_VSDPAYLOAD17 (DWC_OFFSET_MASK + 0x1043) |
| #define HDMITX_DWC_FC_VSDPAYLOAD18 (DWC_OFFSET_MASK + 0x1044) |
| #define HDMITX_DWC_FC_VSDPAYLOAD19 (DWC_OFFSET_MASK + 0x1045) |
| #define HDMITX_DWC_FC_VSDPAYLOAD20 (DWC_OFFSET_MASK + 0x1046) |
| #define HDMITX_DWC_FC_VSDPAYLOAD21 (DWC_OFFSET_MASK + 0x1047) |
| #define HDMITX_DWC_FC_VSDPAYLOAD22 (DWC_OFFSET_MASK + 0x1048) |
| #define HDMITX_DWC_FC_VSDPAYLOAD23 (DWC_OFFSET_MASK + 0x1049) |
| #define HDMITX_DWC_FC_SPDVENDORNAME0 (DWC_OFFSET_MASK + 0x104A) |
| #define HDMITX_DWC_FC_SPDVENDORNAME1 (DWC_OFFSET_MASK + 0x104B) |
| #define HDMITX_DWC_FC_SPDVENDORNAME2 (DWC_OFFSET_MASK + 0x104C) |
| #define HDMITX_DWC_FC_SPDVENDORNAME3 (DWC_OFFSET_MASK + 0x104D) |
| #define HDMITX_DWC_FC_SPDVENDORNAME4 (DWC_OFFSET_MASK + 0x104E) |
| #define HDMITX_DWC_FC_SPDVENDORNAME5 (DWC_OFFSET_MASK + 0x104F) |
| #define HDMITX_DWC_FC_SPDVENDORNAME6 (DWC_OFFSET_MASK + 0x1050) |
| #define HDMITX_DWC_FC_SPDVENDORNAME7 (DWC_OFFSET_MASK + 0x1051) |
| #define HDMITX_DWC_FC_SDPPRODUCTNAME0 (DWC_OFFSET_MASK + 0x1052) |
| #define HDMITX_DWC_FC_SDPPRODUCTNAME1 (DWC_OFFSET_MASK + 0x1053) |
| #define HDMITX_DWC_FC_SDPPRODUCTNAME2 (DWC_OFFSET_MASK + 0x1054) |
| #define HDMITX_DWC_FC_SDPPRODUCTNAME3 (DWC_OFFSET_MASK + 0x1055) |
| #define HDMITX_DWC_FC_SDPPRODUCTNAME4 (DWC_OFFSET_MASK + 0x1056) |
| #define HDMITX_DWC_FC_SDPPRODUCTNAME5 (DWC_OFFSET_MASK + 0x1057) |
| #define HDMITX_DWC_FC_SDPPRODUCTNAME6 (DWC_OFFSET_MASK + 0x1058) |
| #define HDMITX_DWC_FC_SDPPRODUCTNAME7 (DWC_OFFSET_MASK + 0x1059) |
| #define HDMITX_DWC_FC_SDPPRODUCTNAME8 (DWC_OFFSET_MASK + 0x105A) |
| #define HDMITX_DWC_FC_SDPPRODUCTNAME9 (DWC_OFFSET_MASK + 0x105B) |
| #define HDMITX_DWC_FC_SDPPRODUCTNAME10 (DWC_OFFSET_MASK + 0x105C) |
| #define HDMITX_DWC_FC_SDPPRODUCTNAME11 (DWC_OFFSET_MASK + 0x105D) |
| #define HDMITX_DWC_FC_SDPPRODUCTNAME12 (DWC_OFFSET_MASK + 0x105E) |
| #define HDMITX_DWC_FC_SDPPRODUCTNAME13 (DWC_OFFSET_MASK + 0x105F) |
| #define HDMITX_DWC_FC_SDPPRODUCTNAME14 (DWC_OFFSET_MASK + 0x1060) |
| #define HDMITX_DWC_FC_SPDPRODUCTNAME15 (DWC_OFFSET_MASK + 0x1061) |
| #define HDMITX_DWC_FC_SPDDEVICEINF (DWC_OFFSET_MASK + 0x1062) |
| #define HDMITX_DWC_FC_AUDSCONF (DWC_OFFSET_MASK + 0x1063) |
| #define HDMITX_DWC_FC_AUDSSTAT (DWC_OFFSET_MASK + 0x1064) |
| #define HDMITX_DWC_FC_AUDSV (DWC_OFFSET_MASK + 0x1065) |
| #define HDMITX_DWC_FC_AUDSU (DWC_OFFSET_MASK + 0x1066) |
| #define HDMITX_DWC_FC_AUDSCHNLS0 (DWC_OFFSET_MASK + 0x1067) |
| #define HDMITX_DWC_FC_AUDSCHNLS1 (DWC_OFFSET_MASK + 0x1068) |
| #define HDMITX_DWC_FC_AUDSCHNLS2 (DWC_OFFSET_MASK + 0x1069) |
| #define HDMITX_DWC_FC_AUDSCHNLS3 (DWC_OFFSET_MASK + 0x106A) |
| #define HDMITX_DWC_FC_AUDSCHNLS4 (DWC_OFFSET_MASK + 0x106B) |
| #define HDMITX_DWC_FC_AUDSCHNLS5 (DWC_OFFSET_MASK + 0x106C) |
| #define HDMITX_DWC_FC_AUDSCHNLS6 (DWC_OFFSET_MASK + 0x106D) |
| #define HDMITX_DWC_FC_AUDSCHNLS7 (DWC_OFFSET_MASK + 0x106E) |
| #define HDMITX_DWC_FC_AUDSCHNLS8 (DWC_OFFSET_MASK + 0x106F) |
| #define HDMITX_DWC_FC_DATACH0FILL (DWC_OFFSET_MASK + 0x1070) |
| #define HDMITX_DWC_FC_DATACH1FILL (DWC_OFFSET_MASK + 0x1071) |
| #define HDMITX_DWC_FC_DATACH2FILL (DWC_OFFSET_MASK + 0x1072) |
| #define HDMITX_DWC_FC_CTRLQHIGH (DWC_OFFSET_MASK + 0x1073) |
| #define HDMITX_DWC_FC_CTRLQLOW (DWC_OFFSET_MASK + 0x1074) |
| #define HDMITX_DWC_FC_ACP0 (DWC_OFFSET_MASK + 0x1075) |
| #define HDMITX_DWC_FC_ACP16 (DWC_OFFSET_MASK + 0x1082) |
| #define HDMITX_DWC_FC_ACP15 (DWC_OFFSET_MASK + 0x1083) |
| #define HDMITX_DWC_FC_ACP14 (DWC_OFFSET_MASK + 0x1084) |
| #define HDMITX_DWC_FC_ACP13 (DWC_OFFSET_MASK + 0x1085) |
| #define HDMITX_DWC_FC_ACP12 (DWC_OFFSET_MASK + 0x1086) |
| #define HDMITX_DWC_FC_ACP11 (DWC_OFFSET_MASK + 0x1087) |
| #define HDMITX_DWC_FC_ACP10 (DWC_OFFSET_MASK + 0x1088) |
| #define HDMITX_DWC_FC_ACP9 (DWC_OFFSET_MASK + 0x1089) |
| #define HDMITX_DWC_FC_ACP8 (DWC_OFFSET_MASK + 0x108A) |
| #define HDMITX_DWC_FC_ACP7 (DWC_OFFSET_MASK + 0x108B) |
| #define HDMITX_DWC_FC_ACP6 (DWC_OFFSET_MASK + 0x108C) |
| #define HDMITX_DWC_FC_ACP5 (DWC_OFFSET_MASK + 0x108D) |
| #define HDMITX_DWC_FC_ACP4 (DWC_OFFSET_MASK + 0x108E) |
| #define HDMITX_DWC_FC_ACP3 (DWC_OFFSET_MASK + 0x108F) |
| #define HDMITX_DWC_FC_ACP2 (DWC_OFFSET_MASK + 0x1090) |
| #define HDMITX_DWC_FC_ACP1 (DWC_OFFSET_MASK + 0x1091) |
| #define HDMITX_DWC_FC_ISCR1_0 (DWC_OFFSET_MASK + 0x1092) |
| #define HDMITX_DWC_FC_ISCR1_16 (DWC_OFFSET_MASK + 0x1093) |
| #define HDMITX_DWC_FC_ISCR1_15 (DWC_OFFSET_MASK + 0x1094) |
| #define HDMITX_DWC_FC_ISCR1_14 (DWC_OFFSET_MASK + 0x1095) |
| #define HDMITX_DWC_FC_ISCR1_13 (DWC_OFFSET_MASK + 0x1096) |
| #define HDMITX_DWC_FC_ISCR1_12 (DWC_OFFSET_MASK + 0x1097) |
| #define HDMITX_DWC_FC_ISCR1_11 (DWC_OFFSET_MASK + 0x1098) |
| #define HDMITX_DWC_FC_ISCR1_10 (DWC_OFFSET_MASK + 0x1099) |
| #define HDMITX_DWC_FC_ISCR1_9 (DWC_OFFSET_MASK + 0x109A) |
| #define HDMITX_DWC_FC_ISCR1_8 (DWC_OFFSET_MASK + 0x109B) |
| #define HDMITX_DWC_FC_ISCR1_7 (DWC_OFFSET_MASK + 0x109C) |
| #define HDMITX_DWC_FC_ISCR1_6 (DWC_OFFSET_MASK + 0x109D) |
| #define HDMITX_DWC_FC_ISCR1_5 (DWC_OFFSET_MASK + 0x109E) |
| #define HDMITX_DWC_FC_ISCR1_4 (DWC_OFFSET_MASK + 0x109F) |
| #define HDMITX_DWC_FC_ISCR1_3 (DWC_OFFSET_MASK + 0x10A0) |
| #define HDMITX_DWC_FC_ISCR1_2 (DWC_OFFSET_MASK + 0x10A1) |
| #define HDMITX_DWC_FC_ISCR1_1 (DWC_OFFSET_MASK + 0x10A2) |
| #define HDMITX_DWC_FC_ISCR0_15 (DWC_OFFSET_MASK + 0x10A3) |
| #define HDMITX_DWC_FC_ISCR0_14 (DWC_OFFSET_MASK + 0x10A4) |
| #define HDMITX_DWC_FC_ISCR0_13 (DWC_OFFSET_MASK + 0x10A5) |
| #define HDMITX_DWC_FC_ISCR0_12 (DWC_OFFSET_MASK + 0x10A6) |
| #define HDMITX_DWC_FC_ISCR0_11 (DWC_OFFSET_MASK + 0x10A7) |
| #define HDMITX_DWC_FC_ISCR0_10 (DWC_OFFSET_MASK + 0x10A8) |
| #define HDMITX_DWC_FC_ISCR0_9 (DWC_OFFSET_MASK + 0x10A9) |
| #define HDMITX_DWC_FC_ISCR0_8 (DWC_OFFSET_MASK + 0x10AA) |
| #define HDMITX_DWC_FC_ISCR0_7 (DWC_OFFSET_MASK + 0x10AB) |
| #define HDMITX_DWC_FC_ISCR0_6 (DWC_OFFSET_MASK + 0x10AC) |
| #define HDMITX_DWC_FC_ISCR0_5 (DWC_OFFSET_MASK + 0x10AD) |
| #define HDMITX_DWC_FC_ISCR0_4 (DWC_OFFSET_MASK + 0x10AE) |
| #define HDMITX_DWC_FC_ISCR0_3 (DWC_OFFSET_MASK + 0x10AF) |
| #define HDMITX_DWC_FC_ISCR0_2 (DWC_OFFSET_MASK + 0x10B0) |
| #define HDMITX_DWC_FC_ISCR0_1 (DWC_OFFSET_MASK + 0x10B1) |
| #define HDMITX_DWC_FC_ISCR0_0 (DWC_OFFSET_MASK + 0x10B2) |
| #define HDMITX_DWC_FC_DATAUTO0 (DWC_OFFSET_MASK + 0x10B3) |
| #define HDMITX_DWC_FC_DATAUTO1 (DWC_OFFSET_MASK + 0x10B4) |
| #define HDMITX_DWC_FC_DATAUTO2 (DWC_OFFSET_MASK + 0x10B5) |
| #define HDMITX_DWC_FC_DATMAN (DWC_OFFSET_MASK + 0x10B6) |
| #define HDMITX_DWC_FC_DATAUTO3 (DWC_OFFSET_MASK + 0x10B7) |
| #define HDMITX_DWC_FC_RDRB0 (DWC_OFFSET_MASK + 0x10B8) |
| #define HDMITX_DWC_FC_RDRB1 (DWC_OFFSET_MASK + 0x10B9) |
| #define HDMITX_DWC_FC_RDRB2 (DWC_OFFSET_MASK + 0x10BA) |
| #define HDMITX_DWC_FC_RDRB3 (DWC_OFFSET_MASK + 0x10BB) |
| #define HDMITX_DWC_FC_RDRB4 (DWC_OFFSET_MASK + 0x10BC) |
| #define HDMITX_DWC_FC_RDRB5 (DWC_OFFSET_MASK + 0x10BD) |
| #define HDMITX_DWC_FC_RDRB6 (DWC_OFFSET_MASK + 0x10BE) |
| #define HDMITX_DWC_FC_RDRB7 (DWC_OFFSET_MASK + 0x10BF) |
| #define HDMITX_DWC_FC_RDRB8 (DWC_OFFSET_MASK + 0x10C0) |
| #define HDMITX_DWC_FC_RDRB9 (DWC_OFFSET_MASK + 0x10C1) |
| #define HDMITX_DWC_FC_RDRB10 (DWC_OFFSET_MASK + 0x10C2) |
| #define HDMITX_DWC_FC_RDRB11 (DWC_OFFSET_MASK + 0x10C3) |
| #define HDMITX_DWC_FC_MASK0 (DWC_OFFSET_MASK + 0x10D2) |
| #define HDMITX_DWC_FC_MASK1 (DWC_OFFSET_MASK + 0x10D6) |
| #define HDMITX_DWC_FC_MASK2 (DWC_OFFSET_MASK + 0x10DA) |
| #define HDMITX_DWC_FC_PRCONF (DWC_OFFSET_MASK + 0x10E0) |
| #define HDMITX_DWC_FC_SCRAMBLER_CTRL (DWC_OFFSET_MASK + 0x10E1) |
| #define HDMITX_DWC_FC_MULTISTREAM_CTRL (DWC_OFFSET_MASK + 0x10E2) |
| #define HDMITX_DWC_FC_PACKET_TX_EN (DWC_OFFSET_MASK + 0x10E3) |
| #define HDMITX_DWC_FC_ACTSPC_HDLR_CFG (DWC_OFFSET_MASK + 0x10E8) |
| #define HDMITX_DWC_FC_INVACT_2D_0 (DWC_OFFSET_MASK + 0x10E9) |
| #define HDMITX_DWC_FC_INVACT_2D_1 (DWC_OFFSET_MASK + 0x10EA) |
| #define HDMITX_DWC_FC_GMD_STAT (DWC_OFFSET_MASK + 0x1100) |
| #define HDMITX_DWC_FC_GMD_EN (DWC_OFFSET_MASK + 0x1101) |
| #define HDMITX_DWC_FC_GMD_UP (DWC_OFFSET_MASK + 0x1102) |
| #define HDMITX_DWC_FC_GMD_CONF (DWC_OFFSET_MASK + 0x1103) |
| #define HDMITX_DWC_FC_GMD_HB (DWC_OFFSET_MASK + 0x1104) |
| #define HDMITX_DWC_FC_GMD_PB0 (DWC_OFFSET_MASK + 0x1105) |
| #define HDMITX_DWC_FC_GMD_PB1 (DWC_OFFSET_MASK + 0x1106) |
| #define HDMITX_DWC_FC_GMD_PB2 (DWC_OFFSET_MASK + 0x1107) |
| #define HDMITX_DWC_FC_GMD_PB3 (DWC_OFFSET_MASK + 0x1108) |
| #define HDMITX_DWC_FC_GMD_PB4 (DWC_OFFSET_MASK + 0x1109) |
| #define HDMITX_DWC_FC_GMD_PB5 (DWC_OFFSET_MASK + 0x110A) |
| #define HDMITX_DWC_FC_GMD_PB6 (DWC_OFFSET_MASK + 0x110B) |
| #define HDMITX_DWC_FC_GMD_PB7 (DWC_OFFSET_MASK + 0x110C) |
| #define HDMITX_DWC_FC_GMD_PB8 (DWC_OFFSET_MASK + 0x110D) |
| #define HDMITX_DWC_FC_GMD_PB9 (DWC_OFFSET_MASK + 0x110E) |
| #define HDMITX_DWC_FC_GMD_PB10 (DWC_OFFSET_MASK + 0x110F) |
| #define HDMITX_DWC_FC_GMD_PB11 (DWC_OFFSET_MASK + 0x1110) |
| #define HDMITX_DWC_FC_GMD_PB12 (DWC_OFFSET_MASK + 0x1111) |
| #define HDMITX_DWC_FC_GMD_PB13 (DWC_OFFSET_MASK + 0x1112) |
| #define HDMITX_DWC_FC_GMD_PB14 (DWC_OFFSET_MASK + 0x1113) |
| #define HDMITX_DWC_FC_GMD_PB15 (DWC_OFFSET_MASK + 0x1114) |
| #define HDMITX_DWC_FC_GMD_PB16 (DWC_OFFSET_MASK + 0x1115) |
| #define HDMITX_DWC_FC_GMD_PB17 (DWC_OFFSET_MASK + 0x1116) |
| #define HDMITX_DWC_FC_GMD_PB18 (DWC_OFFSET_MASK + 0x1117) |
| #define HDMITX_DWC_FC_GMD_PB19 (DWC_OFFSET_MASK + 0x1118) |
| #define HDMITX_DWC_FC_GMD_PB20 (DWC_OFFSET_MASK + 0x1119) |
| #define HDMITX_DWC_FC_GMD_PB21 (DWC_OFFSET_MASK + 0x111A) |
| #define HDMITX_DWC_FC_GMD_PB22 (DWC_OFFSET_MASK + 0x111B) |
| #define HDMITX_DWC_FC_GMD_PB23 (DWC_OFFSET_MASK + 0x111C) |
| #define HDMITX_DWC_FC_GMD_PB24 (DWC_OFFSET_MASK + 0x111D) |
| #define HDMITX_DWC_FC_GMD_PB25 (DWC_OFFSET_MASK + 0x111E) |
| #define HDMITX_DWC_FC_GMD_PB26 (DWC_OFFSET_MASK + 0x111F) |
| #define HDMITX_DWC_FC_GMD_PB27 (DWC_OFFSET_MASK + 0x1120) |
| #define HDMITX_DWC_FC_AMP_HB01 (DWC_OFFSET_MASK + 0x1128) |
| #define HDMITX_DWC_FC_AMP_HB02 (DWC_OFFSET_MASK + 0x1129) |
| #define HDMITX_DWC_FC_AMP_PB00 (DWC_OFFSET_MASK + 0x112A) |
| #define HDMITX_DWC_FC_AMP_PB01 (DWC_OFFSET_MASK + 0x112B) |
| #define HDMITX_DWC_FC_AMP_PB02 (DWC_OFFSET_MASK + 0x112C) |
| #define HDMITX_DWC_FC_AMP_PB03 (DWC_OFFSET_MASK + 0x112D) |
| #define HDMITX_DWC_FC_AMP_PB04 (DWC_OFFSET_MASK + 0x112E) |
| #define HDMITX_DWC_FC_AMP_PB05 (DWC_OFFSET_MASK + 0x112F) |
| #define HDMITX_DWC_FC_AMP_PB06 (DWC_OFFSET_MASK + 0x1130) |
| #define HDMITX_DWC_FC_AMP_PB07 (DWC_OFFSET_MASK + 0x1131) |
| #define HDMITX_DWC_FC_AMP_PB08 (DWC_OFFSET_MASK + 0x1132) |
| #define HDMITX_DWC_FC_AMP_PB09 (DWC_OFFSET_MASK + 0x1133) |
| #define HDMITX_DWC_FC_AMP_PB10 (DWC_OFFSET_MASK + 0x1134) |
| #define HDMITX_DWC_FC_AMP_PB11 (DWC_OFFSET_MASK + 0x1135) |
| #define HDMITX_DWC_FC_AMP_PB12 (DWC_OFFSET_MASK + 0x1136) |
| #define HDMITX_DWC_FC_AMP_PB13 (DWC_OFFSET_MASK + 0x1137) |
| #define HDMITX_DWC_FC_AMP_PB14 (DWC_OFFSET_MASK + 0x1138) |
| #define HDMITX_DWC_FC_AMP_PB15 (DWC_OFFSET_MASK + 0x1139) |
| #define HDMITX_DWC_FC_AMP_PB16 (DWC_OFFSET_MASK + 0x113A) |
| #define HDMITX_DWC_FC_AMP_PB17 (DWC_OFFSET_MASK + 0x113B) |
| #define HDMITX_DWC_FC_AMP_PB18 (DWC_OFFSET_MASK + 0x113C) |
| #define HDMITX_DWC_FC_AMP_PB19 (DWC_OFFSET_MASK + 0x113D) |
| #define HDMITX_DWC_FC_AMP_PB20 (DWC_OFFSET_MASK + 0x113E) |
| #define HDMITX_DWC_FC_AMP_PB21 (DWC_OFFSET_MASK + 0x113F) |
| #define HDMITX_DWC_FC_AMP_PB22 (DWC_OFFSET_MASK + 0x1140) |
| #define HDMITX_DWC_FC_AMP_PB23 (DWC_OFFSET_MASK + 0x1141) |
| #define HDMITX_DWC_FC_AMP_PB24 (DWC_OFFSET_MASK + 0x1142) |
| #define HDMITX_DWC_FC_AMP_PB25 (DWC_OFFSET_MASK + 0x1143) |
| #define HDMITX_DWC_FC_AMP_PB26 (DWC_OFFSET_MASK + 0x1144) |
| #define HDMITX_DWC_FC_AMP_PB27 (DWC_OFFSET_MASK + 0x1145) |
| #define HDMITX_DWC_FC_NVBI_HB01 (DWC_OFFSET_MASK + 0x1148) |
| #define HDMITX_DWC_FC_NVBI_HB02 (DWC_OFFSET_MASK + 0x1149) |
| #define HDMITX_DWC_FC_NVBI_PB01 (DWC_OFFSET_MASK + 0x114A) |
| #define HDMITX_DWC_FC_NVBI_PB02 (DWC_OFFSET_MASK + 0x114B) |
| #define HDMITX_DWC_FC_NVBI_PB03 (DWC_OFFSET_MASK + 0x114C) |
| #define HDMITX_DWC_FC_NVBI_PB04 (DWC_OFFSET_MASK + 0x114D) |
| #define HDMITX_DWC_FC_NVBI_PB05 (DWC_OFFSET_MASK + 0x114E) |
| #define HDMITX_DWC_FC_NVBI_PB06 (DWC_OFFSET_MASK + 0x114F) |
| #define HDMITX_DWC_FC_NVBI_PB07 (DWC_OFFSET_MASK + 0x1150) |
| #define HDMITX_DWC_FC_NVBI_PB08 (DWC_OFFSET_MASK + 0x1151) |
| #define HDMITX_DWC_FC_NVBI_PB09 (DWC_OFFSET_MASK + 0x1152) |
| #define HDMITX_DWC_FC_NVBI_PB10 (DWC_OFFSET_MASK + 0x1153) |
| #define HDMITX_DWC_FC_NVBI_PB11 (DWC_OFFSET_MASK + 0x1154) |
| #define HDMITX_DWC_FC_NVBI_PB12 (DWC_OFFSET_MASK + 0x1155) |
| #define HDMITX_DWC_FC_NVBI_PB13 (DWC_OFFSET_MASK + 0x1156) |
| #define HDMITX_DWC_FC_NVBI_PB14 (DWC_OFFSET_MASK + 0x1157) |
| #define HDMITX_DWC_FC_NVBI_PB15 (DWC_OFFSET_MASK + 0x1158) |
| #define HDMITX_DWC_FC_NVBI_PB16 (DWC_OFFSET_MASK + 0x1159) |
| #define HDMITX_DWC_FC_NVBI_PB17 (DWC_OFFSET_MASK + 0x115A) |
| #define HDMITX_DWC_FC_NVBI_PB18 (DWC_OFFSET_MASK + 0x115B) |
| #define HDMITX_DWC_FC_NVBI_PB19 (DWC_OFFSET_MASK + 0x115C) |
| #define HDMITX_DWC_FC_NVBI_PB20 (DWC_OFFSET_MASK + 0x115D) |
| #define HDMITX_DWC_FC_NVBI_PB21 (DWC_OFFSET_MASK + 0x115E) |
| #define HDMITX_DWC_FC_NVBI_PB22 (DWC_OFFSET_MASK + 0x115F) |
| #define HDMITX_DWC_FC_NVBI_PB23 (DWC_OFFSET_MASK + 0x1160) |
| #define HDMITX_DWC_FC_NVBI_PB24 (DWC_OFFSET_MASK + 0x1161) |
| #define HDMITX_DWC_FC_NVBI_PB25 (DWC_OFFSET_MASK + 0x1162) |
| #define HDMITX_DWC_FC_NVBI_PB26 (DWC_OFFSET_MASK + 0x1163) |
| #define HDMITX_DWC_FC_NVBI_PB27 (DWC_OFFSET_MASK + 0x1164) |
| #define HDMITX_DWC_FC_DBGFORCE (DWC_OFFSET_MASK + 0x1200) |
| #define HDMITX_DWC_FC_DBGAUD0CH0 (DWC_OFFSET_MASK + 0x1201) |
| #define HDMITX_DWC_FC_DBGAUD1CH0 (DWC_OFFSET_MASK + 0x1202) |
| #define HDMITX_DWC_FC_DBGAUD2CH0 (DWC_OFFSET_MASK + 0x1203) |
| #define HDMITX_DWC_FC_DBGAUD0CH1 (DWC_OFFSET_MASK + 0x1204) |
| #define HDMITX_DWC_FC_DBGAUD1CH1 (DWC_OFFSET_MASK + 0x1205) |
| #define HDMITX_DWC_FC_DBGAUD2CH1 (DWC_OFFSET_MASK + 0x1206) |
| #define HDMITX_DWC_FC_DBGAUD0CH2 (DWC_OFFSET_MASK + 0x1207) |
| #define HDMITX_DWC_FC_DBGAUD1CH2 (DWC_OFFSET_MASK + 0x1208) |
| #define HDMITX_DWC_FC_DBGAUD2CH2 (DWC_OFFSET_MASK + 0x1209) |
| #define HDMITX_DWC_FC_DBGAUD0CH3 (DWC_OFFSET_MASK + 0x120A) |
| #define HDMITX_DWC_FC_DBGAUD1CH3 (DWC_OFFSET_MASK + 0x120B) |
| #define HDMITX_DWC_FC_DBGAUD2CH3 (DWC_OFFSET_MASK + 0x120C) |
| #define HDMITX_DWC_FC_DBGAUD0CH4 (DWC_OFFSET_MASK + 0x120D) |
| #define HDMITX_DWC_FC_DBGAUD1CH4 (DWC_OFFSET_MASK + 0x120E) |
| #define HDMITX_DWC_FC_DBGAUD2CH4 (DWC_OFFSET_MASK + 0x120F) |
| #define HDMITX_DWC_FC_DBGAUD0CH5 (DWC_OFFSET_MASK + 0x1210) |
| #define HDMITX_DWC_FC_DBGAUD1CH5 (DWC_OFFSET_MASK + 0x1211) |
| #define HDMITX_DWC_FC_DBGAUD2CH5 (DWC_OFFSET_MASK + 0x1212) |
| #define HDMITX_DWC_FC_DBGAUD0CH6 (DWC_OFFSET_MASK + 0x1213) |
| #define HDMITX_DWC_FC_DBGAUD1CH6 (DWC_OFFSET_MASK + 0x1214) |
| #define HDMITX_DWC_FC_DBGAUD2CH6 (DWC_OFFSET_MASK + 0x1215) |
| #define HDMITX_DWC_FC_DBGAUD0CH7 (DWC_OFFSET_MASK + 0x1216) |
| #define HDMITX_DWC_FC_DBGAUD1CH7 (DWC_OFFSET_MASK + 0x1217) |
| #define HDMITX_DWC_FC_DBGAUD2CH7 (DWC_OFFSET_MASK + 0x1218) |
| #define HDMITX_DWC_FC_DBGTMDS0 (DWC_OFFSET_MASK + 0x1219) |
| #define HDMITX_DWC_FC_DBGTMDS1 (DWC_OFFSET_MASK + 0x121A) |
| #define HDMITX_DWC_FC_DBGTMDS2 (DWC_OFFSET_MASK + 0x121B) |
| #define HDMITX_DWC_PHY_CONF0 (DWC_OFFSET_MASK + 0x3000) |
| #define HDMITX_DWC_PHY_TST0 (DWC_OFFSET_MASK + 0x3001) |
| #define HDMITX_DWC_PHY_TST1 (DWC_OFFSET_MASK + 0x3002) |
| #define HDMITX_DWC_PHY_TST2 (DWC_OFFSET_MASK + 0x3003) |
| #define HDMITX_DWC_PHY_STAT0 (DWC_OFFSET_MASK + 0x3004) |
| #define HDMITX_DWC_PHY_INT0 (DWC_OFFSET_MASK + 0x3005) |
| #define HDMITX_DWC_PHY_MASK0 (DWC_OFFSET_MASK + 0x3006) |
| #define HDMITX_DWC_PHY_POL0 (DWC_OFFSET_MASK + 0x3007) |
| #define HDMITX_DWC_I2CM_PHY_SLAVE (DWC_OFFSET_MASK + 0x3020) |
| #define HDMITX_DWC_I2CM_PHY_ADDRESS (DWC_OFFSET_MASK + 0x3021) |
| #define HDMITX_DWC_I2CM_PHY_DATAO_1 (DWC_OFFSET_MASK + 0x3022) |
| #define HDMITX_DWC_I2CM_PHY_DATAO_0 (DWC_OFFSET_MASK + 0x3023) |
| #define HDMITX_DWC_I2CM_PHY_DATAI_1 (DWC_OFFSET_MASK + 0x3024) |
| #define HDMITX_DWC_I2CM_PHY_DATAI_0 (DWC_OFFSET_MASK + 0x3025) |
| #define HDMITX_DWC_I2CM_PHY_OPERATION (DWC_OFFSET_MASK + 0x3026) |
| #define HDMITX_DWC_I2CM_PHY_INT (DWC_OFFSET_MASK + 0x3027) |
| #define HDMITX_DWC_I2CM_PHY_CTLINT (DWC_OFFSET_MASK + 0x3028) |
| #define HDMITX_DWC_I2CM_PHY_DIV (DWC_OFFSET_MASK + 0x3029) |
| #define HDMITX_DWC_I2CM_PHY_SOFTRSTZ (DWC_OFFSET_MASK + 0x302A) |
| #define HDMITX_DWC_I2CM_PHY_SS_SCL_HCNT_1 (DWC_OFFSET_MASK + 0x302B) |
| #define HDMITX_DWC_I2CM_PHY_SS_SCL_HCNT_0 (DWC_OFFSET_MASK + 0x302C) |
| #define HDMITX_DWC_I2CM_PHY_SS_SCL_LCNT_1 (DWC_OFFSET_MASK + 0x302D) |
| #define HDMITX_DWC_I2CM_PHY_SS_SCL_LCNT_0 (DWC_OFFSET_MASK + 0x302E) |
| #define HDMITX_DWC_I2CM_PHY_FS_SCL_HCNT_1 (DWC_OFFSET_MASK + 0x302F) |
| #define HDMITX_DWC_I2CM_PHY_FS_SCL_HCNT_0 (DWC_OFFSET_MASK + 0x3030) |
| #define HDMITX_DWC_I2CM_PHY_FS_SCL_LCNT_1 (DWC_OFFSET_MASK + 0x3031) |
| #define HDMITX_DWC_I2CM_PHY_FS_SCL_LCNT_0 (DWC_OFFSET_MASK + 0x3032) |
| #define HDMITX_DWC_I2CM_PHY_SDA_HOLD (DWC_OFFSET_MASK + 0x3033) |
| #define HDMITX_DWC_AUD_CONF0 (DWC_OFFSET_MASK + 0x3100) |
| #define HDMITX_DWC_AUD_CONF1 (DWC_OFFSET_MASK + 0x3101) |
| #define HDMITX_DWC_AUD_INT (DWC_OFFSET_MASK + 0x3102) |
| #define HDMITX_DWC_AUD_CONF2 (DWC_OFFSET_MASK + 0x3103) |
| #define HDMITX_DWC_AUD_INT1 (DWC_OFFSET_MASK + 0x3104) |
| #define HDMITX_DWC_AUD_N1 (DWC_OFFSET_MASK + 0x3200) |
| #define HDMITX_DWC_AUD_N2 (DWC_OFFSET_MASK + 0x3201) |
| #define HDMITX_DWC_AUD_N3 (DWC_OFFSET_MASK + 0x3202) |
| #define HDMITX_DWC_AUD_CTS1 (DWC_OFFSET_MASK + 0x3203) |
| #define HDMITX_DWC_AUD_CTS2 (DWC_OFFSET_MASK + 0x3204) |
| #define HDMITX_DWC_AUD_CTS3 (DWC_OFFSET_MASK + 0x3205) |
| #define HDMITX_DWC_AUD_INPUTCLKFS (DWC_OFFSET_MASK + 0x3206) |
| #define HDMITX_DWC_AUD_SPDIF0 (DWC_OFFSET_MASK + 0x3300) |
| #define HDMITX_DWC_AUD_SPDIF1 (DWC_OFFSET_MASK + 0x3301) |
| #define HDMITX_DWC_AUD_SPDIFINT (DWC_OFFSET_MASK + 0x3302) |
| #define HDMITX_DWC_AUD_SPDIFINT1 (DWC_OFFSET_MASK + 0x3303) |
| #define HDMITX_DWC_MC_CLKDIS (DWC_OFFSET_MASK + 0x4001) |
| #define HDMITX_DWC_MC_SWRSTZREQ (DWC_OFFSET_MASK + 0x4002) |
| #define HDMITX_DWC_MC_OPCTRL (DWC_OFFSET_MASK + 0x4003) |
| |
| #define HDMITX_DWC_MC_FLOWCTRL (DWC_OFFSET_MASK + 0x4004) |
| #define MC_FLOWCTRL_ENB_CSC (1 << 0) |
| #define MC_FLOWCTRL_BYPASS_CSC (0 << 0) |
| |
| #define HDMITX_DWC_MC_PHYRSTZ (DWC_OFFSET_MASK + 0x4005) |
| #define HDMITX_DWC_MC_LOCKONCLOCK (DWC_OFFSET_MASK + 0x4006) |
| #define HDMITX_DWC_CSC_CFG (DWC_OFFSET_MASK + 0x4100) |
| |
| #define HDMITX_DWC_CSC_SCALE (DWC_OFFSET_MASK + 0x4101) |
| #define CSC_SCALE_COLOR_DEPTH(x) (x << 4) |
| #define CSC_SCALE_CSCSCALE(x) (x << 0) |
| |
| #define HDMITX_DWC_CSC_COEF_A1_MSB (DWC_OFFSET_MASK + 0x4102) |
| #define HDMITX_DWC_CSC_COEF_A1_LSB (DWC_OFFSET_MASK + 0x4103) |
| #define HDMITX_DWC_CSC_COEF_A2_MSB (DWC_OFFSET_MASK + 0x4104) |
| #define HDMITX_DWC_CSC_COEF_A2_LSB (DWC_OFFSET_MASK + 0x4105) |
| #define HDMITX_DWC_CSC_COEF_A3_MSB (DWC_OFFSET_MASK + 0x4106) |
| #define HDMITX_DWC_CSC_COEF_A3_LSB (DWC_OFFSET_MASK + 0x4107) |
| #define HDMITX_DWC_CSC_COEF_A4_MSB (DWC_OFFSET_MASK + 0x4108) |
| #define HDMITX_DWC_CSC_COEF_A4_LSB (DWC_OFFSET_MASK + 0x4109) |
| #define HDMITX_DWC_CSC_COEF_B1_MSB (DWC_OFFSET_MASK + 0x410A) |
| #define HDMITX_DWC_CSC_COEF_B1_LSB (DWC_OFFSET_MASK + 0x410B) |
| #define HDMITX_DWC_CSC_COEF_B2_MSB (DWC_OFFSET_MASK + 0x410C) |
| #define HDMITX_DWC_CSC_COEF_B2_LSB (DWC_OFFSET_MASK + 0x410D) |
| #define HDMITX_DWC_CSC_COEF_B3_MSB (DWC_OFFSET_MASK + 0x410E) |
| #define HDMITX_DWC_CSC_COEF_B3_LSB (DWC_OFFSET_MASK + 0x410F) |
| #define HDMITX_DWC_CSC_COEF_B4_MSB (DWC_OFFSET_MASK + 0x4110) |
| #define HDMITX_DWC_CSC_COEF_B4_LSB (DWC_OFFSET_MASK + 0x4111) |
| #define HDMITX_DWC_CSC_COEF_C1_MSB (DWC_OFFSET_MASK + 0x4112) |
| #define HDMITX_DWC_CSC_COEF_C1_LSB (DWC_OFFSET_MASK + 0x4113) |
| #define HDMITX_DWC_CSC_COEF_C2_MSB (DWC_OFFSET_MASK + 0x4114) |
| #define HDMITX_DWC_CSC_COEF_C2_LSB (DWC_OFFSET_MASK + 0x4115) |
| #define HDMITX_DWC_CSC_COEF_C3_MSB (DWC_OFFSET_MASK + 0x4116) |
| #define HDMITX_DWC_CSC_COEF_C3_LSB (DWC_OFFSET_MASK + 0x4117) |
| #define HDMITX_DWC_CSC_COEF_C4_MSB (DWC_OFFSET_MASK + 0x4118) |
| #define HDMITX_DWC_CSC_COEF_C4_LSB (DWC_OFFSET_MASK + 0x4119) |
| #define HDMITX_DWC_CSC_LIMIT_UP_MSB (DWC_OFFSET_MASK + 0x411A) |
| #define HDMITX_DWC_CSC_LIMIT_UP_LSB (DWC_OFFSET_MASK + 0x411B) |
| #define HDMITX_DWC_CSC_LIMIT_DN_MSB (DWC_OFFSET_MASK + 0x411C) |
| #define HDMITX_DWC_CSC_LIMIT_DN_LSB (DWC_OFFSET_MASK + 0x411D) |
| #define HDMITX_DWC_A_HDCPCFG0 (DWC_SEC_OFFSET_MASK + 0x5000) |
| #define HDMITX_DWC_A_HDCPCFG1 (DWC_SEC_OFFSET_MASK + 0x5001) |
| #define HDMITX_DWC_A_HDCPOBS0 (DWC_OFFSET_MASK + 0x5002) |
| #define HDMITX_DWC_A_HDCPOBS1 (DWC_OFFSET_MASK + 0x5003) |
| #define HDMITX_DWC_A_HDCPOBS2 (DWC_OFFSET_MASK + 0x5004) |
| #define HDMITX_DWC_A_HDCPOBS3 (DWC_OFFSET_MASK + 0x5005) |
| #define HDMITX_DWC_A_APIINTCLR (DWC_OFFSET_MASK + 0x5006) |
| #define HDMITX_DWC_A_APIINTSTAT (DWC_OFFSET_MASK + 0x5007) |
| #define HDMITX_DWC_A_APIINTMSK (DWC_OFFSET_MASK + 0x5008) |
| #define HDMITX_DWC_A_VIDPOLCFG (DWC_OFFSET_MASK + 0x5009) |
| #define HDMITX_DWC_A_OESSWCFG (DWC_OFFSET_MASK + 0x500A) |
| #define HDMITX_DWC_A_COREVERLSB (DWC_OFFSET_MASK + 0x5014) |
| #define HDMITX_DWC_A_COREVERMSB (DWC_OFFSET_MASK + 0x5015) |
| #define HDMITX_DWC_A_KSVMEMCTRL (DWC_OFFSET_MASK + 0x5016) |
| #define HDMITX_DWC_HDCP_BSTATUS_0 (DWC_OFFSET_MASK + 0x5020) |
| #define HDMITX_DWC_HDCP_BSTATUS_1 (DWC_OFFSET_MASK + 0x5021) |
| #define HDMITX_DWC_HDCP_M0_0 (DWC_OFFSET_MASK + 0x5022) |
| #define HDMITX_DWC_HDCP_M0_1 (DWC_OFFSET_MASK + 0x5023) |
| #define HDMITX_DWC_HDCP_M0_2 (DWC_OFFSET_MASK + 0x5024) |
| #define HDMITX_DWC_HDCP_M0_3 (DWC_OFFSET_MASK + 0x5025) |
| #define HDMITX_DWC_HDCP_M0_4 (DWC_OFFSET_MASK + 0x5026) |
| #define HDMITX_DWC_HDCP_M0_5 (DWC_OFFSET_MASK + 0x5027) |
| #define HDMITX_DWC_HDCP_M0_6 (DWC_OFFSET_MASK + 0x5028) |
| #define HDMITX_DWC_HDCP_M0_7 (DWC_OFFSET_MASK + 0x5029) |
| #define HDMITX_DWC_HDCP_KSV (DWC_OFFSET_MASK + 0x502A) |
| #define HDMITX_DWC_HDCP_VH (DWC_OFFSET_MASK + 0x52A5) |
| #define HDMITX_DWC_HDCP_REVOC_SIZE_0 (DWC_OFFSET_MASK + 0x52B9) |
| #define HDMITX_DWC_HDCP_REVOC_SIZE_1 (DWC_OFFSET_MASK + 0x52BA) |
| #define HDMITX_DWC_HDCP_REVOC_LIST (DWC_OFFSET_MASK + 0x52BB) |
| #define HDMITX_DWC_HDCPREG_BKSV0 (DWC_OFFSET_MASK + 0x7800) |
| #define HDMITX_DWC_HDCPREG_BKSV1 (DWC_OFFSET_MASK + 0x7801) |
| #define HDMITX_DWC_HDCPREG_BKSV2 (DWC_OFFSET_MASK + 0x7802) |
| #define HDMITX_DWC_HDCPREG_BKSV3 (DWC_OFFSET_MASK + 0x7803) |
| #define HDMITX_DWC_HDCPREG_BKSV4 (DWC_OFFSET_MASK + 0x7804) |
| #define HDMITX_DWC_HDCPREG_ANCONF (DWC_OFFSET_MASK + 0x7805) |
| #define HDMITX_DWC_HDCPREG_AN0 (DWC_OFFSET_MASK + 0x7806) |
| #define HDMITX_DWC_HDCPREG_AN1 (DWC_OFFSET_MASK + 0x7807) |
| #define HDMITX_DWC_HDCPREG_AN2 (DWC_OFFSET_MASK + 0x7808) |
| #define HDMITX_DWC_HDCPREG_AN3 (DWC_OFFSET_MASK + 0x7809) |
| #define HDMITX_DWC_HDCPREG_AN4 (DWC_OFFSET_MASK + 0x780A) |
| #define HDMITX_DWC_HDCPREG_AN5 (DWC_OFFSET_MASK + 0x780B) |
| #define HDMITX_DWC_HDCPREG_AN6 (DWC_OFFSET_MASK + 0x780C) |
| #define HDMITX_DWC_HDCPREG_AN7 (DWC_OFFSET_MASK + 0x780D) |
| #define HDMITX_DWC_HDCPREG_RMLCTL (DWC_OFFSET_MASK + 0x780E) |
| #define HDMITX_DWC_HDCPREG_RMLSTS (DWC_OFFSET_MASK + 0x780F) |
| #define HDMITX_DWC_HDCPREG_SEED0 (DWC_SEC_OFFSET_MASK + 0x7810) |
| #define HDMITX_DWC_HDCPREG_SEED1 (DWC_SEC_OFFSET_MASK + 0x7811) |
| #define HDMITX_DWC_HDCPREG_DPK0 (DWC_SEC_OFFSET_MASK + 0x7812) |
| #define HDMITX_DWC_HDCPREG_DPK1 (DWC_SEC_OFFSET_MASK + 0x7813) |
| #define HDMITX_DWC_HDCPREG_DPK2 (DWC_SEC_OFFSET_MASK + 0x7814) |
| #define HDMITX_DWC_HDCPREG_DPK3 (DWC_SEC_OFFSET_MASK + 0x7815) |
| #define HDMITX_DWC_HDCPREG_DPK4 (DWC_SEC_OFFSET_MASK + 0x7816) |
| #define HDMITX_DWC_HDCPREG_DPK5 (DWC_SEC_OFFSET_MASK + 0x7817) |
| #define HDMITX_DWC_HDCPREG_DPK6 (DWC_SEC_OFFSET_MASK + 0x7818) |
| #define HDMITX_DWC_HDCP22REG_ID (DWC_OFFSET_MASK + 0x7900) |
| #define HDMITX_DWC_HDCP22REG_CTRL (DWC_SEC_OFFSET_MASK + 0x7904) |
| #define HDMITX_DWC_HDCP22REG_CTRL1 (DWC_OFFSET_MASK + 0x7905) |
| #define HDMITX_DWC_HDCP22REG_STS (DWC_OFFSET_MASK + 0x7908) |
| #define HDMITX_DWC_HDCP22REG_MASK (DWC_OFFSET_MASK + 0x790C) |
| #define HDMITX_DWC_HDCP22REG_STAT (DWC_OFFSET_MASK + 0x790D) |
| #define HDMITX_DWC_HDCP22REG_MUTE (DWC_OFFSET_MASK + 0x790E) |
| #define HDMITX_DWC_CEC_CTRL (DWC_OFFSET_MASK + 0x7D00) |
| #define HDMITX_DWC_CEC_INTR_MASK (DWC_OFFSET_MASK + 0x7D02) |
| #define HDMITX_DWC_CEC_LADD_LOW (DWC_OFFSET_MASK + 0x7D05) |
| #define HDMITX_DWC_CEC_LADD_HIGH (DWC_OFFSET_MASK + 0x7D06) |
| #define HDMITX_DWC_CEC_TX_CNT (DWC_OFFSET_MASK + 0x7D07) |
| #define HDMITX_DWC_CEC_RX_CNT (DWC_OFFSET_MASK + 0x7D08) |
| #define HDMITX_DWC_CEC_TX_DATA00 (DWC_OFFSET_MASK + 0x7D10) |
| #define HDMITX_DWC_CEC_TX_DATA01 (DWC_OFFSET_MASK + 0x7D11) |
| #define HDMITX_DWC_CEC_TX_DATA02 (DWC_OFFSET_MASK + 0x7D12) |
| #define HDMITX_DWC_CEC_TX_DATA03 (DWC_OFFSET_MASK + 0x7D13) |
| #define HDMITX_DWC_CEC_TX_DATA04 (DWC_OFFSET_MASK + 0x7D14) |
| #define HDMITX_DWC_CEC_TX_DATA05 (DWC_OFFSET_MASK + 0x7D15) |
| #define HDMITX_DWC_CEC_TX_DATA06 (DWC_OFFSET_MASK + 0x7D16) |
| #define HDMITX_DWC_CEC_TX_DATA07 (DWC_OFFSET_MASK + 0x7D17) |
| #define HDMITX_DWC_CEC_TX_DATA08 (DWC_OFFSET_MASK + 0x7D18) |
| #define HDMITX_DWC_CEC_TX_DATA09 (DWC_OFFSET_MASK + 0x7D19) |
| #define HDMITX_DWC_CEC_TX_DATA10 (DWC_OFFSET_MASK + 0x7D1A) |
| #define HDMITX_DWC_CEC_TX_DATA11 (DWC_OFFSET_MASK + 0x7D1B) |
| #define HDMITX_DWC_CEC_TX_DATA12 (DWC_OFFSET_MASK + 0x7D1C) |
| #define HDMITX_DWC_CEC_TX_DATA13 (DWC_OFFSET_MASK + 0x7D1D) |
| #define HDMITX_DWC_CEC_TX_DATA14 (DWC_OFFSET_MASK + 0x7D1E) |
| #define HDMITX_DWC_CEC_TX_DATA15 (DWC_OFFSET_MASK + 0x7D1F) |
| #define HDMITX_DWC_CEC_RX_DATA00 (DWC_OFFSET_MASK + 0x7D20) |
| #define HDMITX_DWC_CEC_RX_DATA01 (DWC_OFFSET_MASK + 0x7D21) |
| #define HDMITX_DWC_CEC_RX_DATA02 (DWC_OFFSET_MASK + 0x7D22) |
| #define HDMITX_DWC_CEC_RX_DATA03 (DWC_OFFSET_MASK + 0x7D23) |
| #define HDMITX_DWC_CEC_RX_DATA04 (DWC_OFFSET_MASK + 0x7D24) |
| #define HDMITX_DWC_CEC_RX_DATA05 (DWC_OFFSET_MASK + 0x7D25) |
| #define HDMITX_DWC_CEC_RX_DATA06 (DWC_OFFSET_MASK + 0x7D26) |
| #define HDMITX_DWC_CEC_RX_DATA07 (DWC_OFFSET_MASK + 0x7D27) |
| #define HDMITX_DWC_CEC_RX_DATA08 (DWC_OFFSET_MASK + 0x7D28) |
| #define HDMITX_DWC_CEC_RX_DATA09 (DWC_OFFSET_MASK + 0x7D29) |
| #define HDMITX_DWC_CEC_RX_DATA10 (DWC_OFFSET_MASK + 0x7D2A) |
| #define HDMITX_DWC_CEC_RX_DATA11 (DWC_OFFSET_MASK + 0x7D2B) |
| #define HDMITX_DWC_CEC_RX_DATA12 (DWC_OFFSET_MASK + 0x7D2C) |
| #define HDMITX_DWC_CEC_RX_DATA13 (DWC_OFFSET_MASK + 0x7D2D) |
| #define HDMITX_DWC_CEC_RX_DATA14 (DWC_OFFSET_MASK + 0x7D2E) |
| #define HDMITX_DWC_CEC_RX_DATA15 (DWC_OFFSET_MASK + 0x7D2F) |
| #define HDMITX_DWC_CEC_LOCK_BUF (DWC_OFFSET_MASK + 0x7D30) |
| #define HDMITX_DWC_CEC_WAKEUPCTRL (DWC_OFFSET_MASK + 0x7D31) |
| #define HDMITX_DWC_I2CM_SLAVE (DWC_OFFSET_MASK + 0x7E00) |
| #define HDMITX_DWC_I2CM_ADDRESS (DWC_OFFSET_MASK + 0x7E01) |
| #define HDMITX_DWC_I2CM_DATAO (DWC_OFFSET_MASK + 0x7E02) |
| #define HDMITX_DWC_I2CM_DATAI (DWC_OFFSET_MASK + 0x7E03) |
| #define HDMITX_DWC_I2CM_OPERATION (DWC_OFFSET_MASK + 0x7E04) |
| #define HDMITX_DWC_I2CM_INT (DWC_OFFSET_MASK + 0x7E05) |
| #define HDMITX_DWC_I2CM_CTLINT (DWC_OFFSET_MASK + 0x7E06) |
| #define HDMITX_DWC_I2CM_DIV (DWC_OFFSET_MASK + 0x7E07) |
| #define HDMITX_DWC_I2CM_SEGADDR (DWC_OFFSET_MASK + 0x7E08) |
| #define HDMITX_DWC_I2CM_SOFTRSTZ (DWC_OFFSET_MASK + 0x7E09) |
| #define HDMITX_DWC_I2CM_SEGPTR (DWC_OFFSET_MASK + 0x7E0A) |
| #define HDMITX_DWC_I2CM_SS_SCL_HCNT_1 (DWC_OFFSET_MASK + 0x7E0B) |
| #define HDMITX_DWC_I2CM_SS_SCL_HCNT_0 (DWC_OFFSET_MASK + 0x7E0C) |
| #define HDMITX_DWC_I2CM_SS_SCL_LCNT_1 (DWC_OFFSET_MASK + 0x7E0D) |
| #define HDMITX_DWC_I2CM_SS_SCL_LCNT_0 (DWC_OFFSET_MASK + 0x7E0E) |
| #define HDMITX_DWC_I2CM_FS_SCL_HCNT_1 (DWC_OFFSET_MASK + 0x7E0F) |
| #define HDMITX_DWC_I2CM_FS_SCL_HCNT_0 (DWC_OFFSET_MASK + 0x7E10) |
| #define HDMITX_DWC_I2CM_FS_SCL_LCNT_1 (DWC_OFFSET_MASK + 0x7E11) |
| #define HDMITX_DWC_I2CM_FS_SCL_LCNT_0 (DWC_OFFSET_MASK + 0x7E12) |
| #define HDMITX_DWC_I2CM_SDA_HOLD (DWC_OFFSET_MASK + 0x7E13) |
| #define HDMITX_DWC_I2CM_SCDC_UPDATE (DWC_OFFSET_MASK + 0x7E14) |
| #define HDMITX_DWC_I2CM_READ_BUFF0 (DWC_OFFSET_MASK + 0x7E20) |
| #define HDMITX_DWC_I2CM_READ_BUFF1 (DWC_OFFSET_MASK + 0x7E21) |
| #define HDMITX_DWC_I2CM_READ_BUFF2 (DWC_OFFSET_MASK + 0x7E22) |
| #define HDMITX_DWC_I2CM_READ_BUFF3 (DWC_OFFSET_MASK + 0x7E23) |
| #define HDMITX_DWC_I2CM_READ_BUFF4 (DWC_OFFSET_MASK + 0x7E24) |
| #define HDMITX_DWC_I2CM_READ_BUFF5 (DWC_OFFSET_MASK + 0x7E25) |
| #define HDMITX_DWC_I2CM_READ_BUFF6 (DWC_OFFSET_MASK + 0x7E26) |
| #define HDMITX_DWC_I2CM_READ_BUFF7 (DWC_OFFSET_MASK + 0x7E27) |
| #define HDMITX_DWC_I2CM_SCDC_UPDATE0 (DWC_OFFSET_MASK + 0x7E30) |
| #define HDMITX_DWC_I2CM_SCDC_UPDATE1 (DWC_OFFSET_MASK + 0x7E31) |
| |
| /* viu */ |
| #define VPU_VIU_ADDR_START (0x1a00 << 2) |
| #define VPU_VIU_ADDR_END (0x1aff << 2) |
| #define VPU_VIU_SW_RESET (0x1a01 << 2) |
| #define VPU_VIU_MISC_CTRL0 (0x1a06 << 2) |
| #define VPU_D2D3_INTF_LENGTH (0x1a08 << 2) |
| #define VPU_D2D3_INTF_CTRL0 (0x1a09 << 2) |
| #define VPU_VIU_OSD1_CTRL_STAT (0x1a10 << 2) |
| #define VPU_VIU_OSD1_CTRL_STAT2 (0x1a2d << 2) |
| #define VPU_VIU_OSD1_COLOR_ADDR (0x1a11 << 2) |
| #define VPU_VIU_OSD1_COLOR (0x1a12 << 2) |
| #define VPU_VIU_OSD1_TCOLOR_AG0 (0x1a17 << 2) |
| #define VPU_VIU_OSD1_TCOLOR_AG1 (0x1a18 << 2) |
| #define VPU_VIU_OSD1_TCOLOR_AG2 (0x1a19 << 2) |
| #define VPU_VIU_OSD1_TCOLOR_AG3 (0x1a1a << 2) |
| #define VPU_VIU_OSD1_BLK0_CFG_W0 (0x1a1b << 2) |
| #define VPU_VIU_OSD1_BLK1_CFG_W0 (0x1a1f << 2) |
| #define VPU_VIU_OSD1_BLK2_CFG_W0 (0x1a23 << 2) |
| #define VPU_VIU_OSD1_BLK3_CFG_W0 (0x1a27 << 2) |
| #define VPU_VIU_OSD1_BLK0_CFG_W1 (0x1a1c << 2) |
| #define VPU_VIU_OSD1_BLK1_CFG_W1 (0x1a20 << 2) |
| #define VPU_VIU_OSD1_BLK2_CFG_W1 (0x1a24 << 2) |
| #define VPU_VIU_OSD1_BLK3_CFG_W1 (0x1a28 << 2) |
| #define VPU_VIU_OSD1_BLK0_CFG_W2 (0x1a1d << 2) |
| #define VPU_VIU_OSD1_BLK1_CFG_W2 (0x1a21 << 2) |
| #define VPU_VIU_OSD1_BLK2_CFG_W2 (0x1a25 << 2) |
| #define VPU_VIU_OSD1_BLK3_CFG_W2 (0x1a29 << 2) |
| #define VPU_VIU_OSD1_BLK0_CFG_W3 (0x1a1e << 2) |
| #define VPU_VIU_OSD1_BLK1_CFG_W3 (0x1a22 << 2) |
| #define VPU_VIU_OSD1_BLK2_CFG_W3 (0x1a26 << 2) |
| #define VPU_VIU_OSD1_BLK3_CFG_W3 (0x1a2a << 2) |
| #define VPU_VIU_OSD1_BLK0_CFG_W4 (0x1a13 << 2) |
| #define VPU_VIU_OSD1_BLK1_CFG_W4 (0x1a14 << 2) |
| #define VPU_VIU_OSD1_BLK2_CFG_W4 (0x1a15 << 2) |
| #define VPU_VIU_OSD1_BLK3_CFG_W4 (0x1a16 << 2) |
| #define VPU_VIU_OSD1_FIFO_CTRL_STAT (0x1a2b << 2) |
| #define VPU_VIU_OSD1_TEST_RDDATA (0x1a2c << 2) |
| #define VPU_VIU_OSD1_PROT_CTRL (0x1a2e << 2) |
| #define VPU_VIU_OSD2_CTRL_STAT (0x1a30 << 2) |
| #define VPU_VIU_OSD2_CTRL_STAT2 (0x1a4d << 2) |
| #define VPU_VIU_OSD2_COLOR_ADDR (0x1a31 << 2) |
| #define VPU_VIU_OSD2_COLOR (0x1a32 << 2) |
| #define VPU_VIU_OSD2_HL1_H_START_END (0x1a33 << 2) |
| #define VPU_VIU_OSD2_HL1_V_START_END (0x1a34 << 2) |
| #define VPU_VIU_OSD2_HL2_H_START_END (0x1a35 << 2) |
| #define VPU_VIU_OSD2_HL2_V_START_END (0x1a36 << 2) |
| #define VPU_VIU_OSD2_TCOLOR_AG0 (0x1a37 << 2) |
| #define VPU_VIU_OSD2_TCOLOR_AG1 (0x1a38 << 2) |
| #define VPU_VIU_OSD2_TCOLOR_AG2 (0x1a39 << 2) |
| #define VPU_VIU_OSD2_TCOLOR_AG3 (0x1a3a << 2) |
| #define VPU_VIU_OSD2_BLK0_CFG_W0 (0x1a3b << 2) |
| #define VPU_VIU_OSD2_BLK1_CFG_W0 (0x1a3f << 2) |
| #define VPU_VIU_OSD2_BLK2_CFG_W0 (0x1a43 << 2) |
| #define VPU_VIU_OSD2_BLK3_CFG_W0 (0x1a47 << 2) |
| #define VPU_VIU_OSD2_BLK0_CFG_W1 (0x1a3c << 2) |
| #define VPU_VIU_OSD2_BLK1_CFG_W1 (0x1a40 << 2) |
| #define VPU_VIU_OSD2_BLK2_CFG_W1 (0x1a44 << 2) |
| #define VPU_VIU_OSD2_BLK3_CFG_W1 (0x1a48 << 2) |
| #define VPU_VIU_OSD2_BLK0_CFG_W2 (0x1a3d << 2) |
| #define VPU_VIU_OSD2_BLK1_CFG_W2 (0x1a41 << 2) |
| #define VPU_VIU_OSD2_BLK2_CFG_W2 (0x1a45 << 2) |
| #define VPU_VIU_OSD2_BLK3_CFG_W2 (0x1a49 << 2) |
| #define VPU_VIU_OSD2_BLK0_CFG_W3 (0x1a3e << 2) |
| #define VPU_VIU_OSD2_BLK1_CFG_W3 (0x1a42 << 2) |
| #define VPU_VIU_OSD2_BLK2_CFG_W3 (0x1a46 << 2) |
| #define VPU_VIU_OSD2_BLK3_CFG_W3 (0x1a4a << 2) |
| #define VPU_VIU_OSD2_BLK0_CFG_W4 (0x1a64 << 2) |
| #define VPU_VIU_OSD2_BLK1_CFG_W4 (0x1a65 << 2) |
| #define VPU_VIU_OSD2_BLK2_CFG_W4 (0x1a66 << 2) |
| #define VPU_VIU_OSD2_BLK3_CFG_W4 (0x1a67 << 2) |
| #define VPU_VIU_OSD2_FIFO_CTRL_STAT (0x1a4b << 2) |
| #define VPU_VIU_OSD2_TEST_RDDATA (0x1a4c << 2) |
| #define VPU_VIU_OSD2_PROT_CTRL (0x1a4e << 2) |
| |
| #define VPU_VPP_OSD_SCO_H_START_END (0x1dca << 2) |
| #define VPU_VPP_OSD_SCO_V_START_END (0x1dcb << 2) |
| #define VPU_VPP_POSTBLEND_H_SIZE (0x1d21 << 2) |
| #define VPU_VPP_OSD_SCI_WH_M1 (0x1dc9 << 2) |
| |
| #define VPU_ENCP_VIDEO_EN (0x1b80 << 2) |
| #define VPU_ENCI_VIDEO_EN (0x1b57 << 2) |
| #define VPU_ENCP_VIDEO_FILT_CTRL (0x1bb8 << 2) |
| #define VPU_VENC_DVI_SETTING (0x1b62 << 2) |
| #define VPU_ENCP_VIDEO_MODE (0x1b8d << 2) |
| #define VPU_ENCP_VIDEO_MODE_ADV (0x1b8e << 2) |
| #define VPU_VENC_VIDEO_TST_Y (0x1b72 << 2) |
| #define VPU_VENC_VIDEO_TST_CB (0x1b73 << 2) |
| #define VPU_VENC_VIDEO_TST_CR (0x1b74 << 2) |
| #define VPU_VENC_VIDEO_TST_CLRBAR_STRT (0x1b75 << 2) |
| #define VPU_VENC_VIDEO_TST_CLRBAR_WIDTH (0x1b76 << 2) |
| #define VPU_ENCP_VIDEO_YFP1_HTIME (0x1b94 << 2) |
| #define VPU_ENCP_VIDEO_YFP2_HTIME (0x1b95 << 2) |
| #define VPU_ENCP_VIDEO_MAX_PXCNT (0x1b97 << 2) |
| #define VPU_ENCP_VIDEO_HSPULS_BEGIN (0x1b98 << 2) |
| #define VPU_ENCP_VIDEO_HSPULS_END (0x1b99 << 2) |
| #define VPU_ENCP_VIDEO_HSPULS_SWITCH (0x1b9a << 2) |
| #define VPU_ENCP_VIDEO_VSPULS_BEGIN (0x1b9b << 2) |
| #define VPU_ENCP_VIDEO_VSPULS_END (0x1b9c << 2) |
| #define VPU_ENCP_VIDEO_VSPULS_BLINE (0x1b9d << 2) |
| #define VPU_ENCP_VIDEO_VSPULS_ELINE (0x1b9e << 2) |
| #define VPU_ENCP_VIDEO_HAVON_END (0x1ba3 << 2) |
| #define VPU_ENCP_VIDEO_HAVON_BEGIN (0x1ba4 << 2) |
| #define VPU_ENCP_VIDEO_VAVON_ELINE (0x1baf << 2) |
| #define VPU_ENCP_VIDEO_VAVON_BLINE (0x1ba6 << 2) |
| #define VPU_ENCP_VIDEO_HSO_BEGIN (0x1ba7 << 2) |
| #define VPU_ENCP_VIDEO_HSO_END (0x1ba8 << 2) |
| #define VPU_ENCP_VIDEO_VSO_BEGIN (0x1ba9 << 2) |
| #define VPU_ENCP_VIDEO_VSO_END (0x1baa << 2) |
| #define VPU_ENCP_VIDEO_VSO_BLINE (0x1bab << 2) |
| #define VPU_ENCP_VIDEO_VSO_ELINE (0x1bac << 2) |
| #define VPU_ENCP_VIDEO_SYNC_WAVE_CURVE (0x1bad << 2) |
| #define VPU_ENCP_VIDEO_MAX_LNCNT (0x1bae << 2) |
| #define VPU_ENCP_VIDEO_EN (0x1b80 << 2) |
| #define VPU_ENCP_VIDEO_SYNC_MODE (0x1b81 << 2) |
| #define VPU_ENCP_MACV_EN (0x1b82 << 2) |
| #define VPU_ENCP_VIDEO_Y_SCL (0x1b83 << 2) |
| #define VPU_ENCP_VIDEO_PB_SCL (0x1b84 << 2) |
| #define VPU_ENCP_VIDEO_PR_SCL (0x1b85 << 2) |
| #define VPU_ENCP_VIDEO_SYNC_SCL (0x1b86 << 2) |
| #define VPU_ENCP_VIDEO_MACV_SCL (0x1b87 << 2) |
| #define VPU_ENCP_VIDEO_Y_OFFST (0x1b88 << 2) |
| #define VPU_ENCP_VIDEO_PB_OFFST (0x1b89 << 2) |
| #define VPU_ENCP_VIDEO_PR_OFFST (0x1b8a << 2) |
| #define VPU_ENCP_VIDEO_SYNC_OFFST (0x1b8b << 2) |
| #define VPU_ENCP_VIDEO_MACV_OFFST (0x1b8c << 2) |
| #define VPU_ENCP_VIDEO_SY_VAL (0x1bb0 << 2) |
| #define VPU_ENCP_VIDEO_SY2_VAL (0x1bb1 << 2) |
| #define VPU_ENCP_VIDEO_BLANKY_VAL (0x1bb2 << 2) |
| #define VPU_ENCP_VIDEO_BLANKPB_VAL (0x1bb3 << 2) |
| #define VPU_ENCP_VIDEO_BLANKPR_VAL (0x1bb4 << 2) |
| |
| |
| #define VPU_VPU_VIU_VENC_MUX_CTRL (0x271a << 2) |
| #define VIU_VENC_MUX_CTRL_VIU2(x) (x << 2) |
| #define VIU_VENC_MUX_CTRL_VIU1(x) (x << 0) |
| |
| #define VPU_VENC_VIDEO_PROG_MODE (0x1b68 << 2) |
| #define VPU_ENCP_DE_H_BEGIN (0x1c3a << 2) |
| #define VPU_ENCP_DE_H_END (0x1c3b << 2) |
| #define VPU_ENCP_DE_V_BEGIN_EVEN (0x1c3c << 2) |
| #define VPU_ENCP_DE_V_END_EVEN (0x1c3d << 2) |
| #define VPU_ENCP_DVI_HSO_BEGIN (0x1c30 << 2) |
| #define VPU_ENCP_DVI_HSO_END (0x1c31 << 2) |
| #define VPU_ENCP_DVI_VSO_BLINE_EVN (0x1c32 << 2) |
| #define VPU_ENCP_DVI_VSO_ELINE_EVN (0x1c34 << 2) |
| #define VPU_ENCP_DVI_VSO_BEGIN_EVN (0x1c36 << 2) |
| #define VPU_ENCP_DVI_VSO_END_EVN (0x1c38 << 2) |
| #define VPU_HDMI_SETTING (0x271b << 2) |
| #define VPU_HDMI_FMT_CTRL (0x2743 << 2) |
| #define VPU_HDMI_DITH_CNTL (0x27fc << 2) |
| #define VPU_VENC_VIDEO_TST_EN (0x1b70 << 2) |
| #define VPU_VENC_VIDEO_TST_MDSEL (0x1b71 << 2) |
| |
| #define VPU_VPP_DUMMY_DATA (0x1d00 << 2) |
| #define VPU_VPP_LINE_IN_LENGTH (0x1d01 << 2) |
| #define VPU_VPP_PIC_IN_HEIGHT (0x1d02 << 2) |
| #define VPU_VPP_SCALE_COEF_IDX (0x1d03 << 2) |
| #define VPU_VPP_SCALE_COEF (0x1d04 << 2) |
| #define VPU_VPP_VSC_REGION12_STARTP (0x1d05 << 2) |
| #define VPU_VPP_VSC_REGION34_STARTP (0x1d06 << 2) |
| #define VPU_VPP_VSC_REGION4_ENDP (0x1d07 << 2) |
| #define VPU_VPP_VSC_START_PHASE_STEP (0x1d08 << 2) |
| #define VPU_VPP_VSC_REGION0_PHASE_SLOPE (0x1d09 << 2) |
| #define VPU_VPP_VSC_REGION1_PHASE_SLOPE (0x1d0a << 2) |
| #define VPU_VPP_VSC_REGION3_PHASE_SLOPE (0x1d0b << 2) |
| #define VPU_VPP_VSC_REGION4_PHASE_SLOPE (0x1d0c << 2) |
| #define VPU_VPP_VSC_PHASE_CTRL (0x1d0d << 2) |
| #define VPU_VPP_VSC_INI_PHASE (0x1d0e << 2) |
| #define VPU_VPP_HSC_REGION12_STARTP (0x1d10 << 2) |
| #define VPU_VPP_HSC_REGION34_STARTP (0x1d11 << 2) |
| #define VPU_VPP_HSC_REGION4_ENDP (0x1d12 << 2) |
| #define VPU_VPP_HSC_START_PHASE_STEP (0x1d13 << 2) |
| #define VPU_VPP_HSC_REGION0_PHASE_SLOPE (0x1d14 << 2) |
| #define VPU_VPP_HSC_REGION1_PHASE_SLOPE (0x1d15 << 2) |
| #define VPU_VPP_HSC_REGION3_PHASE_SLOPE (0x1d16 << 2) |
| #define VPU_VPP_HSC_REGION4_PHASE_SLOPE (0x1d17 << 2) |
| #define VPU_VPP_HSC_PHASE_CTRL (0x1d18 << 2) |
| #define VPU_VPP_SC_MISC (0x1d19 << 2) |
| #define VPU_VPP_PREBLEND_VD1_H_START_END (0x1d1a << 2) |
| #define VPU_VPP_PREBLEND_VD1_V_START_END (0x1d1b << 2) |
| #define VPU_VPP_POSTBLEND_VD1_H_START_END (0x1d1c << 2) |
| #define VPU_VPP_POSTBLEND_VD1_V_START_END (0x1d1d << 2) |
| #define VPU_VPP_BLEND_VD2_H_START_END (0x1d1e << 2) |
| #define VPU_VPP_BLEND_VD2_V_START_END (0x1d1f << 2) |
| #define VPU_VPP_PREBLEND_H_SIZE (0x1d20 << 2) |
| #define VPU_VPP_POSTBLEND_H_SIZE (0x1d21 << 2) |
| #define VPU_VPP_HOLD_LINES (0x1d22 << 2) |
| #define VPU_VPP_BLEND_ONECOLOR_CTRL (0x1d23 << 2) |
| #define VPU_VPP_PREBLEND_CURRENT_XY (0x1d24 << 2) |
| #define VPU_VPP_POSTBLEND_CURRENT_XY (0x1d25 << 2) |
| #define VPU_VPP_MISC (0x1d26 << 2) |
| #define VPU_VPP_OFIFO_SIZE (0x1d27 << 2) |
| #define VPU_VPP_FIFO_STATUS (0x1d28 << 2) |
| #define VPU_VPP_SMOKE_CTRL (0x1d29 << 2) |
| #define VPU_VPP_SMOKE1_VAL (0x1d2a << 2) |
| #define VPU_VPP_SMOKE2_VAL (0x1d2b << 2) |
| #define VPU_VPP_SMOKE3_VAL (0x1d2c << 2) |
| #define VPU_VPP_SMOKE1_H_START_END (0x1d2d << 2) |
| #define VPU_VPP_SMOKE1_V_START_END (0x1d2e << 2) |
| #define VPU_VPP_SMOKE2_H_START_END (0x1d2f << 2) |
| #define VPU_VPP_SMOKE2_V_START_END (0x1d30 << 2) |
| #define VPU_VPP_SMOKE3_H_START_END (0x1d31 << 2) |
| #define VPU_VPP_SMOKE3_V_START_END (0x1d32 << 2) |
| #define VPU_VPP_SCO_FIFO_CTRL (0x1d33 << 2) |
| #define VPU_VPP_HSC_PHASE_CTRL1 (0x1d34 << 2) |
| #define VPU_VPP_HSC_INI_PAT_CTRL (0x1d35 << 2) |
| #define VPU_VPP_VADJ_CTRL (0x1d40 << 2) |
| #define VPU_VPP_VADJ1_Y (0x1d41 << 2) |
| #define VPU_VPP_VADJ1_MA_MB (0x1d42 << 2) |
| #define VPU_VPP_VADJ1_MC_MD (0x1d43 << 2) |
| #define VPU_VPP_VADJ2_Y (0x1d44 << 2) |
| #define VPU_VPP_VADJ2_MA_MB (0x1d45 << 2) |
| #define VPU_VPP_VADJ2_MC_MD (0x1d46 << 2) |
| #define VPU_VPP_HSHARP_CTRL (0x1d50 << 2) |
| #define VPU_VPP_HSHARP_LUMA_THRESH01 (0x1d51 << 2) |
| #define VPU_VPP_HSHARP_LUMA_THRESH23 (0x1d52 << 2) |
| #define VPU_VPP_HSHARP_CHROMA_THRESH01 (0x1d53 << 2) |
| #define VPU_VPP_HSHARP_CHROMA_THRESH23 (0x1d54 << 2) |
| #define VPU_VPP_HSHARP_LUMA_GAIN (0x1d55 << 2) |
| #define VPU_VPP_HSHARP_CHROMA_GAIN (0x1d56 << 2) |
| #define VPU_VPP_MATRIX_PROBE_COLOR (0x1d5c << 2) |
| #define VPU_VPP_MATRIX_HL_COLOR (0x1d5d << 2) |
| #define VPU_VPP_MATRIX_PROBE_POS (0x1d5e << 2) |
| #define VPU_VPP_MATRIX_CTRL (0x1d5f << 2) |
| #define VPU_VPP_MATRIX_COEF00_01 (0x1d60 << 2) |
| #define VPU_VPP_MATRIX_COEF02_10 (0x1d61 << 2) |
| #define VPU_VPP_MATRIX_COEF11_12 (0x1d62 << 2) |
| #define VPU_VPP_MATRIX_COEF20_21 (0x1d63 << 2) |
| #define VPU_VPP_MATRIX_COEF22 (0x1d64 << 2) |
| #define VPU_VPP_MATRIX_OFFSET0_1 (0x1d65 << 2) |
| #define VPU_VPP_MATRIX_OFFSET2 (0x1d66 << 2) |
| #define VPU_VPP_MATRIX_PRE_OFFSET0_1 (0x1d67 << 2) |
| #define VPU_VPP_MATRIX_PRE_OFFSET2 (0x1d68 << 2) |
| #define VPU_VPP_DUMMY_DATA1 (0x1d69 << 2) |
| #define VPU_VPP_GAINOFF_CTRL0 (0x1d6a << 2) |
| #define VPU_VPP_GAINOFF_CTRL1 (0x1d6b << 2) |
| #define VPU_VPP_GAINOFF_CTRL2 (0x1d6c << 2) |
| #define VPU_VPP_GAINOFF_CTRL3 (0x1d6d << 2) |
| #define VPU_VPP_GAINOFF_CTRL4 (0x1d6e << 2) |
| #define VPU_VPP_CHROMA_ADDR_PORT (0x1d70 << 2) |
| #define VPU_VPP_CHROMA_DATA_PORT (0x1d71 << 2) |
| #define VPU_VPP_GCLK_CTRL0 (0x1d72 << 2) |
| #define VPU_VPP_GCLK_CTRL1 (0x1d73 << 2) |
| #define VPU_VPP_SC_GCLK_CTRL (0x1d74 << 2) |
| #define VPU_VPP_MISC1 (0x1d76 << 2) |
| #define VPU_VPP_BLACKEXT_CTRL (0x1d80 << 2) |
| #define VPU_VPP_DNLP_CTRL_00 (0x1d81 << 2) |
| #define VPU_VPP_DNLP_CTRL_01 (0x1d82 << 2) |
| #define VPU_VPP_DNLP_CTRL_02 (0x1d83 << 2) |
| #define VPU_VPP_DNLP_CTRL_03 (0x1d84 << 2) |
| #define VPU_VPP_DNLP_CTRL_04 (0x1d85 << 2) |
| #define VPU_VPP_DNLP_CTRL_05 (0x1d86 << 2) |
| #define VPU_VPP_DNLP_CTRL_06 (0x1d87 << 2) |
| #define VPU_VPP_DNLP_CTRL_07 (0x1d88 << 2) |
| #define VPU_VPP_DNLP_CTRL_08 (0x1d89 << 2) |
| #define VPU_VPP_DNLP_CTRL_09 (0x1d8a << 2) |
| #define VPU_VPP_DNLP_CTRL_10 (0x1d8b << 2) |
| #define VPU_VPP_DNLP_CTRL_11 (0x1d8c << 2) |
| #define VPU_VPP_DNLP_CTRL_12 (0x1d8d << 2) |
| #define VPU_VPP_DNLP_CTRL_13 (0x1d8e << 2) |
| #define VPU_VPP_DNLP_CTRL_14 (0x1d8f << 2) |
| #define VPU_VPP_DNLP_CTRL_15 (0x1d90 << 2) |
| #define VPU_VPP_PEAKING_HGAIN (0x1d91 << 2) |
| #define VPU_VPP_PEAKING_VGAIN (0x1d92 << 2) |
| #define VPU_VPP_PEAKING_NLP_1 (0x1d93 << 2) |
| #define VPU_VPP_PEAKING_NLP_2 (0x1d94 << 2) |
| #define VPU_VPP_PEAKING_NLP_3 (0x1d95 << 2) |
| #define VPU_VPP_PEAKING_NLP_4 (0x1d96 << 2) |
| #define VPU_VPP_PEAKING_NLP_5 (0x1d97 << 2) |
| #define VPU_VPP_SHARP_LIMIT (0x1d98 << 2) |
| #define VPU_VPP_VLTI_CTRL (0x1d99 << 2) |
| #define VPU_VPP_HLTI_CTRL (0x1d9a << 2) |
| #define VPU_VPP_CTI_CTRL (0x1d9b << 2) |
| #define VPU_VPP_BLUE_STRETCH_1 (0x1d9c << 2) |
| #define VPU_VPP_BLUE_STRETCH_2 (0x1d9d << 2) |
| #define VPU_VPP_BLUE_STRETCH_3 (0x1d9e << 2) |
| #define VPU_VPP_CCORING_CTRL (0x1da0 << 2) |
| #define VPU_VPP_VE_ENABLE_CTRL (0x1da1 << 2) |
| #define VPU_VPP_VE_DEMO_LEFT_TOP_SCREEN_WIDTH (0x1da2 << 2) |
| #define VPU_VPP_VE_DEMO_CENTER_BAR (0x1da3 << 2) |
| #define VPU_VPP_VE_H_V_SIZE (0x1da4 << 2) |
| #define VPU_VPP_VDO_MEAS_CTRL (0x1da8 << 2) |
| #define VPU_VPP_VDO_MEAS_VS_COUNT_HI (0x1da9 << 2) |
| #define VPU_VPP_VDO_MEAS_VS_COUNT_LO (0x1daa << 2) |
| #define VPU_VPP_INPUT_CTRL (0x1dab << 2) |
| #define VPU_VPP_CTI_CTRL2 (0x1dac << 2) |
| #define VPU_VPP_PEAKING_SAT_THD1 (0x1dad << 2) |
| #define VPU_VPP_PEAKING_SAT_THD2 (0x1dae << 2) |
| #define VPU_VPP_PEAKING_SAT_THD3 (0x1daf << 2) |
| #define VPU_VPP_PEAKING_SAT_THD4 (0x1db0 << 2) |
| #define VPU_VPP_PEAKING_SAT_THD5 (0x1db1 << 2) |
| #define VPU_VPP_PEAKING_SAT_THD6 (0x1db2 << 2) |
| #define VPU_VPP_PEAKING_SAT_THD7 (0x1db3 << 2) |
| #define VPU_VPP_PEAKING_SAT_THD8 (0x1db4 << 2) |
| #define VPU_VPP_PEAKING_SAT_THD9 (0x1db5 << 2) |
| #define VPU_VPP_PEAKING_GAIN_ADD1 (0x1db6 << 2) |
| #define VPU_VPP_PEAKING_GAIN_ADD2 (0x1db7 << 2) |
| #define VPU_VPP_PEAKING_DNLP (0x1db8 << 2) |
| #define VPU_VPP_SHARP_DEMO_WIN_CTRL1 (0x1db9 << 2) |
| #define VPU_VPP_SHARP_DEMO_WIN_CTRL2 (0x1dba << 2) |
| #define VPU_VPP_FRONT_HLTI_CTRL (0x1dbb << 2) |
| #define VPU_VPP_FRONT_CTI_CTRL (0x1dbc << 2) |
| #define VPU_VPP_FRONT_CTI_CTRL2 (0x1dbd << 2) |
| #define VPU_VPP_OSD_VSC_PHASE_STEP (0x1dc0 << 2) |
| #define VPU_VPP_OSD_VSC_INI_PHASE (0x1dc1 << 2) |
| #define VPU_VPP_OSD_VSC_CTRL0 (0x1dc2 << 2) |
| #define VPU_VPP_OSD_HSC_PHASE_STEP (0x1dc3 << 2) |
| #define VPU_VPP_OSD_HSC_INI_PHASE (0x1dc4 << 2) |
| #define VPU_VPP_OSD_HSC_CTRL0 (0x1dc5 << 2) |
| #define VPU_VPP_OSD_HSC_INI_PAT_CTRL (0x1dc6 << 2) |
| #define VPU_VPP_OSD_SC_DUMMY_DATA (0x1dc7 << 2) |
| #define VPU_VPP_OSD_SC_CTRL0 (0x1dc8 << 2) |
| #define VPU_VPP_OSD_SCI_WH_M1 (0x1dc9 << 2) |
| #define VPU_VPP_OSD_SCO_H_START_END (0x1dca << 2) |
| #define VPU_VPP_OSD_SCO_V_START_END (0x1dcb << 2) |
| #define VPU_VPP_OSD_SCALE_COEF_IDX (0x1dcc << 2) |
| #define VPU_VPP_OSD_SCALE_COEF (0x1dcd << 2) |
| #define VPU_VPP_INT_LINE_NUM (0x1dce << 2) |
| |
| #define PAD_PULL_UP_EN_REG1 (0x49 << 2) |
| #define PAD_PULL_UP_REG1 (0x3d << 2) |
| #define P_PREG_PAD_GPIO1_EN_N (0x0f << 2) |
| #define PERIPHS_PIN_MUX_6 (0x32 << 2) |
| |
| struct reg_val_pair { |
| uint32_t reg; |
| uint32_t val; |
| }; |
| |
| |
| static const struct reg_val_pair ENC_LUT_1080p[] = { |
| { VPU_ENCP_VIDEO_EN, 0}, |
| { VPU_ENCI_VIDEO_EN, 0}, |
| { VPU_ENCP_VIDEO_FILT_CTRL, 0x1052}, |
| { VPU_VENC_DVI_SETTING, 0x0001}, |
| { VPU_ENCP_VIDEO_MODE, 0x4040}, |
| { VPU_ENCP_VIDEO_MODE_ADV, 0x0018}, |
| { VPU_ENCP_VIDEO_YFP1_HTIME, 140}, |
| { VPU_ENCP_VIDEO_YFP2_HTIME, 2060}, |
| { VPU_ENCP_VIDEO_MAX_PXCNT, 2199}, |
| { VPU_ENCP_VIDEO_HSPULS_BEGIN, 2156}, // HBP + HACT + HFP |
| { VPU_ENCP_VIDEO_HSPULS_END, 44}, // HSYNC |
| { VPU_ENCP_VIDEO_HSPULS_SWITCH, 44}, |
| { VPU_ENCP_VIDEO_VSPULS_BEGIN, 140}, |
| { VPU_ENCP_VIDEO_VSPULS_END, 2059}, |
| { VPU_ENCP_VIDEO_VSPULS_BLINE, 0}, |
| { VPU_ENCP_VIDEO_VSPULS_ELINE, 4}, |
| { VPU_ENCP_VIDEO_HAVON_BEGIN, 148}, |
| { VPU_ENCP_VIDEO_HAVON_END, 2067}, |
| { VPU_ENCP_VIDEO_VAVON_BLINE, 41}, |
| { VPU_ENCP_VIDEO_VAVON_ELINE, 1120}, |
| { VPU_ENCP_VIDEO_HSO_BEGIN, 44}, |
| { VPU_ENCP_VIDEO_HSO_END, 2156}, |
| { VPU_ENCP_VIDEO_VSO_BEGIN, 2100}, |
| { VPU_ENCP_VIDEO_VSO_END, 2164}, |
| { VPU_ENCP_VIDEO_VSO_BLINE, 0}, |
| { VPU_ENCP_VIDEO_VSO_ELINE, 5}, |
| { VPU_ENCP_VIDEO_MAX_LNCNT, 1124}, |
| { VPU_VPU_VIU_VENC_MUX_CTRL, 0xA}, |
| { VPU_VENC_VIDEO_PROG_MODE, 0x100}, |
| { VPU_ENCI_VIDEO_EN, 0}, |
| { VPU_ENCP_VIDEO_EN, 1}, |
| { 0xFFFFFFFF, 0}, |
| }; |
| |
| static const struct reg_val_pair ENC_LUT_640x480p[] = { |
| {VPU_ENCP_VIDEO_EN, 0,}, |
| {VPU_ENCI_VIDEO_EN, 0,}, |
| {VPU_ENCP_VIDEO_MODE, 0x4040,}, |
| {VPU_ENCP_VIDEO_MODE_ADV, 0x18,}, |
| {VPU_ENCP_VIDEO_MAX_PXCNT, 0x31F,}, |
| {VPU_ENCP_VIDEO_MAX_LNCNT, 0x20C,}, |
| {VPU_ENCP_VIDEO_HAVON_BEGIN, 0x90,}, |
| {VPU_ENCP_VIDEO_HAVON_END, 0x30F,}, |
| {VPU_ENCP_VIDEO_VAVON_BLINE, 0x23,}, |
| {VPU_ENCP_VIDEO_VAVON_ELINE, 0x202,}, |
| {VPU_ENCP_VIDEO_HSO_BEGIN, 0x0,}, |
| {VPU_ENCP_VIDEO_HSO_END, 0x60,}, |
| {VPU_ENCP_VIDEO_VSO_BEGIN, 0x1E,}, |
| {VPU_ENCP_VIDEO_VSO_END, 0x32,}, |
| {VPU_ENCP_VIDEO_VSO_BLINE, 0x0,}, |
| {VPU_ENCP_VIDEO_VSO_ELINE, 0x2,}, |
| {VPU_VPU_VIU_VENC_MUX_CTRL, 0xA}, |
| {VPU_ENCP_VIDEO_EN, 1,}, |
| {VPU_ENCI_VIDEO_EN, 0,}, |
| { 0xFFFFFFFF, 0}, |
| }; |
| |
| static const struct reg_val_pair ENC_LUT_720p[] = { |
| {VPU_ENCP_VIDEO_EN, 0}, |
| {VPU_ENCI_VIDEO_EN, 0}, |
| {VPU_VENC_DVI_SETTING, 0x2029}, |
| {VPU_ENCP_VIDEO_MODE, 0x4040}, |
| {VPU_ENCP_VIDEO_MODE_ADV, 0x0019}, |
| {VPU_ENCP_VIDEO_YFP1_HTIME, 648}, |
| {VPU_ENCP_VIDEO_YFP2_HTIME, 3207}, |
| {VPU_ENCP_VIDEO_MAX_PXCNT, 3299}, |
| {VPU_ENCP_VIDEO_HSPULS_BEGIN, 80}, |
| {VPU_ENCP_VIDEO_HSPULS_END, 240}, |
| {VPU_ENCP_VIDEO_HSPULS_SWITCH, 80}, |
| {VPU_ENCP_VIDEO_VSPULS_BEGIN, 688}, |
| {VPU_ENCP_VIDEO_VSPULS_END, 3248}, |
| {VPU_ENCP_VIDEO_VSPULS_BLINE, 4}, |
| {VPU_ENCP_VIDEO_VSPULS_ELINE, 8}, |
| {VPU_ENCP_VIDEO_HAVON_BEGIN, 648}, |
| {VPU_ENCP_VIDEO_HAVON_END, 3207}, |
| {VPU_ENCP_VIDEO_VAVON_BLINE, 29}, |
| {VPU_ENCP_VIDEO_VAVON_ELINE, 748}, |
| {VPU_ENCP_VIDEO_HSO_BEGIN, 256}, |
| {VPU_ENCP_VIDEO_HSO_END, 168}, |
| {VPU_ENCP_VIDEO_VSO_BEGIN, 168}, |
| {VPU_ENCP_VIDEO_VSO_END, 256}, |
| {VPU_ENCP_VIDEO_VSO_BLINE, 0}, |
| {VPU_ENCP_VIDEO_VSO_ELINE, 5}, |
| {VPU_ENCP_VIDEO_MAX_LNCNT, 749}, |
| {VPU_VPU_VIU_VENC_MUX_CTRL, 0xA}, |
| {VPU_ENCP_VIDEO_EN, 1}, |
| {VPU_ENCI_VIDEO_EN, 0}, |
| { 0xFFFFFFFF, 0}, |
| }; |
| |
| static const struct reg_val_pair ENC_LUT_800p[] = { |
| {VPU_ENCP_VIDEO_EN, 0,}, |
| {VPU_ENCI_VIDEO_EN, 0,}, |
| {VPU_ENCP_VIDEO_MODE, 0x4040,}, |
| {VPU_ENCP_VIDEO_MODE_ADV, 0x18,}, |
| {VPU_ENCP_VIDEO_MAX_PXCNT, 0x59F,}, |
| {VPU_ENCP_VIDEO_MAX_LNCNT, 0x336,}, |
| {VPU_ENCP_VIDEO_HAVON_BEGIN, 0x70,}, |
| {VPU_ENCP_VIDEO_HAVON_END, 0x56F,}, |
| {VPU_ENCP_VIDEO_VAVON_BLINE, 0x14,}, |
| {VPU_ENCP_VIDEO_VAVON_ELINE, 0x333,}, |
| {VPU_ENCP_VIDEO_HSO_BEGIN, 0x0,}, |
| {VPU_ENCP_VIDEO_HSO_END, 0x20,}, |
| {VPU_ENCP_VIDEO_VSO_BEGIN, 0x1E,}, |
| {VPU_ENCP_VIDEO_VSO_END, 0x32,}, |
| {VPU_ENCP_VIDEO_VSO_BLINE, 0x0,}, |
| {VPU_ENCP_VIDEO_VSO_ELINE, 0x6,}, |
| {VPU_VPU_VIU_VENC_MUX_CTRL, 0xA}, |
| {VPU_ENCI_VIDEO_EN, 0}, |
| {VPU_ENCP_VIDEO_EN, 1}, |
| { 0xFFFFFFFF, 0}, |
| }; |
| |
| static const struct reg_val_pair ENC_LUT_480p[] = { |
| {VPU_ENCP_VIDEO_EN, 0}, |
| {VPU_ENCI_VIDEO_EN, 0}, |
| {VPU_ENCP_VIDEO_FILT_CTRL, 0x2052}, |
| {VPU_VENC_DVI_SETTING, 0x21}, |
| {VPU_ENCP_VIDEO_MODE, 0x4000}, |
| {VPU_ENCP_VIDEO_MODE_ADV, 9}, |
| {VPU_ENCP_VIDEO_YFP1_HTIME, 244}, |
| {VPU_ENCP_VIDEO_YFP2_HTIME, 1630}, |
| {VPU_ENCP_VIDEO_MAX_PXCNT, 1715}, |
| {VPU_ENCP_VIDEO_MAX_LNCNT, 524}, |
| {VPU_ENCP_VIDEO_HSPULS_BEGIN, 0x22}, |
| {VPU_ENCP_VIDEO_HSPULS_END, 0xa0}, |
| {VPU_ENCP_VIDEO_HSPULS_SWITCH, 88}, |
| {VPU_ENCP_VIDEO_VSPULS_BEGIN, 0}, |
| {VPU_ENCP_VIDEO_VSPULS_END, 1589}, |
| {VPU_ENCP_VIDEO_VSPULS_BLINE, 0}, |
| {VPU_ENCP_VIDEO_VSPULS_ELINE, 5}, |
| {VPU_ENCP_VIDEO_HAVON_BEGIN, 249}, |
| {VPU_ENCP_VIDEO_HAVON_END, 1689}, |
| {VPU_ENCP_VIDEO_VAVON_BLINE, 42}, |
| {VPU_ENCP_VIDEO_VAVON_ELINE, 521}, |
| {VPU_ENCP_VIDEO_SYNC_MODE, 0x07}, |
| {VPU_VENC_VIDEO_PROG_MODE, 0x0}, |
| {VPU_ENCP_VIDEO_HSO_BEGIN, 0x3}, |
| {VPU_ENCP_VIDEO_HSO_END, 0x5}, |
| {VPU_ENCP_VIDEO_VSO_BEGIN, 0x3}, |
| {VPU_ENCP_VIDEO_VSO_END, 0x5}, |
| {VPU_ENCP_VIDEO_VSO_BLINE, 0}, |
| {VPU_ENCP_VIDEO_SY_VAL, 8}, |
| {VPU_ENCP_VIDEO_SY2_VAL, 0x1d8}, |
| {VPU_VPU_VIU_VENC_MUX_CTRL, 0xA}, |
| {VPU_ENCI_VIDEO_EN, 0}, |
| {VPU_ENCP_VIDEO_EN, 1}, |
| { 0xFFFFFFFF, 0}, |
| }; |
| |
| static const struct reg_val_pair ENC_LUT_1280x1024p60hz[] = { |
| {VPU_ENCP_VIDEO_EN, 0,}, |
| {VPU_ENCI_VIDEO_EN, 0,}, |
| {VPU_ENCP_VIDEO_MODE, 0x4040,}, |
| {VPU_ENCP_VIDEO_MODE_ADV, 0x18,}, |
| {VPU_ENCP_VIDEO_MAX_PXCNT, 0x697,}, |
| {VPU_ENCP_VIDEO_MAX_LNCNT, 0x429,}, |
| {VPU_ENCP_VIDEO_HAVON_BEGIN, 0x168,}, |
| {VPU_ENCP_VIDEO_HAVON_END, 0x667,}, |
| {VPU_ENCP_VIDEO_VAVON_BLINE, 0x29,}, |
| {VPU_ENCP_VIDEO_VAVON_ELINE, 0x428,}, |
| {VPU_ENCP_VIDEO_HSO_BEGIN, 0x0,}, |
| {VPU_ENCP_VIDEO_HSO_END, 0x70,}, |
| {VPU_ENCP_VIDEO_VSO_BEGIN, 0x1E,}, |
| {VPU_ENCP_VIDEO_VSO_END, 0x32,}, |
| {VPU_ENCP_VIDEO_VSO_BLINE, 0x0,}, |
| {VPU_ENCP_VIDEO_VSO_ELINE, 0x3,}, |
| {VPU_VPU_VIU_VENC_MUX_CTRL, 0xA}, |
| {VPU_ENCI_VIDEO_EN, 0}, |
| {VPU_ENCP_VIDEO_EN, 1}, |
| { 0xFFFFFFFF, 0}, |
| }; |
| |
| static const struct reg_val_pair ENC_LUT_1920x1200p8x5[] = { |
| {VPU_ENCP_VIDEO_EN, 0,}, |
| {VPU_ENCI_VIDEO_EN, 0,}, |
| {VPU_ENCP_VIDEO_MODE, 0x4040,}, |
| {VPU_ENCP_VIDEO_MODE_ADV, 0x18,}, |
| {VPU_ENCP_VIDEO_MAX_PXCNT, 0xA1F,}, |
| {VPU_ENCP_VIDEO_MAX_LNCNT, 0x4DC,}, |
| {VPU_ENCP_VIDEO_HAVON_BEGIN, 0x218,}, |
| {VPU_ENCP_VIDEO_HAVON_END, 0x997,}, |
| {VPU_ENCP_VIDEO_VAVON_BLINE, 0x2A,}, |
| {VPU_ENCP_VIDEO_VAVON_ELINE, 0x4D9,}, |
| {VPU_ENCP_VIDEO_HSO_BEGIN, 0x0,}, |
| {VPU_ENCP_VIDEO_HSO_END, 0xC8,}, |
| {VPU_ENCP_VIDEO_VSO_BEGIN, 0x1E,}, |
| {VPU_ENCP_VIDEO_VSO_END, 0x32,}, |
| {VPU_ENCP_VIDEO_VSO_BLINE, 0x0,}, |
| {VPU_ENCP_VIDEO_VSO_ELINE, 0x6,}, |
| {VPU_VPU_VIU_VENC_MUX_CTRL, 0xA}, |
| {VPU_ENCI_VIDEO_EN, 0}, |
| {VPU_ENCP_VIDEO_EN, 1}, |
| { 0xFFFFFFFF, 0}, |
| }; |
| |
| static const struct reg_val_pair ENC_LUT_800x600p60hz[] = { |
| {VPU_ENCP_VIDEO_EN, 0,}, |
| {VPU_ENCI_VIDEO_EN, 0,}, |
| {VPU_ENCP_VIDEO_MODE, 0x4040,}, |
| {VPU_ENCP_VIDEO_MODE_ADV, 0x18,}, |
| {VPU_ENCP_VIDEO_MAX_PXCNT, 0x41F,}, |
| {VPU_ENCP_VIDEO_MAX_LNCNT, 0x273,}, |
| {VPU_ENCP_VIDEO_HAVON_BEGIN, 0xD8,}, |
| {VPU_ENCP_VIDEO_HAVON_END, 0x3F7,}, |
| {VPU_ENCP_VIDEO_VAVON_BLINE, 0x1B,}, |
| {VPU_ENCP_VIDEO_VAVON_ELINE, 0x272,}, |
| {VPU_ENCP_VIDEO_HSO_BEGIN, 0x0,}, |
| {VPU_ENCP_VIDEO_HSO_END, 0x80,}, |
| {VPU_ENCP_VIDEO_VSO_BEGIN, 0x1E,}, |
| {VPU_ENCP_VIDEO_VSO_END, 0x32,}, |
| {VPU_ENCP_VIDEO_VSO_BLINE, 0x0,}, |
| {VPU_ENCP_VIDEO_VSO_ELINE, 0x4,}, |
| {VPU_VPU_VIU_VENC_MUX_CTRL, 0xA}, |
| {VPU_ENCP_VIDEO_EN, 1,}, |
| {VPU_ENCI_VIDEO_EN, 0,}, |
| { 0xFFFFFFFF, 0}, |
| }; |
| |
| static const struct reg_val_pair ENC_LUT_1024x768p60hz[] = { |
| {VPU_ENCP_VIDEO_EN, 0,}, |
| {VPU_ENCI_VIDEO_EN, 0,}, |
| {VPU_ENCP_VIDEO_MODE, 0x4040,}, |
| {VPU_ENCP_VIDEO_MODE_ADV, 0x18,}, |
| {VPU_ENCP_VIDEO_MAX_PXCNT, 0x53F,}, |
| {VPU_ENCP_VIDEO_MAX_LNCNT, 0x325,}, |
| {VPU_ENCP_VIDEO_HAVON_BEGIN, 0x128,}, |
| {VPU_ENCP_VIDEO_HAVON_END, 0x527,}, |
| {VPU_ENCP_VIDEO_VAVON_BLINE, 0x23,}, |
| {VPU_ENCP_VIDEO_VAVON_ELINE, 0x322,}, |
| {VPU_ENCP_VIDEO_HSO_BEGIN, 0x0,}, |
| {VPU_ENCP_VIDEO_HSO_END, 0x88,}, |
| {VPU_ENCP_VIDEO_VSO_BEGIN, 0x1E,}, |
| {VPU_ENCP_VIDEO_VSO_END, 0x32,}, |
| {VPU_ENCP_VIDEO_VSO_BLINE, 0x0,}, |
| {VPU_ENCP_VIDEO_VSO_ELINE, 0x6,}, |
| {VPU_VPU_VIU_VENC_MUX_CTRL, 0xA}, |
| {VPU_ENCP_VIDEO_EN, 1,}, |
| {VPU_ENCI_VIDEO_EN, 0,}, |
| { 0xFFFFFFFF, 0}, |
| }; |
| struct cea_timing { |
| uint8_t interlace_mode; |
| uint32_t pfreq; |
| uint8_t ln; |
| uint8_t pixel_repeat; |
| uint8_t venc_pixel_repeat; |
| |
| uint32_t hfreq; |
| uint32_t hactive; |
| uint32_t htotal; |
| uint32_t hblank; |
| uint32_t hfront; |
| uint32_t hsync; |
| uint32_t hback; |
| uint8_t hpol; |
| |
| uint32_t vfreq; |
| uint32_t vactive; |
| uint32_t vtotal; |
| uint32_t vblank0; // in case of interlace |
| uint32_t vblank1; // vblank0 + 1 for interlace |
| uint32_t vfront; |
| uint32_t vsync; |
| uint32_t vback; |
| uint8_t vpol; |
| }; |
| |
| /* |
| struct hw_enc_clk_val_group { |
| enum hdmi_vic group[GROUP_MAX]; |
| unsigned viu_path; |
| enum viu_type viu_type; |
| unsigned hpll_clk_out; |
| unsigned od1; |
| unsigned od2; |
| unsigned od3; |
| unsigned vid_pll_div; |
| unsigned vid_clk_div; |
| unsigned hdmi_tx_pixel_div; |
| unsigned encp_div; |
| unsigned enci_div; |
| }; |
| |
| */ |
| |
| #define VID_PLL_DIV_1 0 |
| #define VID_PLL_DIV_2 1 |
| #define VID_PLL_DIV_3 2 |
| #define VID_PLL_DIV_3p5 3 |
| #define VID_PLL_DIV_3p75 4 |
| #define VID_PLL_DIV_4 5 |
| #define VID_PLL_DIV_5 6 |
| #define VID_PLL_DIV_6 7 |
| #define VID_PLL_DIV_6p25 8 |
| #define VID_PLL_DIV_7 9 |
| #define VID_PLL_DIV_7p5 10 |
| #define VID_PLL_DIV_12 11 |
| #define VID_PLL_DIV_14 12 |
| #define VID_PLL_DIV_15 13 |
| #define VID_PLL_DIV_2p5 14 |
| |
| enum viu_type { |
| VIU_ENCL = 0, |
| VIU_ENCI, |
| VIU_ENCP, |
| VIU_ENCT, |
| }; |
| |
| struct pll_param { |
| uint32_t mode; |
| uint32_t viu_channel; |
| uint32_t viu_type; |
| uint32_t hpll_clk_out; |
| uint32_t od1; |
| uint32_t od2; |
| uint32_t od3; |
| uint32_t vid_pll_div; |
| uint32_t vid_clk_div; |
| uint32_t hdmi_tx_pixel_div; |
| uint32_t encp_div; |
| uint32_t enci_div; |
| }; |
| |
| struct hdmi_param { |
| uint16_t vic; |
| uint8_t aspect_ratio; |
| uint8_t colorimety; |
| const struct reg_val_pair* enc_lut; |
| uint8_t phy_mode; |
| struct pll_param pll_p_24b; |
| struct pll_param pll_p_30b; |
| struct pll_param pll_p_36b; |
| struct pll_param pll_p_48b; // not supported |
| struct cea_timing timings; |
| }; |
| |
| #define HDMI_COLOR_DEPTH_24B 4 |
| #define HDMI_COLOR_DEPTH_30B 5 |
| #define HDMI_COLOR_DEPTH_36B 6 |
| #define HDMI_COLOR_DEPTH_48B 7 |
| |
| #define HDMI_COLOR_FORMAT_RGB 0 |
| #define HDMI_COLOR_FORMAT_444 1 |
| |
| #define HDMI_ASPECT_RATIO_4x3 1 |
| #define HDMI_ASPECT_RATIO_16x9 2 |
| |
| #define HDMI_COLORIMETY_ITU601 1 |
| #define HDMI_COLORIMETY_ITU709 2 |
| |
| /* VIC lookup */ |
| #define VIC_720x480p_60Hz_4x3 2 |
| #define VIC_720x480p_60Hz_16x9 3 |
| #define VIC_1280x720p_60Hz_16x9 4 |
| #define VIC_1920x1080i_60Hz_16x9 5 |
| #define VIC_720x480i_60Hz_4x3 6 |
| #define VIC_720x480i_60Hz_16x9 7 |
| #define VIC_720x240p_60Hz_4x3 8 |
| #define VIC_720x240p_60Hz_16x9 9 |
| #define VIC_2880x480i_60Hz_4x3 10 |
| #define VIC_2880x480i_60Hz_16x9 11 |
| #define VIC_2880x240p_60Hz_4x3 12 |
| #define VIC_2880x240p_60Hz_16x9 13 |
| #define VIC_1440x480p_60Hz_4x3 14 |
| #define VIC_1440x480p_60Hz_16x9 15 |
| #define VIC_1920x1080p_60Hz_16x9 16 |
| #define VIC_720x576p_50Hz_4x3 17 |
| #define VIC_720x576p_50Hz_16x9 18 |
| #define VIC_1280x720p_50Hz_16x9 19 |
| #define VIC_1920x1080i_50Hz_16x9 20 |
| #define VIC_720x576i_50Hz_4x3 21 |
| #define VIC_720x576i_50Hz_16x9 22 |
| #define VIC_720x288p_50Hz_4x3 23 |
| #define VIC_720x288p_50Hz_16x9 24 |
| #define VIC_2880x576i_50Hz_4x3 25 |
| #define VIC_2880x576i_50Hz_16x9 26 |
| #define VIC_2880x288p_50Hz_4x3 27 |
| #define VIC_2880x288p_50Hz_16x9 28 |
| #define VIC_1440x576p_50Hz_4x3 29 |
| #define VIC_1440x576p_50Hz_16x9 30 |
| #define VIC_1920x1080p_50Hz_16x9 31 |
| #define VIC_1920x1080p_24Hz_16x9 32 |
| #define VIC_1920x1080p_25Hz_16x9 33 |
| #define VIC_1920x1080p_30Hz_16x9 34 |
| #define VIC_2880x480p_60Hz_4x3 35 |
| #define VIC_2880x480p_60Hz_16x9 36 |
| #define VIC_2880x576p_50Hz_4x3 37 |
| #define VIC_2880x576p_50Hz_16x9 38 |
| #define VIC_1920x1080i_1250_50Hz_16x9 39 |
| #define VIC_1920x1080i_100Hz_16x9 40 |
| #define VIC_1280x720p_100Hz_16x9 41 |
| #define VIC_720x576p_100Hz_4x3 42 |
| #define VIC_720x576p_100Hz_16x9 43 |
| #define VIC_720x576i_100Hz_4x3 44 |
| #define VIC_720x576i_100Hz_16x9 45 |
| #define VIC_1920x1080i_120Hz_16x9 46 |
| #define VIC_1280x720p_120Hz_16x9 47 |
| #define VIC_720x480p_120Hz_4x3 48 |
| #define VIC_720x480p_120Hz_16x9 49 |
| #define VIC_720x480i_120Hz_4x3 50 |
| #define VIC_720x480i_120Hz_16x9 51 |
| #define VIC_720x576p_200Hz_4x3 52 |
| #define VIC_720x576p_200Hz_16x9 53 |
| #define VIC_720x576i_200Hz_4x3 54 |
| #define VIC_720x576i_200Hz_16x9 55 |
| #define VIC_720x480p_240Hz_4x3 56 |
| #define VIC_720x480p_240Hz_16x9 57 |
| #define VIC_720x480i_240Hz_4x3 58 |
| #define VIC_720x480i_240Hz_16x9 59 |
| #define VIC_1280x720p_24Hz_16x9 60 |
| #define VIC_1280x720p_25Hz_16x9 61 |
| #define VIC_1280x720p_30Hz_16x9 62 |
| #define VIC_1920x1080p_120Hz_16x9 63 |
| #define VIC_1920x1080p_100Hz_16x9 64 |
| #define VESA_OFFSET 300 |
| #define VIC_VESA_640x480p_60Hz_4x3 300 |
| #define VIC_VESA_1280x800p_60Hz_16x9 301 |
| #define VIC_VESA_1280x1024p_60Hz_5x4 302 |
| #define VIC_VESA_1920x1200p_60Hz_8x5 303 |
| #define VIC_VESA_800x600p_60Hz 304 |
| #define VIC_VESA_1024x768p_60Hz 305 |
| |
| void hdmitx_writereg(vim2_display_t* display, uint32_t addr, uint32_t data); |
| uint32_t hdmitx_readreg(vim2_display_t* display, uint32_t addr); |
| zx_status_t init_hdmi_hardware(vim2_display_t* display); |
| void dump_regs(vim2_display_t* display); |
| zx_status_t init_hdmi_interface(vim2_display_t* display, const struct hdmi_param* p); |
| void hdmi_test(vim2_display_t* display, uint32_t width); |
| zx_status_t configure_pll(vim2_display_t* display, const struct hdmi_param* p, |
| const struct pll_param* pll); |
| void hdmi_shutdown(vim2_display_t* display); |