.. | .. |
---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-or-later */ |
---|
1 | 2 | /* |
---|
2 | 3 | * Copyright (C) 2016 BayLibre, SAS |
---|
3 | 4 | * Author: Neil Armstrong <narmstrong@baylibre.com> |
---|
4 | 5 | * Copyright (C) 2015 Amlogic, Inc. All rights reserved. |
---|
5 | | - * |
---|
6 | | - * This program is free software; you can redistribute it and/or |
---|
7 | | - * modify it under the terms of the GNU General Public License as |
---|
8 | | - * published by the Free Software Foundation; either version 2 of the |
---|
9 | | - * License, or (at your option) any later version. |
---|
10 | | - * |
---|
11 | | - * This program is distributed in the hope that it will be useful, but |
---|
12 | | - * WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
13 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
---|
14 | | - * General Public License for more details. |
---|
15 | | - * |
---|
16 | | - * You should have received a copy of the GNU General Public License |
---|
17 | | - * along with this program; if not, see <http://www.gnu.org/licenses/>. |
---|
18 | 6 | */ |
---|
19 | 7 | |
---|
20 | 8 | #ifndef __MESON_DW_HDMI_H |
---|
21 | 9 | #define __MESON_DW_HDMI_H |
---|
22 | 10 | |
---|
23 | 11 | /* |
---|
24 | | - * Bit 7 RW Reserved. Default 1. |
---|
25 | | - * Bit 6 RW Reserved. Default 1. |
---|
26 | | - * Bit 5 RW Reserved. Default 1. |
---|
| 12 | + * Bit 15-10: RW Reserved. Default 1 starting from G12A |
---|
| 13 | + * Bit 9 RW sw_reset_i2c starting from G12A |
---|
| 14 | + * Bit 8 RW sw_reset_axiarb starting from G12A |
---|
| 15 | + * Bit 7 RW Reserved. Default 1, sw_reset_emp starting from G12A |
---|
| 16 | + * Bit 6 RW Reserved. Default 1, sw_reset_flt starting from G12A |
---|
| 17 | + * Bit 5 RW Reserved. Default 1, sw_reset_hdcp22 starting from G12A |
---|
27 | 18 | * Bit 4 RW sw_reset_phyif: PHY interface. 1=Apply reset; 0=Release from reset. |
---|
28 | 19 | * Default 1. |
---|
29 | 20 | * Bit 3 RW sw_reset_intr: interrupt module. 1=Apply reset; |
---|
.. | .. |
---|
39 | 30 | #define HDMITX_TOP_SW_RESET (0x000) |
---|
40 | 31 | |
---|
41 | 32 | /* |
---|
| 33 | + * Bit 31 RW free_clk_en: 0=Enable clock gating for power saving; 1= Disable |
---|
42 | 34 | * Bit 12 RW i2s_ws_inv:1=Invert i2s_ws; 0=No invert. Default 0. |
---|
43 | 35 | * Bit 11 RW i2s_clk_inv: 1=Invert i2s_clk; 0=No invert. Default 0. |
---|
44 | 36 | * Bit 10 RW spdif_clk_inv: 1=Invert spdif_clk; 0=No invert. Default 0. |
---|
45 | 37 | * Bit 9 RW tmds_clk_inv: 1=Invert tmds_clk; 0=No invert. Default 0. |
---|
46 | 38 | * Bit 8 RW pixel_clk_inv: 1=Invert pixel_clk; 0=No invert. Default 0. |
---|
47 | | - * Bit 4 RW cec_clk_en: 1=enable cec_clk; 0=disable. Default 0. |
---|
| 39 | + * Bit 7 RW hdcp22_skpclk_en: starting from G12A, 1=enable; 0=disable |
---|
| 40 | + * Bit 6 RW hdcp22_esmclk_en: starting from G12A, 1=enable; 0=disable |
---|
| 41 | + * Bit 5 RW hdcp22_tmdsclk_en: starting from G12A, 1=enable; 0=disable |
---|
| 42 | + * Bit 4 RW cec_clk_en: 1=enable cec_clk; 0=disable. Default 0. Reserved for G12A |
---|
48 | 43 | * Bit 3 RW i2s_clk_en: 1=enable i2s_clk; 0=disable. Default 0. |
---|
49 | 44 | * Bit 2 RW spdif_clk_en: 1=enable spdif_clk; 0=disable. Default 0. |
---|
50 | 45 | * Bit 1 RW tmds_clk_en: 1=enable tmds_clk; 0=disable. Default 0. |
---|
.. | .. |
---|
53 | 48 | #define HDMITX_TOP_CLK_CNTL (0x001) |
---|
54 | 49 | |
---|
55 | 50 | /* |
---|
| 51 | + * Bit 31:28 RW rxsense_glitch_width: starting from G12A |
---|
| 52 | + * Bit 27:16 RW rxsense_valid_width: starting from G12A |
---|
56 | 53 | * Bit 11: 0 RW hpd_valid_width: filter out width <= M*1024. Default 0. |
---|
57 | 54 | * Bit 15:12 RW hpd_glitch_width: filter out glitch <= N. Default 0. |
---|
58 | 55 | */ |
---|
.. | .. |
---|
61 | 58 | /* |
---|
62 | 59 | * intr_maskn: MASK_N, one bit per interrupt source. |
---|
63 | 60 | * 1=Enable interrupt source; 0=Disable interrupt source. Default 0. |
---|
| 61 | + * [ 7] rxsense_fall starting from G12A |
---|
| 62 | + * [ 6] rxsense_rise starting from G12A |
---|
| 63 | + * [ 5] err_i2c_timeout starting from G12A |
---|
64 | 64 | * [ 4] hdcp22_rndnum_err |
---|
65 | 65 | * [ 3] nonce_rfrsh_rise |
---|
66 | 66 | * [ 2] hpd_fall_intr |
---|
.. | .. |
---|
73 | 73 | * Bit 30: 0 RW intr_stat: For each bit, write 1 to manually set the interrupt |
---|
74 | 74 | * bit, read back the interrupt status. |
---|
75 | 75 | * Bit 31 R IP interrupt status |
---|
| 76 | + * Bit 7 RW rxsense_fall starting from G12A |
---|
| 77 | + * Bit 6 RW rxsense_rise starting from G12A |
---|
| 78 | + * Bit 5 RW err_i2c_timeout starting from G12A |
---|
76 | 79 | * Bit 2 RW hpd_fall |
---|
77 | 80 | * Bit 1 RW hpd_rise |
---|
78 | 81 | * Bit 0 RW IP interrupt |
---|
.. | .. |
---|
80 | 83 | #define HDMITX_TOP_INTR_STAT (0x004) |
---|
81 | 84 | |
---|
82 | 85 | /* |
---|
| 86 | + * [7] rxsense_fall starting from G12A |
---|
| 87 | + * [6] rxsense_rise starting from G12A |
---|
| 88 | + * [5] err_i2c_timeout starting from G12A |
---|
83 | 89 | * [4] hdcp22_rndnum_err |
---|
84 | 90 | * [3] nonce_rfrsh_rise |
---|
85 | 91 | * [2] hpd_fall |
---|
.. | .. |
---|
91 | 97 | #define HDMITX_TOP_INTR_CORE BIT(0) |
---|
92 | 98 | #define HDMITX_TOP_INTR_HPD_RISE BIT(1) |
---|
93 | 99 | #define HDMITX_TOP_INTR_HPD_FALL BIT(2) |
---|
| 100 | +#define HDMITX_TOP_INTR_RXSENSE_RISE BIT(6) |
---|
| 101 | +#define HDMITX_TOP_INTR_RXSENSE_FALL BIT(7) |
---|
94 | 102 | |
---|
95 | | -/* Bit 14:12 RW tmds_sel: 3'b000=Output zero; 3'b001=Output normal TMDS data; |
---|
| 103 | +/* |
---|
| 104 | + * Bit 14:12 RW tmds_sel: 3'b000=Output zero; 3'b001=Output normal TMDS data; |
---|
96 | 105 | * 3'b010=Output PRBS data; 3'b100=Output shift pattern. Default 0. |
---|
97 | 106 | * Bit 11: 9 RW shift_pttn_repeat: 0=New pattern every clk cycle; 1=New pattern |
---|
98 | 107 | * every 2 clk cycles; ...; 7=New pattern every 8 clk cycles. Default 0. |
---|
.. | .. |
---|
127 | 136 | /* Bit 9: 0 RW tmds_clk_pttn[29:20]. Default 0. */ |
---|
128 | 137 | #define HDMITX_TOP_TMDS_CLK_PTTN_23 (0x00B) |
---|
129 | 138 | |
---|
130 | | -/* Bit 1 RW shift_tmds_clk_pttn:1=Enable shifting clk pattern, |
---|
| 139 | +/* |
---|
| 140 | + * Bit 1 RW shift_tmds_clk_pttn:1=Enable shifting clk pattern, |
---|
131 | 141 | * used when TMDS CLK rate = TMDS character rate /4. Default 0. |
---|
132 | 142 | * Bit 0 R Reserved. Default 0. |
---|
133 | 143 | * [ 1] shift_tmds_clk_pttn |
---|
.. | .. |
---|
135 | 145 | */ |
---|
136 | 146 | #define HDMITX_TOP_TMDS_CLK_PTTN_CNTL (0x00C) |
---|
137 | 147 | |
---|
138 | | -/* Bit 0 RW revocmem_wr_fail: Read back 1 to indicate Host write REVOC MEM |
---|
| 148 | +/* |
---|
| 149 | + * Bit 0 RW revocmem_wr_fail: Read back 1 to indicate Host write REVOC MEM |
---|
139 | 150 | * failure, write 1 to clear the failure flag. Default 0. |
---|
140 | 151 | */ |
---|
141 | 152 | #define HDMITX_TOP_REVOCMEM_STAT (0x00D) |
---|
142 | 153 | |
---|
143 | | -/* Bit 0 R filtered HPD status. */ |
---|
| 154 | +/* |
---|
| 155 | + * Bit 1 R filtered RxSense status |
---|
| 156 | + * Bit 0 R filtered HPD status. |
---|
| 157 | + */ |
---|
144 | 158 | #define HDMITX_TOP_STAT0 (0x00E) |
---|
145 | 159 | |
---|
146 | 160 | #endif /* __MESON_DW_HDMI_H */ |
---|