static void _golden_write_reg(unsigned int addr, unsigned int mask, unsigned int reg_val) { if (_is_pmic_addr(addr)) pmic_config_interface(addr, reg_val, mask, 0x0); else *((unsigned int *)IO_PHYS_TO_VIRT(addr)) = (*((unsigned int *)IO_PHYS_TO_VIRT(addr)) & ~mask) | (reg_val & mask); }
static unsigned int _golden_read_reg(unsigned int addr) { unsigned int reg_val; if (_is_pmic_addr(addr)) pmic_read_interface(addr, ®_val, 0xFFFFFFFF, 0x0); else reg_val = *((unsigned int *)IO_PHYS_TO_VIRT(addr)); return reg_val; }
static void _golden_write_reg(unsigned int addr, unsigned int mask, unsigned int reg_val) { pr_debug("@%s:%d(addr = %X, mask = %X, reg_val = %X)\n", __func__, __LINE__, addr, mask, reg_val); if (_is_pmic_addr(addr)) pmic_config_interface(addr, reg_val, mask, 0x0); else { #ifdef CONFIG_OF void __iomem *io_addr = _golden_io_phys_to_virt(addr); writel((ioread32(io_addr) & ~mask) | (reg_val & mask), io_addr); #else *((unsigned int *)IO_PHYS_TO_VIRT(addr)) = (*((unsigned int *)IO_PHYS_TO_VIRT(addr)) & ~mask) | (reg_val & mask); #endif } }
static unsigned int _golden_read_reg(unsigned int addr) { unsigned int reg_val; if (_is_pmic_addr(addr)) pmic_read_interface(addr, ®_val, 0xFFFFFFFF, 0x0); else { #ifdef CONFIG_OF reg_val = ioread32(_golden_io_phys_to_virt(addr)); #else reg_val = *((unsigned int *)IO_PHYS_TO_VIRT(addr)); #endif } return reg_val; }