
This patch series introduces the mx6 based cm-fx6 board. cm-fx6 comes with either single, dual, or quad core mx6 soc, and various dram configurations.
First 12 patches are preparatory steps which include: - Cleanups and bug fixes for the mx6 dram config code - New functions and macros for enabling clocks, i2c setup, querying the status of sata port, and more - Support for M25PE16 and M25PX16 spi flashes - sf probe command fix when using mxc_spi driver
NOTE: the correctness of this series depends on https://patchwork.ozlabs.org/patch/376095/
Changes in V4: - Rebase whole series over latest code (commit e49f14af1349eef94e41b636320bbfcace7403b5) - Patch "arm: mx6: add get_cpu_type()" is new to the series. - Adapt to use Kconfig - Initialize all ddr related structs statically - Don't #define CONFIG_SYS_L2CACHE_OFF for cm_fx6 - Use load instead of fatload in environment scripts - Refactoring across board support patches (introduce some functions in later patches, move/remove variables, coding style, etc. etc.); Details in the patches
Changes in V3: - Remove CONFIG_SYS_TEXT_BASE from config file to not clash with the one supplied by imx6_spl.h - Use (clr|set)bits_le32() where possible
Changes in V2: - Patch "spl: improve spi configuration" is replaced with "spl: replace CONFIG_SPL_SPI_* with CONFIG_SF_DEFAULT_*", which kills CONFIG_SPL_SPI_* defines in favor of using CONFIG_SF_DEFAULT_*. - Updated commit message of "sf: fix sf probe", renaming it in the process to "spi: mxc: fix sf probe when using mxc_spi". - Return value handling. - Update commit message of "arm: mx6: ddr: configure MMDC for slow_pd" - Remove unnecessary line removal from arch/arm/cpu/armv7/mx6/ddr.c - Move probe_mmdc_config() code straight to dram_init() - Use imx6_spl.h - Use imx_ddr_size()
Cc: Igor Grinberg grinberg@compulab.co.il Cc: Stefano Babic sbabic@denx.de Cc: Tom Rini trini@ti.com
Nikita Kiryanov (19): spl: replace CONFIG_SPL_SPI_* with CONFIG_SF_DEFAULT_* mx6: add clock enabling functions spi: mxc: fix sf probe when using mxc_spi mtd: spi: add support for M25PE16 and M25PX16 compulab: eeprom: add support for defining eeprom i2c bus sata: dwc_ahsata: implement sata_port_status i2c: imx: add macros to setup pads for multiple SoC types arm: mx6: ddr: cleanup arm: mx6: ddr: do not write into reserved bit arm: mx6: ddr: configure MMDC for slow_pd arm: mx6: ddr: fix cs0_end calculation arm: mx6: add get_cpu_type() arm: mx6: add support for Compulab cm-fx6 CoM arm: mx6: cm_fx6: add nand support arm: mx6: cm_fx6: add ethernet support arm: mx6: cm_fx6: add usb support arm: mx6: cm_fx6: add i2c support arm: mx6: cm_fx6: use eeprom arm: mx6: cm_fx6: add sata support
arch/arm/Kconfig | 4 + arch/arm/cpu/armv7/mx6/clock.c | 90 +++++ arch/arm/cpu/armv7/mx6/ddr.c | 271 +++++++-------- arch/arm/include/asm/arch-mx6/clock.h | 5 + arch/arm/include/asm/arch-mx6/sys_proto.h | 5 +- arch/arm/include/asm/imx-common/mxc_i2c.h | 33 ++ board/boundary/nitrogen6x/nitrogen6x.c | 5 + board/compulab/cm_fx6/Kconfig | 23 ++ board/compulab/cm_fx6/MAINTAINERS | 6 + board/compulab/cm_fx6/Makefile | 12 + board/compulab/cm_fx6/cm_fx6.c | 483 ++++++++++++++++++++++++++ board/compulab/cm_fx6/common.c | 84 +++++ board/compulab/cm_fx6/common.h | 37 ++ board/compulab/cm_fx6/imximage.cfg | 8 + board/compulab/cm_fx6/spl.c | 366 +++++++++++++++++++ board/compulab/common/eeprom.c | 13 +- board/embest/mx6boards/mx6boards.c | 5 + board/freescale/mx6qsabreauto/mx6qsabreauto.c | 7 + board/freescale/mx6sabresd/mx6sabresd.c | 7 + board/freescale/mx6slevk/mx6slevk.c | 5 + board/gateworks/gw_ventana/gw_ventana.c | 7 +- board/genesi/mx51_efikamx/efikamx.c | 5 + board/ttcontrol/vision2/vision2.c | 5 + common/cmd_sf.c | 13 - configs/cm_fx6_defconfig | 4 + drivers/block/dwc_ahsata.c | 17 + drivers/mtd/spi/sf_params.c | 2 + drivers/mtd/spi/spi_spl_load.c | 6 +- drivers/spi/mxc_spi.c | 48 +-- include/configs/am335x_evm.h | 2 - include/configs/cm_fx6.h | 290 ++++++++++++++++ include/configs/cm_t335.h | 1 + include/configs/cm_t35.h | 1 + include/configs/cm_t54.h | 1 + include/configs/da850evm.h | 4 - include/configs/dra7xx_evm.h | 2 - include/configs/embestmx6boards.h | 2 +- include/configs/gw_ventana.h | 2 +- include/configs/ks2_evm.h | 2 - include/configs/mx51_efikamx.h | 4 +- include/configs/mx6sabre_common.h | 2 +- include/configs/mx6slevk.h | 2 +- include/configs/nitrogen6x.h | 2 +- include/configs/pcm051.h | 2 - include/configs/sama5d3xek.h | 2 - include/configs/siemens-am33x-common.h | 2 - include/configs/tseries.h | 2 - include/configs/vision2.h | 4 +- include/configs/zynq-common.h | 2 - include/sata.h | 1 + include/spi_flash.h | 13 + 51 files changed, 1712 insertions(+), 209 deletions(-) create mode 100644 board/compulab/cm_fx6/Kconfig create mode 100644 board/compulab/cm_fx6/MAINTAINERS create mode 100644 board/compulab/cm_fx6/Makefile create mode 100644 board/compulab/cm_fx6/cm_fx6.c create mode 100644 board/compulab/cm_fx6/common.c create mode 100644 board/compulab/cm_fx6/common.h create mode 100644 board/compulab/cm_fx6/imximage.cfg create mode 100644 board/compulab/cm_fx6/spl.c create mode 100644 configs/cm_fx6_defconfig create mode 100644 include/configs/cm_fx6.h