@@ -281,7 +281,7 @@ static void update_rw_regs(struct qcom_nand_host *host, int num_cw, bool read, i
281281 (num_cw - 1 ) << CW_PER_PAGE );
282282
283283 cfg1 = cpu_to_le32 (host -> cfg1_raw );
284- ecc_bch_cfg = cpu_to_le32 (1 << ECC_CFG_ECC_DISABLE );
284+ ecc_bch_cfg = cpu_to_le32 (ECC_CFG_ECC_DISABLE );
285285 }
286286
287287 nandc -> regs -> cmd = cmd ;
@@ -1494,42 +1494,41 @@ static int qcom_nand_attach_chip(struct nand_chip *chip)
14941494 host -> cw_size = host -> cw_data + ecc -> bytes ;
14951495 bad_block_byte = mtd -> writesize - host -> cw_size * (cwperpage - 1 ) + 1 ;
14961496
1497- host -> cfg0 = (cwperpage - 1 ) << CW_PER_PAGE
1498- | host -> cw_data << UD_SIZE_BYTES
1499- | 0 << DISABLE_STATUS_AFTER_WRITE
1500- | 5 << NUM_ADDR_CYCLES
1501- | host -> ecc_bytes_hw << ECC_PARITY_SIZE_BYTES_RS
1502- | 0 << STATUS_BFR_READ
1503- | 1 << SET_RD_MODE_AFTER_STATUS
1504- | host -> spare_bytes << SPARE_SIZE_BYTES ;
1505-
1506- host -> cfg1 = 7 << NAND_RECOVERY_CYCLES
1507- | 0 << CS_ACTIVE_BSY
1508- | bad_block_byte << BAD_BLOCK_BYTE_NUM
1509- | 0 << BAD_BLOCK_IN_SPARE_AREA
1510- | 2 << WR_RD_BSY_GAP
1511- | wide_bus << WIDE_FLASH
1512- | host -> bch_enabled << ENABLE_BCH_ECC ;
1513-
1514- host -> cfg0_raw = (cwperpage - 1 ) << CW_PER_PAGE
1515- | host -> cw_size << UD_SIZE_BYTES
1516- | 5 << NUM_ADDR_CYCLES
1517- | 0 << SPARE_SIZE_BYTES ;
1518-
1519- host -> cfg1_raw = 7 << NAND_RECOVERY_CYCLES
1520- | 0 << CS_ACTIVE_BSY
1521- | 17 << BAD_BLOCK_BYTE_NUM
1522- | 1 << BAD_BLOCK_IN_SPARE_AREA
1523- | 2 << WR_RD_BSY_GAP
1524- | wide_bus << WIDE_FLASH
1525- | 1 << DEV0_CFG1_ECC_DISABLE ;
1526-
1527- host -> ecc_bch_cfg = !host -> bch_enabled << ECC_CFG_ECC_DISABLE
1528- | 0 << ECC_SW_RESET
1529- | host -> cw_data << ECC_NUM_DATA_BYTES
1530- | 1 << ECC_FORCE_CLK_OPEN
1531- | ecc_mode << ECC_MODE
1532- | host -> ecc_bytes_hw << ECC_PARITY_SIZE_BYTES_BCH ;
1497+ host -> cfg0 = FIELD_PREP (CW_PER_PAGE_MASK , (cwperpage - 1 )) |
1498+ FIELD_PREP (UD_SIZE_BYTES_MASK , host -> cw_data ) |
1499+ FIELD_PREP (DISABLE_STATUS_AFTER_WRITE , 0 ) |
1500+ FIELD_PREP (NUM_ADDR_CYCLES_MASK , 5 ) |
1501+ FIELD_PREP (ECC_PARITY_SIZE_BYTES_RS , host -> ecc_bytes_hw ) |
1502+ FIELD_PREP (STATUS_BFR_READ , 0 ) |
1503+ FIELD_PREP (SET_RD_MODE_AFTER_STATUS , 1 ) |
1504+ FIELD_PREP (SPARE_SIZE_BYTES_MASK , host -> spare_bytes );
1505+
1506+ host -> cfg1 = FIELD_PREP (NAND_RECOVERY_CYCLES_MASK , 7 ) |
1507+ FIELD_PREP (BAD_BLOCK_BYTE_NUM_MASK , bad_block_byte ) |
1508+ FIELD_PREP (BAD_BLOCK_IN_SPARE_AREA , 0 ) |
1509+ FIELD_PREP (WR_RD_BSY_GAP_MASK , 2 ) |
1510+ FIELD_PREP (WIDE_FLASH , wide_bus ) |
1511+ FIELD_PREP (ENABLE_BCH_ECC , host -> bch_enabled );
1512+
1513+ host -> cfg0_raw = FIELD_PREP (CW_PER_PAGE_MASK , (cwperpage - 1 )) |
1514+ FIELD_PREP (UD_SIZE_BYTES_MASK , host -> cw_size ) |
1515+ FIELD_PREP (NUM_ADDR_CYCLES_MASK , 5 ) |
1516+ FIELD_PREP (SPARE_SIZE_BYTES_MASK , 0 );
1517+
1518+ host -> cfg1_raw = FIELD_PREP (NAND_RECOVERY_CYCLES_MASK , 7 ) |
1519+ FIELD_PREP (CS_ACTIVE_BSY , 0 ) |
1520+ FIELD_PREP (BAD_BLOCK_BYTE_NUM_MASK , 17 ) |
1521+ FIELD_PREP (BAD_BLOCK_IN_SPARE_AREA , 1 ) |
1522+ FIELD_PREP (WR_RD_BSY_GAP_MASK , 2 ) |
1523+ FIELD_PREP (WIDE_FLASH , wide_bus ) |
1524+ FIELD_PREP (DEV0_CFG1_ECC_DISABLE , 1 );
1525+
1526+ host -> ecc_bch_cfg = FIELD_PREP (ECC_CFG_ECC_DISABLE , !host -> bch_enabled ) |
1527+ FIELD_PREP (ECC_SW_RESET , 0 ) |
1528+ FIELD_PREP (ECC_NUM_DATA_BYTES_MASK , host -> cw_data ) |
1529+ FIELD_PREP (ECC_FORCE_CLK_OPEN , 1 ) |
1530+ FIELD_PREP (ECC_MODE_MASK , ecc_mode ) |
1531+ FIELD_PREP (ECC_PARITY_SIZE_BYTES_BCH_MASK , host -> ecc_bytes_hw );
15331532
15341533 if (!nandc -> props -> qpic_version2 )
15351534 host -> ecc_buf_cfg = 0x203 << NUM_STEPS ;
@@ -1882,21 +1881,21 @@ static int qcom_param_page_type_exec(struct nand_chip *chip, const struct nand_
18821881 nandc -> regs -> addr0 = 0 ;
18831882 nandc -> regs -> addr1 = 0 ;
18841883
1885- nandc -> regs -> cfg0 = cpu_to_le32 ( 0 << CW_PER_PAGE |
1886- 512 << UD_SIZE_BYTES |
1887- 5 << NUM_ADDR_CYCLES |
1888- 0 << SPARE_SIZE_BYTES );
1884+ host -> cfg0 = FIELD_PREP ( CW_PER_PAGE_MASK , 0 ) |
1885+ FIELD_PREP ( UD_SIZE_BYTES_MASK , 512 ) |
1886+ FIELD_PREP ( NUM_ADDR_CYCLES_MASK , 5 ) |
1887+ FIELD_PREP ( SPARE_SIZE_BYTES_MASK , 0 );
18891888
1890- nandc -> regs -> cfg1 = cpu_to_le32 ( 7 << NAND_RECOVERY_CYCLES |
1891- 0 << CS_ACTIVE_BSY |
1892- 17 << BAD_BLOCK_BYTE_NUM |
1893- 1 << BAD_BLOCK_IN_SPARE_AREA |
1894- 2 << WR_RD_BSY_GAP |
1895- 0 << WIDE_FLASH |
1896- 1 << DEV0_CFG1_ECC_DISABLE );
1889+ host -> cfg1 = FIELD_PREP ( NAND_RECOVERY_CYCLES_MASK , 7 ) |
1890+ FIELD_PREP ( BAD_BLOCK_BYTE_NUM_MASK , 17 ) |
1891+ FIELD_PREP ( CS_ACTIVE_BSY , 0 ) |
1892+ FIELD_PREP ( BAD_BLOCK_IN_SPARE_AREA , 1 ) |
1893+ FIELD_PREP ( WR_RD_BSY_GAP_MASK , 2 ) |
1894+ FIELD_PREP ( WIDE_FLASH , 0 ) |
1895+ FIELD_PREP ( DEV0_CFG1_ECC_DISABLE , 1 );
18971896
18981897 if (!nandc -> props -> qpic_version2 )
1899- nandc -> regs -> ecc_buf_cfg = cpu_to_le32 (1 << ECC_CFG_ECC_DISABLE );
1898+ nandc -> regs -> ecc_buf_cfg = cpu_to_le32 (ECC_CFG_ECC_DISABLE );
19001899
19011900 /* configure CMD1 and VLD for ONFI param probing in QPIC v1 */
19021901 if (!nandc -> props -> qpic_version2 ) {
0 commit comments