mfd: rtsx: Add func to split u32 into register
authorMicky Ching <micky_ching@realsil.com.cn>
Fri, 5 Dec 2014 05:54:26 +0000 (13:54 +0800)
committerLee Jones <lee.jones@linaro.org>
Mon, 8 Dec 2014 10:05:39 +0000 (10:05 +0000)
Add helper function to write u32 to registers, if we want to put u32
value to 4 continuous register, this can help us reduce tedious work.

Signed-off-by: Micky Ching <micky_ching@realsil.com.cn>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
include/linux/mfd/rtsx_pci.h

index 1604dda4edcf13c12725e8ce09cf1f2614555a32..0c12628e91c6a9f9af0910f69c77b235f182aa49 100644 (file)
 #define SD_SAMPLE_POINT_CTL            0xFDA7
 #define SD_PUSH_POINT_CTL              0xFDA8
 #define SD_CMD0                                0xFDA9
+#define   SD_CMD_START                 0x40
 #define SD_CMD1                                0xFDAA
 #define SD_CMD2                                0xFDAB
 #define SD_CMD3                                0xFDAC
@@ -995,4 +996,12 @@ static inline int rtsx_pci_update_cfg_byte(struct rtsx_pcr *pcr, int addr,
        return pci_write_config_byte(pcr->pci, addr, (val & mask) | append);
 }
 
+static inline void rtsx_pci_write_be32(struct rtsx_pcr *pcr, u16 reg, u32 val)
+{
+       rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, reg,     0xFF, val >> 24);
+       rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, reg + 1, 0xFF, val >> 16);
+       rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, reg + 2, 0xFF, val >> 8);
+       rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, reg + 3, 0xFF, val);
+}
+
 #endif