| /linux/drivers/gpu/drm/mediatek/ |
| H A D | mtk_hdmi_v2.c | 3 * MediaTek HDMI v2 IP driver 57 [MTK_HDMI_V2_CLK_VPP_SPLIT_HDMI] = "hdmi-split", 60 static inline void mtk_hdmi_v2_hwirq_disable(struct mtk_hdmi *hdmi) in mtk_hdmi_v2_hwirq_disable() argument 62 regmap_write(hdmi->regs, TOP_INT_ENABLE00, 0); in mtk_hdmi_v2_hwirq_disable() 63 regmap_write(hdmi->regs, TOP_INT_ENABLE01, 0); in mtk_hdmi_v2_hwirq_disable() 66 static inline void mtk_hdmi_v2_enable_hpd_pord_irq(struct mtk_hdmi *hdmi, bool enable) in mtk_hdmi_v2_enable_hpd_pord_irq() argument 69 regmap_set_bits(hdmi->regs, TOP_INT_ENABLE00, HPD_PORD_HWIRQS); in mtk_hdmi_v2_enable_hpd_pord_irq() 71 regmap_clear_bits(hdmi->regs, TOP_INT_ENABLE00, HPD_PORD_HWIRQS); in mtk_hdmi_v2_enable_hpd_pord_irq() 74 static inline void mtk_hdmi_v2_set_sw_hpd(struct mtk_hdmi *hdmi, bool enable) in mtk_hdmi_v2_set_sw_hpd() argument 77 regmap_set_bits(hdmi->regs, hdmi->conf->reg_hdmi_tx_cfg, HDMITX_SW_HPD); in mtk_hdmi_v2_set_sw_hpd() [all …]
|
| H A D | mtk_hdmi.c | 10 #include <linux/hdmi.h> 24 #include <sound/hdmi-codec.h> 47 static void mtk_hdmi_hw_vid_black(struct mtk_hdmi *hdmi, bool black) in mtk_hdmi_hw_vid_black() argument 49 regmap_update_bits(hdmi->regs, VIDEO_CFG_4, in mtk_hdmi_hw_vid_black() 53 static void mtk_hdmi_hw_make_reg_writable(struct mtk_hdmi *hdmi, bool enable) in mtk_hdmi_hw_make_reg_writable() argument 58 * MT8173 HDMI hardware has an output control bit to enable/disable HDMI in mtk_hdmi_hw_make_reg_writable() 60 * The ARM trusted firmware provides an API for the HDMI driver to set in mtk_hdmi_hw_make_reg_writable() 61 * this control bit to enable HDMI output in supervisor mode. in mtk_hdmi_hw_make_reg_writable() 63 if (hdmi->conf && hdmi->conf->tz_disabled) in mtk_hdmi_hw_make_reg_writable() 64 regmap_update_bits(hdmi->sys_regmap, in mtk_hdmi_hw_make_reg_writable() [all …]
|
| H A D | mtk_hdmi_common.c | 10 #include <linux/hdmi.h> 17 #include <sound/hdmi-codec.h> 26 /* Recommended N values from HDMI specification, tables 7-1 to 7-3 */ 38 * hdmi_recommended_n() - Return N value recommended by HDMI specification 104 int mtk_hdmi_audio_params(struct mtk_hdmi *hdmi, in mtk_hdmi_audio_params() argument 111 dev_dbg(hdmi->dev, "%s: %u Hz, %d bit, %d channels\n", __func__, in mtk_hdmi_audio_params() 114 if (!hdmi->bridge.encoder) in mtk_hdmi_audio_params() 131 dev_err(hdmi->dev, "channel[%d] not supported!\n", chan); in mtk_hdmi_audio_params() 145 dev_err(hdmi->dev, "rate[%d] not supported!\n", in mtk_hdmi_audio_params() 164 dev_err(hdmi->dev, "%s: Invalid DAI format %d\n", __func__, in mtk_hdmi_audio_params() [all …]
|
| /linux/drivers/gpu/drm/bridge/synopsys/ |
| H A D | dw-hdmi.c | 3 * DesignWare High-Definition Multimedia Interface (HDMI) driver 13 #include <linux/hdmi.h> 40 #include "dw-hdmi-audio.h" 41 #include "dw-hdmi-cec.h" 42 #include "dw-hdmi.h" 49 /* DW-HDMI Controller >= 0x200a are at least compliant with SCDC version 1 */ 127 int (*configure)(struct dw_hdmi *hdmi, 191 void (*enable_audio)(struct dw_hdmi *hdmi); 192 void (*disable_audio)(struct dw_hdmi *hdmi); 202 const struct dw_hdmi_plat_data *dw_hdmi_to_plat_data(struct dw_hdmi *hdmi) 209 hdmi_writeb(struct dw_hdmi * hdmi,u8 val,int offset) hdmi_writeb() argument 214 hdmi_readb(struct dw_hdmi * hdmi,int offset) hdmi_readb() argument 223 handle_plugged_change(struct dw_hdmi * hdmi,bool plugged) handle_plugged_change() argument 229 dw_hdmi_set_plugged_cb(struct dw_hdmi * hdmi,hdmi_codec_plugged_cb fn,struct device * codec_dev) dw_hdmi_set_plugged_cb() argument 245 hdmi_modb(struct dw_hdmi * hdmi,u8 data,u8 mask,unsigned reg) hdmi_modb() argument 250 hdmi_mask_writeb(struct dw_hdmi * hdmi,u8 data,unsigned int reg,u8 shift,u8 mask) hdmi_mask_writeb() argument 256 dw_hdmi_i2c_init(struct dw_hdmi * hdmi) dw_hdmi_i2c_init() argument 285 dw_hdmi_i2c_unwedge(struct dw_hdmi * hdmi) dw_hdmi_i2c_unwedge() argument 332 dw_hdmi_i2c_wait(struct dw_hdmi * hdmi) dw_hdmi_i2c_wait() argument 356 dw_hdmi_i2c_read(struct dw_hdmi * hdmi,unsigned char * buf,unsigned int length) dw_hdmi_i2c_read() argument 390 dw_hdmi_i2c_write(struct dw_hdmi * hdmi,unsigned char * buf,unsigned int length) dw_hdmi_i2c_write() argument 423 struct dw_hdmi *hdmi = i2c_get_adapdata(adap); dw_hdmi_i2c_xfer() local 503 dw_hdmi_i2c_adapter(struct dw_hdmi * hdmi) dw_hdmi_i2c_adapter() argument 537 hdmi_set_cts_n(struct dw_hdmi * hdmi,unsigned int cts,unsigned int n) hdmi_set_cts_n() argument 632 dw_hdmi_set_channel_status(struct dw_hdmi * hdmi,u8 * channel_status) dw_hdmi_set_channel_status() argument 644 hdmi_set_clk_regenerator(struct dw_hdmi * hdmi,unsigned long pixel_clk,unsigned int sample_rate) hdmi_set_clk_regenerator() argument 684 hdmi_init_clk_regenerator(struct dw_hdmi * hdmi) hdmi_init_clk_regenerator() argument 691 hdmi_clk_regenerator_update_pixel_clock(struct dw_hdmi * hdmi) hdmi_clk_regenerator_update_pixel_clock() argument 699 dw_hdmi_set_sample_width(struct dw_hdmi * hdmi,unsigned int width) dw_hdmi_set_sample_width() argument 707 dw_hdmi_set_sample_non_pcm(struct dw_hdmi * hdmi,unsigned int non_pcm) dw_hdmi_set_sample_non_pcm() argument 715 dw_hdmi_set_sample_rate(struct dw_hdmi * hdmi,unsigned int rate) dw_hdmi_set_sample_rate() argument 725 dw_hdmi_set_channel_count(struct dw_hdmi * hdmi,unsigned int cnt) dw_hdmi_set_channel_count() argument 752 dw_hdmi_set_channel_allocation(struct dw_hdmi * hdmi,unsigned int ca) dw_hdmi_set_channel_allocation() argument 762 hdmi_enable_audio_clk(struct dw_hdmi * hdmi,bool enable) hdmi_enable_audio_clk() argument 771 hdmi_audio_get_eld(struct dw_hdmi * hdmi) hdmi_audio_get_eld() argument 779 dw_hdmi_gp_audio_enable(struct dw_hdmi * hdmi) dw_hdmi_gp_audio_enable() argument 849 dw_hdmi_gp_audio_disable(struct dw_hdmi * hdmi) dw_hdmi_gp_audio_disable() argument 862 dw_hdmi_ahb_audio_enable(struct dw_hdmi * hdmi) dw_hdmi_ahb_audio_enable() argument 867 dw_hdmi_ahb_audio_disable(struct dw_hdmi * hdmi) dw_hdmi_ahb_audio_disable() argument 872 dw_hdmi_i2s_audio_enable(struct dw_hdmi * hdmi) dw_hdmi_i2s_audio_enable() argument 878 dw_hdmi_i2s_audio_disable(struct dw_hdmi * hdmi) dw_hdmi_i2s_audio_disable() argument 883 dw_hdmi_audio_enable(struct dw_hdmi * hdmi) dw_hdmi_audio_enable() argument 895 dw_hdmi_audio_disable(struct dw_hdmi * hdmi) dw_hdmi_audio_disable() argument 1000 hdmi_video_sample(struct dw_hdmi * hdmi) hdmi_video_sample() argument 1068 is_color_space_conversion(struct dw_hdmi * hdmi) is_color_space_conversion() argument 1080 is_color_space_decimation(struct dw_hdmi * hdmi) is_color_space_decimation() argument 1092 is_color_space_interpolation(struct dw_hdmi * hdmi) is_color_space_interpolation() argument 1104 is_csc_needed(struct dw_hdmi * hdmi) is_csc_needed() argument 1111 dw_hdmi_update_csc_coeffs(struct dw_hdmi * hdmi) dw_hdmi_update_csc_coeffs() argument 1155 hdmi_video_csc(struct dw_hdmi * hdmi) hdmi_video_csc() argument 1198 hdmi_video_packetize(struct dw_hdmi * hdmi) hdmi_video_packetize() argument 1328 hdmi_phy_test_clear(struct dw_hdmi * hdmi,unsigned char bit) hdmi_phy_test_clear() argument 1335 hdmi_phy_wait_i2c_done(struct dw_hdmi * hdmi,int msec) hdmi_phy_wait_i2c_done() argument 1349 dw_hdmi_phy_i2c_write(struct dw_hdmi * hdmi,unsigned short data,unsigned char addr) dw_hdmi_phy_i2c_write() argument 1365 dw_hdmi_support_scdc(struct dw_hdmi * hdmi,const struct drm_display_info * display) dw_hdmi_support_scdc() argument 1405 dw_hdmi_set_high_tmds_clock_ratio(struct dw_hdmi * hdmi,const struct drm_display_info * display) dw_hdmi_set_high_tmds_clock_ratio() argument 1420 dw_hdmi_phy_enable_powerdown(struct dw_hdmi * hdmi,bool enable) dw_hdmi_phy_enable_powerdown() argument 1427 dw_hdmi_phy_enable_tmds(struct dw_hdmi * hdmi,u8 enable) dw_hdmi_phy_enable_tmds() argument 1434 dw_hdmi_phy_enable_svsret(struct dw_hdmi * hdmi,u8 enable) dw_hdmi_phy_enable_svsret() argument 1441 dw_hdmi_phy_gen2_pddq(struct dw_hdmi * hdmi,u8 enable) dw_hdmi_phy_gen2_pddq() argument 1449 dw_hdmi_phy_gen2_txpwron(struct dw_hdmi * hdmi,u8 enable) dw_hdmi_phy_gen2_txpwron() argument 1457 dw_hdmi_phy_sel_data_en_pol(struct dw_hdmi * hdmi,u8 enable) dw_hdmi_phy_sel_data_en_pol() argument 1464 dw_hdmi_phy_sel_interface_control(struct dw_hdmi * hdmi,u8 enable) dw_hdmi_phy_sel_interface_control() argument 1471 dw_hdmi_phy_gen1_reset(struct dw_hdmi * hdmi) dw_hdmi_phy_gen1_reset() argument 1479 dw_hdmi_phy_gen2_reset(struct dw_hdmi * hdmi) dw_hdmi_phy_gen2_reset() argument 1487 dw_hdmi_phy_i2c_set_addr(struct dw_hdmi * hdmi,u8 address) dw_hdmi_phy_i2c_set_addr() argument 1495 dw_hdmi_phy_power_off(struct dw_hdmi * hdmi) dw_hdmi_phy_power_off() argument 1529 dw_hdmi_phy_power_on(struct dw_hdmi * hdmi) dw_hdmi_phy_power_on() argument 1570 hdmi_phy_configure_dwc_hdmi_3d_tx(struct dw_hdmi * hdmi,const struct dw_hdmi_plat_data * pdata,unsigned long mpixelclock) hdmi_phy_configure_dwc_hdmi_3d_tx() argument 1622 hdmi_phy_configure(struct dw_hdmi * hdmi,const struct drm_display_info * display) hdmi_phy_configure() argument 1663 dw_hdmi_phy_init(struct dw_hdmi * hdmi,void * data,const struct drm_display_info * display,const struct drm_display_mode * mode) dw_hdmi_phy_init() argument 1682 dw_hdmi_phy_disable(struct dw_hdmi * hdmi,void * data) dw_hdmi_phy_disable() argument 1687 dw_hdmi_phy_read_hpd(struct dw_hdmi * hdmi,void * data) dw_hdmi_phy_read_hpd() argument 1695 dw_hdmi_phy_update_hpd(struct dw_hdmi * hdmi,void * data,bool force,bool disabled,bool rxsense) dw_hdmi_phy_update_hpd() argument 1710 dw_hdmi_phy_setup_hpd(struct dw_hdmi * hdmi,void * data) dw_hdmi_phy_setup_hpd() argument 1743 hdmi_tx_hdcp_config(struct dw_hdmi * hdmi) hdmi_tx_hdcp_config() argument 1762 hdmi_config_AVI(struct dw_hdmi * hdmi,const struct drm_connector * connector,const struct drm_display_mode * mode) hdmi_config_AVI() argument 1889 hdmi_config_vendor_specific_infoframe(struct dw_hdmi * hdmi,const struct drm_connector * connector,const struct drm_display_mode * mode) hdmi_config_vendor_specific_infoframe() argument 1943 hdmi_config_drm_infoframe(struct dw_hdmi * hdmi,const struct drm_connector * connector) hdmi_config_drm_infoframe() argument 1979 hdmi_av_composer(struct dw_hdmi * hdmi,const struct drm_display_info * display,const struct drm_display_mode * mode) hdmi_av_composer() argument 2154 dw_hdmi_enable_video_path(struct dw_hdmi * hdmi) dw_hdmi_enable_video_path() argument 2195 dw_hdmi_clear_overflow(struct dw_hdmi * hdmi) dw_hdmi_clear_overflow() argument 2233 hdmi_disable_overflow_interrupts(struct dw_hdmi * hdmi) hdmi_disable_overflow_interrupts() argument 2239 dw_hdmi_setup(struct dw_hdmi * hdmi,const struct drm_connector * connector,const struct drm_display_mode * mode) dw_hdmi_setup() argument 2331 initialize_hdmi_ih_mutes(struct dw_hdmi * hdmi) initialize_hdmi_ih_mutes() argument 2382 dw_hdmi_poweron(struct dw_hdmi * hdmi) dw_hdmi_poweron() argument 2393 dw_hdmi_poweroff(struct dw_hdmi * hdmi) dw_hdmi_poweroff() argument 2403 dw_hdmi_update_power(struct dw_hdmi * hdmi) dw_hdmi_update_power() argument 2437 dw_hdmi_update_phy_mask(struct dw_hdmi * hdmi) dw_hdmi_update_phy_mask() argument 2445 dw_hdmi_detect(struct dw_hdmi * hdmi) dw_hdmi_detect() argument 2455 dw_hdmi_edid_read(struct dw_hdmi * hdmi,struct drm_connector * connector) dw_hdmi_edid_read() argument 2493 struct dw_hdmi *hdmi = container_of(connector, struct dw_hdmi, dw_hdmi_connector_detect() local 2500 struct dw_hdmi *hdmi = container_of(connector, struct dw_hdmi, dw_hdmi_connector_get_modes() local 2542 struct dw_hdmi *hdmi = container_of(connector, struct dw_hdmi, dw_hdmi_connector_force() local 2567 dw_hdmi_connector_create(struct dw_hdmi * hdmi) dw_hdmi_connector_create() argument 2877 struct dw_hdmi *hdmi = bridge->driver_private; dw_hdmi_bridge_atomic_check() local 2896 struct dw_hdmi *hdmi = bridge->driver_private; dw_hdmi_bridge_attach() local 2907 struct dw_hdmi *hdmi = bridge->driver_private; dw_hdmi_bridge_detach() local 2920 struct dw_hdmi *hdmi = bridge->driver_private; dw_hdmi_bridge_mode_valid() local 2939 struct dw_hdmi *hdmi = bridge->driver_private; dw_hdmi_bridge_mode_set() local 2952 struct dw_hdmi *hdmi = bridge->driver_private; dw_hdmi_bridge_atomic_disable() local 2966 struct dw_hdmi *hdmi = bridge->driver_private; dw_hdmi_bridge_atomic_enable() local 2984 struct dw_hdmi *hdmi = bridge->driver_private; dw_hdmi_bridge_detect() local 2992 struct dw_hdmi *hdmi = bridge->driver_private; dw_hdmi_bridge_edid_read() local 3018 dw_hdmi_i2c_irq(struct dw_hdmi * hdmi) dw_hdmi_i2c_irq() argument 3038 struct dw_hdmi *hdmi = dev_id; dw_hdmi_hardirq() local 3054 dw_hdmi_setup_rx_sense(struct dw_hdmi * hdmi,bool hpd,bool rx_sense) dw_hdmi_setup_rx_sense() argument 3084 struct dw_hdmi *hdmi = dev_id; dw_hdmi_irq() local 3190 dw_hdmi_detect_phy(struct dw_hdmi * hdmi) dw_hdmi_detect_phy() argument 3235 dw_hdmi_cec_enable(struct dw_hdmi * hdmi) dw_hdmi_cec_enable() argument 3243 dw_hdmi_cec_disable(struct dw_hdmi * hdmi) dw_hdmi_cec_disable() argument 3272 dw_hdmi_init_hw(struct dw_hdmi * hdmi) dw_hdmi_init_hw() argument 3291 dw_hdmi_parse_dt(struct dw_hdmi * hdmi) dw_hdmi_parse_dt() argument 3313 dw_hdmi_bus_fmt_is_420(struct dw_hdmi * hdmi) dw_hdmi_bus_fmt_is_420() argument 3327 struct dw_hdmi *hdmi; dw_hdmi_probe() local 3592 dw_hdmi_remove(struct dw_hdmi * hdmi) dw_hdmi_remove() argument 3618 struct dw_hdmi *hdmi; dw_hdmi_bind() local 3635 dw_hdmi_unbind(struct dw_hdmi * hdmi) dw_hdmi_unbind() argument 3641 dw_hdmi_resume(struct dw_hdmi * hdmi) dw_hdmi_resume() argument [all...] |
| H A D | dw-hdmi-qp.c | 10 #include <linux/hdmi.h> 32 #include <sound/hdmi-codec.h> 34 #include "dw-hdmi-qp.h" 49 * the recommended N values specified in the Audio chapter of the HDMI 96 /* For 297 MHz+ HDMI spec have some other rule for setting N */ 105 * These are the CTS values as recommended in the Audio chapter of the HDMI 170 static void dw_hdmi_qp_write(struct dw_hdmi_qp *hdmi, unsigned int val, in dw_hdmi_qp_write() argument 173 regmap_write(hdmi->regm, offset, val); in dw_hdmi_qp_write() 176 static unsigned int dw_hdmi_qp_read(struct dw_hdmi_qp *hdmi, int offset) in dw_hdmi_qp_read() argument 180 regmap_read(hdmi->regm, offset, &val); in dw_hdmi_qp_read() [all …]
|
| /linux/drivers/gpu/drm/sun4i/ |
| H A D | sun4i_hdmi_i2c.c | 25 static int fifo_transfer(struct sun4i_hdmi *hdmi, u8 *buf, int len, bool read) in fifo_transfer() argument 41 (hdmi->variant->ddc_fifo_thres_incl ? 0 : 1); in fifo_transfer() 50 if (regmap_field_read_poll_timeout(hdmi->field_ddc_int_status, reg, in fifo_transfer() 59 ioread8_rep(hdmi->base + hdmi->variant->ddc_fifo_reg, buf, len); in fifo_transfer() 61 iowrite8_rep(hdmi->base + hdmi->variant->ddc_fifo_reg, buf, len); in fifo_transfer() 64 regmap_field_force_write(hdmi->field_ddc_int_status, in fifo_transfer() 70 static int xfer_msg(struct sun4i_hdmi *hdmi, struct i2c_msg *msg) in xfer_msg() argument 76 if (hdmi->variant->ddc_fifo_has_dir) { in xfer_msg() 77 reg = readl(hdmi->base + SUN4I_HDMI_DDC_CTRL_REG); in xfer_msg() 82 writel(reg, hdmi->base + SUN4I_HDMI_DDC_CTRL_REG); in xfer_msg() [all …]
|
| H A D | sun4i_hdmi_enc.c | 47 struct sun4i_hdmi *hdmi = drm_connector_to_sun4i_hdmi(connector); in sun4i_hdmi_write_infoframe() local 57 writeb(buffer[i], hdmi->base + SUN4I_HDMI_AVI_INFOFRAME_REG(i)); in sun4i_hdmi_write_infoframe() 66 struct sun4i_hdmi *hdmi = drm_encoder_to_sun4i_hdmi(encoder); in sun4i_hdmi_disable() local 69 DRM_DEBUG_DRIVER("Disabling the HDMI Output\n"); in sun4i_hdmi_disable() 71 val = readl(hdmi->base + SUN4I_HDMI_VID_CTRL_REG); in sun4i_hdmi_disable() 73 writel(val, hdmi->base + SUN4I_HDMI_VID_CTRL_REG); in sun4i_hdmi_disable() 75 clk_disable_unprepare(hdmi->tmds_clk); in sun4i_hdmi_disable() 82 struct sun4i_hdmi *hdmi = drm_encoder_to_sun4i_hdmi(encoder); in sun4i_hdmi_enable() local 83 struct drm_connector *connector = &hdmi->connector; in sun4i_hdmi_enable() 87 unsigned long long tmds_rate = conn_state->hdmi.tmds_char_rate; in sun4i_hdmi_enable() [all …]
|
| H A D | sun8i_dw_hdmi.c | 22 struct sun8i_dw_hdmi *hdmi = encoder_to_sun8i_dw_hdmi(encoder); in sun8i_dw_hdmi_encoder_mode_set() local 24 clk_set_rate(hdmi->clk_tmds, mode->crtc_clock * 1000); in sun8i_dw_hdmi_encoder_mode_set() 33 sun8i_dw_hdmi_mode_valid_a83t(struct dw_hdmi *hdmi, void *data, in sun8i_dw_hdmi_mode_valid_a83t() argument 44 sun8i_dw_hdmi_mode_valid_h6(struct dw_hdmi *hdmi, void *data, in sun8i_dw_hdmi_mode_valid_h6() argument 104 struct sun8i_dw_hdmi *hdmi; in sun8i_dw_hdmi_bind() local 110 hdmi = devm_kzalloc(&pdev->dev, sizeof(*hdmi), GFP_KERNEL); in sun8i_dw_hdmi_bind() 111 if (!hdmi) in sun8i_dw_hdmi_bind() 114 plat_data = &hdmi->plat_data; in sun8i_dw_hdmi_bind() 115 hdmi->dev = &pdev->dev; in sun8i_dw_hdmi_bind() 116 encoder = &hdmi->encoder; in sun8i_dw_hdmi_bind() [all …]
|
| /linux/drivers/gpu/drm/rockchip/ |
| H A D | rk3066_hdmi.c | 69 static inline u8 hdmi_readb(struct rk3066_hdmi *hdmi, u16 offset) in hdmi_readb() 71 return readl_relaxed(hdmi->regs + offset); in hdmi_readb() 74 static inline void hdmi_writeb(struct rk3066_hdmi *hdmi, u16 offset, u32 val) in hdmi_writeb() 76 writel_relaxed(val, hdmi->regs + offset); in hdmi_writeb() 79 static inline void hdmi_modb(struct rk3066_hdmi *hdmi, u16 offset, in hdmi_modb() 82 u8 temp = hdmi_readb(hdmi, offset) & ~msk; in hdmi_modb() 85 hdmi_writeb(hdmi, offset, temp); in hdmi_modb() 88 static void rk3066_hdmi_i2c_init(struct rk3066_hdmi *hdmi) in rk3066_hdmi_i2c_init() 92 ddc_bus_freq = (hdmi->tmdsclk >> 2) / HDMI_SCL_RATE; in rk3066_hdmi_i2c_init() 94 hdmi_writeb(hdmi, HDMI_DDC_BUS_FREQ_ in rk3066_hdmi_i2c_init() 68 hdmi_readb(struct rk3066_hdmi * hdmi,u16 offset) hdmi_readb() argument 73 hdmi_writeb(struct rk3066_hdmi * hdmi,u16 offset,u32 val) hdmi_writeb() argument 78 hdmi_modb(struct rk3066_hdmi * hdmi,u16 offset,u32 msk,u32 val) hdmi_modb() argument 87 rk3066_hdmi_i2c_init(struct rk3066_hdmi * hdmi) rk3066_hdmi_i2c_init() argument 101 rk3066_hdmi_get_power_mode(struct rk3066_hdmi * hdmi) rk3066_hdmi_get_power_mode() argument 106 rk3066_hdmi_set_power_mode(struct rk3066_hdmi * hdmi,int mode) rk3066_hdmi_set_power_mode() argument 163 struct rk3066_hdmi *hdmi = bridge_to_rk3066_hdmi(bridge); rk3066_hdmi_bridge_clear_infoframe() local 180 struct rk3066_hdmi *hdmi = bridge_to_rk3066_hdmi(bridge); rk3066_hdmi_bridge_write_infoframe() local 196 rk3066_hdmi_config_video_timing(struct rk3066_hdmi * hdmi,struct drm_display_mode * mode) rk3066_hdmi_config_video_timing() argument 252 rk3066_hdmi_phy_write(struct rk3066_hdmi * hdmi,u16 offset,u8 value) rk3066_hdmi_phy_write() argument 262 rk3066_hdmi_config_phy(struct rk3066_hdmi * hdmi) rk3066_hdmi_config_phy() argument 305 rk3066_hdmi_setup(struct rk3066_hdmi * hdmi,struct drm_atomic_state * state) rk3066_hdmi_setup() argument 389 struct rk3066_hdmi *hdmi = bridge_to_rk3066_hdmi(bridge); rk3066_hdmi_bridge_atomic_enable() local 419 struct rk3066_hdmi *hdmi = bridge_to_rk3066_hdmi(bridge); rk3066_hdmi_bridge_atomic_disable() local 455 struct rk3066_hdmi *hdmi = bridge_to_rk3066_hdmi(bridge); rk3066_hdmi_bridge_detect() local 464 struct rk3066_hdmi *hdmi = bridge_to_rk3066_hdmi(bridge); rk3066_hdmi_bridge_edid_read() local 503 struct rk3066_hdmi *hdmi = dev_id; rk3066_hdmi_hardirq() local 527 struct rk3066_hdmi *hdmi = dev_id; rk3066_hdmi_irq() local 534 rk3066_hdmi_i2c_read(struct rk3066_hdmi * hdmi,struct i2c_msg * msgs) rk3066_hdmi_i2c_read() argument 550 rk3066_hdmi_i2c_write(struct rk3066_hdmi * hdmi,struct i2c_msg * msgs) rk3066_hdmi_i2c_write() argument 583 struct rk3066_hdmi *hdmi = i2c_get_adapdata(adap); rk3066_hdmi_i2c_xfer() local 631 rk3066_hdmi_i2c_adapter(struct rk3066_hdmi * hdmi) rk3066_hdmi_i2c_adapter() argument 668 rk3066_hdmi_register(struct drm_device * drm,struct rk3066_hdmi * hdmi) rk3066_hdmi_register() argument 732 struct rk3066_hdmi *hdmi; rk3066_hdmi_bind() local 808 struct rk3066_hdmi *hdmi = dev_get_drvdata(dev); rk3066_hdmi_unbind() local [all...] |
| H A D | dw_hdmi_qp-rockchip.c | 17 #include <linux/phy/phy-hdmi.h> 95 struct dw_hdmi_qp *hdmi; member 105 void (*io_init)(struct rockchip_hdmi_qp *hdmi); 106 void (*enc_init)(struct rockchip_hdmi_qp *hdmi, struct rockchip_crtc_state *state); 120 struct rockchip_hdmi_qp *hdmi = to_rockchip_hdmi_qp(encoder); in dw_hdmi_qp_rockchip_encoder_enable() local 124 gpiod_set_value(hdmi->frl_enable_gpio, 0); in dw_hdmi_qp_rockchip_encoder_enable() 129 if (hdmi->ctrl_ops->enc_init) in dw_hdmi_qp_rockchip_encoder_enable() 130 hdmi->ctrl_ops->enc_init(hdmi, to_rockchip_crtc_state(crtc->state)); in dw_hdmi_qp_rockchip_encoder_enable() 138 struct rockchip_hdmi_qp *hdmi = to_rockchip_hdmi_qp(encoder); in dw_hdmi_qp_rockchip_encoder_atomic_check() local 143 if (hdmi->tmds_char_rate == conn_state->hdmi.tmds_char_rate && in dw_hdmi_qp_rockchip_encoder_atomic_check() [all …]
|
| H A D | dw_hdmi-rockchip.c | 39 /* need to be unset if hdmi or i2c should control voltage */ 61 * @lcdsel_big: reg value of selecting vop big for HDMI 62 * @lcdsel_lit: reg value of selecting vop little for HDMI 81 struct dw_hdmi *hdmi; member 198 static int rockchip_hdmi_parse_dt(struct rockchip_hdmi *hdmi) in rockchip_hdmi_parse_dt() argument 200 struct device_node *np = hdmi->dev->of_node; in rockchip_hdmi_parse_dt() 203 hdmi->regmap = syscon_regmap_lookup_by_phandle(np, "rockchip,grf"); in rockchip_hdmi_parse_dt() 204 if (IS_ERR(hdmi->regmap)) { in rockchip_hdmi_parse_dt() 205 dev_err(hdmi->dev, "Unable to get rockchip,grf\n"); in rockchip_hdmi_parse_dt() 206 return PTR_ERR(hdmi->regmap); in rockchip_hdmi_parse_dt() [all …]
|
| /linux/drivers/gpu/drm/msm/hdmi/ |
| H A D | hdmi_bridge.c | 14 #include "hdmi.h" 20 struct hdmi *hdmi = hdmi_bridge->hdmi; in msm_hdmi_power_on() local 23 pm_runtime_resume_and_get(&hdmi->pdev->dev); in msm_hdmi_power_on() 25 if (hdmi->extp_clk) { in msm_hdmi_power_on() 26 DBG("pixclock: %lu", hdmi->pixclock); in msm_hdmi_power_on() 27 ret = clk_set_rate(hdmi->extp_clk, hdmi->pixclock); in msm_hdmi_power_on() 31 ret = clk_prepare_enable(hdmi->extp_clk); in msm_hdmi_power_on() 40 struct hdmi *hdmi = hdmi_bridge->hdmi; in power_off() local 47 if (hdmi->extp_clk) in power_off() 48 clk_disable_unprepare(hdmi->extp_clk); in power_off() [all …]
|
| H A D | hdmi_hpd.c | 12 #include "hdmi.h" 14 static void msm_hdmi_phy_reset(struct hdmi *hdmi) in msm_hdmi_phy_reset() argument 18 val = hdmi_read(hdmi, REG_HDMI_PHY_CTRL); in msm_hdmi_phy_reset() 22 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() 26 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() 32 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() 36 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() 44 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() 48 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() 54 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() [all …]
|
| H A D | hdmi_hdcp.c | 5 #include "hdmi.h" 21 /* QFPROM Registers for HDMI/HDCP */ 49 struct hdmi *hdmi; member 78 static int msm_hdmi_ddc_read(struct hdmi *hdmi, u16 addr, u8 offset, in msm_hdmi_ddc_read() argument 99 rc = i2c_transfer(hdmi->i2c, msgs, 2); in msm_hdmi_ddc_read() 116 static int msm_hdmi_ddc_write(struct hdmi *hdmi, u16 addr, u8 offset, in msm_hdmi_ddc_write() argument 141 rc = i2c_transfer(hdmi->i2c, msgs, 1); in msm_hdmi_ddc_write() 159 struct hdmi *hdmi = hdcp_ctrl->hdmi; in msm_hdmi_hdcp_scm_wr() local 167 phy_addr = (u32)hdmi->mmio_phy_addr; in msm_hdmi_hdcp_scm_wr() 190 hdmi_write(hdmi, preg[i], pdata[i]); in msm_hdmi_hdcp_scm_wr() [all …]
|
| H A D | hdmi_audio.c | 10 #include <linux/hdmi.h> 12 #include <sound/hdmi-codec.h> 14 #include "hdmi.h" 16 int msm_hdmi_audio_update(struct hdmi *hdmi) in msm_hdmi_audio_update() argument 18 struct hdmi_audio *audio = &hdmi->audio; in msm_hdmi_audio_update() 23 if (!hdmi->connector->display_info.is_hdmi) in msm_hdmi_audio_update() 29 DBG("video: power_on=%d, pixclock=%lu", hdmi->power_on, hdmi->pixclock); in msm_hdmi_audio_update() 31 if (enabled && !(hdmi->power_on && hdmi->pixclock)) { in msm_hdmi_audio_update() 37 acr_pkt_ctrl = hdmi_read(hdmi, REG_HDMI_ACR_PKT_CTRL); in msm_hdmi_audio_update() 38 vbi_pkt_ctrl = hdmi_read(hdmi, REG_HDMI_VBI_PKT_CTRL); in msm_hdmi_audio_update() [all …]
|
| H A D | hdmi.h | 15 #include <linux/hdmi.h> 20 #include "hdmi.xml.h" 33 struct hdmi { struct 67 /* the encoder we are hooked to (outside of hdmi block) */ argument 98 struct hdmi *hdmi; member 103 void msm_hdmi_set_mode(struct hdmi *hdmi, bool power_on); 105 static inline void hdmi_write(struct hdmi *hdmi, u32 reg, u32 data) in hdmi_write() argument 107 writel(data, hdmi->mmio + reg); in hdmi_write() 110 static inline u32 hdmi_read(struct hdmi *hdmi, u32 reg) in hdmi_read() argument 112 return readl(hdmi->mmio + reg); in hdmi_read() [all …]
|
| /linux/sound/hda/codecs/hdmi/ |
| H A D | nvhdmi.c | 3 * Nvidia HDMI codec support 145 HDA_CODEC_ID_MODEL(0x10de0008, "GPU 08 HDMI/DP", MODEL_LEGACY), 146 HDA_CODEC_ID_MODEL(0x10de0009, "GPU 09 HDMI/DP", MODEL_LEGACY), 147 HDA_CODEC_ID_MODEL(0x10de000a, "GPU 0a HDMI/DP", MODEL_LEGACY), 148 HDA_CODEC_ID_MODEL(0x10de000b, "GPU 0b HDMI/DP", MODEL_LEGACY), 149 HDA_CODEC_ID_MODEL(0x10de000c, "MCP89 HDMI", MODEL_LEGACY), 150 HDA_CODEC_ID_MODEL(0x10de000d, "GPU 0d HDMI/DP", MODEL_LEGACY), 151 HDA_CODEC_ID_MODEL(0x10de0010, "GPU 10 HDMI/DP", MODEL_LEGACY), 152 HDA_CODEC_ID_MODEL(0x10de0011, "GPU 11 HDMI/DP", MODEL_LEGACY), 153 HDA_CODEC_ID_MODEL(0x10de0012, "GPU 12 HDMI/DP", MODEL_LEGACY), [all …]
|
| /linux/drivers/video/fbdev/omap2/omapfb/dss/ |
| H A D | hdmi5.c | 3 * HDMI driver for OMAP5 14 #define DSS_SUBSYS_NAME "HDMI" 32 #include <sound/omap-hdmi-audio.h> 38 static struct omap_hdmi hdmi; variable 46 r = pm_runtime_resume_and_get(&hdmi.pdev->dev); in hdmi_runtime_get() 59 r = pm_runtime_put_sync(&hdmi.pdev->dev); in hdmi_runtime_put() 88 v = hdmi_read_reg(hdmi.phy.base, HDMI_TXPHY_PAD_CFG_CTRL); in hdmi_irq_handler() 91 hdmi_write_reg(hdmi.phy.base, HDMI_TXPHY_PAD_CFG_CTRL, v); in hdmi_irq_handler() 98 REG_FLD_MOD(hdmi.phy.base, HDMI_TXPHY_PAD_CFG_CTRL, 0, 15, 15); in hdmi_irq_handler() 113 if (hdmi.vdda_reg != NULL) in hdmi_init_regulator() [all …]
|
| H A D | hdmi4.c | 3 * HDMI interface DSS driver for TI's OMAP4 family of SoCs. 9 #define DSS_SUBSYS_NAME "HDMI" 27 #include <sound/omap-hdmi-audio.h> 32 #include "hdmi.h" 34 static struct omap_hdmi hdmi; variable 42 r = pm_runtime_resume_and_get(&hdmi.pdev->dev); in hdmi_runtime_get() 55 r = pm_runtime_put_sync(&hdmi.pdev->dev); in hdmi_runtime_put() 94 if (hdmi.vdda_reg != NULL) in hdmi_init_regulator() 97 reg = devm_regulator_get(&hdmi.pdev->dev, "vdda"); in hdmi_init_regulator() 105 hdmi.vdda_reg = reg; in hdmi_init_regulator() [all …]
|
| /linux/Documentation/devicetree/bindings/display/samsung/ |
| H A D | samsung,exynos-hdmi.yaml | 4 $id: http://devicetree.org/schemas/display/samsung/samsung,exynos-hdmi.yaml# 7 title: Samsung Exynos SoC HDMI 18 - samsung,exynos4210-hdmi 19 - samsung,exynos4212-hdmi 20 - samsung,exynos5420-hdmi 21 - samsung,exynos5433-hdmi 34 Phandle to the HDMI DDC node. 36 hdmi-en-supply: 38 Provides voltage source for DCC lines available on HDMI connector. When 40 HPD (hot plug detect) line, what causes HDMI block to stay turned off. [all …]
|
| /linux/drivers/gpu/drm/imx/ipuv3/ |
| H A D | dw_hdmi-imx.c | 4 * derived from imx-hdmi.c(renamed to bridge/dw_hdmi.c now) 31 struct imx_hdmi *hdmi; member 37 struct dw_hdmi *hdmi; member 43 return container_of(e, struct imx_hdmi_encoder, encoder)->hdmi; in enc_to_imx_hdmi() 112 struct imx_hdmi *hdmi = enc_to_imx_hdmi(encoder); in dw_hdmi_imx_encoder_enable() local 113 int mux = drm_of_encoder_active_port_id(hdmi->dev->of_node, encoder); in dw_hdmi_imx_encoder_enable() 115 regmap_update_bits(hdmi->regmap, IOMUXC_GPR3, in dw_hdmi_imx_encoder_enable() 139 imx6q_hdmi_mode_valid(struct dw_hdmi *hdmi, void *data, in imx6q_hdmi_mode_valid() argument 153 imx6dl_hdmi_mode_valid(struct dw_hdmi *hdmi, void *data, in imx6dl_hdmi_mode_valid() argument 181 { .compatible = "fsl,imx6q-hdmi", 224 struct imx_hdmi *hdmi; dw_hdmi_imx_probe() local 260 struct imx_hdmi *hdmi = platform_get_drvdata(pdev); dw_hdmi_imx_remove() local [all...] |
| /linux/drivers/gpu/drm/bridge/imx/ |
| H A D | imx8mp-hdmi-tx.c | 27 struct imx8mp_hdmi *hdmi = (struct imx8mp_hdmi *)data; in imx8mp_hdmi_mode_valid() 36 round_rate = clk_round_rate(hdmi->pixclk, mode->clock * 1000); in imx8mp_hdmi_mode_valid() 37 /* imx8mp's pixel clock generator (fsl-samsung-hdmi) cannot generate in imx8mp_hdmi_mode_valid() 65 static void im8mp_hdmi_phy_setup_hpd(struct dw_hdmi *hdmi, void *data) in im8mp_hdmi_phy_setup_hpd() 71 dw_hdmi_phy_gen1_reset(hdmi); in im8mp_hdmi_phy_setup_hpd() 73 dw_hdmi_phy_setup_hpd(hdmi, data); 87 struct imx8mp_hdmi *hdmi = dev_get_drvdata(dev); in imx8mp_dw_hdmi_probe() 90 ret = component_bind_all(dev, &hdmi->plat_data); in imx8mp_dw_hdmi_probe() 94 hdmi->dw_hdmi = dw_hdmi_probe(pdev, &hdmi in imx8mp_dw_hdmi_probe() 25 struct imx8mp_hdmi *hdmi = (struct imx8mp_hdmi *)data; imx8mp_hdmi_mode_valid() local 63 im8mp_hdmi_phy_setup_hpd(struct dw_hdmi * hdmi,void * data) im8mp_hdmi_phy_setup_hpd() argument 86 struct imx8mp_hdmi *hdmi; imx8mp_dw_hdmi_probe() local 116 struct imx8mp_hdmi *hdmi = platform_get_drvdata(pdev); imx8mp_dw_hdmi_remove() local 128 struct imx8mp_hdmi *hdmi = dev_get_drvdata(dev); imx8mp_dw_hdmi_pm_resume() local [all...] |
| /linux/Documentation/devicetree/bindings/display/bridge/ |
| H A D | renesas,dw-hdmi.yaml | 4 $id: http://devicetree.org/schemas/display/bridge/renesas,dw-hdmi.yaml# 7 title: Renesas R-Car DWC HDMI TX Encoder 13 The HDMI transmitter is a Synopsys DesignWare HDMI 1.4 TX controller IP 17 - $ref: synopsys,dw-hdmi.yaml# 23 - renesas,r8a774a1-hdmi # for RZ/G2M compatible HDMI TX 24 - renesas,r8a774b1-hdmi # for RZ/G2N compatible HDMI TX 25 - renesas,r8a774e1-hdmi # for RZ/G2H compatible HDMI TX 26 - renesas,r8a7795-hdmi # for R-Car H3 compatible HDMI TX 27 - renesas,r8a7796-hdmi # for R-Car M3-W compatible HDMI TX 28 - renesas,r8a77961-hdmi # for R-Car M3-W+ compatible HDMI TX [all …]
|
| /linux/sound/soc/mediatek/mt8183/ |
| H A D | mt8183-dai-tdm.c | 347 {"HDMI_CH0_MUX", "CH0", "HDMI"}, 348 {"HDMI_CH0_MUX", "CH1", "HDMI"}, 349 {"HDMI_CH0_MUX", "CH2", "HDMI"}, 350 {"HDMI_CH0_MUX", "CH3", "HDMI"}, 351 {"HDMI_CH0_MUX", "CH4", "HDMI"}, 352 {"HDMI_CH0_MUX", "CH5", "HDMI"}, 353 {"HDMI_CH0_MUX", "CH6", "HDMI"}, 354 {"HDMI_CH0_MUX", "CH7", "HDMI"}, 356 {"HDMI_CH1_MUX", "CH0", "HDMI"}, 357 {"HDMI_CH1_MUX", "CH1", "HDMI"}, [all …]
|
| /linux/drivers/gpu/drm/sti/ |
| H A D | sti_hdmi_tx3g4c28phy.c | 70 * sti_hdmi_tx3g4c28phy_start - Start hdmi phy macro cell tx3g4c28 72 * @hdmi: pointer on the hdmi internal structure 76 static bool sti_hdmi_tx3g4c28phy_start(struct sti_hdmi *hdmi) in sti_hdmi_tx3g4c28phy_start() argument 78 u32 ckpxpll = hdmi->mode.clock * 1000; in sti_hdmi_tx3g4c28phy_start() 116 hdmi->event_received = false; in sti_hdmi_tx3g4c28phy_start() 118 hdmi_write(hdmi, (pllctrl | PLL_CFG_EN), HDMI_SRZ_PLL_CFG); in sti_hdmi_tx3g4c28phy_start() 121 wait_event_interruptible_timeout(hdmi->wait_event, in sti_hdmi_tx3g4c28phy_start() 122 hdmi->event_received == true, in sti_hdmi_tx3g4c28phy_start() 126 if ((hdmi_read(hdmi, HDMI_STA) & HDMI_STA_DLL_LCK) == 0) { in sti_hdmi_tx3g4c28phy_start() 127 DRM_ERROR("hdmi phy pll not locked\n"); in sti_hdmi_tx3g4c28phy_start() [all …]
|