| /linux/arch/arm64/boot/dts/intel/ |
| H A D | socfpga_agilex.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 6 /dts-v1/; 7 #include <dt-bindings/reset/altr,rst-mgr-s10.h> 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/interrupt-controller/arm-gic.h> 10 #include <dt-bindings/clock/agilex-clock.h> 13 compatible = "intel,socfpga-agilex"; 14 #address-cells = <2>; 15 #size-cells = <2>; 17 reserved-memory { [all …]
|
| /linux/drivers/mtd/nand/raw/ |
| H A D | lpc32xx_slc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 24 #include <linux/dma-mapping.h> 30 #define LPC32XX_MODNAME "lpc32xx-nand" 56 #define SLCCTRL_ECC_CLEAR (1 << 1) /* Reset ECC bit */ 63 #define SLCCFG_DMA_ECC (1 << 4) /* Enable DMA ECC bit */ 64 #define SLCCFG_ECC_EN (1 << 3) /* ECC enable bit */ 86 #define SLCTAC_CLOCKS(c, n, s) (min_t(u32, DIV_ROUND_UP(c, n) - 1, 0xF) << s) 108 /* ECC line party fetch macro */ 113 * DMA requires storage space for the DMA local buffer and the hardware ECC 120 /* Number of bytes used for ECC stored in NAND per 256 bytes */ [all …]
|
| H A D | lpc32xx_mlc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 11 * - Read: Auto Decode 12 * - Write: Auto Encode 13 * - Tested Page Sizes: 2048, 4096 32 #include <linux/dma-mapping.h> 134 if (section >= nand_chip->ecc.steps) in lpc32xx_ooblayout_ecc() 135 return -ERANGE; in lpc32xx_ooblayout_ecc() 137 oobregion->offset = ((section + 1) * 16) - nand_chip->ecc.bytes; in lpc32xx_ooblayout_ecc() 138 oobregion->length = nand_chip->ecc.bytes; in lpc32xx_ooblayout_ecc() 148 if (section >= nand_chip->ecc.steps) in lpc32xx_ooblayout_free() [all …]
|
| H A D | nuvoton-ma35d1-nand-controller.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <linux/dma-mapping.h> 73 /* Define for the BCH hardware ECC engine */ 119 return -ERANGE; in ma35_ooblayout_ecc() 121 oob_region->length = chip->ecc.total; in ma35_ooblayout_ecc() 122 oob_region->offset = mtd->oobsize - oob_region->length; in ma35_ooblayout_ecc() 133 return -ERANGE; in ma35_ooblayout_free() 135 oob_region->length = mtd->oobsize - chip->ecc.total - 2; in ma35_ooblayout_free() 136 oob_region->offset = 2; in ma35_ooblayout_free() 143 .ecc = ma35_ooblayout_ecc, [all …]
|
| H A D | stm32_fmc2_nand.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <linux/dma-mapping.h> 28 /* ECC step size */ 43 /* Max ECC buffer length */ 295 struct stm32_fmc2_nfc *nfc = to_stm32_nfc(chip->controller); in stm32_fmc2_nfc_timings_init() 297 struct stm32_fmc2_timings *timings = &nand->timings; in stm32_fmc2_nfc_timings_init() 301 regmap_update_bits(nfc->regmap, FMC2_PCR, in stm32_fmc2_nfc_timings_init() 303 FIELD_PREP(FMC2_PCR_TCLR, timings->tclr) | in stm32_fmc2_nfc_timings_init() 304 FIELD_PREP(FMC2_PCR_TAR, timings->tar)); in stm32_fmc2_nfc_timings_init() 307 pmem = FIELD_PREP(FMC2_PMEM_MEMSET, timings->tset_mem); in stm32_fmc2_nfc_timings_init() [all …]
|
| H A D | sharpsl.c | 1 // SPDX-License-Identifier: GPL-2.0-only 33 #define ECCLPLB 0x00 /* line parity 7 - 0 bit */ 34 #define ECCLPUB 0x04 /* line parity 15 - 8 bit */ 35 #define ECCCP 0x08 /* column parity 5 - 0 bit */ 36 #define ECCCNTR 0x0C /* ECC byte counter */ 37 #define ECCCLRR 0x10 /* cleare ECC */ 50 * hardware specific access to control-lines 52 * NAND_CNE: bit 0 -> ! bit 0 & 4 53 * NAND_CLE: bit 1 -> bit 1 54 * NAND_ALE: bit 2 -> bit 2 [all …]
|
| H A D | plat_nand.c | 1 // SPDX-License-Identifier: GPL-2.0-only 24 if (chip->ecc.engine_type == NAND_ECC_ENGINE_TYPE_SOFT && in plat_nand_attach_chip() 25 chip->ecc.algo == NAND_ECC_ALGO_UNKNOWN) in plat_nand_attach_chip() 26 chip->ecc.algo = NAND_ECC_ALGO_HAMMING; in plat_nand_attach_chip() 40 struct platform_nand_data *pdata = dev_get_platdata(&pdev->dev); in plat_nand_probe() 47 dev_err(&pdev->dev, "platform_nand_data is missing\n"); in plat_nand_probe() 48 return -EINVAL; in plat_nand_probe() 51 if (pdata->chip.nr_chips < 1) { in plat_nand_probe() 52 dev_err(&pdev->dev, "invalid number of chips specified\n"); in plat_nand_probe() 53 return -EINVAL; in plat_nand_probe() [all …]
|
| /linux/drivers/edac/ |
| H A D | altera_edac.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2017-2018, Intel Corporation. All rights reserved 4 * Copyright Altera Corporation (C) 2014-2016. All rights reserved. 5 * Copyright 2011-2012 Calxeda, Inc. 12 #include <linux/firmware/intel/stratix10-smc.h> 17 #include <linux/mfd/altera-sysmgr.h> 84 struct altr_sdram_mc_data *drvdata = mci->pvt_info; in altr_sdram_mc_err_handler() 85 const struct altr_sdram_prv_data *priv = drvdata->data; in altr_sdram_mc_err_handler() 88 regmap_read(drvdata->mc_vbase, priv->ecc_stat_offset, &status); in altr_sdram_mc_err_handler() 90 if (status & priv->ecc_stat_ue_mask) { in altr_sdram_mc_err_handler() [all …]
|
| /linux/arch/arm64/boot/dts/altera/ |
| H A D | socfpga_stratix10.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 6 /dts-v1/; 7 #include <dt-bindings/reset/altr,rst-mgr-s10.h> 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/clock/stratix10-clock.h> 12 compatible = "altr,socfpga-stratix10"; 13 #address-cells = <2>; 14 #size-cells = <2>; 16 reserved-memory { 17 #address-cells = <2>; [all …]
|
| /linux/fs/ocfs2/ |
| H A D | blockcheck.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Checksum and ECC codes for the OCFS2 userspace library. 39 * power-of-two bits for parity, the data bit number and the code bit 42 * Recall that bit numbers in hamming code are 1-based. This function 43 * takes the 0-based data bit from the caller. 59 * Data bits are 0-based, but we're talking code bits, which in calc_code_bit() 60 * are 1-based. in calc_code_bit() 105 * 1-based array, but C uses 0-based. So 'i' is for C, and 'b' is in ocfs2_hamming_encode() 235 debugfs_remove_recursive(stats->b_debug_dir); in ocfs2_blockcheck_debug_remove() 236 stats->b_debug_dir = NULL; in ocfs2_blockcheck_debug_remove() [all …]
|
| /linux/Documentation/devicetree/bindings/mtd/ |
| H A D | nand-chip.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mtd/nand-chip.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Miquel Raynal <miquel.raynal@bootlin.com> 13 - $ref: mtd.yaml# 18 SPI-NAND devices are concerned by this description. 23 Contains the chip-select IDs. 25 nand-ecc-engine: 27 A phandle on the hardware ECC engine if any. There are [all …]
|
| H A D | brcm,brcmnand.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Brian Norris <computersforpeace@gmail.com> 11 - Kamal Dasu <kdasu.kdev@gmail.com> 12 - William Zhang <william.zhang@broadcom.com> 15 The Broadcom Set-Top Box NAND controller supports low-level access to raw NAND 16 flash chips. It has a memory-mapped register interface for both control 27 -- Additional SoC-specific NAND controller properties -- 35 interesting ways, sometimes with registers that lump multiple NAND-related [all …]
|
| H A D | ti,gpmc-nand.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mtd/ti,gpmc-nand.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Tony Lindgren <tony@atomide.com> 11 - Roger Quadros <rogerq@kernel.org> 20 - enum: 21 - ti,am64-nand 22 - ti,omap2-nand 29 - description: Interrupt for fifoevent [all …]
|
| /linux/include/linux/mtd/ |
| H A D | mtd.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * Copyright © 1999-2010 David Woodhouse <dwmw2@infradead.org> et al. 15 #include <linux/nvmem-provider.h> 17 #include <mtd/mtd-abi.h> 21 #define MTD_FAIL_ADDR_UNKNOWN -1LL 50 * struct mtd_oob_ops - oob operation operands 61 * @datbuf: data buffer - if NULL only oob data are read/written 65 * one go. If you try to do that on such an MTD device, -EINVAL will be 67 * devices you should split the write request into several sub-requests when the 83 * struct mtd_oob_region - oob region definition [all …]
|
| /linux/drivers/net/can/spi/mcp251xfd/ |
| H A D | mcp251xfd-core.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // mcp251xfd - Microchip MCP251xFD Family CAN controller driver 6 // Marc Kleine-Budde <kernel@pengutronix.de> 79 * [-64,63] for TDCO, indicating a relative TDCO. 115 return __mcp251xfd_get_model_str(priv->devtype_data.model); in mcp251xfd_get_model_str() 160 if (!priv->reg_vdd) in mcp251xfd_vdd_enable() 163 return regulator_enable(priv->reg_vdd); in mcp251xfd_vdd_enable() 168 if (!priv->reg_vdd) in mcp251xfd_vdd_disable() 171 return regulator_disable(priv->reg_vdd); in mcp251xfd_vdd_disable() 177 if (!priv->reg_xceiver) in mcp251xfd_transceiver_enable() [all …]
|
| /linux/Documentation/devicetree/bindings/memory-controllers/ |
| H A D | snps,dw-umctl2-ddrc.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/memory-controllers/snps,dw-umctl2-ddrc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Synopsys DesignWare Universal Multi-Protocol Memory Controller 10 - Krzysztof Kozlowski <krzk@kernel.org> 11 - Michal Simek <michal.simek@amd.com> 16 be equipped with SEC/DEC ECC feature if DRAM data bus width is either 17 16-bits or 32-bits or 64-bits wide. 20 controller. It has an optional SEC/DEC ECC support in 64- and 32-bits [all …]
|
| H A D | xlnx,versal-ddrmc-edac.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/memory-controllers/xlnx,versal-ddrmc-edac.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Shubhrajyoti Datta <shubhrajyoti.datta@amd.com> 11 - Sai Krishna Potthuri <sai.krishna.potthuri@amd.com> 15 4X memory interfaces. Versal DDR memory controller has an optional ECC support 16 which correct single bit ECC errors and detect double bit ECC errors. 20 const: xlnx,versal-ddrmc 24 - description: DDR Memory Controller registers [all …]
|
| /linux/Documentation/devicetree/bindings/net/can/ |
| H A D | xilinx,can.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Appana Durga Kedareswara rao <appana.durga.rao@xilinx.com> 16 - xlnx,zynq-can-1.0 17 - xlnx,axi-can-1.00.a 18 - xlnx,canfd-1.0 19 - xlnx,canfd-2.0 31 clock-names: 34 power-domains: [all …]
|
| /linux/arch/mips/boot/dts/ni/ |
| H A D | 169445.dts | 1 /dts-v1/; 4 #address-cells = <1>; 5 #size-cells = <1>; 9 #address-cells = <1>; 10 #size-cells = <0>; 25 compatible = "fixed-clock"; 26 #clock-cells = <0>; 27 clock-frequency = <50000000>; 30 cpu_intc: interrupt-controller { 31 #address-cells = <0>; [all …]
|
| /linux/arch/arm/boot/dts/intel/socfpga/ |
| H A D | socfpga_arria10_socdk_sdmmc.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Copyright (C) 2014-2015 Altera Corporation <www.altera.com> 6 /dts-v1/; 11 cap-sd-highspeed; 12 cap-mmc-highspeed; 13 broken-cd; 14 bus-width = <4>; 15 clk-phase-sd-hs = <0>, <135>; 19 sdmmca-ecc@ff8c2c00 { 20 compatible = "altr,socfpga-sdmmc-ecc"; [all …]
|
| /linux/arch/mips/boot/dts/ingenic/ |
| H A D | jz4740.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 #include <dt-bindings/clock/ingenic,jz4740-cgu.h> 3 #include <dt-bindings/clock/ingenic,tcu.h> 6 #address-cells = <1>; 7 #size-cells = <1>; 11 #address-cells = <1>; 12 #size-cells = <0>; 16 compatible = "ingenic,xburst-mxu1.0"; 20 clock-names = "cpu"; 24 cpuintc: interrupt-controller { [all …]
|
| /linux/arch/mips/boot/dts/loongson/ |
| H A D | loongson1c.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2023-2025 Keguang Zhang <keguang.zhang@gmail.com> 6 /dts-v1/; 10 clkc: clock-controller@1fe78030 { 11 compatible = "loongson,ls1c-clk"; 14 #clock-cells = <1>; 20 compatible = "loongson,ls1c-syscon", "syscon"; 24 intc4: interrupt-controller@10a0 { 25 compatible = "loongson,ls1x-intc"; 27 interrupt-controller; [all …]
|
| H A D | loongson1b.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2023-2025 Keguang Zhang <keguang.zhang@gmail.com> 6 /dts-v1/; 10 cpu_opp_table: opp-table { 11 compatible = "operating-points-v2"; 12 opp-shared; 14 opp-44000000 { 15 opp-hz = /bits/ 64 <44000000>; 17 opp-47142000 { 18 opp-hz = /bits/ 64 <47142000>; [all …]
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-class-mtd | 4 Contact: linux-mtd@lists.infradead.org 12 Contact: linux-mtd@lists.infradead.org 22 Contact: linux-mtd@lists.infradead.org 24 These directories provide the corresponding read-only device 30 Contact: linux-mtd@lists.infradead.org 34 read-write device so <minor> will be even. 39 Contact: linux-mtd@lists.infradead.org 42 to the read-only variant of the MTD device (in 48 Contact: linux-mtd@lists.infradead.org 58 Contact: linux-mtd@lists.infradead.org [all …]
|
| /linux/drivers/mtd/nand/raw/ingenic/ |
| H A D | ingenic_nand_drv.c | 1 // SPDX-License-Identifier: GPL-2.0 23 #include <linux/jz4780-nemc.h> 27 #define DRV_NAME "ingenic-nand" 44 struct ingenic_ecc *ecc; member 75 struct nand_ecc_ctrl *ecc = &chip->ecc; in qi_lb60_ooblayout_ecc() local 77 if (section || !ecc->total) in qi_lb60_ooblayout_ecc() 78 return -ERANGE; in qi_lb60_ooblayout_ecc() 80 oobregion->length = ecc->total; in qi_lb60_ooblayout_ecc() 81 oobregion->offset = 12; in qi_lb60_ooblayout_ecc() 90 struct nand_ecc_ctrl *ecc = &chip->ecc; in qi_lb60_ooblayout_free() local [all …]
|