Home
last modified time | relevance | path

Searched full:nfc (Results 1 – 25 of 544) sorted by relevance

12345678910>>...22

/kernel/linux/linux-5.10/drivers/mtd/nand/raw/
Dmxic_nand.c184 static int mxic_nfc_clk_enable(struct mxic_nand_ctlr *nfc) in mxic_nfc_clk_enable() argument
188 ret = clk_prepare_enable(nfc->ps_clk); in mxic_nfc_clk_enable()
192 ret = clk_prepare_enable(nfc->send_clk); in mxic_nfc_clk_enable()
196 ret = clk_prepare_enable(nfc->send_dly_clk); in mxic_nfc_clk_enable()
203 clk_disable_unprepare(nfc->send_clk); in mxic_nfc_clk_enable()
205 clk_disable_unprepare(nfc->ps_clk); in mxic_nfc_clk_enable()
210 static void mxic_nfc_clk_disable(struct mxic_nand_ctlr *nfc) in mxic_nfc_clk_disable() argument
212 clk_disable_unprepare(nfc->send_clk); in mxic_nfc_clk_disable()
213 clk_disable_unprepare(nfc->send_dly_clk); in mxic_nfc_clk_disable()
214 clk_disable_unprepare(nfc->ps_clk); in mxic_nfc_clk_disable()
[all …]
Dvf610_nfc.c52 /* Addresses for NFC MAIN RAM BUFFER areas */
75 /* NFC ECC mode define */
173 static inline u32 vf610_nfc_read(struct vf610_nfc *nfc, uint reg) in vf610_nfc_read() argument
175 return readl(nfc->regs + reg); in vf610_nfc_read()
178 static inline void vf610_nfc_write(struct vf610_nfc *nfc, uint reg, u32 val) in vf610_nfc_write() argument
180 writel(val, nfc->regs + reg); in vf610_nfc_write()
183 static inline void vf610_nfc_set(struct vf610_nfc *nfc, uint reg, u32 bits) in vf610_nfc_set() argument
185 vf610_nfc_write(nfc, reg, vf610_nfc_read(nfc, reg) | bits); in vf610_nfc_set()
188 static inline void vf610_nfc_clear(struct vf610_nfc *nfc, uint reg, u32 bits) in vf610_nfc_clear() argument
190 vf610_nfc_write(nfc, reg, vf610_nfc_read(nfc, reg) & ~bits); in vf610_nfc_clear()
[all …]
Dmeson_nand.c225 struct meson_nfc *nfc = nand_get_controller_data(nand); in meson_nfc_select_chip() local
231 nfc->param.chip_select = meson_chip->sels[chip] ? NAND_CE1 : NAND_CE0; in meson_nfc_select_chip()
232 nfc->param.rb_select = nfc->param.chip_select; in meson_nfc_select_chip()
233 nfc->timing.twb = meson_chip->twb; in meson_nfc_select_chip()
234 nfc->timing.tadl = meson_chip->tadl; in meson_nfc_select_chip()
235 nfc->timing.tbers_max = meson_chip->tbers_max; in meson_nfc_select_chip()
237 if (nfc->clk_rate != meson_chip->clk_rate) { in meson_nfc_select_chip()
238 ret = clk_set_rate(nfc->device_clk, meson_chip->clk_rate); in meson_nfc_select_chip()
240 dev_err(nfc->dev, "failed to set clock rate\n"); in meson_nfc_select_chip()
243 nfc->clk_rate = meson_chip->clk_rate; in meson_nfc_select_chip()
[all …]
Dmtk_nand.c217 struct mtk_nfc *nfc = nand_get_controller_data(chip); in mtk_data_ptr() local
219 return nfc->buffer + i * mtk_data_len(chip); in mtk_data_ptr()
224 struct mtk_nfc *nfc = nand_get_controller_data(chip); in mtk_oob_ptr() local
226 return nfc->buffer + i * mtk_data_len(chip) + chip->ecc.size; in mtk_oob_ptr()
229 static inline void nfi_writel(struct mtk_nfc *nfc, u32 val, u32 reg) in nfi_writel() argument
231 writel(val, nfc->regs + reg); in nfi_writel()
234 static inline void nfi_writew(struct mtk_nfc *nfc, u16 val, u32 reg) in nfi_writew() argument
236 writew(val, nfc->regs + reg); in nfi_writew()
239 static inline void nfi_writeb(struct mtk_nfc *nfc, u8 val, u32 reg) in nfi_writeb() argument
241 writeb(val, nfc->regs + reg); in nfi_writeb()
[all …]
Dstm32_fmc2_nand.c281 struct stm32_fmc2_nfc *nfc = to_stm32_nfc(chip->controller); in stm32_fmc2_nfc_timings_init() local
287 regmap_update_bits(nfc->regmap, FMC2_PCR, in stm32_fmc2_nfc_timings_init()
297 regmap_write(nfc->regmap, FMC2_PMEM, pmem); in stm32_fmc2_nfc_timings_init()
304 regmap_write(nfc->regmap, FMC2_PATT, patt); in stm32_fmc2_nfc_timings_init()
309 struct stm32_fmc2_nfc *nfc = to_stm32_nfc(chip->controller); in stm32_fmc2_nfc_setup() local
331 regmap_update_bits(nfc->regmap, FMC2_PCR, pcr_mask, pcr); in stm32_fmc2_nfc_setup()
336 struct stm32_fmc2_nfc *nfc = to_stm32_nfc(chip->controller); in stm32_fmc2_nfc_select_chip() local
341 if (nand->cs_used[chipnr] == nfc->cs_sel) in stm32_fmc2_nfc_select_chip()
344 nfc->cs_sel = nand->cs_used[chipnr]; in stm32_fmc2_nfc_select_chip()
348 if (nfc->dma_tx_ch && nfc->dma_rx_ch) { in stm32_fmc2_nfc_select_chip()
[all …]
Darasan-nand-controller.c205 static int anfc_wait_for_event(struct arasan_nfc *nfc, unsigned int event) in anfc_wait_for_event() argument
210 ret = readl_relaxed_poll_timeout(nfc->base + INTR_STS_REG, val, in anfc_wait_for_event()
214 dev_err(nfc->dev, "Timeout waiting for event 0x%x\n", event); in anfc_wait_for_event()
218 writel_relaxed(event, nfc->base + INTR_STS_REG); in anfc_wait_for_event()
223 static int anfc_wait_for_rb(struct arasan_nfc *nfc, struct nand_chip *chip, in anfc_wait_for_rb() argument
231 ret = readl_relaxed_poll_timeout(nfc->base + READY_STS_REG, val, in anfc_wait_for_rb()
235 dev_err(nfc->dev, "Timeout waiting for R/B 0x%x\n", in anfc_wait_for_rb()
236 readl_relaxed(nfc->base + READY_STS_REG)); in anfc_wait_for_rb()
243 static void anfc_trigger_op(struct arasan_nfc *nfc, struct anfc_op *nfc_op) in anfc_trigger_op() argument
245 writel_relaxed(nfc_op->pkt_reg, nfc->base + PKT_REG); in anfc_trigger_op()
[all …]
Dsunxi_nand.c6 * https://github.com/yuq/sunxi-nfc-mtd
164 * @rb: the Ready/Busy pin ID. -1 means no R/B pin connected to the NFC
259 struct sunxi_nfc *nfc = dev_id; in sunxi_nfc_interrupt() local
260 u32 st = readl(nfc->regs + NFC_REG_ST); in sunxi_nfc_interrupt()
261 u32 ien = readl(nfc->regs + NFC_REG_INT); in sunxi_nfc_interrupt()
267 complete(&nfc->complete); in sunxi_nfc_interrupt()
269 writel(st & NFC_INT_MASK, nfc->regs + NFC_REG_ST); in sunxi_nfc_interrupt()
270 writel(~st & ien & NFC_INT_MASK, nfc->regs + NFC_REG_INT); in sunxi_nfc_interrupt()
275 static int sunxi_nfc_wait_events(struct sunxi_nfc *nfc, u32 events, in sunxi_nfc_wait_events() argument
287 init_completion(&nfc->complete); in sunxi_nfc_wait_events()
[all …]
Dmarvell_nand.c97 /* NFC does not support transfers of larger chunks at a time */
106 /* Latency in clock cycles between SoC pins and NFC logic */
508 static void marvell_nfc_disable_int(struct marvell_nfc *nfc, u32 int_mask) in marvell_nfc_disable_int() argument
513 reg = readl_relaxed(nfc->regs + NDCR); in marvell_nfc_disable_int()
514 writel_relaxed(reg | int_mask, nfc->regs + NDCR); in marvell_nfc_disable_int()
517 static void marvell_nfc_enable_int(struct marvell_nfc *nfc, u32 int_mask) in marvell_nfc_enable_int() argument
522 reg = readl_relaxed(nfc->regs + NDCR); in marvell_nfc_enable_int()
523 writel_relaxed(reg & ~int_mask, nfc->regs + NDCR); in marvell_nfc_enable_int()
526 static u32 marvell_nfc_clear_int(struct marvell_nfc *nfc, u32 int_mask) in marvell_nfc_clear_int() argument
530 reg = readl_relaxed(nfc->regs + NDSR); in marvell_nfc_clear_int()
[all …]
Dtango_nand.c70 * In NFC mode, the NAND Flash controller manages the communication.
71 * We use NFC mode for read and write; raw mode for everything else.
118 struct tango_nfc *nfc = to_tango_nfc(chip->controller); in tango_select_target() local
121 writel_relaxed(tchip->timing1, nfc->reg_base + NFC_TIMING1); in tango_select_target()
122 writel_relaxed(tchip->timing2, nfc->reg_base + NFC_TIMING2); in tango_select_target()
123 writel_relaxed(tchip->xfer_cfg, nfc->reg_base + NFC_XFER_CFG); in tango_select_target()
124 writel_relaxed(tchip->pkt_0_cfg, nfc->reg_base + NFC_PKT_0_CFG); in tango_select_target()
125 writel_relaxed(tchip->pkt_n_cfg, nfc->reg_base + NFC_PKT_N_CFG); in tango_select_target()
126 writel_relaxed(tchip->bb_cfg, nfc->reg_base + NFC_BB_CFG); in tango_select_target()
131 struct tango_nfc *nfc = to_tango_nfc(chip->controller); in tango_waitrdy() local
[all …]
/kernel/linux/linux-4.19/drivers/mtd/nand/raw/
Dmtk_nand.c219 struct mtk_nfc *nfc = nand_get_controller_data(chip); in mtk_data_ptr() local
221 return nfc->buffer + i * mtk_data_len(chip); in mtk_data_ptr()
226 struct mtk_nfc *nfc = nand_get_controller_data(chip); in mtk_oob_ptr() local
228 return nfc->buffer + i * mtk_data_len(chip) + chip->ecc.size; in mtk_oob_ptr()
231 static inline void nfi_writel(struct mtk_nfc *nfc, u32 val, u32 reg) in nfi_writel() argument
233 writel(val, nfc->regs + reg); in nfi_writel()
236 static inline void nfi_writew(struct mtk_nfc *nfc, u16 val, u32 reg) in nfi_writew() argument
238 writew(val, nfc->regs + reg); in nfi_writew()
241 static inline void nfi_writeb(struct mtk_nfc *nfc, u8 val, u32 reg) in nfi_writeb() argument
243 writeb(val, nfc->regs + reg); in nfi_writeb()
[all …]
Dvf610_nfc.c56 /* Addresses for NFC MAIN RAM BUFFER areas */
79 /* NFC ECC mode define */
181 static inline u32 vf610_nfc_read(struct vf610_nfc *nfc, uint reg) in vf610_nfc_read() argument
183 return readl(nfc->regs + reg); in vf610_nfc_read()
186 static inline void vf610_nfc_write(struct vf610_nfc *nfc, uint reg, u32 val) in vf610_nfc_write() argument
188 writel(val, nfc->regs + reg); in vf610_nfc_write()
191 static inline void vf610_nfc_set(struct vf610_nfc *nfc, uint reg, u32 bits) in vf610_nfc_set() argument
193 vf610_nfc_write(nfc, reg, vf610_nfc_read(nfc, reg) | bits); in vf610_nfc_set()
196 static inline void vf610_nfc_clear(struct vf610_nfc *nfc, uint reg, u32 bits) in vf610_nfc_clear() argument
198 vf610_nfc_write(nfc, reg, vf610_nfc_read(nfc, reg) & ~bits); in vf610_nfc_clear()
[all …]
Djz4780_nand.c77 struct jz4780_nand_controller *nfc = to_jz4780_nand_controller(nand->chip.controller); in jz4780_nand_select_chip() local
81 if (chipnr == -1 && nfc->selected >= 0) { in jz4780_nand_select_chip()
82 cs = &nfc->cs[nfc->selected]; in jz4780_nand_select_chip()
83 jz4780_nemc_assert(nfc->dev, cs->bank, false); in jz4780_nand_select_chip()
86 nfc->selected = chipnr; in jz4780_nand_select_chip()
93 struct jz4780_nand_controller *nfc = to_jz4780_nand_controller(nand->chip.controller); in jz4780_nand_cmd_ctrl() local
96 if (WARN_ON(nfc->selected < 0)) in jz4780_nand_cmd_ctrl()
99 cs = &nfc->cs[nfc->selected]; in jz4780_nand_cmd_ctrl()
101 jz4780_nemc_assert(nfc->dev, cs->bank, ctrl & NAND_NCE); in jz4780_nand_cmd_ctrl()
130 struct jz4780_nand_controller *nfc = to_jz4780_nand_controller(nand->chip.controller); in jz4780_nand_ecc_calculate() local
[all …]
Dmarvell_nand.c30 /* NFC does not support transfers of larger chunks at a time */
39 /* Latency in clock cycles between SoC pins and NFC logic */
429 static void marvell_nfc_disable_int(struct marvell_nfc *nfc, u32 int_mask) in marvell_nfc_disable_int() argument
434 reg = readl_relaxed(nfc->regs + NDCR); in marvell_nfc_disable_int()
435 writel_relaxed(reg | int_mask, nfc->regs + NDCR); in marvell_nfc_disable_int()
438 static void marvell_nfc_enable_int(struct marvell_nfc *nfc, u32 int_mask) in marvell_nfc_enable_int() argument
443 reg = readl_relaxed(nfc->regs + NDCR); in marvell_nfc_enable_int()
444 writel_relaxed(reg & ~int_mask, nfc->regs + NDCR); in marvell_nfc_enable_int()
447 static u32 marvell_nfc_clear_int(struct marvell_nfc *nfc, u32 int_mask) in marvell_nfc_clear_int() argument
451 reg = readl_relaxed(nfc->regs + NDSR); in marvell_nfc_clear_int()
[all …]
Dsunxi_nand.c5 * https://github.com/yuq/sunxi-nfc-mtd
171 * NFC
255 struct sunxi_nfc *nfc = dev_id; in sunxi_nfc_interrupt() local
256 u32 st = readl(nfc->regs + NFC_REG_ST); in sunxi_nfc_interrupt()
257 u32 ien = readl(nfc->regs + NFC_REG_INT); in sunxi_nfc_interrupt()
263 complete(&nfc->complete); in sunxi_nfc_interrupt()
265 writel(st & NFC_INT_MASK, nfc->regs + NFC_REG_ST); in sunxi_nfc_interrupt()
266 writel(~st & ien & NFC_INT_MASK, nfc->regs + NFC_REG_INT); in sunxi_nfc_interrupt()
271 static int sunxi_nfc_wait_events(struct sunxi_nfc *nfc, u32 events, in sunxi_nfc_wait_events() argument
283 init_completion(&nfc->complete); in sunxi_nfc_wait_events()
[all …]
Dtango_nand.c73 * In NFC mode, the NAND Flash controller manages the communication.
74 * We use NFC mode for read and write; raw mode for everything else.
133 struct tango_nfc *nfc = to_tango_nfc(chip->controller); in tango_dev_ready() local
135 return readl_relaxed(nfc->pbus_base + PBUS_CS_CTRL) & PBUS_IORDY; in tango_dev_ready()
162 struct tango_nfc *nfc = to_tango_nfc(chip->controller); in tango_select_chip() local
168 writel_relaxed(tchip->timing1, nfc->reg_base + NFC_TIMING1); in tango_select_chip()
169 writel_relaxed(tchip->timing2, nfc->reg_base + NFC_TIMING2); in tango_select_chip()
170 writel_relaxed(tchip->xfer_cfg, nfc->reg_base + NFC_XFER_CFG); in tango_select_chip()
171 writel_relaxed(tchip->pkt_0_cfg, nfc->reg_base + NFC_PKT_0_CFG); in tango_select_chip()
172 writel_relaxed(tchip->pkt_n_cfg, nfc->reg_base + NFC_PKT_N_CFG); in tango_select_chip()
[all …]
/kernel/linux/linux-5.10/Documentation/driver-api/mei/
Dnfc.rst3 MEI NFC
6 Some Intel 8 and 9 Serieses chipsets supports NFC devices connected behind
8 MEI client bus exposes the NFC chips as NFC phy devices and enables
9 binding with Microread and NXP PN544 NFC device driver from the Linux NFC
13 :alt: MEI NFC digraph
14 :caption: **MEI NFC** Stack
16 digraph NFC {
18 "drivers/nfc/mei_phy" -> cl_nfc [lhead=bus];
19 "drivers/nfc/microread/mei" -> cl_nfc;
20 "drivers/nfc/microread/mei" -> "drivers/nfc/mei_phy";
[all …]
/kernel/linux/linux-4.19/drivers/nfc/
DKconfig2 # Near Field Communication (NFC) devices
5 menu "Near Field Communication (NFC) devices"
6 depends on NFC
9 tristate "Texas Instruments TRF7970a NFC driver"
12 This option enables the NFC driver for Texas Instruments' TRF7970a
21 tristate "MEI bus NFC device support"
24 This adds support to use an mei bus nfc device. Select this if you
25 will use an HCI NFC driver for an NFC chip connected behind an
31 tristate "NFC hardware simulator driver"
34 This driver declares two virtual NFC devices supporting NFC-DEP
[all …]
/kernel/linux/linux-5.10/drivers/nfc/
DKconfig3 # Near Field Communication (NFC) devices
6 menu "Near Field Communication (NFC) devices"
7 depends on NFC
10 tristate "Texas Instruments TRF7970a NFC driver"
13 This option enables the NFC driver for Texas Instruments' TRF7970a
22 tristate "MEI bus NFC device support"
25 This adds support to use an mei bus nfc device. Select this if you
26 will use an HCI NFC driver for an NFC chip connected behind an
32 tristate "NFC hardware simulator driver"
35 This driver declares two virtual NFC devices supporting NFC-DEP
[all …]
/kernel/linux/linux-5.10/drivers/nfc/nfcmrvl/
DKconfig5 The core driver to support Marvell NFC devices.
8 Marvell NFC device 8897.
11 tristate "Marvell NFC-over-USB driver"
15 Marvell NFC-over-USB driver.
17 This driver provides support for Marvell NFC-over-USB devices:
20 Say Y here to compile support for Marvell NFC-over-USB driver
24 tristate "Marvell NFC-over-UART driver"
28 Marvell NFC-over-UART driver.
30 This driver provides support for Marvell NFC-over-UART devices
32 Say Y here to compile support for Marvell NFC-over-UART driver
[all …]
/kernel/linux/linux-4.19/drivers/nfc/nfcmrvl/
DKconfig4 The core driver to support Marvell NFC devices.
7 Marvell NFC device 8897.
10 tristate "Marvell NFC-over-USB driver"
14 Marvell NFC-over-USB driver.
16 This driver provides support for Marvell NFC-over-USB devices:
19 Say Y here to compile support for Marvell NFC-over-USB driver
23 tristate "Marvell NFC-over-UART driver"
27 Marvell NFC-over-UART driver.
29 This driver provides support for Marvell NFC-over-UART devices
31 Say Y here to compile support for Marvell NFC-over-UART driver
[all …]
/kernel/linux/linux-5.10/drivers/mtd/nand/raw/ingenic/
Dingenic_nand_drv.c152 struct ingenic_nfc *nfc = to_ingenic_nfc(nand->chip.controller); in ingenic_nand_ecc_calculate() local
166 return ingenic_ecc_calculate(nfc->ecc, &params, dat, ecc_code); in ingenic_nand_ecc_calculate()
173 struct ingenic_nfc *nfc = to_ingenic_nfc(nand->chip.controller); in ingenic_nand_ecc_correct() local
180 return ingenic_ecc_correct(nfc->ecc, &params, dat, read_ecc); in ingenic_nand_ecc_correct()
186 struct ingenic_nfc *nfc = to_ingenic_nfc(chip->controller); in ingenic_nand_attach_chip() local
199 if (!nfc->ecc) { in ingenic_nand_attach_chip()
200 dev_err(nfc->dev, "HW ECC selected, but ECC controller not found\n"); in ingenic_nand_attach_chip()
209 dev_info(nfc->dev, "using %s (strength %d, size %d, bytes %d)\n", in ingenic_nand_attach_chip()
210 (nfc->ecc) ? "hardware ECC" : "software ECC", in ingenic_nand_attach_chip()
214 dev_info(nfc->dev, "not using ECC\n"); in ingenic_nand_attach_chip()
[all …]
/kernel/linux/linux-4.19/net/nfc/
DKconfig2 # NFC sybsystem configuration
5 menuconfig NFC config
8 tristate "NFC subsystem support"
11 Say Y here if you want to build support for NFC (Near field
15 be called nfc.
18 depends on NFC
21 tristate "NFC Digital Protocol stack support"
24 Say Y if you want to build NFC digital protocol stack support.
25 This is needed by NFC chipsets whose firmware only implement
26 the NFC analog layer.
[all …]
/kernel/linux/linux-5.10/net/nfc/
DKconfig3 # NFC sybsystem configuration
6 menuconfig NFC config
9 tristate "NFC subsystem support"
12 Say Y here if you want to build support for NFC (Near field
16 be called nfc.
19 depends on NFC
22 tristate "NFC Digital Protocol stack support"
25 Say Y if you want to build NFC digital protocol stack support.
26 This is needed by NFC chipsets whose firmware only implement
27 the NFC analog layer.
[all …]
/kernel/linux/linux-5.10/include/uapi/linux/
Dnfc.h27 #define NFC_GENL_NAME "nfc"
33 * enum nfc_commands - supported nfc commands
38 * %NFC_ATTR_DEVICE_INDEX) or dump request to get a list of all nfc devices
39 * @NFC_CMD_DEV_UP: turn on the nfc device
41 * @NFC_CMD_DEV_DOWN: turn off the nfc device
75 * This typically will be sent whenever a new NFC controller with either
78 * the system, as a consequence of e.g. an NFC controller being unplugged.
87 * @NFC_CMD_GET_SE: Dump all discovered secure elements from an NFC controller.
89 * @NFC_CMD_ACTIVATE_TARGET: Request NFC controller to reactivate target.
92 * @NFC_CMD_DEACTIVATE_TARGET: Request NFC controller to deactivate target.
[all …]
/kernel/linux/linux-4.19/include/uapi/linux/
Dnfc.h27 #define NFC_GENL_NAME "nfc"
33 * enum nfc_commands - supported nfc commands
38 * %NFC_ATTR_DEVICE_INDEX) or dump request to get a list of all nfc devices
39 * @NFC_CMD_DEV_UP: turn on the nfc device
41 * @NFC_CMD_DEV_DOWN: turn off the nfc device
75 * This typically will be sent whenever a new NFC controller with either
78 * the system, as a consequence of e.g. an NFC controller being unplugged.
87 * @NFC_CMD_GET_SE: Dump all discovered secure elements from an NFC controller.
89 * @NFC_CMD_ACTIVATE_TARGET: Request NFC controller to reactivate target.
92 * @NFC_CMD_DEACTIVATE_TARGET: Request NFC controller to deactivate target.
[all …]

12345678910>>...22