From patchwork Thu May 14 20:11:14 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Nemirovsky X-Patchwork-Id: 245829 List-Id: U-Boot discussion From: alex.nemirovsky at cortina-access.com (Alex Nemirovsky) Date: Thu, 14 May 2020 13:11:14 -0700 Subject: [PATCH v7 0/8] Cortina Access Drivers Package 2 Message-ID: <1589487082-28044-1-git-send-email-alex.nemirovsky@cortina-access.com> This release adds the following drivers and integrates support into the Cortina Access Presidio Engineering Board: CAxxxx SoC eMMC/SD controller CAxxxx SoC I2C controller CAxxxx Soc LED controller CAxxxx SPI NAND and NOR controller Changes in v7: - Cleanup typos in commit subject line and description - Added additional description info in I2C KConfig - rename OFFSET to SHIFT from macros - add additinal struct comments - Reading the DT should really happen in the ofdata_to_platdata method - Replace substring "OPCODE" with "OP" in MACROs to help reduce code line lengths - Replace substring "_MASK" with "_MSK" in MACROs to help reduce code line lengths Changes in v6: - Add I2C DT binding document Changes in v5: - Rebase code basis on v2020.04-rc5 which has already incorporated CAxxxx eMMC initial baseline - Rebase on codebase basis v2020.04-rc5 which already incorporated initial baseline of eMMC DT information - NAND support removed from presidio-asic board DT. Changes in v4: - Rename DT compatible name - Remove uneccessary if-statement to support 8-bit buswidth - Remove redundant error msg - Use symbolic constants in switch statement - Change DT compatiblity name to match change in driver's name - Remove unused io_ds and fifo_mode fields from DT - Utilize standard I2C macros from - Return ETIMEDOUT in funcs that can timeout - Return i2c_xfer_init() result to caller of i2c_read() if it fails within i2c_read() execution - Fix misc. style guide conformance issues - Use printf() to report i2c_xfer() runtime errors instead of debug() - remove unused macros - remove cortina prefix from macros - remove use BSS variable - further cleanup to meet code style guidelines - add additinal struct comments - rename DT blink rate symbol - rename DT blink rate symbol Changes in v3: - Fixup syntax issues related to checkpatch.pl cleanup Changes in v2: - Add I2C controller - Add LED controller - Add SPI NAND and NOR controller Alex Nemirovsky (3): board: presidio-asic: update eMMC DT information board: presidio-asic: Add I2C support board: presidio-asic: Add SPI NOR support Arthur Li (2): mmc: ca_dw_mmc: Misc cleanup of driver i2c: i2c-cortina: added CAxxxx I2C support Jway Lin (2): led: led_cortina: Add CAxxx LED support board: presidio: add LED support Pengpeng Chen (1): spi: ca_sflash: Add CAxxxx SPI Flash Controller MAINTAINERS | 8 + arch/arm/dts/ca-presidio-engboard.dts | 41 +- board/cortina/presidio-asic/presidio.c | 16 +- configs/cortina_presidio-asic-emmc_defconfig | 5 + configs/cortina_presidio-asic-spi-nand_defconfig | 48 ++ configs/cortina_presidio-asic-spi-nor_defconfig | 59 +++ doc/device-tree-bindings/i2c/i2c-cortina.txt | 18 + drivers/i2c/Kconfig | 8 + drivers/i2c/Makefile | 1 + drivers/i2c/i2c-cortina.c | 346 ++++++++++++++ drivers/i2c/i2c-cortina.h | 84 ++++ drivers/led/Kconfig | 8 + drivers/led/Makefile | 1 + drivers/led/led_cortina.c | 305 ++++++++++++ drivers/mmc/ca_dw_mmc.c | 34 +- drivers/spi/Kconfig | 8 + drivers/spi/Makefile | 1 + drivers/spi/ca_sflash.c | 576 +++++++++++++++++++++++ 18 files changed, 1537 insertions(+), 30 deletions(-) create mode 100644 configs/cortina_presidio-asic-spi-nand_defconfig create mode 100644 configs/cortina_presidio-asic-spi-nor_defconfig create mode 100644 doc/device-tree-bindings/i2c/i2c-cortina.txt create mode 100644 drivers/i2c/i2c-cortina.c create mode 100644 drivers/i2c/i2c-cortina.h create mode 100644 drivers/led/led_cortina.c create mode 100644 drivers/spi/ca_sflash.c