[U-Boot] [PATCH 00/29] dm: scsi: Enhance SCSI support for driver model

At present U-Boot has a SCSI uclass but it does not have any operations. The global scsi_exec() function is still used to execute SCSI commands.
This series tidies this up with the following changes: - Move CONFIG_SCSI and CONFIG_CMD_SATA to use Kconfig - Move SCSI and SATA code into separate drivers/ directories - Add operations to the SCSI uclass - Add driver-model support to AHCI - Move link over to use CONFIG_DM_SCSI - Drops an old SCSI driver for a single board that will likely be removed
More work is still needed, such as adding operations to the AHCI uclass, but from what I can tell this can be done as a separate step.
Simon Glass (29): configs: Resync with savedefconfig Convert CONFIG_SCSI to Kconfig scsi: Drop sym53c8xx driver scsi: Drop scsi_print_error() Convert CONFIG_CMD_SATA to Kconfig Kconfig: Add CONFIG_SATA to enable SATA sata: Move drivers into new drivers/ata directory scsi: Move drivers into new drivers/scsi directory dm: scsi: Rearrange header file for driver model dm: scsi: Rename struct SCSI_cmd_block to struct scsi_cmd dm: scsi: Drop the ccb typedef dm: scsi: Use the uclass platform data dm: ahci: Rename struct ahci_probe_ent dm: sata: Move ataid into struct ahci_uc_priv dm: ahci: Refactor to avoid static variables dm: scsi: Indent the confusing #ifdefs dm: ahci: Move common code for starting ports into a function dm: ahci: Unwind the confusing init code dm: ahci: Drop use of probe_ent dm: scsi: Add operations dm: scsi: Add a device pointer to scan_exec(), scsi_bus_reset() dm: scsi: Document and rename the scsi_scan() parameter dm: ahci: Create a local version of two SCSI functions dm: scsi: Add operations for SCSI devices dm: scsi: Adjust return value of scsi_exec() dm: scsi: Split out the bus scanning code dm: ahci: Add a driver for SCSI on AHCI dm: scsi: Drop scsi_init() when driver model is used RFC: x86: Move link to use driver model for SCSI
README | 6 - api/api_storage.c | 2 +- arch/Kconfig | 2 + arch/arm/Kconfig | 10 + arch/arm/cpu/armv7/ls102xa/Kconfig | 1 + arch/arm/cpu/armv7/ls102xa/ls102xa_sata.c | 2 +- arch/arm/cpu/armv7/mx6/Kconfig | 4 + arch/arm/cpu/armv7/mx6/clock.c | 6 +- arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 2 + arch/arm/cpu/armv8/fsl-layerscape/soc.c | 4 +- arch/arm/imx-common/Makefile | 2 +- arch/arm/imx-common/cpu.c | 2 +- arch/arm/include/asm/arch-ls102xa/config.h | 1 - arch/arm/mach-mvebu/Kconfig | 4 + arch/arm/mach-omap2/omap5/Kconfig | 2 + arch/arm/mach-omap2/sata.c | 4 +- arch/powerpc/cpu/mpc83xx/Kconfig | 1 + arch/powerpc/cpu/mpc85xx/Kconfig | 46 ++ arch/powerpc/cpu/mpc85xx/cpu_init.c | 4 +- arch/powerpc/cpu/mpc86xx/Kconfig | 1 + arch/x86/cpu/ivybridge/sata.c | 38 +- board/advantech/dms-ba16/dms-ba16.c | 2 +- board/bachmann/ot1200/ot1200.c | 2 +- board/boundary/nitrogen6x/nitrogen6x.c | 2 +- board/congatec/Kconfig | 1 + board/congatec/cgtqmx6eval/cgtqmx6eval.c | 2 +- board/dfi/Kconfig | 1 + board/gateworks/gw_ventana/gw_ventana.c | 2 +- board/highbank/ahci.c | 2 +- board/highbank/highbank.c | 2 +- board/kosagi/novena/novena.c | 2 +- board/mpl/pip405/README | 5 +- board/toradex/apalis_imx6/apalis_imx6.c | 2 +- board/toradex/colibri_imx6/colibri_imx6.c | 2 +- board/udoo/udoo.c | 2 +- board/wandboard/wandboard.c | 2 +- cmd/Kconfig | 13 + cmd/scsi.c | 6 +- common/Makefile | 5 - common/spl/spl_sata.c | 2 +- common/splash_source.c | 2 +- common/usb_storage.c | 44 +- configs/A10-OLinuXino-Lime_defconfig | 1 + configs/A20-OLinuXino-Lime2_defconfig | 1 + configs/A20-OLinuXino-Lime_defconfig | 1 + configs/A20-OLinuXino_MICRO_defconfig | 1 + configs/A20-Olimex-SOM-EVB_defconfig | 1 + configs/Bananapi_M2_Ultra_defconfig | 1 + configs/Bananapi_defconfig | 1 + configs/Bananapro_defconfig | 1 + configs/Cubieboard2_defconfig | 1 + configs/Cubieboard_defconfig | 1 + configs/Cubietruck_defconfig | 1 + configs/Itead_Ibox_A20_defconfig | 1 + configs/Lamobo_R1_defconfig | 1 + configs/Linksprite_pcDuino3_Nano_defconfig | 1 + configs/Linksprite_pcDuino3_defconfig | 1 + configs/MPC8315ERDB_defconfig | 1 + configs/MPC8349ITX_LOWBOOT_defconfig | 1 + configs/MPC8349ITX_defconfig | 1 + configs/MPC837XERDB_defconfig | 1 + configs/MPC8544DS_defconfig | 1 + configs/MPC8610HPCD_defconfig | 1 + configs/Marsboard_A10_defconfig | 1 + configs/Mele_A1000_defconfig | 1 + configs/Mele_M5_defconfig | 1 + configs/Orangepi_defconfig | 1 + configs/Orangepi_mini_defconfig | 1 + configs/Sinovoip_BPI_M2_Plus_defconfig | 1 - configs/UCP1020_SPIFLASH_defconfig | 2 +- configs/UCP1020_defconfig | 2 +- configs/Wits_Pro_A20_DKT_defconfig | 1 + configs/adp-ae3xx_defconfig | 6 +- configs/adp-ag101p_defconfig | 6 +- configs/am335x_baltos_defconfig | 4 +- configs/am335x_boneblack_vboot_defconfig | 1 - configs/am335x_evm_defconfig | 1 - configs/am335x_hs_evm_defconfig | 4 - configs/am335x_igep003x_defconfig | 6 +- configs/am335x_shc_defconfig | 4 +- configs/am335x_shc_ict_defconfig | 4 +- configs/am335x_shc_netboot_defconfig | 4 +- configs/am335x_shc_prompt_defconfig | 4 +- configs/am335x_shc_sdboot_defconfig | 4 +- configs/am335x_shc_sdboot_prompt_defconfig | 4 +- configs/am335x_sl50_defconfig | 4 +- configs/am43xx_evm_defconfig | 3 +- configs/am43xx_evm_usbhost_boot_defconfig | 1 - configs/am43xx_hs_evm_defconfig | 3 +- configs/am57xx_evm_defconfig | 5 +- configs/am57xx_hs_evm_defconfig | 5 +- configs/at91sam9263ek_norflash_boot_defconfig | 2 +- configs/at91sam9263ek_norflash_defconfig | 2 +- configs/bayleybay_defconfig | 1 + configs/bcm958622hr_defconfig | 2 +- configs/birdland_bav335a_defconfig | 2 +- configs/birdland_bav335b_defconfig | 2 +- configs/blanche_defconfig | 1 - configs/brppt1_mmc_defconfig | 2 +- configs/brppt1_nand_defconfig | 2 +- configs/brppt1_spi_defconfig | 2 +- configs/brxre1_defconfig | 2 +- configs/canyonlands_defconfig | 1 + configs/cgtqmx6eval_defconfig | 1 + configs/chiliboard_defconfig | 4 +- configs/chromebook_link64_defconfig | 1 + configs/chromebook_link_defconfig | 3 + configs/chromebook_minnie_defconfig | 2 +- configs/chromebook_samus_defconfig | 1 + configs/chromebox_panther_defconfig | 1 + configs/clearfog_defconfig | 2 - configs/cm_fx6_defconfig | 3 +- configs/cm_t335_defconfig | 2 +- configs/cm_t43_defconfig | 2 +- configs/cm_t54_defconfig | 1 + configs/colibri_imx7_defconfig | 2 +- configs/colibri_vf_defconfig | 2 +- configs/comtrend_ar5387un_ram_defconfig | 66 +- configs/comtrend_ct5361_ram_defconfig | 68 +- configs/comtrend_vr3032u_ram_defconfig | 66 +- .../controlcenterd_36BIT_SDCARD_DEVELOP_defconfig | 1 + configs/controlcenterd_36BIT_SDCARD_defconfig | 1 + configs/controlcenterdc_defconfig | 1 + configs/cougarcanyon2_defconfig | 1 + configs/crownbay_defconfig | 1 + configs/db-88f6820-gp_defconfig | 1 + configs/db-mv784mp-gp_defconfig | 1 + configs/dra7xx_evm_defconfig | 12 +- configs/dra7xx_hs_evm_defconfig | 9 +- configs/evb-ast2500_defconfig | 12 +- configs/evb-rk3399_defconfig | 5 +- configs/firefly-rk3399_defconfig | 1 - configs/gwventana_emmc_defconfig | 2 +- configs/gwventana_gw5904_defconfig | 2 +- configs/gwventana_nand_defconfig | 2 +- configs/highbank_defconfig | 1 + configs/huawei_hg556a_ram_defconfig | 67 +- configs/imx6qdl_icore_mmc_defconfig | 4 +- configs/imx6qdl_icore_rqs_mmc_defconfig | 2 +- configs/k2e_evm_defconfig | 5 +- configs/k2e_hs_evm_defconfig | 3 +- configs/k2g_evm_defconfig | 5 +- configs/k2g_hs_evm_defconfig | 6 +- configs/k2hk_evm_defconfig | 4 +- configs/k2hk_hs_evm_defconfig | 3 +- configs/k2l_evm_defconfig | 4 +- configs/ls1012aqds_qspi_defconfig | 1 + configs/ls2081ardb_defconfig | 14 +- configs/ls2088ardb_qspi_defconfig | 13 +- configs/m53evk_defconfig | 3 +- configs/minnowmax_defconfig | 1 + configs/mx51evk_defconfig | 2 +- configs/mx53cx9020_defconfig | 2 +- configs/mx53loco_defconfig | 3 +- configs/mx6cuboxi_defconfig | 2 +- configs/mx6qsabrelite_defconfig | 1 + configs/mx6sxsabresd_defconfig | 2 +- configs/mx6sxsabresd_spl_defconfig | 2 +- configs/mx7dsabresd_defconfig | 2 +- configs/nanopi_neo_air_defconfig | 2 +- configs/nanopi_neo_defconfig | 2 +- configs/netgear_cg3100d_ram_defconfig | 66 +- configs/nitrogen6q2g_defconfig | 1 + configs/nitrogen6q_defconfig | 1 + configs/novena_defconfig | 3 +- configs/omap3_logic_defconfig | 1 - configs/omap5_uevm_defconfig | 1 + configs/opos6uldev_defconfig | 2 +- configs/orangepi_2_defconfig | 1 - configs/orangepi_lite_defconfig | 1 - configs/orangepi_one_defconfig | 1 - configs/orangepi_pc2_defconfig | 1 - configs/orangepi_pc_defconfig | 1 - configs/orangepi_pc_plus_defconfig | 1 - configs/orangepi_plus2e_defconfig | 1 - configs/orangepi_plus_defconfig | 1 - configs/orangepi_zero_defconfig | 2 +- configs/pcm051_rev1_defconfig | 2 +- configs/pcm051_rev3_defconfig | 2 +- configs/pengwyn_defconfig | 2 +- configs/pepper_defconfig | 2 +- configs/pine64_plus_defconfig | 3 +- configs/puma-rk3399_defconfig | 1 - configs/pxm2_defconfig | 2 +- configs/r8a7795_salvator-x_defconfig | 19 +- configs/r8a7796_salvator-x_defconfig | 20 +- configs/rut_defconfig | 2 +- configs/sagem_f@st1704_ram_defconfig | 66 +- configs/sama5d2_xplained_mmc_defconfig | 4 +- configs/sama5d2_xplained_spiflash_defconfig | 2 +- configs/sandbox_defconfig | 9 +- configs/sandbox_flattree_defconfig | 11 +- configs/sandbox_noblk_defconfig | 5 +- configs/sandbox_spl_defconfig | 4 +- configs/sfr_nb4-ser_ram_defconfig | 66 +- configs/som-db5800-som-6867_defconfig | 1 + configs/stm32f746-disco_defconfig | 14 +- configs/tbs2910_defconfig | 3 +- configs/udoo_defconfig | 1 + configs/wandboard_defconfig | 1 + configs/xilinx_zynqmp_ep_defconfig | 1 + configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig | 2 +- configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig | 2 +- configs/xilinx_zynqmp_zcu102_defconfig | 3 +- configs/xilinx_zynqmp_zcu102_revB_defconfig | 3 +- drivers/Kconfig | 4 + drivers/Makefile | 4 +- drivers/ata/Kconfig | 62 ++ drivers/ata/Makefile | 22 + drivers/{block => ata}/ahci-uclass.c | 0 drivers/{block => ata}/ahci.c | 390 ++++++---- drivers/{block => ata}/dwc_ahci.c | 10 +- drivers/{block => ata}/dwc_ahsata.c | 74 +- drivers/{block => ata}/dwc_ahsata.h | 0 drivers/{block => ata}/fsl_sata.c | 0 drivers/{block => ata}/fsl_sata.h | 0 drivers/{block => ata}/libata.c | 0 drivers/{block => ata}/mvsata_ide.c | 0 drivers/{block => ata}/mxc_ata.c | 0 {common => drivers/ata}/sata.c | 0 drivers/{block => ata}/sata_ceva.c | 9 +- drivers/{block => ata}/sata_dwc.c | 0 drivers/{block => ata}/sata_dwc.h | 0 drivers/{block => ata}/sata_mv.c | 0 drivers/{block => ata}/sata_sandbox.c | 0 drivers/{block => ata}/sata_sil.c | 0 drivers/{block => ata}/sata_sil.h | 0 drivers/{block => ata}/sata_sil3114.c | 0 drivers/{block => ata}/sata_sil3114.h | 0 drivers/block/Kconfig | 41 - drivers/block/Makefile | 17 +- drivers/block/scsi-uclass.c | 27 - drivers/block/sym53c8xx.c | 851 --------------------- drivers/scsi/Kconfig | 17 + drivers/scsi/Makefile | 19 + drivers/{block => scsi}/sandbox_scsi.c | 9 +- drivers/scsi/scsi-uclass.c | 40 + {common => drivers/scsi}/scsi.c | 147 ++-- drivers/usb/emul/sandbox_flash.c | 2 +- fs/fat/fat.c | 2 +- include/ahci.h | 60 +- include/config_cmd_all.h | 1 - include/config_distro_bootcmd.h | 6 +- include/config_fallbacks.h | 2 +- include/configs/MPC8315ERDB.h | 1 - include/configs/MPC8349ITX.h | 4 - include/configs/MPC837XEMDS.h | 1 - include/configs/MPC837XERDB.h | 1 - include/configs/MPC8536DS.h | 1 - include/configs/MPC8544DS.h | 1 - include/configs/MPC8572DS.h | 1 - include/configs/MPC8610HPCD.h | 1 - include/configs/MPC8641HPCN.h | 1 - include/configs/P1010RDB.h | 1 - include/configs/P1022DS.h | 1 - include/configs/P2041RDB.h | 1 - include/configs/P4080DS.h | 1 - include/configs/PIP405.h | 10 - include/configs/T102xQDS.h | 1 - include/configs/T1040QDS.h | 1 - include/configs/T104xRDB.h | 1 - include/configs/T208xQDS.h | 1 - include/configs/T208xRDB.h | 1 - include/configs/T4240QDS.h | 1 - include/configs/T4240RDB.h | 2 - include/configs/UCP1020.h | 1 - include/configs/advantech_dms-ba16.h | 1 - include/configs/am57xx_evm.h | 1 - include/configs/apalis_imx6.h | 4 - include/configs/canyonlands.h | 1 - include/configs/cgtqmx6eval.h | 1 - include/configs/cm_fx6.h | 1 - include/configs/cm_t54.h | 1 - include/configs/controlcenterd.h | 1 - include/configs/controlcenterdc.h | 1 - include/configs/corenet_ds.h | 1 - include/configs/cyrus.h | 1 - include/configs/db-88f6820-gp.h | 1 - include/configs/db-mv784mp-gp.h | 1 - include/configs/dra7xx_evm.h | 1 - include/configs/efi-x86.h | 1 - include/configs/galileo.h | 1 - include/configs/gw_ventana.h | 1 - include/configs/highbank.h | 1 - include/configs/ls1012aqds.h | 1 - include/configs/ls1012ardb.h | 1 - include/configs/ls1043aqds.h | 1 - include/configs/ls1046aqds.h | 1 - include/configs/ls1046ardb.h | 1 - include/configs/ls2080aqds.h | 1 - include/configs/ls2080ardb.h | 1 - include/configs/m53evk.h | 1 - include/configs/mvebu_armada-37xx.h | 1 - include/configs/mvebu_armada-8k.h | 1 - include/configs/mx53loco.h | 1 - include/configs/nitrogen6x.h | 4 - include/configs/novena.h | 1 - include/configs/omap5_uevm.h | 1 - include/configs/ot1200.h | 4 - include/configs/p1_p2_rdb_pc.h | 1 - include/configs/p1_twr.h | 1 - include/configs/qemu-x86.h | 1 - include/configs/sandbox.h | 2 - include/configs/sunxi-common.h | 1 - include/configs/t4qds.h | 1 - include/configs/tbs2910.h | 1 - include/configs/theadorable.h | 1 - include/configs/udoo.h | 1 - include/configs/wandboard.h | 1 - include/configs/x86-common.h | 1 - include/configs/xilinx_zynqmp.h | 1 - include/scsi.h | 85 +- scripts/config_whitelist.txt | 4 - 313 files changed, 1262 insertions(+), 1879 deletions(-) create mode 100644 drivers/ata/Kconfig create mode 100644 drivers/ata/Makefile rename drivers/{block => ata}/ahci-uclass.c (100%) rename drivers/{block => ata}/ahci.c (74%) rename drivers/{block => ata}/dwc_ahci.c (92%) rename drivers/{block => ata}/dwc_ahsata.c (92%) rename drivers/{block => ata}/dwc_ahsata.h (100%) rename drivers/{block => ata}/fsl_sata.c (100%) rename drivers/{block => ata}/fsl_sata.h (100%) rename drivers/{block => ata}/libata.c (100%) rename drivers/{block => ata}/mvsata_ide.c (100%) rename drivers/{block => ata}/mxc_ata.c (100%) rename {common => drivers/ata}/sata.c (100%) rename drivers/{block => ata}/sata_ceva.c (95%) rename drivers/{block => ata}/sata_dwc.c (100%) rename drivers/{block => ata}/sata_dwc.h (100%) rename drivers/{block => ata}/sata_mv.c (100%) rename drivers/{block => ata}/sata_sandbox.c (100%) rename drivers/{block => ata}/sata_sil.c (100%) rename drivers/{block => ata}/sata_sil.h (100%) rename drivers/{block => ata}/sata_sil3114.c (100%) rename drivers/{block => ata}/sata_sil3114.h (100%) delete mode 100644 drivers/block/scsi-uclass.c delete mode 100644 drivers/block/sym53c8xx.c create mode 100644 drivers/scsi/Kconfig create mode 100644 drivers/scsi/Makefile rename drivers/{block => scsi}/sandbox_scsi.c (75%) create mode 100644 drivers/scsi/scsi-uclass.c rename {common => drivers/scsi}/scsi.c (86%)

Rsync all defconfig files using moveconfig.py
Signed-off-by: Simon Glass sjg@chromium.org ---
configs/Sinovoip_BPI_M2_Plus_defconfig | 1 - configs/UCP1020_SPIFLASH_defconfig | 2 +- configs/UCP1020_defconfig | 2 +- configs/adp-ae3xx_defconfig | 6 +-- configs/adp-ag101p_defconfig | 6 +-- configs/am335x_baltos_defconfig | 4 +- configs/am335x_boneblack_vboot_defconfig | 1 - configs/am335x_evm_defconfig | 1 - configs/am335x_hs_evm_defconfig | 4 -- configs/am335x_igep003x_defconfig | 6 +-- configs/am335x_shc_defconfig | 4 +- configs/am335x_shc_ict_defconfig | 4 +- configs/am335x_shc_netboot_defconfig | 4 +- configs/am335x_shc_prompt_defconfig | 4 +- configs/am335x_shc_sdboot_defconfig | 4 +- configs/am335x_shc_sdboot_prompt_defconfig | 4 +- configs/am335x_sl50_defconfig | 4 +- configs/am43xx_evm_defconfig | 3 +- configs/am43xx_evm_usbhost_boot_defconfig | 1 - configs/am43xx_hs_evm_defconfig | 3 +- configs/am57xx_evm_defconfig | 5 +- configs/am57xx_hs_evm_defconfig | 5 +- configs/at91sam9263ek_norflash_boot_defconfig | 2 +- configs/at91sam9263ek_norflash_defconfig | 2 +- configs/bcm958622hr_defconfig | 2 +- configs/birdland_bav335a_defconfig | 2 +- configs/birdland_bav335b_defconfig | 2 +- configs/blanche_defconfig | 1 - configs/brppt1_mmc_defconfig | 2 +- configs/brppt1_nand_defconfig | 2 +- configs/brppt1_spi_defconfig | 2 +- configs/brxre1_defconfig | 2 +- configs/chiliboard_defconfig | 4 +- configs/chromebook_minnie_defconfig | 2 +- configs/clearfog_defconfig | 2 - configs/cm_fx6_defconfig | 2 +- configs/cm_t335_defconfig | 2 +- configs/cm_t43_defconfig | 2 +- configs/colibri_imx7_defconfig | 2 +- configs/colibri_vf_defconfig | 2 +- configs/comtrend_ar5387un_ram_defconfig | 66 ++++++++++------------- configs/comtrend_ct5361_ram_defconfig | 68 ++++++++++-------------- configs/comtrend_vr3032u_ram_defconfig | 66 ++++++++++------------- configs/dra7xx_evm_defconfig | 12 ++--- configs/dra7xx_hs_evm_defconfig | 9 ++-- configs/evb-ast2500_defconfig | 12 ++--- configs/evb-rk3399_defconfig | 5 +- configs/firefly-rk3399_defconfig | 1 - configs/gwventana_emmc_defconfig | 2 +- configs/gwventana_gw5904_defconfig | 2 +- configs/gwventana_nand_defconfig | 2 +- configs/huawei_hg556a_ram_defconfig | 67 ++++++++++------------- configs/imx6qdl_icore_mmc_defconfig | 4 +- configs/imx6qdl_icore_rqs_mmc_defconfig | 2 +- configs/k2e_evm_defconfig | 5 +- configs/k2e_hs_evm_defconfig | 3 +- configs/k2g_evm_defconfig | 5 +- configs/k2g_hs_evm_defconfig | 6 +-- configs/k2hk_evm_defconfig | 4 +- configs/k2hk_hs_evm_defconfig | 3 +- configs/k2l_evm_defconfig | 4 +- configs/ls2081ardb_defconfig | 13 ++--- configs/ls2088ardb_qspi_defconfig | 13 ++--- configs/m53evk_defconfig | 2 +- configs/mx51evk_defconfig | 2 +- configs/mx53cx9020_defconfig | 2 +- configs/mx53loco_defconfig | 2 +- configs/mx6cuboxi_defconfig | 2 +- configs/mx6sxsabresd_defconfig | 2 +- configs/mx6sxsabresd_spl_defconfig | 2 +- configs/mx7dsabresd_defconfig | 2 +- configs/nanopi_neo_air_defconfig | 2 +- configs/nanopi_neo_defconfig | 2 +- configs/netgear_cg3100d_ram_defconfig | 66 ++++++++++------------- configs/novena_defconfig | 2 +- configs/omap3_logic_defconfig | 1 - configs/opos6uldev_defconfig | 2 +- configs/orangepi_2_defconfig | 1 - configs/orangepi_lite_defconfig | 1 - configs/orangepi_one_defconfig | 1 - configs/orangepi_pc2_defconfig | 1 - configs/orangepi_pc_defconfig | 1 - configs/orangepi_pc_plus_defconfig | 1 - configs/orangepi_plus2e_defconfig | 1 - configs/orangepi_plus_defconfig | 1 - configs/orangepi_zero_defconfig | 2 +- configs/pcm051_rev1_defconfig | 2 +- configs/pcm051_rev3_defconfig | 2 +- configs/pengwyn_defconfig | 2 +- configs/pepper_defconfig | 2 +- configs/pine64_plus_defconfig | 3 +- configs/puma-rk3399_defconfig | 1 - configs/pxm2_defconfig | 2 +- configs/r8a7795_salvator-x_defconfig | 19 ++----- configs/r8a7796_salvator-x_defconfig | 20 ++----- configs/rut_defconfig | 2 +- configs/sagem_f@st1704_ram_defconfig | 66 ++++++++++------------- configs/sama5d2_xplained_mmc_defconfig | 4 +- configs/sama5d2_xplained_spiflash_defconfig | 2 +- configs/sandbox_defconfig | 9 ++-- configs/sandbox_flattree_defconfig | 11 ++-- configs/sandbox_noblk_defconfig | 5 +- configs/sandbox_spl_defconfig | 4 +- configs/sfr_nb4-ser_ram_defconfig | 66 ++++++++++------------- configs/stm32f746-disco_defconfig | 14 ++--- configs/tbs2910_defconfig | 2 +- configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig | 2 +- configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig | 2 +- configs/xilinx_zynqmp_zcu102_defconfig | 2 +- configs/xilinx_zynqmp_zcu102_revB_defconfig | 2 +- 110 files changed, 337 insertions(+), 499 deletions(-)
diff --git a/configs/Sinovoip_BPI_M2_Plus_defconfig b/configs/Sinovoip_BPI_M2_Plus_defconfig index e8cd4fb9ec..651a2ff4ce 100644 --- a/configs/Sinovoip_BPI_M2_Plus_defconfig +++ b/configs/Sinovoip_BPI_M2_Plus_defconfig @@ -8,7 +8,6 @@ CONFIG_MACPWR="PD6" CONFIG_MMC_SUNXI_SLOT_EXTRA=2 CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-bananapi-m2-plus" # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_CONSOLE_MUX=y CONFIG_SPL=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set diff --git a/configs/UCP1020_SPIFLASH_defconfig b/configs/UCP1020_SPIFLASH_defconfig index 2fc8d86046..29bf82a456 100644 --- a/configs/UCP1020_SPIFLASH_defconfig +++ b/configs/UCP1020_SPIFLASH_defconfig @@ -20,8 +20,8 @@ CONFIG_CMD_GPIO=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y -# CONFIG_CMD_HASH is not set CONFIG_CMD_DATE=y +# CONFIG_CMD_HASH is not set CONFIG_CMD_CRAMFS=y CONFIG_CMD_EXT2=y CONFIG_CMD_FAT=y diff --git a/configs/UCP1020_defconfig b/configs/UCP1020_defconfig index 63f1a9d005..dbf073d774 100644 --- a/configs/UCP1020_defconfig +++ b/configs/UCP1020_defconfig @@ -20,8 +20,8 @@ CONFIG_CMD_GPIO=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y -# CONFIG_CMD_HASH is not set CONFIG_CMD_DATE=y +# CONFIG_CMD_HASH is not set CONFIG_CMD_CRAMFS=y CONFIG_CMD_EXT2=y CONFIG_CMD_FAT=y diff --git a/configs/adp-ae3xx_defconfig b/configs/adp-ae3xx_defconfig index cbef412764..d47ad86fee 100644 --- a/configs/adp-ae3xx_defconfig +++ b/configs/adp-ae3xx_defconfig @@ -12,16 +12,16 @@ CONFIG_CMD_CACHE=y CONFIG_CMD_DATE=y CONFIG_CMD_EXT2=y CONFIG_CMD_FAT=y -CONFIG_MMC=y -CONFIG_MTD_NOR_FLASH=y -CONFIG_BAUDRATE=38400 CONFIG_OF_CONTROL=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_DM=y +CONFIG_MMC=y CONFIG_MTD=y +CONFIG_MTD_NOR_FLASH=y CONFIG_CFI_FLASH=y CONFIG_DM_ETH=y CONFIG_FTMAC100=y +CONFIG_BAUDRATE=38400 CONFIG_DM_SERIAL=y CONFIG_SYS_NS16550=y CONFIG_TIMER=y diff --git a/configs/adp-ag101p_defconfig b/configs/adp-ag101p_defconfig index 22b1182fef..6ce9e809dd 100644 --- a/configs/adp-ag101p_defconfig +++ b/configs/adp-ag101p_defconfig @@ -12,14 +12,14 @@ CONFIG_CMD_CACHE=y CONFIG_CMD_DATE=y CONFIG_CMD_EXT2=y CONFIG_CMD_FAT=y -CONFIG_MMC=y -CONFIG_MTD_NOR_FLASH=y -CONFIG_BAUDRATE=38400 CONFIG_OF_CONTROL=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_DM=y +CONFIG_MMC=y +CONFIG_MTD_NOR_FLASH=y CONFIG_DM_ETH=y CONFIG_FTMAC100=y +CONFIG_BAUDRATE=38400 CONFIG_DM_SERIAL=y CONFIG_SYS_NS16550=y CONFIG_TIMER=y diff --git a/configs/am335x_baltos_defconfig b/configs/am335x_baltos_defconfig index f210cca87f..b69ba8fefa 100644 --- a/configs/am335x_baltos_defconfig +++ b/configs/am335x_baltos_defconfig @@ -10,9 +10,8 @@ CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_NAND_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y -CONFIG_SPL_FAT_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_STACK_R_ADDR=0x82000000 +CONFIG_SPL_FAT_SUPPORT=y CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_SYS_EXTRA_OPTIONS="NAND" @@ -24,6 +23,7 @@ CONFIG_SPL_STACK_R=y CONFIG_SPL_EXT_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_MTD_SUPPORT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_CMD_BOOTZ=y diff --git a/configs/am335x_boneblack_vboot_defconfig b/configs/am335x_boneblack_vboot_defconfig index 198efb4892..487461efe7 100644 --- a/configs/am335x_boneblack_vboot_defconfig +++ b/configs/am335x_boneblack_vboot_defconfig @@ -30,7 +30,6 @@ CONFIG_DFU_MMC=y CONFIG_DFU_RAM=y CONFIG_DM_I2C=y CONFIG_DM_MMC=y -# CONFIG_DM_MMC_OPS is not set CONFIG_MMC_OMAP_HS=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_WINBOND=y diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig index 962bb65443..340863ff5b 100644 --- a/configs/am335x_evm_defconfig +++ b/configs/am335x_evm_defconfig @@ -28,7 +28,6 @@ CONFIG_DFU_RAM=y CONFIG_DM_I2C=y CONFIG_MISC=y CONFIG_DM_MMC=y -# CONFIG_DM_MMC_OPS is not set CONFIG_MMC_OMAP_HS=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_WINBOND=y diff --git a/configs/am335x_hs_evm_defconfig b/configs/am335x_hs_evm_defconfig index 73c9d012fd..9677f0535b 100644 --- a/configs/am335x_hs_evm_defconfig +++ b/configs/am335x_hs_evm_defconfig @@ -17,7 +17,6 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y CONFIG_ARCH_MISC_INIT=y CONFIG_SPL=y -CONFIG_SPL_SYS_MALLOC_SIMPLE=y CONFIG_SPL_STACK_R=y # CONFIG_SPL_EXT_SUPPORT is not set CONFIG_SPL_MTD_SUPPORT=y @@ -35,7 +34,6 @@ CONFIG_DFU_RAM=y CONFIG_DM_I2C=y CONFIG_MISC=y CONFIG_DM_MMC=y -# CONFIG_DM_MMC_OPS is not set CONFIG_MMC_OMAP_HS=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_WINBOND=y @@ -54,6 +52,4 @@ CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_G_DNL_MANUFACTURER="Texas Instruments" CONFIG_G_DNL_VENDOR_NUM=0x0451 CONFIG_G_DNL_PRODUCT_NUM=0xd022 -CONFIG_USE_TINY_PRINTF=y CONFIG_RSA=y -CONFIG_SPL_OF_LIBFDT=y diff --git a/configs/am335x_igep003x_defconfig b/configs/am335x_igep003x_defconfig index 651e194ae6..df7d1c69af 100644 --- a/configs/am335x_igep003x_defconfig +++ b/configs/am335x_igep003x_defconfig @@ -3,17 +3,16 @@ CONFIG_ARCH_OMAP2PLUS=y CONFIG_SPL_GPIO_SUPPORT=y CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y -CONFIG_AM33XX=y CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_AM33XX=y CONFIG_TARGET_AM335X_IGEP003X=y CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_NAND_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y -CONFIG_SPL_FAT_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_STACK_R_ADDR=0x82000000 +CONFIG_SPL_FAT_SUPPORT=y CONFIG_OF_BOARD_SETUP=y CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0033" CONFIG_SYS_CONSOLE_INFO_QUIET=y @@ -23,6 +22,7 @@ CONFIG_SPL_STACK_R=y CONFIG_SPL_EXT_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_MTD_SUPPORT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_CMD_BOOTZ=y diff --git a/configs/am335x_shc_defconfig b/configs/am335x_shc_defconfig index ab912bbc53..4bd1b65880 100644 --- a/configs/am335x_shc_defconfig +++ b/configs/am335x_shc_defconfig @@ -9,10 +9,9 @@ CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y +CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_SPL_FAT_SUPPORT=y CONFIG_SERIES=y -CONFIG_SPL_POWER_SUPPORT=y -CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y CONFIG_SPL=y @@ -20,6 +19,7 @@ CONFIG_SPL_STACK_R=y CONFIG_SPL_EXT_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_OS_BOOT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_SYS_PROMPT="U-Boot# " diff --git a/configs/am335x_shc_ict_defconfig b/configs/am335x_shc_ict_defconfig index 7d75c5cc7a..1025cd1d5c 100644 --- a/configs/am335x_shc_ict_defconfig +++ b/configs/am335x_shc_ict_defconfig @@ -9,11 +9,10 @@ CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y +CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_SPL_FAT_SUPPORT=y CONFIG_SHC_ICT=y CONFIG_SERIES=y -CONFIG_SPL_POWER_SUPPORT=y -CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y CONFIG_SPL=y @@ -21,6 +20,7 @@ CONFIG_SPL_STACK_R=y CONFIG_SPL_EXT_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_OS_BOOT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_SYS_PROMPT="U-Boot# " CONFIG_AUTOBOOT_KEYED=y diff --git a/configs/am335x_shc_netboot_defconfig b/configs/am335x_shc_netboot_defconfig index 322a070dea..0011234d55 100644 --- a/configs/am335x_shc_netboot_defconfig +++ b/configs/am335x_shc_netboot_defconfig @@ -9,11 +9,10 @@ CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y +CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_SPL_FAT_SUPPORT=y CONFIG_SHC_NETBOOT=y CONFIG_SERIES=y -CONFIG_SPL_POWER_SUPPORT=y -CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y CONFIG_SPL=y @@ -22,6 +21,7 @@ CONFIG_SPL_ENV_SUPPORT=y CONFIG_SPL_EXT_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_OS_BOOT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_SYS_PROMPT="U-Boot# " CONFIG_AUTOBOOT_KEYED=y diff --git a/configs/am335x_shc_prompt_defconfig b/configs/am335x_shc_prompt_defconfig index c5d8dcae87..a6c617f87e 100644 --- a/configs/am335x_shc_prompt_defconfig +++ b/configs/am335x_shc_prompt_defconfig @@ -9,10 +9,9 @@ CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y +CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_SPL_FAT_SUPPORT=y CONFIG_SERIES=y -CONFIG_SPL_POWER_SUPPORT=y -CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y CONFIG_SPL=y @@ -20,6 +19,7 @@ CONFIG_SPL_STACK_R=y CONFIG_SPL_EXT_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_OS_BOOT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_AUTOBOOT_KEYED=y CONFIG_AUTOBOOT_PROMPT="Enter 'shc' to enter prompt (times out) %d \nEnter 'noautoboot' to enter prompt without timeout\n" diff --git a/configs/am335x_shc_sdboot_defconfig b/configs/am335x_shc_sdboot_defconfig index 185258de08..fa231543a2 100644 --- a/configs/am335x_shc_sdboot_defconfig +++ b/configs/am335x_shc_sdboot_defconfig @@ -9,11 +9,10 @@ CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y +CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_SPL_FAT_SUPPORT=y CONFIG_SHC_SDBOOT=y CONFIG_SERIES=y -CONFIG_SPL_POWER_SUPPORT=y -CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y CONFIG_SPL=y @@ -21,6 +20,7 @@ CONFIG_SPL_STACK_R=y CONFIG_SPL_EXT_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_OS_BOOT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_SYS_PROMPT="U-Boot# " CONFIG_AUTOBOOT_KEYED=y diff --git a/configs/am335x_shc_sdboot_prompt_defconfig b/configs/am335x_shc_sdboot_prompt_defconfig index 185258de08..fa231543a2 100644 --- a/configs/am335x_shc_sdboot_prompt_defconfig +++ b/configs/am335x_shc_sdboot_prompt_defconfig @@ -9,11 +9,10 @@ CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y +CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_SPL_FAT_SUPPORT=y CONFIG_SHC_SDBOOT=y CONFIG_SERIES=y -CONFIG_SPL_POWER_SUPPORT=y -CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y CONFIG_SPL=y @@ -21,6 +20,7 @@ CONFIG_SPL_STACK_R=y CONFIG_SPL_EXT_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_OS_BOOT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_SYS_PROMPT="U-Boot# " CONFIG_AUTOBOOT_KEYED=y diff --git a/configs/am335x_sl50_defconfig b/configs/am335x_sl50_defconfig index 86035d2897..02ce013004 100644 --- a/configs/am335x_sl50_defconfig +++ b/configs/am335x_sl50_defconfig @@ -9,9 +9,8 @@ CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y -CONFIG_SPL_FAT_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_STACK_R_ADDR=0x82000000 +CONFIG_SPL_FAT_SUPPORT=y CONFIG_DISTRO_DEFAULTS=y CONFIG_SYS_EXTRA_OPTIONS="EMMC_BOOT" CONFIG_SYS_CONSOLE_INFO_QUIET=y @@ -22,6 +21,7 @@ CONFIG_SPL_ENV_SUPPORT=y CONFIG_SPL_EXT_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_OS_BOOT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y # CONFIG_AUTOBOOT is not set # CONFIG_CMD_IMLS is not set diff --git a/configs/am43xx_evm_defconfig b/configs/am43xx_evm_defconfig index 4d9ec8841f..e6e9731680 100644 --- a/configs/am43xx_evm_defconfig +++ b/configs/am43xx_evm_defconfig @@ -1,8 +1,8 @@ CONFIG_ARM=y CONFIG_ARCH_OMAP2PLUS=y +CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_AM43XX=y -CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_TARGET_AM43XX_EVM=y CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_DEFAULT_DEVICE_TREE="am437x-gp-evm" @@ -28,7 +28,6 @@ CONFIG_DFU_RAM=y CONFIG_DFU_SF=y CONFIG_DM_GPIO=y CONFIG_DM_MMC=y -# CONFIG_DM_MMC_OPS is not set CONFIG_MMC_OMAP_HS=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y diff --git a/configs/am43xx_evm_usbhost_boot_defconfig b/configs/am43xx_evm_usbhost_boot_defconfig index 870ed0fb24..c9bf3bf02c 100644 --- a/configs/am43xx_evm_usbhost_boot_defconfig +++ b/configs/am43xx_evm_usbhost_boot_defconfig @@ -50,7 +50,6 @@ CONFIG_DFU_RAM=y CONFIG_DFU_SF=y CONFIG_DM_GPIO=y CONFIG_DM_MMC=y -# CONFIG_DM_MMC_OPS is not set CONFIG_MMC_OMAP_HS=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y diff --git a/configs/am43xx_hs_evm_defconfig b/configs/am43xx_hs_evm_defconfig index 6f3cb516fd..ac4f422310 100644 --- a/configs/am43xx_hs_evm_defconfig +++ b/configs/am43xx_hs_evm_defconfig @@ -1,8 +1,8 @@ CONFIG_ARM=y CONFIG_ARCH_OMAP2PLUS=y +CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_AM43XX=y -CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_TI_SECURE_DEVICE=y CONFIG_TARGET_AM43XX_EVM=y CONFIG_ISW_ENTRY_ADDR=0x403018e0 @@ -38,7 +38,6 @@ CONFIG_DFU_RAM=y CONFIG_DFU_SF=y CONFIG_DM_GPIO=y CONFIG_DM_MMC=y -# CONFIG_DM_MMC_OPS is not set CONFIG_MMC_OMAP_HS=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig index 5dc9f4fdce..658ab92487 100644 --- a/configs/am57xx_evm_defconfig +++ b/configs/am57xx_evm_defconfig @@ -1,14 +1,14 @@ CONFIG_ARM=y CONFIG_ARCH_OMAP2PLUS=y +CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_OMAP54XX=y -CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_TARGET_AM57XX_EVM=y # CONFIG_SPL_NAND_SUPPORT is not set CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y -CONFIG_ARMV7_LPAE=y CONFIG_SPL_STACK_R_ADDR=0x82000000 +CONFIG_ARMV7_LPAE=y CONFIG_DEFAULT_DEVICE_TREE="am572x-idk" CONFIG_SPL_LOAD_FIT=y CONFIG_OF_BOARD_SETUP=y @@ -46,7 +46,6 @@ CONFIG_DFU_RAM=y CONFIG_DM_GPIO=y CONFIG_DM_I2C=y CONFIG_DM_MMC=y -# CONFIG_DM_MMC_OPS is not set CONFIG_MMC_OMAP_HS=y CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH=y diff --git a/configs/am57xx_hs_evm_defconfig b/configs/am57xx_hs_evm_defconfig index 517f7505db..b3833303aa 100644 --- a/configs/am57xx_hs_evm_defconfig +++ b/configs/am57xx_hs_evm_defconfig @@ -1,8 +1,8 @@ CONFIG_ARM=y CONFIG_ARCH_OMAP2PLUS=y +CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_OMAP54XX=y -CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_TI_SECURE_DEVICE=y CONFIG_TARGET_AM57XX_EVM=y CONFIG_TI_SECURE_EMIF_REGION_START=0xbdb00000 @@ -11,8 +11,8 @@ CONFIG_TI_SECURE_EMIF_PROTECTED_REGION_SIZE=0x01c00000 # CONFIG_SPL_NAND_SUPPORT is not set CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y -CONFIG_ARMV7_LPAE=y CONFIG_SPL_STACK_R_ADDR=0x82000000 +CONFIG_ARMV7_LPAE=y CONFIG_DEFAULT_DEVICE_TREE="am57xx-beagle-x15" CONFIG_FIT_IMAGE_POST_PROCESS=y CONFIG_SPL_LOAD_FIT=y @@ -50,7 +50,6 @@ CONFIG_DFU_RAM=y CONFIG_DM_GPIO=y CONFIG_DM_I2C=y CONFIG_DM_MMC=y -# CONFIG_DM_MMC_OPS is not set CONFIG_MMC_OMAP_HS=y CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH=y diff --git a/configs/at91sam9263ek_norflash_boot_defconfig b/configs/at91sam9263ek_norflash_boot_defconfig index 21480c5d07..7f3d937e45 100644 --- a/configs/at91sam9263ek_norflash_boot_defconfig +++ b/configs/at91sam9263ek_norflash_boot_defconfig @@ -31,6 +31,7 @@ CONFIG_DM_GPIO=y CONFIG_AT91_GPIO=y CONFIG_DM_MMC=y CONFIG_GENERIC_ATMEL_MCI=y +CONFIG_MTD_NOR_FLASH=y CONFIG_DM_ETH=y CONFIG_MACB=y CONFIG_PINCTRL=y @@ -43,7 +44,6 @@ CONFIG_DEBUG_UART_CLOCK=100000000 CONFIG_DEBUG_UART_BOARD_INIT=y CONFIG_DEBUG_UART_ANNOUNCE=y CONFIG_ATMEL_USART=y -CONFIG_MTD_NOR_FLASH=y CONFIG_USB=y CONFIG_DM_USB=y CONFIG_USB_STORAGE=y diff --git a/configs/at91sam9263ek_norflash_defconfig b/configs/at91sam9263ek_norflash_defconfig index 824c366c44..63dffd8e3a 100644 --- a/configs/at91sam9263ek_norflash_defconfig +++ b/configs/at91sam9263ek_norflash_defconfig @@ -31,6 +31,7 @@ CONFIG_DM_GPIO=y CONFIG_AT91_GPIO=y CONFIG_DM_MMC=y CONFIG_GENERIC_ATMEL_MCI=y +CONFIG_MTD_NOR_FLASH=y CONFIG_DM_ETH=y CONFIG_MACB=y CONFIG_PINCTRL=y @@ -43,7 +44,6 @@ CONFIG_DEBUG_UART_CLOCK=100000000 CONFIG_DEBUG_UART_BOARD_INIT=y CONFIG_DEBUG_UART_ANNOUNCE=y CONFIG_ATMEL_USART=y -CONFIG_MTD_NOR_FLASH=y CONFIG_USB=y CONFIG_DM_USB=y CONFIG_USB_STORAGE=y diff --git a/configs/bcm958622hr_defconfig b/configs/bcm958622hr_defconfig index 62e50b63f4..ffda22ed49 100644 --- a/configs/bcm958622hr_defconfig +++ b/configs/bcm958622hr_defconfig @@ -9,11 +9,11 @@ CONFIG_HUSH_PARSER=y CONFIG_CMD_BOOTZ=y # CONFIG_CMD_IMLS is not set CONFIG_CMD_ASKENV=y +CONFIG_CRC32_VERIFY=y # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_CACHE=y CONFIG_CMD_TIME=y -CONFIG_CRC32_VERIFY=y CONFIG_CMD_HASH=y CONFIG_HASH_VERIFY=y CONFIG_CMD_FAT=y diff --git a/configs/birdland_bav335a_defconfig b/configs/birdland_bav335a_defconfig index d866b6014f..073a58d94e 100644 --- a/configs/birdland_bav335a_defconfig +++ b/configs/birdland_bav335a_defconfig @@ -10,7 +10,6 @@ CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y CONFIG_SPL_FAT_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_BAV_VERSION=1 CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1" CONFIG_SYS_CONSOLE_INFO_QUIET=y @@ -21,6 +20,7 @@ CONFIG_SPL_EXT_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_MUSB_NEW_SUPPORT=y CONFIG_SPL_OS_BOOT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_CMD_BOOTZ=y diff --git a/configs/birdland_bav335b_defconfig b/configs/birdland_bav335b_defconfig index ef73fbfde1..9679611f57 100644 --- a/configs/birdland_bav335b_defconfig +++ b/configs/birdland_bav335b_defconfig @@ -10,7 +10,6 @@ CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y CONFIG_SPL_FAT_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_BAV_VERSION=2 CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1" CONFIG_SYS_CONSOLE_INFO_QUIET=y @@ -21,6 +20,7 @@ CONFIG_SPL_EXT_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_MUSB_NEW_SUPPORT=y CONFIG_SPL_OS_BOOT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_CMD_BOOTZ=y diff --git a/configs/blanche_defconfig b/configs/blanche_defconfig index a963802b56..bf7700cbe1 100644 --- a/configs/blanche_defconfig +++ b/configs/blanche_defconfig @@ -15,7 +15,6 @@ CONFIG_CMD_EXT2=y CONFIG_CMD_EXT4=y CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_FAT=y -CONFIG_MMC=y CONFIG_MTD_NOR_FLASH=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_BAR=y diff --git a/configs/brppt1_mmc_defconfig b/configs/brppt1_mmc_defconfig index 3566223190..382a8cfc66 100644 --- a/configs/brppt1_mmc_defconfig +++ b/configs/brppt1_mmc_defconfig @@ -7,7 +7,6 @@ CONFIG_TARGET_BRPPT1=y CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_OF_BOARD_SETUP=y CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,EMMC_BOOT" CONFIG_BOOTDELAY=-2 @@ -23,6 +22,7 @@ CONFIG_SPL=y CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x300 CONFIG_SPL_I2C_SUPPORT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_CMD_BOOTZ=y diff --git a/configs/brppt1_nand_defconfig b/configs/brppt1_nand_defconfig index f07a46b78f..199ec37311 100644 --- a/configs/brppt1_nand_defconfig +++ b/configs/brppt1_nand_defconfig @@ -7,7 +7,6 @@ CONFIG_TARGET_BRPPT1=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_NAND_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_OF_BOARD_SETUP=y CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND" CONFIG_BOOTDELAY=-2 @@ -23,6 +22,7 @@ CONFIG_SPL=y CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x300 CONFIG_SPL_I2C_SUPPORT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_CMD_BOOTZ=y diff --git a/configs/brppt1_spi_defconfig b/configs/brppt1_spi_defconfig index 333e204310..05da94f6c6 100644 --- a/configs/brppt1_spi_defconfig +++ b/configs/brppt1_spi_defconfig @@ -9,7 +9,6 @@ CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_OF_BOARD_SETUP=y CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,SPI_BOOT,EMMC_BOOT" CONFIG_SPI_BOOT=y @@ -26,6 +25,7 @@ CONFIG_SPL=y CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x300 CONFIG_SPL_I2C_SUPPORT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_CMD_BOOTZ=y diff --git a/configs/brxre1_defconfig b/configs/brxre1_defconfig index f558886067..65dd17238f 100644 --- a/configs/brxre1_defconfig +++ b/configs/brxre1_defconfig @@ -5,7 +5,6 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1" CONFIG_BOOTDELAY=-2 # CONFIG_CONSOLE_MUX is not set @@ -20,6 +19,7 @@ CONFIG_SPL=y CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x300 CONFIG_SPL_I2C_SUPPORT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_HUSH_PARSER=y # CONFIG_CMD_BOOTD is not set diff --git a/configs/chiliboard_defconfig b/configs/chiliboard_defconfig index 579df941d4..82b527641d 100644 --- a/configs/chiliboard_defconfig +++ b/configs/chiliboard_defconfig @@ -9,14 +9,14 @@ CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_NAND_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y -CONFIG_SPL_FAT_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_STACK_R_ADDR=0x82000000 +CONFIG_SPL_FAT_SUPPORT=y CONFIG_BOOTDELAY=1 CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_SPL=y CONFIG_SPL_STACK_R=y CONFIG_SPL_I2C_SUPPORT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_CMD_BOOTZ=y # CONFIG_CMD_IMLS is not set diff --git a/configs/chromebook_minnie_defconfig b/configs/chromebook_minnie_defconfig index ef333c0011..09f7ec3d2f 100644 --- a/configs/chromebook_minnie_defconfig +++ b/configs/chromebook_minnie_defconfig @@ -72,8 +72,8 @@ CONFIG_SYSRESET=y CONFIG_DM_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y -CONFIG_DISPLAY_ROCKCHIP_HDMI=y CONFIG_DISPLAY_ROCKCHIP_EDP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y CONFIG_CONSOLE_SCROLL_LINES=10 CONFIG_USE_TINY_PRINTF=y CONFIG_CMD_DHRYSTONE=y diff --git a/configs/clearfog_defconfig b/configs/clearfog_defconfig index 097506872d..dfe574f92c 100644 --- a/configs/clearfog_defconfig +++ b/configs/clearfog_defconfig @@ -26,8 +26,6 @@ CONFIG_CMD_USB=y CONFIG_CMD_TFTPPUT=y CONFIG_CMD_CACHE=y CONFIG_CMD_TIME=y -CONFIG_EFI_PARTITION=y -# CONFIG_PARTITION_UUIDS is not set # CONFIG_SPL_PARTITION_UUIDS is not set CONFIG_SPL_OF_TRANSLATE=y CONFIG_MMC_SDHCI=y diff --git a/configs/cm_fx6_defconfig b/configs/cm_fx6_defconfig index fb2f9fa5d3..dc587a6d59 100644 --- a/configs/cm_fx6_defconfig +++ b/configs/cm_fx6_defconfig @@ -9,8 +9,8 @@ CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y -# CONFIG_CMD_BMODE is not set CONFIG_VIDEO=y +# CONFIG_CMD_BMODE is not set CONFIG_OF_BOARD_SETUP=y CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6QDL,SPL" CONFIG_BOOTDELAY=3 diff --git a/configs/cm_t335_defconfig b/configs/cm_t335_defconfig index 876e3320b7..be0536a272 100644 --- a/configs/cm_t335_defconfig +++ b/configs/cm_t335_defconfig @@ -11,13 +11,13 @@ CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_NAND_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y CONFIG_SPL_FAT_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y CONFIG_SPL=y CONFIG_SPL_EXT_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_MTD_SUPPORT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_SYS_PROMPT="CM-T335 # " CONFIG_CMD_BOOTZ=y diff --git a/configs/cm_t43_defconfig b/configs/cm_t43_defconfig index d813cc54fb..1099f59343 100644 --- a/configs/cm_t43_defconfig +++ b/configs/cm_t43_defconfig @@ -10,7 +10,6 @@ CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y CONFIG_SPL_FAT_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y # CONFIG_DISPLAY_CPUINFO is not set @@ -21,6 +20,7 @@ CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x480 CONFIG_SPL_EXT_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_MTD_SUPPORT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_SYS_PROMPT="CM-T43 # " CONFIG_CMD_BOOTZ=y diff --git a/configs/colibri_imx7_defconfig b/configs/colibri_imx7_defconfig index d5838acbcc..2ba6aea312 100644 --- a/configs/colibri_imx7_defconfig +++ b/configs/colibri_imx7_defconfig @@ -2,9 +2,9 @@ CONFIG_ARM=y CONFIG_SYS_THUMB_BUILD=y CONFIG_ARCH_MX7=y CONFIG_TARGET_COLIBRI_IMX7=y +CONFIG_VIDEO=y CONFIG_IMX_RDC=y CONFIG_IMX_BOOTAUX=y -CONFIG_VIDEO=y CONFIG_DEFAULT_DEVICE_TREE="imx7-colibri" CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri_imx7/imximage.cfg,MX7D" CONFIG_BOOTDELAY=1 diff --git a/configs/colibri_vf_defconfig b/configs/colibri_vf_defconfig index cc9c4eee61..3b510c3e6d 100644 --- a/configs/colibri_vf_defconfig +++ b/configs/colibri_vf_defconfig @@ -1,8 +1,8 @@ CONFIG_ARM=y CONFIG_SYS_THUMB_BUILD=y CONFIG_ARCH_VF610=y -CONFIG_TARGET_COLIBRI_VF=y CONFIG_VIDEO=y +CONFIG_TARGET_COLIBRI_VF=y CONFIG_DEFAULT_DEVICE_TREE="vf610-colibri" CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri_vf/imximage.cfg,ENV_IS_IN_NAND,IMX_NAND" CONFIG_BOOTDELAY=1 diff --git a/configs/comtrend_ar5387un_ram_defconfig b/configs/comtrend_ar5387un_ram_defconfig index 5b05fd20d7..f856752663 100644 --- a/configs/comtrend_ar5387un_ram_defconfig +++ b/configs/comtrend_ar5387un_ram_defconfig @@ -1,54 +1,44 @@ +CONFIG_MIPS=y +CONFIG_SYS_TEXT_BASE=0x80010000 CONFIG_ARCH_BMIPS=y -CONFIG_BAUDRATE=115200 -CONFIG_BCM6328_POWER_DOMAIN=y -CONFIG_BCM6345_CLK=y -CONFIG_BCM6345_SERIAL=y -CONFIG_BMIPS_BOOT_RAM=y -CONFIG_BOARD_COMTREND_AR5387UN=y -# CONFIG_CMD_BOOTD is not set -CONFIG_CMD_BOOTM=y +CONFIG_SOC_BMIPS_BCM6328=y +# CONFIG_MIPS_BOOT_CMDLINE_LEGACY is not set +# CONFIG_MIPS_BOOT_ENV_LEGACY is not set +CONFIG_MIPS_BOOT_FDT=y +CONFIG_DEFAULT_DEVICE_TREE="comtrend,ar-5387un" +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_DISPLAY_CPUINFO=y +CONFIG_HUSH_PARSER=y +CONFIG_SYS_PROMPT="AR-5387un # " CONFIG_CMD_CPU=y -# CONFIG_CMD_CRC32 is not set -# CONFIG_CMD_EDITENV is not set +CONFIG_CMD_LICENSE=y +# CONFIG_CMD_BOOTD is not set # CONFIG_CMD_ELF is not set -# CONFIG_CMD_ENV_EXISTS is not set -# CONFIG_CMD_EXPORTENV is not set -# CONFIG_CMD_FLASH is not set -# CONFIG_CMD_FPGA is not set -# CONFIG_CMD_GPIO is not set # CONFIG_CMD_IMLS is not set +# CONFIG_CMD_XIMG is not set +# CONFIG_CMD_EXPORTENV is not set # CONFIG_CMD_IMPORTENV is not set -CONFIG_CMD_LED=y -CONFIG_CMD_LICENSE=y -CONFIG_CMD_LOADB=y -# CONFIG_CMD_LOADS is not set +# CONFIG_CMD_EDITENV is not set +# CONFIG_CMD_SAVEENV is not set +# CONFIG_CMD_ENV_EXISTS is not set +# CONFIG_CMD_CRC32 is not set CONFIG_CMD_MEMINFO=y -# CONFIG_CMD_MISC is not set +# CONFIG_CMD_LOADS is not set +# CONFIG_CMD_FLASH is not set +# CONFIG_CMD_FPGA is not set # CONFIG_CMD_NET is not set # CONFIG_CMD_NFS is not set -# CONFIG_CMD_SAVEENV is not set -# CONFIG_CMD_XIMG is not set -CONFIG_DEFAULT_DEVICE_TREE="comtrend,ar-5387un" -CONFIG_DISPLAY_CPUINFO=y +# CONFIG_CMD_MISC is not set # CONFIG_DM_DEVICE_REMOVE is not set CONFIG_DM_GPIO=y -CONFIG_DM_RESET=y -CONFIG_DM_SERIAL=y -CONFIG_HUSH_PARSER=y CONFIG_LED=y CONFIG_LED_BCM6328=y CONFIG_LED_BLINK=y -CONFIG_MIPS=y -# CONFIG_MIPS_BOOT_CMDLINE_LEGACY is not set -# CONFIG_MIPS_BOOT_ENV_LEGACY is not set -CONFIG_MIPS_BOOT_FDT=y -CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_POWER_DOMAIN=y -CONFIG_RESET=y +CONFIG_BCM6328_POWER_DOMAIN=y +CONFIG_DM_RESET=y CONFIG_RESET_BCM6345=y -CONFIG_SOC_BMIPS_BCM6328=y # CONFIG_SPL_SERIAL_PRESENT is not set -# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_SYS_NO_FLASH=y -CONFIG_SYS_PROMPT="AR-5387un # " -CONFIG_SYS_TEXT_BASE=0x80010000 +CONFIG_DM_SERIAL=y +CONFIG_BCM6345_SERIAL=y diff --git a/configs/comtrend_ct5361_ram_defconfig b/configs/comtrend_ct5361_ram_defconfig index 9ec0c4158d..27fcc8ea3c 100644 --- a/configs/comtrend_ct5361_ram_defconfig +++ b/configs/comtrend_ct5361_ram_defconfig @@ -1,57 +1,45 @@ +CONFIG_MIPS=y +CONFIG_SYS_TEXT_BASE=0x80010000 CONFIG_ARCH_BMIPS=y -CONFIG_BAUDRATE=115200 -CONFIG_BCM6345_CLK=y -CONFIG_BCM6345_GPIO=y -CONFIG_BCM6345_SERIAL=y -CONFIG_BMIPS_BOOT_RAM=y -CONFIG_BOARD_COMTREND_CT5361=y -CONFIG_CFI_FLASH=y -# CONFIG_CMD_BOOTD is not set -CONFIG_CMD_BOOTM=y +CONFIG_SOC_BMIPS_BCM6348=y +# CONFIG_MIPS_BOOT_CMDLINE_LEGACY is not set +# CONFIG_MIPS_BOOT_ENV_LEGACY is not set +CONFIG_MIPS_BOOT_FDT=y +CONFIG_DEFAULT_DEVICE_TREE="comtrend,ct-5361" +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_DISPLAY_CPUINFO=y +CONFIG_HUSH_PARSER=y +CONFIG_SYS_PROMPT="CT-5361 # " CONFIG_CMD_CPU=y -# CONFIG_CMD_CRC32 is not set -# CONFIG_CMD_EDITENV is not set +CONFIG_CMD_LICENSE=y +# CONFIG_CMD_BOOTD is not set # CONFIG_CMD_ELF is not set -# CONFIG_CMD_ENV_EXISTS is not set -# CONFIG_CMD_EXPORTENV is not set -CONFIG_CMD_FLASH=y -# CONFIG_CMD_FPGA is not set -# CONFIG_CMD_GPIO is not set # CONFIG_CMD_IMLS is not set +# CONFIG_CMD_XIMG is not set +# CONFIG_CMD_EXPORTENV is not set # CONFIG_CMD_IMPORTENV is not set -CONFIG_CMD_LED=y -CONFIG_CMD_LICENSE=y -CONFIG_CMD_LOADB=y -# CONFIG_CMD_LOADS is not set +# CONFIG_CMD_EDITENV is not set +# CONFIG_CMD_SAVEENV is not set +# CONFIG_CMD_ENV_EXISTS is not set +# CONFIG_CMD_CRC32 is not set CONFIG_CMD_MEMINFO=y -# CONFIG_CMD_MISC is not set +# CONFIG_CMD_LOADS is not set +# CONFIG_CMD_FPGA is not set # CONFIG_CMD_NET is not set # CONFIG_CMD_NFS is not set -# CONFIG_CMD_SAVEENV is not set -# CONFIG_CMD_XIMG is not set -CONFIG_DEFAULT_DEVICE_TREE="comtrend,ct-5361" -CONFIG_DISPLAY_CPUINFO=y +# CONFIG_CMD_MISC is not set # CONFIG_DM_DEVICE_REMOVE is not set CONFIG_DM_GPIO=y -CONFIG_DM_RESET=y -CONFIG_DM_SERIAL=y -CONFIG_HUSH_PARSER=y +CONFIG_BCM6345_GPIO=y CONFIG_LED=y CONFIG_LED_GPIO=y -CONFIG_MIPS=y -# CONFIG_MIPS_BOOT_CMDLINE_LEGACY is not set -# CONFIG_MIPS_BOOT_ENV_LEGACY is not set -CONFIG_MIPS_BOOT_FDT=y CONFIG_MTD=y -CONFIG_MTD_DEVICE=y CONFIG_MTD_NOR_FLASH=y -CONFIG_OF_STDOUT_VIA_ALIAS=y -CONFIG_RESET=y +CONFIG_CFI_FLASH=y +CONFIG_DM_RESET=y CONFIG_RESET_BCM6345=y -CONFIG_SOC_BMIPS_BCM6348=y # CONFIG_SPL_SERIAL_PRESENT is not set -# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_SYS_PROMPT="CT-5361 # " -CONFIG_SYS_TEXT_BASE=0x80010000 -CONFIG_WDT=y +CONFIG_DM_SERIAL=y +CONFIG_BCM6345_SERIAL=y CONFIG_WDT_BCM6345=y diff --git a/configs/comtrend_vr3032u_ram_defconfig b/configs/comtrend_vr3032u_ram_defconfig index c056d73f18..97f1c6259e 100644 --- a/configs/comtrend_vr3032u_ram_defconfig +++ b/configs/comtrend_vr3032u_ram_defconfig @@ -1,54 +1,44 @@ +CONFIG_MIPS=y +CONFIG_SYS_TEXT_BASE=0x80010000 CONFIG_ARCH_BMIPS=y -CONFIG_BAUDRATE=115200 -CONFIG_BCM6328_POWER_DOMAIN=y -CONFIG_BCM6345_CLK=y -CONFIG_BCM6345_SERIAL=y -CONFIG_BMIPS_BOOT_RAM=y -CONFIG_BOARD_COMTREND_VR3032U=y -# CONFIG_CMD_BOOTD is not set -CONFIG_CMD_BOOTM=y +CONFIG_SOC_BMIPS_BCM63268=y +# CONFIG_MIPS_BOOT_CMDLINE_LEGACY is not set +# CONFIG_MIPS_BOOT_ENV_LEGACY is not set +CONFIG_MIPS_BOOT_FDT=y +CONFIG_DEFAULT_DEVICE_TREE="comtrend,vr-3032u" +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_DISPLAY_CPUINFO=y +CONFIG_HUSH_PARSER=y +CONFIG_SYS_PROMPT="VR-3032u # " CONFIG_CMD_CPU=y -# CONFIG_CMD_CRC32 is not set -# CONFIG_CMD_EDITENV is not set +CONFIG_CMD_LICENSE=y +# CONFIG_CMD_BOOTD is not set # CONFIG_CMD_ELF is not set -# CONFIG_CMD_ENV_EXISTS is not set -# CONFIG_CMD_EXPORTENV is not set -# CONFIG_CMD_FLASH is not set -# CONFIG_CMD_FPGA is not set -# CONFIG_CMD_GPIO is not set # CONFIG_CMD_IMLS is not set +# CONFIG_CMD_XIMG is not set +# CONFIG_CMD_EXPORTENV is not set # CONFIG_CMD_IMPORTENV is not set -CONFIG_CMD_LED=y -CONFIG_CMD_LICENSE=y -CONFIG_CMD_LOADB=y -# CONFIG_CMD_LOADS is not set +# CONFIG_CMD_EDITENV is not set +# CONFIG_CMD_SAVEENV is not set +# CONFIG_CMD_ENV_EXISTS is not set +# CONFIG_CMD_CRC32 is not set CONFIG_CMD_MEMINFO=y -# CONFIG_CMD_MISC is not set +# CONFIG_CMD_LOADS is not set +# CONFIG_CMD_FLASH is not set +# CONFIG_CMD_FPGA is not set # CONFIG_CMD_NET is not set # CONFIG_CMD_NFS is not set -# CONFIG_CMD_SAVEENV is not set -# CONFIG_CMD_XIMG is not set -CONFIG_DEFAULT_DEVICE_TREE="comtrend,vr-3032u" -CONFIG_DISPLAY_CPUINFO=y +# CONFIG_CMD_MISC is not set # CONFIG_DM_DEVICE_REMOVE is not set CONFIG_DM_GPIO=y -CONFIG_DM_RESET=y -CONFIG_DM_SERIAL=y -CONFIG_HUSH_PARSER=y CONFIG_LED=y CONFIG_LED_BCM6328=y CONFIG_LED_BLINK=y -CONFIG_MIPS=y -# CONFIG_MIPS_BOOT_CMDLINE_LEGACY is not set -# CONFIG_MIPS_BOOT_ENV_LEGACY is not set -CONFIG_MIPS_BOOT_FDT=y -CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_POWER_DOMAIN=y -CONFIG_RESET=y +CONFIG_BCM6328_POWER_DOMAIN=y +CONFIG_DM_RESET=y CONFIG_RESET_BCM6345=y -CONFIG_SOC_BMIPS_BCM63268=y # CONFIG_SPL_SERIAL_PRESENT is not set -# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_SYS_NO_FLASH=y -CONFIG_SYS_PROMPT="VR-3032u # " -CONFIG_SYS_TEXT_BASE=0x80010000 +CONFIG_DM_SERIAL=y +CONFIG_BCM6345_SERIAL=y diff --git a/configs/dra7xx_evm_defconfig b/configs/dra7xx_evm_defconfig index be04402572..6dd1baf6e9 100644 --- a/configs/dra7xx_evm_defconfig +++ b/configs/dra7xx_evm_defconfig @@ -1,14 +1,14 @@ CONFIG_ARM=y CONFIG_ARCH_OMAP2PLUS=y +CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_OMAP54XX=y -CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_TARGET_DRA7XX_EVM=y # CONFIG_SPL_NAND_SUPPORT is not set CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y -CONFIG_ARMV7_LPAE=y CONFIG_SPL_STACK_R_ADDR=0x82000000 +CONFIG_ARMV7_LPAE=y CONFIG_DEFAULT_DEVICE_TREE="dra7-evm" CONFIG_SPL_LOAD_FIT=y CONFIG_OF_BOARD_SETUP=y @@ -43,10 +43,9 @@ CONFIG_REGMAP=y CONFIG_SPL_REGMAP=y CONFIG_SYSCON=y CONFIG_SPL_SYSCON=y -CONFIG_BLK=y +CONFIG_SPL_OF_TRANSLATE=y CONFIG_DM_SCSI=y CONFIG_DWC_AHCI=y -CONFIG_SPL_OF_TRANSLATE=y CONFIG_DFU_MMC=y CONFIG_DFU_RAM=y CONFIG_DFU_SF=y @@ -54,13 +53,13 @@ CONFIG_DM_GPIO=y CONFIG_PCF8575_GPIO=y CONFIG_DM_I2C=y CONFIG_DM_MMC=y -# CONFIG_DM_MMC_OPS is not set CONFIG_MMC_OMAP_HS=y CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_DM_ETH=y +CONFIG_SPL_PHY=y CONFIG_DM_PMIC=y CONFIG_PMIC_PALMAS=y CONFIG_PMIC_LP873X=y @@ -90,6 +89,3 @@ CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_G_DNL_MANUFACTURER="Texas Instruments" CONFIG_G_DNL_VENDOR_NUM=0x0451 CONFIG_G_DNL_PRODUCT_NUM=0xd022 -CONFIG_SPL_PHY=y -CONFIG_PIPE3_PHY=y -CONFIG_SPL_PIPE3_PHY=y diff --git a/configs/dra7xx_hs_evm_defconfig b/configs/dra7xx_hs_evm_defconfig index 84dd26beee..3008a1fd2c 100644 --- a/configs/dra7xx_hs_evm_defconfig +++ b/configs/dra7xx_hs_evm_defconfig @@ -1,8 +1,8 @@ CONFIG_ARM=y CONFIG_ARCH_OMAP2PLUS=y +CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_OMAP54XX=y -CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_TI_SECURE_DEVICE=y CONFIG_TARGET_DRA7XX_EVM=y CONFIG_TI_SECURE_EMIF_REGION_START=0xbdb00000 @@ -11,8 +11,8 @@ CONFIG_TI_SECURE_EMIF_PROTECTED_REGION_SIZE=0x01c00000 # CONFIG_SPL_NAND_SUPPORT is not set CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y -CONFIG_ARMV7_LPAE=y CONFIG_SPL_STACK_R_ADDR=0x82000000 +CONFIG_ARMV7_LPAE=y CONFIG_DEFAULT_DEVICE_TREE="dra7-evm" CONFIG_FIT_IMAGE_POST_PROCESS=y CONFIG_SPL_LOAD_FIT=y @@ -56,13 +56,13 @@ CONFIG_DM_GPIO=y CONFIG_PCF8575_GPIO=y CONFIG_DM_I2C=y CONFIG_DM_MMC=y -# CONFIG_DM_MMC_OPS is not set CONFIG_MMC_OMAP_HS=y CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_DM_ETH=y +CONFIG_SPL_PHY=y CONFIG_DM_PMIC=y CONFIG_PMIC_PALMAS=y CONFIG_PMIC_LP873X=y @@ -92,6 +92,3 @@ CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_G_DNL_MANUFACTURER="Texas Instruments" CONFIG_G_DNL_VENDOR_NUM=0x0451 CONFIG_G_DNL_PRODUCT_NUM=0xd022 -CONFIG_SPL_PHY=y -CONFIG_PIPE3_PHY=y -CONFIG_SPL_PIPE3_PHY=y diff --git a/configs/evb-ast2500_defconfig b/configs/evb-ast2500_defconfig index 08b5f85a34..f71d0c10c3 100644 --- a/configs/evb-ast2500_defconfig +++ b/configs/evb-ast2500_defconfig @@ -3,21 +3,21 @@ CONFIG_ARCH_ASPEED=y CONFIG_ASPEED_AST2500=y CONFIG_TARGET_EVB_AST2500=y CONFIG_SYS_MALLOC_F_LEN=0x2000 -CONFIG_PRE_CONSOLE_BUFFER=y CONFIG_DEFAULT_DEVICE_TREE="ast2500-evb" +CONFIG_PRE_CONSOLE_BUFFER=y CONFIG_PRE_CON_BUF_ADDR=0x1e720000 # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_CMD_IMLS is not set +CONFIG_CMD_I2C=y CONFIG_REGMAP=y CONFIG_CLK=y +CONFIG_DM_I2C=y +CONFIG_SYS_I2C_ASPEED=y +CONFIG_PINCTRL=y CONFIG_RAM=y +CONFIG_DM_RESET=y CONFIG_DM_SERIAL=y CONFIG_SYS_NS16550=y CONFIG_SYSRESET=y CONFIG_TIMER=y CONFIG_WDT=y -CONFIG_DM_RESET=y -CONFIG_PINCTRL=y -CONFIG_DM_I2C=y -CONFIG_SYS_I2C_ASPEED=y -CONFIG_CMD_I2C=y diff --git a/configs/evb-rk3399_defconfig b/configs/evb-rk3399_defconfig index c189e750ff..0008e7b886 100644 --- a/configs/evb-rk3399_defconfig +++ b/configs/evb-rk3399_defconfig @@ -23,6 +23,7 @@ CONFIG_CMD_TIME=y CONFIG_SPL_OF_CONTROL=y CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" CONFIG_SPL_OF_PLATDATA=y +CONFIG_NET_RANDOM_ETHADDR=y CONFIG_REGMAP=y CONFIG_SPL_REGMAP=y CONFIG_SYSCON=y @@ -34,12 +35,8 @@ CONFIG_SYS_I2C_ROCKCHIP=y CONFIG_MMC_DW=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_ROCKCHIP=y -CONFIG_DM_PMIC=y -CONFIG_PMIC_RK808=y -CONFIG_REGULATOR_RK808=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y -CONFIG_NET_RANDOM_ETHADDR=y CONFIG_GMAC_ROCKCHIP=y CONFIG_PINCTRL=y CONFIG_SPL_PINCTRL=y diff --git a/configs/firefly-rk3399_defconfig b/configs/firefly-rk3399_defconfig index f30f131f34..bb5c859e62 100644 --- a/configs/firefly-rk3399_defconfig +++ b/configs/firefly-rk3399_defconfig @@ -39,7 +39,6 @@ CONFIG_ETH_DESIGNWARE=y CONFIG_GMAC_ROCKCHIP=y CONFIG_PINCTRL=y CONFIG_SPL_PINCTRL=y -CONFIG_ROCKCHIP_RK3399_PINCTRL=y CONFIG_DM_PMIC=y CONFIG_PMIC_RK8XX=y CONFIG_REGULATOR_PWM=y diff --git a/configs/gwventana_emmc_defconfig b/configs/gwventana_emmc_defconfig index 0d0d1421c8..a476dc2af2 100644 --- a/configs/gwventana_emmc_defconfig +++ b/configs/gwventana_emmc_defconfig @@ -9,7 +9,6 @@ CONFIG_CMD_GSC=y CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_VIDEO=y CONFIG_SPL_STACK_R_ADDR=0x18000000 CONFIG_CMD_HDMIDETECT=y @@ -27,6 +26,7 @@ CONFIG_SPL_STACK_R=y CONFIG_SPL_DMA_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_OS_BOOT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_SYS_PROMPT="Ventana > " CONFIG_CMD_BOOTZ=y diff --git a/configs/gwventana_gw5904_defconfig b/configs/gwventana_gw5904_defconfig index 8f6618901d..bd38e6d5e1 100644 --- a/configs/gwventana_gw5904_defconfig +++ b/configs/gwventana_gw5904_defconfig @@ -9,7 +9,6 @@ CONFIG_CMD_GSC=y CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_VIDEO=y CONFIG_SPL_STACK_R_ADDR=0x18000000 CONFIG_CMD_HDMIDETECT=y @@ -27,6 +26,7 @@ CONFIG_SPL_STACK_R=y CONFIG_SPL_DMA_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_OS_BOOT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_SYS_PROMPT="Ventana > " CONFIG_CMD_BOOTZ=y diff --git a/configs/gwventana_nand_defconfig b/configs/gwventana_nand_defconfig index 5545171bb3..296f015a50 100644 --- a/configs/gwventana_nand_defconfig +++ b/configs/gwventana_nand_defconfig @@ -10,7 +10,6 @@ CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_NAND_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_VIDEO=y CONFIG_SPL_STACK_R_ADDR=0x18000000 CONFIG_CMD_HDMIDETECT=y @@ -28,6 +27,7 @@ CONFIG_SPL_STACK_R=y CONFIG_SPL_DMA_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_OS_BOOT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_SYS_PROMPT="Ventana > " CONFIG_CMD_BOOTZ=y diff --git a/configs/huawei_hg556a_ram_defconfig b/configs/huawei_hg556a_ram_defconfig index c2e64723c3..a0a70b294f 100644 --- a/configs/huawei_hg556a_ram_defconfig +++ b/configs/huawei_hg556a_ram_defconfig @@ -1,55 +1,44 @@ +CONFIG_MIPS=y +CONFIG_SYS_TEXT_BASE=0x80010000 CONFIG_ARCH_BMIPS=y -CONFIG_BAUDRATE=115200 -CONFIG_BCM6345_CLK=y -CONFIG_BCM6345_GPIO=y -CONFIG_BCM6345_SERIAL=y -CONFIG_BMIPS_BOOT_RAM=y -CONFIG_BOARD_HUAWEI_HG556A=y -CONFIG_CFI_FLASH=y -# CONFIG_CMD_BOOTD is not set -CONFIG_CMD_BOOTM=y +CONFIG_SOC_BMIPS_BCM6358=y +# CONFIG_MIPS_BOOT_CMDLINE_LEGACY is not set +# CONFIG_MIPS_BOOT_ENV_LEGACY is not set +CONFIG_MIPS_BOOT_FDT=y +CONFIG_DEFAULT_DEVICE_TREE="huawei,hg556a" +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_DISPLAY_CPUINFO=y +CONFIG_HUSH_PARSER=y +CONFIG_SYS_PROMPT="HG556a # " CONFIG_CMD_CPU=y -# CONFIG_CMD_CRC32 is not set -# CONFIG_CMD_EDITENV is not set +CONFIG_CMD_LICENSE=y +# CONFIG_CMD_BOOTD is not set # CONFIG_CMD_ELF is not set -# CONFIG_CMD_ENV_EXISTS is not set -# CONFIG_CMD_EXPORTENV is not set -CONFIG_CMD_FLASH=y -# CONFIG_CMD_FPGA is not set -# CONFIG_CMD_GPIO is not set # CONFIG_CMD_IMLS is not set +# CONFIG_CMD_XIMG is not set +# CONFIG_CMD_EXPORTENV is not set # CONFIG_CMD_IMPORTENV is not set -CONFIG_CMD_LED=y -CONFIG_CMD_LICENSE=y -CONFIG_CMD_LOADB=y -# CONFIG_CMD_LOADS is not set +# CONFIG_CMD_EDITENV is not set +# CONFIG_CMD_SAVEENV is not set +# CONFIG_CMD_ENV_EXISTS is not set +# CONFIG_CMD_CRC32 is not set CONFIG_CMD_MEMINFO=y -# CONFIG_CMD_MISC is not set +# CONFIG_CMD_LOADS is not set +# CONFIG_CMD_FPGA is not set # CONFIG_CMD_NET is not set # CONFIG_CMD_NFS is not set -# CONFIG_CMD_SAVEENV is not set -# CONFIG_CMD_XIMG is not set -CONFIG_DEFAULT_DEVICE_TREE="huawei,hg556a" -CONFIG_DISPLAY_CPUINFO=y +# CONFIG_CMD_MISC is not set # CONFIG_DM_DEVICE_REMOVE is not set CONFIG_DM_GPIO=y -CONFIG_DM_RESET=y -CONFIG_DM_SERIAL=y -CONFIG_HUSH_PARSER=y +CONFIG_BCM6345_GPIO=y CONFIG_LED=y CONFIG_LED_GPIO=y -CONFIG_MIPS=y -# CONFIG_MIPS_BOOT_CMDLINE_LEGACY is not set -# CONFIG_MIPS_BOOT_ENV_LEGACY is not set -CONFIG_MIPS_BOOT_FDT=y CONFIG_MTD=y -CONFIG_MTD_DEVICE=y CONFIG_MTD_NOR_FLASH=y -CONFIG_OF_STDOUT_VIA_ALIAS=y -CONFIG_RESET=y +CONFIG_CFI_FLASH=y +CONFIG_DM_RESET=y CONFIG_RESET_BCM6345=y -CONFIG_SOC_BMIPS_BCM6358=y # CONFIG_SPL_SERIAL_PRESENT is not set -# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_SYS_PROMPT="HG556a # " -CONFIG_SYS_TEXT_BASE=0x80010000 +CONFIG_DM_SERIAL=y +CONFIG_BCM6345_SERIAL=y diff --git a/configs/imx6qdl_icore_mmc_defconfig b/configs/imx6qdl_icore_mmc_defconfig index 851dba2c26..b7785babcb 100644 --- a/configs/imx6qdl_icore_mmc_defconfig +++ b/configs/imx6qdl_icore_mmc_defconfig @@ -7,10 +7,9 @@ CONFIG_TARGET_MX6Q_ICORE=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y -# CONFIG_CMD_BMODE is not set CONFIG_VIDEO=y +# CONFIG_CMD_BMODE is not set CONFIG_DEFAULT_DEVICE_TREE="imx6q-icore" -CONFIG_OF_LIST="imx6q-icore imx6dl-icore" CONFIG_FIT=y CONFIG_FIT_SIGNATURE=y CONFIG_FIT_VERBOSE=y @@ -34,6 +33,7 @@ CONFIG_CMD_EXT4=y CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y +CONFIG_OF_LIST="imx6q-icore imx6dl-icore" # CONFIG_BLK is not set CONFIG_SYS_I2C_MXC=y # CONFIG_DM_MMC_OPS is not set diff --git a/configs/imx6qdl_icore_rqs_mmc_defconfig b/configs/imx6qdl_icore_rqs_mmc_defconfig index b6a43ae77c..e746b489ab 100644 --- a/configs/imx6qdl_icore_rqs_mmc_defconfig +++ b/configs/imx6qdl_icore_rqs_mmc_defconfig @@ -9,7 +9,6 @@ CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y # CONFIG_CMD_BMODE is not set CONFIG_DEFAULT_DEVICE_TREE="imx6q-icore-rqs" -CONFIG_OF_LIST="imx6q-icore-rqs imx6dl-icore-rqs" CONFIG_FIT=y CONFIG_FIT_SIGNATURE=y CONFIG_FIT_VERBOSE=y @@ -33,6 +32,7 @@ CONFIG_CMD_EXT4=y CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y +CONFIG_OF_LIST="imx6q-icore-rqs imx6dl-icore-rqs" # CONFIG_BLK is not set CONFIG_SYS_I2C_MXC=y # CONFIG_DM_MMC_OPS is not set diff --git a/configs/k2e_evm_defconfig b/configs/k2e_evm_defconfig index 83e21380b8..f09eb84ebc 100644 --- a/configs/k2e_evm_defconfig +++ b/configs/k2e_evm_defconfig @@ -1,14 +1,13 @@ CONFIG_ARM=y CONFIG_ARCH_KEYSTONE=y CONFIG_SYS_TEXT_BASE=0x0c000000 +CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y CONFIG_TARGET_K2E_EVM=y -CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_DEFAULT_DEVICE_TREE="keystone-k2e-evm" CONFIG_OF_BOARD_SETUP=y CONFIG_SYS_CONSOLE_INFO_QUIET=y @@ -16,8 +15,8 @@ CONFIG_VERSION_VARIABLE=y CONFIG_BOARD_EARLY_INIT_F=y CONFIG_SPL=y CONFIG_SPL_I2C_SUPPORT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_HUSH_PARSER=y -CONFIG_CMD_BOOTZ=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_GPT is not set diff --git a/configs/k2e_hs_evm_defconfig b/configs/k2e_hs_evm_defconfig index d4ec83efc5..55eab61cc3 100644 --- a/configs/k2e_hs_evm_defconfig +++ b/configs/k2e_hs_evm_defconfig @@ -1,9 +1,8 @@ CONFIG_ARM=y CONFIG_ARCH_KEYSTONE=y CONFIG_SYS_TEXT_BASE=0x0c000060 -CONFIG_TARGET_K2E_EVM=y CONFIG_TI_COMMON_CMD_OPTIONS=y -CONFIG_TI_SECURE_DEVICE=y +CONFIG_TARGET_K2E_EVM=y CONFIG_DEFAULT_DEVICE_TREE="keystone-k2e-evm" CONFIG_OF_BOARD_SETUP=y CONFIG_SYS_CONSOLE_INFO_QUIET=y diff --git a/configs/k2g_evm_defconfig b/configs/k2g_evm_defconfig index 674ddcc9fe..a5f1ac59f1 100644 --- a/configs/k2g_evm_defconfig +++ b/configs/k2g_evm_defconfig @@ -1,14 +1,13 @@ CONFIG_ARM=y CONFIG_ARCH_KEYSTONE=y CONFIG_SYS_TEXT_BASE=0x0c000000 +CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y CONFIG_TARGET_K2G_EVM=y -CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_DEFAULT_DEVICE_TREE="keystone-k2g-evm" CONFIG_OF_BOARD_SETUP=y CONFIG_SYS_CONSOLE_INFO_QUIET=y @@ -16,6 +15,7 @@ CONFIG_VERSION_VARIABLE=y CONFIG_BOARD_EARLY_INIT_F=y CONFIG_SPL=y CONFIG_SPL_I2C_SUPPORT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_HUSH_PARSER=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set @@ -30,7 +30,6 @@ CONFIG_OF_CONTROL=y CONFIG_DM=y # CONFIG_BLK is not set CONFIG_DM_MMC=y -# CONFIG_DM_MMC_OPS is not set CONFIG_MMC_OMAP_HS=y CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH=y diff --git a/configs/k2g_hs_evm_defconfig b/configs/k2g_hs_evm_defconfig index 2e06c8c46d..51c701ed90 100644 --- a/configs/k2g_hs_evm_defconfig +++ b/configs/k2g_hs_evm_defconfig @@ -1,12 +1,9 @@ CONFIG_ARM=y CONFIG_ARCH_KEYSTONE=y CONFIG_SYS_TEXT_BASE=0x0c000060 -CONFIG_TARGET_K2G_EVM=y CONFIG_TI_COMMON_CMD_OPTIONS=y -CONFIG_TI_SECURE_DEVICE=y +CONFIG_TARGET_K2G_EVM=y CONFIG_DEFAULT_DEVICE_TREE="keystone-k2g-evm" -CONFIG_FIT=y -CONFIG_FIT_IMAGE_POST_PROCESS=y CONFIG_OF_BOARD_SETUP=y CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y @@ -24,7 +21,6 @@ CONFIG_OF_CONTROL=y CONFIG_DM=y # CONFIG_BLK is not set CONFIG_DM_MMC=y -# CONFIG_DM_MMC_OPS is not set CONFIG_MMC_OMAP_HS=y CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH=y diff --git a/configs/k2hk_evm_defconfig b/configs/k2hk_evm_defconfig index 7dc5cf51cf..0afdb6e2cb 100644 --- a/configs/k2hk_evm_defconfig +++ b/configs/k2hk_evm_defconfig @@ -1,14 +1,13 @@ CONFIG_ARM=y CONFIG_ARCH_KEYSTONE=y CONFIG_SYS_TEXT_BASE=0x0c000000 +CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y CONFIG_TARGET_K2HK_EVM=y -CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_DEFAULT_DEVICE_TREE="keystone-k2hk-evm" CONFIG_OF_BOARD_SETUP=y CONFIG_SYS_CONSOLE_INFO_QUIET=y @@ -16,6 +15,7 @@ CONFIG_VERSION_VARIABLE=y CONFIG_BOARD_EARLY_INIT_F=y CONFIG_SPL=y CONFIG_SPL_I2C_SUPPORT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_HUSH_PARSER=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set diff --git a/configs/k2hk_hs_evm_defconfig b/configs/k2hk_hs_evm_defconfig index 67807e4ba8..a66a256346 100644 --- a/configs/k2hk_hs_evm_defconfig +++ b/configs/k2hk_hs_evm_defconfig @@ -1,9 +1,8 @@ CONFIG_ARM=y CONFIG_ARCH_KEYSTONE=y CONFIG_SYS_TEXT_BASE=0x0c000060 -CONFIG_TARGET_K2HK_EVM=y CONFIG_TI_COMMON_CMD_OPTIONS=y -CONFIG_TI_SECURE_DEVICE=y +CONFIG_TARGET_K2HK_EVM=y CONFIG_DEFAULT_DEVICE_TREE="keystone-k2hk-evm" CONFIG_OF_BOARD_SETUP=y CONFIG_SYS_CONSOLE_INFO_QUIET=y diff --git a/configs/k2l_evm_defconfig b/configs/k2l_evm_defconfig index 6be4941f66..fd8c173185 100644 --- a/configs/k2l_evm_defconfig +++ b/configs/k2l_evm_defconfig @@ -1,14 +1,13 @@ CONFIG_ARM=y CONFIG_ARCH_KEYSTONE=y CONFIG_SYS_TEXT_BASE=0x0c000000 +CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y CONFIG_TARGET_K2L_EVM=y -CONFIG_TI_COMMON_CMD_OPTIONS=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_DEFAULT_DEVICE_TREE="keystone-k2l-evm" CONFIG_OF_BOARD_SETUP=y CONFIG_SYS_CONSOLE_INFO_QUIET=y @@ -16,6 +15,7 @@ CONFIG_VERSION_VARIABLE=y CONFIG_BOARD_EARLY_INIT_F=y CONFIG_SPL=y CONFIG_SPL_I2C_SUPPORT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_HUSH_PARSER=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set diff --git a/configs/ls2081ardb_defconfig b/configs/ls2081ardb_defconfig index 0d1730fc79..d8420ba77e 100644 --- a/configs/ls2081ardb_defconfig +++ b/configs/ls2081ardb_defconfig @@ -9,18 +9,15 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_QSPI_BOOT=y CONFIG_BOOTDELAY=10 -CONFIG_CMD_GREPENV=y # CONFIG_CMD_IMLS is not set +CONFIG_CMD_GREPENV=y CONFIG_CMD_GPT=y CONFIG_CMD_MMC=y CONFIG_CMD_SF=y CONFIG_CMD_I2C=y -CONFIG_CMD_DHCP=y -CONFIG_CMD_MII=y -CONFIG_CMD_PING=y +CONFIG_CMD_USB=y +# CONFIG_CMD_SETEXPR is not set CONFIG_CMD_CACHE=y -CONFIG_CMD_EXT2=y -CONFIG_CMD_FAT=y CONFIG_OF_CONTROL=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_DM=y @@ -34,10 +31,8 @@ CONFIG_DM_PCI_COMPAT=y CONFIG_PCIE_LAYERSCAPE=y CONFIG_SYS_NS16550=y CONFIG_DM_SPI=y -CONFIG_FSL_QSPI=y CONFIG_FSL_DSPI=y -CONFIG_CMD_USB=y -# CONFIG_CMD_SETEXPR is not set +CONFIG_FSL_QSPI=y CONFIG_USB=y CONFIG_DM_USB=y CONFIG_USB_XHCI_HCD=y diff --git a/configs/ls2088ardb_qspi_defconfig b/configs/ls2088ardb_qspi_defconfig index 139ff08990..76b2f32677 100644 --- a/configs/ls2088ardb_qspi_defconfig +++ b/configs/ls2088ardb_qspi_defconfig @@ -9,18 +9,15 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_QSPI_BOOT=y CONFIG_BOOTDELAY=10 -CONFIG_CMD_GREPENV=y # CONFIG_CMD_IMLS is not set +CONFIG_CMD_GREPENV=y CONFIG_CMD_GPT=y CONFIG_CMD_MMC=y CONFIG_CMD_SF=y CONFIG_CMD_I2C=y -CONFIG_CMD_DHCP=y -CONFIG_CMD_MII=y -CONFIG_CMD_PING=y +CONFIG_CMD_USB=y +# CONFIG_CMD_SETEXPR is not set CONFIG_CMD_CACHE=y -CONFIG_CMD_EXT2=y -CONFIG_CMD_FAT=y CONFIG_OF_CONTROL=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_DM=y @@ -34,10 +31,8 @@ CONFIG_DM_PCI_COMPAT=y CONFIG_PCIE_LAYERSCAPE=y CONFIG_SYS_NS16550=y CONFIG_DM_SPI=y -CONFIG_FSL_QSPI=y CONFIG_FSL_DSPI=y -CONFIG_CMD_USB=y -# CONFIG_CMD_SETEXPR is not set +CONFIG_FSL_QSPI=y CONFIG_USB=y CONFIG_DM_USB=y CONFIG_USB_XHCI_HCD=y diff --git a/configs/m53evk_defconfig b/configs/m53evk_defconfig index a33a601236..cc4a74ca52 100644 --- a/configs/m53evk_defconfig +++ b/configs/m53evk_defconfig @@ -6,8 +6,8 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y CONFIG_TARGET_M53EVK=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_NAND_SUPPORT=y -# CONFIG_CMD_BMODE is not set CONFIG_VIDEO=y +# CONFIG_CMD_BMODE is not set CONFIG_FIT=y CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/aries/m53evk/imximage.cfg" CONFIG_BOOTDELAY=3 diff --git a/configs/mx51evk_defconfig b/configs/mx51evk_defconfig index 3f57c88a88..8f09c04ceb 100644 --- a/configs/mx51evk_defconfig +++ b/configs/mx51evk_defconfig @@ -1,8 +1,8 @@ CONFIG_ARM=y CONFIG_ARCH_MX5=y CONFIG_TARGET_MX51EVK=y -# CONFIG_CMD_BMODE is not set CONFIG_VIDEO=y +# CONFIG_CMD_BMODE is not set CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx51evk/imximage.cfg" CONFIG_BOOTDELAY=1 # CONFIG_CONSOLE_MUX is not set diff --git a/configs/mx53cx9020_defconfig b/configs/mx53cx9020_defconfig index d947d9fd5b..e0c597cbe2 100644 --- a/configs/mx53cx9020_defconfig +++ b/configs/mx53cx9020_defconfig @@ -1,8 +1,8 @@ CONFIG_ARM=y CONFIG_ARCH_MX5=y CONFIG_TARGET_MX53CX9020=y -# CONFIG_CMD_BMODE is not set CONFIG_VIDEO=y +# CONFIG_CMD_BMODE is not set CONFIG_DEFAULT_DEVICE_TREE="imx53-cx9020" CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/beckhoff/mx53cx9020/imximage.cfg" CONFIG_BOOTDELAY=1 diff --git a/configs/mx53loco_defconfig b/configs/mx53loco_defconfig index b71c3ae719..572735616b 100644 --- a/configs/mx53loco_defconfig +++ b/configs/mx53loco_defconfig @@ -1,8 +1,8 @@ CONFIG_ARM=y CONFIG_ARCH_MX5=y CONFIG_TARGET_MX53LOCO=y -# CONFIG_CMD_BMODE is not set CONFIG_VIDEO=y +# CONFIG_CMD_BMODE is not set CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx53loco/imximage.cfg" CONFIG_BOOTDELAY=1 # CONFIG_CONSOLE_MUX is not set diff --git a/configs/mx6cuboxi_defconfig b/configs/mx6cuboxi_defconfig index b180f54075..7530de1519 100644 --- a/configs/mx6cuboxi_defconfig +++ b/configs/mx6cuboxi_defconfig @@ -8,9 +8,9 @@ CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y +CONFIG_VIDEO=y # CONFIG_CMD_BMODE is not set CONFIG_CMD_HDMIDETECT=y -CONFIG_VIDEO=y CONFIG_DISTRO_DEFAULTS=y CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6QDL" # CONFIG_SYS_STDIO_DEREGISTER is not set diff --git a/configs/mx6sxsabresd_defconfig b/configs/mx6sxsabresd_defconfig index ff23345c1e..2522eb770b 100644 --- a/configs/mx6sxsabresd_defconfig +++ b/configs/mx6sxsabresd_defconfig @@ -1,8 +1,8 @@ CONFIG_ARM=y CONFIG_ARCH_MX6=y CONFIG_TARGET_MX6SXSABRESD=y -# CONFIG_CMD_BMODE is not set CONFIG_VIDEO=y +# CONFIG_CMD_BMODE is not set CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6sxsabresd/imximage.cfg" CONFIG_BOOTDELAY=3 # CONFIG_CONSOLE_MUX is not set diff --git a/configs/mx6sxsabresd_spl_defconfig b/configs/mx6sxsabresd_spl_defconfig index c08cadab4d..6d4fe6370f 100644 --- a/configs/mx6sxsabresd_spl_defconfig +++ b/configs/mx6sxsabresd_spl_defconfig @@ -8,8 +8,8 @@ CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y -# CONFIG_CMD_BMODE is not set CONFIG_VIDEO=y +# CONFIG_CMD_BMODE is not set CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg" CONFIG_BOOTDELAY=3 # CONFIG_CONSOLE_MUX is not set diff --git a/configs/mx7dsabresd_defconfig b/configs/mx7dsabresd_defconfig index 52faae43e4..dfe55ac59e 100644 --- a/configs/mx7dsabresd_defconfig +++ b/configs/mx7dsabresd_defconfig @@ -1,11 +1,11 @@ CONFIG_ARM=y CONFIG_ARCH_MX7=y CONFIG_TARGET_MX7DSABRESD=y +CONFIG_VIDEO=y # CONFIG_ARMV7_VIRT is not set CONFIG_IMX_RDC=y CONFIG_IMX_BOOTAUX=y # CONFIG_CMD_BMODE is not set -CONFIG_VIDEO=y CONFIG_DEFAULT_DEVICE_TREE="imx7d-sdb" CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx7dsabresd/imximage.cfg" CONFIG_BOOTDELAY=3 diff --git a/configs/nanopi_neo_air_defconfig b/configs/nanopi_neo_air_defconfig index 5400d37bd1..a73640e88f 100644 --- a/configs/nanopi_neo_air_defconfig +++ b/configs/nanopi_neo_air_defconfig @@ -4,6 +4,7 @@ CONFIG_MACH_SUN8I_H3=y CONFIG_DRAM_CLK=408 CONFIG_DRAM_ZQ=3881979 CONFIG_DRAM_ODT_EN=y +# CONFIG_VIDEO_DE2 is not set CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-nanopi-neo-air" # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set CONFIG_CONSOLE_MUX=y @@ -15,4 +16,3 @@ CONFIG_SPL=y # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set CONFIG_USB_EHCI_HCD=y -# CONFIG_VIDEO_DE2 is not set diff --git a/configs/nanopi_neo_defconfig b/configs/nanopi_neo_defconfig index 5afd5d565a..8b55497250 100644 --- a/configs/nanopi_neo_defconfig +++ b/configs/nanopi_neo_defconfig @@ -4,6 +4,7 @@ CONFIG_MACH_SUN8I_H3=y CONFIG_DRAM_CLK=408 CONFIG_DRAM_ZQ=3881979 CONFIG_DRAM_ODT_EN=y +# CONFIG_VIDEO_DE2 is not set CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-nanopi-neo" # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set CONFIG_CONSOLE_MUX=y @@ -16,4 +17,3 @@ CONFIG_SPL=y # CONFIG_SPL_EFI_PARTITION is not set CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y -# CONFIG_VIDEO_DE2 is not set diff --git a/configs/netgear_cg3100d_ram_defconfig b/configs/netgear_cg3100d_ram_defconfig index a6eff10b6a..e3537943e5 100644 --- a/configs/netgear_cg3100d_ram_defconfig +++ b/configs/netgear_cg3100d_ram_defconfig @@ -1,56 +1,44 @@ +CONFIG_MIPS=y +CONFIG_SYS_TEXT_BASE=0x80010000 CONFIG_ARCH_BMIPS=y -CONFIG_BAUDRATE=115200 -CONFIG_BCM6345_CLK=y -CONFIG_BCM6345_GPIO=y -CONFIG_BCM6345_SERIAL=y -CONFIG_BMIPS_BOOT_RAM=y -CONFIG_BOARD_NETGEAR_CG3100D=y -# CONFIG_CMD_BOOTD is not set -CONFIG_CMD_BOOTM=y +# CONFIG_MIPS_BOOT_CMDLINE_LEGACY is not set +# CONFIG_MIPS_BOOT_ENV_LEGACY is not set +CONFIG_MIPS_BOOT_FDT=y +CONFIG_DEFAULT_DEVICE_TREE="netgear,cg3100d" +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_DISPLAY_CPUINFO=y +CONFIG_HUSH_PARSER=y +CONFIG_SYS_PROMPT="CG3100D # " CONFIG_CMD_CPU=y -# CONFIG_CMD_CRC32 is not set -# CONFIG_CMD_EDITENV is not set +CONFIG_CMD_LICENSE=y +# CONFIG_CMD_BOOTD is not set # CONFIG_CMD_ELF is not set -# CONFIG_CMD_ENV_EXISTS is not set -# CONFIG_CMD_EXPORTENV is not set -# CONFIG_CMD_FLASH is not set -# CONFIG_CMD_FPGA is not set -# CONFIG_CMD_GPIO is not set # CONFIG_CMD_IMLS is not set +# CONFIG_CMD_XIMG is not set +# CONFIG_CMD_EXPORTENV is not set # CONFIG_CMD_IMPORTENV is not set -CONFIG_CMD_LED=y -CONFIG_CMD_LICENSE=y -CONFIG_CMD_LOADB=y -# CONFIG_CMD_LOADS is not set +# CONFIG_CMD_EDITENV is not set +# CONFIG_CMD_SAVEENV is not set +# CONFIG_CMD_ENV_EXISTS is not set +# CONFIG_CMD_CRC32 is not set CONFIG_CMD_MEMINFO=y -# CONFIG_CMD_MISC is not set +# CONFIG_CMD_LOADS is not set +# CONFIG_CMD_FLASH is not set +# CONFIG_CMD_FPGA is not set # CONFIG_CMD_NET is not set # CONFIG_CMD_NFS is not set -# CONFIG_CMD_SAVEENV is not set -# CONFIG_CMD_XIMG is not set -CONFIG_DEFAULT_DEVICE_TREE="netgear,cg3100d" -CONFIG_DISPLAY_CPUINFO=y +# CONFIG_CMD_MISC is not set # CONFIG_DM_DEVICE_REMOVE is not set CONFIG_DM_GPIO=y -CONFIG_DM_RESET=y -CONFIG_DM_SERIAL=y -CONFIG_HUSH_PARSER=y +CONFIG_BCM6345_GPIO=y CONFIG_LED=y CONFIG_LED_BCM6328=y CONFIG_LED_BLINK=y CONFIG_LED_GPIO=y -CONFIG_MIPS=y -# CONFIG_MIPS_BOOT_CMDLINE_LEGACY is not set -# CONFIG_MIPS_BOOT_ENV_LEGACY is not set -CONFIG_MIPS_BOOT_FDT=y -CONFIG_OF_STDOUT_VIA_ALIAS=y -CONFIG_RESET=y +CONFIG_DM_RESET=y CONFIG_RESET_BCM6345=y -CONFIG_SOC_BMIPS_BCM3380=y # CONFIG_SPL_SERIAL_PRESENT is not set -# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_SYS_NO_FLASH=y -CONFIG_SYS_PROMPT="CG3100D # " -CONFIG_SYS_TEXT_BASE=0x80010000 -CONFIG_WDT=y +CONFIG_DM_SERIAL=y +CONFIG_BCM6345_SERIAL=y CONFIG_WDT_BCM6345=y diff --git a/configs/novena_defconfig b/configs/novena_defconfig index 3c7589bf78..afacea7e71 100644 --- a/configs/novena_defconfig +++ b/configs/novena_defconfig @@ -9,9 +9,9 @@ CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y +CONFIG_VIDEO=y CONFIG_SPL_FAT_SUPPORT=y CONFIG_CMD_HDMIDETECT=y -CONFIG_VIDEO=y CONFIG_DISTRO_DEFAULTS=y CONFIG_FIT=y CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6Q" diff --git a/configs/omap3_logic_defconfig b/configs/omap3_logic_defconfig index aa7035821e..a8315857e3 100644 --- a/configs/omap3_logic_defconfig +++ b/configs/omap3_logic_defconfig @@ -29,7 +29,6 @@ CONFIG_OF_CONTROL=y # CONFIG_BLK is not set CONFIG_DM_I2C=y CONFIG_DM_MMC=y -# CONFIG_DM_MMC_OPS is not set CONFIG_MMC_OMAP_HS=y CONFIG_MMC_OMAP36XX_PINS=y CONFIG_SYS_NS16550=y diff --git a/configs/opos6uldev_defconfig b/configs/opos6uldev_defconfig index 1a9d6cddc3..f08e1dd404 100644 --- a/configs/opos6uldev_defconfig +++ b/configs/opos6uldev_defconfig @@ -7,8 +7,8 @@ CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y -# CONFIG_CMD_BMODE is not set CONFIG_VIDEO=y +# CONFIG_CMD_BMODE is not set CONFIG_DEFAULT_DEVICE_TREE="imx6ul-opos6uldev" CONFIG_BOOTDELAY=5 # CONFIG_CONSOLE_MUX is not set diff --git a/configs/orangepi_2_defconfig b/configs/orangepi_2_defconfig index 201771ee8f..dffba8cad1 100644 --- a/configs/orangepi_2_defconfig +++ b/configs/orangepi_2_defconfig @@ -8,7 +8,6 @@ CONFIG_DRAM_ODT_EN=y CONFIG_USB1_VBUS_PIN="PG13" CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-2" # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_CONSOLE_MUX=y CONFIG_SPL=y CONFIG_SPL_I2C_SUPPORT=y # CONFIG_CMD_IMLS is not set diff --git a/configs/orangepi_lite_defconfig b/configs/orangepi_lite_defconfig index 38f4583fd0..448a1619c0 100644 --- a/configs/orangepi_lite_defconfig +++ b/configs/orangepi_lite_defconfig @@ -6,7 +6,6 @@ CONFIG_DRAM_ZQ=3881979 CONFIG_DRAM_ODT_EN=y CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-lite" # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_CONSOLE_MUX=y CONFIG_SPL=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set diff --git a/configs/orangepi_one_defconfig b/configs/orangepi_one_defconfig index 56c9a871b1..97d0e06276 100644 --- a/configs/orangepi_one_defconfig +++ b/configs/orangepi_one_defconfig @@ -6,7 +6,6 @@ CONFIG_DRAM_ZQ=3881979 CONFIG_DRAM_ODT_EN=y CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-one" # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_CONSOLE_MUX=y CONFIG_SPL=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set diff --git a/configs/orangepi_pc2_defconfig b/configs/orangepi_pc2_defconfig index 8e01284f75..5a64ad3f41 100644 --- a/configs/orangepi_pc2_defconfig +++ b/configs/orangepi_pc2_defconfig @@ -6,7 +6,6 @@ CONFIG_DRAM_CLK=672 CONFIG_DRAM_ZQ=3881977 CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-orangepi-pc2" # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_CONSOLE_MUX=y CONFIG_SPL=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set diff --git a/configs/orangepi_pc_defconfig b/configs/orangepi_pc_defconfig index 9d4cb0e673..af7568fddf 100644 --- a/configs/orangepi_pc_defconfig +++ b/configs/orangepi_pc_defconfig @@ -6,7 +6,6 @@ CONFIG_DRAM_ZQ=3881979 CONFIG_DRAM_ODT_EN=y CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-pc" # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_CONSOLE_MUX=y CONFIG_SPL=y CONFIG_SPL_I2C_SUPPORT=y # CONFIG_CMD_IMLS is not set diff --git a/configs/orangepi_pc_plus_defconfig b/configs/orangepi_pc_plus_defconfig index 0addd1938d..935e96d10a 100644 --- a/configs/orangepi_pc_plus_defconfig +++ b/configs/orangepi_pc_plus_defconfig @@ -7,7 +7,6 @@ CONFIG_DRAM_ODT_EN=y CONFIG_MMC_SUNXI_SLOT_EXTRA=2 CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-pc-plus" # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_CONSOLE_MUX=y CONFIG_SPL=y CONFIG_SPL_I2C_SUPPORT=y # CONFIG_CMD_IMLS is not set diff --git a/configs/orangepi_plus2e_defconfig b/configs/orangepi_plus2e_defconfig index 52ec86a4bf..3301ca05a4 100644 --- a/configs/orangepi_plus2e_defconfig +++ b/configs/orangepi_plus2e_defconfig @@ -8,7 +8,6 @@ CONFIG_MACPWR="PD6" CONFIG_MMC_SUNXI_SLOT_EXTRA=2 CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-plus2e" # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_CONSOLE_MUX=y CONFIG_SPL=y CONFIG_SPL_I2C_SUPPORT=y # CONFIG_CMD_IMLS is not set diff --git a/configs/orangepi_plus_defconfig b/configs/orangepi_plus_defconfig index 5e028691c1..34c57509c5 100644 --- a/configs/orangepi_plus_defconfig +++ b/configs/orangepi_plus_defconfig @@ -10,7 +10,6 @@ CONFIG_USB1_VBUS_PIN="PG13" CONFIG_SATAPWR="PG11" CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-plus" # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_CONSOLE_MUX=y CONFIG_SPL=y CONFIG_SPL_I2C_SUPPORT=y # CONFIG_CMD_IMLS is not set diff --git a/configs/orangepi_zero_defconfig b/configs/orangepi_zero_defconfig index 97ef08994a..c650ce87d9 100644 --- a/configs/orangepi_zero_defconfig +++ b/configs/orangepi_zero_defconfig @@ -5,6 +5,7 @@ CONFIG_MACH_SUN8I_H3=y CONFIG_DRAM_CLK=672 CONFIG_DRAM_ZQ=3881979 CONFIG_DRAM_ODT_EN=y +# CONFIG_VIDEO_DE2 is not set CONFIG_DEFAULT_DEVICE_TREE="sun8i-h2-plus-orangepi-zero" # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set CONFIG_CONSOLE_MUX=y @@ -15,4 +16,3 @@ CONFIG_SPL=y CONFIG_SPL_SPI_SUNXI=y CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y -# CONFIG_VIDEO_DE2 is not set diff --git a/configs/pcm051_rev1_defconfig b/configs/pcm051_rev1_defconfig index 6b4e229f50..466aa511ba 100644 --- a/configs/pcm051_rev1_defconfig +++ b/configs/pcm051_rev1_defconfig @@ -10,7 +10,6 @@ CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y CONFIG_SPL_FAT_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_SYS_EXTRA_OPTIONS="REV1" CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y @@ -23,6 +22,7 @@ CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_NET_SUPPORT=y CONFIG_SPL_NET_VCI_STRING="pcm051 U-Boot SPL" CONFIG_SPL_OS_BOOT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_CMD_BOOTZ=y diff --git a/configs/pcm051_rev3_defconfig b/configs/pcm051_rev3_defconfig index 6baca9650b..7150e79ed6 100644 --- a/configs/pcm051_rev3_defconfig +++ b/configs/pcm051_rev3_defconfig @@ -10,7 +10,6 @@ CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y CONFIG_SPL_FAT_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_SYS_EXTRA_OPTIONS="REV3" CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y @@ -23,6 +22,7 @@ CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_NET_SUPPORT=y CONFIG_SPL_NET_VCI_STRING="pcm051 U-Boot SPL" CONFIG_SPL_OS_BOOT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_CMD_BOOTZ=y diff --git a/configs/pengwyn_defconfig b/configs/pengwyn_defconfig index 8693dea534..973f3cd53b 100644 --- a/configs/pengwyn_defconfig +++ b/configs/pengwyn_defconfig @@ -11,7 +11,6 @@ CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_NAND_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y CONFIG_SPL_FAT_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y CONFIG_ARCH_MISC_INIT=y @@ -24,6 +23,7 @@ CONFIG_SPL_MTD_SUPPORT=y CONFIG_SPL_NET_SUPPORT=y CONFIG_SPL_NET_VCI_STRING="AM335x U-Boot SPL" CONFIG_SPL_OS_BOOT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_CMD_BOOTZ=y diff --git a/configs/pepper_defconfig b/configs/pepper_defconfig index 4b122d6d8c..11570a8126 100644 --- a/configs/pepper_defconfig +++ b/configs/pepper_defconfig @@ -10,12 +10,12 @@ CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y CONFIG_SPL_FAT_SUPPORT=y -CONFIG_SPL_POWER_SUPPORT=y CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y CONFIG_SPL=y CONFIG_SPL_EXT_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y +CONFIG_SPL_POWER_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_SYS_PROMPT="pepper# " CONFIG_CMD_BOOTZ=y diff --git a/configs/pine64_plus_defconfig b/configs/pine64_plus_defconfig index 593e24a836..a509ca92b2 100644 --- a/configs/pine64_plus_defconfig +++ b/configs/pine64_plus_defconfig @@ -3,9 +3,7 @@ CONFIG_ARCH_SUNXI=y CONFIG_MACH_SUN50I=y CONFIG_RESERVE_ALLWINNER_BOOT0_HEADER=y CONFIG_DEFAULT_DEVICE_TREE="sun50i-a64-pine64-plus" -CONFIG_OF_LIST="sun50i-a64-pine64 sun50i-a64-pine64-plus" # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_CONSOLE_MUX=y CONFIG_SPL=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set @@ -13,5 +11,6 @@ CONFIG_SPL=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set +CONFIG_OF_LIST="sun50i-a64-pine64 sun50i-a64-pine64-plus" CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y diff --git a/configs/puma-rk3399_defconfig b/configs/puma-rk3399_defconfig index 62453604c6..2fb4f040f5 100644 --- a/configs/puma-rk3399_defconfig +++ b/configs/puma-rk3399_defconfig @@ -10,7 +10,6 @@ CONFIG_SPL_SPI_SUPPORT=y CONFIG_SPL_STACK_R_ADDR=0x80000 CONFIG_DEFAULT_DEVICE_TREE="rk3399-puma" CONFIG_FIT=y -CONFIG_SPL_FIT=y CONFIG_SPL_LOAD_FIT=y # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set diff --git a/configs/pxm2_defconfig b/configs/pxm2_defconfig index 67bdfd63f2..9c49ae9b43 100644 --- a/configs/pxm2_defconfig +++ b/configs/pxm2_defconfig @@ -13,8 +13,8 @@ CONFIG_SPL_NAND_SUPPORT=y CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y -CONFIG_SPL_FAT_SUPPORT=y CONFIG_VIDEO=y +CONFIG_SPL_FAT_SUPPORT=y CONFIG_DEFAULT_DEVICE_TREE="am335x-pxm50" CONFIG_BOOTDELAY=3 # CONFIG_CONSOLE_MUX is not set diff --git a/configs/r8a7795_salvator-x_defconfig b/configs/r8a7795_salvator-x_defconfig index 1eba299242..3c340b1bc6 100644 --- a/configs/r8a7795_salvator-x_defconfig +++ b/configs/r8a7795_salvator-x_defconfig @@ -3,30 +3,19 @@ CONFIG_ARCH_RMOBILE=y CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_RCAR_GEN3=y CONFIG_TARGET_SALVATOR_X=y -CONFIG_DEFAULT_FDT_FILE=r8a7795-salvator-x.dtb CONFIG_VERSION_VARIABLE=y CONFIG_CMD_BOOTZ=y -CONFIG_CMD_FDT=y -CONFIG_R8A7795=y -CONFIG_SH_SDHI=y # CONFIG_CMD_IMLS is not set -CONFIG_CMD_EDITENV=y -CONFIG_CMD_SAVEENV=y -CONFIG_CMD_NET=y -CONFIG_CMD_NFS=y +CONFIG_CMD_USB=y +CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y CONFIG_CMD_FAT=y CONFIG_CMD_DHCP=y CONFIG_CMD_USB=y +CONFIG_DM_ETH=y +CONFIG_RENESAS_RAVB=y CONFIG_USB=y -CONFIG_USB_HOST=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y -CONFIG_USB_EHCI_RCAR_GEN3=y -CONFIG_DOS_PARTITION=y -CONFIG_MMC=y -CONFIG_GENERIC_MMC=y CONFIG_OF_LIBFDT=y -CONFIG_DM_ETH=y -CONFIG_RENESAS_RAVB=y diff --git a/configs/r8a7796_salvator-x_defconfig b/configs/r8a7796_salvator-x_defconfig index 5bd762da79..bdbb6259d9 100644 --- a/configs/r8a7796_salvator-x_defconfig +++ b/configs/r8a7796_salvator-x_defconfig @@ -2,31 +2,21 @@ CONFIG_ARM=y CONFIG_ARCH_RMOBILE=y CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_RCAR_GEN3=y +CONFIG_R8A7796=y CONFIG_TARGET_SALVATOR_X=y -CONFIG_DEFAULT_FDT_FILE=r8a7796-salvator-x.dtb CONFIG_VERSION_VARIABLE=y CONFIG_CMD_BOOTZ=y -CONFIG_CMD_FDT=y -CONFIG_R8A7796=y -CONFIG_SH_SDHI=y # CONFIG_CMD_IMLS is not set -CONFIG_CMD_EDITENV=y -CONFIG_CMD_SAVEENV=y -CONFIG_CMD_NET=y -CONFIG_CMD_NFS=y +CONFIG_CMD_USB=y +CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y CONFIG_CMD_FAT=y CONFIG_CMD_DHCP=y CONFIG_CMD_USB=y +CONFIG_DM_ETH=y +CONFIG_RENESAS_RAVB=y CONFIG_USB=y -CONFIG_USB_HOST=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y -CONFIG_USB_EHCI_RCAR_GEN3=y -CONFIG_DOS_PARTITION=y -CONFIG_MMC=y -CONFIG_GENERIC_MMC=y CONFIG_OF_LIBFDT=y -CONFIG_DM_ETH=y -CONFIG_RENESAS_RAVB=y diff --git a/configs/rut_defconfig b/configs/rut_defconfig index f09a67e62c..f3f5e4dbf3 100644 --- a/configs/rut_defconfig +++ b/configs/rut_defconfig @@ -13,8 +13,8 @@ CONFIG_SPL_NAND_SUPPORT=y CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y -CONFIG_SPL_FAT_SUPPORT=y CONFIG_VIDEO=y +CONFIG_SPL_FAT_SUPPORT=y CONFIG_DEFAULT_DEVICE_TREE="am335x-rut" CONFIG_BOOTDELAY=3 # CONFIG_CONSOLE_MUX is not set diff --git a/configs/sagem_f@st1704_ram_defconfig b/configs/sagem_f@st1704_ram_defconfig index 8e89c1548c..8b5d7f4d65 100644 --- a/configs/sagem_f@st1704_ram_defconfig +++ b/configs/sagem_f@st1704_ram_defconfig @@ -1,52 +1,42 @@ +CONFIG_MIPS=y +CONFIG_SYS_TEXT_BASE=0x80010000 CONFIG_ARCH_BMIPS=y -CONFIG_BAUDRATE=115200 -CONFIG_BCM6345_CLK=y -CONFIG_BCM6345_GPIO=y -CONFIG_BCM6345_SERIAL=y -CONFIG_BMIPS_BOOT_RAM=y -CONFIG_BOARD_SAGEM_FAST1704=y -# CONFIG_CMD_BOOTD is not set -CONFIG_CMD_BOOTM=y +CONFIG_SOC_BMIPS_BCM6338=y +# CONFIG_MIPS_BOOT_CMDLINE_LEGACY is not set +# CONFIG_MIPS_BOOT_ENV_LEGACY is not set +CONFIG_MIPS_BOOT_FDT=y +CONFIG_DEFAULT_DEVICE_TREE="sagem,f@st1704" +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_DISPLAY_CPUINFO=y +CONFIG_HUSH_PARSER=y +CONFIG_SYS_PROMPT="F@ST1704 # " CONFIG_CMD_CPU=y -# CONFIG_CMD_CRC32 is not set -# CONFIG_CMD_EDITENV is not set +CONFIG_CMD_LICENSE=y +# CONFIG_CMD_BOOTD is not set # CONFIG_CMD_ELF is not set -# CONFIG_CMD_ENV_EXISTS is not set -# CONFIG_CMD_EXPORTENV is not set -# CONFIG_CMD_FLASH is not set -# CONFIG_CMD_FPGA is not set -# CONFIG_CMD_GPIO is not set # CONFIG_CMD_IMLS is not set +# CONFIG_CMD_XIMG is not set +# CONFIG_CMD_EXPORTENV is not set # CONFIG_CMD_IMPORTENV is not set -CONFIG_CMD_LED=y -CONFIG_CMD_LICENSE=y -CONFIG_CMD_LOADB=y -# CONFIG_CMD_LOADS is not set +# CONFIG_CMD_EDITENV is not set +# CONFIG_CMD_SAVEENV is not set +# CONFIG_CMD_ENV_EXISTS is not set +# CONFIG_CMD_CRC32 is not set CONFIG_CMD_MEMINFO=y -# CONFIG_CMD_MISC is not set +# CONFIG_CMD_LOADS is not set +# CONFIG_CMD_FLASH is not set +# CONFIG_CMD_FPGA is not set # CONFIG_CMD_NET is not set # CONFIG_CMD_NFS is not set -# CONFIG_CMD_SAVEENV is not set -# CONFIG_CMD_XIMG is not set -CONFIG_DEFAULT_DEVICE_TREE="sagem,f@st1704" -CONFIG_DISPLAY_CPUINFO=y +# CONFIG_CMD_MISC is not set # CONFIG_DM_DEVICE_REMOVE is not set CONFIG_DM_GPIO=y -CONFIG_DM_RESET=y -CONFIG_DM_SERIAL=y -CONFIG_HUSH_PARSER=y +CONFIG_BCM6345_GPIO=y CONFIG_LED=y CONFIG_LED_GPIO=y -CONFIG_MIPS=y -# CONFIG_MIPS_BOOT_CMDLINE_LEGACY is not set -# CONFIG_MIPS_BOOT_ENV_LEGACY is not set -CONFIG_MIPS_BOOT_FDT=y -CONFIG_OF_STDOUT_VIA_ALIAS=y -CONFIG_RESET=y +CONFIG_DM_RESET=y CONFIG_RESET_BCM6345=y -CONFIG_SOC_BMIPS_BCM6338=y # CONFIG_SPL_SERIAL_PRESENT is not set -# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_SYS_NO_FLASH=y -CONFIG_SYS_PROMPT="F@ST1704 # " -CONFIG_SYS_TEXT_BASE=0x80010000 +CONFIG_DM_SERIAL=y +CONFIG_BCM6345_SERIAL=y diff --git a/configs/sama5d2_xplained_mmc_defconfig b/configs/sama5d2_xplained_mmc_defconfig index b60e00ce5a..eb0ccb0612 100644 --- a/configs/sama5d2_xplained_mmc_defconfig +++ b/configs/sama5d2_xplained_mmc_defconfig @@ -4,12 +4,12 @@ CONFIG_TARGET_SAMA5D2_XPLAINED=y CONFIG_SPL_GPIO_SUPPORT=y CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y +CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y +CONFIG_SPL_DRIVERS_MISC_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_FAT_SUPPORT=y -CONFIG_SYS_MALLOC_F_LEN=0x2000 -CONFIG_SPL_DRIVERS_MISC_SUPPORT=y CONFIG_DEFAULT_DEVICE_TREE="at91-sama5d2_xplained" CONFIG_FIT=y CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2,SYS_USE_MMC" diff --git a/configs/sama5d2_xplained_spiflash_defconfig b/configs/sama5d2_xplained_spiflash_defconfig index 70a17ed135..1573ff852c 100644 --- a/configs/sama5d2_xplained_spiflash_defconfig +++ b/configs/sama5d2_xplained_spiflash_defconfig @@ -6,9 +6,9 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_SPL_SERIAL_SUPPORT=y +CONFIG_SPL_DRIVERS_MISC_SUPPORT=y CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y -CONFIG_SPL_DRIVERS_MISC_SUPPORT=y CONFIG_DEFAULT_DEVICE_TREE="at91-sama5d2_xplained" CONFIG_FIT=y CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2,SYS_USE_SERIALFLASH" diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig index 662606cd72..b08dbd7b95 100644 --- a/configs/sandbox_defconfig +++ b/configs/sandbox_defconfig @@ -4,7 +4,6 @@ CONFIG_DISTRO_DEFAULTS=y CONFIG_FIT=y CONFIG_FIT_SIGNATURE=y CONFIG_FIT_VERBOSE=y -CONFIG_SPL_LOAD_FIT=y CONFIG_BOOTSTAGE=y CONFIG_BOOTSTAGE_REPORT=y CONFIG_BOOTSTAGE_USER_COUNT=0x20 @@ -120,6 +119,8 @@ CONFIG_PCI=y CONFIG_DM_PCI=y CONFIG_DM_PCI_COMPAT=y CONFIG_PCI_SANDBOX=y +CONFIG_PHY=y +CONFIG_PHY_SANDBOX=y CONFIG_PINCTRL=y CONFIG_PINCONF=y CONFIG_PINCTRL_ROCKCHIP_RK3036=y @@ -175,10 +176,10 @@ CONFIG_CONSOLE_ROTATION=y CONFIG_CONSOLE_TRUETYPE=y CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y CONFIG_VIDEO_SANDBOX_SDL=y +CONFIG_WDT=y +CONFIG_WDT_SANDBOX=y CONFIG_FS_CBFS=y CONFIG_FS_CRAMFS=y -CONFIG_PHY=y -CONFIG_PHY_SANDBOX=y CONFIG_CMD_DHRYSTONE=y CONFIG_TPM=y CONFIG_LZ4=y @@ -187,5 +188,3 @@ CONFIG_UNIT_TEST=y CONFIG_UT_TIME=y CONFIG_UT_DM=y CONFIG_UT_ENV=y -CONFIG_WDT=y -CONFIG_WDT_SANDBOX=y diff --git a/configs/sandbox_flattree_defconfig b/configs/sandbox_flattree_defconfig index 83efb23dbc..17c82840fb 100644 --- a/configs/sandbox_flattree_defconfig +++ b/configs/sandbox_flattree_defconfig @@ -4,7 +4,6 @@ CONFIG_DISTRO_DEFAULTS=y CONFIG_FIT=y CONFIG_FIT_SIGNATURE=y CONFIG_FIT_VERBOSE=y -CONFIG_SPL_LOAD_FIT=y CONFIG_BOOTSTAGE=y CONFIG_BOOTSTAGE_REPORT=y CONFIG_BOOTSTAGE_USER_COUNT=0x20 @@ -112,6 +111,8 @@ CONFIG_PCI=y CONFIG_DM_PCI=y CONFIG_DM_PCI_COMPAT=y CONFIG_PCI_SANDBOX=y +CONFIG_PHY=y +CONFIG_PHY_SANDBOX=y CONFIG_PINCTRL=y CONFIG_PINCONF=y CONFIG_PINCTRL_ROCKCHIP_RK3036=y @@ -124,7 +125,6 @@ CONFIG_PMIC_ACT8846=y CONFIG_DM_PMIC_PFUZE100=y CONFIG_DM_PMIC_MAX77686=y CONFIG_PMIC_PM8916=y -CONFIG_PMIC_RK808=y CONFIG_PMIC_S2MPS11=y CONFIG_DM_PMIC_SANDBOX=y CONFIG_PMIC_S5M8767=y @@ -134,10 +134,11 @@ CONFIG_REGULATOR_ACT8846=y CONFIG_DM_REGULATOR_PFUZE100=y CONFIG_DM_REGULATOR_MAX77686=y CONFIG_DM_REGULATOR_FIXED=y -CONFIG_REGULATOR_RK808=y CONFIG_REGULATOR_S5M8767=y CONFIG_DM_REGULATOR_SANDBOX=y CONFIG_REGULATOR_TPS65090=y +CONFIG_DM_PWM=y +CONFIG_PWM_SANDBOX=y CONFIG_RAM=y CONFIG_REMOTEPROC_SANDBOX=y CONFIG_DM_RESET=y @@ -165,8 +166,6 @@ CONFIG_CONSOLE_ROTATION=y CONFIG_CONSOLE_TRUETYPE=y CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y CONFIG_VIDEO_SANDBOX_SDL=y -CONFIG_PHY=y -CONFIG_PHY_SANDBOX=y CONFIG_CMD_DHRYSTONE=y CONFIG_TPM=y CONFIG_LZ4=y @@ -175,5 +174,3 @@ CONFIG_UNIT_TEST=y CONFIG_UT_TIME=y CONFIG_UT_DM=y CONFIG_UT_ENV=y -CONFIG_DM_PWM=y -CONFIG_PWM_SANDBOX=y diff --git a/configs/sandbox_noblk_defconfig b/configs/sandbox_noblk_defconfig index 519e91f623..85137187df 100644 --- a/configs/sandbox_noblk_defconfig +++ b/configs/sandbox_noblk_defconfig @@ -3,7 +3,6 @@ CONFIG_DEFAULT_DEVICE_TREE="sandbox" CONFIG_FIT=y CONFIG_FIT_SIGNATURE=y CONFIG_FIT_VERBOSE=y -CONFIG_SPL_LOAD_FIT=y CONFIG_BOOTSTAGE=y CONFIG_BOOTSTAGE_REPORT=y CONFIG_BOOTSTAGE_USER_COUNT=0x20 @@ -123,6 +122,8 @@ CONFIG_PCI=y CONFIG_DM_PCI=y CONFIG_DM_PCI_COMPAT=y CONFIG_PCI_SANDBOX=y +CONFIG_PHY=y +CONFIG_PHY_SANDBOX=y CONFIG_PINCTRL=y CONFIG_PINCONF=y CONFIG_PINCTRL_ROCKCHIP_RK3036=y @@ -176,8 +177,6 @@ CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y CONFIG_VIDEO_SANDBOX_SDL=y CONFIG_FS_CBFS=y CONFIG_FS_CRAMFS=y -CONFIG_PHY=y -CONFIG_PHY_SANDBOX=y CONFIG_CMD_DHRYSTONE=y CONFIG_TPM=y CONFIG_LZ4=y diff --git a/configs/sandbox_spl_defconfig b/configs/sandbox_spl_defconfig index 761cfb6f7b..3071a75105 100644 --- a/configs/sandbox_spl_defconfig +++ b/configs/sandbox_spl_defconfig @@ -129,6 +129,8 @@ CONFIG_PCI=y CONFIG_DM_PCI=y CONFIG_DM_PCI_COMPAT=y CONFIG_PCI_SANDBOX=y +CONFIG_PHY=y +CONFIG_PHY_SANDBOX=y CONFIG_PINCTRL=y CONFIG_PINCONF=y CONFIG_PINCTRL_SANDBOX=y @@ -182,8 +184,6 @@ CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y CONFIG_VIDEO_SANDBOX_SDL=y CONFIG_FS_CBFS=y CONFIG_FS_CRAMFS=y -CONFIG_PHY=y -CONFIG_PHY_SANDBOX=y CONFIG_CMD_DHRYSTONE=y CONFIG_TPM=y CONFIG_LZ4=y diff --git a/configs/sfr_nb4-ser_ram_defconfig b/configs/sfr_nb4-ser_ram_defconfig index d7c8329731..537fee75c4 100644 --- a/configs/sfr_nb4-ser_ram_defconfig +++ b/configs/sfr_nb4-ser_ram_defconfig @@ -1,56 +1,46 @@ +CONFIG_MIPS=y +CONFIG_SYS_TEXT_BASE=0x80010000 CONFIG_ARCH_BMIPS=y -CONFIG_BAUDRATE=115200 -CONFIG_BCM6345_CLK=y -CONFIG_BCM6345_GPIO=y -CONFIG_BCM6345_SERIAL=y -CONFIG_BMIPS_BOOT_RAM=y +CONFIG_SOC_BMIPS_BCM6358=y CONFIG_BOARD_SFR_NB4_SER=y -CONFIG_CFI_FLASH=y -# CONFIG_CMD_BOOTD is not set -CONFIG_CMD_BOOTM=y +# CONFIG_MIPS_BOOT_CMDLINE_LEGACY is not set +# CONFIG_MIPS_BOOT_ENV_LEGACY is not set +CONFIG_MIPS_BOOT_FDT=y +CONFIG_DEFAULT_DEVICE_TREE="sfr,nb4-ser" +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_DISPLAY_CPUINFO=y +CONFIG_HUSH_PARSER=y +CONFIG_SYS_PROMPT="NB4-SER # " CONFIG_CMD_CPU=y -# CONFIG_CMD_CRC32 is not set -# CONFIG_CMD_EDITENV is not set +CONFIG_CMD_LICENSE=y +# CONFIG_CMD_BOOTD is not set # CONFIG_CMD_ELF is not set -# CONFIG_CMD_ENV_EXISTS is not set -# CONFIG_CMD_EXPORTENV is not set -CONFIG_CMD_FLASH=y -# CONFIG_CMD_FPGA is not set -# CONFIG_CMD_GPIO is not set # CONFIG_CMD_IMLS is not set +# CONFIG_CMD_XIMG is not set +# CONFIG_CMD_EXPORTENV is not set # CONFIG_CMD_IMPORTENV is not set -CONFIG_CMD_LED=y -CONFIG_CMD_LICENSE=y -CONFIG_CMD_LOADB=y -# CONFIG_CMD_LOADS is not set +# CONFIG_CMD_EDITENV is not set +# CONFIG_CMD_SAVEENV is not set +# CONFIG_CMD_ENV_EXISTS is not set +# CONFIG_CMD_CRC32 is not set CONFIG_CMD_MEMINFO=y -# CONFIG_CMD_MISC is not set +# CONFIG_CMD_LOADS is not set +# CONFIG_CMD_FPGA is not set # CONFIG_CMD_NET is not set # CONFIG_CMD_NFS is not set -# CONFIG_CMD_SAVEENV is not set -# CONFIG_CMD_XIMG is not set -CONFIG_DEFAULT_DEVICE_TREE="sfr,nb4-ser" -CONFIG_DISPLAY_CPUINFO=y +# CONFIG_CMD_MISC is not set # CONFIG_DM_DEVICE_REMOVE is not set CONFIG_DM_GPIO=y -CONFIG_DM_RESET=y -CONFIG_DM_SERIAL=y -CONFIG_HUSH_PARSER=y +CONFIG_BCM6345_GPIO=y CONFIG_LED=y CONFIG_LED_BCM6358=y CONFIG_LED_GPIO=y -CONFIG_MIPS=y -# CONFIG_MIPS_BOOT_CMDLINE_LEGACY is not set -# CONFIG_MIPS_BOOT_ENV_LEGACY is not set -CONFIG_MIPS_BOOT_FDT=y CONFIG_MTD=y -CONFIG_MTD_DEVICE=y CONFIG_MTD_NOR_FLASH=y -CONFIG_OF_STDOUT_VIA_ALIAS=y -CONFIG_RESET=y +CONFIG_CFI_FLASH=y +CONFIG_DM_RESET=y CONFIG_RESET_BCM6345=y -CONFIG_SOC_BMIPS_BCM6358=y # CONFIG_SPL_SERIAL_PRESENT is not set -# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_SYS_PROMPT="NB4-SER # " -CONFIG_SYS_TEXT_BASE=0x80010000 +CONFIG_DM_SERIAL=y +CONFIG_BCM6345_SERIAL=y diff --git a/configs/stm32f746-disco_defconfig b/configs/stm32f746-disco_defconfig index 4322aad14d..ca8d605f9e 100644 --- a/configs/stm32f746-disco_defconfig +++ b/configs/stm32f746-disco_defconfig @@ -1,5 +1,6 @@ CONFIG_ARM=y CONFIG_STM32=y +CONFIG_SYS_MALLOC_F_LEN=0xC00 CONFIG_STM32F7=y CONFIG_TARGET_STM32F746_DISCO=y CONFIG_DEFAULT_DEVICE_TREE="stm32f746-disco" @@ -24,10 +25,10 @@ CONFIG_CMD_DNS=y CONFIG_CMD_LINK_LOCAL=y CONFIG_CMD_TIMER=y CONFIG_OF_CONTROL=y -CONFIG_DM_SEQ_ALIAS=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_NETCONSOLE=y CONFIG_CLK=y +CONFIG_DM_GPIO=y # CONFIG_MMC is not set CONFIG_MTD=y CONFIG_MTD_NOR_FLASH=y @@ -39,17 +40,10 @@ CONFIG_ETH_DESIGNWARE=y CONFIG_PINCTRL=y # CONFIG_PINCTRL_FULL is not set CONFIG_PINCTRL_STM32=y +CONFIG_RAM=y +CONFIG_STM32_SDRAM=y # CONFIG_SPL_SERIAL_PRESENT is not set CONFIG_DM_SPI=y CONFIG_STM32_QSPI=y CONFIG_OF_LIBFDT_OVERLAY=y # CONFIG_EFI_LOADER is not set -CONFIG_CLK=y -CONFIG_PINCTRL=y -# CONFIG_PINCTRL_FULL is not set -CONFIG_PINCTRL_STM32=y -CONFIG_RAM=y -CONFIG_STM32_SDRAM=y -CONFIG_DM_GPIO=y -CONFIG_STM32F7_GPIO=y -CONFIG_SYS_MALLOC_F_LEN=0xC00 diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig index da042ae03f..ac8f9c667c 100644 --- a/configs/tbs2910_defconfig +++ b/configs/tbs2910_defconfig @@ -2,11 +2,11 @@ CONFIG_ARM=y CONFIG_SYS_THUMB_BUILD=y CONFIG_ARCH_MX6=y CONFIG_TARGET_TBS2910=y -CONFIG_PRE_CONSOLE_BUFFER=y CONFIG_VIDEO=y CONFIG_CMD_HDMIDETECT=y CONFIG_FIT=y CONFIG_BOOTDELAY=3 +CONFIG_PRE_CONSOLE_BUFFER=y CONFIG_PRE_CON_BUF_ADDR=0x7c000000 CONFIG_BOARD_EARLY_INIT_F=y CONFIG_HUSH_PARSER=y diff --git a/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig b/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig index fbeabdee4e..996143536b 100644 --- a/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig +++ b/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig @@ -3,8 +3,8 @@ CONFIG_SYS_CONFIG_NAME="xilinx_zynqmp_zc1751_xm015_dc1" CONFIG_ARCH_ZYNQMP=y CONFIG_SYS_TEXT_BASE=0x8000000 CONFIG_SYS_MALLOC_F_LEN=0x8000 -CONFIG_ZYNQMP_USB=y CONFIG_IDENT_STRING=" Xilinx ZynqMP ZC1751 xm015 dc1" +CONFIG_ZYNQMP_USB=y CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zc1751-xm015-dc1" CONFIG_AHCI=y CONFIG_DISTRO_DEFAULTS=y diff --git a/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig b/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig index 6682b679b3..01882bf3dd 100644 --- a/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig +++ b/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig @@ -4,9 +4,9 @@ CONFIG_ARCH_ZYNQMP=y CONFIG_SYS_TEXT_BASE=0x8000000 CONFIG_SYS_MALLOC_F_LEN=0x8000 # CONFIG_SPL_LIBDISK_SUPPORT is not set +CONFIG_IDENT_STRING=" Xilinx ZynqMP ZC1751 xm016 dc2" # CONFIG_SPL_FAT_SUPPORT is not set CONFIG_ZYNQMP_USB=y -CONFIG_IDENT_STRING=" Xilinx ZynqMP ZC1751 xm016 dc2" CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zc1751-xm016-dc2" CONFIG_DISTRO_DEFAULTS=y CONFIG_FIT=y diff --git a/configs/xilinx_zynqmp_zcu102_defconfig b/configs/xilinx_zynqmp_zcu102_defconfig index bfb5c04153..e7433198dd 100644 --- a/configs/xilinx_zynqmp_zcu102_defconfig +++ b/configs/xilinx_zynqmp_zcu102_defconfig @@ -3,8 +3,8 @@ CONFIG_SYS_CONFIG_NAME="xilinx_zynqmp_zcu102" CONFIG_ARCH_ZYNQMP=y CONFIG_SYS_TEXT_BASE=0x8000000 CONFIG_SYS_MALLOC_F_LEN=0x8000 -CONFIG_ZYNQMP_USB=y CONFIG_IDENT_STRING=" Xilinx ZynqMP ZCU102" +CONFIG_ZYNQMP_USB=y CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zcu102" CONFIG_AHCI=y CONFIG_DISTRO_DEFAULTS=y diff --git a/configs/xilinx_zynqmp_zcu102_revB_defconfig b/configs/xilinx_zynqmp_zcu102_revB_defconfig index 4ba1ac6488..afad4fa1e7 100644 --- a/configs/xilinx_zynqmp_zcu102_revB_defconfig +++ b/configs/xilinx_zynqmp_zcu102_revB_defconfig @@ -3,8 +3,8 @@ CONFIG_SYS_CONFIG_NAME="xilinx_zynqmp_zcu102" CONFIG_ARCH_ZYNQMP=y CONFIG_SYS_TEXT_BASE=0x8000000 CONFIG_SYS_MALLOC_F_LEN=0x8000 -CONFIG_ZYNQMP_USB=y CONFIG_IDENT_STRING=" Xilinx ZynqMP ZCU102" +CONFIG_ZYNQMP_USB=y CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zcu102-revB" CONFIG_AHCI=y CONFIG_DISTRO_DEFAULTS=y

+Tom
Hi Tom,
On Tue, Jun 6, 2017 at 3:14 AM, Simon Glass sjg@chromium.org wrote:
Rsync all defconfig files using moveconfig.py
Signed-off-by: Simon Glass sjg@chromium.org
configs/Sinovoip_BPI_M2_Plus_defconfig | 1 - configs/UCP1020_SPIFLASH_defconfig | 2 +- configs/UCP1020_defconfig | 2 +- configs/adp-ae3xx_defconfig | 6 +-- configs/adp-ag101p_defconfig | 6 +-- configs/am335x_baltos_defconfig | 4 +- configs/am335x_boneblack_vboot_defconfig | 1 - configs/am335x_evm_defconfig | 1 - configs/am335x_hs_evm_defconfig | 4 -- configs/am335x_igep003x_defconfig | 6 +-- configs/am335x_shc_defconfig | 4 +- configs/am335x_shc_ict_defconfig | 4 +- configs/am335x_shc_netboot_defconfig | 4 +- configs/am335x_shc_prompt_defconfig | 4 +- configs/am335x_shc_sdboot_defconfig | 4 +- configs/am335x_shc_sdboot_prompt_defconfig | 4 +- configs/am335x_sl50_defconfig | 4 +- configs/am43xx_evm_defconfig | 3 +- configs/am43xx_evm_usbhost_boot_defconfig | 1 - configs/am43xx_hs_evm_defconfig | 3 +- configs/am57xx_evm_defconfig | 5 +- configs/am57xx_hs_evm_defconfig | 5 +- configs/at91sam9263ek_norflash_boot_defconfig | 2 +- configs/at91sam9263ek_norflash_defconfig | 2 +- configs/bcm958622hr_defconfig | 2 +- configs/birdland_bav335a_defconfig | 2 +- configs/birdland_bav335b_defconfig | 2 +- configs/blanche_defconfig | 1 - configs/brppt1_mmc_defconfig | 2 +- configs/brppt1_nand_defconfig | 2 +- configs/brppt1_spi_defconfig | 2 +- configs/brxre1_defconfig | 2 +- configs/chiliboard_defconfig | 4 +- configs/chromebook_minnie_defconfig | 2 +- configs/clearfog_defconfig | 2 - configs/cm_fx6_defconfig | 2 +- configs/cm_t335_defconfig | 2 +- configs/cm_t43_defconfig | 2 +- configs/colibri_imx7_defconfig | 2 +- configs/colibri_vf_defconfig | 2 +- configs/comtrend_ar5387un_ram_defconfig | 66 ++++++++++------------- configs/comtrend_ct5361_ram_defconfig | 68 ++++++++++-------------- configs/comtrend_vr3032u_ram_defconfig | 66 ++++++++++------------- configs/dra7xx_evm_defconfig | 12 ++--- configs/dra7xx_hs_evm_defconfig | 9 ++-- configs/evb-ast2500_defconfig | 12 ++--- configs/evb-rk3399_defconfig | 5 +- configs/firefly-rk3399_defconfig | 1 - configs/gwventana_emmc_defconfig | 2 +- configs/gwventana_gw5904_defconfig | 2 +- configs/gwventana_nand_defconfig | 2 +- configs/huawei_hg556a_ram_defconfig | 67 ++++++++++------------- configs/imx6qdl_icore_mmc_defconfig | 4 +- configs/imx6qdl_icore_rqs_mmc_defconfig | 2 +- configs/k2e_evm_defconfig | 5 +- configs/k2e_hs_evm_defconfig | 3 +- configs/k2g_evm_defconfig | 5 +- configs/k2g_hs_evm_defconfig | 6 +-- configs/k2hk_evm_defconfig | 4 +- configs/k2hk_hs_evm_defconfig | 3 +- configs/k2l_evm_defconfig | 4 +- configs/ls2081ardb_defconfig | 13 ++--- configs/ls2088ardb_qspi_defconfig | 13 ++--- configs/m53evk_defconfig | 2 +- configs/mx51evk_defconfig | 2 +- configs/mx53cx9020_defconfig | 2 +- configs/mx53loco_defconfig | 2 +- configs/mx6cuboxi_defconfig | 2 +- configs/mx6sxsabresd_defconfig | 2 +- configs/mx6sxsabresd_spl_defconfig | 2 +- configs/mx7dsabresd_defconfig | 2 +- configs/nanopi_neo_air_defconfig | 2 +- configs/nanopi_neo_defconfig | 2 +- configs/netgear_cg3100d_ram_defconfig | 66 ++++++++++------------- configs/novena_defconfig | 2 +- configs/omap3_logic_defconfig | 1 - configs/opos6uldev_defconfig | 2 +- configs/orangepi_2_defconfig | 1 - configs/orangepi_lite_defconfig | 1 - configs/orangepi_one_defconfig | 1 - configs/orangepi_pc2_defconfig | 1 - configs/orangepi_pc_defconfig | 1 - configs/orangepi_pc_plus_defconfig | 1 - configs/orangepi_plus2e_defconfig | 1 - configs/orangepi_plus_defconfig | 1 - configs/orangepi_zero_defconfig | 2 +- configs/pcm051_rev1_defconfig | 2 +- configs/pcm051_rev3_defconfig | 2 +- configs/pengwyn_defconfig | 2 +- configs/pepper_defconfig | 2 +- configs/pine64_plus_defconfig | 3 +- configs/puma-rk3399_defconfig | 1 - configs/pxm2_defconfig | 2 +- configs/r8a7795_salvator-x_defconfig | 19 ++----- configs/r8a7796_salvator-x_defconfig | 20 ++----- configs/rut_defconfig | 2 +- configs/sagem_f@st1704_ram_defconfig | 66 ++++++++++------------- configs/sama5d2_xplained_mmc_defconfig | 4 +- configs/sama5d2_xplained_spiflash_defconfig | 2 +- configs/sandbox_defconfig | 9 ++-- configs/sandbox_flattree_defconfig | 11 ++-- configs/sandbox_noblk_defconfig | 5 +- configs/sandbox_spl_defconfig | 4 +- configs/sfr_nb4-ser_ram_defconfig | 66 ++++++++++------------- configs/stm32f746-disco_defconfig | 14 ++--- configs/tbs2910_defconfig | 2 +- configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig | 2 +- configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig | 2 +- configs/xilinx_zynqmp_zcu102_defconfig | 2 +- configs/xilinx_zynqmp_zcu102_revB_defconfig | 2 +- 110 files changed, 337 insertions(+), 499 deletions(-)
I believe a better way is to have someone schedule such house keeping before each release. What do you think?
Regards, Bin

On Tue, Jun 13, 2017 at 09:21:25AM +0800, Bin Meng wrote:
+Tom
Hi Tom,
On Tue, Jun 6, 2017 at 3:14 AM, Simon Glass sjg@chromium.org wrote:
Rsync all defconfig files using moveconfig.py
Signed-off-by: Simon Glass sjg@chromium.org
configs/Sinovoip_BPI_M2_Plus_defconfig | 1 - configs/UCP1020_SPIFLASH_defconfig | 2 +- configs/UCP1020_defconfig | 2 +- configs/adp-ae3xx_defconfig | 6 +-- configs/adp-ag101p_defconfig | 6 +-- configs/am335x_baltos_defconfig | 4 +- configs/am335x_boneblack_vboot_defconfig | 1 - configs/am335x_evm_defconfig | 1 - configs/am335x_hs_evm_defconfig | 4 -- configs/am335x_igep003x_defconfig | 6 +-- configs/am335x_shc_defconfig | 4 +- configs/am335x_shc_ict_defconfig | 4 +- configs/am335x_shc_netboot_defconfig | 4 +- configs/am335x_shc_prompt_defconfig | 4 +- configs/am335x_shc_sdboot_defconfig | 4 +- configs/am335x_shc_sdboot_prompt_defconfig | 4 +- configs/am335x_sl50_defconfig | 4 +- configs/am43xx_evm_defconfig | 3 +- configs/am43xx_evm_usbhost_boot_defconfig | 1 - configs/am43xx_hs_evm_defconfig | 3 +- configs/am57xx_evm_defconfig | 5 +- configs/am57xx_hs_evm_defconfig | 5 +- configs/at91sam9263ek_norflash_boot_defconfig | 2 +- configs/at91sam9263ek_norflash_defconfig | 2 +- configs/bcm958622hr_defconfig | 2 +- configs/birdland_bav335a_defconfig | 2 +- configs/birdland_bav335b_defconfig | 2 +- configs/blanche_defconfig | 1 - configs/brppt1_mmc_defconfig | 2 +- configs/brppt1_nand_defconfig | 2 +- configs/brppt1_spi_defconfig | 2 +- configs/brxre1_defconfig | 2 +- configs/chiliboard_defconfig | 4 +- configs/chromebook_minnie_defconfig | 2 +- configs/clearfog_defconfig | 2 - configs/cm_fx6_defconfig | 2 +- configs/cm_t335_defconfig | 2 +- configs/cm_t43_defconfig | 2 +- configs/colibri_imx7_defconfig | 2 +- configs/colibri_vf_defconfig | 2 +- configs/comtrend_ar5387un_ram_defconfig | 66 ++++++++++------------- configs/comtrend_ct5361_ram_defconfig | 68 ++++++++++-------------- configs/comtrend_vr3032u_ram_defconfig | 66 ++++++++++------------- configs/dra7xx_evm_defconfig | 12 ++--- configs/dra7xx_hs_evm_defconfig | 9 ++-- configs/evb-ast2500_defconfig | 12 ++--- configs/evb-rk3399_defconfig | 5 +- configs/firefly-rk3399_defconfig | 1 - configs/gwventana_emmc_defconfig | 2 +- configs/gwventana_gw5904_defconfig | 2 +- configs/gwventana_nand_defconfig | 2 +- configs/huawei_hg556a_ram_defconfig | 67 ++++++++++------------- configs/imx6qdl_icore_mmc_defconfig | 4 +- configs/imx6qdl_icore_rqs_mmc_defconfig | 2 +- configs/k2e_evm_defconfig | 5 +- configs/k2e_hs_evm_defconfig | 3 +- configs/k2g_evm_defconfig | 5 +- configs/k2g_hs_evm_defconfig | 6 +-- configs/k2hk_evm_defconfig | 4 +- configs/k2hk_hs_evm_defconfig | 3 +- configs/k2l_evm_defconfig | 4 +- configs/ls2081ardb_defconfig | 13 ++--- configs/ls2088ardb_qspi_defconfig | 13 ++--- configs/m53evk_defconfig | 2 +- configs/mx51evk_defconfig | 2 +- configs/mx53cx9020_defconfig | 2 +- configs/mx53loco_defconfig | 2 +- configs/mx6cuboxi_defconfig | 2 +- configs/mx6sxsabresd_defconfig | 2 +- configs/mx6sxsabresd_spl_defconfig | 2 +- configs/mx7dsabresd_defconfig | 2 +- configs/nanopi_neo_air_defconfig | 2 +- configs/nanopi_neo_defconfig | 2 +- configs/netgear_cg3100d_ram_defconfig | 66 ++++++++++------------- configs/novena_defconfig | 2 +- configs/omap3_logic_defconfig | 1 - configs/opos6uldev_defconfig | 2 +- configs/orangepi_2_defconfig | 1 - configs/orangepi_lite_defconfig | 1 - configs/orangepi_one_defconfig | 1 - configs/orangepi_pc2_defconfig | 1 - configs/orangepi_pc_defconfig | 1 - configs/orangepi_pc_plus_defconfig | 1 - configs/orangepi_plus2e_defconfig | 1 - configs/orangepi_plus_defconfig | 1 - configs/orangepi_zero_defconfig | 2 +- configs/pcm051_rev1_defconfig | 2 +- configs/pcm051_rev3_defconfig | 2 +- configs/pengwyn_defconfig | 2 +- configs/pepper_defconfig | 2 +- configs/pine64_plus_defconfig | 3 +- configs/puma-rk3399_defconfig | 1 - configs/pxm2_defconfig | 2 +- configs/r8a7795_salvator-x_defconfig | 19 ++----- configs/r8a7796_salvator-x_defconfig | 20 ++----- configs/rut_defconfig | 2 +- configs/sagem_f@st1704_ram_defconfig | 66 ++++++++++------------- configs/sama5d2_xplained_mmc_defconfig | 4 +- configs/sama5d2_xplained_spiflash_defconfig | 2 +- configs/sandbox_defconfig | 9 ++-- configs/sandbox_flattree_defconfig | 11 ++-- configs/sandbox_noblk_defconfig | 5 +- configs/sandbox_spl_defconfig | 4 +- configs/sfr_nb4-ser_ram_defconfig | 66 ++++++++++------------- configs/stm32f746-disco_defconfig | 14 ++--- configs/tbs2910_defconfig | 2 +- configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig | 2 +- configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig | 2 +- configs/xilinx_zynqmp_zcu102_defconfig | 2 +- configs/xilinx_zynqmp_zcu102_revB_defconfig | 2 +- 110 files changed, 337 insertions(+), 499 deletions(-)
I believe a better way is to have someone schedule such house keeping before each release. What do you think?
Yes, agreed. I intended to do it right before -rc1, but I'll do it before -rc2 for sure.

This converts the following to Kconfig: CONFIG_SCSI
Signed-off-by: Simon Glass sjg@chromium.org ---
README | 1 - arch/Kconfig | 1 + arch/arm/Kconfig | 10 ++++++++++ arch/arm/cpu/armv7/ls102xa/Kconfig | 1 + arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 2 ++ arch/arm/include/asm/arch-ls102xa/config.h | 1 - arch/arm/mach-mvebu/Kconfig | 2 ++ arch/arm/mach-omap2/omap5/Kconfig | 2 ++ arch/powerpc/cpu/mpc85xx/Kconfig | 1 + arch/powerpc/cpu/mpc86xx/Kconfig | 1 + board/congatec/Kconfig | 1 + board/dfi/Kconfig | 1 + configs/A10-OLinuXino-Lime_defconfig | 1 + configs/A20-OLinuXino-Lime2_defconfig | 1 + configs/A20-OLinuXino-Lime_defconfig | 1 + configs/A20-OLinuXino_MICRO_defconfig | 1 + configs/A20-Olimex-SOM-EVB_defconfig | 1 + configs/Bananapi_M2_Ultra_defconfig | 1 + configs/Bananapi_defconfig | 1 + configs/Bananapro_defconfig | 1 + configs/Cubieboard2_defconfig | 1 + configs/Cubieboard_defconfig | 1 + configs/Cubietruck_defconfig | 1 + configs/Itead_Ibox_A20_defconfig | 1 + configs/Lamobo_R1_defconfig | 1 + configs/Linksprite_pcDuino3_Nano_defconfig | 1 + configs/Linksprite_pcDuino3_defconfig | 1 + configs/MPC8544DS_defconfig | 1 + configs/MPC8610HPCD_defconfig | 1 + configs/Marsboard_A10_defconfig | 1 + configs/Mele_A1000_defconfig | 1 + configs/Mele_M5_defconfig | 1 + configs/Orangepi_defconfig | 1 + configs/Orangepi_mini_defconfig | 1 + configs/PIP405_defconfig | 1 + configs/Wits_Pro_A20_DKT_defconfig | 1 + configs/bayleybay_defconfig | 1 + configs/chromebook_link64_defconfig | 1 + configs/chromebook_link_defconfig | 1 + configs/chromebook_samus_defconfig | 1 + configs/chromebox_panther_defconfig | 1 + configs/cm_t54_defconfig | 1 + configs/controlcenterdc_defconfig | 1 + configs/cougarcanyon2_defconfig | 1 + configs/crownbay_defconfig | 1 + configs/db-88f6820-gp_defconfig | 1 + configs/highbank_defconfig | 1 + configs/ls1012aqds_qspi_defconfig | 1 + configs/ls2081ardb_defconfig | 1 + configs/minnowmax_defconfig | 1 + configs/omap5_uevm_defconfig | 1 + configs/som-db5800-som-6867_defconfig | 1 + configs/xilinx_zynqmp_ep_defconfig | 1 + configs/xilinx_zynqmp_zcu102_defconfig | 1 + configs/xilinx_zynqmp_zcu102_revB_defconfig | 1 + drivers/block/Kconfig | 9 +++++++++ include/config_cmd_all.h | 1 - include/configs/MPC8544DS.h | 1 - include/configs/MPC8572DS.h | 1 - include/configs/MPC8610HPCD.h | 1 - include/configs/MPC8641HPCN.h | 1 - include/configs/PIP405.h | 1 - include/configs/am57xx_evm.h | 1 - include/configs/cm_t54.h | 1 - include/configs/controlcenterdc.h | 1 - include/configs/db-88f6820-gp.h | 1 - include/configs/dra7xx_evm.h | 1 - include/configs/efi-x86.h | 1 - include/configs/galileo.h | 1 - include/configs/highbank.h | 1 - include/configs/ls1012aqds.h | 1 - include/configs/ls1012ardb.h | 1 - include/configs/ls1043aqds.h | 1 - include/configs/ls1046aqds.h | 1 - include/configs/ls1046ardb.h | 1 - include/configs/ls2080aqds.h | 1 - include/configs/ls2080ardb.h | 1 - include/configs/mvebu_armada-37xx.h | 1 - include/configs/mvebu_armada-8k.h | 1 - include/configs/omap5_uevm.h | 1 - include/configs/qemu-x86.h | 1 - include/configs/sandbox.h | 1 - include/configs/sunxi-common.h | 1 - include/configs/x86-common.h | 1 - include/configs/xilinx_zynqmp.h | 1 - scripts/config_whitelist.txt | 1 - 86 files changed, 74 insertions(+), 32 deletions(-)
diff --git a/README b/README index 075d919df3..750b7351fe 100644 --- a/README +++ b/README @@ -881,7 +881,6 @@ The following options need to be configured: CONFIG_CMD_RUN run command in env variable CONFIG_CMD_SANDBOX * sb command to access sandbox features CONFIG_CMD_SAVES * save S record dump - CONFIG_SCSI * SCSI Support CONFIG_CMD_SDRAM * print SDRAM configuration information (requires CONFIG_CMD_I2C) CONFIG_CMD_SETGETDCR Support for DCR Register access diff --git a/arch/Kconfig b/arch/Kconfig index e44767113d..1f874a3e32 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -79,6 +79,7 @@ config SANDBOX imply FAT_WRITE imply HASH_VERIFY imply LZMA + imply SCSI
config SH bool "SuperH architecture" diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index deb7b24682..24bb0baeee 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -787,6 +787,7 @@ config TARGET_LS2080AQDS The LS2080A Development System (QDS) is a high-performance development platform that supports the QorIQ LS2080A Layerscape Architecture processor. + imply SCSI
config TARGET_LS2080ARDB bool "Support ls2080ardb" @@ -801,6 +802,7 @@ config TARGET_LS2080ARDB The LS2080A Reference design board (RDB) is a high-performance development platform that supports the QorIQ LS2080A Layerscape Architecture processor. + imply SCSI
config TARGET_LS2081ARDB bool "Support ls2081ardb" @@ -843,6 +845,7 @@ config TARGET_LS1012ARDB select ARCH_LS1012A select ARM64 select BOARD_LATE_INIT + imply SCSI help Support for Freescale LS1012ARDB platform. The LS1012A Reference design board (RDB) is a high-performance @@ -871,6 +874,7 @@ config TARGET_LS1021AQDS select LS1_DEEP_SLEEP select SYS_FSL_DDR select BOARD_EARLY_INIT_F + imply SCSI
config TARGET_LS1021ATWR bool "Support ls1021atwr" @@ -883,6 +887,7 @@ config TARGET_LS1021ATWR select ARCH_SUPPORT_PSCI select LS1_DEEP_SLEEP select BOARD_EARLY_INIT_F + imply SCSI
config TARGET_LS1021AIOT bool "Support ls1021aiot" @@ -893,6 +898,7 @@ config TARGET_LS1021AIOT select SUPPORT_SPL select ARCH_LS1021A select ARCH_SUPPORT_PSCI + imply SCSI help Support for Freescale LS1021AIOT platform. The LS1021A Freescale board (IOT) is a high-performance @@ -907,6 +913,7 @@ config TARGET_LS1043AQDS select BOARD_LATE_INIT select SUPPORT_SPL select BOARD_EARLY_INIT_F + imply SCSI help Support for Freescale LS1043AQDS platform.
@@ -918,6 +925,7 @@ config TARGET_LS1043ARDB select BOARD_LATE_INIT select SUPPORT_SPL select BOARD_EARLY_INIT_F + imply SCSI help Support for Freescale LS1043ARDB platform.
@@ -930,6 +938,7 @@ config TARGET_LS1046AQDS select SUPPORT_SPL select DM_SPI_FLASH if DM_SPI select BOARD_EARLY_INIT_F + imply SCSI help Support for Freescale LS1046AQDS platform. The LS1046A Development System (QDS) is a high-performance @@ -951,6 +960,7 @@ config TARGET_LS1046ARDB The LS1046A Reference Design Board (RDB) is a high-performance development platform that supports the QorIQ LS1046A Layerscape Architecture processor. + imply SCSI
config TARGET_H2200 bool "Support h2200" diff --git a/arch/arm/cpu/armv7/ls102xa/Kconfig b/arch/arm/cpu/armv7/ls102xa/Kconfig index b61f3cdcde..6a013b2183 100644 --- a/arch/arm/cpu/armv7/ls102xa/Kconfig +++ b/arch/arm/cpu/armv7/ls102xa/Kconfig @@ -14,6 +14,7 @@ config ARCH_LS1021A select SYS_FSL_HAS_SEC select SYS_FSL_SEC_COMPAT_5 select SYS_FSL_SEC_LE + imply SCSI
menu "LS102xA architecture" depends on ARCH_LS1021A diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig index d8b285dcd7..5825f9b726 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig @@ -26,6 +26,7 @@ config ARCH_LS1043A select SYS_FSL_HAS_DDR4 select ARCH_EARLY_INIT_R select BOARD_EARLY_INIT_F + imply SCSI
config ARCH_LS1046A bool @@ -46,6 +47,7 @@ config ARCH_LS1046A select SYS_FSL_SRDS_2 select ARCH_EARLY_INIT_R select BOARD_EARLY_INIT_F + imply SCSI
config ARCH_LS2080A bool diff --git a/arch/arm/include/asm/arch-ls102xa/config.h b/arch/arm/include/asm/arch-ls102xa/config.h index 5c4da0f0e3..fc954c5366 100644 --- a/arch/arm/include/asm/arch-ls102xa/config.h +++ b/arch/arm/include/asm/arch-ls102xa/config.h @@ -81,7 +81,6 @@
/* SATA */ #define AHCI_BASE_ADDR (CONFIG_SYS_IMMR + 0x02200000) -#define CONFIG_SCSI #define CONFIG_LIBATA #define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig index 6ae54ef46a..89476a663a 100644 --- a/arch/arm/mach-mvebu/Kconfig +++ b/arch/arm/mach-mvebu/Kconfig @@ -77,6 +77,7 @@ config TARGET_CLEARFOG config TARGET_MVEBU_ARMADA_37XX bool "Support Armada 37xx platforms" select ARMADA_3700 + imply SCSI
config TARGET_DB_88F6720 bool "Support DB-88F6720 Armada 375" @@ -94,6 +95,7 @@ config TARGET_MVEBU_ARMADA_8K bool "Support Armada 7k/8k platforms" select ARMADA_8K select BOARD_LATE_INIT + imply SCSI
config TARGET_DB_MV784MP_GP bool "Support db-mv784mp-gp" diff --git a/arch/arm/mach-omap2/omap5/Kconfig b/arch/arm/mach-omap2/omap5/Kconfig index 1a66abdeb2..08f45bc868 100644 --- a/arch/arm/mach-omap2/omap5/Kconfig +++ b/arch/arm/mach-omap2/omap5/Kconfig @@ -25,12 +25,14 @@ config TARGET_DRA7XX_EVM select DRA7XX select TI_I2C_BOARD_DETECT select PHYS_64BIT + imply SCSI
config TARGET_AM57XX_EVM bool "AM57XX" select BOARD_LATE_INIT select DRA7XX select TI_I2C_BOARD_DETECT + imply SCSI
endchoice
diff --git a/arch/powerpc/cpu/mpc85xx/Kconfig b/arch/powerpc/cpu/mpc85xx/Kconfig index 88d56a9a32..cbbb19f06d 100644 --- a/arch/powerpc/cpu/mpc85xx/Kconfig +++ b/arch/powerpc/cpu/mpc85xx/Kconfig @@ -125,6 +125,7 @@ config TARGET_MPC8572DS select ARCH_MPC8572 # Use DDR3 controller with DDR2 DIMMs on this board select SYS_FSL_DDRC_GEN3 + imply SCSI
config TARGET_P1010RDB_PA bool "Support P1010RDB_PA" diff --git a/arch/powerpc/cpu/mpc86xx/Kconfig b/arch/powerpc/cpu/mpc86xx/Kconfig index fcac6584e8..2cc180da38 100644 --- a/arch/powerpc/cpu/mpc86xx/Kconfig +++ b/arch/powerpc/cpu/mpc86xx/Kconfig @@ -21,6 +21,7 @@ config TARGET_MPC8610HPCD config TARGET_MPC8641HPCN bool "Support MPC8641HPCN" select ARCH_MPC8641 + imply SCSI
config TARGET_XPEDITE517X bool "Support xpedite517x" diff --git a/board/congatec/Kconfig b/board/congatec/Kconfig index 875d1ae07b..ff5a1d84a1 100644 --- a/board/congatec/Kconfig +++ b/board/congatec/Kconfig @@ -13,6 +13,7 @@ choice config TARGET_CONGA_QEVAL20_QA3_E3845 bool "congatec QEVAL 2.0 & conga-QA3/E3845" select BOARD_LATE_INIT + imply SCSI help This is the congatec Qseven 2.0 evaluation carrier board (conga-QEVAL) equipped with the conga-QA3/E3845-4G SoM. diff --git a/board/dfi/Kconfig b/board/dfi/Kconfig index 25d0a11ce1..d2a1d78783 100644 --- a/board/dfi/Kconfig +++ b/board/dfi/Kconfig @@ -12,6 +12,7 @@ choice
config TARGET_DFI_BT700 bool "DFI BT700 BayTrail" + imply SCSI help This is the DFI Q7X-151 baseboard equipped with the DFI BayTrail Bt700 SoM. It contains an Atom E3845 with diff --git a/configs/A10-OLinuXino-Lime_defconfig b/configs/A10-OLinuXino-Lime_defconfig index ec16a44fbd..914302276f 100644 --- a/configs/A10-OLinuXino-Lime_defconfig +++ b/configs/A10-OLinuXino-Lime_defconfig @@ -18,6 +18,7 @@ CONFIG_SPL_I2C_SUPPORT=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set +CONFIG_SCSI=y CONFIG_SUN4I_EMAC=y CONFIG_AXP_ALDO3_VOLT=2800 CONFIG_AXP_ALDO4_VOLT=2800 diff --git a/configs/A20-OLinuXino-Lime2_defconfig b/configs/A20-OLinuXino-Lime2_defconfig index 1f2daa6706..f7b600be5b 100644 --- a/configs/A20-OLinuXino-Lime2_defconfig +++ b/configs/A20-OLinuXino-Lime2_defconfig @@ -20,6 +20,7 @@ CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_PARTITION_UUIDS is not set +CONFIG_SCSI=y CONFIG_DFU_RAM=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y diff --git a/configs/A20-OLinuXino-Lime_defconfig b/configs/A20-OLinuXino-Lime_defconfig index 7f63d4af54..182a8f5f74 100644 --- a/configs/A20-OLinuXino-Lime_defconfig +++ b/configs/A20-OLinuXino-Lime_defconfig @@ -16,6 +16,7 @@ CONFIG_SPL_I2C_SUPPORT=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set +CONFIG_SCSI=y CONFIG_ETH_DESIGNWARE=y CONFIG_SUN7I_GMAC=y CONFIG_AXP_ALDO3_VOLT=2800 diff --git a/configs/A20-OLinuXino_MICRO_defconfig b/configs/A20-OLinuXino_MICRO_defconfig index 89e87e799b..ae98e41685 100644 --- a/configs/A20-OLinuXino_MICRO_defconfig +++ b/configs/A20-OLinuXino_MICRO_defconfig @@ -19,6 +19,7 @@ CONFIG_SPL_I2C_SUPPORT=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set +CONFIG_SCSI=y CONFIG_ETH_DESIGNWARE=y CONFIG_SUN7I_GMAC=y CONFIG_AXP_ALDO3_VOLT=2800 diff --git a/configs/A20-Olimex-SOM-EVB_defconfig b/configs/A20-Olimex-SOM-EVB_defconfig index 6c87648d4f..61fe5e6390 100644 --- a/configs/A20-Olimex-SOM-EVB_defconfig +++ b/configs/A20-Olimex-SOM-EVB_defconfig @@ -20,6 +20,7 @@ CONFIG_SPL_I2C_SUPPORT=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set +CONFIG_SCSI=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y CONFIG_SUN7I_GMAC=y diff --git a/configs/Bananapi_M2_Ultra_defconfig b/configs/Bananapi_M2_Ultra_defconfig index 4332eca68f..8c409faab8 100644 --- a/configs/Bananapi_M2_Ultra_defconfig +++ b/configs/Bananapi_M2_Ultra_defconfig @@ -14,5 +14,6 @@ CONFIG_SPL_I2C_SUPPORT=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_FPGA is not set +CONFIG_SCSI=y CONFIG_AXP_DLDO4_VOLT=2500 CONFIG_AXP_ELDO3_VOLT=1200 diff --git a/configs/Bananapi_defconfig b/configs/Bananapi_defconfig index fe75eef513..352a18ec8c 100644 --- a/configs/Bananapi_defconfig +++ b/configs/Bananapi_defconfig @@ -17,6 +17,7 @@ CONFIG_SPL_I2C_SUPPORT=y # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set CONFIG_NETCONSOLE=y +CONFIG_SCSI=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y CONFIG_SUN7I_GMAC=y diff --git a/configs/Bananapro_defconfig b/configs/Bananapro_defconfig index df65922e83..4218d5a97a 100644 --- a/configs/Bananapro_defconfig +++ b/configs/Bananapro_defconfig @@ -19,6 +19,7 @@ CONFIG_SPL_I2C_SUPPORT=y # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set CONFIG_NETCONSOLE=y +CONFIG_SCSI=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y CONFIG_SUN7I_GMAC=y diff --git a/configs/Cubieboard2_defconfig b/configs/Cubieboard2_defconfig index 02c503f672..dc2722a9bf 100644 --- a/configs/Cubieboard2_defconfig +++ b/configs/Cubieboard2_defconfig @@ -15,6 +15,7 @@ CONFIG_SPL_I2C_SUPPORT=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set +CONFIG_SCSI=y CONFIG_ETH_DESIGNWARE=y CONFIG_SUN7I_GMAC=y CONFIG_USB_EHCI_HCD=y diff --git a/configs/Cubieboard_defconfig b/configs/Cubieboard_defconfig index a8e9c988d5..f83a691a26 100644 --- a/configs/Cubieboard_defconfig +++ b/configs/Cubieboard_defconfig @@ -15,5 +15,6 @@ CONFIG_SPL_I2C_SUPPORT=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set +CONFIG_SCSI=y CONFIG_SUN4I_EMAC=y CONFIG_USB_EHCI_HCD=y diff --git a/configs/Cubietruck_defconfig b/configs/Cubietruck_defconfig index f9d56c8f9d..cbd535c2bc 100644 --- a/configs/Cubietruck_defconfig +++ b/configs/Cubietruck_defconfig @@ -22,6 +22,7 @@ CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_PARTITION_UUIDS is not set +CONFIG_SCSI=y CONFIG_DFU_RAM=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y diff --git a/configs/Itead_Ibox_A20_defconfig b/configs/Itead_Ibox_A20_defconfig index 4bae19f2fa..bab25b401c 100644 --- a/configs/Itead_Ibox_A20_defconfig +++ b/configs/Itead_Ibox_A20_defconfig @@ -15,6 +15,7 @@ CONFIG_SPL_I2C_SUPPORT=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set +CONFIG_SCSI=y CONFIG_ETH_DESIGNWARE=y CONFIG_SUN7I_GMAC=y CONFIG_USB_EHCI_HCD=y diff --git a/configs/Lamobo_R1_defconfig b/configs/Lamobo_R1_defconfig index cc29d606a9..2ec0847e8a 100644 --- a/configs/Lamobo_R1_defconfig +++ b/configs/Lamobo_R1_defconfig @@ -17,6 +17,7 @@ CONFIG_SPL_I2C_SUPPORT=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set +CONFIG_SCSI=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y CONFIG_SUN7I_GMAC=y diff --git a/configs/Linksprite_pcDuino3_Nano_defconfig b/configs/Linksprite_pcDuino3_Nano_defconfig index 80416cb7b1..1e61cd20ba 100644 --- a/configs/Linksprite_pcDuino3_Nano_defconfig +++ b/configs/Linksprite_pcDuino3_Nano_defconfig @@ -17,6 +17,7 @@ CONFIG_SPL_I2C_SUPPORT=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set +CONFIG_SCSI=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y CONFIG_SUN7I_GMAC=y diff --git a/configs/Linksprite_pcDuino3_defconfig b/configs/Linksprite_pcDuino3_defconfig index b9f89a013e..6f4a02f8d4 100644 --- a/configs/Linksprite_pcDuino3_defconfig +++ b/configs/Linksprite_pcDuino3_defconfig @@ -15,6 +15,7 @@ CONFIG_SPL_I2C_SUPPORT=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set +CONFIG_SCSI=y CONFIG_ETH_DESIGNWARE=y CONFIG_SUN7I_GMAC=y CONFIG_USB_EHCI_HCD=y diff --git a/configs/MPC8544DS_defconfig b/configs/MPC8544DS_defconfig index 1798622e34..3db3a13623 100644 --- a/configs/MPC8544DS_defconfig +++ b/configs/MPC8544DS_defconfig @@ -14,6 +14,7 @@ CONFIG_CMD_MII=y CONFIG_CMD_PING=y # CONFIG_CMD_HASH is not set CONFIG_CMD_EXT2=y +CONFIG_SCSI=y # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y CONFIG_NETDEVICES=y diff --git a/configs/MPC8610HPCD_defconfig b/configs/MPC8610HPCD_defconfig index d9499905fd..6aef6d8434 100644 --- a/configs/MPC8610HPCD_defconfig +++ b/configs/MPC8610HPCD_defconfig @@ -15,6 +15,7 @@ CONFIG_CMD_PING=y CONFIG_CMD_BMP=y CONFIG_CMD_EXT2=y CONFIG_DOS_PARTITION=y +CONFIG_SCSI=y # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y CONFIG_SYS_NS16550=y diff --git a/configs/Marsboard_A10_defconfig b/configs/Marsboard_A10_defconfig index 6b8bd1ad20..516a16f73e 100644 --- a/configs/Marsboard_A10_defconfig +++ b/configs/Marsboard_A10_defconfig @@ -11,6 +11,7 @@ CONFIG_SPL=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set +CONFIG_SCSI=y CONFIG_SUN4I_EMAC=y CONFIG_SUNXI_NO_PMIC=y CONFIG_USB_EHCI_HCD=y diff --git a/configs/Mele_A1000_defconfig b/configs/Mele_A1000_defconfig index 0442360a5c..0c9e8d1693 100644 --- a/configs/Mele_A1000_defconfig +++ b/configs/Mele_A1000_defconfig @@ -15,5 +15,6 @@ CONFIG_SPL_I2C_SUPPORT=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set +CONFIG_SCSI=y CONFIG_SUN4I_EMAC=y CONFIG_USB_EHCI_HCD=y diff --git a/configs/Mele_M5_defconfig b/configs/Mele_M5_defconfig index 4c377e3daf..400a16505a 100644 --- a/configs/Mele_M5_defconfig +++ b/configs/Mele_M5_defconfig @@ -16,6 +16,7 @@ CONFIG_SPL_I2C_SUPPORT=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set +CONFIG_SCSI=y CONFIG_ETH_DESIGNWARE=y CONFIG_SUN7I_GMAC=y CONFIG_USB_EHCI_HCD=y diff --git a/configs/Orangepi_defconfig b/configs/Orangepi_defconfig index b8c1ea4d7c..ed3e6786c6 100644 --- a/configs/Orangepi_defconfig +++ b/configs/Orangepi_defconfig @@ -19,6 +19,7 @@ CONFIG_SPL_I2C_SUPPORT=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set +CONFIG_SCSI=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y CONFIG_SUN7I_GMAC=y diff --git a/configs/Orangepi_mini_defconfig b/configs/Orangepi_mini_defconfig index 19c35ef103..56f405ceed 100644 --- a/configs/Orangepi_mini_defconfig +++ b/configs/Orangepi_mini_defconfig @@ -21,6 +21,7 @@ CONFIG_SPL_I2C_SUPPORT=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set +CONFIG_SCSI=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y CONFIG_SUN7I_GMAC=y diff --git a/configs/PIP405_defconfig b/configs/PIP405_defconfig index 07f1b54ae9..81083b46cc 100644 --- a/configs/PIP405_defconfig +++ b/configs/PIP405_defconfig @@ -26,6 +26,7 @@ CONFIG_CMD_DATE=y CONFIG_CMD_FAT=y CONFIG_MAC_PARTITION=y CONFIG_ISO_PARTITION=y +CONFIG_SCSI=y # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y CONFIG_BAUDRATE=9600 diff --git a/configs/Wits_Pro_A20_DKT_defconfig b/configs/Wits_Pro_A20_DKT_defconfig index 8658ef6b4c..2a2f26d38f 100644 --- a/configs/Wits_Pro_A20_DKT_defconfig +++ b/configs/Wits_Pro_A20_DKT_defconfig @@ -19,6 +19,7 @@ CONFIG_SPL_I2C_SUPPORT=y # CONFIG_SPL_DOS_PARTITION is not set # CONFIG_SPL_ISO_PARTITION is not set # CONFIG_SPL_EFI_PARTITION is not set +CONFIG_SCSI=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y CONFIG_SUN7I_GMAC=y diff --git a/configs/bayleybay_defconfig b/configs/bayleybay_defconfig index d2f9f24a19..14b74c4a16 100644 --- a/configs/bayleybay_defconfig +++ b/configs/bayleybay_defconfig @@ -46,6 +46,7 @@ CONFIG_EFI_PARTITION=y CONFIG_OF_CONTROL=y CONFIG_REGMAP=y CONFIG_SYSCON=y +CONFIG_SCSI=y CONFIG_CPU=y CONFIG_MMC=y CONFIG_MMC_PCI=y diff --git a/configs/chromebook_link64_defconfig b/configs/chromebook_link64_defconfig index 749cfd43b0..8a76de1361 100644 --- a/configs/chromebook_link64_defconfig +++ b/configs/chromebook_link64_defconfig @@ -56,6 +56,7 @@ CONFIG_REGMAP=y CONFIG_SPL_REGMAP=y CONFIG_SYSCON=y CONFIG_SPL_SYSCON=y +CONFIG_SCSI=y CONFIG_CPU=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_INTEL=y diff --git a/configs/chromebook_link_defconfig b/configs/chromebook_link_defconfig index 5ebb556f90..a463270514 100644 --- a/configs/chromebook_link_defconfig +++ b/configs/chromebook_link_defconfig @@ -39,6 +39,7 @@ CONFIG_EFI_PARTITION=y CONFIG_OF_CONTROL=y CONFIG_REGMAP=y CONFIG_SYSCON=y +CONFIG_SCSI=y CONFIG_CPU=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_INTEL=y diff --git a/configs/chromebook_samus_defconfig b/configs/chromebook_samus_defconfig index 60cb9a37d5..4b797a2d36 100644 --- a/configs/chromebook_samus_defconfig +++ b/configs/chromebook_samus_defconfig @@ -39,6 +39,7 @@ CONFIG_EFI_PARTITION=y CONFIG_OF_CONTROL=y CONFIG_REGMAP=y CONFIG_SYSCON=y +CONFIG_SCSI=y CONFIG_CPU=y CONFIG_INTEL_BROADWELL_GPIO=y CONFIG_CROS_EC=y diff --git a/configs/chromebox_panther_defconfig b/configs/chromebox_panther_defconfig index 0d65a90eba..51a934fe7a 100644 --- a/configs/chromebox_panther_defconfig +++ b/configs/chromebox_panther_defconfig @@ -36,6 +36,7 @@ CONFIG_EFI_PARTITION=y CONFIG_OF_CONTROL=y CONFIG_REGMAP=y CONFIG_SYSCON=y +CONFIG_SCSI=y CONFIG_CROS_EC=y CONFIG_CROS_EC_LPC=y CONFIG_SPI_FLASH=y diff --git a/configs/cm_t54_defconfig b/configs/cm_t54_defconfig index ec26f999ba..6d18eac559 100644 --- a/configs/cm_t54_defconfig +++ b/configs/cm_t54_defconfig @@ -38,6 +38,7 @@ CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ISO_PARTITION=y CONFIG_EFI_PARTITION=y +CONFIG_SCSI=y CONFIG_MMC_OMAP_HS=y CONFIG_SYS_NS16550=y CONFIG_USB=y diff --git a/configs/controlcenterdc_defconfig b/configs/controlcenterdc_defconfig index 037f338993..b719f53541 100644 --- a/configs/controlcenterdc_defconfig +++ b/configs/controlcenterdc_defconfig @@ -33,6 +33,7 @@ CONFIG_CMD_EXT4=y CONFIG_EFI_PARTITION=y CONFIG_OF_BOARD_FIXUP=y CONFIG_SPL_OF_TRANSLATE=y +CONFIG_SCSI=y CONFIG_DM_GPIO=y CONFIG_DM_PCA953X=y CONFIG_DM_I2C=y diff --git a/configs/cougarcanyon2_defconfig b/configs/cougarcanyon2_defconfig index f589dec5f4..1008ef7301 100644 --- a/configs/cougarcanyon2_defconfig +++ b/configs/cougarcanyon2_defconfig @@ -29,6 +29,7 @@ CONFIG_EFI_PARTITION=y CONFIG_OF_CONTROL=y CONFIG_REGMAP=y CONFIG_SYSCON=y +CONFIG_SCSI=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_DM_PCI=y diff --git a/configs/crownbay_defconfig b/configs/crownbay_defconfig index 4a88f5f3c5..ac50681e19 100644 --- a/configs/crownbay_defconfig +++ b/configs/crownbay_defconfig @@ -35,6 +35,7 @@ CONFIG_EFI_PARTITION=y CONFIG_OF_CONTROL=y CONFIG_REGMAP=y CONFIG_SYSCON=y +CONFIG_SCSI=y CONFIG_CPU=y CONFIG_MMC=y CONFIG_MMC_PCI=y diff --git a/configs/db-88f6820-gp_defconfig b/configs/db-88f6820-gp_defconfig index 7bdcb818d6..00d02de050 100644 --- a/configs/db-88f6820-gp_defconfig +++ b/configs/db-88f6820-gp_defconfig @@ -36,6 +36,7 @@ CONFIG_EFI_PARTITION=y # CONFIG_PARTITION_UUIDS is not set # CONFIG_SPL_PARTITION_UUIDS is not set CONFIG_SPL_OF_TRANSLATE=y +CONFIG_SCSI=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_SDMA=y CONFIG_MMC_SDHCI_MV=y diff --git a/configs/highbank_defconfig b/configs/highbank_defconfig index 041d04817f..6f19492251 100644 --- a/configs/highbank_defconfig +++ b/configs/highbank_defconfig @@ -23,5 +23,6 @@ CONFIG_CMD_FS_GENERIC=y CONFIG_ISO_PARTITION=y CONFIG_EFI_PARTITION=y # CONFIG_PARTITION_UUIDS is not set +CONFIG_SCSI=y # CONFIG_MMC is not set CONFIG_OF_LIBFDT=y diff --git a/configs/ls1012aqds_qspi_defconfig b/configs/ls1012aqds_qspi_defconfig index 2124273e1c..695d7d1349 100644 --- a/configs/ls1012aqds_qspi_defconfig +++ b/configs/ls1012aqds_qspi_defconfig @@ -31,6 +31,7 @@ CONFIG_OF_CONTROL=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_DM=y # CONFIG_BLK is not set +CONFIG_SCSI=y CONFIG_DM_MMC=y # CONFIG_DM_MMC_OPS is not set CONFIG_DM_SPI_FLASH=y diff --git a/configs/ls2081ardb_defconfig b/configs/ls2081ardb_defconfig index d8420ba77e..bc2792e533 100644 --- a/configs/ls2081ardb_defconfig +++ b/configs/ls2081ardb_defconfig @@ -21,6 +21,7 @@ CONFIG_CMD_CACHE=y CONFIG_OF_CONTROL=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_DM=y +CONFIG_SCSI=y CONFIG_FSL_CAAM=y CONFIG_DM_SPI_FLASH=y CONFIG_NETDEVICES=y diff --git a/configs/minnowmax_defconfig b/configs/minnowmax_defconfig index aa50e88422..cd12633cc5 100644 --- a/configs/minnowmax_defconfig +++ b/configs/minnowmax_defconfig @@ -46,6 +46,7 @@ CONFIG_EFI_PARTITION=y CONFIG_OF_CONTROL=y CONFIG_REGMAP=y CONFIG_SYSCON=y +CONFIG_SCSI=y CONFIG_CPU=y CONFIG_MMC=y CONFIG_MMC_PCI=y diff --git a/configs/omap5_uevm_defconfig b/configs/omap5_uevm_defconfig index f5ac38b47c..0af00b14be 100644 --- a/configs/omap5_uevm_defconfig +++ b/configs/omap5_uevm_defconfig @@ -32,6 +32,7 @@ CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ISO_PARTITION=y +CONFIG_SCSI=y CONFIG_DFU_MMC=y CONFIG_DFU_RAM=y CONFIG_MMC_OMAP_HS=y diff --git a/configs/som-db5800-som-6867_defconfig b/configs/som-db5800-som-6867_defconfig index aaa68552c7..28efc9049c 100644 --- a/configs/som-db5800-som-6867_defconfig +++ b/configs/som-db5800-som-6867_defconfig @@ -42,6 +42,7 @@ CONFIG_EFI_PARTITION=y CONFIG_OF_CONTROL=y CONFIG_REGMAP=y CONFIG_SYSCON=y +CONFIG_SCSI=y CONFIG_CPU=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_GIGADEVICE=y diff --git a/configs/xilinx_zynqmp_ep_defconfig b/configs/xilinx_zynqmp_ep_defconfig index 436a22f433..f480bb02f8 100644 --- a/configs/xilinx_zynqmp_ep_defconfig +++ b/configs/xilinx_zynqmp_ep_defconfig @@ -45,6 +45,7 @@ CONFIG_OF_EMBED=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_SPL_DM=y CONFIG_SPL_DM_SEQ_ALIAS=y +CONFIG_SCSI=y CONFIG_DM_SCSI=y CONFIG_SATA_CEVA=y CONFIG_DFU_RAM=y diff --git a/configs/xilinx_zynqmp_zcu102_defconfig b/configs/xilinx_zynqmp_zcu102_defconfig index e7433198dd..1b7de2647b 100644 --- a/configs/xilinx_zynqmp_zcu102_defconfig +++ b/configs/xilinx_zynqmp_zcu102_defconfig @@ -38,6 +38,7 @@ CONFIG_OF_EMBED=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_SPL_DM=y CONFIG_SPL_DM_SEQ_ALIAS=y +CONFIG_SCSI=y CONFIG_DM_SCSI=y CONFIG_SATA_CEVA=y CONFIG_DFU_RAM=y diff --git a/configs/xilinx_zynqmp_zcu102_revB_defconfig b/configs/xilinx_zynqmp_zcu102_revB_defconfig index afad4fa1e7..5285e36ccc 100644 --- a/configs/xilinx_zynqmp_zcu102_revB_defconfig +++ b/configs/xilinx_zynqmp_zcu102_revB_defconfig @@ -38,6 +38,7 @@ CONFIG_OF_EMBED=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_SPL_DM=y CONFIG_SPL_DM_SEQ_ALIAS=y +CONFIG_SCSI=y CONFIG_DM_SCSI=y CONFIG_SATA_CEVA=y CONFIG_DFU_RAM=y diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig index 931defd2ae..b0e8602011 100644 --- a/drivers/block/Kconfig +++ b/drivers/block/Kconfig @@ -19,6 +19,15 @@ config AHCI operations at present. The block device interface has not been converted to driver model.
+config SCSI + bool "Support SCSI controllers" + help + This enabled support for SCSI (Small Computer System Interface), + a parallel interface widely used with storage peripherals such as + hard drives and optical drives. The SCSI standards define physical + interfaces as well as protocols for controlling devices and + tranferring data. + config DM_SCSI bool "Support SCSI controllers with driver model" depends on BLK diff --git a/include/config_cmd_all.h b/include/config_cmd_all.h index b1f41abf4f..2874a7850d 100644 --- a/include/config_cmd_all.h +++ b/include/config_cmd_all.h @@ -25,7 +25,6 @@ #define CONFIG_CMD_READ /* Read data from partition */ #define CONFIG_CMD_SANDBOX /* sb command to access sandbox features */ #define CONFIG_CMD_SAVES /* save S record dump */ -#define CONFIG_SCSI /* SCSI Support */ #define CONFIG_CMD_SDRAM /* SDRAM DIMM SPD info printout */ #define CONFIG_CMD_TERMINAL /* built-in Serial Terminal */ #define CONFIG_CMD_UBIFS /* UBIFS Support */ diff --git a/include/configs/MPC8544DS.h b/include/configs/MPC8544DS.h index 9b2f8364d5..e6f5fed98e 100644 --- a/include/configs/MPC8544DS.h +++ b/include/configs/MPC8544DS.h @@ -352,7 +352,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
#if defined(CONFIG_PCI) #define CONFIG_CMD_PCI - #define CONFIG_SCSI #endif
/* diff --git a/include/configs/MPC8572DS.h b/include/configs/MPC8572DS.h index 79e11bb6f8..d8e0dfd807 100644 --- a/include/configs/MPC8572DS.h +++ b/include/configs/MPC8572DS.h @@ -551,7 +551,6 @@
#if defined(CONFIG_PCI) #define CONFIG_CMD_PCI -#define CONFIG_SCSI #endif
/* diff --git a/include/configs/MPC8610HPCD.h b/include/configs/MPC8610HPCD.h index 2014450be8..1db3a633ef 100644 --- a/include/configs/MPC8610HPCD.h +++ b/include/configs/MPC8610HPCD.h @@ -430,7 +430,6 @@
#if defined(CONFIG_PCI) #define CONFIG_CMD_PCI -#define CONFIG_SCSI #endif
#define CONFIG_WATCHDOG /* watchdog enabled */ diff --git a/include/configs/MPC8641HPCN.h b/include/configs/MPC8641HPCN.h index 4b932103a6..7ff244b081 100644 --- a/include/configs/MPC8641HPCN.h +++ b/include/configs/MPC8641HPCN.h @@ -591,7 +591,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
#if defined(CONFIG_PCI) #define CONFIG_CMD_PCI - #define CONFIG_SCSI #endif
#undef CONFIG_WATCHDOG /* watchdog disabled */ diff --git a/include/configs/PIP405.h b/include/configs/PIP405.h index 393a02dd78..1bcf8bb0dc 100644 --- a/include/configs/PIP405.h +++ b/include/configs/PIP405.h @@ -39,7 +39,6 @@ */ #define CONFIG_CMD_PCI #define CONFIG_CMD_REGINFO -#define CONFIG_SCSI #define CONFIG_CMD_SDRAM #define CONFIG_CMD_SAVES
diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h index b379e0839d..646015e5f7 100644 --- a/include/configs/am57xx_evm.h +++ b/include/configs/am57xx_evm.h @@ -95,7 +95,6 @@ #define CONFIG_OMAP_USB3PHY1_HOST
/* SATA */ -#define CONFIG_SCSI #define CONFIG_LIBATA #define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT diff --git a/include/configs/cm_t54.h b/include/configs/cm_t54.h index 14042ada7d..36475734fc 100644 --- a/include/configs/cm_t54.h +++ b/include/configs/cm_t54.h @@ -49,7 +49,6 @@ #define CONFIG_SPL_SATA_BOOT_DEVICE 0 #define CONFIG_SYS_SATA_FAT_BOOT_PARTITION 1
-#define CONFIG_SCSI #define CONFIG_LIBATA #define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT diff --git a/include/configs/controlcenterdc.h b/include/configs/controlcenterdc.h index a04af31284..f10cddafe0 100644 --- a/include/configs/controlcenterdc.h +++ b/include/configs/controlcenterdc.h @@ -51,7 +51,6 @@ * SATA/SCSI/AHCI configuration */ #define CONFIG_LIBATA -#define CONFIG_SCSI #define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 2 diff --git a/include/configs/db-88f6820-gp.h b/include/configs/db-88f6820-gp.h index 0890a4db62..292bfb8f7d 100644 --- a/include/configs/db-88f6820-gp.h +++ b/include/configs/db-88f6820-gp.h @@ -25,7 +25,6 @@ * Commands configuration */ #define CONFIG_CMD_PCI -#define CONFIG_SCSI
/* I2C */ #define CONFIG_SYS_I2C diff --git a/include/configs/dra7xx_evm.h b/include/configs/dra7xx_evm.h index 17608a54cd..0582ae5949 100644 --- a/include/configs/dra7xx_evm.h +++ b/include/configs/dra7xx_evm.h @@ -162,7 +162,6 @@ #define CONFIG_OMAP_USB2PHY2_HOST
/* SATA */ -#define CONFIG_SCSI #define CONFIG_LIBATA #define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT diff --git a/include/configs/efi-x86.h b/include/configs/efi-x86.h index 5626061e2e..9dcb481707 100644 --- a/include/configs/efi-x86.h +++ b/include/configs/efi-x86.h @@ -16,7 +16,6 @@ #undef CONFIG_ENV_IS_IN_SPI_FLASH #define CONFIG_ENV_IS_NOWHERE #undef CONFIG_SCSI_AHCI -#undef CONFIG_SCSI #undef CONFIG_INTEL_ICH6_GPIO #undef CONFIG_USB_EHCI_PCI
diff --git a/include/configs/galileo.h b/include/configs/galileo.h index dcbaade54e..00c5434125 100644 --- a/include/configs/galileo.h +++ b/include/configs/galileo.h @@ -24,7 +24,6 @@
/* SATA is not supported in Quark SoC */ #undef CONFIG_SCSI_AHCI -#undef CONFIG_SCSI
/* 10/100M Ethernet support */ #define CONFIG_DESIGNWARE_ETH diff --git a/include/configs/highbank.h b/include/configs/highbank.h index e15b572e41..533d3e3f82 100644 --- a/include/configs/highbank.h +++ b/include/configs/highbank.h @@ -46,7 +46,6 @@ /* * Command line configuration. */ -#define CONFIG_SCSI
#define CONFIG_BOOT_RETRY_TIME -1 #define CONFIG_RESET_TO_RETRY diff --git a/include/configs/ls1012aqds.h b/include/configs/ls1012aqds.h index 5b8500b91b..9e6c7a797c 100644 --- a/include/configs/ls1012aqds.h +++ b/include/configs/ls1012aqds.h @@ -135,7 +135,6 @@
/* SATA */ #define CONFIG_LIBATA -#define CONFIG_SCSI #define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_CMD_SCSI diff --git a/include/configs/ls1012ardb.h b/include/configs/ls1012ardb.h index 276fe1050c..0705bc5f68 100644 --- a/include/configs/ls1012ardb.h +++ b/include/configs/ls1012ardb.h @@ -51,7 +51,6 @@
/* SATA */ #define CONFIG_LIBATA -#define CONFIG_SCSI #define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_CMD_SCSI diff --git a/include/configs/ls1043aqds.h b/include/configs/ls1043aqds.h index 04d74acdeb..87ca36a8e9 100644 --- a/include/configs/ls1043aqds.h +++ b/include/configs/ls1043aqds.h @@ -98,7 +98,6 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_LIBATA #define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT -#define CONFIG_SCSI
/* EEPROM */ #define CONFIG_ID_EEPROM diff --git a/include/configs/ls1046aqds.h b/include/configs/ls1046aqds.h index 5d2e819e78..77619ab324 100644 --- a/include/configs/ls1046aqds.h +++ b/include/configs/ls1046aqds.h @@ -153,7 +153,6 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_LIBATA #define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT -#define CONFIG_SCSI
/* EEPROM */ #define CONFIG_ID_EEPROM diff --git a/include/configs/ls1046ardb.h b/include/configs/ls1046ardb.h index 6f649a6223..8a6b4e6378 100644 --- a/include/configs/ls1046ardb.h +++ b/include/configs/ls1046ardb.h @@ -233,7 +233,6 @@ #define CONFIG_LIBATA #define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT -#define CONFIG_SCSI
#define CONFIG_SYS_SATA AHCI_BASE_ADDR
diff --git a/include/configs/ls2080aqds.h b/include/configs/ls2080aqds.h index 8a8ee9d351..5e1867d81e 100644 --- a/include/configs/ls2080aqds.h +++ b/include/configs/ls2080aqds.h @@ -50,7 +50,6 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_LIBATA #define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT -#define CONFIG_SCSI
#define CONFIG_SYS_SATA1 AHCI_BASE_ADDR1 #define CONFIG_SYS_SATA2 AHCI_BASE_ADDR2 diff --git a/include/configs/ls2080ardb.h b/include/configs/ls2080ardb.h index 2dab065be1..e8aacd3dcd 100644 --- a/include/configs/ls2080ardb.h +++ b/include/configs/ls2080ardb.h @@ -68,7 +68,6 @@ unsigned long get_board_sys_clk(void); #define CONFIG_LIBATA #define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT -#define CONFIG_SCSI
#define CONFIG_SYS_SATA1 AHCI_BASE_ADDR1 #define CONFIG_SYS_SATA2 AHCI_BASE_ADDR2 diff --git a/include/configs/mvebu_armada-37xx.h b/include/configs/mvebu_armada-37xx.h index 5408490dc6..eb80ac5b48 100644 --- a/include/configs/mvebu_armada-37xx.h +++ b/include/configs/mvebu_armada-37xx.h @@ -113,7 +113,6 @@ /* * SATA/SCSI/AHCI configuration */ -#define CONFIG_SCSI #define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_LIBATA diff --git a/include/configs/mvebu_armada-8k.h b/include/configs/mvebu_armada-8k.h index 9d3aeefcd0..ac116edf31 100644 --- a/include/configs/mvebu_armada-8k.h +++ b/include/configs/mvebu_armada-8k.h @@ -119,7 +119,6 @@ /* * SATA/SCSI/AHCI configuration */ -#define CONFIG_SCSI #define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_LIBATA diff --git a/include/configs/omap5_uevm.h b/include/configs/omap5_uevm.h index d8b0c023b9..842150706f 100644 --- a/include/configs/omap5_uevm.h +++ b/include/configs/omap5_uevm.h @@ -66,7 +66,6 @@
#define CONSOLEDEV "ttyO2"
-#define CONFIG_SCSI #define CONFIG_LIBATA #define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT diff --git a/include/configs/qemu-x86.h b/include/configs/qemu-x86.h index 3509c2f659..05eb5ebf91 100644 --- a/include/configs/qemu-x86.h +++ b/include/configs/qemu-x86.h @@ -39,7 +39,6 @@ #define CONFIG_ATAPI
#undef CONFIG_SCSI_AHCI -#undef CONFIG_SCSI #else #define CONFIG_SCSI_DEV_LIST \ {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH9_AHCI} diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h index 31ceb5402f..3e09e88ffe 100644 --- a/include/configs/sandbox.h +++ b/include/configs/sandbox.h @@ -157,7 +157,6 @@ #define CONFIG_SYS_ATA_STRIDE 4 #endif
-#define CONFIG_SCSI #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_DEVICE 2 #define CONFIG_SYS_SCSI_MAX_SCSI_ID 8 diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h index 9b514ff37a..fefd58f769 100644 --- a/include/configs/sunxi-common.h +++ b/include/configs/sunxi-common.h @@ -122,7 +122,6 @@ #define CONFIG_SYS_SCSI_MAX_LUN 1 #define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ CONFIG_SYS_SCSI_MAX_LUN) -#define CONFIG_SCSI #endif
#define CONFIG_SETUP_MEMORY_TAGS diff --git a/include/configs/x86-common.h b/include/configs/x86-common.h index b5ef8b5c56..fa417c8ccd 100644 --- a/include/configs/x86-common.h +++ b/include/configs/x86-common.h @@ -71,7 +71,6 @@ * Command line configuration. */ #define CONFIG_CMD_PCI -#define CONFIG_SCSI
#define CONFIG_CMD_ZBOOT
diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h index c56cd8c98b..991b1b4110 100644 --- a/include/configs/xilinx_zynqmp.h +++ b/include/configs/xilinx_zynqmp.h @@ -193,7 +193,6 @@ #define CONFIG_SYS_SCSI_MAX_LUN 1 #define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ CONFIG_SYS_SCSI_MAX_LUN) -#define CONFIG_SCSI #endif
#define CONFIG_SYS_BOOTM_LEN (60 * 1024 * 1024) diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index e9531687f3..ef49525407 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -2345,7 +2345,6 @@ CONFIG_SCIF_A CONFIG_SCIF_CONSOLE CONFIG_SCIF_EXT_CLOCK CONFIG_SCIF_USE_EXT_CLK -CONFIG_SCSI CONFIG_SCSI_AHCI CONFIG_SCSI_AHCI_PLAT CONFIG_SCSI_DEV_ID

Hi Simon,
On Tue, Jun 6, 2017 at 3:14 AM, Simon Glass sjg@chromium.org wrote:
This converts the following to Kconfig: CONFIG_SCSI
Signed-off-by: Simon Glass sjg@chromium.org
README | 1 - arch/Kconfig | 1 + arch/arm/Kconfig | 10 ++++++++++ arch/arm/cpu/armv7/ls102xa/Kconfig | 1 + arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 2 ++ arch/arm/include/asm/arch-ls102xa/config.h | 1 - arch/arm/mach-mvebu/Kconfig | 2 ++ arch/arm/mach-omap2/omap5/Kconfig | 2 ++ arch/powerpc/cpu/mpc85xx/Kconfig | 1 + arch/powerpc/cpu/mpc86xx/Kconfig | 1 + board/congatec/Kconfig | 1 + board/dfi/Kconfig | 1 + configs/A10-OLinuXino-Lime_defconfig | 1 + configs/A20-OLinuXino-Lime2_defconfig | 1 + configs/A20-OLinuXino-Lime_defconfig | 1 + configs/A20-OLinuXino_MICRO_defconfig | 1 + configs/A20-Olimex-SOM-EVB_defconfig | 1 + configs/Bananapi_M2_Ultra_defconfig | 1 + configs/Bananapi_defconfig | 1 + configs/Bananapro_defconfig | 1 + configs/Cubieboard2_defconfig | 1 + configs/Cubieboard_defconfig | 1 + configs/Cubietruck_defconfig | 1 + configs/Itead_Ibox_A20_defconfig | 1 + configs/Lamobo_R1_defconfig | 1 + configs/Linksprite_pcDuino3_Nano_defconfig | 1 + configs/Linksprite_pcDuino3_defconfig | 1 + configs/MPC8544DS_defconfig | 1 + configs/MPC8610HPCD_defconfig | 1 + configs/Marsboard_A10_defconfig | 1 + configs/Mele_A1000_defconfig | 1 + configs/Mele_M5_defconfig | 1 + configs/Orangepi_defconfig | 1 + configs/Orangepi_mini_defconfig | 1 + configs/PIP405_defconfig | 1 + configs/Wits_Pro_A20_DKT_defconfig | 1 + configs/bayleybay_defconfig | 1 + configs/chromebook_link64_defconfig | 1 + configs/chromebook_link_defconfig | 1 + configs/chromebook_samus_defconfig | 1 + configs/chromebox_panther_defconfig | 1 + configs/cm_t54_defconfig | 1 + configs/controlcenterdc_defconfig | 1 + configs/cougarcanyon2_defconfig | 1 + configs/crownbay_defconfig | 1 + configs/db-88f6820-gp_defconfig | 1 + configs/highbank_defconfig | 1 + configs/ls1012aqds_qspi_defconfig | 1 + configs/ls2081ardb_defconfig | 1 + configs/minnowmax_defconfig | 1 + configs/omap5_uevm_defconfig | 1 + configs/som-db5800-som-6867_defconfig | 1 + configs/xilinx_zynqmp_ep_defconfig | 1 + configs/xilinx_zynqmp_zcu102_defconfig | 1 + configs/xilinx_zynqmp_zcu102_revB_defconfig | 1 + drivers/block/Kconfig | 9 +++++++++ include/config_cmd_all.h | 1 - include/configs/MPC8544DS.h | 1 - include/configs/MPC8572DS.h | 1 - include/configs/MPC8610HPCD.h | 1 - include/configs/MPC8641HPCN.h | 1 - include/configs/PIP405.h | 1 - include/configs/am57xx_evm.h | 1 - include/configs/cm_t54.h | 1 - include/configs/controlcenterdc.h | 1 - include/configs/db-88f6820-gp.h | 1 - include/configs/dra7xx_evm.h | 1 - include/configs/efi-x86.h | 1 - include/configs/galileo.h | 1 - include/configs/highbank.h | 1 - include/configs/ls1012aqds.h | 1 - include/configs/ls1012ardb.h | 1 - include/configs/ls1043aqds.h | 1 - include/configs/ls1046aqds.h | 1 - include/configs/ls1046ardb.h | 1 - include/configs/ls2080aqds.h | 1 - include/configs/ls2080ardb.h | 1 - include/configs/mvebu_armada-37xx.h | 1 - include/configs/mvebu_armada-8k.h | 1 - include/configs/omap5_uevm.h | 1 - include/configs/qemu-x86.h | 1 - include/configs/sandbox.h | 1 - include/configs/sunxi-common.h | 1 - include/configs/x86-common.h | 1 - include/configs/xilinx_zynqmp.h | 1 - scripts/config_whitelist.txt | 1 - 86 files changed, 74 insertions(+), 32 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com
But please see nits below.
diff --git a/README b/README index 075d919df3..750b7351fe 100644 --- a/README +++ b/README @@ -881,7 +881,6 @@ The following options need to be configured: CONFIG_CMD_RUN run command in env variable CONFIG_CMD_SANDBOX * sb command to access sandbox features CONFIG_CMD_SAVES * save S record dump
CONFIG_SCSI * SCSI Support CONFIG_CMD_SDRAM * print SDRAM configuration information (requires CONFIG_CMD_I2C) CONFIG_CMD_SETGETDCR Support for DCR Register access
diff --git a/arch/Kconfig b/arch/Kconfig index e44767113d..1f874a3e32 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -79,6 +79,7 @@ config SANDBOX imply FAT_WRITE imply HASH_VERIFY imply LZMA
imply SCSI
config SH bool "SuperH architecture" diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index deb7b24682..24bb0baeee 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -787,6 +787,7 @@ config TARGET_LS2080AQDS The LS2080A Development System (QDS) is a high-performance development platform that supports the QorIQ LS2080A Layerscape Architecture processor.
imply SCSI
nits: can we move the "imply SCSI" to before the "help" message?
config TARGET_LS2080ARDB bool "Support ls2080ardb" @@ -801,6 +802,7 @@ config TARGET_LS2080ARDB The LS2080A Reference design board (RDB) is a high-performance development platform that supports the QorIQ LS2080A Layerscape Architecture processor.
imply SCSI
nits: can we move the "imply SCSI" to before the "help" message?
config TARGET_LS2081ARDB bool "Support ls2081ardb" @@ -843,6 +845,7 @@ config TARGET_LS1012ARDB select ARCH_LS1012A select ARM64 select BOARD_LATE_INIT
imply SCSI help Support for Freescale LS1012ARDB platform. The LS1012A Reference design board (RDB) is a high-performance
@@ -871,6 +874,7 @@ config TARGET_LS1021AQDS select LS1_DEEP_SLEEP select SYS_FSL_DDR select BOARD_EARLY_INIT_F
imply SCSI
config TARGET_LS1021ATWR bool "Support ls1021atwr" @@ -883,6 +887,7 @@ config TARGET_LS1021ATWR select ARCH_SUPPORT_PSCI select LS1_DEEP_SLEEP select BOARD_EARLY_INIT_F
imply SCSI
config TARGET_LS1021AIOT bool "Support ls1021aiot" @@ -893,6 +898,7 @@ config TARGET_LS1021AIOT select SUPPORT_SPL select ARCH_LS1021A select ARCH_SUPPORT_PSCI
imply SCSI help Support for Freescale LS1021AIOT platform. The LS1021A Freescale board (IOT) is a high-performance
@@ -907,6 +913,7 @@ config TARGET_LS1043AQDS select BOARD_LATE_INIT select SUPPORT_SPL select BOARD_EARLY_INIT_F
imply SCSI help Support for Freescale LS1043AQDS platform.
@@ -918,6 +925,7 @@ config TARGET_LS1043ARDB select BOARD_LATE_INIT select SUPPORT_SPL select BOARD_EARLY_INIT_F
imply SCSI help Support for Freescale LS1043ARDB platform.
@@ -930,6 +938,7 @@ config TARGET_LS1046AQDS select SUPPORT_SPL select DM_SPI_FLASH if DM_SPI select BOARD_EARLY_INIT_F
imply SCSI help Support for Freescale LS1046AQDS platform. The LS1046A Development System (QDS) is a high-performance
@@ -951,6 +960,7 @@ config TARGET_LS1046ARDB The LS1046A Reference Design Board (RDB) is a high-performance development platform that supports the QorIQ LS1046A Layerscape Architecture processor.
imply SCSI
nits: can we move the "imply SCSI" to before the "help" message?
config TARGET_H2200 bool "Support h2200" diff --git a/arch/arm/cpu/armv7/ls102xa/Kconfig b/arch/arm/cpu/armv7/ls102xa/Kconfig index b61f3cdcde..6a013b2183 100644 --- a/arch/arm/cpu/armv7/ls102xa/Kconfig +++ b/arch/arm/cpu/armv7/ls102xa/Kconfig @@ -14,6 +14,7 @@ config ARCH_LS1021A select SYS_FSL_HAS_SEC select SYS_FSL_SEC_COMPAT_5 select SYS_FSL_SEC_LE
imply SCSI
menu "LS102xA architecture" depends on ARCH_LS1021A diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig index d8b285dcd7..5825f9b726 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig @@ -26,6 +26,7 @@ config ARCH_LS1043A select SYS_FSL_HAS_DDR4 select ARCH_EARLY_INIT_R select BOARD_EARLY_INIT_F
imply SCSI
config ARCH_LS1046A bool @@ -46,6 +47,7 @@ config ARCH_LS1046A select SYS_FSL_SRDS_2 select ARCH_EARLY_INIT_R select BOARD_EARLY_INIT_F
imply SCSI
config ARCH_LS2080A bool diff --git a/arch/arm/include/asm/arch-ls102xa/config.h b/arch/arm/include/asm/arch-ls102xa/config.h index 5c4da0f0e3..fc954c5366 100644 --- a/arch/arm/include/asm/arch-ls102xa/config.h +++ b/arch/arm/include/asm/arch-ls102xa/config.h @@ -81,7 +81,6 @@
/* SATA */ #define AHCI_BASE_ADDR (CONFIG_SYS_IMMR + 0x02200000) -#define CONFIG_SCSI #define CONFIG_LIBATA #define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig index 6ae54ef46a..89476a663a 100644 --- a/arch/arm/mach-mvebu/Kconfig +++ b/arch/arm/mach-mvebu/Kconfig @@ -77,6 +77,7 @@ config TARGET_CLEARFOG config TARGET_MVEBU_ARMADA_37XX bool "Support Armada 37xx platforms" select ARMADA_3700
imply SCSI
config TARGET_DB_88F6720 bool "Support DB-88F6720 Armada 375" @@ -94,6 +95,7 @@ config TARGET_MVEBU_ARMADA_8K bool "Support Armada 7k/8k platforms" select ARMADA_8K select BOARD_LATE_INIT
imply SCSI
config TARGET_DB_MV784MP_GP bool "Support db-mv784mp-gp" diff --git a/arch/arm/mach-omap2/omap5/Kconfig b/arch/arm/mach-omap2/omap5/Kconfig index 1a66abdeb2..08f45bc868 100644 --- a/arch/arm/mach-omap2/omap5/Kconfig +++ b/arch/arm/mach-omap2/omap5/Kconfig @@ -25,12 +25,14 @@ config TARGET_DRA7XX_EVM select DRA7XX select TI_I2C_BOARD_DETECT select PHYS_64BIT
imply SCSI
config TARGET_AM57XX_EVM bool "AM57XX" select BOARD_LATE_INIT select DRA7XX select TI_I2C_BOARD_DETECT
imply SCSI
endchoice
[snip]
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig index 931defd2ae..b0e8602011 100644 --- a/drivers/block/Kconfig +++ b/drivers/block/Kconfig @@ -19,6 +19,15 @@ config AHCI operations at present. The block device interface has not been converted to driver model.
+config SCSI
bool "Support SCSI controllers"
help
This enabled support for SCSI (Small Computer System Interface),
nits: enables
a parallel interface widely used with storage peripherals such as
hard drives and optical drives. The SCSI standards define physical
interfaces as well as protocols for controlling devices and
tranferring data.
config DM_SCSI bool "Support SCSI controllers with driver model" depends on BLK
[snip]
Regards, Bin

This driver is for a PowerPC board that will likely be removed soon. Rather than converting it to driver model, drop it.
Signed-off-by: Simon Glass sjg@chromium.org ---
README | 5 - board/mpl/pip405/README | 5 +- common/scsi.c | 9 +- configs/PIP405_defconfig | 1 - drivers/block/Makefile | 1 - drivers/block/sym53c8xx.c | 851 ------------------------------------------- include/configs/PIP405.h | 9 - scripts/config_whitelist.txt | 2 - 8 files changed, 3 insertions(+), 880 deletions(-) delete mode 100644 drivers/block/sym53c8xx.c
diff --git a/README b/README index 750b7351fe..db092190d6 100644 --- a/README +++ b/README @@ -1100,16 +1100,11 @@ The following options need to be configured: Default is 32bit.
- SCSI Support: - At the moment only there is only support for the - SYM53C8XX SCSI controller; define - CONFIG_SCSI_SYM53C8XX to enable it. - CONFIG_SYS_SCSI_MAX_LUN [8], CONFIG_SYS_SCSI_MAX_SCSI_ID [7] and CONFIG_SYS_SCSI_MAX_DEVICE [CONFIG_SYS_SCSI_MAX_SCSI_ID * CONFIG_SYS_SCSI_MAX_LUN] can be adjusted to define the maximum numbers of LUNs, SCSI ID's and target devices. - CONFIG_SYS_SCSI_SYM53C8XX_CCF to fix clock timing (80Mhz)
The environment variable 'scsidevs' is set to the number of SCSI devices found during the last scan. diff --git a/board/mpl/pip405/README b/board/mpl/pip405/README index f039817b79..3983476d57 100644 --- a/board/mpl/pip405/README +++ b/board/mpl/pip405/README @@ -97,9 +97,8 @@ ATAPI support (experimental) ---------------------------- CONFIG_ATAPI enables ATAPI Support
-SCSI support (experimental) only SYM53C8xx supported ----------------------------------------------------- -CONFIG_SCSI_SYM53C8XX type of SCSI controller +SCSI support +------------ CONFIG_SYS_SCSI_MAX_LUN 8 number of supported LUNs CONFIG_SYS_SCSI_MAX_SCSI_ID 7 maximum SCSI ID (0..6) CONFIG_SYS_SCSI_MAX_DEVICE CONFIG_SYS_SCSI_MAX_SCSI_ID * CONFIG_SYS_SCSI_MAX_LUN diff --git a/common/scsi.c b/common/scsi.c index c456f5a717..4896fb9350 100644 --- a/common/scsi.c +++ b/common/scsi.c @@ -17,14 +17,7 @@ #ifdef CONFIG_SCSI_DEV_LIST #define SCSI_DEV_LIST CONFIG_SCSI_DEV_LIST #else -#ifdef CONFIG_SCSI_SYM53C8XX -#define SCSI_VEND_ID 0x1000 -#ifndef CONFIG_SCSI_DEV_ID -#define SCSI_DEV_ID 0x0001 -#else -#define SCSI_DEV_ID CONFIG_SCSI_DEV_ID -#endif -#elif defined CONFIG_SATA_ULI5288 +#ifdef CONFIG_SATA_ULI5288
#define SCSI_VEND_ID 0x10b9 #define SCSI_DEV_ID 0x5288 diff --git a/configs/PIP405_defconfig b/configs/PIP405_defconfig index 81083b46cc..07f1b54ae9 100644 --- a/configs/PIP405_defconfig +++ b/configs/PIP405_defconfig @@ -26,7 +26,6 @@ CONFIG_CMD_DATE=y CONFIG_CMD_FAT=y CONFIG_MAC_PARTITION=y CONFIG_ISO_PARTITION=y -CONFIG_SCSI=y # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y CONFIG_BAUDRATE=9600 diff --git a/drivers/block/Makefile b/drivers/block/Makefile index 06450966b1..2a4c9b8f9e 100644 --- a/drivers/block/Makefile +++ b/drivers/block/Makefile @@ -29,6 +29,5 @@ obj-$(CONFIG_SATA_SIL3114) += sata_sil3114.o obj-$(CONFIG_SATA_SIL) += sata_sil.o obj-$(CONFIG_IDE_SIL680) += sil680.o obj-$(CONFIG_SANDBOX) += sandbox.o sandbox_scsi.o sata_sandbox.o -obj-$(CONFIG_SCSI_SYM53C8XX) += sym53c8xx.o obj-$(CONFIG_SYSTEMACE) += systemace.o obj-$(CONFIG_BLOCK_CACHE) += blkcache.o diff --git a/drivers/block/sym53c8xx.c b/drivers/block/sym53c8xx.c deleted file mode 100644 index 50043e68af..0000000000 --- a/drivers/block/sym53c8xx.c +++ /dev/null @@ -1,851 +0,0 @@ -/* - * (C) Copyright 2001 - * Denis Peter, MPL AG Switzerland, d.peter@mpl.ch. - * - * SPDX-License-Identifier: GPL-2.0+ - * partly derived from - * linux/drivers/scsi/sym53c8xx.c - * - */ - -/* - * SCSI support based on the chip sym53C810. - * - * 09-19-2001 Andreas Heppel, Sysgo RTS GmbH aheppel@sysgo.de - * The local version of this driver for the BAB750 board does not - * use interrupts but polls the chip instead (see the call of - * 'handle_scsi_int()' in 'scsi_issue()'. - */ - -#include <common.h> - -#include <command.h> -#include <pci.h> -#include <asm/processor.h> -#include <sym53c8xx.h> -#include <scsi.h> - -#undef SYM53C8XX_DEBUG - -#ifdef SYM53C8XX_DEBUG -#define PRINTF(fmt,args...) printf (fmt ,##args) -#else -#define PRINTF(fmt,args...) -#endif - -#if defined(CONFIG_SCSI) && defined(CONFIG_SCSI_SYM53C8XX) - -#undef SCSI_SINGLE_STEP -/* - * Single Step is only used for debug purposes - */ -#ifdef SCSI_SINGLE_STEP -static unsigned long start_script_select; -static unsigned long start_script_msgout; -static unsigned long start_script_msgin; -static unsigned long start_script_msg_ext; -static unsigned long start_script_cmd; -static unsigned long start_script_data_in; -static unsigned long start_script_data_out; -static unsigned long start_script_status; -static unsigned long start_script_complete; -static unsigned long start_script_error; -static unsigned long start_script_reselection; -static unsigned int len_script_select; -static unsigned int len_script_msgout; -static unsigned int len_script_msgin; -static unsigned int len_script_msg_ext; -static unsigned int len_script_cmd; -static unsigned int len_script_data_in; -static unsigned int len_script_data_out; -static unsigned int len_script_status; -static unsigned int len_script_complete; -static unsigned int len_script_error; -static unsigned int len_script_reselection; -#endif - - -static unsigned short scsi_int_mask; /* shadow register for SCSI related interrupts */ -static unsigned char script_int_mask; /* shadow register for SCRIPT related interrupts */ -static unsigned long script_select[8]; /* script for selection */ -static unsigned long script_msgout[8]; /* script for message out phase (NOT USED) */ -static unsigned long script_msgin[14]; /* script for message in phase */ -static unsigned long script_msg_ext[32]; /* script for message in phase when more than 1 byte message */ -static unsigned long script_cmd[18]; /* script for command phase */ -static unsigned long script_data_in[8]; /* script for data in phase */ -static unsigned long script_data_out[8]; /* script for data out phase */ -static unsigned long script_status[6]; /* script for status phase */ -static unsigned long script_complete[10]; /* script for complete */ -static unsigned long script_reselection[4]; /* script for reselection (NOT USED) */ -static unsigned long script_error[2]; /* script for error handling */ - -static unsigned long int_stat[3]; /* interrupt status */ -static unsigned long scsi_mem_addr; /* base memory address =SCSI_MEM_ADDRESS; */ - -#define bus_to_phys(a) pci_mem_to_phys(busdevfunc, (unsigned long) (a)) -#define phys_to_bus(a) pci_phys_to_mem(busdevfunc, (unsigned long) (a)) - -#define SCSI_MAX_RETRY 3 /* number of retries in scsi_issue() */ - -#define SCSI_MAX_RETRY_NOT_READY 10 /* number of retries when device is not ready */ -#define SCSI_NOT_READY_TIME_OUT 500 /* timeout per retry when not ready */ - -/********************************************************************************* - * forward declerations - */ - -void scsi_chip_init(void); -void handle_scsi_int(void); - - -/******************************************************************************** - * reports SCSI errors to the user - */ -void scsi_print_error (ccb * pccb) -{ - int i; - - printf ("SCSI Error: Target %d LUN %d Command %02X\n", pccb->target, - pccb->lun, pccb->cmd[0]); - printf (" CCB: "); - for (i = 0; i < pccb->cmdlen; i++) - printf ("%02X ", pccb->cmd[i]); - printf ("(len=%d)\n", pccb->cmdlen); - printf (" Cntrl: "); - switch (pccb->contr_stat) { - case SIR_COMPLETE: - printf ("Complete (no Error)\n"); - break; - case SIR_SEL_ATN_NO_MSG_OUT: - printf ("Selected with ATN no MSG out phase\n"); - break; - case SIR_CMD_OUT_ILL_PH: - printf ("Command out illegal phase\n"); - break; - case SIR_MSG_RECEIVED: - printf ("MSG received Error\n"); - break; - case SIR_DATA_IN_ERR: - printf ("Data in Error\n"); - break; - case SIR_DATA_OUT_ERR: - printf ("Data out Error\n"); - break; - case SIR_SCRIPT_ERROR: - printf ("Script Error\n"); - break; - case SIR_MSG_OUT_NO_CMD: - printf ("MSG out no Command phase\n"); - break; - case SIR_MSG_OVER7: - printf ("MSG in over 7 bytes\n"); - break; - case INT_ON_FY: - printf ("Interrupt on fly\n"); - break; - case SCSI_SEL_TIME_OUT: - printf ("SCSI Selection Timeout\n"); - break; - case SCSI_HNS_TIME_OUT: - printf ("SCSI Handshake Timeout\n"); - break; - case SCSI_MA_TIME_OUT: - printf ("SCSI Phase Error\n"); - break; - case SCSI_UNEXP_DIS: - printf ("SCSI unexpected disconnect\n"); - break; - default: - printf ("unknown status %lx\n", pccb->contr_stat); - break; - } - printf (" Sense: SK %x (", pccb->sense_buf[2] & 0x0f); - switch (pccb->sense_buf[2] & 0xf) { - case SENSE_NO_SENSE: - printf ("No Sense)"); - break; - case SENSE_RECOVERED_ERROR: - printf ("Recovered Error)"); - break; - case SENSE_NOT_READY: - printf ("Not Ready)"); - break; - case SENSE_MEDIUM_ERROR: - printf ("Medium Error)"); - break; - case SENSE_HARDWARE_ERROR: - printf ("Hardware Error)"); - break; - case SENSE_ILLEGAL_REQUEST: - printf ("Illegal request)"); - break; - case SENSE_UNIT_ATTENTION: - printf ("Unit Attention)"); - break; - case SENSE_DATA_PROTECT: - printf ("Data Protect)"); - break; - case SENSE_BLANK_CHECK: - printf ("Blank check)"); - break; - case SENSE_VENDOR_SPECIFIC: - printf ("Vendor specific)"); - break; - case SENSE_COPY_ABORTED: - printf ("Copy aborted)"); - break; - case SENSE_ABORTED_COMMAND: - printf ("Aborted Command)"); - break; - case SENSE_VOLUME_OVERFLOW: - printf ("Volume overflow)"); - break; - case SENSE_MISCOMPARE: - printf ("Misscompare\n"); - break; - default: - printf ("Illegal Sensecode\n"); - break; - } - printf (" ASC %x ASCQ %x\n", pccb->sense_buf[12], - pccb->sense_buf[13]); - printf (" Status: "); - switch (pccb->status) { - case S_GOOD: - printf ("Good\n"); - break; - case S_CHECK_COND: - printf ("Check condition\n"); - break; - case S_COND_MET: - printf ("Condition Met\n"); - break; - case S_BUSY: - printf ("Busy\n"); - break; - case S_INT: - printf ("Intermediate\n"); - break; - case S_INT_COND_MET: - printf ("Intermediate condition met\n"); - break; - case S_CONFLICT: - printf ("Reservation conflict\n"); - break; - case S_TERMINATED: - printf ("Command terminated\n"); - break; - case S_QUEUE_FULL: - printf ("Task set full\n"); - break; - default: - printf ("unknown: %02X\n", pccb->status); - break; - } - -} - - -/****************************************************************************** - * sets-up the SCSI controller - * the base memory address is retrieved via the pci_read_config_dword - */ -void scsi_low_level_init(int busdevfunc) -{ - unsigned int cmd; - unsigned int addr; - unsigned char vec; - - pci_read_config_byte(busdevfunc, PCI_INTERRUPT_LINE, &vec); - pci_read_config_dword(busdevfunc, PCI_BASE_ADDRESS_1, &addr); - - addr = bus_to_phys(addr & ~0xf); - - /* - * Enable bus mastering in case this has not been done, yet. - */ - pci_read_config_dword(busdevfunc, PCI_COMMAND, &cmd); - cmd |= PCI_COMMAND_MASTER; - pci_write_config_dword(busdevfunc, PCI_COMMAND, cmd); - - scsi_mem_addr = addr; - - scsi_chip_init(); - scsi_bus_reset(); -} - - -/************************************************************************************ - * Low level Part of SCSI Driver - */ - -/* - * big-endian -> little endian conversion for the script - */ -unsigned long swap_script(unsigned long val) -{ - return ((val >> 24) & 0xff) | ((val >> 8) & 0xff00) | - ((val << 8) & 0xff0000) | ((val << 24) & 0xff000000); -} - - -void scsi_write_byte(ulong offset,unsigned char val) -{ - out8(scsi_mem_addr+offset,val); -} - - -unsigned char scsi_read_byte(ulong offset) -{ - return(in8(scsi_mem_addr+offset)); -} - - -/******************************************************************************** - * interrupt handler - */ -void handle_scsi_int(void) -{ - unsigned char stat,stat1,stat2; - unsigned short sstat; - int i; -#ifdef SCSI_SINGLE_STEP - unsigned long tt; -#endif - stat=scsi_read_byte(ISTAT); - if((stat & DIP)==DIP) { /* DMA Interrupt pending */ - stat1=scsi_read_byte(DSTAT); -#ifdef SCSI_SINGLE_STEP - if((stat1 & SSI)==SSI) { - tt=in32r(scsi_mem_addr+DSP); - if(((tt)>=start_script_select) && ((tt)<start_script_select+len_script_select)) { - printf("select %d\n",(tt-start_script_select)>>2); - goto end_single; - } - if(((tt)>=start_script_msgout) && ((tt)<start_script_msgout+len_script_msgout)) { - printf("msgout %d\n",(tt-start_script_msgout)>>2); - goto end_single; - } - if(((tt)>=start_script_msgin) && ((tt)<start_script_msgin+len_script_msgin)) { - printf("msgin %d\n",(tt-start_script_msgin)>>2); - goto end_single; - } - if(((tt)>=start_script_msg_ext) && ((tt)<start_script_msg_ext+len_script_msg_ext)) { - printf("msgin_ext %d\n",(tt-start_script_msg_ext)>>2); - goto end_single; - } - if(((tt)>=start_script_cmd) && ((tt)<start_script_cmd+len_script_cmd)) { - printf("cmd %d\n",(tt-start_script_cmd)>>2); - goto end_single; - } - if(((tt)>=start_script_data_in) && ((tt)<start_script_data_in+len_script_data_in)) { - printf("data_in %d\n",(tt-start_script_data_in)>>2); - goto end_single; - } - if(((tt)>=start_script_data_out) && ((tt)<start_script_data_out+len_script_data_out)) { - printf("data_out %d\n",(tt-start_script_data_out)>>2); - goto end_single; - } - if(((tt)>=start_script_status) && ((tt)<start_script_status+len_script_status)) { - printf("status %d\n",(tt-start_script_status)>>2); - goto end_single; - } - if(((tt)>=start_script_complete) && ((tt)<start_script_complete+len_script_complete)) { - printf("complete %d\n",(tt-start_script_complete)>>2); - goto end_single; - } - if(((tt)>=start_script_error) && ((tt)<start_script_error+len_script_error)) { - printf("error %d\n",(tt-start_script_error)>>2); - goto end_single; - } - if(((tt)>=start_script_reselection) && ((tt)<start_script_reselection+len_script_reselection)) { - printf("reselection %d\n",(tt-start_script_reselection)>>2); - goto end_single; - } - printf("sc: %lx\n",tt); -end_single: - stat2=scsi_read_byte(DCNTL); - stat2|=STD; - scsi_write_byte(DCNTL,stat2); - } -#endif - if((stat1 & SIR)==SIR) /* script interrupt */ - { - int_stat[0]=in32(scsi_mem_addr+DSPS); - } - if((stat1 & DFE)==0) { /* fifo not epmty */ - scsi_write_byte(CTEST3,CLF); /* Clear DMA FIFO */ - stat2=scsi_read_byte(STEST3); - scsi_write_byte(STEST3,(stat2 | CSF)); /* Clear SCSI FIFO */ - } - } - if((stat & SIP)==SIP) { /* scsi interrupt */ - sstat = (unsigned short)scsi_read_byte(SIST+1); - sstat <<=8; - sstat |= (unsigned short)scsi_read_byte(SIST); - for(i=0;i<3;i++) { - if(int_stat[i]==0) - break; /* found an empty int status */ - } - int_stat[i]=SCSI_INT_STATE | sstat; - stat1=scsi_read_byte(DSTAT); - if((stat1 & DFE)==0) { /* fifo not epmty */ - scsi_write_byte(CTEST3,CLF); /* Clear DMA FIFO */ - stat2=scsi_read_byte(STEST3); - scsi_write_byte(STEST3,(stat2 | CSF)); /* Clear SCSI FIFO */ - } - } - if((stat & INTF)==INTF) { /* interrupt on Fly */ - scsi_write_byte(ISTAT,stat); /* clear it */ - for(i=0;i<3;i++) { - if(int_stat[i]==0) - break; /* found an empty int status */ - } - int_stat[i]=INT_ON_FY; - } -} - -void scsi_bus_reset(void) -{ - unsigned char t; - int i; - int end = CONFIG_SYS_SCSI_SPIN_UP_TIME*1000; - - t=scsi_read_byte(SCNTL1); - scsi_write_byte(SCNTL1,(t | CRST)); - udelay(50); - scsi_write_byte(SCNTL1,t); - - puts("waiting for devices to spin up"); - for(i=0;i<end;i++) { - udelay(1000); /* give the devices time to spin up */ - if (i % 1000 == 0) - putc('.'); - } - putc('\n'); - scsi_chip_init(); /* reinit the chip ...*/ - -} - -void scsi_int_enable(void) -{ - scsi_write_byte(SIEN,(unsigned char)scsi_int_mask); - scsi_write_byte(SIEN+1,(unsigned char)(scsi_int_mask>>8)); - scsi_write_byte(DIEN,script_int_mask); -} - -void scsi_write_dsp(unsigned long start) -{ -#ifdef SCSI_SINGLE_STEP - unsigned char t; -#endif - out32r(scsi_mem_addr + DSP,start); -#ifdef SCSI_SINGLE_STEP - t=scsi_read_byte(DCNTL); - t|=STD; - scsi_write_byte(DCNTL,t); -#endif -} - -/* only used for debug purposes */ -void scsi_print_script(void) -{ - printf("script_select @ 0x%08lX\n",(unsigned long)&script_select[0]); - printf("script_msgout @ 0x%08lX\n",(unsigned long)&script_msgout[0]); - printf("script_msgin @ 0x%08lX\n",(unsigned long)&script_msgin[0]); - printf("script_msgext @ 0x%08lX\n",(unsigned long)&script_msg_ext[0]); - printf("script_cmd @ 0x%08lX\n",(unsigned long)&script_cmd[0]); - printf("script_data_in @ 0x%08lX\n",(unsigned long)&script_data_in[0]); - printf("script_data_out @ 0x%08lX\n",(unsigned long)&script_data_out[0]); - printf("script_status @ 0x%08lX\n",(unsigned long)&script_status[0]); - printf("script_complete @ 0x%08lX\n",(unsigned long)&script_complete[0]); - printf("script_error @ 0x%08lX\n",(unsigned long)&script_error[0]); -} - - -void scsi_set_script(ccb *pccb) -{ - int busdevfunc = pccb->priv; - int i; - i=0; - script_select[i++]=swap_script(SCR_REG_REG(GPREG, SCR_AND, 0xfe)); - script_select[i++]=0; /* LED ON */ - script_select[i++]=swap_script(SCR_CLR(SCR_TRG)); /* select initiator mode */ - script_select[i++]=0; - /* script_select[i++]=swap_script(SCR_SEL_ABS_ATN | pccb->target << 16); */ - script_select[i++]=swap_script(SCR_SEL_ABS | pccb->target << 16); - script_select[i++]=swap_script(phys_to_bus(&script_cmd[4])); /* error handling */ - script_select[i++]=swap_script(SCR_JUMP); /* next section */ - /* script_select[i++]=swap_script((unsigned long)&script_msgout[0]); */ /* message out */ - script_select[i++]=swap_script(phys_to_bus(&script_cmd[0])); /* command out */ - -#ifdef SCSI_SINGLE_STEP - start_script_select=(unsigned long)&script_select[0]; - len_script_select=i*4; -#endif - - i=0; - script_msgout[i++]=swap_script(SCR_INT ^ IFFALSE (WHEN (SCR_MSG_OUT))); - script_msgout[i++]=SIR_SEL_ATN_NO_MSG_OUT; - script_msgout[i++]=swap_script( SCR_MOVE_ABS(1) ^ SCR_MSG_OUT); - script_msgout[i++]=swap_script(phys_to_bus(&pccb->msgout[0])); - script_msgout[i++]=swap_script(SCR_JUMP ^ IFTRUE (WHEN (SCR_COMMAND))); /* if Command phase */ - script_msgout[i++]=swap_script(phys_to_bus(&script_cmd[0])); /* switch to command */ - script_msgout[i++]=swap_script(SCR_INT); /* interrupt if not */ - script_msgout[i++]=SIR_MSG_OUT_NO_CMD; - -#ifdef SCSI_SINGLE_STEP - start_script_msgout=(unsigned long)&script_msgout[0]; - len_script_msgout=i*4; -#endif - i=0; - script_cmd[i++]=swap_script(SCR_MOVE_ABS(pccb->cmdlen) ^ SCR_COMMAND); - script_cmd[i++]=swap_script(phys_to_bus(&pccb->cmd[0])); - script_cmd[i++]=swap_script(SCR_JUMP ^ IFTRUE (WHEN (SCR_MSG_IN))); /* message in ? */ - script_cmd[i++]=swap_script(phys_to_bus(&script_msgin[0])); - script_cmd[i++]=swap_script(SCR_JUMP ^ IFTRUE (IF (SCR_DATA_OUT))); /* data out ? */ - script_cmd[i++]=swap_script(phys_to_bus(&script_data_out[0])); - script_cmd[i++]=swap_script(SCR_JUMP ^ IFTRUE (IF (SCR_DATA_IN))); /* data in ? */ - script_cmd[i++]=swap_script(phys_to_bus(&script_data_in[0])); - script_cmd[i++]=swap_script(SCR_JUMP ^ IFTRUE (IF (SCR_STATUS))); /* status ? */ - script_cmd[i++]=swap_script(phys_to_bus(&script_status[0])); - script_cmd[i++]=swap_script(SCR_JUMP ^ IFTRUE (IF (SCR_COMMAND))); /* command ? */ - script_cmd[i++]=swap_script(phys_to_bus(&script_cmd[0])); - script_cmd[i++]=swap_script(SCR_JUMP ^ IFTRUE (IF (SCR_MSG_OUT))); /* message out ? */ - script_cmd[i++]=swap_script(phys_to_bus(&script_msgout[0])); - script_cmd[i++]=swap_script(SCR_JUMP ^ IFTRUE (IF (SCR_MSG_IN))); /* just for error handling message in ? */ - script_cmd[i++]=swap_script(phys_to_bus(&script_msgin[0])); - script_cmd[i++]=swap_script(SCR_INT); /* interrupt if not */ - script_cmd[i++]=SIR_CMD_OUT_ILL_PH; -#ifdef SCSI_SINGLE_STEP - start_script_cmd=(unsigned long)&script_cmd[0]; - len_script_cmd=i*4; -#endif - i=0; - script_data_out[i++]=swap_script(SCR_MOVE_ABS(pccb->datalen)^ SCR_DATA_OUT); /* move */ - script_data_out[i++]=swap_script(phys_to_bus(pccb->pdata)); /* pointer to buffer */ - script_data_out[i++]=swap_script(SCR_JUMP ^ IFTRUE (WHEN (SCR_STATUS))); - script_data_out[i++]=swap_script(phys_to_bus(&script_status[0])); - script_data_out[i++]=swap_script(SCR_INT); - script_data_out[i++]=SIR_DATA_OUT_ERR; - -#ifdef SCSI_SINGLE_STEP - start_script_data_out=(unsigned long)&script_data_out[0]; - len_script_data_out=i*4; -#endif - i=0; - script_data_in[i++]=swap_script(SCR_MOVE_ABS(pccb->datalen)^ SCR_DATA_IN); /* move */ - script_data_in[i++]=swap_script(phys_to_bus(pccb->pdata)); /* pointer to buffer */ - script_data_in[i++]=swap_script(SCR_JUMP ^ IFTRUE (WHEN (SCR_STATUS))); - script_data_in[i++]=swap_script(phys_to_bus(&script_status[0])); - script_data_in[i++]=swap_script(SCR_INT); - script_data_in[i++]=SIR_DATA_IN_ERR; -#ifdef SCSI_SINGLE_STEP - start_script_data_in=(unsigned long)&script_data_in[0]; - len_script_data_in=i*4; -#endif - i=0; - script_msgin[i++]=swap_script(SCR_MOVE_ABS (1) ^ SCR_MSG_IN); - script_msgin[i++]=swap_script(phys_to_bus(&pccb->msgin[0])); - script_msgin[i++]=swap_script(SCR_JUMP ^ IFTRUE (DATA (M_COMPLETE))); - script_msgin[i++]=swap_script(phys_to_bus(&script_complete[0])); - script_msgin[i++]=swap_script(SCR_JUMP ^ IFTRUE (DATA (M_DISCONNECT))); - script_msgin[i++]=swap_script(phys_to_bus(&script_complete[0])); - script_msgin[i++]=swap_script(SCR_JUMP ^ IFTRUE (DATA (M_SAVE_DP))); - script_msgin[i++]=swap_script(phys_to_bus(&script_complete[0])); - script_msgin[i++]=swap_script(SCR_JUMP ^ IFTRUE (DATA (M_RESTORE_DP))); - script_msgin[i++]=swap_script(phys_to_bus(&script_complete[0])); - script_msgin[i++]=swap_script(SCR_JUMP ^ IFTRUE (DATA (M_EXTENDED))); - script_msgin[i++]=swap_script(phys_to_bus(&script_msg_ext[0])); - script_msgin[i++]=swap_script(SCR_INT); - script_msgin[i++]=SIR_MSG_RECEIVED; -#ifdef SCSI_SINGLE_STEP - start_script_msgin=(unsigned long)&script_msgin[0]; - len_script_msgin=i*4; -#endif - i=0; - script_msg_ext[i++]=swap_script(SCR_CLR (SCR_ACK)); /* clear ACK */ - script_msg_ext[i++]=0; - script_msg_ext[i++]=swap_script(SCR_MOVE_ABS (1) ^ SCR_MSG_IN); /* assuming this is the msg length */ - script_msg_ext[i++]=swap_script(phys_to_bus(&pccb->msgin[1])); - script_msg_ext[i++]=swap_script(SCR_JUMP ^ IFFALSE (IF (SCR_MSG_IN))); - script_msg_ext[i++]=swap_script(phys_to_bus(&script_complete[0])); /* no more bytes */ - script_msg_ext[i++]=swap_script(SCR_MOVE_ABS (1) ^ SCR_MSG_IN); /* next */ - script_msg_ext[i++]=swap_script(phys_to_bus(&pccb->msgin[2])); - script_msg_ext[i++]=swap_script(SCR_JUMP ^ IFFALSE (IF (SCR_MSG_IN))); - script_msg_ext[i++]=swap_script(phys_to_bus(&script_complete[0])); /* no more bytes */ - script_msg_ext[i++]=swap_script(SCR_MOVE_ABS (1) ^ SCR_MSG_IN); /* next */ - script_msg_ext[i++]=swap_script(phys_to_bus(&pccb->msgin[3])); - script_msg_ext[i++]=swap_script(SCR_JUMP ^ IFFALSE (IF (SCR_MSG_IN))); - script_msg_ext[i++]=swap_script(phys_to_bus(&script_complete[0])); /* no more bytes */ - script_msg_ext[i++]=swap_script(SCR_MOVE_ABS (1) ^ SCR_MSG_IN); /* next */ - script_msg_ext[i++]=swap_script(phys_to_bus(&pccb->msgin[4])); - script_msg_ext[i++]=swap_script(SCR_JUMP ^ IFFALSE (IF (SCR_MSG_IN))); - script_msg_ext[i++]=swap_script(phys_to_bus(&script_complete[0])); /* no more bytes */ - script_msg_ext[i++]=swap_script(SCR_MOVE_ABS (1) ^ SCR_MSG_IN); /* next */ - script_msg_ext[i++]=swap_script(phys_to_bus(&pccb->msgin[5])); - script_msg_ext[i++]=swap_script(SCR_JUMP ^ IFFALSE (IF (SCR_MSG_IN))); - script_msg_ext[i++]=swap_script(phys_to_bus(&script_complete[0])); /* no more bytes */ - script_msg_ext[i++]=swap_script(SCR_MOVE_ABS (1) ^ SCR_MSG_IN); /* next */ - script_msg_ext[i++]=swap_script(phys_to_bus(&pccb->msgin[6])); - script_msg_ext[i++]=swap_script(SCR_JUMP ^ IFFALSE (IF (SCR_MSG_IN))); - script_msg_ext[i++]=swap_script(phys_to_bus(&script_complete[0])); /* no more bytes */ - script_msg_ext[i++]=swap_script(SCR_MOVE_ABS (1) ^ SCR_MSG_IN); /* next */ - script_msg_ext[i++]=swap_script(phys_to_bus(&pccb->msgin[7])); - script_msg_ext[i++]=swap_script(SCR_JUMP ^ IFFALSE (IF (SCR_MSG_IN))); - script_msg_ext[i++]=swap_script(phys_to_bus(&script_complete[0])); /* no more bytes */ - script_msg_ext[i++]=swap_script(SCR_INT); - script_msg_ext[i++]=SIR_MSG_OVER7; -#ifdef SCSI_SINGLE_STEP - start_script_msg_ext=(unsigned long)&script_msg_ext[0]; - len_script_msg_ext=i*4; -#endif - i=0; - script_status[i++]=swap_script(SCR_MOVE_ABS (1) ^ SCR_STATUS); - script_status[i++]=swap_script(phys_to_bus(&pccb->status)); - script_status[i++]=swap_script(SCR_JUMP ^ IFTRUE (WHEN (SCR_MSG_IN))); - script_status[i++]=swap_script(phys_to_bus(&script_msgin[0])); - script_status[i++]=swap_script(SCR_INT); - script_status[i++]=SIR_STATUS_ILL_PH; -#ifdef SCSI_SINGLE_STEP - start_script_status=(unsigned long)&script_status[0]; - len_script_status=i*4; -#endif - i=0; - script_complete[i++]=swap_script(SCR_REG_REG (SCNTL2, SCR_AND, 0x7f)); - script_complete[i++]=0; - script_complete[i++]=swap_script(SCR_CLR (SCR_ACK|SCR_ATN)); - script_complete[i++]=0; - script_complete[i++]=swap_script(SCR_WAIT_DISC); - script_complete[i++]=0; - script_complete[i++]=swap_script(SCR_REG_REG(GPREG, SCR_OR, 0x01)); - script_complete[i++]=0; /* LED OFF */ - script_complete[i++]=swap_script(SCR_INT); - script_complete[i++]=SIR_COMPLETE; -#ifdef SCSI_SINGLE_STEP - start_script_complete=(unsigned long)&script_complete[0]; - len_script_complete=i*4; -#endif - i=0; - script_error[i++]=swap_script(SCR_INT); /* interrupt if error */ - script_error[i++]=SIR_SCRIPT_ERROR; -#ifdef SCSI_SINGLE_STEP - start_script_error=(unsigned long)&script_error[0]; - len_script_error=i*4; -#endif - i=0; - script_reselection[i++]=swap_script(SCR_CLR (SCR_TRG)); /* target status */ - script_reselection[i++]=0; - script_reselection[i++]=swap_script(SCR_WAIT_RESEL); - script_reselection[i++]=swap_script(phys_to_bus(&script_select[0])); /* len = 4 */ -#ifdef SCSI_SINGLE_STEP - start_script_reselection=(unsigned long)&script_reselection[0]; - len_script_reselection=i*4; -#endif -} - - -void scsi_issue(ccb *pccb) -{ - int busdevfunc = pccb->priv; - int i; - unsigned short sstat; - int retrycnt; /* retry counter */ - for(i=0;i<3;i++) - int_stat[i]=0; /* delete all int status */ - /* struct pccb must be set-up correctly */ - retrycnt=0; - PRINTF("ID %d issue cmd %02X\n",pccb->target,pccb->cmd[0]); - pccb->trans_bytes=0; /* no bytes transferred yet */ - scsi_set_script(pccb); /* fill in SCRIPT */ - scsi_int_mask=STO | UDC | MA; /* | CMP; / * Interrupts which are enabled */ - script_int_mask=0xff; /* enable all Ints */ - scsi_int_enable(); - scsi_write_dsp(phys_to_bus(&script_select[0])); /* start script */ - /* now we have to wait for IRQs */ -retry: - /* - * This version of the driver is _not_ interrupt driven, - * but polls the chip's interrupt registers (ISTAT, DSTAT). - */ - while(int_stat[0]==0) - handle_scsi_int(); - - if(int_stat[0]==SIR_COMPLETE) { - if(pccb->msgin[0]==M_DISCONNECT) { - PRINTF("Wait for reselection\n"); - for(i=0;i<3;i++) - int_stat[i]=0; /* delete all int status */ - scsi_write_dsp(phys_to_bus(&script_reselection[0])); /* start reselection script */ - goto retry; - } - pccb->contr_stat=SIR_COMPLETE; - return; - } - if((int_stat[0] & SCSI_INT_STATE)==SCSI_INT_STATE) { /* scsi interrupt */ - sstat=(unsigned short)int_stat[0]; - if((sstat & STO)==STO) { /* selection timeout */ - pccb->contr_stat=SCSI_SEL_TIME_OUT; - scsi_write_byte(GPREG,0x01); - PRINTF("ID: %X Selection Timeout\n",pccb->target); - return; - } - if((sstat & UDC)==UDC) { /* unexpected disconnect */ - pccb->contr_stat=SCSI_UNEXP_DIS; - scsi_write_byte(GPREG,0x01); - PRINTF("ID: %X Unexpected Disconnect\n",pccb->target); - return; - } - if((sstat & RSL)==RSL) { /* reselection */ - pccb->contr_stat=SCSI_UNEXP_DIS; - scsi_write_byte(GPREG,0x01); - PRINTF("ID: %X Unexpected Disconnect\n",pccb->target); - return; - } - if(((sstat & MA)==MA)||((sstat & HTH)==HTH)) { /* phase missmatch */ - if(retrycnt<SCSI_MAX_RETRY) { - pccb->trans_bytes=pccb->datalen - - ((unsigned long)scsi_read_byte(DBC) | - ((unsigned long)scsi_read_byte(DBC+1)<<8) | - ((unsigned long)scsi_read_byte(DBC+2)<<16)); - for(i=0;i<3;i++) - int_stat[i]=0; /* delete all int status */ - retrycnt++; - PRINTF("ID: %X Phase Missmatch Retry %d Phase %02X transferred %lx\n", - pccb->target,retrycnt,scsi_read_byte(SBCL),pccb->trans_bytes); - scsi_write_dsp(phys_to_bus(&script_cmd[4])); /* start retry script */ - goto retry; - } - if((sstat & MA)==MA) - pccb->contr_stat=SCSI_MA_TIME_OUT; - else - pccb->contr_stat=SCSI_HNS_TIME_OUT; - PRINTF("Phase Missmatch stat %lx\n",pccb->contr_stat); - return; - } /* no phase int */ -/* if((sstat & CMP)==CMP) { - pccb->contr_stat=SIR_COMPLETE; - return; - } -*/ - PRINTF("SCSI INT %lX\n",int_stat[0]); - pccb->contr_stat=int_stat[0]; - return; - } /* end scsi int */ - PRINTF("SCRIPT INT %lX phase %02X\n",int_stat[0],scsi_read_byte(SBCL)); - pccb->contr_stat=int_stat[0]; - return; -} - -int scsi_exec(ccb *pccb) -{ - unsigned char tmpcmd[16],tmpstat; - int i,retrycnt,t; - unsigned long transbytes,datalen; - unsigned char *tmpptr; - retrycnt=0; -retry: - scsi_issue(pccb); - if(pccb->contr_stat!=SIR_COMPLETE) - return false; - if(pccb->status==S_GOOD) - return true; - if(pccb->status==S_CHECK_COND) { /* check condition */ - for(i=0;i<16;i++) - tmpcmd[i]=pccb->cmd[i]; - pccb->cmd[0]=SCSI_REQ_SENSE; - pccb->cmd[1]=pccb->lun<<5; - pccb->cmd[2]=0; - pccb->cmd[3]=0; - pccb->cmd[4]=14; - pccb->cmd[5]=0; - pccb->cmdlen=6; - pccb->msgout[0]=SCSI_IDENTIFY; - transbytes=pccb->trans_bytes; - tmpptr=pccb->pdata; - pccb->pdata = &pccb->sense_buf[0]; - datalen=pccb->datalen; - pccb->datalen=14; - tmpstat=pccb->status; - scsi_issue(pccb); - for(i=0;i<16;i++) - pccb->cmd[i]=tmpcmd[i]; - pccb->trans_bytes=transbytes; - pccb->pdata=tmpptr; - pccb->datalen=datalen; - pccb->status=tmpstat; - PRINTF("Request_sense sense key %x ASC %x ASCQ %x\n",pccb->sense_buf[2]&0x0f, - pccb->sense_buf[12],pccb->sense_buf[13]); - switch(pccb->sense_buf[2]&0xf) { - case SENSE_NO_SENSE: - case SENSE_RECOVERED_ERROR: - /* seems to be ok */ - return true; - break; - case SENSE_NOT_READY: - if((pccb->sense_buf[12]!=0x04)||(pccb->sense_buf[13]!=0x01)) { - /* if device is not in process of becoming ready */ - return false; - break; - } /* else fall through */ - case SENSE_UNIT_ATTENTION: - if(retrycnt<SCSI_MAX_RETRY_NOT_READY) { - PRINTF("Target %d not ready, retry %d\n",pccb->target,retrycnt); - for(t=0;t<SCSI_NOT_READY_TIME_OUT;t++) - udelay(1000); /* 1sec wait */ - retrycnt++; - goto retry; - } - PRINTF("Target %d not ready, %d retried\n",pccb->target,retrycnt); - return false; - default: - return false; - } - } - PRINTF("Status = %X\n",pccb->status); - return false; -} - - -void scsi_chip_init(void) -{ - /* first we issue a soft reset */ - scsi_write_byte(ISTAT,SRST); - udelay(1000); - scsi_write_byte(ISTAT,0); - /* setup chip */ - scsi_write_byte(SCNTL0,0xC0); /* full arbitration no start, no message, parity disabled, master */ - scsi_write_byte(SCNTL1,0x00); - scsi_write_byte(SCNTL2,0x00); -#ifndef CONFIG_SYS_SCSI_SYM53C8XX_CCF /* config value for none 40 MHz clocks */ - scsi_write_byte(SCNTL3,0x13); /* synchronous clock 40/4=10MHz, asynchronous 40MHz */ -#else - scsi_write_byte(SCNTL3,CONFIG_SYS_SCSI_SYM53C8XX_CCF); /* config value for none 40 MHz clocks */ -#endif - scsi_write_byte(SCID,0x47); /* ID=7, enable reselection */ - scsi_write_byte(SXFER,0x00); /* synchronous transfer period 10MHz, asynchronous */ - scsi_write_byte(SDID,0x00); /* targed SCSI ID = 0 */ - scsi_int_mask=0x0000; /* no Interrupt is enabled */ - script_int_mask=0x00; - scsi_int_enable(); - scsi_write_byte(GPREG,0x01); /* GPIO0 is LED (off) */ - scsi_write_byte(GPCNTL,0x0E); /* GPIO0 is Output */ - scsi_write_byte(STIME0,0x08); /* handshake timer disabled, selection timeout 512msec */ - scsi_write_byte(RESPID,0x80); /* repond only to the own ID (reselection) */ - scsi_write_byte(STEST1,0x00); /* not isolated, SCLK is used */ - scsi_write_byte(STEST2,0x00); /* no Lowlevel Mode? */ - scsi_write_byte(STEST3,0x80); /* enable tolerANT */ - scsi_write_byte(CTEST3,0x04); /* clear FIFO */ - scsi_write_byte(CTEST4,0x00); - scsi_write_byte(CTEST5,0x00); -#ifdef SCSI_SINGLE_STEP -/* scsi_write_byte(DCNTL,IRQM | SSM); */ - scsi_write_byte(DCNTL,IRQD | SSM); - scsi_write_byte(DMODE,MAN); -#else -/* scsi_write_byte(DCNTL,IRQM); */ - scsi_write_byte(DCNTL,IRQD); - scsi_write_byte(DMODE,0x00); -#endif -} -#endif diff --git a/include/configs/PIP405.h b/include/configs/PIP405.h index 1bcf8bb0dc..fe7458de0f 100644 --- a/include/configs/PIP405.h +++ b/include/configs/PIP405.h @@ -256,15 +256,6 @@ ************************************************************/ #define CONFIG_ATAPI /* enable ATAPI Support */
-/************************************************************ - * SCSI support (experimental) only SYM53C8xx supported - ************************************************************/ -#define CONFIG_SCSI_SYM53C8XX -#define CONFIG_SYS_SCSI_MAX_LUN 8 /* number of supported LUNs */ -#define CONFIG_SYS_SCSI_MAX_SCSI_ID 7 /* maximum SCSI ID (0..6) */ -#define CONFIG_SYS_SCSI_MAX_DEVICE CONFIG_SYS_SCSI_MAX_SCSI_ID * CONFIG_SYS_SCSI_MAX_LUN /* maximum Target devices */ -#define CONFIG_SYS_SCSI_SPIN_UP_TIME 2 - /************************************************************ * Disk-On-Chip configuration ************************************************************/ diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index ef49525407..e244b20dd0 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -2349,7 +2349,6 @@ CONFIG_SCSI_AHCI CONFIG_SCSI_AHCI_PLAT CONFIG_SCSI_DEV_ID CONFIG_SCSI_DEV_LIST -CONFIG_SCSI_SYM53C8XX CONFIG_SC_TIMER_CLK CONFIG_SDCARD CONFIG_SDRAM_BANK0 @@ -5550,7 +5549,6 @@ CONFIG_SYS_SCSI_MAX_DEVICE CONFIG_SYS_SCSI_MAX_LUN CONFIG_SYS_SCSI_MAX_SCSI_ID CONFIG_SYS_SCSI_SPIN_UP_TIME -CONFIG_SYS_SCSI_SYM53C8XX_CCF CONFIG_SYS_SDHC_CLK CONFIG_SYS_SDHC_CLK_2_PLL CONFIG_SYS_SDIO0

On Tue, Jun 6, 2017 at 3:14 AM, Simon Glass sjg@chromium.org wrote:
This driver is for a PowerPC board that will likely be removed soon. Rather than converting it to driver model, drop it.
Signed-off-by: Simon Glass sjg@chromium.org
README | 5 - board/mpl/pip405/README | 5 +- common/scsi.c | 9 +- configs/PIP405_defconfig | 1 - drivers/block/Makefile | 1 - drivers/block/sym53c8xx.c | 851 ------------------------------------------- include/configs/PIP405.h | 9 - scripts/config_whitelist.txt | 2 - 8 files changed, 3 insertions(+), 880 deletions(-) delete mode 100644 drivers/block/sym53c8xx.c
Reviewed-by: Bin Meng bmeng.cn@gmail.com

This function is only defined by one driver and is empty. Move it into the SCSI implementation itself. We could remove it, but it should be useful for debugging.
Signed-off-by: Simon Glass sjg@chromium.org ---
common/scsi.c | 5 +++++ drivers/block/ahci.c | 5 ----- drivers/block/sandbox_scsi.c | 4 ---- include/scsi.h | 1 - 4 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/common/scsi.c b/common/scsi.c index 4896fb9350..6175e50764 100644 --- a/common/scsi.c +++ b/common/scsi.c @@ -48,6 +48,11 @@ static struct blk_desc scsi_dev_desc[CONFIG_SYS_SCSI_MAX_DEVICE]; #define SCSI_MAX_READ_BLK 0xFFFF #define SCSI_LBA48_READ 0xFFFFFFF
+static void scsi_print_error(ccb *pccb) +{ + /* Dummy function that could print an error for debugging */ +} + #ifdef CONFIG_SYS_64BIT_LBA void scsi_setup_read16(ccb *pccb, lbaint_t start, unsigned long blocks) { diff --git a/drivers/block/ahci.c b/drivers/block/ahci.c index 3fa14a76b8..f4744718a8 100644 --- a/drivers/block/ahci.c +++ b/drivers/block/ahci.c @@ -1092,8 +1092,3 @@ __weak void scsi_bus_reset(void) { /*Not implement*/ } - -void scsi_print_error(ccb * pccb) -{ - /*The ahci error info can be read in the ahci driver*/ -} diff --git a/drivers/block/sandbox_scsi.c b/drivers/block/sandbox_scsi.c index ad961bd225..f4004a350c 100644 --- a/drivers/block/sandbox_scsi.c +++ b/drivers/block/sandbox_scsi.c @@ -23,7 +23,3 @@ int scsi_exec(ccb *pccb) { return 0; } - -void scsi_print_error(ccb *pccb) -{ -} diff --git a/include/scsi.h b/include/scsi.h index 190dacd0f2..621d9382fc 100644 --- a/include/scsi.h +++ b/include/scsi.h @@ -163,7 +163,6 @@ typedef struct SCSI_cmd_block{ * decleration of functions which have to reside in the LowLevel Part Driver */
-void scsi_print_error(ccb *pccb); int scsi_exec(ccb *pccb); void scsi_bus_reset(void); #if !defined(CONFIG_DM_SCSI)

On Tue, Jun 6, 2017 at 3:14 AM, Simon Glass sjg@chromium.org wrote:
This function is only defined by one driver and is empty. Move it into the SCSI implementation itself. We could remove it, but it should be useful for debugging.
Signed-off-by: Simon Glass sjg@chromium.org
common/scsi.c | 5 +++++ drivers/block/ahci.c | 5 ----- drivers/block/sandbox_scsi.c | 4 ---- include/scsi.h | 1 - 4 files changed, 5 insertions(+), 10 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

This converts the following to Kconfig: CONFIG_CMD_SATA
Signed-off-by: Simon Glass sjg@chromium.org ---
arch/Kconfig | 1 + arch/arm/cpu/armv7/mx6/Kconfig | 4 ++ arch/arm/mach-mvebu/Kconfig | 2 + arch/powerpc/cpu/mpc83xx/Kconfig | 1 + arch/powerpc/cpu/mpc85xx/Kconfig | 45 ++++++++++++++++++++++ cmd/Kconfig | 12 ++++++ configs/MPC8315ERDB_defconfig | 1 + configs/MPC8349ITX_LOWBOOT_defconfig | 1 + configs/MPC8349ITX_defconfig | 1 + configs/MPC837XERDB_defconfig | 1 + configs/canyonlands_defconfig | 1 + configs/cgtqmx6eval_defconfig | 1 + configs/cm_fx6_defconfig | 1 + .../controlcenterd_36BIT_SDCARD_DEVELOP_defconfig | 1 + configs/controlcenterd_36BIT_SDCARD_defconfig | 1 + configs/db-mv784mp-gp_defconfig | 1 + configs/m53evk_defconfig | 1 + configs/mx53loco_defconfig | 1 + configs/mx6qsabrelite_defconfig | 1 + configs/nitrogen6q2g_defconfig | 1 + configs/nitrogen6q_defconfig | 1 + configs/novena_defconfig | 1 + configs/tbs2910_defconfig | 1 + configs/udoo_defconfig | 1 + configs/wandboard_defconfig | 1 + include/configs/MPC8315ERDB.h | 1 - include/configs/MPC8349ITX.h | 4 -- include/configs/MPC837XEMDS.h | 1 - include/configs/MPC837XERDB.h | 1 - include/configs/MPC8536DS.h | 1 - include/configs/P1010RDB.h | 1 - include/configs/P1022DS.h | 1 - include/configs/P2041RDB.h | 1 - include/configs/P4080DS.h | 1 - include/configs/T102xQDS.h | 1 - include/configs/T1040QDS.h | 1 - include/configs/T104xRDB.h | 1 - include/configs/T208xQDS.h | 1 - include/configs/T208xRDB.h | 1 - include/configs/T4240QDS.h | 1 - include/configs/T4240RDB.h | 2 - include/configs/UCP1020.h | 1 - include/configs/advantech_dms-ba16.h | 1 - include/configs/apalis_imx6.h | 4 -- include/configs/canyonlands.h | 1 - include/configs/cgtqmx6eval.h | 1 - include/configs/cm_fx6.h | 1 - include/configs/controlcenterd.h | 1 - include/configs/corenet_ds.h | 1 - include/configs/cyrus.h | 1 - include/configs/db-mv784mp-gp.h | 1 - include/configs/gw_ventana.h | 1 - include/configs/m53evk.h | 1 - include/configs/mx53loco.h | 1 - include/configs/nitrogen6x.h | 4 -- include/configs/novena.h | 1 - include/configs/ot1200.h | 4 -- include/configs/p1_p2_rdb_pc.h | 1 - include/configs/p1_twr.h | 1 - include/configs/sandbox.h | 1 - include/configs/t4qds.h | 1 - include/configs/tbs2910.h | 1 - include/configs/theadorable.h | 1 - include/configs/udoo.h | 1 - include/configs/wandboard.h | 1 - scripts/config_whitelist.txt | 1 - 66 files changed, 84 insertions(+), 54 deletions(-)
diff --git a/arch/Kconfig b/arch/Kconfig index 1f874a3e32..6c538f4d5a 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -80,6 +80,7 @@ config SANDBOX imply HASH_VERIFY imply LZMA imply SCSI + imply CMD_SATA
config SH bool "SuperH architecture" diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig index 4fd60d480e..1e5dc9afd9 100644 --- a/arch/arm/cpu/armv7/mx6/Kconfig +++ b/arch/arm/cpu/armv7/mx6/Kconfig @@ -77,6 +77,7 @@ config TARGET_ADVANTECH_DMS_BA16 bool "Advantech dms-ba16" select BOARD_LATE_INIT select MX6Q + imply CMD_SATA
config TARGET_APALIS_IMX6 bool "Toradex Apalis iMX6 board" @@ -85,6 +86,7 @@ config TARGET_APALIS_IMX6 select DM select DM_SERIAL select DM_THERMAL + imply CMD_SATA
config TARGET_ARISTAINETOS bool "aristainetos" @@ -141,6 +143,7 @@ config TARGET_GE_B850V3 config TARGET_GW_VENTANA bool "gw_ventana" select SUPPORT_SPL + imply CMD_SATA
config TARGET_KOSAGI_NOVENA bool "Kosagi Novena" @@ -302,6 +305,7 @@ config TARGET_OPOS6ULDEV config TARGET_OT1200 bool "Bachmann OT1200" select SUPPORT_SPL + imply CMD_SATA
config TARGET_PICO_IMX6UL bool "PICO-IMX6UL-EMMC" diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig index 89476a663a..3e48d58fcc 100644 --- a/arch/arm/mach-mvebu/Kconfig +++ b/arch/arm/mach-mvebu/Kconfig @@ -57,6 +57,7 @@ config MV78230 config MV78260 bool select ARMADA_XP + imply CMD_SATA
config MV78460 bool @@ -113,6 +114,7 @@ config TARGET_THEADORABLE bool "Support theadorable Armada XP" select BOARD_LATE_INIT if USB select MV78260 + imply CMD_SATA
config TARGET_CONTROLCENTERDC bool "Support CONTROLCENTERDC" diff --git a/arch/powerpc/cpu/mpc83xx/Kconfig b/arch/powerpc/cpu/mpc83xx/Kconfig index 0772b7c4fb..cdd21a253a 100644 --- a/arch/powerpc/cpu/mpc83xx/Kconfig +++ b/arch/powerpc/cpu/mpc83xx/Kconfig @@ -54,6 +54,7 @@ config TARGET_MPC8349ITX config TARGET_MPC837XEMDS bool "Support MPC837XEMDS" select BOARD_EARLY_INIT_F + imply CMD_SATA
config TARGET_MPC837XERDB bool "Support MPC837XERDB" diff --git a/arch/powerpc/cpu/mpc85xx/Kconfig b/arch/powerpc/cpu/mpc85xx/Kconfig index cbbb19f06d..8d9e585ff2 100644 --- a/arch/powerpc/cpu/mpc85xx/Kconfig +++ b/arch/powerpc/cpu/mpc85xx/Kconfig @@ -63,30 +63,35 @@ config TARGET_P3041DS select PHYS_64BIT select ARCH_P3041 select BOARD_LATE_INIT if CHAIN_OF_TRUST + imply CMD_SATA
config TARGET_P4080DS bool "Support P4080DS" select PHYS_64BIT select ARCH_P4080 select BOARD_LATE_INIT if CHAIN_OF_TRUST + imply CMD_SATA
config TARGET_P5020DS bool "Support P5020DS" select PHYS_64BIT select ARCH_P5020 select BOARD_LATE_INIT if CHAIN_OF_TRUST + imply CMD_SATA
config TARGET_P5040DS bool "Support P5040DS" select PHYS_64BIT select ARCH_P5040 select BOARD_LATE_INIT if CHAIN_OF_TRUST + imply CMD_SATA
config TARGET_MPC8536DS bool "Support MPC8536DS" select ARCH_MPC8536 # Use DDR3 controller with DDR2 DIMMs on this board select SYS_FSL_DDRC_GEN3 + imply CMD_SATA
config TARGET_MPC8540ADS bool "Support MPC8540ADS" @@ -134,6 +139,7 @@ config TARGET_P1010RDB_PA select SUPPORT_SPL select SUPPORT_TPL imply CMD_EEPROM + imply CMD_SATA
config TARGET_P1010RDB_PB bool "Support P1010RDB_PB" @@ -142,12 +148,14 @@ config TARGET_P1010RDB_PB select SUPPORT_SPL select SUPPORT_TPL imply CMD_EEPROM + imply CMD_SATA
config TARGET_P1022DS bool "Support P1022DS" select ARCH_P1022 select SUPPORT_SPL select SUPPORT_TPL + imply CMD_SATA
config TARGET_P1023RDB bool "Support P1023RDB" @@ -160,6 +168,7 @@ config TARGET_P1020MBG select SUPPORT_TPL select ARCH_P1020 imply CMD_EEPROM + imply CMD_SATA
config TARGET_P1020RDB_PC bool "Support P1020RDB-PC" @@ -167,6 +176,7 @@ config TARGET_P1020RDB_PC select SUPPORT_TPL select ARCH_P1020 imply CMD_EEPROM + imply CMD_SATA
config TARGET_P1020RDB_PD bool "Support P1020RDB-PD" @@ -174,6 +184,7 @@ config TARGET_P1020RDB_PD select SUPPORT_TPL select ARCH_P1020 imply CMD_EEPROM + imply CMD_SATA
config TARGET_P1020UTM bool "Support P1020UTM" @@ -181,6 +192,7 @@ config TARGET_P1020UTM select SUPPORT_TPL select ARCH_P1020 imply CMD_EEPROM + imply CMD_SATA
config TARGET_P1021RDB bool "Support P1021RDB" @@ -188,6 +200,7 @@ config TARGET_P1021RDB select SUPPORT_TPL select ARCH_P1021 imply CMD_EEPROM + imply CMD_SATA
config TARGET_P1024RDB bool "Support P1024RDB" @@ -195,6 +208,7 @@ config TARGET_P1024RDB select SUPPORT_TPL select ARCH_P1024 imply CMD_EEPROM + imply CMD_SATA
config TARGET_P1025RDB bool "Support P1025RDB" @@ -202,6 +216,7 @@ config TARGET_P1025RDB select SUPPORT_TPL select ARCH_P1025 imply CMD_EEPROM + imply CMD_SATA
config TARGET_P2020RDB bool "Support P2020RDB-PC" @@ -209,6 +224,7 @@ config TARGET_P2020RDB select SUPPORT_TPL select ARCH_P2020 imply CMD_EEPROM + imply CMD_SATA
config TARGET_P1_TWR bool "Support p1_twr" @@ -219,6 +235,7 @@ config TARGET_P2041RDB select ARCH_P2041 select BOARD_LATE_INIT if CHAIN_OF_TRUST select PHYS_64BIT + imply CMD_SATA
config TARGET_QEMU_PPCE500 bool "Support qemu-ppce500" @@ -232,6 +249,7 @@ config TARGET_T1024QDS select SUPPORT_SPL select PHYS_64BIT imply CMD_EEPROM + imply CMD_SATA
config TARGET_T1023RDB bool "Support T1023RDB" @@ -255,6 +273,7 @@ config TARGET_T1040QDS select BOARD_LATE_INIT if CHAIN_OF_TRUST select PHYS_64BIT imply CMD_EEPROM + imply CMD_SATA
config TARGET_T1040RDB bool "Support T1040RDB" @@ -262,6 +281,7 @@ config TARGET_T1040RDB select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT + imply CMD_SATA
config TARGET_T1040D4RDB bool "Support T1040D4RDB" @@ -269,6 +289,7 @@ config TARGET_T1040D4RDB select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT + imply CMD_SATA
config TARGET_T1042RDB bool "Support T1042RDB" @@ -276,6 +297,7 @@ config TARGET_T1042RDB select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT + imply CMD_SATA
config TARGET_T1042D4RDB bool "Support T1042D4RDB" @@ -283,6 +305,7 @@ config TARGET_T1042D4RDB select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT + imply CMD_SATA
config TARGET_T1042RDB_PI bool "Support T1042RDB_PI" @@ -290,6 +313,7 @@ config TARGET_T1042RDB_PI select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT + imply CMD_SATA
config TARGET_T2080QDS bool "Support T2080QDS" @@ -297,6 +321,7 @@ config TARGET_T2080QDS select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT + imply CMD_SATA
config TARGET_T2080RDB bool "Support T2080RDB" @@ -304,6 +329,7 @@ config TARGET_T2080RDB select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT + imply CMD_SATA
config TARGET_T2081QDS bool "Support T2081QDS" @@ -317,6 +343,7 @@ config TARGET_T4160QDS select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT + imply CMD_SATA
config TARGET_T4160RDB bool "Support T4160RDB" @@ -330,12 +357,14 @@ config TARGET_T4240QDS select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT + imply CMD_SATA
config TARGET_T4240RDB bool "Support T4240RDB" select ARCH_T4240 select SUPPORT_SPL select PHYS_64BIT + imply CMD_SATA
config TARGET_CONTROLCENTERD bool "Support controlcenterd" @@ -365,6 +394,7 @@ config TARGET_XPEDITE550X config TARGET_UCP1020 bool "Support uCP1020" select ARCH_P1020 + imply CMD_SATA
config TARGET_CYRUS_P5020 bool "Support Varisys Cyrus P5020" @@ -486,6 +516,7 @@ config ARCH_MPC8536 select SYS_FSL_SEC_COMPAT_2 select SYS_PPC_E500_USE_DEBUG_TLB select FSL_ELBC + imply CMD_SATA
config ARCH_MPC8540 bool @@ -594,6 +625,7 @@ config ARCH_P1010 select SYS_PPC_E500_USE_DEBUG_TLB select FSL_IFC imply CMD_EEPROM + imply CMD_SATA
config ARCH_P1011 bool @@ -622,6 +654,7 @@ config ARCH_P1020 select SYS_FSL_SEC_COMPAT_2 select SYS_PPC_E500_USE_DEBUG_TLB select FSL_ELBC + imply CMD_SATA
config ARCH_P1021 bool @@ -636,6 +669,7 @@ config ARCH_P1021 select SYS_FSL_SEC_COMPAT_2 select SYS_PPC_E500_USE_DEBUG_TLB select FSL_ELBC + imply CMD_SATA
config ARCH_P1022 bool @@ -679,6 +713,7 @@ config ARCH_P1024 select SYS_PPC_E500_USE_DEBUG_TLB select FSL_ELBC imply CMD_EEPROM + imply CMD_SATA
config ARCH_P1025 bool @@ -693,6 +728,7 @@ config ARCH_P1025 select SYS_FSL_SEC_COMPAT_2 select SYS_PPC_E500_USE_DEBUG_TLB select FSL_ELBC + imply CMD_SATA
config ARCH_P2020 bool @@ -755,6 +791,7 @@ config ARCH_P3041 select SYS_FSL_SEC_BE select SYS_FSL_SEC_COMPAT_4 select FSL_ELBC + imply CMD_SATA
config ARCH_P4080 bool @@ -790,6 +827,7 @@ config ARCH_P4080 select SYS_FSL_SEC_BE select SYS_FSL_SEC_COMPAT_4 select FSL_ELBC + imply CMD_SATA
config ARCH_P5020 bool @@ -811,6 +849,7 @@ config ARCH_P5020 select SYS_FSL_SEC_COMPAT_4 select SYS_PPC64 select FSL_ELBC + imply CMD_SATA
config ARCH_P5040 bool @@ -832,6 +871,7 @@ config ARCH_P5040 select SYS_FSL_SEC_COMPAT_4 select SYS_PPC64 select FSL_ELBC + imply CMD_SATA
config ARCH_QEMU_E500 bool @@ -889,6 +929,7 @@ config ARCH_T1040 select SYS_FSL_SEC_BE select SYS_FSL_SEC_COMPAT_5 select FSL_IFC + imply CMD_SATA
config ARCH_T1042 bool @@ -907,6 +948,7 @@ config ARCH_T1042 select SYS_FSL_SEC_BE select SYS_FSL_SEC_COMPAT_5 select FSL_IFC + imply CMD_SATA
config ARCH_T2080 bool @@ -929,6 +971,7 @@ config ARCH_T2080 select SYS_FSL_SEC_COMPAT_4 select SYS_PPC64 select FSL_IFC + imply CMD_SATA
config ARCH_T2081 bool @@ -970,6 +1013,7 @@ config ARCH_T4160 select SYS_FSL_SEC_COMPAT_4 select SYS_PPC64 select FSL_IFC + imply CMD_SATA
config ARCH_T4240 bool @@ -994,6 +1038,7 @@ config ARCH_T4240 select SYS_FSL_SEC_COMPAT_4 select SYS_PPC64 select FSL_IFC + imply CMD_SATA
config BOOKE bool diff --git a/cmd/Kconfig b/cmd/Kconfig index 270cff6297..022eea8f2d 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -732,6 +732,18 @@ config CMD_FDC help The 'fdtboot' command allows booting an image from a floppy disk.
+config CMD_SATA + bool "sata - Access SATA subsystem" + help + SATA (Serial Advanced Technology Attachment) is a serial bus + standard for connecting to hard drives and other storage devices. + This command provides information about attached devices and allows + reading, writing and other operations. + + SATA replaces PATA (originally just ATA), which stands for Parallel AT + Attachment, where AT refers to an IBM AT (Advanced Technology) + computer released in 1984. + endmenu
diff --git a/configs/MPC8315ERDB_defconfig b/configs/MPC8315ERDB_defconfig index 38417e7964..32b88fc9d5 100644 --- a/configs/MPC8315ERDB_defconfig +++ b/configs/MPC8315ERDB_defconfig @@ -7,6 +7,7 @@ CONFIG_BOOTDELAY=6 CONFIG_HUSH_PARSER=y CONFIG_CMD_I2C=y CONFIG_CMD_USB=y +CONFIG_CMD_SATA=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_MII=y CONFIG_CMD_PING=y diff --git a/configs/MPC8349ITX_LOWBOOT_defconfig b/configs/MPC8349ITX_LOWBOOT_defconfig index 9cec452cd5..c7f093eaa7 100644 --- a/configs/MPC8349ITX_LOWBOOT_defconfig +++ b/configs/MPC8349ITX_LOWBOOT_defconfig @@ -10,6 +10,7 @@ CONFIG_SYS_PROMPT="MPC8349E-mITX> " CONFIG_CMD_IDE=y CONFIG_CMD_I2C=y CONFIG_CMD_USB=y +CONFIG_CMD_SATA=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_DHCP=y CONFIG_CMD_PING=y diff --git a/configs/MPC8349ITX_defconfig b/configs/MPC8349ITX_defconfig index 9145ada7c7..e508b3d388 100644 --- a/configs/MPC8349ITX_defconfig +++ b/configs/MPC8349ITX_defconfig @@ -10,6 +10,7 @@ CONFIG_SYS_PROMPT="MPC8349E-mITX> " CONFIG_CMD_IDE=y CONFIG_CMD_I2C=y CONFIG_CMD_USB=y +CONFIG_CMD_SATA=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_DHCP=y CONFIG_CMD_PING=y diff --git a/configs/MPC837XERDB_defconfig b/configs/MPC837XERDB_defconfig index 2f3e7b0162..fc21671ce7 100644 --- a/configs/MPC837XERDB_defconfig +++ b/configs/MPC837XERDB_defconfig @@ -8,6 +8,7 @@ CONFIG_HUSH_PARSER=y CONFIG_CMD_MMC=y CONFIG_CMD_I2C=y CONFIG_CMD_USB=y +CONFIG_CMD_SATA=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_MII=y CONFIG_CMD_PING=y diff --git a/configs/canyonlands_defconfig b/configs/canyonlands_defconfig index 2b59fd329b..712bca1fa7 100644 --- a/configs/canyonlands_defconfig +++ b/configs/canyonlands_defconfig @@ -16,6 +16,7 @@ CONFIG_CMD_EEPROM=y CONFIG_LOOPW=y CONFIG_CMD_I2C=y CONFIG_CMD_USB=y +CONFIG_CMD_SATA=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y diff --git a/configs/cgtqmx6eval_defconfig b/configs/cgtqmx6eval_defconfig index 77dd227f00..94d7e76b18 100644 --- a/configs/cgtqmx6eval_defconfig +++ b/configs/cgtqmx6eval_defconfig @@ -33,6 +33,7 @@ CONFIG_CMD_USB=y CONFIG_CMD_DFU=y CONFIG_CMD_USB_MASS_STORAGE=y CONFIG_CMD_GPIO=y +CONFIG_CMD_SATA=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y diff --git a/configs/cm_fx6_defconfig b/configs/cm_fx6_defconfig index dc587a6d59..a548d8f846 100644 --- a/configs/cm_fx6_defconfig +++ b/configs/cm_fx6_defconfig @@ -35,6 +35,7 @@ CONFIG_CMD_I2C=y CONFIG_CMD_USB=y # CONFIG_CMD_FPGA is not set CONFIG_CMD_GPIO=y +CONFIG_CMD_SATA=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_DHCP=y CONFIG_CMD_PING=y diff --git a/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig b/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig index cff3f45f38..d05f35d967 100644 --- a/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig +++ b/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig @@ -22,6 +22,7 @@ CONFIG_CMD_MMC=y CONFIG_CMD_SF=y CONFIG_CMD_I2C=y CONFIG_CMD_USB=y +CONFIG_CMD_SATA=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y CONFIG_CMD_BMP=y diff --git a/configs/controlcenterd_36BIT_SDCARD_defconfig b/configs/controlcenterd_36BIT_SDCARD_defconfig index f155089349..d2af507054 100644 --- a/configs/controlcenterd_36BIT_SDCARD_defconfig +++ b/configs/controlcenterd_36BIT_SDCARD_defconfig @@ -22,6 +22,7 @@ CONFIG_CMD_MMC=y CONFIG_CMD_SF=y CONFIG_CMD_I2C=y CONFIG_CMD_USB=y +CONFIG_CMD_SATA=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y CONFIG_CMD_BMP=y diff --git a/configs/db-mv784mp-gp_defconfig b/configs/db-mv784mp-gp_defconfig index 10ef7afa68..a6d9dc6877 100644 --- a/configs/db-mv784mp-gp_defconfig +++ b/configs/db-mv784mp-gp_defconfig @@ -20,6 +20,7 @@ CONFIG_CMD_SF=y CONFIG_CMD_SPI=y CONFIG_CMD_I2C=y CONFIG_CMD_USB=y +CONFIG_CMD_SATA=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_TFTPPUT=y CONFIG_CMD_DHCP=y diff --git a/configs/m53evk_defconfig b/configs/m53evk_defconfig index cc4a74ca52..afcaf58530 100644 --- a/configs/m53evk_defconfig +++ b/configs/m53evk_defconfig @@ -24,6 +24,7 @@ CONFIG_CMD_GREPENV=y CONFIG_CMD_MMC=y CONFIG_CMD_I2C=y CONFIG_CMD_USB=y +CONFIG_CMD_SATA=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y diff --git a/configs/mx53loco_defconfig b/configs/mx53loco_defconfig index 572735616b..6e2f585960 100644 --- a/configs/mx53loco_defconfig +++ b/configs/mx53loco_defconfig @@ -14,6 +14,7 @@ CONFIG_CMD_BOOTZ=y # CONFIG_CMD_IMLS is not set CONFIG_CMD_MMC=y CONFIG_CMD_USB=y +CONFIG_CMD_SATA=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y diff --git a/configs/mx6qsabrelite_defconfig b/configs/mx6qsabrelite_defconfig index a54279978f..32bd271209 100644 --- a/configs/mx6qsabrelite_defconfig +++ b/configs/mx6qsabrelite_defconfig @@ -19,6 +19,7 @@ CONFIG_CMD_I2C=y CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y CONFIG_CMD_GPIO=y +CONFIG_CMD_SATA=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y diff --git a/configs/nitrogen6q2g_defconfig b/configs/nitrogen6q2g_defconfig index a19d093710..baa509d48e 100644 --- a/configs/nitrogen6q2g_defconfig +++ b/configs/nitrogen6q2g_defconfig @@ -19,6 +19,7 @@ CONFIG_CMD_I2C=y CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y CONFIG_CMD_GPIO=y +CONFIG_CMD_SATA=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y diff --git a/configs/nitrogen6q_defconfig b/configs/nitrogen6q_defconfig index edf4b6377a..ebfa843061 100644 --- a/configs/nitrogen6q_defconfig +++ b/configs/nitrogen6q_defconfig @@ -19,6 +19,7 @@ CONFIG_CMD_I2C=y CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y CONFIG_CMD_GPIO=y +CONFIG_CMD_SATA=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y diff --git a/configs/novena_defconfig b/configs/novena_defconfig index afacea7e71..3f8b98ebb9 100644 --- a/configs/novena_defconfig +++ b/configs/novena_defconfig @@ -28,6 +28,7 @@ CONFIG_CMD_MMC=y CONFIG_CMD_I2C=y CONFIG_CMD_USB=y CONFIG_CMD_GPIO=y +CONFIG_CMD_SATA=y CONFIG_CMD_CACHE=y CONFIG_CMD_TIME=y CONFIG_CMD_EXT4_WRITE=y diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig index ac8f9c667c..90a238cacf 100644 --- a/configs/tbs2910_defconfig +++ b/configs/tbs2910_defconfig @@ -21,6 +21,7 @@ CONFIG_CMD_I2C=y CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y CONFIG_CMD_GPIO=y +CONFIG_CMD_SATA=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y diff --git a/configs/udoo_defconfig b/configs/udoo_defconfig index 3bf55058d7..7e52bdc917 100644 --- a/configs/udoo_defconfig +++ b/configs/udoo_defconfig @@ -19,6 +19,7 @@ CONFIG_CMD_BOOTZ=y # CONFIG_CMD_IMLS is not set CONFIG_CMD_MMC=y CONFIG_CMD_GPIO=y +CONFIG_CMD_SATA=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y diff --git a/configs/wandboard_defconfig b/configs/wandboard_defconfig index b4b3283829..95a14cabc7 100644 --- a/configs/wandboard_defconfig +++ b/configs/wandboard_defconfig @@ -25,6 +25,7 @@ CONFIG_CMD_MMC=y CONFIG_CMD_I2C=y CONFIG_CMD_USB=y CONFIG_CMD_GPIO=y +CONFIG_CMD_SATA=y CONFIG_CMD_CACHE=y CONFIG_CMD_EXT4_WRITE=y CONFIG_DM=y diff --git a/include/configs/MPC8315ERDB.h b/include/configs/MPC8315ERDB.h index fbe033afb1..522f12ceec 100644 --- a/include/configs/MPC8315ERDB.h +++ b/include/configs/MPC8315ERDB.h @@ -415,7 +415,6 @@
#ifdef CONFIG_FSL_SATA #define CONFIG_LBA48 -#define CONFIG_CMD_SATA #endif
/* diff --git a/include/configs/MPC8349ITX.h b/include/configs/MPC8349ITX.h index 46f09d6b60..53e089a82a 100644 --- a/include/configs/MPC8349ITX.h +++ b/include/configs/MPC8349ITX.h @@ -485,10 +485,6 @@ boards, we say we have two, but don't display a message if we find only one. */ #define CONFIG_SUPPORT_VFAT #endif
-#ifdef CONFIG_SATA_SIL3114 - #define CONFIG_CMD_SATA -#endif - #if defined(CONFIG_SATA_SIL3114) || defined(CONFIG_USB_STORAGE) #endif
diff --git a/include/configs/MPC837XEMDS.h b/include/configs/MPC837XEMDS.h index fcced0eb86..459efb560c 100644 --- a/include/configs/MPC837XEMDS.h +++ b/include/configs/MPC837XEMDS.h @@ -436,7 +436,6 @@ extern int board_pci_host_broken(void);
#ifdef CONFIG_FSL_SATA #define CONFIG_LBA48 -#define CONFIG_CMD_SATA #endif
/* diff --git a/include/configs/MPC837XERDB.h b/include/configs/MPC837XERDB.h index 607b9266d2..7afbc9096f 100644 --- a/include/configs/MPC837XERDB.h +++ b/include/configs/MPC837XERDB.h @@ -449,7 +449,6 @@
#ifdef CONFIG_FSL_SATA #define CONFIG_LBA48 -#define CONFIG_CMD_SATA #endif
/* diff --git a/include/configs/MPC8536DS.h b/include/configs/MPC8536DS.h index 18b6b4e13e..470bb72fcb 100644 --- a/include/configs/MPC8536DS.h +++ b/include/configs/MPC8536DS.h @@ -522,7 +522,6 @@
#ifdef CONFIG_FSL_SATA #define CONFIG_LBA48 -#define CONFIG_CMD_SATA #endif
#if defined(CONFIG_TSEC_ENET) diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h index 220b07040e..0dc062a094 100644 --- a/include/configs/P1010RDB.h +++ b/include/configs/P1010RDB.h @@ -657,7 +657,6 @@ extern unsigned long get_sdram_size(void); #define CONFIG_SYS_SATA2 CONFIG_SYS_MPC85xx_SATA2_ADDR #define CONFIG_SYS_SATA2_FLAGS FLAGS_DMA
-#define CONFIG_CMD_SATA #define CONFIG_LBA48 #endif /* #ifdef CONFIG_FSL_SATA */
diff --git a/include/configs/P1022DS.h b/include/configs/P1022DS.h index 3d12c84ce9..2ee6c6442f 100644 --- a/include/configs/P1022DS.h +++ b/include/configs/P1022DS.h @@ -497,7 +497,6 @@
#ifdef CONFIG_FSL_SATA #define CONFIG_LBA48 -#define CONFIG_CMD_SATA #endif
#ifdef CONFIG_MMC diff --git a/include/configs/P2041RDB.h b/include/configs/P2041RDB.h index b008e3d9e2..967c83c53b 100644 --- a/include/configs/P2041RDB.h +++ b/include/configs/P2041RDB.h @@ -548,7 +548,6 @@ unsigned long get_board_sys_clk(unsigned long dummy); #define CONFIG_SYS_SATA2_FLAGS FLAGS_DMA
#define CONFIG_LBA48 -#define CONFIG_CMD_SATA #endif
#ifdef CONFIG_FMAN_ENET diff --git a/include/configs/P4080DS.h b/include/configs/P4080DS.h index a6fa6a8e26..f192181c08 100644 --- a/include/configs/P4080DS.h +++ b/include/configs/P4080DS.h @@ -12,7 +12,6 @@
#define CONFIG_PCIE3
-#define CONFIG_CMD_SATA #define CONFIG_SATA_SIL #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_LIBATA diff --git a/include/configs/T102xQDS.h b/include/configs/T102xQDS.h index 2209cfdb96..2e3a8c1184 100644 --- a/include/configs/T102xQDS.h +++ b/include/configs/T102xQDS.h @@ -628,7 +628,6 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR #define CONFIG_SYS_SATA1_FLAGS FLAGS_DMA #define CONFIG_LBA48 -#define CONFIG_CMD_SATA #endif
/* diff --git a/include/configs/T1040QDS.h b/include/configs/T1040QDS.h index 3953145030..86f7880ff1 100644 --- a/include/configs/T1040QDS.h +++ b/include/configs/T1040QDS.h @@ -518,7 +518,6 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_SYS_SATA2_FLAGS FLAGS_DMA
#define CONFIG_LBA48 -#define CONFIG_CMD_SATA #endif
/* diff --git a/include/configs/T104xRDB.h b/include/configs/T104xRDB.h index 0035e67544..350dacaa38 100644 --- a/include/configs/T104xRDB.h +++ b/include/configs/T104xRDB.h @@ -628,7 +628,6 @@ $(SRCTREE)/board/freescale/t104xrdb/t1042d4_sd_rcw.cfg #define CONFIG_SYS_SATA1_FLAGS FLAGS_DMA
#define CONFIG_LBA48 -#define CONFIG_CMD_SATA #endif
/* diff --git a/include/configs/T208xQDS.h b/include/configs/T208xQDS.h index e792ec5c9d..9edf19081c 100644 --- a/include/configs/T208xQDS.h +++ b/include/configs/T208xQDS.h @@ -695,7 +695,6 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_SYS_SATA2 CONFIG_SYS_MPC85xx_SATA2_ADDR #define CONFIG_SYS_SATA2_FLAGS FLAGS_DMA #define CONFIG_LBA48 -#define CONFIG_CMD_SATA #endif
/* diff --git a/include/configs/T208xRDB.h b/include/configs/T208xRDB.h index fdafeeb38f..0e70aa83ea 100644 --- a/include/configs/T208xRDB.h +++ b/include/configs/T208xRDB.h @@ -645,7 +645,6 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_SYS_SATA2 CONFIG_SYS_MPC85xx_SATA2_ADDR #define CONFIG_SYS_SATA2_FLAGS FLAGS_DMA #define CONFIG_LBA48 -#define CONFIG_CMD_SATA #endif
/* diff --git a/include/configs/T4240QDS.h b/include/configs/T4240QDS.h index dc3ebfa7fa..f69746b4da 100644 --- a/include/configs/T4240QDS.h +++ b/include/configs/T4240QDS.h @@ -489,7 +489,6 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_SYS_SATA2_FLAGS FLAGS_DMA
#define CONFIG_LBA48 -#define CONFIG_CMD_SATA #endif
#ifdef CONFIG_FMAN_ENET diff --git a/include/configs/T4240RDB.h b/include/configs/T4240RDB.h index 0d9cdfb510..ed3b0f7202 100644 --- a/include/configs/T4240RDB.h +++ b/include/configs/T4240RDB.h @@ -254,7 +254,6 @@ #define CONFIG_SYS_SATA2_FLAGS FLAGS_DMA
#define CONFIG_LBA48 -#define CONFIG_CMD_SATA #endif
#ifdef CONFIG_FMAN_ENET @@ -671,7 +670,6 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_SYS_SATA2_FLAGS FLAGS_DMA
#define CONFIG_LBA48 -#define CONFIG_CMD_SATA #endif
#ifdef CONFIG_FMAN_ENET diff --git a/include/configs/UCP1020.h b/include/configs/UCP1020.h index b2feccfd39..f21b49c028 100644 --- a/include/configs/UCP1020.h +++ b/include/configs/UCP1020.h @@ -118,7 +118,6 @@
#define CONFIG_ENV_OVERWRITE
-#define CONFIG_CMD_SATA #define CONFIG_SATA_SIL #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_LIBATA diff --git a/include/configs/advantech_dms-ba16.h b/include/configs/advantech_dms-ba16.h index f320792cfd..66ee167f96 100644 --- a/include/configs/advantech_dms-ba16.h +++ b/include/configs/advantech_dms-ba16.h @@ -39,7 +39,6 @@ #define CONFIG_MXC_OCOTP
/* SATA Configs */ -#define CONFIG_CMD_SATA #define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_DWC_AHSATA_PORT_ID 0 diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h index 8be586b51f..b4006a37e0 100644 --- a/include/configs/apalis_imx6.h +++ b/include/configs/apalis_imx6.h @@ -67,10 +67,6 @@ #define CONFIG_SUPPORT_EMMC_BOOT /* eMMC specific */ #define CONFIG_BOUNCE_BUFFER
-#ifdef CONFIG_MX6Q -#define CONFIG_CMD_SATA -#endif - /* * SATA Configs */ diff --git a/include/configs/canyonlands.h b/include/configs/canyonlands.h index b495d0645b..7e430f8971 100644 --- a/include/configs/canyonlands.h +++ b/include/configs/canyonlands.h @@ -366,7 +366,6 @@ #elif defined(CONFIG_CANYONLANDS) #define CONFIG_CMD_NAND #define CONFIG_CMD_PCI -#define CONFIG_CMD_SATA #define CONFIG_CMD_SDRAM #elif defined(CONFIG_GLACIER) #define CONFIG_CMD_NAND diff --git a/include/configs/cgtqmx6eval.h b/include/configs/cgtqmx6eval.h index cad1357f5c..5d797b4403 100644 --- a/include/configs/cgtqmx6eval.h +++ b/include/configs/cgtqmx6eval.h @@ -95,7 +95,6 @@ #define CONFIG_IMX_HDMI
/* SATA */ -#define CONFIG_CMD_SATA #define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_DWC_AHSATA_PORT_ID 0 diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h index dd8010cd48..1d9c1650d5 100644 --- a/include/configs/cm_fx6.h +++ b/include/configs/cm_fx6.h @@ -224,7 +224,6 @@ #define CONFIG_SYS_I2C_EEPROM_BUS 2
/* SATA */ -#define CONFIG_CMD_SATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_LIBATA #define CONFIG_LBA48 diff --git a/include/configs/controlcenterd.h b/include/configs/controlcenterd.h index 6641408fcb..072650dfae 100644 --- a/include/configs/controlcenterd.h +++ b/include/configs/controlcenterd.h @@ -248,7 +248,6 @@ */ #define CONFIG_LIBATA #define CONFIG_LBA48 -#define CONFIG_CMD_SATA
#define CONFIG_FSL_SATA #define CONFIG_SYS_SATA_MAX_DEVICE 2 diff --git a/include/configs/corenet_ds.h b/include/configs/corenet_ds.h index 7bbe31ceea..92e6ee0033 100644 --- a/include/configs/corenet_ds.h +++ b/include/configs/corenet_ds.h @@ -562,7 +562,6 @@ #define CONFIG_SYS_SATA2_FLAGS FLAGS_DMA
#define CONFIG_LBA48 -#define CONFIG_CMD_SATA #endif
#ifdef CONFIG_FMAN_ENET diff --git a/include/configs/cyrus.h b/include/configs/cyrus.h index a23da191ab..6079540bc9 100644 --- a/include/configs/cyrus.h +++ b/include/configs/cyrus.h @@ -392,7 +392,6 @@ #define CONFIG_SYS_SATA2_FLAGS FLAGS_DMA
#define CONFIG_LBA48 -#define CONFIG_CMD_SATA #endif
#ifdef CONFIG_FMAN_ENET diff --git a/include/configs/db-mv784mp-gp.h b/include/configs/db-mv784mp-gp.h index 821aa9dec1..187ead3e4b 100644 --- a/include/configs/db-mv784mp-gp.h +++ b/include/configs/db-mv784mp-gp.h @@ -27,7 +27,6 @@ */ #define CONFIG_CMD_NAND #define CONFIG_CMD_PCI -#define CONFIG_CMD_SATA
/* I2C */ #define CONFIG_SYS_I2C diff --git a/include/configs/gw_ventana.h b/include/configs/gw_ventana.h index 2227eead62..de08f2c7cc 100644 --- a/include/configs/gw_ventana.h +++ b/include/configs/gw_ventana.h @@ -109,7 +109,6 @@ /* * SATA Configs */ -#define CONFIG_CMD_SATA #ifdef CONFIG_CMD_SATA #define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 diff --git a/include/configs/m53evk.h b/include/configs/m53evk.h index 51812257e1..a92c228334 100644 --- a/include/configs/m53evk.h +++ b/include/configs/m53evk.h @@ -22,7 +22,6 @@ */ #define CONFIG_CMD_NAND #define CONFIG_CMD_NAND_TRIMFFS -#define CONFIG_CMD_SATA
/* * Memory configurations diff --git a/include/configs/mx53loco.h b/include/configs/mx53loco.h index 1b6d868d04..c82e426a61 100644 --- a/include/configs/mx53loco.h +++ b/include/configs/mx53loco.h @@ -189,7 +189,6 @@ #define CONFIG_ENV_IS_IN_MMC #define CONFIG_SYS_MMC_ENV_DEV 0
-#define CONFIG_CMD_SATA #ifdef CONFIG_CMD_SATA #define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 diff --git a/include/configs/nitrogen6x.h b/include/configs/nitrogen6x.h index 00b84f757a..576b7b07db 100644 --- a/include/configs/nitrogen6x.h +++ b/include/configs/nitrogen6x.h @@ -47,10 +47,6 @@ #define CONFIG_SYS_FSL_ESDHC_ADDR 0 #define CONFIG_SYS_FSL_USDHC_NUM 2
-#ifdef CONFIG_MX6Q -#define CONFIG_CMD_SATA -#endif - /* * SATA Configs */ diff --git a/include/configs/novena.h b/include/configs/novena.h index 1f1bf15af7..041159806b 100644 --- a/include/configs/novena.h +++ b/include/configs/novena.h @@ -18,7 +18,6 @@
/* U-Boot Commands */ #define CONFIG_CMD_PCI -#define CONFIG_CMD_SATA
/* U-Boot general configurations */
diff --git a/include/configs/ot1200.h b/include/configs/ot1200.h index 0582fa3688..7aeae7b1fd 100644 --- a/include/configs/ot1200.h +++ b/include/configs/ot1200.h @@ -57,10 +57,6 @@ #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) #define CONFIG_USB_MAX_CONTROLLER_COUNT 2
-#ifdef CONFIG_MX6Q -#define CONFIG_CMD_SATA -#endif - /* * SATA Configs */ diff --git a/include/configs/p1_p2_rdb_pc.h b/include/configs/p1_p2_rdb_pc.h index 71b4f40921..a72a57c904 100644 --- a/include/configs/p1_p2_rdb_pc.h +++ b/include/configs/p1_p2_rdb_pc.h @@ -270,7 +270,6 @@ #define CONFIG_TSEC_ENET /* tsec ethernet support */ #define CONFIG_ENV_OVERWRITE
-#define CONFIG_CMD_SATA #define CONFIG_SATA_SIL #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_LIBATA diff --git a/include/configs/p1_twr.h b/include/configs/p1_twr.h index fd644f22da..dffb15aea9 100644 --- a/include/configs/p1_twr.h +++ b/include/configs/p1_twr.h @@ -50,7 +50,6 @@ #define CONFIG_TSEC_ENET /* tsec ethernet support */ #define CONFIG_ENV_OVERWRITE
-#define CONFIG_CMD_SATA #define CONFIG_SATA_SIL3114 #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_LIBATA diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h index 3e09e88ffe..9276cf9734 100644 --- a/include/configs/sandbox.h +++ b/include/configs/sandbox.h @@ -162,7 +162,6 @@ #define CONFIG_SYS_SCSI_MAX_SCSI_ID 8 #define CONFIG_SYS_SCSI_MAX_LUN 4
-#define CONFIG_CMD_SATA #define CONFIG_SYS_SATA_MAX_DEVICE 2
#define CONFIG_SYSTEMACE diff --git a/include/configs/t4qds.h b/include/configs/t4qds.h index 260cdee001..6d8c78f76b 100644 --- a/include/configs/t4qds.h +++ b/include/configs/t4qds.h @@ -223,7 +223,6 @@ #define CONFIG_SYS_SATA2_FLAGS FLAGS_DMA
#define CONFIG_LBA48 -#define CONFIG_CMD_SATA #endif
#ifdef CONFIG_FMAN_ENET diff --git a/include/configs/tbs2910.h b/include/configs/tbs2910.h index 84ca1c443e..79f6b162f7 100644 --- a/include/configs/tbs2910.h +++ b/include/configs/tbs2910.h @@ -80,7 +80,6 @@ #endif
/* SATA */ -#define CONFIG_CMD_SATA #ifdef CONFIG_CMD_SATA #define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 diff --git a/include/configs/theadorable.h b/include/configs/theadorable.h index 27cae9d528..94e207c8c4 100644 --- a/include/configs/theadorable.h +++ b/include/configs/theadorable.h @@ -23,7 +23,6 @@ /* * Commands configuration */ -#define CONFIG_CMD_SATA
/* * The debugging version enables USB support via defconfig. diff --git a/include/configs/udoo.h b/include/configs/udoo.h index d84aa1679e..aef4563ede 100644 --- a/include/configs/udoo.h +++ b/include/configs/udoo.h @@ -24,7 +24,6 @@
/* SATA Configs */
-#define CONFIG_CMD_SATA #ifdef CONFIG_CMD_SATA #define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 diff --git a/include/configs/wandboard.h b/include/configs/wandboard.h index 2a6c6fbb70..afc5edf33b 100644 --- a/include/configs/wandboard.h +++ b/include/configs/wandboard.h @@ -24,7 +24,6 @@
/* SATA Configs */
-#define CONFIG_CMD_SATA #ifdef CONFIG_CMD_SATA #define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index e244b20dd0..a57d20f624 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -399,7 +399,6 @@ CONFIG_CMD_READ CONFIG_CMD_REGINFO CONFIG_CMD_REISER CONFIG_CMD_SANDBOX -CONFIG_CMD_SATA CONFIG_CMD_SAVES CONFIG_CMD_SCSI CONFIG_CMD_SDRAM

On Tue, Jun 6, 2017 at 3:14 AM, Simon Glass sjg@chromium.org wrote:
This converts the following to Kconfig: CONFIG_CMD_SATA
Signed-off-by: Simon Glass sjg@chromium.org
arch/Kconfig | 1 + arch/arm/cpu/armv7/mx6/Kconfig | 4 ++ arch/arm/mach-mvebu/Kconfig | 2 + arch/powerpc/cpu/mpc83xx/Kconfig | 1 + arch/powerpc/cpu/mpc85xx/Kconfig | 45 ++++++++++++++++++++++ cmd/Kconfig | 12 ++++++ configs/MPC8315ERDB_defconfig | 1 + configs/MPC8349ITX_LOWBOOT_defconfig | 1 + configs/MPC8349ITX_defconfig | 1 + configs/MPC837XERDB_defconfig | 1 + configs/canyonlands_defconfig | 1 + configs/cgtqmx6eval_defconfig | 1 + configs/cm_fx6_defconfig | 1 + .../controlcenterd_36BIT_SDCARD_DEVELOP_defconfig | 1 + configs/controlcenterd_36BIT_SDCARD_defconfig | 1 + configs/db-mv784mp-gp_defconfig | 1 + configs/m53evk_defconfig | 1 + configs/mx53loco_defconfig | 1 + configs/mx6qsabrelite_defconfig | 1 + configs/nitrogen6q2g_defconfig | 1 + configs/nitrogen6q_defconfig | 1 + configs/novena_defconfig | 1 + configs/tbs2910_defconfig | 1 + configs/udoo_defconfig | 1 + configs/wandboard_defconfig | 1 + include/configs/MPC8315ERDB.h | 1 - include/configs/MPC8349ITX.h | 4 -- include/configs/MPC837XEMDS.h | 1 - include/configs/MPC837XERDB.h | 1 - include/configs/MPC8536DS.h | 1 - include/configs/P1010RDB.h | 1 - include/configs/P1022DS.h | 1 - include/configs/P2041RDB.h | 1 - include/configs/P4080DS.h | 1 - include/configs/T102xQDS.h | 1 - include/configs/T1040QDS.h | 1 - include/configs/T104xRDB.h | 1 - include/configs/T208xQDS.h | 1 - include/configs/T208xRDB.h | 1 - include/configs/T4240QDS.h | 1 - include/configs/T4240RDB.h | 2 - include/configs/UCP1020.h | 1 - include/configs/advantech_dms-ba16.h | 1 - include/configs/apalis_imx6.h | 4 -- include/configs/canyonlands.h | 1 - include/configs/cgtqmx6eval.h | 1 - include/configs/cm_fx6.h | 1 - include/configs/controlcenterd.h | 1 - include/configs/corenet_ds.h | 1 - include/configs/cyrus.h | 1 - include/configs/db-mv784mp-gp.h | 1 - include/configs/gw_ventana.h | 1 - include/configs/m53evk.h | 1 - include/configs/mx53loco.h | 1 - include/configs/nitrogen6x.h | 4 -- include/configs/novena.h | 1 - include/configs/ot1200.h | 4 -- include/configs/p1_p2_rdb_pc.h | 1 - include/configs/p1_twr.h | 1 - include/configs/sandbox.h | 1 - include/configs/t4qds.h | 1 - include/configs/tbs2910.h | 1 - include/configs/theadorable.h | 1 - include/configs/udoo.h | 1 - include/configs/wandboard.h | 1 - scripts/config_whitelist.txt | 1 - 66 files changed, 84 insertions(+), 54 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

At present CONFIG_CMD_SATA enables the 'sata' command which also brings in SATA support. Some boards may wish to enable SATA without the command. Add a separate CONFIG to permit this.
Signed-off-by: Simon Glass sjg@chromium.org ---
api/api_storage.c | 2 +- arch/arm/cpu/armv7/mx6/clock.c | 6 +++--- arch/arm/imx-common/Makefile | 2 +- arch/arm/imx-common/cpu.c | 2 +- arch/powerpc/cpu/mpc85xx/cpu_init.c | 2 +- board/advantech/dms-ba16/dms-ba16.c | 2 +- board/bachmann/ot1200/ot1200.c | 2 +- board/boundary/nitrogen6x/nitrogen6x.c | 2 +- board/congatec/cgtqmx6eval/cgtqmx6eval.c | 2 +- board/gateworks/gw_ventana/gw_ventana.c | 2 +- board/kosagi/novena/novena.c | 2 +- board/toradex/apalis_imx6/apalis_imx6.c | 2 +- board/toradex/colibri_imx6/colibri_imx6.c | 2 +- board/udoo/udoo.c | 2 +- board/wandboard/wandboard.c | 2 +- cmd/Kconfig | 1 + common/Makefile | 2 +- common/splash_source.c | 2 +- drivers/block/Kconfig | 15 ++++++++++++++- fs/fat/fat.c | 2 +- include/config_distro_bootcmd.h | 6 +++--- include/config_fallbacks.h | 2 +- 22 files changed, 39 insertions(+), 25 deletions(-)
diff --git a/api/api_storage.c b/api/api_storage.c index f858f09f1a..84c03214d9 100644 --- a/api/api_storage.c +++ b/api/api_storage.c @@ -60,7 +60,7 @@ void dev_stor_init(void) specs[ENUM_MMC].type = DEV_TYP_STOR | DT_STOR_MMC; specs[ENUM_MMC].name = "mmc"; #endif -#if defined(CONFIG_CMD_SATA) +#if defined(CONFIG_SATA) specs[ENUM_SATA].max_dev = CONFIG_SYS_SATA_MAX_DEVICE; specs[ENUM_SATA].enum_started = 0; specs[ENUM_SATA].enum_ended = 0; diff --git a/arch/arm/cpu/armv7/mx6/clock.c b/arch/arm/cpu/armv7/mx6/clock.c index 84bc2134fe..1f2739e864 100644 --- a/arch/arm/cpu/armv7/mx6/clock.c +++ b/arch/arm/cpu/armv7/mx6/clock.c @@ -1042,7 +1042,7 @@ u32 imx_get_fecclk(void) return mxc_get_clock(MXC_IPG_CLK); }
-#if defined(CONFIG_CMD_SATA) || defined(CONFIG_PCIE_IMX) +#if defined(CONFIG_SATA) || defined(CONFIG_PCIE_IMX) static int enable_enet_pll(uint32_t en) { struct mxc_ccm_reg *const imx_ccm @@ -1069,7 +1069,7 @@ static int enable_enet_pll(uint32_t en) } #endif
-#ifdef CONFIG_CMD_SATA +#ifdef CONFIG_SATA static void ungate_sata_clock(void) { struct mxc_ccm_reg *const imx_ccm = @@ -1143,7 +1143,7 @@ int enable_pcie_clock(void) clrbits_le32(&ccm_regs->cbcmr, MXC_CCM_CBCMR_PCIE_AXI_CLK_SEL);
/* Party time! Ungate the clock to the PCIe. */ -#ifdef CONFIG_CMD_SATA +#ifdef CONFIG_SATA ungate_sata_clock(); #endif ungate_pcie_clock(); diff --git a/arch/arm/imx-common/Makefile b/arch/arm/imx-common/Makefile index b7cb434bd7..fc69172b0b 100644 --- a/arch/arm/imx-common/Makefile +++ b/arch/arm/imx-common/Makefile @@ -25,7 +25,7 @@ obj-$(CONFIG_SYSCOUNTER_TIMER) += syscounter.o endif ifeq ($(SOC),$(filter $(SOC),mx6 mx7)) obj-y += cache.o init.o -obj-$(CONFIG_CMD_SATA) += sata.o +obj-$(CONFIG_SATA) += sata.o obj-$(CONFIG_IMX_VIDEO_SKIP) += video.o obj-$(CONFIG_IMX_RDC) += rdc-sema.o obj-$(CONFIG_IMX_BOOTAUX) += imx_bootaux.o diff --git a/arch/arm/imx-common/cpu.c b/arch/arm/imx-common/cpu.c index 40fe813d29..53cd0f61e9 100644 --- a/arch/arm/imx-common/cpu.c +++ b/arch/arm/imx-common/cpu.c @@ -275,7 +275,7 @@ u32 get_ahb_clk(void)
void arch_preboot_os(void) { -#if defined(CONFIG_CMD_SATA) +#if defined(CONFIG_SATA) sata_stop(); #if defined(CONFIG_MX6) disable_sata_clock(); diff --git a/arch/powerpc/cpu/mpc85xx/cpu_init.c b/arch/powerpc/cpu/mpc85xx/cpu_init.c index f5bf67c990..388fe2b4ef 100644 --- a/arch/powerpc/cpu/mpc85xx/cpu_init.c +++ b/arch/powerpc/cpu/mpc85xx/cpu_init.c @@ -1024,7 +1024,7 @@ void arch_preboot_os(void) mtmsr(msr); }
-#if defined(CONFIG_CMD_SATA) && defined(CONFIG_FSL_SATA) +#if defined(CONFIG_SATA) && defined(CONFIG_FSL_SATA) int sata_initialize(void) { if (is_serdes_configured(SATA1) || is_serdes_configured(SATA2)) diff --git a/board/advantech/dms-ba16/dms-ba16.c b/board/advantech/dms-ba16/dms-ba16.c index 91e96ab096..2dab906f44 100644 --- a/board/advantech/dms-ba16/dms-ba16.c +++ b/board/advantech/dms-ba16/dms-ba16.c @@ -609,7 +609,7 @@ int board_late_init(void) pwm_enable(0); #endif
-#ifdef CONFIG_CMD_SATA +#ifdef CONFIG_SATA setup_ba16_sata(); #endif
diff --git a/board/bachmann/ot1200/ot1200.c b/board/bachmann/ot1200/ot1200.c index c0a8b6423e..74f652e025 100644 --- a/board/bachmann/ot1200/ot1200.c +++ b/board/bachmann/ot1200/ot1200.c @@ -338,7 +338,7 @@ int board_init(void)
leds_on();
-#ifdef CONFIG_CMD_SATA +#ifdef CONFIG_SATA setup_sata(); #endif
diff --git a/board/boundary/nitrogen6x/nitrogen6x.c b/board/boundary/nitrogen6x/nitrogen6x.c index ab8b2be19b..1145af53d7 100644 --- a/board/boundary/nitrogen6x/nitrogen6x.c +++ b/board/boundary/nitrogen6x/nitrogen6x.c @@ -903,7 +903,7 @@ int board_init(void) setup_i2c(1, CONFIG_SYS_I2C_SPEED, 0x7f, &i2c_pad_info1); setup_i2c(2, CONFIG_SYS_I2C_SPEED, 0x7f, &i2c_pad_info2);
-#ifdef CONFIG_CMD_SATA +#ifdef CONFIG_SATA setup_sata(); #endif
diff --git a/board/congatec/cgtqmx6eval/cgtqmx6eval.c b/board/congatec/cgtqmx6eval/cgtqmx6eval.c index 24956a8a94..fe7db91dd8 100644 --- a/board/congatec/cgtqmx6eval/cgtqmx6eval.c +++ b/board/congatec/cgtqmx6eval/cgtqmx6eval.c @@ -702,7 +702,7 @@ int board_init(void) else setup_i2c(1, CONFIG_SYS_I2C_SPEED, 0x7f, &mx6dl_i2c_pad_info1);
-#ifdef CONFIG_CMD_SATA +#ifdef CONFIG_SATA setup_sata(); #endif
diff --git a/board/gateworks/gw_ventana/gw_ventana.c b/board/gateworks/gw_ventana/gw_ventana.c index a68ec69f18..a4f2b855ee 100644 --- a/board/gateworks/gw_ventana/gw_ventana.c +++ b/board/gateworks/gw_ventana/gw_ventana.c @@ -632,7 +632,7 @@ int board_init(void) #endif setup_ventana_i2c();
-#ifdef CONFIG_CMD_SATA +#ifdef CONFIG_SATA setup_sata(); #endif /* read Gateworks EEPROM into global struct (used later) */ diff --git a/board/kosagi/novena/novena.c b/board/kosagi/novena/novena.c index f6972c2d14..17c2b13ef2 100644 --- a/board/kosagi/novena/novena.c +++ b/board/kosagi/novena/novena.c @@ -167,7 +167,7 @@ int board_init(void) /* address of boot parameters */ gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
-#ifdef CONFIG_CMD_SATA +#ifdef CONFIG_SATA setup_sata(); #endif
diff --git a/board/toradex/apalis_imx6/apalis_imx6.c b/board/toradex/apalis_imx6/apalis_imx6.c index 7c49ddfc4b..166b93f0c5 100644 --- a/board/toradex/apalis_imx6/apalis_imx6.c +++ b/board/toradex/apalis_imx6/apalis_imx6.c @@ -784,7 +784,7 @@ int board_init(void) (void) pmic_init(); #endif
-#ifdef CONFIG_CMD_SATA +#ifdef CONFIG_SATA setup_sata(); #endif
diff --git a/board/toradex/colibri_imx6/colibri_imx6.c b/board/toradex/colibri_imx6/colibri_imx6.c index 69467ca895..87e24471ce 100644 --- a/board/toradex/colibri_imx6/colibri_imx6.c +++ b/board/toradex/colibri_imx6/colibri_imx6.c @@ -657,7 +657,7 @@ int board_init(void) (void) pmic_init(); #endif
-#ifdef CONFIG_CMD_SATA +#ifdef CONFIG_SATA setup_sata(); #endif
diff --git a/board/udoo/udoo.c b/board/udoo/udoo.c index eb7ab657ec..d2cbbaa23e 100644 --- a/board/udoo/udoo.c +++ b/board/udoo/udoo.c @@ -244,7 +244,7 @@ int board_init(void) /* address of boot parameters */ gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
-#ifdef CONFIG_CMD_SATA +#ifdef CONFIG_SATA if (is_cpu_type(MXC_CPU_MX6Q)) setup_sata(); #endif diff --git a/board/wandboard/wandboard.c b/board/wandboard/wandboard.c index 2c9dc8b7c5..438bc0e743 100644 --- a/board/wandboard/wandboard.c +++ b/board/wandboard/wandboard.c @@ -379,7 +379,7 @@ int board_early_init_f(void) #if defined(CONFIG_VIDEO_IPUV3) setup_display(); #endif -#ifdef CONFIG_CMD_SATA +#ifdef CONFIG_SATA /* Only mx6q wandboard has SATA */ if (is_cpu_type(MXC_CPU_MX6Q)) setup_sata(); diff --git a/cmd/Kconfig b/cmd/Kconfig index 022eea8f2d..d69a349b72 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -734,6 +734,7 @@ config CMD_FDC
config CMD_SATA bool "sata - Access SATA subsystem" + select SATA help SATA (Serial Advanced Technology Attachment) is a serial bus standard for connecting to hard drives and other storage devices. diff --git a/common/Makefile b/common/Makefile index c7c8ea42c6..ceade7c6bc 100644 --- a/common/Makefile +++ b/common/Makefile @@ -80,7 +80,7 @@ obj-$(CONFIG_LCD_ROTATION) += lcd_console_rotation.o obj-$(CONFIG_LCD_DT_SIMPLEFB) += lcd_simplefb.o obj-$(CONFIG_LYNXKDI) += lynxkdi.o obj-$(CONFIG_MENU) += menu.o -obj-$(CONFIG_CMD_SATA) += sata.o +obj-$(CONFIG_SATA) += sata.o obj-$(CONFIG_SCSI) += scsi.o obj-$(CONFIG_UPDATE_TFTP) += update.o obj-$(CONFIG_DFU_TFTP) += update.o diff --git a/common/splash_source.c b/common/splash_source.c index d1647c8300..ee055ddf15 100644 --- a/common/splash_source.c +++ b/common/splash_source.c @@ -162,7 +162,7 @@ static inline int splash_init_usb(void) } #endif
-#ifdef CONFIG_CMD_SATA +#ifdef CONFIG_SATA static int splash_init_sata(void) { return sata_initialize(); diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig index b0e8602011..ed7fa88bf5 100644 --- a/drivers/block/Kconfig +++ b/drivers/block/Kconfig @@ -19,10 +19,23 @@ config AHCI operations at present. The block device interface has not been converted to driver model.
+config SATA + bool "Support SATA controllers" + help + This enables support for SATA (Serial Advanced Technology + Attachment), a serial bus standard for connecting to hard drives and + other storage devices. + + SATA replaces PATA (originally just ATA), which stands for Parallel AT + Attachment, where AT refers to an IBM AT (Advanced Technology) + computer released in 1984. + + See also CMD_SATA which provides command-line support. + config SCSI bool "Support SCSI controllers" help - This enabled support for SCSI (Small Computer System Interface), + This enables support for SCSI (Small Computer System Interface), a parallel interface widely used with storage peripherals such as hard drives and optical drives. The SCSI standards define physical interfaces as well as protocols for controlling devices and diff --git a/fs/fat/fat.c b/fs/fat/fat.c index a71bad1cbc..9ad18f96ff 100644 --- a/fs/fat/fat.c +++ b/fs/fat/fat.c @@ -1251,7 +1251,7 @@ int file_fat_detectfs(void) }
#if defined(CONFIG_IDE) || \ - defined(CONFIG_CMD_SATA) || \ + defined(CONFIG_SATA) || \ defined(CONFIG_SCSI) || \ defined(CONFIG_CMD_USB) || \ defined(CONFIG_MMC) diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h index 4b2c493ae3..d8dab8e46a 100644 --- a/include/config_distro_bootcmd.h +++ b/include/config_distro_bootcmd.h @@ -149,16 +149,16 @@ #define SCAN_DEV_FOR_EFI #endif
-#ifdef CONFIG_CMD_SATA +#ifdef CONFIG_SATA #define BOOTENV_SHARED_SATA BOOTENV_SHARED_BLKDEV(sata) #define BOOTENV_DEV_SATA BOOTENV_DEV_BLKDEV #define BOOTENV_DEV_NAME_SATA BOOTENV_DEV_NAME_BLKDEV #else #define BOOTENV_SHARED_SATA #define BOOTENV_DEV_SATA \ - BOOT_TARGET_DEVICES_references_SATA_without_CONFIG_CMD_SATA + BOOT_TARGET_DEVICES_references_SATA_without_CONFIG_SATA #define BOOTENV_DEV_NAME_SATA \ - BOOT_TARGET_DEVICES_references_SATA_without_CONFIG_CMD_SATA + BOOT_TARGET_DEVICES_references_SATA_without_CONFIG_SATA #endif
#ifdef CONFIG_SCSI diff --git a/include/config_fallbacks.h b/include/config_fallbacks.h index 2656c75b30..d1411f0550 100644 --- a/include/config_fallbacks.h +++ b/include/config_fallbacks.h @@ -48,7 +48,7 @@
/* Rather than repeat this expression each time, add a define for it */ #if defined(CONFIG_IDE) || \ - defined(CONFIG_CMD_SATA) || \ + defined(CONFIG_SATA) || \ defined(CONFIG_SCSI) || \ defined(CONFIG_CMD_USB) || \ defined(CONFIG_CMD_PART) || \

On Tue, Jun 6, 2017 at 3:14 AM, Simon Glass sjg@chromium.org wrote:
At present CONFIG_CMD_SATA enables the 'sata' command which also brings in SATA support. Some boards may wish to enable SATA without the command. Add a separate CONFIG to permit this.
Signed-off-by: Simon Glass sjg@chromium.org
api/api_storage.c | 2 +- arch/arm/cpu/armv7/mx6/clock.c | 6 +++--- arch/arm/imx-common/Makefile | 2 +- arch/arm/imx-common/cpu.c | 2 +- arch/powerpc/cpu/mpc85xx/cpu_init.c | 2 +- board/advantech/dms-ba16/dms-ba16.c | 2 +- board/bachmann/ot1200/ot1200.c | 2 +- board/boundary/nitrogen6x/nitrogen6x.c | 2 +- board/congatec/cgtqmx6eval/cgtqmx6eval.c | 2 +- board/gateworks/gw_ventana/gw_ventana.c | 2 +- board/kosagi/novena/novena.c | 2 +- board/toradex/apalis_imx6/apalis_imx6.c | 2 +- board/toradex/colibri_imx6/colibri_imx6.c | 2 +- board/udoo/udoo.c | 2 +- board/wandboard/wandboard.c | 2 +- cmd/Kconfig | 1 + common/Makefile | 2 +- common/splash_source.c | 2 +- drivers/block/Kconfig | 15 ++++++++++++++- fs/fat/fat.c | 2 +- include/config_distro_bootcmd.h | 6 +++--- include/config_fallbacks.h | 2 +- 22 files changed, 39 insertions(+), 25 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

At present we have the SATA and PATA drivers mixed up in the drivers/block directory. It is better to split them out into their own place. Use drivers/ata which is what Linux does.
Signed-off-by: Simon Glass sjg@chromium.org ---
arch/powerpc/cpu/mpc85xx/cpu_init.c | 2 +- common/Makefile | 1 - drivers/Kconfig | 2 ++ drivers/Makefile | 3 +- drivers/ata/Kconfig | 62 +++++++++++++++++++++++++++++++++++ drivers/ata/Makefile | 22 +++++++++++++ drivers/{block => ata}/ahci-uclass.c | 0 drivers/{block => ata}/ahci.c | 0 drivers/{block => ata}/dwc_ahci.c | 0 drivers/{block => ata}/dwc_ahsata.c | 0 drivers/{block => ata}/dwc_ahsata.h | 0 drivers/{block => ata}/fsl_sata.c | 0 drivers/{block => ata}/fsl_sata.h | 0 drivers/{block => ata}/libata.c | 0 drivers/{block => ata}/mvsata_ide.c | 0 drivers/{block => ata}/mxc_ata.c | 0 {common => drivers/ata}/sata.c | 0 drivers/{block => ata}/sata_ceva.c | 0 drivers/{block => ata}/sata_dwc.c | 0 drivers/{block => ata}/sata_dwc.h | 0 drivers/{block => ata}/sata_mv.c | 0 drivers/{block => ata}/sata_sandbox.c | 0 drivers/{block => ata}/sata_sil.c | 0 drivers/{block => ata}/sata_sil.h | 0 drivers/{block => ata}/sata_sil3114.c | 0 drivers/{block => ata}/sata_sil3114.h | 0 drivers/block/Kconfig | 45 ------------------------- drivers/block/Makefile | 16 +-------- 28 files changed, 90 insertions(+), 63 deletions(-) create mode 100644 drivers/ata/Kconfig create mode 100644 drivers/ata/Makefile rename drivers/{block => ata}/ahci-uclass.c (100%) rename drivers/{block => ata}/ahci.c (100%) rename drivers/{block => ata}/dwc_ahci.c (100%) rename drivers/{block => ata}/dwc_ahsata.c (100%) rename drivers/{block => ata}/dwc_ahsata.h (100%) rename drivers/{block => ata}/fsl_sata.c (100%) rename drivers/{block => ata}/fsl_sata.h (100%) rename drivers/{block => ata}/libata.c (100%) rename drivers/{block => ata}/mvsata_ide.c (100%) rename drivers/{block => ata}/mxc_ata.c (100%) rename {common => drivers/ata}/sata.c (100%) rename drivers/{block => ata}/sata_ceva.c (100%) rename drivers/{block => ata}/sata_dwc.c (100%) rename drivers/{block => ata}/sata_dwc.h (100%) rename drivers/{block => ata}/sata_mv.c (100%) rename drivers/{block => ata}/sata_sandbox.c (100%) rename drivers/{block => ata}/sata_sil.c (100%) rename drivers/{block => ata}/sata_sil.h (100%) rename drivers/{block => ata}/sata_sil3114.c (100%) rename drivers/{block => ata}/sata_sil3114.h (100%)
diff --git a/arch/powerpc/cpu/mpc85xx/cpu_init.c b/arch/powerpc/cpu/mpc85xx/cpu_init.c index 388fe2b4ef..a3076d8d71 100644 --- a/arch/powerpc/cpu/mpc85xx/cpu_init.c +++ b/arch/powerpc/cpu/mpc85xx/cpu_init.c @@ -48,7 +48,7 @@ #ifndef CONFIG_ARCH_QEMU_E500 #include <fsl_ddr.h> #endif -#include "../../../../drivers/block/fsl_sata.h" +#include "../../../../drivers/ata/fsl_sata.h" #ifdef CONFIG_U_QE #include <fsl_qe.h> #endif diff --git a/common/Makefile b/common/Makefile index ceade7c6bc..026f58211d 100644 --- a/common/Makefile +++ b/common/Makefile @@ -80,7 +80,6 @@ obj-$(CONFIG_LCD_ROTATION) += lcd_console_rotation.o obj-$(CONFIG_LCD_DT_SIMPLEFB) += lcd_simplefb.o obj-$(CONFIG_LYNXKDI) += lynxkdi.o obj-$(CONFIG_MENU) += menu.o -obj-$(CONFIG_SATA) += sata.o obj-$(CONFIG_SCSI) += scsi.o obj-$(CONFIG_UPDATE_TFTP) += update.o obj-$(CONFIG_DFU_TFTP) += update.o diff --git a/drivers/Kconfig b/drivers/Kconfig index a736386a0d..63e4034c56 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -6,6 +6,8 @@ source "drivers/core/Kconfig"
source "drivers/adc/Kconfig"
+source "drivers/ata/Kconfig" + source "drivers/block/Kconfig"
source "drivers/clk/Kconfig" diff --git a/drivers/Makefile b/drivers/Makefile index 058bccb761..9bbcc7bf9c 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -45,7 +45,7 @@ obj-$(CONFIG_SPL_DFU_SUPPORT) += dfu/ obj-$(CONFIG_SPL_WATCHDOG_SUPPORT) += watchdog/ obj-$(CONFIG_SPL_USB_HOST_SUPPORT) += usb/host/ obj-$(CONFIG_OMAP_USB_PHY) += usb/phy/ -obj-$(CONFIG_SPL_SATA_SUPPORT) += block/ +obj-$(CONFIG_SPL_SATA_SUPPORT) += ata/ obj-$(CONFIG_SPL_USB_HOST_SUPPORT) += block/ obj-$(CONFIG_SPL_MMC_SUPPORT) += block/ endif @@ -66,6 +66,7 @@ endif ifeq ($(CONFIG_SPL_BUILD)$(CONFIG_TPL_BUILD),)
obj-y += adc/ +obj-y += ata/ obj-$(CONFIG_DM_DEMO) += demo/ obj-$(CONFIG_BIOSEMU) += bios_emulator/ obj-y += block/ diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig new file mode 100644 index 0000000000..6427f1b94a --- /dev/null +++ b/drivers/ata/Kconfig @@ -0,0 +1,62 @@ +config AHCI + bool "Support SATA controllers with driver model" + depends on DM + help + This enables a uclass for disk controllers in U-Boot. Various driver + types can use this, such as AHCI/SATA. It does not provide any standard + operations at present. The block device interface has not been converted + to driver model. + +config SATA + bool "Support SATA controllers" + help + This enables support for SATA (Serial Advanced Technology + Attachment), a serial bus standard for connecting to hard drives and + other storage devices. + + SATA replaces PATA (originally just ATA), which stands for Parallel AT + Attachment, where AT refers to an IBM AT (Advanced Technology) + computer released in 1984. + + See also CMD_SATA which provides command-line support. + +config SCSI + bool "Support SCSI controllers" + help + This enables support for SCSI (Small Computer System Interface), + a parallel interface widely used with storage peripherals such as + hard drives and optical drives. The SCSI standards define physical + interfaces as well as protocols for controlling devices and + tranferring data. + +config DM_SCSI + bool "Support SCSI controllers with driver model" + depends on BLK + help + This option enables the SCSI (Small Computer System Interface) uclass + which supports SCSI and SATA HDDs. For every device configuration + (IDs/LUNs) a block device is created with RAW read/write and + filesystem support. + +menu "SATA/SCSI device support" + +config SATA_CEVA + bool "Ceva Sata controller" + depends on AHCI + depends on DM_SCSI + help + This option enables Ceva Sata controller hard IP available on Xilinx + ZynqMP. Support up to 2 external devices. Complient with SATA 3.1 and + AHCI 1.3 specifications with hot-plug detect feature. + + +config DWC_AHCI + bool "Enable Synopsys DWC AHCI driver support" + select SCSI_AHCI + select PHY + depends on DM_SCSI + help + Enable this driver to support Sata devices through + Synopsys DWC AHCI module. + +endmenu diff --git a/drivers/ata/Makefile b/drivers/ata/Makefile new file mode 100644 index 0000000000..c48184c4c3 --- /dev/null +++ b/drivers/ata/Makefile @@ -0,0 +1,22 @@ +# +# (C) Copyright 2000-2007 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# +# SPDX-License-Identifier: GPL-2.0+ +# + +obj-$(CONFIG_DWC_AHCI) += dwc_ahci.o +obj-$(CONFIG_AHCI) += ahci-uclass.o +obj-$(CONFIG_SCSI_AHCI) += ahci.o +obj-$(CONFIG_DWC_AHSATA) += dwc_ahsata.o +obj-$(CONFIG_FSL_SATA) += fsl_sata.o +obj-$(CONFIG_LIBATA) += libata.o +obj-$(CONFIG_MVSATA_IDE) += mvsata_ide.o +obj-$(CONFIG_MX51_PATA) += mxc_ata.o +obj-$(CONFIG_SATA) += sata.o +obj-$(CONFIG_SATA_CEVA) += sata_ceva.o +obj-$(CONFIG_SATA_DWC) += sata_dwc.o +obj-$(CONFIG_SATA_MV) += sata_mv.o +obj-$(CONFIG_SATA_SIL3114) += sata_sil3114.o +obj-$(CONFIG_SATA_SIL) += sata_sil.o +obj-$(CONFIG_SANDBOX) += sata_sandbox.o diff --git a/drivers/block/ahci-uclass.c b/drivers/ata/ahci-uclass.c similarity index 100% rename from drivers/block/ahci-uclass.c rename to drivers/ata/ahci-uclass.c diff --git a/drivers/block/ahci.c b/drivers/ata/ahci.c similarity index 100% rename from drivers/block/ahci.c rename to drivers/ata/ahci.c diff --git a/drivers/block/dwc_ahci.c b/drivers/ata/dwc_ahci.c similarity index 100% rename from drivers/block/dwc_ahci.c rename to drivers/ata/dwc_ahci.c diff --git a/drivers/block/dwc_ahsata.c b/drivers/ata/dwc_ahsata.c similarity index 100% rename from drivers/block/dwc_ahsata.c rename to drivers/ata/dwc_ahsata.c diff --git a/drivers/block/dwc_ahsata.h b/drivers/ata/dwc_ahsata.h similarity index 100% rename from drivers/block/dwc_ahsata.h rename to drivers/ata/dwc_ahsata.h diff --git a/drivers/block/fsl_sata.c b/drivers/ata/fsl_sata.c similarity index 100% rename from drivers/block/fsl_sata.c rename to drivers/ata/fsl_sata.c diff --git a/drivers/block/fsl_sata.h b/drivers/ata/fsl_sata.h similarity index 100% rename from drivers/block/fsl_sata.h rename to drivers/ata/fsl_sata.h diff --git a/drivers/block/libata.c b/drivers/ata/libata.c similarity index 100% rename from drivers/block/libata.c rename to drivers/ata/libata.c diff --git a/drivers/block/mvsata_ide.c b/drivers/ata/mvsata_ide.c similarity index 100% rename from drivers/block/mvsata_ide.c rename to drivers/ata/mvsata_ide.c diff --git a/drivers/block/mxc_ata.c b/drivers/ata/mxc_ata.c similarity index 100% rename from drivers/block/mxc_ata.c rename to drivers/ata/mxc_ata.c diff --git a/common/sata.c b/drivers/ata/sata.c similarity index 100% rename from common/sata.c rename to drivers/ata/sata.c diff --git a/drivers/block/sata_ceva.c b/drivers/ata/sata_ceva.c similarity index 100% rename from drivers/block/sata_ceva.c rename to drivers/ata/sata_ceva.c diff --git a/drivers/block/sata_dwc.c b/drivers/ata/sata_dwc.c similarity index 100% rename from drivers/block/sata_dwc.c rename to drivers/ata/sata_dwc.c diff --git a/drivers/block/sata_dwc.h b/drivers/ata/sata_dwc.h similarity index 100% rename from drivers/block/sata_dwc.h rename to drivers/ata/sata_dwc.h diff --git a/drivers/block/sata_mv.c b/drivers/ata/sata_mv.c similarity index 100% rename from drivers/block/sata_mv.c rename to drivers/ata/sata_mv.c diff --git a/drivers/block/sata_sandbox.c b/drivers/ata/sata_sandbox.c similarity index 100% rename from drivers/block/sata_sandbox.c rename to drivers/ata/sata_sandbox.c diff --git a/drivers/block/sata_sil.c b/drivers/ata/sata_sil.c similarity index 100% rename from drivers/block/sata_sil.c rename to drivers/ata/sata_sil.c diff --git a/drivers/block/sata_sil.h b/drivers/ata/sata_sil.h similarity index 100% rename from drivers/block/sata_sil.h rename to drivers/ata/sata_sil.h diff --git a/drivers/block/sata_sil3114.c b/drivers/ata/sata_sil3114.c similarity index 100% rename from drivers/block/sata_sil3114.c rename to drivers/ata/sata_sil3114.c diff --git a/drivers/block/sata_sil3114.h b/drivers/ata/sata_sil3114.h similarity index 100% rename from drivers/block/sata_sil3114.h rename to drivers/ata/sata_sil3114.h diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig index ed7fa88bf5..1ddd6508e4 100644 --- a/drivers/block/Kconfig +++ b/drivers/block/Kconfig @@ -10,28 +10,6 @@ config BLK be partitioned into several areas, called 'partitions' in U-Boot. A filesystem can be placed in each partition.
-config AHCI - bool "Support SATA controllers with driver model" - depends on DM - help - This enables a uclass for disk controllers in U-Boot. Various driver - types can use this, such as AHCI/SATA. It does not provide any standard - operations at present. The block device interface has not been converted - to driver model. - -config SATA - bool "Support SATA controllers" - help - This enables support for SATA (Serial Advanced Technology - Attachment), a serial bus standard for connecting to hard drives and - other storage devices. - - SATA replaces PATA (originally just ATA), which stands for Parallel AT - Attachment, where AT refers to an IBM AT (Advanced Technology) - computer released in 1984. - - See also CMD_SATA which provides command-line support. - config SCSI bool "Support SCSI controllers" help @@ -59,29 +37,6 @@ config BLOCK_CACHE it will prevent repeated reads from directory structures and other filesystem data structures.
-menu "SATA/SCSI device support" - -config SATA_CEVA - bool "Ceva Sata controller" - depends on AHCI - depends on DM_SCSI - help - This option enables Ceva Sata controller hard IP available on Xilinx - ZynqMP. Support up to 2 external devices. Complient with SATA 3.1 and - AHCI 1.3 specifications with hot-plug detect feature. - - -config DWC_AHCI - bool "Enable Synopsys DWC AHCI driver support" - select SCSI_AHCI - select PHY - depends on DM_SCSI - help - Enable this driver to support Sata devices through - Synopsys DWC AHCI module. - -endmenu - config IDE bool "Support IDE controllers" help diff --git a/drivers/block/Makefile b/drivers/block/Makefile index 2a4c9b8f9e..2bfcc4a683 100644 --- a/drivers/block/Makefile +++ b/drivers/block/Makefile @@ -11,23 +11,9 @@ ifndef CONFIG_BLK obj-y += blk_legacy.o endif
-obj-$(CONFIG_DWC_AHCI) += dwc_ahci.o -obj-$(CONFIG_AHCI) += ahci-uclass.o -obj-$(CONFIG_DM_SCSI) += scsi-uclass.o -obj-$(CONFIG_SCSI_AHCI) += ahci.o -obj-$(CONFIG_DWC_AHSATA) += dwc_ahsata.o -obj-$(CONFIG_FSL_SATA) += fsl_sata.o obj-$(CONFIG_IDE) += ide.o obj-$(CONFIG_IDE_FTIDE020) += ftide020.o -obj-$(CONFIG_LIBATA) += libata.o -obj-$(CONFIG_MVSATA_IDE) += mvsata_ide.o -obj-$(CONFIG_MX51_PATA) += mxc_ata.o -obj-$(CONFIG_SATA_CEVA) += sata_ceva.o -obj-$(CONFIG_SATA_DWC) += sata_dwc.o -obj-$(CONFIG_SATA_MV) += sata_mv.o -obj-$(CONFIG_SATA_SIL3114) += sata_sil3114.o -obj-$(CONFIG_SATA_SIL) += sata_sil.o obj-$(CONFIG_IDE_SIL680) += sil680.o -obj-$(CONFIG_SANDBOX) += sandbox.o sandbox_scsi.o sata_sandbox.o +obj-$(CONFIG_SANDBOX) += sandbox.o sandbox_scsi.o obj-$(CONFIG_SYSTEMACE) += systemace.o obj-$(CONFIG_BLOCK_CACHE) += blkcache.o

On Tue, Jun 6, 2017 at 3:14 AM, Simon Glass sjg@chromium.org wrote:
At present we have the SATA and PATA drivers mixed up in the drivers/block directory. It is better to split them out into their own place. Use drivers/ata which is what Linux does.
Signed-off-by: Simon Glass sjg@chromium.org
arch/powerpc/cpu/mpc85xx/cpu_init.c | 2 +- common/Makefile | 1 - drivers/Kconfig | 2 ++ drivers/Makefile | 3 +- drivers/ata/Kconfig | 62 +++++++++++++++++++++++++++++++++++ drivers/ata/Makefile | 22 +++++++++++++ drivers/{block => ata}/ahci-uclass.c | 0 drivers/{block => ata}/ahci.c | 0 drivers/{block => ata}/dwc_ahci.c | 0 drivers/{block => ata}/dwc_ahsata.c | 0 drivers/{block => ata}/dwc_ahsata.h | 0 drivers/{block => ata}/fsl_sata.c | 0 drivers/{block => ata}/fsl_sata.h | 0 drivers/{block => ata}/libata.c | 0 drivers/{block => ata}/mvsata_ide.c | 0 drivers/{block => ata}/mxc_ata.c | 0 {common => drivers/ata}/sata.c | 0 drivers/{block => ata}/sata_ceva.c | 0 drivers/{block => ata}/sata_dwc.c | 0 drivers/{block => ata}/sata_dwc.h | 0 drivers/{block => ata}/sata_mv.c | 0 drivers/{block => ata}/sata_sandbox.c | 0 drivers/{block => ata}/sata_sil.c | 0 drivers/{block => ata}/sata_sil.h | 0 drivers/{block => ata}/sata_sil3114.c | 0 drivers/{block => ata}/sata_sil3114.h | 0 drivers/block/Kconfig | 45 ------------------------- drivers/block/Makefile | 16 +-------- 28 files changed, 90 insertions(+), 63 deletions(-) create mode 100644 drivers/ata/Kconfig create mode 100644 drivers/ata/Makefile rename drivers/{block => ata}/ahci-uclass.c (100%) rename drivers/{block => ata}/ahci.c (100%) rename drivers/{block => ata}/dwc_ahci.c (100%) rename drivers/{block => ata}/dwc_ahsata.c (100%) rename drivers/{block => ata}/dwc_ahsata.h (100%) rename drivers/{block => ata}/fsl_sata.c (100%) rename drivers/{block => ata}/fsl_sata.h (100%) rename drivers/{block => ata}/libata.c (100%) rename drivers/{block => ata}/mvsata_ide.c (100%) rename drivers/{block => ata}/mxc_ata.c (100%) rename {common => drivers/ata}/sata.c (100%) rename drivers/{block => ata}/sata_ceva.c (100%) rename drivers/{block => ata}/sata_dwc.c (100%) rename drivers/{block => ata}/sata_dwc.h (100%) rename drivers/{block => ata}/sata_mv.c (100%) rename drivers/{block => ata}/sata_sandbox.c (100%) rename drivers/{block => ata}/sata_sil.c (100%) rename drivers/{block => ata}/sata_sil.h (100%) rename drivers/{block => ata}/sata_sil3114.c (100%) rename drivers/{block => ata}/sata_sil3114.h (100%)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

At present we have the SCSI drivers in the drivers/block and common/ directories. It is better to split them out into their own place. Use drivers/scsi which is what Linux does.
Signed-off-by: Simon Glass sjg@chromium.org ---
common/Makefile | 4 ---- drivers/Kconfig | 2 ++ drivers/Makefile | 3 ++- drivers/block/Kconfig | 18 ------------------ drivers/block/Makefile | 2 +- drivers/scsi/Kconfig | 17 +++++++++++++++++ drivers/scsi/Makefile | 19 +++++++++++++++++++ drivers/{block => scsi}/sandbox_scsi.c | 0 drivers/{block => scsi}/scsi-uclass.c | 0 {common => drivers/scsi}/scsi.c | 0 10 files changed, 41 insertions(+), 24 deletions(-) create mode 100644 drivers/scsi/Kconfig create mode 100644 drivers/scsi/Makefile rename drivers/{block => scsi}/sandbox_scsi.c (100%) rename drivers/{block => scsi}/scsi-uclass.c (100%) rename {common => drivers/scsi}/scsi.c (100%)
diff --git a/common/Makefile b/common/Makefile index 026f58211d..3c2e477d72 100644 --- a/common/Makefile +++ b/common/Makefile @@ -80,7 +80,6 @@ obj-$(CONFIG_LCD_ROTATION) += lcd_console_rotation.o obj-$(CONFIG_LCD_DT_SIMPLEFB) += lcd_simplefb.o obj-$(CONFIG_LYNXKDI) += lynxkdi.o obj-$(CONFIG_MENU) += menu.o -obj-$(CONFIG_SCSI) += scsi.o obj-$(CONFIG_UPDATE_TFTP) += update.o obj-$(CONFIG_DFU_TFTP) += update.o obj-$(CONFIG_USB_KEYBOARD) += usb_kbd.o @@ -119,9 +118,6 @@ obj-$(CONFIG_ENV_IS_IN_NAND) += env_nand.o obj-$(CONFIG_ENV_IS_IN_SPI_FLASH) += env_sf.o obj-$(CONFIG_ENV_IS_IN_FLASH) += env_flash.o endif -ifdef CONFIG_SPL_SATA_SUPPORT -obj-$(CONFIG_SCSI) += scsi.o -endif endif #environment obj-y += env_common.o diff --git a/drivers/Kconfig b/drivers/Kconfig index 63e4034c56..2e03133c43 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -72,6 +72,8 @@ source "drivers/reset/Kconfig"
source "drivers/rtc/Kconfig"
+source "drivers/scsi/Kconfig" + source "drivers/serial/Kconfig"
source "drivers/sound/Kconfig" diff --git a/drivers/Makefile b/drivers/Makefile index 9bbcc7bf9c..8624bd86f1 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -45,7 +45,7 @@ obj-$(CONFIG_SPL_DFU_SUPPORT) += dfu/ obj-$(CONFIG_SPL_WATCHDOG_SUPPORT) += watchdog/ obj-$(CONFIG_SPL_USB_HOST_SUPPORT) += usb/host/ obj-$(CONFIG_OMAP_USB_PHY) += usb/phy/ -obj-$(CONFIG_SPL_SATA_SUPPORT) += ata/ +obj-$(CONFIG_SPL_SATA_SUPPORT) += ata/ scsi/ obj-$(CONFIG_SPL_USB_HOST_SUPPORT) += block/ obj-$(CONFIG_SPL_MMC_SUPPORT) += block/ endif @@ -82,6 +82,7 @@ obj-y += dfu/ obj-$(CONFIG_X86) += pch/ obj-y += phy/marvell/ obj-y += rtc/ +obj-y += scsi/ obj-y += sound/ obj-y += spmi/ obj-y += sysreset/ diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig index 1ddd6508e4..ca7692d8a5 100644 --- a/drivers/block/Kconfig +++ b/drivers/block/Kconfig @@ -10,24 +10,6 @@ config BLK be partitioned into several areas, called 'partitions' in U-Boot. A filesystem can be placed in each partition.
-config SCSI - bool "Support SCSI controllers" - help - This enables support for SCSI (Small Computer System Interface), - a parallel interface widely used with storage peripherals such as - hard drives and optical drives. The SCSI standards define physical - interfaces as well as protocols for controlling devices and - tranferring data. - -config DM_SCSI - bool "Support SCSI controllers with driver model" - depends on BLK - help - This option enables the SCSI (Small Computer System Interface) uclass - which supports SCSI and SATA HDDs. For every device configuration - (IDs/LUNs) a block device is created with RAW read/write and - filesystem support. - config BLOCK_CACHE bool "Use block device cache" default n diff --git a/drivers/block/Makefile b/drivers/block/Makefile index 2bfcc4a683..146c4fe01f 100644 --- a/drivers/block/Makefile +++ b/drivers/block/Makefile @@ -14,6 +14,6 @@ endif obj-$(CONFIG_IDE) += ide.o obj-$(CONFIG_IDE_FTIDE020) += ftide020.o obj-$(CONFIG_IDE_SIL680) += sil680.o -obj-$(CONFIG_SANDBOX) += sandbox.o sandbox_scsi.o +obj-$(CONFIG_SANDBOX) += sandbox.o obj-$(CONFIG_SYSTEMACE) += systemace.o obj-$(CONFIG_BLOCK_CACHE) += blkcache.o diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig new file mode 100644 index 0000000000..db1606e3ce --- /dev/null +++ b/drivers/scsi/Kconfig @@ -0,0 +1,17 @@ +config SCSI + bool "Support SCSI controllers" + help + This enables support for SCSI (Small Computer System Interface), + a parallel interface widely used with storage peripherals such as + hard drives and optical drives. The SCSI standards define physical + interfaces as well as protocols for controlling devices and + tranferring data. + +config DM_SCSI + bool "Support SCSI controllers with driver model" + depends on BLK + help + This option enables the SCSI (Small Computer System Interface) uclass + which supports SCSI and SATA HDDs. For every device configuration + (IDs/LUNs) a block device is created with RAW read/write and + filesystem support. diff --git a/drivers/scsi/Makefile b/drivers/scsi/Makefile new file mode 100644 index 0000000000..7068a8f12e --- /dev/null +++ b/drivers/scsi/Makefile @@ -0,0 +1,19 @@ +# +# (C) Copyright 2000-2007 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# +# SPDX-License-Identifier: GPL-2.0+ +# + +ifndef CONFIG_SPL_BUILD +obj-$(CONFIG_DM_SCSI) += scsi-uclass.o +obj-$(CONFIG_SCSI) += scsi.o +obj-$(CONFIG_SANDBOX) += sandbox_scsi.o +endif + +ifdef CONFIG_SPL_BUILD +ifdef CONFIG_SPL_SATA_SUPPORT +obj-$(CONFIG_DM_SCSI) += scsi-uclass.o +obj-$(CONFIG_SCSI) += scsi.o +endif +endif diff --git a/drivers/block/sandbox_scsi.c b/drivers/scsi/sandbox_scsi.c similarity index 100% rename from drivers/block/sandbox_scsi.c rename to drivers/scsi/sandbox_scsi.c diff --git a/drivers/block/scsi-uclass.c b/drivers/scsi/scsi-uclass.c similarity index 100% rename from drivers/block/scsi-uclass.c rename to drivers/scsi/scsi-uclass.c diff --git a/common/scsi.c b/drivers/scsi/scsi.c similarity index 100% rename from common/scsi.c rename to drivers/scsi/scsi.c

On Tue, Jun 6, 2017 at 3:14 AM, Simon Glass sjg@chromium.org wrote:
At present we have the SCSI drivers in the drivers/block and common/ directories. It is better to split them out into their own place. Use drivers/scsi which is what Linux does.
Signed-off-by: Simon Glass sjg@chromium.org
common/Makefile | 4 ---- drivers/Kconfig | 2 ++ drivers/Makefile | 3 ++- drivers/block/Kconfig | 18 ------------------ drivers/block/Makefile | 2 +- drivers/scsi/Kconfig | 17 +++++++++++++++++ drivers/scsi/Makefile | 19 +++++++++++++++++++ drivers/{block => scsi}/sandbox_scsi.c | 0 drivers/{block => scsi}/scsi-uclass.c | 0 {common => drivers/scsi}/scsi.c | 0 10 files changed, 41 insertions(+), 24 deletions(-) create mode 100644 drivers/scsi/Kconfig create mode 100644 drivers/scsi/Makefile rename drivers/{block => scsi}/sandbox_scsi.c (100%) rename drivers/{block => scsi}/scsi-uclass.c (100%) rename {common => drivers/scsi}/scsi.c (100%)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

Put the driver-model declarations first since we are migrating to that. Also drop scsi_init() when driver model is used.
Signed-off-by: Simon Glass sjg@chromium.org ---
include/scsi.h | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-)
diff --git a/include/scsi.h b/include/scsi.h index 621d9382fc..f94b2ef514 100644 --- a/include/scsi.h +++ b/include/scsi.h @@ -158,26 +158,6 @@ typedef struct SCSI_cmd_block{ #define SCSI_WRITE_LONG 0x3F /* Write Long (O) */ #define SCSI_WRITE_SAME 0x41 /* Write Same (O) */
- -/**************************************************************************** - * decleration of functions which have to reside in the LowLevel Part Driver - */ - -int scsi_exec(ccb *pccb); -void scsi_bus_reset(void); -#if !defined(CONFIG_DM_SCSI) -void scsi_low_level_init(int busdevfunc); -#else -void scsi_low_level_init(int busdevfunc, struct udevice *dev); -#endif - -/*************************************************************************** - * functions residing inside cmd_scsi.c - */ -void scsi_init(void); -int scsi_scan(int mode); - -#if defined(CONFIG_DM_SCSI) /** * struct scsi_platdata - stores information about SCSI controller * @@ -190,8 +170,22 @@ struct scsi_platdata { unsigned long max_lun; unsigned long max_id; }; + +#if defined(CONFIG_DM_SCSI) +void scsi_low_level_init(int busdevfunc, struct udevice *dev); +#else +void scsi_low_level_init(int busdevfunc); +void scsi_init(void); #endif
+int scsi_exec(ccb *pccb); +void scsi_bus_reset(void); + +/*************************************************************************** + * functions residing inside cmd_scsi.c + */ +int scsi_scan(int mode); + #define SCSI_IDENTIFY 0xC0 /* not used */
/* Hardware errors */

On Tue, Jun 6, 2017 at 3:14 AM, Simon Glass sjg@chromium.org wrote:
Put the driver-model declarations first since we are migrating to that. Also drop scsi_init() when driver model is used.
Signed-off-by: Simon Glass sjg@chromium.org
include/scsi.h | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

This name should be lower case. Also the _block suffix is superfluous. Rename it.
Signed-off-by: Simon Glass sjg@chromium.org ---
drivers/usb/emul/sandbox_flash.c | 2 +- include/scsi.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/emul/sandbox_flash.c b/drivers/usb/emul/sandbox_flash.c index 73fa82b8e6..98d20c0bc1 100644 --- a/drivers/usb/emul/sandbox_flash.c +++ b/drivers/usb/emul/sandbox_flash.c @@ -244,7 +244,7 @@ static int handle_ufi_command(struct sandbox_flash_plat *plat, struct sandbox_flash_priv *priv, const void *buff, int len) { - const struct SCSI_cmd_block *req = buff; + const struct scsi_cmd *req = buff;
switch (*req->cmd) { case SCSI_INQUIRY: { diff --git a/include/scsi.h b/include/scsi.h index f94b2ef514..5d6829d298 100644 --- a/include/scsi.h +++ b/include/scsi.h @@ -7,7 +7,7 @@ #ifndef _SCSI_H #define _SCSI_H
-typedef struct SCSI_cmd_block{ +typedef struct scsi_cmd { unsigned char cmd[16]; /* command */ /* for request sense */ unsigned char sense_buf[64]

On Tue, Jun 6, 2017 at 3:14 AM, Simon Glass sjg@chromium.org wrote:
This name should be lower case. Also the _block suffix is superfluous. Rename it.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/usb/emul/sandbox_flash.c | 2 +- include/scsi.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

We should not be using typedefs in U-Boot and 'ccb' is a pretty short name. It is also used with variables. Drop the typedef and use 'struct' instead.
Signed-off-by: Simon Glass sjg@chromium.org ---
common/usb_storage.c | 44 ++++++++++++++++++++++---------------------- drivers/ata/ahci.c | 12 ++++++------ drivers/scsi/sandbox_scsi.c | 2 +- drivers/scsi/scsi.c | 23 ++++++++++++----------- include/scsi.h | 6 +++--- 5 files changed, 44 insertions(+), 43 deletions(-)
diff --git a/common/usb_storage.c b/common/usb_storage.c index 03171f74cb..df0b057308 100644 --- a/common/usb_storage.c +++ b/common/usb_storage.c @@ -63,7 +63,7 @@ static const unsigned char us_direction[256/8] = { }; #define US_DIRECTION(x) ((us_direction[x>>3] >> (x & 7)) & 1)
-static ccb usb_ccb __attribute__((aligned(ARCH_DMA_MINALIGN))); +static struct scsi_cmd usb_ccb __aligned(ARCH_DMA_MINALIGN); static __u32 CBWTag;
static int usb_max_devs; /* number of highest available usb device */ @@ -73,7 +73,7 @@ static struct blk_desc usb_dev_desc[USB_MAX_STOR_DEV]; #endif
struct us_data; -typedef int (*trans_cmnd)(ccb *cb, struct us_data *data); +typedef int (*trans_cmnd)(struct scsi_cmd *cb, struct us_data *data); typedef int (*trans_reset)(struct us_data *data);
struct us_data { @@ -95,7 +95,7 @@ struct us_data { unsigned int irqpipe; /* pipe for release_irq */ unsigned char irqmaxp; /* max packed for irq Pipe */ unsigned char irqinterval; /* Intervall for IRQ Pipe */ - ccb *srb; /* current srb */ + struct scsi_cmd *srb; /* current srb */ trans_reset transport_reset; /* reset routine */ trans_cmnd transport; /* transport routine */ }; @@ -349,7 +349,7 @@ static int usb_stor_irq(struct usb_device *dev)
#ifdef DEBUG
-static void usb_show_srb(ccb *pccb) +static void usb_show_srb(struct scsi_cmd *pccb) { int i; printf("SRB: len %d datalen 0x%lX\n ", pccb->cmdlen, pccb->datalen); @@ -541,7 +541,7 @@ static int usb_stor_CB_reset(struct us_data *us) * Set up the command for a BBB device. Note that the actual SCSI * command is copied into cbw.CBWCDB. */ -static int usb_stor_BBB_comdat(ccb *srb, struct us_data *us) +static int usb_stor_BBB_comdat(struct scsi_cmd *srb, struct us_data *us) { int result; int actlen; @@ -590,7 +590,7 @@ static int usb_stor_BBB_comdat(ccb *srb, struct us_data *us) /* FIXME: we also need a CBI_command which sets up the completion * interrupt, and waits for it */ -static int usb_stor_CB_comdat(ccb *srb, struct us_data *us) +static int usb_stor_CB_comdat(struct scsi_cmd *srb, struct us_data *us) { int result = 0; int dir_in, retry; @@ -659,7 +659,7 @@ static int usb_stor_CB_comdat(ccb *srb, struct us_data *us) }
-static int usb_stor_CBI_get_status(ccb *srb, struct us_data *us) +static int usb_stor_CBI_get_status(struct scsi_cmd *srb, struct us_data *us) { int timeout;
@@ -714,7 +714,7 @@ static int usb_stor_BBB_clear_endpt_stall(struct us_data *us, __u8 endpt) endpt, NULL, 0, USB_CNTL_TIMEOUT * 5); }
-static int usb_stor_BBB_transport(ccb *srb, struct us_data *us) +static int usb_stor_BBB_transport(struct scsi_cmd *srb, struct us_data *us) { int result, retry; int dir_in; @@ -837,11 +837,11 @@ again: return result; }
-static int usb_stor_CB_transport(ccb *srb, struct us_data *us) +static int usb_stor_CB_transport(struct scsi_cmd *srb, struct us_data *us) { int result, status; - ccb *psrb; - ccb reqsrb; + struct scsi_cmd *psrb; + struct scsi_cmd reqsrb; int retry, notready;
psrb = &reqsrb; @@ -950,7 +950,7 @@ do_retry: }
-static int usb_inquiry(ccb *srb, struct us_data *ss) +static int usb_inquiry(struct scsi_cmd *srb, struct us_data *ss) { int retry, i; retry = 5; @@ -974,7 +974,7 @@ static int usb_inquiry(ccb *srb, struct us_data *ss) return 0; }
-static int usb_request_sense(ccb *srb, struct us_data *ss) +static int usb_request_sense(struct scsi_cmd *srb, struct us_data *ss) { char *ptr;
@@ -994,7 +994,7 @@ static int usb_request_sense(ccb *srb, struct us_data *ss) return 0; }
-static int usb_test_unit_ready(ccb *srb, struct us_data *ss) +static int usb_test_unit_ready(struct scsi_cmd *srb, struct us_data *ss) { int retries = 10;
@@ -1025,7 +1025,7 @@ static int usb_test_unit_ready(ccb *srb, struct us_data *ss) return -1; }
-static int usb_read_capacity(ccb *srb, struct us_data *ss) +static int usb_read_capacity(struct scsi_cmd *srb, struct us_data *ss) { int retry; /* XXX retries */ @@ -1043,8 +1043,8 @@ static int usb_read_capacity(ccb *srb, struct us_data *ss) return -1; }
-static int usb_read_10(ccb *srb, struct us_data *ss, unsigned long start, - unsigned short blocks) +static int usb_read_10(struct scsi_cmd *srb, struct us_data *ss, + unsigned long start, unsigned short blocks) { memset(&srb->cmd[0], 0, 12); srb->cmd[0] = SCSI_READ10; @@ -1060,8 +1060,8 @@ static int usb_read_10(ccb *srb, struct us_data *ss, unsigned long start, return ss->transport(srb, ss); }
-static int usb_write_10(ccb *srb, struct us_data *ss, unsigned long start, - unsigned short blocks) +static int usb_write_10(struct scsi_cmd *srb, struct us_data *ss, + unsigned long start, unsigned short blocks) { memset(&srb->cmd[0], 0, 12); srb->cmd[0] = SCSI_WRITE10; @@ -1115,7 +1115,7 @@ static unsigned long usb_stor_read(struct blk_desc *block_dev, lbaint_t blknr, struct usb_device *udev; struct us_data *ss; int retry; - ccb *srb = &usb_ccb; + struct scsi_cmd *srb = &usb_ccb; #ifdef CONFIG_BLK struct blk_desc *block_dev; #endif @@ -1197,7 +1197,7 @@ static unsigned long usb_stor_write(struct blk_desc *block_dev, lbaint_t blknr, struct usb_device *udev; struct us_data *ss; int retry; - ccb *srb = &usb_ccb; + struct scsi_cmd *srb = &usb_ccb; #ifdef CONFIG_BLK struct blk_desc *block_dev; #endif @@ -1395,7 +1395,7 @@ int usb_stor_get_info(struct usb_device *dev, struct us_data *ss, ALLOC_CACHE_ALIGN_BUFFER(u32, cap, 2); ALLOC_CACHE_ALIGN_BUFFER(u8, usb_stor_buf, 36); u32 capacity, blksz; - ccb *pccb = &usb_ccb; + struct scsi_cmd *pccb = &usb_ccb;
pccb->pdata = usb_stor_buf;
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index f4744718a8..29835f06d3 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -689,7 +689,7 @@ static char *ata_id_strcpy(u16 *target, u16 *src, int len) /* * SCSI INQUIRY command operation. */ -static int ata_scsiop_inquiry(ccb *pccb) +static int ata_scsiop_inquiry(struct scsi_cmd *pccb) { static const u8 hdr[] = { 0, @@ -753,7 +753,7 @@ static int ata_scsiop_inquiry(ccb *pccb) /* * SCSI READ10/WRITE10 command operation. */ -static int ata_scsiop_read_write(ccb *pccb, u8 is_write) +static int ata_scsiop_read_write(struct scsi_cmd *pccb, u8 is_write) { lbaint_t lba = 0; u16 blocks = 0; @@ -864,7 +864,7 @@ static int ata_scsiop_read_write(ccb *pccb, u8 is_write) /* * SCSI READ CAPACITY10 command operation. */ -static int ata_scsiop_read_capacity10(ccb *pccb) +static int ata_scsiop_read_capacity10(struct scsi_cmd *pccb) { u32 cap; u64 cap64; @@ -894,7 +894,7 @@ static int ata_scsiop_read_capacity10(ccb *pccb) /* * SCSI READ CAPACITY16 command operation. */ -static int ata_scsiop_read_capacity16(ccb *pccb) +static int ata_scsiop_read_capacity16(struct scsi_cmd *pccb) { u64 cap; u64 block_size; @@ -920,13 +920,13 @@ static int ata_scsiop_read_capacity16(ccb *pccb) /* * SCSI TEST UNIT READY command operation. */ -static int ata_scsiop_test_unit_ready(ccb *pccb) +static int ata_scsiop_test_unit_ready(struct scsi_cmd *pccb) { return (ataid[pccb->target]) ? 0 : -EPERM; }
-int scsi_exec(ccb *pccb) +int scsi_exec(struct scsi_cmd *pccb) { int ret;
diff --git a/drivers/scsi/sandbox_scsi.c b/drivers/scsi/sandbox_scsi.c index f4004a350c..d943d1f9da 100644 --- a/drivers/scsi/sandbox_scsi.c +++ b/drivers/scsi/sandbox_scsi.c @@ -19,7 +19,7 @@ void scsi_init(void) { }
-int scsi_exec(ccb *pccb) +int scsi_exec(struct scsi_cmd *pccb) { return 0; } diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index 6175e50764..5f5652b9e0 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c @@ -32,7 +32,7 @@ #if defined(CONFIG_PCI) && !defined(CONFIG_SCSI_AHCI_PLAT) const struct pci_device_id scsi_device_list[] = { SCSI_DEV_LIST }; #endif -static ccb tempccb; /* temporary scsi command buffer */ +static struct scsi_cmd tempccb; /* temporary scsi command buffer */
static unsigned char tempbuff[512]; /* temporary data buffer */
@@ -48,13 +48,14 @@ static struct blk_desc scsi_dev_desc[CONFIG_SYS_SCSI_MAX_DEVICE]; #define SCSI_MAX_READ_BLK 0xFFFF #define SCSI_LBA48_READ 0xFFFFFFF
-static void scsi_print_error(ccb *pccb) +static void scsi_print_error(struct scsi_cmd *pccb) { /* Dummy function that could print an error for debugging */ }
#ifdef CONFIG_SYS_64BIT_LBA -void scsi_setup_read16(ccb *pccb, lbaint_t start, unsigned long blocks) +void scsi_setup_read16(struct scsi_cmd *pccb, lbaint_t start, + unsigned long blocks) { pccb->cmd[0] = SCSI_READ16; pccb->cmd[1] = pccb->lun << 5; @@ -82,7 +83,7 @@ void scsi_setup_read16(ccb *pccb, lbaint_t start, unsigned long blocks) } #endif
-static void scsi_setup_read_ext(ccb *pccb, lbaint_t start, +static void scsi_setup_read_ext(struct scsi_cmd *pccb, lbaint_t start, unsigned short blocks) { pccb->cmd[0] = SCSI_READ10; @@ -103,7 +104,7 @@ static void scsi_setup_read_ext(ccb *pccb, lbaint_t start, pccb->cmd[7], pccb->cmd[8]); }
-static void scsi_setup_write_ext(ccb *pccb, lbaint_t start, +static void scsi_setup_write_ext(struct scsi_cmd *pccb, lbaint_t start, unsigned short blocks) { pccb->cmd[0] = SCSI_WRITE10; @@ -125,7 +126,7 @@ static void scsi_setup_write_ext(ccb *pccb, lbaint_t start, pccb->cmd[7], pccb->cmd[8]); }
-static void scsi_setup_inquiry(ccb *pccb) +static void scsi_setup_inquiry(struct scsi_cmd *pccb) { pccb->cmd[0] = SCSI_INQUIRY; pccb->cmd[1] = pccb->lun << 5; @@ -154,7 +155,7 @@ static ulong scsi_read(struct blk_desc *block_dev, lbaint_t blknr, lbaint_t start, blks; uintptr_t buf_addr; unsigned short smallblks = 0; - ccb *pccb = (ccb *)&tempccb; + struct scsi_cmd *pccb = (struct scsi_cmd *)&tempccb;
/* Setup device */ pccb->target = block_dev->target; @@ -227,7 +228,7 @@ static ulong scsi_write(struct blk_desc *block_dev, lbaint_t blknr, lbaint_t start, blks; uintptr_t buf_addr; unsigned short smallblks; - ccb *pccb = (ccb *)&tempccb; + struct scsi_cmd *pccb = (struct scsi_cmd *)&tempccb;
/* Setup device */ pccb->target = block_dev->target; @@ -349,7 +350,7 @@ static void scsi_ident_cpy(unsigned char *dest, unsigned char *src, *dest = '\0'; }
-static int scsi_read_capacity(ccb *pccb, lbaint_t *capacity, +static int scsi_read_capacity(struct scsi_cmd *pccb, lbaint_t *capacity, unsigned long *blksz) { *capacity = 0; @@ -414,7 +415,7 @@ static int scsi_read_capacity(ccb *pccb, lbaint_t *capacity, /* * Some setup (fill-in) routines */ -static void scsi_setup_test_unit_ready(ccb *pccb) +static void scsi_setup_test_unit_ready(struct scsi_cmd *pccb) { pccb->cmd[0] = SCSI_TST_U_RDY; pccb->cmd[1] = pccb->lun << 5; @@ -484,7 +485,7 @@ static int scsi_detect_dev(int target, int lun, struct blk_desc *dev_desc) unsigned char perq, modi; lbaint_t capacity; unsigned long blksz; - ccb *pccb = (ccb *)&tempccb; + struct scsi_cmd *pccb = (struct scsi_cmd *)&tempccb;
pccb->target = target; pccb->lun = lun; diff --git a/include/scsi.h b/include/scsi.h index 5d6829d298..bc5be97465 100644 --- a/include/scsi.h +++ b/include/scsi.h @@ -7,7 +7,7 @@ #ifndef _SCSI_H #define _SCSI_H
-typedef struct scsi_cmd { +struct scsi_cmd { unsigned char cmd[16]; /* command */ /* for request sense */ unsigned char sense_buf[64] @@ -27,7 +27,7 @@ typedef struct scsi_cmd { unsigned long trans_bytes; /* tranfered bytes */
unsigned int priv; -}ccb; +};
/*----------------------------------------------------------- ** @@ -178,7 +178,7 @@ void scsi_low_level_init(int busdevfunc); void scsi_init(void); #endif
-int scsi_exec(ccb *pccb); +int scsi_exec(struct scsi_cmd *pccb); void scsi_bus_reset(void);
/***************************************************************************

On Tue, Jun 6, 2017 at 3:14 AM, Simon Glass sjg@chromium.org wrote:
We should not be using typedefs in U-Boot and 'ccb' is a pretty short name. It is also used with variables. Drop the typedef and use 'struct' instead.
Signed-off-by: Simon Glass sjg@chromium.org
common/usb_storage.c | 44 ++++++++++++++++++++++---------------------- drivers/ata/ahci.c | 12 ++++++------ drivers/scsi/sandbox_scsi.c | 2 +- drivers/scsi/scsi.c | 23 ++++++++++++----------- include/scsi.h | 6 +++--- 5 files changed, 44 insertions(+), 43 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

At present the two driver-model SCSI drivers use device platform data to store information that relates to the uclass. It is better to use uclass platform data in this situation. Update the code to do this.
Signed-off-by: Simon Glass sjg@chromium.org ---
drivers/ata/ahci.c | 2 +- drivers/ata/dwc_ahci.c | 3 +-- drivers/ata/sata_ceva.c | 5 ++--- drivers/scsi/scsi-uclass.c | 1 + drivers/scsi/scsi.c | 2 +- 5 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 29835f06d3..2cc604b3f4 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -479,7 +479,7 @@ static int ahci_init_one(pci_dev_t dev) pci_write_config_byte(dev, 0x41, 0xa1); #endif #else - struct scsi_platdata *plat = dev_get_platdata(dev); + struct scsi_platdata *plat = dev_get_uclass_platdata(dev); probe_ent->mmio_base = (void *)plat->base; #endif
diff --git a/drivers/ata/dwc_ahci.c b/drivers/ata/dwc_ahci.c index 3f839bf987..e634df5e3c 100644 --- a/drivers/ata/dwc_ahci.c +++ b/drivers/ata/dwc_ahci.c @@ -28,7 +28,7 @@ struct dwc_ahci_priv { static int dwc_ahci_ofdata_to_platdata(struct udevice *dev) { struct dwc_ahci_priv *priv = dev_get_priv(dev); - struct scsi_platdata *plat = dev_get_platdata(dev); + struct scsi_platdata *plat = dev_get_uclass_platdata(dev); fdt_addr_t addr;
plat->max_id = fdtdec_get_uint(gd->fdt_blob, dev_of_offset(dev), @@ -96,6 +96,5 @@ U_BOOT_DRIVER(dwc_ahci) = { .ofdata_to_platdata = dwc_ahci_ofdata_to_platdata, .probe = dwc_ahci_probe, .priv_auto_alloc_size = sizeof(struct dwc_ahci_priv), - .platdata_auto_alloc_size = sizeof(struct scsi_platdata), .flags = DM_FLAG_ALLOC_PRIV_DMA, }; diff --git a/drivers/ata/sata_ceva.c b/drivers/ata/sata_ceva.c index 65a4bb2099..01f48810f3 100644 --- a/drivers/ata/sata_ceva.c +++ b/drivers/ata/sata_ceva.c @@ -114,7 +114,7 @@ static int ceva_init_sata(ulong mmio)
static int sata_ceva_probe(struct udevice *dev) { - struct scsi_platdata *plat = dev_get_platdata(dev); + struct scsi_platdata *plat = dev_get_uclass_platdata(dev);
ceva_init_sata(plat->base); return 0; @@ -127,7 +127,7 @@ static const struct udevice_id sata_ceva_ids[] = {
static int sata_ceva_ofdata_to_platdata(struct udevice *dev) { - struct scsi_platdata *plat = dev_get_platdata(dev); + struct scsi_platdata *plat = dev_get_uclass_platdata(dev);
plat->base = devfdt_get_addr(dev); if (plat->base == FDT_ADDR_T_NONE) @@ -146,5 +146,4 @@ U_BOOT_DRIVER(ceva_host_blk) = { .of_match = sata_ceva_ids, .probe = sata_ceva_probe, .ofdata_to_platdata = sata_ceva_ofdata_to_platdata, - .platdata_auto_alloc_size = sizeof(struct scsi_platdata), }; diff --git a/drivers/scsi/scsi-uclass.c b/drivers/scsi/scsi-uclass.c index 05da6cdeab..e4ee44bb4c 100644 --- a/drivers/scsi/scsi-uclass.c +++ b/drivers/scsi/scsi-uclass.c @@ -24,4 +24,5 @@ UCLASS_DRIVER(scsi) = { .id = UCLASS_SCSI, .name = "scsi", .post_probe = scsi_post_probe, + .per_device_platdata_auto_alloc_size = sizeof(struct scsi_platdata), }; diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index 5f5652b9e0..2d0f81ad1f 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c @@ -619,7 +619,7 @@ int scsi_scan(int mode) return ret;
/* Get controller platdata */ - plat = dev_get_platdata(dev); + plat = dev_get_uclass_platdata(dev);
for (i = 0; i < plat->max_id; i++) for (lun = 0; lun < plat->max_lun; lun++)

On Tue, Jun 6, 2017 at 3:14 AM, Simon Glass sjg@chromium.org wrote:
At present the two driver-model SCSI drivers use device platform data to store information that relates to the uclass. It is better to use uclass platform data in this situation. Update the code to do this.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/ata/ahci.c | 2 +- drivers/ata/dwc_ahci.c | 3 +-- drivers/ata/sata_ceva.c | 5 ++--- drivers/scsi/scsi-uclass.c | 1 + drivers/scsi/scsi.c | 2 +- 5 files changed, 6 insertions(+), 7 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

This is not a very useful name since once it is probed it still hangs around. With driver model we will use uclass data for this, so rename the struct.
Signed-off-by: Simon Glass sjg@chromium.org ---
board/highbank/ahci.c | 2 +- drivers/ata/ahci.c | 16 +++++------ drivers/ata/dwc_ahsata.c | 74 ++++++++++++++++++++++++------------------------ include/ahci.h | 13 ++++++++- 4 files changed, 58 insertions(+), 47 deletions(-)
diff --git a/board/highbank/ahci.c b/board/highbank/ahci.c index 1578a33fd1..dadfbdd315 100644 --- a/board/highbank/ahci.c +++ b/board/highbank/ahci.c @@ -172,7 +172,7 @@ static void cphy_override_lane(u8 port)
#define WAIT_MS_LINKUP 4
-int ahci_link_up(struct ahci_probe_ent *probe_ent, int port) +int ahci_link_up(struct ahci_uc_priv *probe_ent, int port) { u32 tmp; int j = 0; diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 2cc604b3f4..2caa29b4c5 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -24,7 +24,7 @@
static int ata_io_flush(u8 port);
-struct ahci_probe_ent *probe_ent = NULL; +struct ahci_uc_priv *probe_ent = NULL; u16 *ataid[AHCI_MAX_PORTS];
#define writel_with_flush(a,b) do { writel(a,b); readl(b); } while (0) @@ -109,7 +109,7 @@ static int waiting_for_cmd_completed(void __iomem *offset, return (i < timeout_msec) ? 0 : -1; }
-int __weak ahci_link_up(struct ahci_probe_ent *probe_ent, u8 port) +int __weak ahci_link_up(struct ahci_uc_priv *probe_ent, u8 port) { u32 tmp; int j = 0; @@ -166,7 +166,7 @@ int ahci_reset(void __iomem *base) return 0; }
-static int ahci_host_init(struct ahci_probe_ent *probe_ent) +static int ahci_host_init(struct ahci_uc_priv *probe_ent) { #if !defined(CONFIG_SCSI_AHCI_PLAT) && !defined(CONFIG_DM_SCSI) # ifdef CONFIG_DM_PCI @@ -344,7 +344,7 @@ static int ahci_host_init(struct ahci_probe_ent *probe_ent) }
-static void ahci_print_info(struct ahci_probe_ent *probe_ent) +static void ahci_print_info(struct ahci_uc_priv *probe_ent) { #if !defined(CONFIG_SCSI_AHCI_PLAT) && !defined(CONFIG_DM_SCSI) # if defined(CONFIG_DM_PCI) @@ -437,13 +437,13 @@ static int ahci_init_one(pci_dev_t dev) #endif int rc;
- probe_ent = malloc(sizeof(struct ahci_probe_ent)); + probe_ent = malloc(sizeof(struct ahci_uc_priv)); if (!probe_ent) { printf("%s: No memory for probe_ent\n", __func__); return -ENOMEM; }
- memset(probe_ent, 0, sizeof(struct ahci_probe_ent)); + memset(probe_ent, 0, sizeof(struct ahci_uc_priv)); probe_ent->dev = dev;
probe_ent->host_flags = ATA_FLAG_SATA @@ -1006,13 +1006,13 @@ int ahci_init(void __iomem *base) int i, rc = 0; u32 linkmap;
- probe_ent = malloc(sizeof(struct ahci_probe_ent)); + probe_ent = malloc(sizeof(struct ahci_uc_priv)); if (!probe_ent) { printf("%s: No memory for probe_ent\n", __func__); return -ENOMEM; }
- memset(probe_ent, 0, sizeof(struct ahci_probe_ent)); + memset(probe_ent, 0, sizeof(struct ahci_uc_priv));
probe_ent->host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY diff --git a/drivers/ata/dwc_ahsata.c b/drivers/ata/dwc_ahsata.c index c306e927db..78572a5b73 100644 --- a/drivers/ata/dwc_ahsata.c +++ b/drivers/ata/dwc_ahsata.c @@ -100,7 +100,7 @@ static int waiting_for_cmd_completed(u8 *offset, return (i < timeout_msec) ? 0 : -1; }
-static int ahci_setup_oobr(struct ahci_probe_ent *probe_ent, +static int ahci_setup_oobr(struct ahci_uc_priv *probe_ent, int clk) { struct sata_host_regs *host_mmio = @@ -112,7 +112,7 @@ static int ahci_setup_oobr(struct ahci_probe_ent *probe_ent, return 0; }
-static int ahci_host_init(struct ahci_probe_ent *probe_ent) +static int ahci_host_init(struct ahci_uc_priv *probe_ent) { u32 tmp, cap_save, num_ports; int i, j, timeout = 1000; @@ -275,7 +275,7 @@ static int ahci_host_init(struct ahci_probe_ent *probe_ent) return 0; }
-static void ahci_print_info(struct ahci_probe_ent *probe_ent) +static void ahci_print_info(struct ahci_uc_priv *probe_ent) { struct sata_host_regs *host_mmio = (struct sata_host_regs *)probe_ent->mmio_base; @@ -331,10 +331,10 @@ static void ahci_print_info(struct ahci_probe_ent *probe_ent) static int ahci_init_one(int pdev) { int rc; - struct ahci_probe_ent *probe_ent = NULL; + struct ahci_uc_priv *probe_ent = NULL;
- probe_ent = malloc(sizeof(struct ahci_probe_ent)); - memset(probe_ent, 0, sizeof(struct ahci_probe_ent)); + probe_ent = malloc(sizeof(struct ahci_uc_priv)); + memset(probe_ent, 0, sizeof(struct ahci_uc_priv)); probe_ent->dev = pdev;
probe_ent->host_flags = ATA_FLAG_SATA @@ -361,7 +361,7 @@ err_out: return rc; }
-static int ahci_fill_sg(struct ahci_probe_ent *probe_ent, +static int ahci_fill_sg(struct ahci_uc_priv *probe_ent, u8 port, unsigned char *buf, int buf_len) { struct ahci_ioports *pp = &(probe_ent->port[port]); @@ -408,7 +408,7 @@ static void ahci_fill_cmd_slot(struct ahci_ioports *pp, u32 cmd_slot, u32 opts)
#define AHCI_GET_CMD_SLOT(c) ((c) ? ffs(c) : 0)
-static int ahci_exec_ata_cmd(struct ahci_probe_ent *probe_ent, +static int ahci_exec_ata_cmd(struct ahci_uc_priv *probe_ent, u8 port, struct sata_fis_h2d *cfis, u8 *buf, u32 buf_len, s32 is_write) { @@ -461,8 +461,8 @@ static int ahci_exec_ata_cmd(struct ahci_probe_ent *probe_ent,
static void ahci_set_feature(u8 dev, u8 port) { - struct ahci_probe_ent *probe_ent = - (struct ahci_probe_ent *)sata_dev_desc[dev].priv; + struct ahci_uc_priv *probe_ent = + (struct ahci_uc_priv *)sata_dev_desc[dev].priv; struct sata_fis_h2d h2d __aligned(ARCH_DMA_MINALIGN); struct sata_fis_h2d *cfis = &h2d;
@@ -476,7 +476,7 @@ static void ahci_set_feature(u8 dev, u8 port) ahci_exec_ata_cmd(probe_ent, port, cfis, NULL, 0, READ_CMD); }
-static int ahci_port_start(struct ahci_probe_ent *probe_ent, +static int ahci_port_start(struct ahci_uc_priv *probe_ent, u8 port) { struct ahci_ioports *pp = &(probe_ent->port[port]); @@ -560,7 +560,7 @@ int init_sata(int dev) { int i; u32 linkmap; - struct ahci_probe_ent *probe_ent = NULL; + struct ahci_uc_priv *probe_ent = NULL;
#if defined(CONFIG_MX6) if (!is_mx6dq() && !is_mx6dqp()) @@ -573,7 +573,7 @@ int init_sata(int dev)
ahci_init_one(dev);
- probe_ent = (struct ahci_probe_ent *)sata_dev_desc[dev].priv; + probe_ent = (struct ahci_uc_priv *)sata_dev_desc[dev].priv; linkmap = probe_ent->link_port_map;
if (0 == linkmap) { @@ -597,7 +597,7 @@ int init_sata(int dev)
int reset_sata(int dev) { - struct ahci_probe_ent *probe_ent; + struct ahci_uc_priv *probe_ent; struct sata_host_regs *host_mmio;
if (dev < 0 || dev > (CONFIG_SYS_SATA_MAX_DEVICE - 1)) { @@ -605,7 +605,7 @@ int reset_sata(int dev) return -1; }
- probe_ent = (struct ahci_probe_ent *)sata_dev_desc[dev].priv; + probe_ent = (struct ahci_uc_priv *)sata_dev_desc[dev].priv; if (NULL == probe_ent) /* not initialized, so nothing to reset */ return 0; @@ -636,8 +636,8 @@ static void dwc_ahsata_print_info(int dev)
static void dwc_ahsata_identify(int dev, u16 *id) { - struct ahci_probe_ent *probe_ent = - (struct ahci_probe_ent *)sata_dev_desc[dev].priv; + struct ahci_uc_priv *probe_ent = + (struct ahci_uc_priv *)sata_dev_desc[dev].priv; struct sata_fis_h2d h2d __aligned(ARCH_DMA_MINALIGN); struct sata_fis_h2d *cfis = &h2d; u8 port = probe_ent->hard_port_no; @@ -655,8 +655,8 @@ static void dwc_ahsata_identify(int dev, u16 *id)
static void dwc_ahsata_xfer_mode(int dev, u16 *id) { - struct ahci_probe_ent *probe_ent = - (struct ahci_probe_ent *)sata_dev_desc[dev].priv; + struct ahci_uc_priv *probe_ent = + (struct ahci_uc_priv *)sata_dev_desc[dev].priv;
probe_ent->pio_mask = id[ATA_ID_PIO_MODES]; probe_ent->udma_mask = id[ATA_ID_UDMA_MODES]; @@ -667,8 +667,8 @@ static void dwc_ahsata_xfer_mode(int dev, u16 *id) static u32 dwc_ahsata_rw_cmd(int dev, u32 start, u32 blkcnt, u8 *buffer, int is_write) { - struct ahci_probe_ent *probe_ent = - (struct ahci_probe_ent *)sata_dev_desc[dev].priv; + struct ahci_uc_priv *probe_ent = + (struct ahci_uc_priv *)sata_dev_desc[dev].priv; struct sata_fis_h2d h2d __aligned(ARCH_DMA_MINALIGN); struct sata_fis_h2d *cfis = &h2d; u8 port = probe_ent->hard_port_no; @@ -698,8 +698,8 @@ static u32 dwc_ahsata_rw_cmd(int dev, u32 start, u32 blkcnt,
void dwc_ahsata_flush_cache(int dev) { - struct ahci_probe_ent *probe_ent = - (struct ahci_probe_ent *)sata_dev_desc[dev].priv; + struct ahci_uc_priv *probe_ent = + (struct ahci_uc_priv *)sata_dev_desc[dev].priv; struct sata_fis_h2d h2d __aligned(ARCH_DMA_MINALIGN); struct sata_fis_h2d *cfis = &h2d; u8 port = probe_ent->hard_port_no; @@ -716,8 +716,8 @@ void dwc_ahsata_flush_cache(int dev) static u32 dwc_ahsata_rw_cmd_ext(int dev, u32 start, lbaint_t blkcnt, u8 *buffer, int is_write) { - struct ahci_probe_ent *probe_ent = - (struct ahci_probe_ent *)sata_dev_desc[dev].priv; + struct ahci_uc_priv *probe_ent = + (struct ahci_uc_priv *)sata_dev_desc[dev].priv; struct sata_fis_h2d h2d __aligned(ARCH_DMA_MINALIGN); struct sata_fis_h2d *cfis = &h2d; u8 port = probe_ent->hard_port_no; @@ -753,8 +753,8 @@ static u32 dwc_ahsata_rw_cmd_ext(int dev, u32 start, lbaint_t blkcnt, u32 dwc_ahsata_rw_ncq_cmd(int dev, u32 start, lbaint_t blkcnt, u8 *buffer, int is_write) { - struct ahci_probe_ent *probe_ent = - (struct ahci_probe_ent *)sata_dev_desc[dev].priv; + struct ahci_uc_priv *probe_ent = + (struct ahci_uc_priv *)sata_dev_desc[dev].priv; struct sata_fis_h2d h2d __aligned(ARCH_DMA_MINALIGN); struct sata_fis_h2d *cfis = &h2d; u8 port = probe_ent->hard_port_no; @@ -795,8 +795,8 @@ u32 dwc_ahsata_rw_ncq_cmd(int dev, u32 start, lbaint_t blkcnt,
void dwc_ahsata_flush_cache_ext(int dev) { - struct ahci_probe_ent *probe_ent = - (struct ahci_probe_ent *)sata_dev_desc[dev].priv; + struct ahci_uc_priv *probe_ent = + (struct ahci_uc_priv *)sata_dev_desc[dev].priv; struct sata_fis_h2d h2d __aligned(ARCH_DMA_MINALIGN); struct sata_fis_h2d *cfis = &h2d; u8 port = probe_ent->hard_port_no; @@ -812,8 +812,8 @@ void dwc_ahsata_flush_cache_ext(int dev)
static void dwc_ahsata_init_wcache(int dev, u16 *id) { - struct ahci_probe_ent *probe_ent = - (struct ahci_probe_ent *)sata_dev_desc[dev].priv; + struct ahci_uc_priv *probe_ent = + (struct ahci_uc_priv *)sata_dev_desc[dev].priv;
if (ata_id_has_wcache(id) && ata_id_wcache_enabled(id)) probe_ent->flags |= SATA_FLAG_WCACHE; @@ -893,7 +893,7 @@ u32 ata_low_level_rw_lba28(int dev, u32 blknr, lbaint_t blkcnt, int sata_port_status(int dev, int port) { struct sata_port_regs *port_mmio; - struct ahci_probe_ent *probe_ent = NULL; + struct ahci_uc_priv *probe_ent = NULL;
if (dev < 0 || dev > (CONFIG_SYS_SATA_MAX_DEVICE - 1)) return -EINVAL; @@ -901,7 +901,7 @@ int sata_port_status(int dev, int port) if (sata_dev_desc[dev].priv == NULL) return -ENODEV;
- probe_ent = (struct ahci_probe_ent *)sata_dev_desc[dev].priv; + probe_ent = (struct ahci_uc_priv *)sata_dev_desc[dev].priv; port_mmio = (struct sata_port_regs *)probe_ent->port[port].port_mmio;
return readl(&(port_mmio->ssts)) & SATA_PORT_SSTS_DET_MASK; @@ -926,8 +926,8 @@ ulong sata_read(int dev, ulong blknr, lbaint_t blkcnt, void *buffer) ulong sata_write(int dev, ulong blknr, lbaint_t blkcnt, const void *buffer) { u32 rc; - struct ahci_probe_ent *probe_ent = - (struct ahci_probe_ent *)sata_dev_desc[dev].priv; + struct ahci_uc_priv *probe_ent = + (struct ahci_uc_priv *)sata_dev_desc[dev].priv; u32 flags = probe_ent->flags;
if (sata_dev_desc[dev].lba48) { @@ -953,8 +953,8 @@ int scan_sata(int dev) u8 product[ATA_ID_PROD_LEN + 1] = { 0 }; u16 *id; u64 n_sectors; - struct ahci_probe_ent *probe_ent = - (struct ahci_probe_ent *)sata_dev_desc[dev].priv; + struct ahci_uc_priv *probe_ent = + (struct ahci_uc_priv *)sata_dev_desc[dev].priv; u8 port = probe_ent->hard_port_no; struct blk_desc *pdev = &(sata_dev_desc[dev]);
diff --git a/include/ahci.h b/include/ahci.h index 4876b41e90..1f441d1c80 100644 --- a/include/ahci.h +++ b/include/ahci.h @@ -144,8 +144,19 @@ struct ahci_ioports { u32 rx_fis; };
-struct ahci_probe_ent { +/** + * struct ahci_uc_priv - information about an AHCI controller + * + * When driver model is used, this is accessible using dev_get_uclass_priv(dev) + * where dev is the controller (although at present it sometimes stands alone). + */ +struct ahci_uc_priv { #if defined(CONFIG_DM_PCI) || defined(CONFIG_DM_SCSI) + /* + * TODO(sjg@chromium.org): Drop this once this structure is only used + * in a driver-model context (i.e. attached to a device with + * dev_get_uclass_priv() + */ struct udevice *dev; #else pci_dev_t dev;

On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
This is not a very useful name since once it is probed it still hangs around. With driver model we will use uclass data for this, so rename the struct.
Signed-off-by: Simon Glass sjg@chromium.org
board/highbank/ahci.c | 2 +- drivers/ata/ahci.c | 16 +++++------ drivers/ata/dwc_ahsata.c | 74 ++++++++++++++++++++++++------------------------ include/ahci.h | 13 ++++++++- 4 files changed, 58 insertions(+), 47 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

This array relates to the AHCI controller so should be exist out on its own in the file. Move it into the structure. Adjust functions that need access to this to take the structure as a parameter.
Signed-off-by: Simon Glass sjg@chromium.org ---
drivers/ata/ahci.c | 50 +++++++++++++++++++++++++++----------------------- include/ahci.h | 1 + 2 files changed, 28 insertions(+), 23 deletions(-)
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 2caa29b4c5..3fb41de4c9 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -25,7 +25,6 @@ static int ata_io_flush(u8 port);
struct ahci_uc_priv *probe_ent = NULL; -u16 *ataid[AHCI_MAX_PORTS];
#define writel_with_flush(a,b) do { writel(a,b); readl(b); } while (0)
@@ -109,11 +108,11 @@ static int waiting_for_cmd_completed(void __iomem *offset, return (i < timeout_msec) ? 0 : -1; }
-int __weak ahci_link_up(struct ahci_uc_priv *probe_ent, u8 port) +int __weak ahci_link_up(struct ahci_uc_priv *uc_priv, u8 port) { u32 tmp; int j = 0; - void __iomem *port_mmio = probe_ent->port[port].port_mmio; + void __iomem *port_mmio = uc_priv->port[port].port_mmio;
/* * Bring up SATA link. @@ -555,7 +554,7 @@ static int wait_spinup(void __iomem *port_mmio) return -ETIMEDOUT; }
-static int ahci_port_start(u8 port) +static int ahci_port_start(struct ahci_uc_priv *probe_ent, u8 port) { struct ahci_ioports *pp = &(probe_ent->port[port]); void __iomem *port_mmio = pp->port_mmio; @@ -689,7 +688,8 @@ static char *ata_id_strcpy(u16 *target, u16 *src, int len) /* * SCSI INQUIRY command operation. */ -static int ata_scsiop_inquiry(struct scsi_cmd *pccb) +static int ata_scsiop_inquiry(struct ahci_uc_priv *uc_priv, + struct scsi_cmd *pccb) { static const u8 hdr[] = { 0, @@ -726,15 +726,15 @@ static int ata_scsiop_inquiry(struct scsi_cmd *pccb) return -EIO; }
- if (!ataid[port]) { - ataid[port] = malloc(ATA_ID_WORDS * 2); - if (!ataid[port]) { + if (!uc_priv->ataid[port]) { + uc_priv->ataid[port] = malloc(ATA_ID_WORDS * 2); + if (!uc_priv->ataid[port]) { printf("%s: No memory for ataid[port]\n", __func__); return -ENOMEM; } }
- idbuf = ataid[port]; + idbuf = uc_priv->ataid[port];
memcpy(idbuf, tmpid, ATA_ID_WORDS * 2); ata_swap_buf_le16(idbuf, ATA_ID_WORDS); @@ -864,20 +864,21 @@ static int ata_scsiop_read_write(struct scsi_cmd *pccb, u8 is_write) /* * SCSI READ CAPACITY10 command operation. */ -static int ata_scsiop_read_capacity10(struct scsi_cmd *pccb) +static int ata_scsiop_read_capacity10(struct ahci_uc_priv *uc_priv, + struct scsi_cmd *pccb) { u32 cap; u64 cap64; u32 block_size;
- if (!ataid[pccb->target]) { + if (!uc_priv->ataid[pccb->target]) { printf("scsi_ahci: SCSI READ CAPACITY10 command failure. " "\tNo ATA info!\n" "\tPlease run SCSI command INQUIRY first!\n"); return -EPERM; }
- cap64 = ata_id_n_sectors(ataid[pccb->target]); + cap64 = ata_id_n_sectors(uc_priv->ataid[pccb->target]); if (cap64 > 0x100000000ULL) cap64 = 0xffffffff;
@@ -894,19 +895,20 @@ static int ata_scsiop_read_capacity10(struct scsi_cmd *pccb) /* * SCSI READ CAPACITY16 command operation. */ -static int ata_scsiop_read_capacity16(struct scsi_cmd *pccb) +static int ata_scsiop_read_capacity16(struct ahci_uc_priv *uc_priv, + struct scsi_cmd *pccb) { u64 cap; u64 block_size;
- if (!ataid[pccb->target]) { + if (!uc_priv->ataid[pccb->target]) { printf("scsi_ahci: SCSI READ CAPACITY16 command failure. " "\tNo ATA info!\n" "\tPlease run SCSI command INQUIRY first!\n"); return -EPERM; }
- cap = ata_id_n_sectors(ataid[pccb->target]); + cap = ata_id_n_sectors(uc_priv->ataid[pccb->target]); cap = cpu_to_be64(cap); memcpy(pccb->pdata, &cap, sizeof(cap));
@@ -920,14 +922,16 @@ static int ata_scsiop_read_capacity16(struct scsi_cmd *pccb) /* * SCSI TEST UNIT READY command operation. */ -static int ata_scsiop_test_unit_ready(struct scsi_cmd *pccb) +static int ata_scsiop_test_unit_ready(struct ahci_uc_priv *uc_priv, + struct scsi_cmd *pccb) { - return (ataid[pccb->target]) ? 0 : -EPERM; + return (uc_priv->ataid[pccb->target]) ? 0 : -EPERM; }
int scsi_exec(struct scsi_cmd *pccb) { + struct ahci_uc_priv *uc_priv = probe_ent; int ret;
switch (pccb->cmd[0]) { @@ -939,16 +943,16 @@ int scsi_exec(struct scsi_cmd *pccb) ret = ata_scsiop_read_write(pccb, 1); break; case SCSI_RD_CAPAC10: - ret = ata_scsiop_read_capacity10(pccb); + ret = ata_scsiop_read_capacity10(uc_priv, pccb); break; case SCSI_RD_CAPAC16: - ret = ata_scsiop_read_capacity16(pccb); + ret = ata_scsiop_read_capacity16(uc_priv, pccb); break; case SCSI_TST_U_RDY: - ret = ata_scsiop_test_unit_ready(pccb); + ret = ata_scsiop_test_unit_ready(uc_priv, pccb); break; case SCSI_INQUIRY: - ret = ata_scsiop_inquiry(pccb); + ret = ata_scsiop_inquiry(uc_priv, pccb); break; default: printf("Unsupport SCSI command 0x%02x\n", pccb->cmd[0]); @@ -992,7 +996,7 @@ void scsi_low_level_init(int busdevfunc)
for (i = 0; i < CONFIG_SYS_SCSI_MAX_SCSI_ID; i++) { if (((linkmap >> i) & 0x01)) { - if (ahci_port_start((u8) i)) { + if (ahci_port_start(probe_ent, (u8) i)) { printf("Can not start port %d\n", i); continue; } @@ -1035,7 +1039,7 @@ int ahci_init(void __iomem *base)
for (i = 0; i < CONFIG_SYS_SCSI_MAX_SCSI_ID; i++) { if (((linkmap >> i) & 0x01)) { - if (ahci_port_start((u8) i)) { + if (ahci_port_start(probe_ent, (u8) i)) { printf("Can not start port %d\n", i); continue; } diff --git a/include/ahci.h b/include/ahci.h index 1f441d1c80..4262ab75c8 100644 --- a/include/ahci.h +++ b/include/ahci.h @@ -162,6 +162,7 @@ struct ahci_uc_priv { pci_dev_t dev; #endif struct ahci_ioports port[AHCI_MAX_PORTS]; + u16 *ataid[AHCI_MAX_PORTS]; u32 n_ports; u32 hard_port_no; u32 host_flags;

On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
This array relates to the AHCI controller so should be exist out on its own in the file. Move it into the structure. Adjust functions that need access to this to take the structure as a parameter.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/ata/ahci.c | 50 +++++++++++++++++++++++++++----------------------- include/ahci.h | 1 + 2 files changed, 28 insertions(+), 23 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

With driver model we need each device to have its own state. As a step towards this, restrict use of the global 'probe_ent' to just a few places in the file. This will allow us to add driver-model functions which can pass the correct data around.
Signed-off-by: Simon Glass sjg@chromium.org ---
drivers/ata/ahci.c | 144 ++++++++++++++++++++++++++++------------------------- 1 file changed, 76 insertions(+), 68 deletions(-)
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 3fb41de4c9..2e51b49790 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -22,7 +22,7 @@ #include <linux/ctype.h> #include <ahci.h>
-static int ata_io_flush(u8 port); +static int ata_io_flush(struct ahci_uc_priv *uc_priv, u8 port);
struct ahci_uc_priv *probe_ent = NULL;
@@ -165,19 +165,19 @@ int ahci_reset(void __iomem *base) return 0; }
-static int ahci_host_init(struct ahci_uc_priv *probe_ent) +static int ahci_host_init(struct ahci_uc_priv *uc_priv) { #if !defined(CONFIG_SCSI_AHCI_PLAT) && !defined(CONFIG_DM_SCSI) # ifdef CONFIG_DM_PCI - struct udevice *dev = probe_ent->dev; + struct udevice *dev = uc_priv->dev; struct pci_child_platdata *pplat = dev_get_parent_platdata(dev); # else - pci_dev_t pdev = probe_ent->dev; + pci_dev_t pdev = uc_priv->dev; unsigned short vendor; # endif u16 tmp16; #endif - void __iomem *mmio = probe_ent->mmio_base; + void __iomem *mmio = uc_priv->mmio_base; u32 tmp, cap_save, cmd; int i, j, ret; void __iomem *port_mmio; @@ -189,7 +189,7 @@ static int ahci_host_init(struct ahci_uc_priv *probe_ent) cap_save &= ((1 << 28) | (1 << 17)); cap_save |= (1 << 27); /* Staggered Spin-up. Not needed. */
- ret = ahci_reset(probe_ent->mmio_base); + ret = ahci_reset(uc_priv->mmio_base); if (ret) return ret;
@@ -216,23 +216,23 @@ static int ahci_host_init(struct ahci_uc_priv *probe_ent) } # endif #endif - probe_ent->cap = readl(mmio + HOST_CAP); - probe_ent->port_map = readl(mmio + HOST_PORTS_IMPL); - port_map = probe_ent->port_map; - probe_ent->n_ports = (probe_ent->cap & 0x1f) + 1; + uc_priv->cap = readl(mmio + HOST_CAP); + uc_priv->port_map = readl(mmio + HOST_PORTS_IMPL); + port_map = uc_priv->port_map; + uc_priv->n_ports = (uc_priv->cap & 0x1f) + 1;
debug("cap 0x%x port_map 0x%x n_ports %d\n", - probe_ent->cap, probe_ent->port_map, probe_ent->n_ports); + uc_priv->cap, uc_priv->port_map, uc_priv->n_ports);
- if (probe_ent->n_ports > CONFIG_SYS_SCSI_MAX_SCSI_ID) - probe_ent->n_ports = CONFIG_SYS_SCSI_MAX_SCSI_ID; + if (uc_priv->n_ports > CONFIG_SYS_SCSI_MAX_SCSI_ID) + uc_priv->n_ports = CONFIG_SYS_SCSI_MAX_SCSI_ID;
- for (i = 0; i < probe_ent->n_ports; i++) { + for (i = 0; i < uc_priv->n_ports; i++) { if (!(port_map & (1 << i))) continue; - probe_ent->port[i].port_mmio = ahci_port_base(mmio, i); - port_mmio = (u8 *) probe_ent->port[i].port_mmio; - ahci_setup_port(&probe_ent->port[i], mmio, i); + uc_priv->port[i].port_mmio = ahci_port_base(mmio, i); + port_mmio = (u8 *)uc_priv->port[i].port_mmio; + ahci_setup_port(&uc_priv->port[i], mmio, i);
/* make sure port is not active */ tmp = readl(port_mmio + PORT_CMD); @@ -261,7 +261,7 @@ static int ahci_host_init(struct ahci_uc_priv *probe_ent) writel_with_flush(cmd, port_mmio + PORT_CMD);
/* Bring up SATA link. */ - ret = ahci_link_up(probe_ent, i); + ret = ahci_link_up(uc_priv, i); if (ret) { printf("SATA link %d timeout.\n", i); continue; @@ -318,7 +318,7 @@ static int ahci_host_init(struct ahci_uc_priv *probe_ent) tmp = readl(port_mmio + PORT_SCR_STAT); debug("SATA port %d status: 0x%x\n", i, tmp); if ((tmp & PORT_SCR_STAT_DET_MASK) == PORT_SCR_STAT_DET_PHYRDY) - probe_ent->link_port_map |= (0x01 << i); + uc_priv->link_port_map |= (0x01 << i); }
tmp = readl(mmio + HOST_CTL); @@ -343,25 +343,25 @@ static int ahci_host_init(struct ahci_uc_priv *probe_ent) }
-static void ahci_print_info(struct ahci_uc_priv *probe_ent) +static void ahci_print_info(struct ahci_uc_priv *uc_priv) { #if !defined(CONFIG_SCSI_AHCI_PLAT) && !defined(CONFIG_DM_SCSI) # if defined(CONFIG_DM_PCI) - struct udevice *dev = probe_ent->dev; + struct udevice *dev = uc_priv->dev; # else - pci_dev_t pdev = probe_ent->dev; + pci_dev_t pdev = uc_priv->dev; # endif u16 cc; #endif - void __iomem *mmio = probe_ent->mmio_base; + void __iomem *mmio = uc_priv->mmio_base; u32 vers, cap, cap2, impl, speed; const char *speed_s; const char *scc_s;
vers = readl(mmio + HOST_VERSION); - cap = probe_ent->cap; + cap = uc_priv->cap; cap2 = readl(mmio + HOST_CAP2); - impl = probe_ent->port_map; + impl = uc_priv->port_map;
speed = (cap >> 20) & 0xf; if (speed == 1) @@ -431,6 +431,7 @@ static int ahci_init_one(struct udevice *dev) static int ahci_init_one(pci_dev_t dev) # endif { + struct ahci_uc_priv *uc_priv; #if !defined(CONFIG_DM_SCSI) u16 vendor; #endif @@ -438,24 +439,25 @@ static int ahci_init_one(pci_dev_t dev)
probe_ent = malloc(sizeof(struct ahci_uc_priv)); if (!probe_ent) { - printf("%s: No memory for probe_ent\n", __func__); + printf("%s: No memory for uc_priv\n", __func__); return -ENOMEM; }
- memset(probe_ent, 0, sizeof(struct ahci_uc_priv)); - probe_ent->dev = dev; + uc_priv = probe_ent; + memset(uc_priv, 0, sizeof(struct ahci_uc_priv)); + uc_priv->dev = dev;
- probe_ent->host_flags = ATA_FLAG_SATA + uc_priv->host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA | ATA_FLAG_NO_ATAPI; - probe_ent->pio_mask = 0x1f; - probe_ent->udma_mask = 0x7f; /*Fixme,assume to support UDMA6 */ + uc_priv->pio_mask = 0x1f; + uc_priv->udma_mask = 0x7f; /*Fixme,assume to support UDMA6 */
#if !defined(CONFIG_DM_SCSI) #ifdef CONFIG_DM_PCI - probe_ent->mmio_base = dm_pci_map_bar(dev, PCI_BASE_ADDRESS_5, + uc_priv->mmio_base = dm_pci_map_bar(dev, PCI_BASE_ADDRESS_5, PCI_REGION_MEM);
/* Take from kernel: @@ -466,7 +468,7 @@ static int ahci_init_one(pci_dev_t dev) if (vendor == 0x197b) dm_pci_write_config8(dev, 0x41, 0xa1); #else - probe_ent->mmio_base = pci_map_bar(dev, PCI_BASE_ADDRESS_5, + uc_priv->mmio_base = pci_map_bar(dev, PCI_BASE_ADDRESS_5, PCI_REGION_MEM);
/* Take from kernel: @@ -479,16 +481,16 @@ static int ahci_init_one(pci_dev_t dev) #endif #else struct scsi_platdata *plat = dev_get_uclass_platdata(dev); - probe_ent->mmio_base = (void *)plat->base; + uc_priv->mmio_base = (void *)plat->base; #endif
- debug("ahci mmio_base=0x%p\n", probe_ent->mmio_base); + debug("ahci mmio_base=0x%p\n", uc_priv->mmio_base); /* initialize adapter */ - rc = ahci_host_init(probe_ent); + rc = ahci_host_init(uc_priv); if (rc) goto err_out;
- ahci_print_info(probe_ent); + ahci_print_info(uc_priv);
return 0;
@@ -499,9 +501,10 @@ static int ahci_init_one(pci_dev_t dev)
#define MAX_DATA_BYTE_COUNT (4*1024*1024)
-static int ahci_fill_sg(u8 port, unsigned char *buf, int buf_len) +static int ahci_fill_sg(struct ahci_uc_priv *uc_priv, u8 port, + unsigned char *buf, int buf_len) { - struct ahci_ioports *pp = &(probe_ent->port[port]); + struct ahci_ioports *pp = &(uc_priv->port[port]); struct ahci_sg *ahci_sg = pp->cmd_tbl_sg; u32 sg_count; int i; @@ -554,9 +557,9 @@ static int wait_spinup(void __iomem *port_mmio) return -ETIMEDOUT; }
-static int ahci_port_start(struct ahci_uc_priv *probe_ent, u8 port) +static int ahci_port_start(struct ahci_uc_priv *uc_priv, u8 port) { - struct ahci_ioports *pp = &(probe_ent->port[port]); + struct ahci_ioports *pp = &(uc_priv->port[port]); void __iomem *port_mmio = pp->port_mmio; u32 port_status; void __iomem *mem; @@ -629,11 +632,11 @@ static int ahci_port_start(struct ahci_uc_priv *probe_ent, u8 port) }
-static int ahci_device_data_io(u8 port, u8 *fis, int fis_len, u8 *buf, - int buf_len, u8 is_write) +static int ahci_device_data_io(struct ahci_uc_priv *uc_priv, u8 port, u8 *fis, + int fis_len, u8 *buf, int buf_len, u8 is_write) {
- struct ahci_ioports *pp = &(probe_ent->port[port]); + struct ahci_ioports *pp = &(uc_priv->port[port]); void __iomem *port_mmio = pp->port_mmio; u32 opts; u32 port_status; @@ -641,7 +644,7 @@ static int ahci_device_data_io(u8 port, u8 *fis, int fis_len, u8 *buf,
debug("Enter %s: for port %d\n", __func__, port);
- if (port > probe_ent->n_ports) { + if (port > uc_priv->n_ports) { printf("Invalid port number %d\n", port); return -1; } @@ -654,7 +657,7 @@ static int ahci_device_data_io(u8 port, u8 *fis, int fis_len, u8 *buf,
memcpy((unsigned char *)pp->cmd_tbl, fis, fis_len);
- sg_count = ahci_fill_sg(port, buf, buf_len); + sg_count = ahci_fill_sg(uc_priv, port, buf, buf_len); opts = (fis_len >> 2) | (sg_count << 16) | (is_write << 6); ahci_fill_cmd_slot(pp, opts);
@@ -720,8 +723,8 @@ static int ata_scsiop_inquiry(struct ahci_uc_priv *uc_priv, /* Read id from sata */ port = pccb->target;
- if (ahci_device_data_io(port, (u8 *) &fis, sizeof(fis), (u8 *)tmpid, - ATA_ID_WORDS * 2, 0)) { + if (ahci_device_data_io(uc_priv, port, (u8 *)&fis, sizeof(fis), + (u8 *)tmpid, ATA_ID_WORDS * 2, 0)) { debug("scsi_ahci: SCSI inquiry command failure.\n"); return -EIO; } @@ -753,7 +756,8 @@ static int ata_scsiop_inquiry(struct ahci_uc_priv *uc_priv, /* * SCSI READ10/WRITE10 command operation. */ -static int ata_scsiop_read_write(struct scsi_cmd *pccb, u8 is_write) +static int ata_scsiop_read_write(struct ahci_uc_priv *uc_priv, + struct scsi_cmd *pccb, u8 is_write) { lbaint_t lba = 0; u16 blocks = 0; @@ -833,8 +837,8 @@ static int ata_scsiop_read_write(struct scsi_cmd *pccb, u8 is_write) fis[13] = (now_blocks >> 8) & 0xff;
/* Read/Write from ahci */ - if (ahci_device_data_io(pccb->target, (u8 *) &fis, sizeof(fis), - user_buffer, transfer_size, + if (ahci_device_data_io(uc_priv, pccb->target, (u8 *)&fis, + sizeof(fis), user_buffer, transfer_size, is_write)) { debug("scsi_ahci: SCSI %s10 command failure.\n", is_write ? "WRITE" : "READ"); @@ -848,7 +852,7 @@ static int ata_scsiop_read_write(struct scsi_cmd *pccb, u8 is_write) * usually, one extra flush when the rare writes do happen. */ if (is_write) { - if (-EIO == ata_io_flush(pccb->target)) + if (-EIO == ata_io_flush(uc_priv, pccb->target)) return -EIO; } user_buffer += transfer_size; @@ -937,10 +941,10 @@ int scsi_exec(struct scsi_cmd *pccb) switch (pccb->cmd[0]) { case SCSI_READ16: case SCSI_READ10: - ret = ata_scsiop_read_write(pccb, 0); + ret = ata_scsiop_read_write(uc_priv, pccb, 0); break; case SCSI_WRITE10: - ret = ata_scsiop_read_write(pccb, 1); + ret = ata_scsiop_read_write(uc_priv, pccb, 1); break; case SCSI_RD_CAPAC10: ret = ata_scsiop_read_capacity10(uc_priv, pccb); @@ -973,6 +977,7 @@ void scsi_low_level_init(int busdevfunc, struct udevice *dev) void scsi_low_level_init(int busdevfunc) #endif { + struct ahci_uc_priv *uc_priv; int i; u32 linkmap;
@@ -991,12 +996,13 @@ void scsi_low_level_init(int busdevfunc) ahci_init_one(busdevfunc); # endif #endif + uc_priv = probe_ent;
- linkmap = probe_ent->link_port_map; + linkmap = uc_priv->link_port_map;
for (i = 0; i < CONFIG_SYS_SCSI_MAX_SCSI_ID; i++) { if (((linkmap >> i) & 0x01)) { - if (ahci_port_start(probe_ent, (u8) i)) { + if (ahci_port_start(uc_priv, (u8) i)) { printf("Can not start port %d\n", i); continue; } @@ -1007,39 +1013,41 @@ void scsi_low_level_init(int busdevfunc) #ifdef CONFIG_SCSI_AHCI_PLAT int ahci_init(void __iomem *base) { + struct ahci_uc_priv *uc_priv; int i, rc = 0; u32 linkmap;
probe_ent = malloc(sizeof(struct ahci_uc_priv)); if (!probe_ent) { - printf("%s: No memory for probe_ent\n", __func__); + printf("%s: No memory for uc_priv\n", __func__); return -ENOMEM; }
- memset(probe_ent, 0, sizeof(struct ahci_uc_priv)); + uc_priv = probe_ent; + memset(uc_priv, 0, sizeof(struct ahci_uc_priv));
- probe_ent->host_flags = ATA_FLAG_SATA + uc_priv->host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA | ATA_FLAG_NO_ATAPI; - probe_ent->pio_mask = 0x1f; - probe_ent->udma_mask = 0x7f; /*Fixme,assume to support UDMA6 */ + uc_priv->pio_mask = 0x1f; + uc_priv->udma_mask = 0x7f; /*Fixme,assume to support UDMA6 */
- probe_ent->mmio_base = base; + uc_priv->mmio_base = base;
/* initialize adapter */ - rc = ahci_host_init(probe_ent); + rc = ahci_host_init(uc_priv); if (rc) goto err_out;
- ahci_print_info(probe_ent); + ahci_print_info(uc_priv);
- linkmap = probe_ent->link_port_map; + linkmap = uc_priv->link_port_map;
for (i = 0; i < CONFIG_SYS_SCSI_MAX_SCSI_ID; i++) { if (((linkmap >> i) & 0x01)) { - if (ahci_port_start(probe_ent, (u8) i)) { + if (ahci_port_start(uc_priv, (u8) i)) { printf("Can not start port %d\n", i); continue; } @@ -1064,10 +1072,10 @@ void __weak scsi_init(void) * is the last write is difficult. Because writing to the disk in u-boot is * very rare, this flush command will be invoked after every block write. */ -static int ata_io_flush(u8 port) +static int ata_io_flush(struct ahci_uc_priv *uc_priv, u8 port) { u8 fis[20]; - struct ahci_ioports *pp = &(probe_ent->port[port]); + struct ahci_ioports *pp = &(uc_priv->port[port]); void __iomem *port_mmio = pp->port_mmio; u32 cmd_fis_len = 5; /* five dwords */

On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
With driver model we need each device to have its own state. As a step towards this, restrict use of the global 'probe_ent' to just a few places in the file. This will allow us to add driver-model functions which can pass the correct data around.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/ata/ahci.c | 144 ++++++++++++++++++++++++++++------------------------- 1 file changed, 76 insertions(+), 68 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

These are very confusing without some sort of indentation. At some point we will be able to remove them, but for now, indent them.
Signed-off-by: Simon Glass sjg@chromium.org ---
drivers/scsi/scsi.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index 2d0f81ad1f..e3d169045b 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c @@ -14,19 +14,19 @@ #include <dm/uclass-internal.h>
#if !defined(CONFIG_DM_SCSI) -#ifdef CONFIG_SCSI_DEV_LIST -#define SCSI_DEV_LIST CONFIG_SCSI_DEV_LIST -#else -#ifdef CONFIG_SATA_ULI5288 - -#define SCSI_VEND_ID 0x10b9 -#define SCSI_DEV_ID 0x5288 - -#elif !defined(CONFIG_SCSI_AHCI_PLAT) -#error no scsi device defined -#endif -#define SCSI_DEV_LIST {SCSI_VEND_ID, SCSI_DEV_ID} -#endif +# ifdef CONFIG_SCSI_DEV_LIST +# define SCSI_DEV_LIST CONFIG_SCSI_DEV_LIST +# else +# ifdef CONFIG_SATA_ULI5288 + +# define SCSI_VEND_ID 0x10b9 +# define SCSI_DEV_ID 0x5288 + +# elif !defined(CONFIG_SCSI_AHCI_PLAT) +# error no scsi device defined +# endif +# define SCSI_DEV_LIST {SCSI_VEND_ID, SCSI_DEV_ID} +# endif #endif
#if defined(CONFIG_PCI) && !defined(CONFIG_SCSI_AHCI_PLAT)

On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
These are very confusing without some sort of indentation. At some point we will be able to remove them, but for now, indent them.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/scsi/scsi.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

This code is duplicated. Create a ahci_start_ports() function to handle this and call it from both places.
Signed-off-by: Simon Glass sjg@chromium.org ---
drivers/ata/ahci.c | 45 ++++++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 23 deletions(-)
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 2e51b49790..4830bcdca0 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -971,6 +971,25 @@ int scsi_exec(struct scsi_cmd *pccb)
}
+static int ahci_start_ports(struct ahci_uc_priv *uc_priv) +{ + u32 linkmap; + int i; + + linkmap = uc_priv->link_port_map; + + for (i = 0; i < CONFIG_SYS_SCSI_MAX_SCSI_ID; i++) { + if (((linkmap >> i) & 0x01)) { + if (ahci_port_start(uc_priv, (u8) i)) { + printf("Can not start port %d\n", i); + continue; + } + } + } + + return 0; +} + #if defined(CONFIG_DM_SCSI) void scsi_low_level_init(int busdevfunc, struct udevice *dev) #else @@ -978,8 +997,6 @@ void scsi_low_level_init(int busdevfunc) #endif { struct ahci_uc_priv *uc_priv; - int i; - u32 linkmap;
#ifndef CONFIG_SCSI_AHCI_PLAT # if defined(CONFIG_DM_PCI) @@ -998,24 +1015,14 @@ void scsi_low_level_init(int busdevfunc) #endif uc_priv = probe_ent;
- linkmap = uc_priv->link_port_map; - - for (i = 0; i < CONFIG_SYS_SCSI_MAX_SCSI_ID; i++) { - if (((linkmap >> i) & 0x01)) { - if (ahci_port_start(uc_priv, (u8) i)) { - printf("Can not start port %d\n", i); - continue; - } - } - } + ahci_start_ports(uc_priv); }
#ifdef CONFIG_SCSI_AHCI_PLAT int ahci_init(void __iomem *base) { struct ahci_uc_priv *uc_priv; - int i, rc = 0; - u32 linkmap; + int rc = 0;
probe_ent = malloc(sizeof(struct ahci_uc_priv)); if (!probe_ent) { @@ -1043,16 +1050,8 @@ int ahci_init(void __iomem *base)
ahci_print_info(uc_priv);
- linkmap = uc_priv->link_port_map; + rc = ahci_start_ports(uc_priv);
- for (i = 0; i < CONFIG_SYS_SCSI_MAX_SCSI_ID; i++) { - if (((linkmap >> i) & 0x01)) { - if (ahci_port_start(uc_priv, (u8) i)) { - printf("Can not start port %d\n", i); - continue; - } - } - } err_out: return rc; }

On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
This code is duplicated. Create a ahci_start_ports() function to handle this and call it from both places.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/ata/ahci.c | 45 ++++++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 23 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

Two AHCI drivers use SCSI with CONFIG_DM_SCSI. The SCSI uclass calls scsi_low_level_init() which is implemented by ahci.c. If CONFIG_SCSI_AHCI_PLAT is defined it does one thing and if it is not it does something else.
We don't need to call through scsi_low_level_init() to get the init completed. Instead, adjust the two drivers to call into AHCI directly. Drop the post-probe init in the SCSI uclass. This means that driver model doesn't need to use scsi_low_level_init(). It is a legacy function and driver model should use a driver's probe() method instead.
While we are hear, add a comment to the top of the file explaining what ahci.c does.
Signed-off-by: Simon Glass sjg@chromium.org ---
drivers/ata/ahci.c | 26 ++++++++++++++++++++------ drivers/ata/dwc_ahci.c | 6 +++++- drivers/ata/sata_ceva.c | 3 ++- drivers/scsi/scsi-uclass.c | 8 -------- include/ahci.h | 16 ++++++++++++++++ include/scsi.h | 4 +--- 6 files changed, 44 insertions(+), 19 deletions(-)
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 4830bcdca0..e9867656a9 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -6,6 +6,8 @@ * SPDX-License-Identifier: GPL-2.0+ * * with the reference on libata and ahci drvier in kernel + * + * This driver provides a SCSI interface to SATA. */ #include <common.h>
@@ -990,11 +992,8 @@ static int ahci_start_ports(struct ahci_uc_priv *uc_priv) return 0; }
-#if defined(CONFIG_DM_SCSI) -void scsi_low_level_init(int busdevfunc, struct udevice *dev) -#else +#ifndef CONFIG_DM_SCSI void scsi_low_level_init(int busdevfunc) -#endif { struct ahci_uc_priv *uc_priv;
@@ -1007,8 +1006,6 @@ void scsi_low_level_init(int busdevfunc) if (ret) return; ahci_init_one(dev); -# elif defined(CONFIG_DM_SCSI) - ahci_init_one(dev); # else ahci_init_one(busdevfunc); # endif @@ -1017,6 +1014,23 @@ void scsi_low_level_init(int busdevfunc)
ahci_start_ports(uc_priv); } +#endif + +#ifndef CONFIG_SCSI_AHCI_PLAT +# if defined(CONFIG_DM_PCI) || defined(CONFIG_DM_SCSI) +int achi_init_one_dm(struct udevice *dev) +{ + return ahci_init_one(dev); +} +#endif +#endif + +int achi_start_ports_dm(struct udevice *dev) +{ + struct ahci_uc_priv *uc_priv = probe_ent; + + return ahci_start_ports(uc_priv); +}
#ifdef CONFIG_SCSI_AHCI_PLAT int ahci_init(void __iomem *base) diff --git a/drivers/ata/dwc_ahci.c b/drivers/ata/dwc_ahci.c index e634df5e3c..eadd77944c 100644 --- a/drivers/ata/dwc_ahci.c +++ b/drivers/ata/dwc_ahci.c @@ -81,7 +81,11 @@ static int dwc_ahci_probe(struct udevice *dev) writel(val, priv->wrapper_base + TI_SATA_SYSCONFIG); }
- return ahci_init(priv->base); + ret = ahci_init(priv->base); + if (ret) + return ret; + + return achi_start_ports_dm(dev); }
static const struct udevice_id dwc_ahci_ids[] = { diff --git a/drivers/ata/sata_ceva.c b/drivers/ata/sata_ceva.c index 01f48810f3..2f7ab1c54b 100644 --- a/drivers/ata/sata_ceva.c +++ b/drivers/ata/sata_ceva.c @@ -117,7 +117,8 @@ static int sata_ceva_probe(struct udevice *dev) struct scsi_platdata *plat = dev_get_uclass_platdata(dev);
ceva_init_sata(plat->base); - return 0; + + return achi_init_one_dm(dev); }
static const struct udevice_id sata_ceva_ids[] = { diff --git a/drivers/scsi/scsi-uclass.c b/drivers/scsi/scsi-uclass.c index e4ee44bb4c..40c5044f09 100644 --- a/drivers/scsi/scsi-uclass.c +++ b/drivers/scsi/scsi-uclass.c @@ -13,16 +13,8 @@ #include <dm.h> #include <scsi.h>
-static int scsi_post_probe(struct udevice *dev) -{ - debug("%s: device %p\n", __func__, dev); - scsi_low_level_init(0, dev); - return 0; -} - UCLASS_DRIVER(scsi) = { .id = UCLASS_SCSI, .name = "scsi", - .post_probe = scsi_post_probe, .per_device_platdata_auto_alloc_size = sizeof(struct scsi_platdata), }; diff --git a/include/ahci.h b/include/ahci.h index 4262ab75c8..8f48178449 100644 --- a/include/ahci.h +++ b/include/ahci.h @@ -179,4 +179,20 @@ struct ahci_uc_priv { int ahci_init(void __iomem *base); int ahci_reset(void __iomem *base);
+/** + * achi_init_one_dm() - set up a single AHCI port + * + * @dev: Controller to init + * @return 0 if OK, -ve on error + */ +int achi_init_one_dm(struct udevice *dev); + +/** + * achi_start_ports_dm() - start all AHCI ports for a controller + * + * @dev: Controller containing ports to start + * @return 0 if OK, -ve on error + */ +int achi_start_ports_dm(struct udevice *dev); + #endif diff --git a/include/scsi.h b/include/scsi.h index bc5be97465..cd1b240855 100644 --- a/include/scsi.h +++ b/include/scsi.h @@ -171,9 +171,7 @@ struct scsi_platdata { unsigned long max_id; };
-#if defined(CONFIG_DM_SCSI) -void scsi_low_level_init(int busdevfunc, struct udevice *dev); -#else +#ifndef CONFIG_DM_SCSI void scsi_low_level_init(int busdevfunc); void scsi_init(void); #endif

On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
Two AHCI drivers use SCSI with CONFIG_DM_SCSI. The SCSI uclass calls scsi_low_level_init() which is implemented by ahci.c. If CONFIG_SCSI_AHCI_PLAT is defined it does one thing and if it is not it does something else.
We don't need to call through scsi_low_level_init() to get the init completed. Instead, adjust the two drivers to call into AHCI directly. Drop the post-probe init in the SCSI uclass. This means that driver model doesn't need to use scsi_low_level_init(). It is a legacy function and driver model should use a driver's probe() method instead.
While we are hear, add a comment to the top of the file explaining what
typo: we are 'here'
ahci.c does.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/ata/ahci.c | 26 ++++++++++++++++++++------ drivers/ata/dwc_ahci.c | 6 +++++- drivers/ata/sata_ceva.c | 3 ++- drivers/scsi/scsi-uclass.c | 8 -------- include/ahci.h | 16 ++++++++++++++++ include/scsi.h | 4 +--- 6 files changed, 44 insertions(+), 19 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

With driver model we cannot have static data or assume that there is only one device of each time. Adjust the code so that 'probe_ent' is not needed with driver model. Add a new ahci_init_dm() function which can init AHCI for driver model without re-allocating the uclass data. Move over the only existing driver to use this new function.
Signed-off-by: Simon Glass sjg@chromium.org ---
drivers/ata/ahci.c | 75 +++++++++++++++++++++++++++++++------------------- drivers/ata/dwc_ahci.c | 2 +- include/ahci.h | 8 ++++++ 3 files changed, 55 insertions(+), 30 deletions(-)
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index e9867656a9..cadf685415 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -26,7 +26,9 @@
static int ata_io_flush(struct ahci_uc_priv *uc_priv, u8 port);
+#ifndef CONFIG_DM_SCSI struct ahci_uc_priv *probe_ent = NULL; +#endif
#define writel_with_flush(a,b) do { writel(a,b); readl(b); } while (0)
@@ -428,25 +430,16 @@ static void ahci_print_info(struct ahci_uc_priv *uc_priv)
#ifndef CONFIG_SCSI_AHCI_PLAT # if defined(CONFIG_DM_PCI) || defined(CONFIG_DM_SCSI) -static int ahci_init_one(struct udevice *dev) +static int ahci_init_one(struct ahci_uc_priv *uc_priv, struct udevice *dev) # else -static int ahci_init_one(pci_dev_t dev) +static int ahci_init_one(struct ahci_uc_priv *uc_priv, pci_dev_t dev) # endif { - struct ahci_uc_priv *uc_priv; #if !defined(CONFIG_DM_SCSI) u16 vendor; #endif int rc;
- probe_ent = malloc(sizeof(struct ahci_uc_priv)); - if (!probe_ent) { - printf("%s: No memory for uc_priv\n", __func__); - return -ENOMEM; - } - - uc_priv = probe_ent; - memset(uc_priv, 0, sizeof(struct ahci_uc_priv)); uc_priv->dev = dev;
uc_priv->host_flags = ATA_FLAG_SATA @@ -998,6 +991,12 @@ void scsi_low_level_init(int busdevfunc) struct ahci_uc_priv *uc_priv;
#ifndef CONFIG_SCSI_AHCI_PLAT + probe_ent = calloc(1, sizeof(struct ahci_uc_priv)); + if (!probe_ent) { + printf("%s: No memory for uc_priv\n", __func__); + return; + } + uc_priv = probe_ent; # if defined(CONFIG_DM_PCI) struct udevice *dev; int ret; @@ -1005,12 +1004,13 @@ void scsi_low_level_init(int busdevfunc) ret = dm_pci_bus_find_bdf(busdevfunc, &dev); if (ret) return; - ahci_init_one(dev); + ahci_init_one(uc_priv, dev); # else - ahci_init_one(busdevfunc); + ahci_init_one(uc_priv, busdevfunc); # endif -#endif +#else uc_priv = probe_ent; +#endif
ahci_start_ports(uc_priv); } @@ -1020,32 +1020,24 @@ void scsi_low_level_init(int busdevfunc) # if defined(CONFIG_DM_PCI) || defined(CONFIG_DM_SCSI) int achi_init_one_dm(struct udevice *dev) { - return ahci_init_one(dev); + struct ahci_uc_priv *uc_priv = dev_get_uclass_priv(dev); + + return ahci_init_one(uc_priv, dev); } #endif #endif
int achi_start_ports_dm(struct udevice *dev) { - struct ahci_uc_priv *uc_priv = probe_ent; + struct ahci_uc_priv *uc_priv = dev_get_uclass_priv(dev);
return ahci_start_ports(uc_priv); }
#ifdef CONFIG_SCSI_AHCI_PLAT -int ahci_init(void __iomem *base) +static int ahci_init_common(struct ahci_uc_priv *uc_priv, void __iomem *base) { - struct ahci_uc_priv *uc_priv; - int rc = 0; - - probe_ent = malloc(sizeof(struct ahci_uc_priv)); - if (!probe_ent) { - printf("%s: No memory for uc_priv\n", __func__); - return -ENOMEM; - } - - uc_priv = probe_ent; - memset(uc_priv, 0, sizeof(struct ahci_uc_priv)); + int rc;
uc_priv->host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY @@ -1070,11 +1062,36 @@ err_out: return rc; }
+#ifndef CONFIG_DM_SCSI +int ahci_init(void __iomem *base) +{ + struct ahci_uc_priv *uc_priv; + + probe_ent = malloc(sizeof(struct ahci_uc_priv)); + if (!probe_ent) { + printf("%s: No memory for uc_priv\n", __func__); + return -ENOMEM; + } + + uc_priv = probe_ent; + memset(uc_priv, 0, sizeof(struct ahci_uc_priv)); + + return ahci_init_common(uc_priv, base); +} +#endif + +int ahci_init_dm(struct udevice *dev, void __iomem *base) +{ + struct ahci_uc_priv *uc_priv = dev_get_uclass_priv(dev); + + return ahci_init_common(uc_priv, base); +} + void __weak scsi_init(void) { }
-#endif +#endif /* CONFIG_SCSI_AHCI_PLAT */
/* * In the general case of generic rotating media it makes sense to have a diff --git a/drivers/ata/dwc_ahci.c b/drivers/ata/dwc_ahci.c index eadd77944c..401201717f 100644 --- a/drivers/ata/dwc_ahci.c +++ b/drivers/ata/dwc_ahci.c @@ -81,7 +81,7 @@ static int dwc_ahci_probe(struct udevice *dev) writel(val, priv->wrapper_base + TI_SATA_SYSCONFIG); }
- ret = ahci_init(priv->base); + ret = ahci_init_dm(dev, priv->base); if (ret) return ret;
diff --git a/include/ahci.h b/include/ahci.h index 8f48178449..648e56a4cf 100644 --- a/include/ahci.h +++ b/include/ahci.h @@ -195,4 +195,12 @@ int achi_init_one_dm(struct udevice *dev); */ int achi_start_ports_dm(struct udevice *dev);
+/** + * ahci_init_dm() - init AHCI for a controller, finding all ports + * + * @dev: Device to init + * @return 0 if OK, -ve on error + */ +int ahci_init_dm(struct udevice *dev, void __iomem *base); + #endif

On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
With driver model we cannot have static data or assume that there is only one device of each time. Adjust the code so that 'probe_ent' is not needed with driver model. Add a new ahci_init_dm() function which can init AHCI for driver model without re-allocating the uclass data. Move over the only existing driver to use this new function.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/ata/ahci.c | 75 +++++++++++++++++++++++++++++++------------------- drivers/ata/dwc_ahci.c | 2 +- include/ahci.h | 8 ++++++ 3 files changed, 55 insertions(+), 30 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

Add operations for SCSI. These are not yet implemented, but we have the struct.
Signed-off-by: Simon Glass sjg@chromium.org ---
include/scsi.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
diff --git a/include/scsi.h b/include/scsi.h index cd1b240855..d2fa8a5195 100644 --- a/include/scsi.h +++ b/include/scsi.h @@ -171,6 +171,26 @@ struct scsi_platdata { unsigned long max_id; };
+/* Operations for SCSI */ +struct scsi_ops { + /** + * exec() - execute a command + * + * @dev: SCSI bus + * @cmd: Command to execute + * @return 0 if OK, -ve on error + */ + int (*exec)(struct udevice *dev, struct scsi_cmd *cmd); + + /** + * bus_reset() - reset the bus + * + * @dev: SCSI bus to reset + * @return 0 if OK, -ve on error + */ + int (*bus_reset)(struct udevice *dev); +}; + #ifndef CONFIG_DM_SCSI void scsi_low_level_init(int busdevfunc); void scsi_init(void);

On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
Add operations for SCSI. These are not yet implemented, but we have the struct.
Signed-off-by: Simon Glass sjg@chromium.org
include/scsi.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

With driver model these functions need a device pointer. Add one even when CONFIG_DM_SCSI is not defined. This avoids having ugly conditional function prototypes, When CONFIG_DM_SCSI is not defined we can just ignore the pointer.
Signed-off-by: Simon Glass sjg@chromium.org ---
arch/arm/mach-omap2/sata.c | 4 +++- cmd/scsi.c | 2 +- drivers/ata/ahci.c | 13 ++++++++++--- drivers/scsi/sandbox_scsi.c | 5 +++-- drivers/scsi/scsi.c | 31 +++++++++++++++++++------------ include/scsi.h | 4 ++-- 6 files changed, 38 insertions(+), 21 deletions(-)
diff --git a/arch/arm/mach-omap2/sata.c b/arch/arm/mach-omap2/sata.c index 0c8268905a..dc68896d1b 100644 --- a/arch/arm/mach-omap2/sata.c +++ b/arch/arm/mach-omap2/sata.c @@ -63,8 +63,10 @@ void scsi_init(void) scsi_scan(1); }
-void scsi_bus_reset(void) +int scsi_bus_reset(struct udevice *dev) { ahci_reset((void __iomem *)DWC_AHSATA_BASE); ahci_init((void __iomem *)DWC_AHSATA_BASE); + + return 0; } diff --git a/cmd/scsi.c b/cmd/scsi.c index 4213ec8677..46171e5436 100644 --- a/cmd/scsi.c +++ b/cmd/scsi.c @@ -36,7 +36,7 @@ static int do_scsi(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) case 2: if (strncmp(argv[1], "res", 3) == 0) { printf("\nReset SCSI\n"); - scsi_bus_reset(); + scsi_bus_reset(NULL); ret = scsi_scan(1); if (ret) return CMD_RET_FAILURE; diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index cadf685415..c3b5f2af34 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -928,9 +928,14 @@ static int ata_scsiop_test_unit_ready(struct ahci_uc_priv *uc_priv, }
-int scsi_exec(struct scsi_cmd *pccb) +int scsi_exec(struct udevice *dev, struct scsi_cmd *pccb) { - struct ahci_uc_priv *uc_priv = probe_ent; + struct ahci_uc_priv *uc_priv; +#ifdef CONFIG_DM_SCSI + uc_priv = dev_get_uclass_priv(dev); +#else + uc_priv = probe_ent; +#endif int ret;
switch (pccb->cmd[0]) { @@ -1130,7 +1135,9 @@ static int ata_io_flush(struct ahci_uc_priv *uc_priv, u8 port) }
-__weak void scsi_bus_reset(void) +__weak int scsi_bus_reset(struct udevice *dev) { /*Not implement*/ + + return 0; } diff --git a/drivers/scsi/sandbox_scsi.c b/drivers/scsi/sandbox_scsi.c index d943d1f9da..ac60ae01ca 100644 --- a/drivers/scsi/sandbox_scsi.c +++ b/drivers/scsi/sandbox_scsi.c @@ -11,15 +11,16 @@ #include <common.h> #include <scsi.h>
-void scsi_bus_reset(void) +int scsi_bus_reset(struct udevice *dev) { + return 0; }
void scsi_init(void) { }
-int scsi_exec(struct scsi_cmd *pccb) +int scsi_exec(struct udevice *dev, struct scsi_cmd *pccb) { return 0; } diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index e3d169045b..9232f3a824 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c @@ -151,6 +151,9 @@ static ulong scsi_read(struct blk_desc *block_dev, lbaint_t blknr, { #ifdef CONFIG_BLK struct blk_desc *block_dev = dev_get_uclass_platdata(dev); + struct udevice *bdev = dev->parent; +#else + struct udevice *bdev = NULL; #endif lbaint_t start, blks; uintptr_t buf_addr; @@ -195,7 +198,7 @@ static ulong scsi_read(struct blk_desc *block_dev, lbaint_t blknr, debug("scsi_read_ext: startblk " LBAF ", blccnt %x buffer %" PRIXPTR "\n", start, smallblks, buf_addr); - if (scsi_exec(pccb) != true) { + if (scsi_exec(bdev, pccb)) { scsi_print_error(pccb); blkcnt -= blks; break; @@ -224,6 +227,9 @@ static ulong scsi_write(struct blk_desc *block_dev, lbaint_t blknr, { #ifdef CONFIG_BLK struct blk_desc *block_dev = dev_get_uclass_platdata(dev); + struct udevice *bdev = dev->parent; +#else + struct udevice *bdev = NULL; #endif lbaint_t start, blks; uintptr_t buf_addr; @@ -256,7 +262,7 @@ static ulong scsi_write(struct blk_desc *block_dev, lbaint_t blknr, } debug("%s: startblk " LBAF ", blccnt %x buffer %" PRIXPTR "\n", __func__, start, smallblks, buf_addr); - if (scsi_exec(pccb) != true) { + if (scsi_exec(bdev, pccb)) { scsi_print_error(pccb); blkcnt -= blks; break; @@ -350,8 +356,8 @@ static void scsi_ident_cpy(unsigned char *dest, unsigned char *src, *dest = '\0'; }
-static int scsi_read_capacity(struct scsi_cmd *pccb, lbaint_t *capacity, - unsigned long *blksz) +static int scsi_read_capacity(struct udevice *dev, struct scsi_cmd *pccb, + lbaint_t *capacity, unsigned long *blksz) { *capacity = 0;
@@ -362,7 +368,7 @@ static int scsi_read_capacity(struct scsi_cmd *pccb, lbaint_t *capacity, pccb->msgout[0] = SCSI_IDENTIFY; /* NOT USED */
pccb->datalen = 8; - if (scsi_exec(pccb) != true) + if (scsi_exec(dev, pccb) != true) return 1;
*capacity = ((lbaint_t)pccb->pdata[0] << 24) | @@ -387,7 +393,7 @@ static int scsi_read_capacity(struct scsi_cmd *pccb, lbaint_t *capacity, pccb->msgout[0] = SCSI_IDENTIFY; /* NOT USED */
pccb->datalen = 16; - if (scsi_exec(pccb) != true) + if (scsi_exec(dev, pccb) != true) return 1;
*capacity = ((uint64_t)pccb->pdata[0] << 56) | @@ -480,7 +486,8 @@ static void scsi_init_dev_desc(struct blk_desc *dev_desc, int devnum) * * Return: 0 on success, error value otherwise */ -static int scsi_detect_dev(int target, int lun, struct blk_desc *dev_desc) +static int scsi_detect_dev(struct udevice *dev, int target, int lun, + struct blk_desc *dev_desc) { unsigned char perq, modi; lbaint_t capacity; @@ -492,7 +499,7 @@ static int scsi_detect_dev(int target, int lun, struct blk_desc *dev_desc) pccb->pdata = (unsigned char *)&tempbuff; pccb->datalen = 512; scsi_setup_inquiry(pccb); - if (scsi_exec(pccb) != true) { + if (scsi_exec(dev, pccb) != true) { if (pccb->contr_stat == SCSI_SEL_TIME_OUT) { /* * selection timeout => assuming no @@ -523,7 +530,7 @@ static int scsi_detect_dev(int target, int lun, struct blk_desc *dev_desc)
pccb->datalen = 0; scsi_setup_test_unit_ready(pccb); - if (scsi_exec(pccb) != true) { + if (scsi_exec(dev, pccb) != true) { if (dev_desc->removable) { dev_desc->type = perq; goto removable; @@ -531,7 +538,7 @@ static int scsi_detect_dev(int target, int lun, struct blk_desc *dev_desc) scsi_print_error(pccb); return -EINVAL; } - if (scsi_read_capacity(pccb, &capacity, &blksz)) { + if (scsi_read_capacity(dev, pccb, &capacity, &blksz)) { scsi_print_error(pccb); return -EINVAL; } @@ -561,7 +568,7 @@ static int do_scsi_scan_one(struct udevice *dev, int id, int lun, int mode) * size, number of blocks) and other parameters (ids, type, ...) */ scsi_init_dev_desc_priv(&bd); - if (scsi_detect_dev(id, lun, &bd)) + if (scsi_detect_dev(dev, id, lun, &bd)) return -ENODEV;
/* @@ -642,7 +649,7 @@ int scsi_scan(int mode) scsi_max_devs = 0; for (i = 0; i < CONFIG_SYS_SCSI_MAX_SCSI_ID; i++) { for (lun = 0; lun < CONFIG_SYS_SCSI_MAX_LUN; lun++) { - ret = scsi_detect_dev(i, lun, + ret = scsi_detect_dev(NULL, i, lun, &scsi_dev_desc[scsi_max_devs]); if (ret) continue; diff --git a/include/scsi.h b/include/scsi.h index d2fa8a5195..af07dbe6db 100644 --- a/include/scsi.h +++ b/include/scsi.h @@ -196,8 +196,8 @@ void scsi_low_level_init(int busdevfunc); void scsi_init(void); #endif
-int scsi_exec(struct scsi_cmd *pccb); -void scsi_bus_reset(void); +int scsi_exec(struct udevice *dev, struct scsi_cmd *pccb); +int scsi_bus_reset(struct udevice *dev);
/*************************************************************************** * functions residing inside cmd_scsi.c

On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
With driver model these functions need a device pointer. Add one even when CONFIG_DM_SCSI is not defined. This avoids having ugly conditional function prototypes, When CONFIG_DM_SCSI is not defined we can just ignore the pointer.
Signed-off-by: Simon Glass sjg@chromium.org
arch/arm/mach-omap2/sata.c | 4 +++- cmd/scsi.c | 2 +- drivers/ata/ahci.c | 13 ++++++++++--- drivers/scsi/sandbox_scsi.c | 5 +++-- drivers/scsi/scsi.c | 31 +++++++++++++++++++------------ include/scsi.h | 4 ++-- 6 files changed, 38 insertions(+), 21 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

The 'mode' parameter is actually a flag to determine whether to display a list of devices found during the scan. Rename it to reflect this, add a function comment and adjust callers to use a boolean.
Signed-off-by: Simon Glass sjg@chromium.org ---
arch/arm/cpu/armv7/ls102xa/ls102xa_sata.c | 2 +- arch/arm/cpu/armv8/fsl-layerscape/soc.c | 4 ++-- board/highbank/highbank.c | 2 +- cmd/scsi.c | 4 ++-- common/spl/spl_sata.c | 2 +- drivers/scsi/scsi.c | 20 ++++++++++---------- include/scsi.h | 8 +++++--- 7 files changed, 22 insertions(+), 20 deletions(-)
diff --git a/arch/arm/cpu/armv7/ls102xa/ls102xa_sata.c b/arch/arm/cpu/armv7/ls102xa/ls102xa_sata.c index 144f2c368d..e11d3a197d 100644 --- a/arch/arm/cpu/armv7/ls102xa/ls102xa_sata.c +++ b/arch/arm/cpu/armv7/ls102xa/ls102xa_sata.c @@ -36,7 +36,7 @@ int ls1021a_sata_init(void) out_le32(&ccsr_ahci->ptc, AHCI_PORT_TRANS_CFG);
ahci_init((void __iomem *)AHCI_BASE_ADDR); - scsi_scan(0); + scsi_scan(false);
return 0; } diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c b/arch/arm/cpu/armv8/fsl-layerscape/soc.c index 0943e833d7..aee1ffa7d4 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c @@ -225,7 +225,7 @@ int sata_init(void) out_le32(&ccsr_ahci->axicc, AHCI_PORT_AXICC_CFG);
ahci_init((void __iomem *)CONFIG_SYS_SATA1); - scsi_scan(0); + scsi_scan(false);
return 0; } @@ -244,7 +244,7 @@ int sata_init(void) out_le32(&ccsr_ahci->axicc, AHCI_PORT_AXICC_CFG);
ahci_init((void __iomem *)CONFIG_SYS_SATA); - scsi_scan(0); + scsi_scan(false);
return 0; } diff --git a/board/highbank/highbank.c b/board/highbank/highbank.c index 55999ed226..1af2207867 100644 --- a/board/highbank/highbank.c +++ b/board/highbank/highbank.c @@ -67,7 +67,7 @@ void scsi_init(void) cphy_disable_overrides(); if (reg & PWRDOM_STAT_SATA) { ahci_init((void __iomem *)HB_AHCI_BASE); - scsi_scan(1); + scsi_scan(true); } } #endif diff --git a/cmd/scsi.c b/cmd/scsi.c index 46171e5436..570971891e 100644 --- a/cmd/scsi.c +++ b/cmd/scsi.c @@ -37,7 +37,7 @@ static int do_scsi(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) if (strncmp(argv[1], "res", 3) == 0) { printf("\nReset SCSI\n"); scsi_bus_reset(NULL); - ret = scsi_scan(1); + ret = scsi_scan(true); if (ret) return CMD_RET_FAILURE; return ret; @@ -55,7 +55,7 @@ static int do_scsi(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) return 0; } if (strncmp(argv[1], "scan", 4) == 0) { - ret = scsi_scan(1); + ret = scsi_scan(true); if (ret) return CMD_RET_FAILURE; return ret; diff --git a/common/spl/spl_sata.c b/common/spl/spl_sata.c index 5476206131..bac11f64f1 100644 --- a/common/spl/spl_sata.c +++ b/common/spl/spl_sata.c @@ -34,7 +34,7 @@ static int spl_sata_load_image(struct spl_image_info *spl_image, return err; } else { /* try to recognize storage devices immediately */ - scsi_scan(0); + scsi_scan(false); stor_dev = blk_get_devnum_by_type(IF_TYPE_SCSI, 0); if (!stor_dev) return -ENODEV; diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index 9232f3a824..f3f8d31e1a 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c @@ -326,7 +326,7 @@ void scsi_init(void) #endif bootstage_start(BOOTSTAGE_ID_ACCUM_SCSI, "ahci"); scsi_low_level_init(busdevfunc); - scsi_scan(1); + scsi_scan(true); bootstage_accum(BOOTSTAGE_ID_ACCUM_SCSI); } #endif @@ -555,7 +555,7 @@ removable: * to the user if mode = 1 */ #if defined(CONFIG_DM_SCSI) -static int do_scsi_scan_one(struct udevice *dev, int id, int lun, int mode) +static int do_scsi_scan_one(struct udevice *dev, int id, int lun, bool verbose) { int ret; struct udevice *bdev; @@ -594,21 +594,21 @@ static int do_scsi_scan_one(struct udevice *dev, int id, int lun, int mode) memcpy(&bdesc->revision, &bd.revision, sizeof(bd.revision)); part_init(bdesc);
- if (mode == 1) { + if (verbose) { printf(" Device %d: ", 0); dev_print(bdesc); } return 0; }
-int scsi_scan(int mode) +int scsi_scan(bool verbose) { unsigned char i, lun; struct uclass *uc; struct udevice *dev; /* SCSI controller */ int ret;
- if (mode == 1) + if (verbose) printf("scanning bus for devices...\n");
blk_unbind_all(IF_TYPE_SCSI); @@ -630,18 +630,18 @@ int scsi_scan(int mode)
for (i = 0; i < plat->max_id; i++) for (lun = 0; lun < plat->max_lun; lun++) - do_scsi_scan_one(dev, i, lun, mode); + do_scsi_scan_one(dev, i, lun, verbose); }
return 0; } #else -int scsi_scan(int mode) +int scsi_scan(bool verbose) { unsigned char i, lun; int ret;
- if (mode == 1) + if (verbose) printf("scanning bus for devices...\n"); for (i = 0; i < CONFIG_SYS_SCSI_MAX_DEVICE; i++) scsi_init_dev_desc(&scsi_dev_desc[i], i); @@ -655,10 +655,10 @@ int scsi_scan(int mode) continue; part_init(&scsi_dev_desc[scsi_max_devs]);
- if (mode == 1) { + if (verbose) { printf(" Device %d: ", 0); dev_print(&scsi_dev_desc[scsi_max_devs]); - } /* if mode */ + } scsi_max_devs++; } /* next LUN */ } diff --git a/include/scsi.h b/include/scsi.h index af07dbe6db..20f6932602 100644 --- a/include/scsi.h +++ b/include/scsi.h @@ -199,10 +199,12 @@ void scsi_init(void); int scsi_exec(struct udevice *dev, struct scsi_cmd *pccb); int scsi_bus_reset(struct udevice *dev);
-/*************************************************************************** - * functions residing inside cmd_scsi.c +/** + * scsi_scan() - Scan all SCSI controllers for available devices + * + * @vebose: true to show information about each device found */ -int scsi_scan(int mode); +int scsi_scan(bool verbose);
#define SCSI_IDENTIFY 0xC0 /* not used */

On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
The 'mode' parameter is actually a flag to determine whether to display a list of devices found during the scan. Rename it to reflect this, add a function comment and adjust callers to use a boolean.
Signed-off-by: Simon Glass sjg@chromium.org
arch/arm/cpu/armv7/ls102xa/ls102xa_sata.c | 2 +- arch/arm/cpu/armv8/fsl-layerscape/soc.c | 4 ++-- board/highbank/highbank.c | 2 +- cmd/scsi.c | 4 ++-- common/spl/spl_sata.c | 2 +- drivers/scsi/scsi.c | 20 ++++++++++---------- include/scsi.h | 8 +++++--- 7 files changed, 22 insertions(+), 20 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

With driver model we need to define implementations of exec() and bus_reset() separately for each SCSI driver. As a first step, create a local version of each function in the AHCI driver and call each from its global version.
Signed-off-by: Simon Glass sjg@chromium.org ---
drivers/ata/ahci.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index c3b5f2af34..9c7b043aa2 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -928,7 +928,7 @@ static int ata_scsiop_test_unit_ready(struct ahci_uc_priv *uc_priv, }
-int scsi_exec(struct udevice *dev, struct scsi_cmd *pccb) +static int ahci_scsi_exec(struct udevice *dev, struct scsi_cmd *pccb) { struct ahci_uc_priv *uc_priv; #ifdef CONFIG_DM_SCSI @@ -1134,10 +1134,21 @@ static int ata_io_flush(struct ahci_uc_priv *uc_priv, u8 port) return 0; }
+static int ahci_scsi_bus_reset(struct udevice *dev) +{ + /* Not implemented */ + + return 0; +} + +int scsi_exec(struct udevice *dev, struct scsi_cmd *pccb) +{ + return ahci_scsi_exec(dev, pccb); +}
__weak int scsi_bus_reset(struct udevice *dev) { - /*Not implement*/ + return ahci_scsi_bus_reset(dev);
return 0; }

On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
With driver model we need to define implementations of exec() and bus_reset() separately for each SCSI driver. As a first step, create a local version of each function in the AHCI driver and call each from its global version.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/ata/ahci.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

The SCSI uclass currently has no operations. It just uses the global SCSI functions. Fix this by adding operations to the only two drivers that use the uclass, and replacing the global functions with those defined locally in the SCSI code.
Signed-off-by: Simon Glass sjg@chromium.org ---
drivers/ata/ahci.c | 7 +++++++ drivers/ata/dwc_ahci.c | 1 + drivers/ata/sata_ceva.c | 1 + drivers/scsi/scsi-uclass.c | 20 ++++++++++++++++++++ include/scsi.h | 28 +++++++++++++++++++++++----- 5 files changed, 52 insertions(+), 5 deletions(-)
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 9c7b043aa2..5a20b97c4b 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -1141,6 +1141,12 @@ static int ahci_scsi_bus_reset(struct udevice *dev) return 0; }
+#ifdef CONFIG_DM_SCSI +struct scsi_ops scsi_ops = { + .exec = ahci_scsi_exec, + .bus_reset = ahci_scsi_bus_reset, +}; +#else int scsi_exec(struct udevice *dev, struct scsi_cmd *pccb) { return ahci_scsi_exec(dev, pccb); @@ -1152,3 +1158,4 @@ __weak int scsi_bus_reset(struct udevice *dev)
return 0; } +#endif diff --git a/drivers/ata/dwc_ahci.c b/drivers/ata/dwc_ahci.c index 401201717f..f6147989b1 100644 --- a/drivers/ata/dwc_ahci.c +++ b/drivers/ata/dwc_ahci.c @@ -98,6 +98,7 @@ U_BOOT_DRIVER(dwc_ahci) = { .id = UCLASS_SCSI, .of_match = dwc_ahci_ids, .ofdata_to_platdata = dwc_ahci_ofdata_to_platdata, + .ops = &scsi_ops, .probe = dwc_ahci_probe, .priv_auto_alloc_size = sizeof(struct dwc_ahci_priv), .flags = DM_FLAG_ALLOC_PRIV_DMA, diff --git a/drivers/ata/sata_ceva.c b/drivers/ata/sata_ceva.c index 2f7ab1c54b..9e0276b06d 100644 --- a/drivers/ata/sata_ceva.c +++ b/drivers/ata/sata_ceva.c @@ -145,6 +145,7 @@ U_BOOT_DRIVER(ceva_host_blk) = { .name = "ceva_sata", .id = UCLASS_SCSI, .of_match = sata_ceva_ids, + .ops = &scsi_ops, .probe = sata_ceva_probe, .ofdata_to_platdata = sata_ceva_ofdata_to_platdata, }; diff --git a/drivers/scsi/scsi-uclass.c b/drivers/scsi/scsi-uclass.c index 40c5044f09..31e8999297 100644 --- a/drivers/scsi/scsi-uclass.c +++ b/drivers/scsi/scsi-uclass.c @@ -13,6 +13,26 @@ #include <dm.h> #include <scsi.h>
+int scsi_exec(struct udevice *dev, struct scsi_cmd *pccb) +{ + struct scsi_ops *ops = scsi_get_ops(dev); + + if (!ops->exec) + return -ENOSYS; + + return ops->exec(dev, pccb); +} + +int scsi_bus_reset(struct udevice *dev) +{ + struct scsi_ops *ops = scsi_get_ops(dev); + + if (!ops->bus_reset) + return -ENOSYS; + + return ops->bus_reset(dev); +} + UCLASS_DRIVER(scsi) = { .id = UCLASS_SCSI, .name = "scsi", diff --git a/include/scsi.h b/include/scsi.h index 20f6932602..9cdd13c795 100644 --- a/include/scsi.h +++ b/include/scsi.h @@ -191,12 +191,25 @@ struct scsi_ops { int (*bus_reset)(struct udevice *dev); };
-#ifndef CONFIG_DM_SCSI -void scsi_low_level_init(int busdevfunc); -void scsi_init(void); -#endif +#define scsi_get_ops(dev) ((struct scsi_ops *)(dev)->driver->ops) + +extern struct scsi_ops scsi_ops; + +/** + * scsi_exec() - execute a command + * + * @dev: SCSI bus + * @cmd: Command to execute + * @return 0 if OK, -ve on error + */ +int scsi_exec(struct udevice *dev, struct scsi_cmd *cmd);
-int scsi_exec(struct udevice *dev, struct scsi_cmd *pccb); +/** + * scsi_bus_reset() - reset the bus + * + * @dev: SCSI bus to reset + * @return 0 if OK, -ve on error + */ int scsi_bus_reset(struct udevice *dev);
/** @@ -206,6 +219,11 @@ int scsi_bus_reset(struct udevice *dev); */ int scsi_scan(bool verbose);
+#ifndef CONFIG_DM_SCSI +void scsi_low_level_init(int busdevfunc); +void scsi_init(void); +#endif + #define SCSI_IDENTIFY 0xC0 /* not used */
/* Hardware errors */

On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
The SCSI uclass currently has no operations. It just uses the global SCSI functions. Fix this by adding operations to the only two drivers that use the uclass, and replacing the global functions with those defined locally in the SCSI code.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/ata/ahci.c | 7 +++++++ drivers/ata/dwc_ahci.c | 1 + drivers/ata/sata_ceva.c | 1 + drivers/scsi/scsi-uclass.c | 20 ++++++++++++++++++++ include/scsi.h | 28 +++++++++++++++++++++++----- 5 files changed, 52 insertions(+), 5 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

Change this function to return an error number instead of true/false. This allows us to return a proper error number.
Signed-off-by: Simon Glass sjg@chromium.org ---
drivers/ata/ahci.c | 6 +++--- drivers/scsi/scsi.c | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 5a20b97c4b..3528a1f3da 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -960,14 +960,14 @@ static int ahci_scsi_exec(struct udevice *dev, struct scsi_cmd *pccb) break; default: printf("Unsupport SCSI command 0x%02x\n", pccb->cmd[0]); - return false; + return -ENOTSUPP; }
if (ret) { debug("SCSI command 0x%02x ret errno %d\n", pccb->cmd[0], ret); - return false; + return ret; } - return true; + return 0;
}
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index f3f8d31e1a..80c5ce699e 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c @@ -368,7 +368,7 @@ static int scsi_read_capacity(struct udevice *dev, struct scsi_cmd *pccb, pccb->msgout[0] = SCSI_IDENTIFY; /* NOT USED */
pccb->datalen = 8; - if (scsi_exec(dev, pccb) != true) + if (scsi_exec(dev, pccb)) return 1;
*capacity = ((lbaint_t)pccb->pdata[0] << 24) | @@ -393,7 +393,7 @@ static int scsi_read_capacity(struct udevice *dev, struct scsi_cmd *pccb, pccb->msgout[0] = SCSI_IDENTIFY; /* NOT USED */
pccb->datalen = 16; - if (scsi_exec(dev, pccb) != true) + if (scsi_exec(dev, pccb)) return 1;
*capacity = ((uint64_t)pccb->pdata[0] << 56) | @@ -499,7 +499,7 @@ static int scsi_detect_dev(struct udevice *dev, int target, int lun, pccb->pdata = (unsigned char *)&tempbuff; pccb->datalen = 512; scsi_setup_inquiry(pccb); - if (scsi_exec(dev, pccb) != true) { + if (scsi_exec(dev, pccb)) { if (pccb->contr_stat == SCSI_SEL_TIME_OUT) { /* * selection timeout => assuming no @@ -530,7 +530,7 @@ static int scsi_detect_dev(struct udevice *dev, int target, int lun,
pccb->datalen = 0; scsi_setup_test_unit_ready(pccb); - if (scsi_exec(dev, pccb) != true) { + if (scsi_exec(dev, pccb)) { if (dev_desc->removable) { dev_desc->type = perq; goto removable;

On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
Change this function to return an error number instead of true/false. This allows us to return a proper error number.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/ata/ahci.c | 6 +++--- drivers/scsi/scsi.c | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

Split out the code that scans a single SCSI bus into a separate function. This will allow it to be used from driver model.
Signed-off-by: Simon Glass sjg@chromium.org ---
drivers/scsi/scsi.c | 35 +++++++++++++++++++++++------------ include/scsi.h | 8 ++++++++ 2 files changed, 31 insertions(+), 12 deletions(-)
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index 80c5ce699e..2b87548bd3 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c @@ -601,9 +601,30 @@ static int do_scsi_scan_one(struct udevice *dev, int id, int lun, bool verbose) return 0; }
+int scsi_scan_dev(struct udevice *dev, bool verbose) +{ + struct scsi_platdata *uc_plat; /* scsi controller platdata */ + int ret; + int i; + int lun; + + /* probe SCSI controller driver */ + ret = device_probe(dev); + if (ret) + return ret; + + /* Get controller platdata */ + uc_plat = dev_get_uclass_platdata(dev); + + for (i = 0; i < uc_plat->max_id; i++) + for (lun = 0; lun < uc_plat->max_lun; lun++) + do_scsi_scan_one(dev, i, lun, verbose); + + return 0; +} + int scsi_scan(bool verbose) { - unsigned char i, lun; struct uclass *uc; struct udevice *dev; /* SCSI controller */ int ret; @@ -618,19 +639,9 @@ int scsi_scan(bool verbose) return ret;
uclass_foreach_dev(dev, uc) { - struct scsi_platdata *plat; /* scsi controller platdata */ - - /* probe SCSI controller driver */ - ret = device_probe(dev); + ret = scsi_scan_dev(dev, verbose); if (ret) return ret; - - /* Get controller platdata */ - plat = dev_get_uclass_platdata(dev); - - for (i = 0; i < plat->max_id; i++) - for (lun = 0; lun < plat->max_lun; lun++) - do_scsi_scan_one(dev, i, lun, verbose); }
return 0; diff --git a/include/scsi.h b/include/scsi.h index 9cdd13c795..7173912de4 100644 --- a/include/scsi.h +++ b/include/scsi.h @@ -219,6 +219,14 @@ int scsi_bus_reset(struct udevice *dev); */ int scsi_scan(bool verbose);
+/** + * scsi_scan_dev() - scan a SCSI bus and create devices + * + * @dev: SCSI bus + * @verbose: true to show information about each device found + */ +int scsi_scan_dev(struct udevice *dev, bool verbose); + #ifndef CONFIG_DM_SCSI void scsi_low_level_init(int busdevfunc); void scsi_init(void);

On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
Split out the code that scans a single SCSI bus into a separate function. This will allow it to be used from driver model.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/scsi/scsi.c | 35 +++++++++++++++++++++++------------ include/scsi.h | 8 ++++++++ 2 files changed, 31 insertions(+), 12 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

Some AHCI drivers use SCSI under the hood. Rather than making the AHCI driver be in the SCSI uclass it makes sense to have the AHCI device create a SCSI device as a child. That way we can handle any AHCI-specific operations rather than trying to pretend tha the device is just SCSI.
To handle this we need to provide a way for AHCI drivers to bind a SCSI device as its child, and probe it. Add functions for this.
Signed-off-by: Simon Glass sjg@chromium.org ---
drivers/ata/ahci.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ include/ahci.h | 22 ++++++++++++++++++++++ 2 files changed, 74 insertions(+)
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 3528a1f3da..c67a144f02 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -23,6 +23,8 @@ #include <libata.h> #include <linux/ctype.h> #include <ahci.h> +#include <dm/device-internal.h> +#include <dm/lists.h>
static int ata_io_flush(struct ahci_uc_priv *uc_priv, u8 port);
@@ -1142,10 +1144,60 @@ static int ahci_scsi_bus_reset(struct udevice *dev) }
#ifdef CONFIG_DM_SCSI +int ahci_bind_scsi(struct udevice *ahci_dev, struct udevice **devp) +{ + struct udevice *dev; + int ret; + + ret = device_bind_driver(ahci_dev, "ahci_scsi", "ahci_scsi", &dev); + if (ret) + return ret; + *devp = dev; + + return 0; +} + +int ahci_probe_scsi(struct udevice *ahci_dev) +{ + struct ahci_uc_priv *uc_priv; + struct scsi_platdata *uc_plat; + struct udevice *dev; + int ret; + + device_find_first_child(ahci_dev, &dev); + if (!dev) + return -ENODEV; + uc_plat = dev_get_uclass_platdata(dev); + uc_plat->base = (ulong)dm_pci_map_bar(ahci_dev, PCI_BASE_ADDRESS_5, + PCI_REGION_MEM); + uc_plat->max_lun = 1; + uc_plat->max_id = 2; + uc_priv = dev_get_uclass_priv(dev); + ret = ahci_init_one(uc_priv, dev); + if (ret) + return ret; + ret = ahci_start_ports(uc_priv); + if (ret) + return ret; + + debug("Scanning %s\n", dev->name); + ret = scsi_scan_dev(dev, true); + if (ret) + return ret; + + return 0; +} + struct scsi_ops scsi_ops = { .exec = ahci_scsi_exec, .bus_reset = ahci_scsi_bus_reset, }; + +U_BOOT_DRIVER(ahci_scsi) = { + .name = "ahci_scsi", + .id = UCLASS_SCSI, + .ops = &scsi_ops, +}; #else int scsi_exec(struct udevice *dev, struct scsi_cmd *pccb) { diff --git a/include/ahci.h b/include/ahci.h index 648e56a4cf..746bff083a 100644 --- a/include/ahci.h +++ b/include/ahci.h @@ -203,4 +203,26 @@ int achi_start_ports_dm(struct udevice *dev); */ int ahci_init_dm(struct udevice *dev, void __iomem *base);
+/** + * ahci_bind_scsi() - bind a new SCSI bus as a child + * + * Note that the SCSI bus device will itself bind block devices + * + * @ahci_dev: AHCI parent device + * @devp: Returns new SCSI bus device + * @return 0 if OK, -ve on error + */ +int ahci_bind_scsi(struct udevice *ahci_dev, struct udevice **devp); + +/** + * ahci_probe_scsi() - probe and scan the attached SCSI bus + * + * Note that the SCSI device will itself bind block devices for any storage + * devices it finds. + * + * @ahci_dev: AHCI parent device + * @return 0 if OK, -ve on error + */ +int ahci_probe_scsi(struct udevice *ahci_dev); + #endif

Hi Simon,
On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
Some AHCI drivers use SCSI under the hood. Rather than making the AHCI driver be in the SCSI uclass it makes sense to have the AHCI device create a SCSI device as a child. That way we can handle any AHCI-specific operations rather than trying to pretend tha the device is just SCSI.
To handle this we need to provide a way for AHCI drivers to bind a SCSI device as its child, and probe it. Add functions for this.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/ata/ahci.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ include/ahci.h | 22 ++++++++++++++++++++++ 2 files changed, 74 insertions(+)
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 3528a1f3da..c67a144f02 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -23,6 +23,8 @@ #include <libata.h> #include <linux/ctype.h> #include <ahci.h> +#include <dm/device-internal.h> +#include <dm/lists.h>
static int ata_io_flush(struct ahci_uc_priv *uc_priv, u8 port);
@@ -1142,10 +1144,60 @@ static int ahci_scsi_bus_reset(struct udevice *dev) }
#ifdef CONFIG_DM_SCSI +int ahci_bind_scsi(struct udevice *ahci_dev, struct udevice **devp) +{
struct udevice *dev;
int ret;
ret = device_bind_driver(ahci_dev, "ahci_scsi", "ahci_scsi", &dev);
if (ret)
return ret;
*devp = dev;
return 0;
+}
+int ahci_probe_scsi(struct udevice *ahci_dev) +{
struct ahci_uc_priv *uc_priv;
struct scsi_platdata *uc_plat;
struct udevice *dev;
int ret;
device_find_first_child(ahci_dev, &dev);
if (!dev)
return -ENODEV;
uc_plat = dev_get_uclass_platdata(dev);
uc_plat->base = (ulong)dm_pci_map_bar(ahci_dev, PCI_BASE_ADDRESS_5,
PCI_REGION_MEM);
This assumes AHCI controller is on PCI bus. How about other AHCI controllers integrated directly into the SoC?
uc_plat->max_lun = 1;
uc_plat->max_id = 2;
uc_priv = dev_get_uclass_priv(dev);
ret = ahci_init_one(uc_priv, dev);
if (ret)
return ret;
ret = ahci_start_ports(uc_priv);
if (ret)
return ret;
debug("Scanning %s\n", dev->name);
ret = scsi_scan_dev(dev, true);
if (ret)
return ret;
return 0;
+}
struct scsi_ops scsi_ops = { .exec = ahci_scsi_exec, .bus_reset = ahci_scsi_bus_reset, };
+U_BOOT_DRIVER(ahci_scsi) = {
.name = "ahci_scsi",
.id = UCLASS_SCSI,
.ops = &scsi_ops,
+}; #else int scsi_exec(struct udevice *dev, struct scsi_cmd *pccb) { diff --git a/include/ahci.h b/include/ahci.h index 648e56a4cf..746bff083a 100644 --- a/include/ahci.h +++ b/include/ahci.h @@ -203,4 +203,26 @@ int achi_start_ports_dm(struct udevice *dev); */ int ahci_init_dm(struct udevice *dev, void __iomem *base);
+/**
- ahci_bind_scsi() - bind a new SCSI bus as a child
- Note that the SCSI bus device will itself bind block devices
- @ahci_dev: AHCI parent device
- @devp: Returns new SCSI bus device
- @return 0 if OK, -ve on error
- */
+int ahci_bind_scsi(struct udevice *ahci_dev, struct udevice **devp);
+/**
- ahci_probe_scsi() - probe and scan the attached SCSI bus
- Note that the SCSI device will itself bind block devices for any storage
- devices it finds.
- @ahci_dev: AHCI parent device
- @return 0 if OK, -ve on error
- */
+int ahci_probe_scsi(struct udevice *ahci_dev);
#endif
Regards, Bin

Hi Bin,
On 12 June 2017 at 21:14, Bin Meng bmeng.cn@gmail.com wrote:
Hi Simon,
On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
Some AHCI drivers use SCSI under the hood. Rather than making the AHCI driver be in the SCSI uclass it makes sense to have the AHCI device create a SCSI device as a child. That way we can handle any AHCI-specific operations rather than trying to pretend tha the device is just SCSI.
To handle this we need to provide a way for AHCI drivers to bind a SCSI device as its child, and probe it. Add functions for this.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/ata/ahci.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ include/ahci.h | 22 ++++++++++++++++++++++ 2 files changed, 74 insertions(+)
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 3528a1f3da..c67a144f02 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -23,6 +23,8 @@ #include <libata.h> #include <linux/ctype.h> #include <ahci.h> +#include <dm/device-internal.h> +#include <dm/lists.h>
static int ata_io_flush(struct ahci_uc_priv *uc_priv, u8 port);
@@ -1142,10 +1144,60 @@ static int ahci_scsi_bus_reset(struct udevice *dev) }
#ifdef CONFIG_DM_SCSI +int ahci_bind_scsi(struct udevice *ahci_dev, struct udevice **devp) +{
struct udevice *dev;
int ret;
ret = device_bind_driver(ahci_dev, "ahci_scsi", "ahci_scsi", &dev);
if (ret)
return ret;
*devp = dev;
return 0;
+}
+int ahci_probe_scsi(struct udevice *ahci_dev) +{
struct ahci_uc_priv *uc_priv;
struct scsi_platdata *uc_plat;
struct udevice *dev;
int ret;
device_find_first_child(ahci_dev, &dev);
if (!dev)
return -ENODEV;
uc_plat = dev_get_uclass_platdata(dev);
uc_plat->base = (ulong)dm_pci_map_bar(ahci_dev, PCI_BASE_ADDRESS_5,
PCI_REGION_MEM);
This assumes AHCI controller is on PCI bus. How about other AHCI controllers integrated directly into the SoC?
I have not done this yet - it would have to be a follow-up series. This one focuses mostly on SCSI. The ahci.c driver seems to me to be only supporting using an AHCI controller via SCSI. I added a comment to the drop to make that clear once I figured it out.
Also sata.h will need converting and the AHCI uclass will need to have operations, etc.
Regards, Simon

This function should not be used with driver model. Update the code to reflect this.
Signed-off-by: Simon Glass sjg@chromium.org ---
drivers/scsi/scsi.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index 2b87548bd3..7ec7ecc295 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c @@ -29,7 +29,8 @@ # endif #endif
-#if defined(CONFIG_PCI) && !defined(CONFIG_SCSI_AHCI_PLAT) +#if defined(CONFIG_PCI) && !defined(CONFIG_SCSI_AHCI_PLAT) && \ + !defined(CONFIG_DM_SCSI) const struct pci_device_id scsi_device_list[] = { SCSI_DEV_LIST }; #endif static struct scsi_cmd tempccb; /* temporary scsi command buffer */ @@ -274,7 +275,8 @@ static ulong scsi_write(struct blk_desc *block_dev, lbaint_t blknr, return blkcnt; }
-#if defined(CONFIG_PCI) && !defined(CONFIG_SCSI_AHCI_PLAT) +#if defined(CONFIG_PCI) && !defined(CONFIG_SCSI_AHCI_PLAT) && \ + !defined(CONFIG_DM_SCSI) void scsi_init(void) { int busdevfunc = -1;

On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
This function should not be used with driver model. Update the code to reflect this.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/scsi/scsi.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

As a demonstration of how to use SCSI with driver model, move link over to use this. This patch needs more work, but illustrates the concept.
Signed-off-by: Simon Glass sjg@chromium.org ---
arch/x86/cpu/ivybridge/sata.c | 38 +++++++++++++++++++++++++++++++++++++- configs/chromebook_link_defconfig | 2 ++ 2 files changed, 39 insertions(+), 1 deletion(-)
diff --git a/arch/x86/cpu/ivybridge/sata.c b/arch/x86/cpu/ivybridge/sata.c index 0f5e190425..5bbe65d442 100644 --- a/arch/x86/cpu/ivybridge/sata.c +++ b/arch/x86/cpu/ivybridge/sata.c @@ -6,6 +6,7 @@ */
#include <common.h> +#include <ahci.h> #include <dm.h> #include <fdtdec.h> #include <asm/io.h> @@ -208,6 +209,20 @@ static void bd82x6x_sata_enable(struct udevice *dev) dm_pci_write_config16(dev, 0x90, map); }
+static int bd82x6x_sata_bind(struct udevice *dev) +{ + struct udevice *scsi_dev; + int ret; + + if (gd->flags & GD_FLG_RELOC) { + ret = ahci_bind_scsi(dev, &scsi_dev); + if (ret) + return ret; + } + + return 0; +} + static int bd82x6x_sata_probe(struct udevice *dev) { struct udevice *pch; @@ -219,8 +234,12 @@ static int bd82x6x_sata_probe(struct udevice *dev)
if (!(gd->flags & GD_FLG_RELOC)) bd82x6x_sata_enable(dev); - else + else { bd82x6x_sata_init(dev, pch); + ret = ahci_probe_scsi(dev); + if (ret) + return ret; + }
return 0; } @@ -234,5 +253,22 @@ U_BOOT_DRIVER(ahci_ivybridge_drv) = { .name = "ahci_ivybridge", .id = UCLASS_AHCI, .of_match = bd82x6x_ahci_ids, + .bind = bd82x6x_sata_bind, .probe = bd82x6x_sata_probe, }; + +static struct pci_device_id chromebook_ssd_supported[] = { + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_NM10_AHCI) }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, + PCI_DEVICE_ID_INTEL_COUGARPOINT_AHCI_MOBILE) }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, + PCI_DEVICE_ID_INTEL_COUGARPOINT_AHCI_SERIES6) }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, + PCI_DEVICE_ID_INTEL_PANTHERPOINT_AHCI_MOBILE) }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_LYNXPOINT_AHCI) }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, + PCI_DEVICE_ID_INTEL_WILDCATPOINT_AHCI) }, + {}, +}; + +U_BOOT_PCI_DEVICE(ahci_ivybridge_drv, chromebook_ssd_supported); diff --git a/configs/chromebook_link_defconfig b/configs/chromebook_link_defconfig index a463270514..503581dfce 100644 --- a/configs/chromebook_link_defconfig +++ b/configs/chromebook_link_defconfig @@ -40,6 +40,8 @@ CONFIG_OF_CONTROL=y CONFIG_REGMAP=y CONFIG_SYSCON=y CONFIG_SCSI=y +CONFIG_DM_SCSI=y +CONFIG_BLK=y CONFIG_CPU=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_INTEL=y

Hi Simon,
On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
As a demonstration of how to use SCSI with driver model, move link over to use this. This patch needs more work, but illustrates the concept.
Signed-off-by: Simon Glass sjg@chromium.org
arch/x86/cpu/ivybridge/sata.c | 38 +++++++++++++++++++++++++++++++++++++- configs/chromebook_link_defconfig | 2 ++ 2 files changed, 39 insertions(+), 1 deletion(-)
This is great! Thanks a lot.
diff --git a/arch/x86/cpu/ivybridge/sata.c b/arch/x86/cpu/ivybridge/sata.c index 0f5e190425..5bbe65d442 100644 --- a/arch/x86/cpu/ivybridge/sata.c +++ b/arch/x86/cpu/ivybridge/sata.c @@ -6,6 +6,7 @@ */
#include <common.h> +#include <ahci.h> #include <dm.h> #include <fdtdec.h> #include <asm/io.h> @@ -208,6 +209,20 @@ static void bd82x6x_sata_enable(struct udevice *dev) dm_pci_write_config16(dev, 0x90, map); }
+static int bd82x6x_sata_bind(struct udevice *dev) +{
struct udevice *scsi_dev;
int ret;
if (gd->flags & GD_FLG_RELOC) {
ret = ahci_bind_scsi(dev, &scsi_dev);
if (ret)
return ret;
}
return 0;
+}
static int bd82x6x_sata_probe(struct udevice *dev) { struct udevice *pch; @@ -219,8 +234,12 @@ static int bd82x6x_sata_probe(struct udevice *dev)
if (!(gd->flags & GD_FLG_RELOC)) bd82x6x_sata_enable(dev);
else
else { bd82x6x_sata_init(dev, pch);
ret = ahci_probe_scsi(dev);
if (ret)
return ret;
} return 0;
} @@ -234,5 +253,22 @@ U_BOOT_DRIVER(ahci_ivybridge_drv) = { .name = "ahci_ivybridge", .id = UCLASS_AHCI, .of_match = bd82x6x_ahci_ids,
.bind = bd82x6x_sata_bind, .probe = bd82x6x_sata_probe,
};
+static struct pci_device_id chromebook_ssd_supported[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_NM10_AHCI) },
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL,
PCI_DEVICE_ID_INTEL_COUGARPOINT_AHCI_MOBILE) },
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL,
PCI_DEVICE_ID_INTEL_COUGARPOINT_AHCI_SERIES6) },
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL,
PCI_DEVICE_ID_INTEL_PANTHERPOINT_AHCI_MOBILE) },
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_LYNXPOINT_AHCI) },
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL,
PCI_DEVICE_ID_INTEL_WILDCATPOINT_AHCI) },
{},
+};
Since AHCI is pretty generic, instead of providing device list filter, can we just use PCI class and sub-class for AHCI, like USB?
For Ivybridge specific stuff, we can call the low level initialization function as part of the SoC/platform initialization codes.
+U_BOOT_PCI_DEVICE(ahci_ivybridge_drv, chromebook_ssd_supported); diff --git a/configs/chromebook_link_defconfig b/configs/chromebook_link_defconfig index a463270514..503581dfce 100644 --- a/configs/chromebook_link_defconfig +++ b/configs/chromebook_link_defconfig @@ -40,6 +40,8 @@ CONFIG_OF_CONTROL=y CONFIG_REGMAP=y CONFIG_SYSCON=y CONFIG_SCSI=y +CONFIG_DM_SCSI=y +CONFIG_BLK=y CONFIG_CPU=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_INTEL=y --
Regards, Bin

Hi Bin,
On 12 June 2017 at 21:15, Bin Meng bmeng.cn@gmail.com wrote:
Hi Simon,
On Tue, Jun 6, 2017 at 3:15 AM, Simon Glass sjg@chromium.org wrote:
As a demonstration of how to use SCSI with driver model, move link over to use this. This patch needs more work, but illustrates the concept.
Signed-off-by: Simon Glass sjg@chromium.org
arch/x86/cpu/ivybridge/sata.c | 38 +++++++++++++++++++++++++++++++++++++- configs/chromebook_link_defconfig | 2 ++ 2 files changed, 39 insertions(+), 1 deletion(-)
This is great! Thanks a lot.
diff --git a/arch/x86/cpu/ivybridge/sata.c b/arch/x86/cpu/ivybridge/sata.c index 0f5e190425..5bbe65d442 100644 --- a/arch/x86/cpu/ivybridge/sata.c +++ b/arch/x86/cpu/ivybridge/sata.c @@ -6,6 +6,7 @@ */
#include <common.h> +#include <ahci.h> #include <dm.h> #include <fdtdec.h> #include <asm/io.h> @@ -208,6 +209,20 @@ static void bd82x6x_sata_enable(struct udevice *dev) dm_pci_write_config16(dev, 0x90, map); }
+static int bd82x6x_sata_bind(struct udevice *dev) +{
struct udevice *scsi_dev;
int ret;
if (gd->flags & GD_FLG_RELOC) {
ret = ahci_bind_scsi(dev, &scsi_dev);
if (ret)
return ret;
}
return 0;
+}
static int bd82x6x_sata_probe(struct udevice *dev) { struct udevice *pch; @@ -219,8 +234,12 @@ static int bd82x6x_sata_probe(struct udevice *dev)
if (!(gd->flags & GD_FLG_RELOC)) bd82x6x_sata_enable(dev);
else
else { bd82x6x_sata_init(dev, pch);
ret = ahci_probe_scsi(dev);
if (ret)
return ret;
} return 0;
} @@ -234,5 +253,22 @@ U_BOOT_DRIVER(ahci_ivybridge_drv) = { .name = "ahci_ivybridge", .id = UCLASS_AHCI, .of_match = bd82x6x_ahci_ids,
.bind = bd82x6x_sata_bind, .probe = bd82x6x_sata_probe,
};
+static struct pci_device_id chromebook_ssd_supported[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_NM10_AHCI) },
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL,
PCI_DEVICE_ID_INTEL_COUGARPOINT_AHCI_MOBILE) },
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL,
PCI_DEVICE_ID_INTEL_COUGARPOINT_AHCI_SERIES6) },
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL,
PCI_DEVICE_ID_INTEL_PANTHERPOINT_AHCI_MOBILE) },
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_LYNXPOINT_AHCI) },
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL,
PCI_DEVICE_ID_INTEL_WILDCATPOINT_AHCI) },
{},
+};
Since AHCI is pretty generic, instead of providing device list filter, can we just use PCI class and sub-class for AHCI, like USB?
For Ivybridge specific stuff, we can call the low level initialization function as part of the SoC/platform initialization codes.
Actually this code should be dropped. I was experimenting with how to enable it generally (as you suggest). But we really need to do what you say but in a separate file.
The question I have is how to enable a sub-class to use this driver, since some devices will want to use ahci.c (i.e. SCSI-based) and some will have their own drivers. I'm not sure that we support finding more specific PCI drivers first.
Anyway I will respin this series with this patch updated and we can work it out from there.
Regards, Simon
participants (3)
-
Bin Meng
-
Simon Glass
-
Tom Rini