Lines Matching refs:rk628

45 	struct rk628 *rk628;  member
56 static int hdcp_load_keys_cb(struct rk628 *rk628, struct rk628_hdcp *hdcp) in hdcp_load_keys_cb() argument
74 dev_dbg(rk628->dev, "HDCP: read size %d\n", size); in hdcp_load_keys_cb()
88 static int rk628_hdmi_hdcp_load_key(struct rk628 *rk628, struct rk628_hdcp *hdcp) in rk628_hdmi_hdcp_load_key() argument
96 ret = hdcp_load_keys_cb(rk628, hdcp); in rk628_hdmi_hdcp_load_key()
98 dev_err(rk628->dev, "HDCP: load key failed\n"); in rk628_hdmi_hdcp_load_key()
104 rk628_i2c_update_bits(rk628, HDMI_RX_HDCP_CTRL, in rk628_hdmi_hdcp_load_key()
109 rk628_i2c_update_bits(rk628, GRF_SYSTEM_CON0, in rk628_hdmi_hdcp_load_key()
116 rk628_i2c_write(rk628, HDCP_KEY_KSV0 + i * 4, in rk628_hdmi_hdcp_load_key()
120 rk628_i2c_write(rk628, HDCP_KEY_DPK0 + i * 4, in rk628_hdmi_hdcp_load_key()
123 rk628_i2c_update_bits(rk628, GRF_SYSTEM_CON0, in rk628_hdmi_hdcp_load_key()
128 rk628_i2c_update_bits(rk628, HDMI_RX_HDCP_CTRL, in rk628_hdmi_hdcp_load_key()
140 rk628_i2c_update_bits(rk628, HDMI_RX_HDCP_CTRL, in rk628_hdmi_hdcp_load_key()
143 rk628_i2c_write(rk628, HDMI_RX_HDCP_SEED, seeds); in rk628_hdmi_hdcp_load_key()
145 rk628_i2c_update_bits(rk628, HDMI_RX_HDCP_CTRL, in rk628_hdmi_hdcp_load_key()
153 void rk628_hdmirx_set_hdcp(struct rk628 *rk628, struct rk628_hdcp *hdcp, bool en) in rk628_hdmirx_set_hdcp() argument
155 dev_dbg(rk628->dev, "%s: %sable\n", __func__, en ? "en" : "dis"); in rk628_hdmirx_set_hdcp()
158 rk628_hdmi_hdcp_load_key(rk628, hdcp); in rk628_hdmirx_set_hdcp()
160 rk628_i2c_update_bits(rk628, HDMI_RX_HDCP_CTRL, in rk628_hdmirx_set_hdcp()
169 void rk628_hdmirx_controller_setup(struct rk628 *rk628) in rk628_hdmirx_controller_setup() argument
171 rk628_i2c_write(rk628, HDMI_RX_HDMI20_CONTROL, 0x10000f10); in rk628_hdmirx_controller_setup()
172 rk628_i2c_write(rk628, HDMI_RX_HDMI_MODE_RECOVER, 0x00000021); in rk628_hdmirx_controller_setup()
173 rk628_i2c_write(rk628, HDMI_RX_PDEC_CTRL, 0xbfff8011); in rk628_hdmirx_controller_setup()
174 rk628_i2c_write(rk628, HDMI_RX_PDEC_ASP_CTRL, 0x00000040); in rk628_hdmirx_controller_setup()
175 rk628_i2c_write(rk628, HDMI_RX_HDMI_RESMPL_CTRL, 0x00000001); in rk628_hdmirx_controller_setup()
176 rk628_i2c_write(rk628, HDMI_RX_HDMI_SYNC_CTRL, 0x00000014); in rk628_hdmirx_controller_setup()
177 rk628_i2c_write(rk628, HDMI_RX_PDEC_ERR_FILTER, 0x00000008); in rk628_hdmirx_controller_setup()
178 rk628_i2c_write(rk628, HDMI_RX_SCDC_I2CCONFIG, 0x01000000); in rk628_hdmirx_controller_setup()
179 rk628_i2c_write(rk628, HDMI_RX_SCDC_CONFIG, 0x00000001); in rk628_hdmirx_controller_setup()
180 rk628_i2c_write(rk628, HDMI_RX_SCDC_WRDATA0, 0xabcdef01); in rk628_hdmirx_controller_setup()
181 rk628_i2c_write(rk628, HDMI_RX_CHLOCK_CONFIG, 0x0030c15c); in rk628_hdmirx_controller_setup()
182 rk628_i2c_write(rk628, HDMI_RX_HDMI_ERROR_PROTECT, 0x000d0c98); in rk628_hdmirx_controller_setup()
183 rk628_i2c_write(rk628, HDMI_RX_MD_HCTRL1, 0x00000010); in rk628_hdmirx_controller_setup()
184 rk628_i2c_write(rk628, HDMI_RX_MD_HCTRL2, 0x00001738); in rk628_hdmirx_controller_setup()
185 rk628_i2c_write(rk628, HDMI_RX_MD_VCTRL, 0x00000002); in rk628_hdmirx_controller_setup()
186 rk628_i2c_write(rk628, HDMI_RX_MD_VTH, 0x0000073a); in rk628_hdmirx_controller_setup()
187 rk628_i2c_write(rk628, HDMI_RX_MD_IL_POL, 0x00000004); in rk628_hdmirx_controller_setup()
188 rk628_i2c_write(rk628, HDMI_RX_PDEC_ACRM_CTRL, 0x00000000); in rk628_hdmirx_controller_setup()
189 rk628_i2c_write(rk628, HDMI_RX_HDMI_DCM_CTRL, 0x00040414); in rk628_hdmirx_controller_setup()
190 rk628_i2c_write(rk628, HDMI_RX_HDMI_CKM_EVLTM, 0x00103e70); in rk628_hdmirx_controller_setup()
191 rk628_i2c_write(rk628, HDMI_RX_HDMI_CKM_F, 0x0c1c0b54); in rk628_hdmirx_controller_setup()
192 rk628_i2c_write(rk628, HDMI_RX_HDMI_RESMPL_CTRL, 0x00000001); in rk628_hdmirx_controller_setup()
194 rk628_i2c_update_bits(rk628, HDMI_RX_HDCP_SETTINGS, in rk628_hdmirx_controller_setup()
210 rk628_i2c_write(aif->rk628, HDMI_RX_AUD_FIFO_ICLR, 0x1f); in rk628_hdmirx_audio_fifo_init()
211 rk628_i2c_write(aif->rk628, HDMI_RX_AUD_FIFO_CTRL, 0x10001); in rk628_hdmirx_audio_fifo_init()
212 rk628_i2c_write(aif->rk628, HDMI_RX_AUD_FIFO_CTRL, 0x10000); in rk628_hdmirx_audio_fifo_init()
220 rk628_i2c_write(aif->rk628, HDMI_RX_AUD_FIFO_ICLR, 0x1f); in rk628_hdmirx_audio_fifo_initd()
221 rk628_i2c_update_bits(aif->rk628, HDMI_RX_AUD_FIFO_TH, in rk628_hdmirx_audio_fifo_initd()
224 rk628_i2c_write(aif->rk628, HDMI_RX_AUD_FIFO_CTRL, 0x10001); in rk628_hdmirx_audio_fifo_initd()
225 rk628_i2c_write(aif->rk628, HDMI_RX_AUD_FIFO_CTRL, 0x10000); in rk628_hdmirx_audio_fifo_initd()
226 rk628_i2c_write(aif->rk628, HDMI_RX_AUD_FIFO_CTRL, 0x10001); in rk628_hdmirx_audio_fifo_initd()
227 rk628_i2c_write(aif->rk628, HDMI_RX_AUD_FIFO_CTRL, 0x10000); in rk628_hdmirx_audio_fifo_initd()
228 rk628_i2c_update_bits(aif->rk628, HDMI_RX_AUD_FIFO_TH, in rk628_hdmirx_audio_fifo_initd()
240 rk628_i2c_read(aif->rk628, HDMI_RX_HDMI_CKM_RESULT, &clkrate); in _rk628_hdmirx_audio_fs()
244 rk628_i2c_read(aif->rk628, HDMI_RX_PDEC_ACR_CTS, &cts_decoded); in _rk628_hdmirx_audio_fs()
245 rk628_i2c_read(aif->rk628, HDMI_RX_PDEC_ACR_N, &n_decoded); in _rk628_hdmirx_audio_fs()
265 rk628_clk_set_rate(aif->rk628, CGU_CLK_HDMIRX_AUD, rate); in rk628_hdmirx_audio_clk_set_rate()
275 rk628_clk_set_rate(aif->rk628, CGU_CLK_HDMIRX_AUD, hdmirx_aud_clkrate); in rk628_hdmirx_audio_clk_inc_rate()
286 rk628_clk_set_rate(aif->rk628, CGU_CLK_HDMIRX_AUD, hdmirx_aud_clkrate_t); in rk628_hdmirx_audio_set_fs()
295 rk628_i2c_read(aif->rk628, HDMI_RX_AUD_FIFO_ISTS, &fifo_ints); in rk628_hdmirx_audio_enable()
301 rk628_i2c_update_bits(aif->rk628, HDMI_RX_DMI_DISABLE_IF, in rk628_hdmirx_audio_enable()
305 rk628_i2c_write(aif->rk628, HDMI_RX_AUD_FIFO_IEN_SET, in rk628_hdmirx_audio_enable()
332 rk628_i2c_read(aif->rk628, HDMI_RX_AUD_FIFO_FILLSTS1, &cur_state); in rk628_csi_delayed_work_audio()
376 rk628_i2c_read(aif->rk628, HDMI_RX_AUD_FIFO_FILLSTS1, &fifo_fillsts); in rk628_csi_delayed_work_audio_rate_change()
390 struct rk628 *rk628, in rk628_hdmirx_audioinfo_alloc() argument
403 aif->rk628 = rk628; in rk628_hdmirx_audioinfo_alloc()
441 aif->rk628 = NULL; in rk628_hdmirx_audio_destroy()
472 rk628_i2c_write(aif->rk628, HDMI_RX_AUD_SAO_CTRL, in rk628_hdmirx_audio_i2s_ctrl()
476 rk628_i2c_write(aif->rk628, HDMI_RX_AUD_SAO_CTRL, in rk628_hdmirx_audio_i2s_ctrl()
505 rk628_i2c_write(aif->rk628, HDMI_RX_AUDPLL_GEN_CTS, audio_pll_cts); in rk628_hdmirx_audio_setup()
507 rk628_i2c_write(aif->rk628, HDMI_RX_AUDPLL_GEN_N, audio_pll_n); in rk628_hdmirx_audio_setup()
510 rk628_i2c_update_bits(aif->rk628, HDMI_RX_AUD_CLK_CTRL, in rk628_hdmirx_audio_setup()
513 rk628_i2c_update_bits(aif->rk628, HDMI_RX_AUD_PLL_CTRL, in rk628_hdmirx_audio_setup()
515 rk628_i2c_update_bits(aif->rk628, HDMI_RX_AUD_FIFO_TH, in rk628_hdmirx_audio_setup()
524 rk628_i2c_update_bits(aif->rk628, HDMI_RX_AUD_FIFO_CTRL, in rk628_hdmirx_audio_setup()
529 rk628_i2c_write(aif->rk628, HDMI_RX_AUD_SAO_CTRL, in rk628_hdmirx_audio_setup()
534 rk628_i2c_write(aif->rk628, HDMI_RX_AUD_MUTE_CTRL, in rk628_hdmirx_audio_setup()
543 rk628_i2c_write(aif->rk628, HDMI_RX_AUD_PAO_CTRL, in rk628_hdmirx_audio_setup()
545 rk628_i2c_write(aif->rk628, HDMI_RX_AUD_CHEXTR_CTRL, in rk628_hdmirx_audio_setup()
548 rk628_i2c_write(aif->rk628, HDMI_RX_PDEC_IEN_SET, ACR_N_CHG_ICLR | ACR_CTS_CHG_ICLR); in rk628_hdmirx_audio_setup()
550 rk628_i2c_write(aif->rk628, HDMI_RX_PDEC_AUDIODET_CTRL, in rk628_hdmirx_audio_setup()
580 rk628_i2c_write(aif->rk628, HDMI_RX_PDEC_IEN_CLR, ctsn_mask); in rk628_csi_isr_ctsn()
584 rk628_i2c_write(aif->rk628, HDMI_RX_PDEC_ICLR, pdec_ints & ctsn_mask); in rk628_csi_isr_ctsn()
608 rk628_i2c_write(aif->rk628, HDMI_RX_AUD_FIFO_ICLR, fifo_ints & fifo_mask); in rk628_csi_isr_fifoints()
612 int rk628_is_avi_ready(struct rk628 *rk628, bool avi_rcv_rdy) in rk628_is_avi_ready() argument
619 rk628_i2c_read(rk628, HDMI_RX_HDCP_CTRL, &val); in rk628_is_avi_ready()
624 rk628_i2c_read(rk628, HDMI_RX_PDEC_AVI_PB, &val); in rk628_is_avi_ready()
625 dev_info(rk628->dev, "%s PDEC_AVI_PB:%#x, avi_rcv_rdy:%d\n", in rk628_is_avi_ready()
628 rk628_i2c_read(rk628, HDMI_RX_HDCP_CTRL, &hdcp_ctrl_val); in rk628_is_avi_ready()
631 rk628_i2c_write(rk628, HDMI_RX_HDCP_CTRL, hdcp_ctrl_val); in rk628_is_avi_ready()