denali.c (7e534323c416216e8ac45b5633fb0a5e5137e5b5) denali.c (c0739d85723a381302907f9613392d7ac8515176)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * NAND Flash Controller Device Driver
4 * Copyright © 2009-2010, Intel Corporation and its suppliers.
5 *
6 * Copyright (c) 2017 Socionext Inc.
7 * Reworked by Masahiro Yamada <yamada.masahiro@socionext.com>
8 */

--- 212 unchanged lines hidden (view full) ---

221 struct denali_nand_info *denali = mtd_to_denali(mtd);
222 u32 addr = DENALI_MAP11_DATA | DENALI_BANK(denali);
223 int i;
224
225 for (i = 0; i < len; i++)
226 buf[i] = denali->host_read(denali, addr);
227}
228
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * NAND Flash Controller Device Driver
4 * Copyright © 2009-2010, Intel Corporation and its suppliers.
5 *
6 * Copyright (c) 2017 Socionext Inc.
7 * Reworked by Masahiro Yamada <yamada.masahiro@socionext.com>
8 */

--- 212 unchanged lines hidden (view full) ---

221 struct denali_nand_info *denali = mtd_to_denali(mtd);
222 u32 addr = DENALI_MAP11_DATA | DENALI_BANK(denali);
223 int i;
224
225 for (i = 0; i < len; i++)
226 buf[i] = denali->host_read(denali, addr);
227}
228
229static void denali_write_buf(struct mtd_info *mtd, const uint8_t *buf, int len)
229static void denali_write_buf(struct nand_chip *chip, const uint8_t *buf,
230 int len)
230{
231{
231 struct denali_nand_info *denali = mtd_to_denali(mtd);
232 struct denali_nand_info *denali = mtd_to_denali(nand_to_mtd(chip));
232 u32 addr = DENALI_MAP11_DATA | DENALI_BANK(denali);
233 int i;
234
235 for (i = 0; i < len; i++)
236 denali->host_write(denali, addr, buf[i]);
237}
238
239static void denali_read_buf16(struct nand_chip *chip, uint8_t *buf, int len)
240{
241 struct denali_nand_info *denali = mtd_to_denali(nand_to_mtd(chip));
242 u32 addr = DENALI_MAP11_DATA | DENALI_BANK(denali);
243 uint16_t *buf16 = (uint16_t *)buf;
244 int i;
245
246 for (i = 0; i < len / 2; i++)
247 buf16[i] = denali->host_read(denali, addr);
248}
249
233 u32 addr = DENALI_MAP11_DATA | DENALI_BANK(denali);
234 int i;
235
236 for (i = 0; i < len; i++)
237 denali->host_write(denali, addr, buf[i]);
238}
239
240static void denali_read_buf16(struct nand_chip *chip, uint8_t *buf, int len)
241{
242 struct denali_nand_info *denali = mtd_to_denali(nand_to_mtd(chip));
243 u32 addr = DENALI_MAP11_DATA | DENALI_BANK(denali);
244 uint16_t *buf16 = (uint16_t *)buf;
245 int i;
246
247 for (i = 0; i < len / 2; i++)
248 buf16[i] = denali->host_read(denali, addr);
249}
250
250static void denali_write_buf16(struct mtd_info *mtd, const uint8_t *buf,
251static void denali_write_buf16(struct nand_chip *chip, const uint8_t *buf,
251 int len)
252{
252 int len)
253{
253 struct denali_nand_info *denali = mtd_to_denali(mtd);
254 struct denali_nand_info *denali = mtd_to_denali(nand_to_mtd(chip));
254 u32 addr = DENALI_MAP11_DATA | DENALI_BANK(denali);
255 const uint16_t *buf16 = (const uint16_t *)buf;
256 int i;
257
258 for (i = 0; i < len / 2; i++)
259 denali->host_write(denali, addr, buf16[i]);
260}
261
262static uint8_t denali_read_byte(struct nand_chip *chip)
263{
264 uint8_t byte;
265
266 denali_read_buf(chip, &byte, 1);
267
268 return byte;
269}
270
255 u32 addr = DENALI_MAP11_DATA | DENALI_BANK(denali);
256 const uint16_t *buf16 = (const uint16_t *)buf;
257 int i;
258
259 for (i = 0; i < len / 2; i++)
260 denali->host_write(denali, addr, buf16[i]);
261}
262
263static uint8_t denali_read_byte(struct nand_chip *chip)
264{
265 uint8_t byte;
266
267 denali_read_buf(chip, &byte, 1);
268
269 return byte;
270}
271
271static void denali_write_byte(struct mtd_info *mtd, uint8_t byte)
272static void denali_write_byte(struct nand_chip *chip, uint8_t byte)
272{
273{
273 denali_write_buf(mtd, &byte, 1);
274 denali_write_buf(chip, &byte, 1);
274}
275
276static void denali_cmd_ctrl(struct mtd_info *mtd, int dat, unsigned int ctrl)
277{
278 struct denali_nand_info *denali = mtd_to_denali(mtd);
279 uint32_t type;
280
281 if (ctrl & NAND_CLE)

--- 1113 unchanged lines hidden ---
275}
276
277static void denali_cmd_ctrl(struct mtd_info *mtd, int dat, unsigned int ctrl)
278{
279 struct denali_nand_info *denali = mtd_to_denali(mtd);
280 uint32_t type;
281
282 if (ctrl & NAND_CLE)

--- 1113 unchanged lines hidden ---