struct spi_mem_op op;
        u8 *buf = nor->bouncebuf;
        int ret;
+       u8 addr_mode_nbytes = nor->params->addr_mode_nbytes;
 
        /* Use 24 dummy cycles for memory array reads. */
        *buf = SPINOR_REG_CYPRESS_CFR2V_MEMLAT_11_24;
        op = (struct spi_mem_op)
-               CYPRESS_NOR_WR_ANY_REG_OP(3, SPINOR_REG_CYPRESS_CFR2V, 1, buf);
+               CYPRESS_NOR_WR_ANY_REG_OP(addr_mode_nbytes,
+                                         SPINOR_REG_CYPRESS_CFR2V, 1, buf);
 
        ret = spi_nor_write_any_volatile_reg(nor, &op, nor->reg_proto);
        if (ret)
        /* Set the octal and DTR enable bits. */
        buf[0] = SPINOR_REG_CYPRESS_CFR5V_OCT_DTR_EN;
        op = (struct spi_mem_op)
-               CYPRESS_NOR_WR_ANY_REG_OP(3, SPINOR_REG_CYPRESS_CFR5V, 1, buf);
+               CYPRESS_NOR_WR_ANY_REG_OP(addr_mode_nbytes,
+                                         SPINOR_REG_CYPRESS_CFR5V, 1, buf);
 
        ret = spi_nor_write_any_volatile_reg(nor, &op, nor->reg_proto);
        if (ret)
                return ret;
 
        /* Read flash ID to make sure the switch was successful. */
-       ret = spi_nor_read_id(nor, 4, 3, buf, SNOR_PROTO_8_8_8_DTR);
+       ret = spi_nor_read_id(nor, nor->addr_nbytes, 3, buf,
+                             SNOR_PROTO_8_8_8_DTR);
        if (ret) {
                dev_dbg(nor->dev, "error %d reading JEDEC ID after enabling 8D-8D-8D mode\n", ret);
                return ret;
        buf[0] = SPINOR_REG_CYPRESS_CFR5V_OCT_DTR_DS;
        buf[1] = 0;
        op = (struct spi_mem_op)
-               CYPRESS_NOR_WR_ANY_REG_OP(4, SPINOR_REG_CYPRESS_CFR5V, 2, buf);
+               CYPRESS_NOR_WR_ANY_REG_OP(nor->addr_nbytes,
+                                         SPINOR_REG_CYPRESS_CFR5V, 2, buf);
        ret = spi_nor_write_any_volatile_reg(nor, &op, SNOR_PROTO_8_8_8_DTR);
        if (ret)
                return ret;
 static int cypress_nor_set_page_size(struct spi_nor *nor)
 {
        struct spi_mem_op op =
-               CYPRESS_NOR_RD_ANY_REG_OP(3, SPINOR_REG_CYPRESS_CFR3V,
+               CYPRESS_NOR_RD_ANY_REG_OP(nor->params->addr_mode_nbytes,
+                                         SPINOR_REG_CYPRESS_CFR3V,
                                          nor->bouncebuf);
        int ret;