void hdmi_wr_only_reg(unsigned long addr, unsigned long data) { check_cts_hdmi_sys_clk_status(); // WRITE_APB_REG(HDMI_ADDR_PORT, addr); // WRITE_APB_REG(HDMI_ADDR_PORT, addr); // // WRITE_APB_REG(HDMI_DATA_PORT, data); aml_write_reg32(P_HDMI_ADDR_PORT, addr); aml_write_reg32(P_HDMI_ADDR_PORT, addr); aml_write_reg32(P_HDMI_DATA_PORT, data); }
void hdmi_wr_reg(unsigned int addr, unsigned int data) { unsigned long flags, fiq_flag; spin_lock_irqsave(®_lock, flags); raw_local_save_flags(fiq_flag); local_fiq_disable(); check_cts_hdmi_sys_clk_status(); aml_write_reg32(P_HDMI_ADDR_PORT, addr); aml_write_reg32(P_HDMI_ADDR_PORT, addr); aml_write_reg32(P_HDMI_DATA_PORT, data); raw_local_irq_restore(fiq_flag); spin_unlock_irqrestore(®_lock, flags); }
unsigned long hdmi_rd_reg(unsigned long addr) { unsigned long data; check_cts_hdmi_sys_clk_status(); // WRITE_APB_REG(HDMI_ADDR_PORT, addr); // WRITE_APB_REG(HDMI_ADDR_PORT, addr); aml_write_reg32(P_HDMI_ADDR_PORT, addr); aml_write_reg32(P_HDMI_ADDR_PORT, addr); // data = READ_APB_REG(HDMI_DATA_PORT); data = aml_read_reg32(P_HDMI_DATA_PORT); return (data); }
void hdmi_wr_reg(unsigned long addr, unsigned long data) { unsigned long rd_data; check_cts_hdmi_sys_clk_status(); // WRITE_APB_REG(HDMI_ADDR_PORT, addr); // WRITE_APB_REG(HDMI_ADDR_PORT, addr); // // WRITE_APB_REG(HDMI_DATA_PORT, data); aml_write_reg32(P_HDMI_ADDR_PORT, addr); aml_write_reg32(P_HDMI_ADDR_PORT, addr); aml_write_reg32(P_HDMI_DATA_PORT, data); rd_data = hdmi_rd_reg (addr); if (rd_data != data) { //printk("hdmi_wr_reg(%x,%x) fails to write: %x\n",addr, data, rd_data); //while(1){}; } }