summaryrefslogtreecommitdiffstats
path: root/drivers/bus/omap-gpmc.c
Commit message (Collapse)AuthorAgeFilesLines
* mtd: nand: Update to Linux-5.9Sascha Hauer2020-11-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This updates the barebox NAND layer and parts of the mtd layer to Linux-5.9. This patch is huge, but the barebox NAND layer is so far away from the Linux NAND layer that a step by step update would have taken ages. Unlike Linux barebox has functions to mark a block as good. This feature has been preserved. Also barebox used to make NAND write support optional, this feature is lost during the update for the sake of better compatibility to the Linux NAND layer. This patch has been tested: - GPMI aka nand_mxs on i.MX6 - nand_imx on i.MX25 - nand_omap_gpmc on AM335x - atmel_nand on Atmel sama5d3 - nand_denali on SoCFPGA Currently untested: - nand_orion - nand_mrvl_nfc - nand_s3c24xx The nand_denali driver is tested with the update of that driver to Linux-5.9 following in the next patch. I could only test the drivers with the NAND chips found on my boards, so there's still enough room for regressions, especially given that the NAND drivers themselves are mostly not updated. With the NAND layer being up-to-date with Linux it should hopefully be easy to update drivers to their Linux counterpart as well if necessary. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* mtd: nand: gpmc: Add BCH16 supportSascha Hauer2019-08-281-0/+3
| | | | | | | | | | | | | | | | This adds support for BCH16 ECC encoding. The support is mostly taken from Linux-5.3-rc6. One major change is the different wrap mode used. The Kernel uses wrapmode 1, which means "pass all data through the BCH engine". Still the Kernel has to skip the OOB marker which is done by reading all user data, then use NAND_CMD_RNDOUT to position right behind the OOB marker and then read the ECC data. Instead of doing this we use wrap mode 4 which allows us to bypass the OOB marker from the BCH engine automatically. This explains bch_wrapmode = 1, eccsize0 = 0, eccsize1 = 52 vs. bch_wrapmode = 4, eccsize0 = 4, eccsize1 = 52 Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* bus: omap-gpmc: make locally used function staticSascha Hauer2018-11-191-1/+1
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* mtd: nand: omap_gpmc: Remove BCH4 supportTeresa Remmet2016-04-121-3/+0
| | | | | | | This has no users and seems to be untested. Removed it. Signed-off-by: Teresa Remmet <t.remmet@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* bus: omap-gpmc: Add Generic device supportSascha Hauer2015-07-021-0/+142
| | | | | | | This adds support for generic devices like NOR flash and ethernet to the gpmc bus driver. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* bus: omap-gpmc: fix wrong bit settingSascha Hauer2015-07-021-1/+1
| | | | | | | GPMC_CONFIG4_WEEXTRADELAY should be set depending on we_extra_delay, not on oe_extra_delay. This seems to be copy-pasted from two lines above. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* sizes.h: move include/sizes.h to include/linux/sizes.hMasahiro Yamada2015-01-081-1/+1
| | | | | | | | | | | | | | This file originates in Linux. Linux has it under include/linux/ directory since commit dccd2304cc90. Let's move it to the same place as well in barebox. This commit was generated by the following commands: find -name '*.[chS]' | xargs sed -i -e 's:<sizes.h>:<linux/sizes.h>:' git mv include/sizes.h include/linux/ Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* resource: Let dev_get_mem_region return an error pointerSascha Hauer2014-09-161-2/+3
| | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* mtd: omap gpmc: fix bch8 nand-ecc-opt propertySascha Hauer2014-08-011-3/+0
| | | | | | | | | We interpret the ECC option "bch8" as OMAP_ECC_BCH8_CODE_HW, but the Kernel uses OMAP_ECC_BCH8_CODE_HW_ROMCODE in this case instead. To make the interpretation of the ti,nand-ecc-opt property compatible to the Kernel we have to use OMAP_ECC_BCH8_CODE_HW_ROMCODE for "bch8" Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* bus: Add omap gpmc driverSascha Hauer2013-11-271-0/+523
This adds a devicetree-only driver for to configure the gpmc and its child devices from dt. Currently only NAND is supported. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>