Merge https://gitlab.denx.de/u-boot/custodians/u-boot-mpc85xx
authorTom Rini <trini@konsulko.com>
Mon, 8 Jun 2020 12:51:59 +0000 (08:51 -0400)
committerTom Rini <trini@konsulko.com>
Mon, 8 Jun 2020 12:51:59 +0000 (08:51 -0400)
- DM_ETH support for P2041RDB, T1024RDB, P5040DS, P3041DS, P4080DS, bug
  fixes
- Add TBI PHY access through MII
- DDR: Rework errata workaround for A008109A008378, 009942

549 files changed:
.azure-pipelines.yml
.checkpatch.conf
MAINTAINERS
Makefile
README
arch/arm/dts/Makefile
arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi [new file with mode: 0644]
arch/arm/dts/rk3328-rock-pi-e.dts [new file with mode: 0644]
arch/arm/dts/rk3399-evb-u-boot.dtsi
arch/arm/dts/rk3399-puma-ddr1333-u-boot.dtsi [deleted file]
arch/arm/dts/rk3399-puma-ddr1333.dts [deleted file]
arch/arm/dts/rk3399-puma-ddr1600-u-boot.dtsi [deleted file]
arch/arm/dts/rk3399-puma-ddr1600.dts [deleted file]
arch/arm/dts/rk3399-puma-ddr1866-u-boot.dtsi [deleted file]
arch/arm/dts/rk3399-puma-ddr1866.dts [deleted file]
arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi [new file with mode: 0644]
arch/arm/dts/rk3399-puma-haikou.dts [new file with mode: 0644]
arch/arm/dts/rk3399-puma-u-boot.dtsi [deleted file]
arch/arm/dts/rk3399-puma.dtsi
arch/arm/dts/rk3399-roc-pc-u-boot.dtsi
arch/arm/dts/rk3399-rockpro64-u-boot.dtsi
arch/arm/dts/sama5d2.dtsi
arch/arm/include/asm/global_data.h
arch/arm/include/asm/system.h
arch/arm/mach-sunxi/dram_sunxi_dw.c
arch/riscv/Kconfig
arch/riscv/cpu/fu540/Kconfig [new file with mode: 0644]
arch/riscv/cpu/fu540/Makefile [new file with mode: 0644]
arch/riscv/cpu/fu540/cpu.c [new file with mode: 0644]
arch/riscv/cpu/fu540/dram.c [new file with mode: 0644]
arch/riscv/cpu/fu540/spl.c [new file with mode: 0644]
arch/riscv/cpu/u-boot-spl.lds
arch/riscv/dts/fu540-c000-u-boot.dtsi [new file with mode: 0644]
arch/riscv/dts/fu540-c000.dtsi
arch/riscv/dts/fu540-hifive-unleashed-a00-ddr.dtsi [new file with mode: 0644]
arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi
arch/riscv/dts/hifive-unleashed-a00.dts
arch/riscv/include/asm/arch-fu540/clk.h [new file with mode: 0644]
arch/riscv/include/asm/arch-fu540/gpio.h [new file with mode: 0644]
arch/riscv/include/asm/arch-fu540/spl.h [new file with mode: 0644]
arch/riscv/include/asm/sbi.h
arch/riscv/lib/sbi.c
board/amlogic/p200/README.nanopi-k2
board/amlogic/p200/README.odroid-c2
board/amlogic/p200/README.p200
board/amlogic/p201/README.p201
board/amlogic/p212/README.khadas-vim
board/amlogic/p212/README.libretech-ac
board/amlogic/p212/README.libretech-cc
board/amlogic/p212/README.p212
board/amlogic/q200/README.khadas-vim2
board/amlogic/q200/README.q200
board/amlogic/s400/README
board/amlogic/sei510/README
board/amlogic/sei610/README
board/amlogic/u200/README
board/amlogic/w400/README.khadas-vim3
board/amlogic/w400/README.khadas-vim3l
board/amlogic/w400/README.odroid-n2
board/amlogic/w400/README.w400
board/atmel/sama5d27_som1_ek/sama5d27_som1_ek.c
board/atmel/sama5d2_ptc_ek/sama5d2_ptc_ek.c
board/atmel/sama5d2_xplained/sama5d2_xplained.c
board/beacon/imx8mm/README
board/freescale/c29xpcie/README
board/freescale/p1010rdb/README.P1010RDB-PA
board/freescale/p1010rdb/README.P1010RDB-PB
board/logicpd/imx6/README
board/phytec/pfla02/pfla02.c
board/rockchip/evb_rk3229/README
board/rockchip/evb_rk3328/MAINTAINERS
board/rockchip/evb_rk3399/README
board/sifive/fu540/Kconfig
board/sifive/fu540/MAINTAINERS
board/sifive/fu540/Makefile
board/sifive/fu540/fu540.c
board/sifive/fu540/spl.c [new file with mode: 0644]
board/technexion/pico-imx7d/README.pico-imx7d_BL33
board/theobroma-systems/lion_rk3368/README
board/theobroma-systems/puma_rk3399/Kconfig
board/theobroma-systems/puma_rk3399/fit_spl_atf.sh [deleted file]
board/theobroma-systems/puma_rk3399/puma-rk3399.c
board/ti/am65x/README
board/ti/j721e/README
board/ti/ks2_evm/README
board/vamrs/rock960_rk3399/README
cmd/Kconfig
cmd/efidebug.c
cmd/fitupd.c
cmd/sf.c
common/image-android.c
common/spl/Kconfig
configs/am335x_pdu001_defconfig
configs/am335x_shc_defconfig
configs/am335x_shc_ict_defconfig
configs/am335x_shc_netboot_defconfig
configs/am335x_shc_sdboot_defconfig
configs/ap121_defconfig
configs/apalis-tk1_defconfig
configs/apalis_imx6_defconfig
configs/at91sam9260ek_dataflash_cs0_defconfig
configs/at91sam9260ek_dataflash_cs1_defconfig
configs/at91sam9260ek_nandflash_defconfig
configs/at91sam9261ek_dataflash_cs0_defconfig
configs/at91sam9261ek_dataflash_cs3_defconfig
configs/at91sam9261ek_nandflash_defconfig
configs/at91sam9263ek_dataflash_cs0_defconfig
configs/at91sam9263ek_dataflash_defconfig
configs/at91sam9263ek_nandflash_defconfig
configs/at91sam9263ek_norflash_boot_defconfig
configs/at91sam9263ek_norflash_defconfig
configs/at91sam9g10ek_dataflash_cs0_defconfig
configs/at91sam9g10ek_dataflash_cs3_defconfig
configs/at91sam9g10ek_nandflash_defconfig
configs/at91sam9g20ek_2mmc_defconfig
configs/at91sam9g20ek_2mmc_nandflash_defconfig
configs/at91sam9g20ek_dataflash_cs0_defconfig
configs/at91sam9g20ek_dataflash_cs1_defconfig
configs/at91sam9g20ek_nandflash_defconfig
configs/at91sam9m10g45ek_mmc_defconfig
configs/at91sam9m10g45ek_nandflash_defconfig
configs/at91sam9n12ek_mmc_defconfig
configs/at91sam9n12ek_nandflash_defconfig
configs/at91sam9n12ek_spiflash_defconfig
configs/at91sam9rlek_dataflash_defconfig
configs/at91sam9rlek_mmc_defconfig
configs/at91sam9rlek_nandflash_defconfig
configs/at91sam9x5ek_dataflash_defconfig
configs/at91sam9x5ek_mmc_defconfig
configs/at91sam9x5ek_nandflash_defconfig
configs/at91sam9x5ek_spiflash_defconfig
configs/at91sam9xeek_dataflash_cs0_defconfig
configs/at91sam9xeek_dataflash_cs1_defconfig
configs/at91sam9xeek_nandflash_defconfig
configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig
configs/axm_defconfig
configs/bayleybay_defconfig
configs/bcm7260_defconfig
configs/bcm7445_defconfig
configs/bitmain_antminer_s9_defconfig
configs/blanche_defconfig
configs/cherryhill_defconfig
configs/chromebook_coral_defconfig
configs/chromebook_link64_defconfig
configs/chromebook_link_defconfig
configs/chromebook_samus_defconfig
configs/chromebook_samus_tpl_defconfig
configs/chromebox_panther_defconfig
configs/cl-som-imx7_defconfig
configs/colibri_imx6_defconfig
configs/conga-qeval20-qa3-e3845-internal-uart_defconfig
configs/conga-qeval20-qa3-e3845_defconfig
configs/controlcenterdc_defconfig
configs/coreboot64_defconfig
configs/coreboot_defconfig
configs/cougarcanyon2_defconfig
configs/crownbay_defconfig
configs/crs305-1g-4s_defconfig
configs/deneb_defconfig
configs/dfi-bt700-q7x-151_defconfig
configs/dh_imx6_defconfig
configs/display5_defconfig
configs/display5_factory_defconfig
configs/ds109_defconfig
configs/efi-x86_app_defconfig
configs/efi-x86_payload32_defconfig
configs/efi-x86_payload64_defconfig
configs/firefly-rk3399_defconfig
configs/galileo_defconfig
configs/gardena-smart-gateway-at91sam_defconfig
configs/ge_bx50v3_defconfig
configs/giedi_defconfig
configs/gurnard_defconfig
configs/guruplug_defconfig
configs/gwventana_emmc_defconfig
configs/gwventana_gw5904_defconfig
configs/gwventana_nand_defconfig
configs/hsdk_4xd_defconfig
configs/hsdk_defconfig
configs/ib62x0_defconfig
configs/iconnect_defconfig
configs/imx6dl_mamoj_defconfig
configs/imx6qdl_icore_mipi_defconfig
configs/imx6qdl_icore_mmc_defconfig
configs/imx6qdl_icore_rqs_defconfig
configs/imx8mq_evk_defconfig
configs/imx8mq_phanbell_defconfig
configs/imx8qm_mek_defconfig
configs/imx8qm_rom7720_a1_4G_defconfig
configs/imx8qxp_mek_defconfig
configs/khadas-vim2_defconfig
configs/khadas-vim3_defconfig
configs/khadas-vim3l_defconfig
configs/khadas-vim_defconfig
configs/libretech-ac_defconfig
configs/libretech-cc_defconfig
configs/libretech-s905d-pc_defconfig
configs/libretech-s912-pc_defconfig
configs/ls1012a2g5rdb_qspi_defconfig
configs/ls1012a2g5rdb_tfa_defconfig
configs/ls1012afrdm_qspi_defconfig
configs/ls1012afrdm_tfa_defconfig
configs/ls1012afrwy_qspi_SECURE_BOOT_defconfig
configs/ls1012afrwy_qspi_defconfig
configs/ls1012afrwy_tfa_SECURE_BOOT_defconfig
configs/ls1012afrwy_tfa_defconfig
configs/ls1012aqds_qspi_defconfig
configs/ls1012aqds_tfa_SECURE_BOOT_defconfig
configs/ls1012aqds_tfa_defconfig
configs/ls1012ardb_qspi_SECURE_BOOT_defconfig
configs/ls1012ardb_qspi_defconfig
configs/ls1012ardb_tfa_SECURE_BOOT_defconfig
configs/ls1012ardb_tfa_defconfig
configs/ls1021aiot_qspi_defconfig
configs/ls1021aiot_sdcard_defconfig
configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig
configs/ls1043ardb_sdcard_defconfig
configs/ls1088aqds_defconfig
configs/ls1088aqds_qspi_SECURE_BOOT_defconfig
configs/ls1088aqds_qspi_defconfig
configs/ls1088aqds_sdcard_ifc_defconfig
configs/ls1088aqds_sdcard_qspi_defconfig
configs/ls1088aqds_tfa_defconfig
configs/ls1088ardb_qspi_SECURE_BOOT_defconfig
configs/ls1088ardb_qspi_defconfig
configs/ls1088ardb_sdcard_qspi_SECURE_BOOT_defconfig
configs/ls1088ardb_sdcard_qspi_defconfig
configs/ls1088ardb_tfa_SECURE_BOOT_defconfig
configs/ls1088ardb_tfa_defconfig
configs/mccmon6_nor_defconfig
configs/mccmon6_sd_defconfig
configs/minnowmax_defconfig
configs/mvebu_db-88f3720_defconfig
configs/mvebu_espressobin-88f3720_defconfig
configs/mx25pdk_defconfig
configs/mx53ppd_defconfig
configs/mx6memcal_defconfig
configs/mx6ul_14x14_evk_defconfig
configs/mx6ul_9x9_evk_defconfig
configs/mx7dsabresd_qspi_defconfig
configs/mx7ulp_com_defconfig
configs/mx7ulp_evk_defconfig
configs/mx7ulp_evk_plugin_defconfig
configs/nanopi-k2_defconfig
configs/nsa310s_defconfig
configs/odroid-c2_defconfig
configs/odroid-n2_defconfig
configs/p200_defconfig
configs/p201_defconfig
configs/p212_defconfig
configs/pfla02_defconfig
configs/pico-imx8mq_defconfig
configs/pine_h64_defconfig
configs/pinebook-pro-rk3399_defconfig
configs/pm9g45_defconfig
configs/puma-rk3399_defconfig
configs/pumpkin_defconfig
configs/qemu-x86_64_defconfig
configs/qemu-x86_defconfig
configs/roc-pc-mezzanine-rk3399_defconfig
configs/roc-pc-rk3399_defconfig
configs/rock-pi-e-rk3328_defconfig [new file with mode: 0644]
configs/rock960-rk3399_defconfig
configs/rockpro64-rk3399_defconfig
configs/rpi_4_32b_defconfig
configs/rpi_4_defconfig
configs/rpi_arm64_defconfig
configs/s32v234evb_defconfig
configs/s400_defconfig
configs/sam9x60ek_mmc_defconfig
configs/sam9x60ek_nandflash_defconfig
configs/sam9x60ek_qspiflash_defconfig
configs/sama5d27_som1_ek_mmc1_defconfig
configs/sama5d27_som1_ek_mmc_defconfig
configs/sama5d27_som1_ek_qspiflash_defconfig
configs/sama5d27_wlsom1_ek_mmc_defconfig
configs/sama5d27_wlsom1_ek_qspiflash_defconfig
configs/sama5d2_icp_mmc_defconfig
configs/sama5d2_ptc_ek_mmc_defconfig
configs/sama5d2_ptc_ek_nandflash_defconfig
configs/sama5d2_xplained_emmc_defconfig
configs/sama5d2_xplained_mmc_defconfig
configs/sama5d2_xplained_qspiflash_defconfig
configs/sama5d2_xplained_spiflash_defconfig
configs/sama5d36ek_cmp_mmc_defconfig
configs/sama5d36ek_cmp_nandflash_defconfig
configs/sama5d36ek_cmp_spiflash_defconfig
configs/sama5d3_xplained_mmc_defconfig
configs/sama5d3_xplained_nandflash_defconfig
configs/sama5d3xek_mmc_defconfig
configs/sama5d3xek_nandflash_defconfig
configs/sama5d3xek_spiflash_defconfig
configs/sama5d4_xplained_mmc_defconfig
configs/sama5d4_xplained_nandflash_defconfig
configs/sama5d4_xplained_spiflash_defconfig
configs/sama5d4ek_mmc_defconfig
configs/sama5d4ek_nandflash_defconfig
configs/sama5d4ek_spiflash_defconfig
configs/sandbox_defconfig
configs/sei510_defconfig
configs/sei610_defconfig
configs/sheevaplug_defconfig
configs/sifive_fu540_defconfig
configs/slimbootloader_defconfig
configs/snow_defconfig
configs/som-db5800-som-6867_defconfig
configs/somlabs_visionsom_6ull_defconfig
configs/spring_defconfig
configs/stih410-b2260_defconfig
configs/stm32f746-disco_defconfig
configs/stm32f769-disco_defconfig
configs/stm32h743-disco_defconfig
configs/stm32h743-eval_defconfig
configs/syzygy_hub_defconfig
configs/taurus_defconfig
configs/theadorable-x86-conga-qa3-e3845-pcie-x4_defconfig
configs/theadorable-x86-conga-qa3-e3845_defconfig
configs/theadorable-x86-dfi-bt700_defconfig
configs/thunderx_88xx_defconfig
configs/ti816x_evm_defconfig
configs/topic_miami_defconfig
configs/topic_miamilite_defconfig
configs/topic_miamiplus_defconfig
configs/tplink_wdr4300_defconfig
configs/turris_mox_defconfig
configs/u200_defconfig
configs/uDPU_defconfig
configs/vyasa-rk3288_defconfig
configs/wb45n_defconfig
configs/x530_defconfig
configs/xilinx_versal_mini_defconfig
configs/xilinx_versal_mini_emmc0_defconfig
configs/xilinx_versal_mini_emmc1_defconfig
configs/xilinx_versal_virt_defconfig
configs/xilinx_zynq_virt_defconfig
configs/xilinx_zynqmp_mini_defconfig
configs/xilinx_zynqmp_mini_emmc0_defconfig
configs/xilinx_zynqmp_mini_emmc1_defconfig
configs/xilinx_zynqmp_mini_nand_defconfig
configs/xilinx_zynqmp_mini_nand_single_defconfig
configs/xilinx_zynqmp_mini_qspi_defconfig
configs/xilinx_zynqmp_r5_defconfig
configs/xilinx_zynqmp_virt_defconfig
configs/zynq_cse_nand_defconfig
configs/zynq_cse_nor_defconfig
configs/zynq_cse_qspi_defconfig
doc/README.commands
doc/arch/m68k.rst
doc/board/actions/cubieboard7.rst
doc/board/rockchip/rockchip.rst
doc/board/sifive/fu540.rst
doc/board/toradex/colibri_imx7.rst
doc/driver-model/migration.rst
doc/uImage.FIT/beaglebone_vboot.txt
drivers/bootcount/Kconfig
drivers/clk/sifive/fu540-prci.c
drivers/input/Kconfig
drivers/misc/Kconfig
drivers/misc/Makefile
drivers/misc/sifive-otp.c [new file with mode: 0644]
drivers/mtd/nand/spi/toshiba.c
drivers/mtd/spi/sf-uclass.c
drivers/mtd/spi/sf_internal.h
drivers/mtd/spi/sf_probe.c
drivers/mtd/spi/spi-nor-core.c
drivers/mtd/spi/spi-nor-tiny.c
drivers/net/sun8i_emac.c
drivers/phy/allwinner/phy-sun4i-usb.c
drivers/ram/Kconfig
drivers/ram/Makefile
drivers/ram/sifive/Kconfig [new file with mode: 0644]
drivers/ram/sifive/Makefile [new file with mode: 0644]
drivers/ram/sifive/fu540_ddr.c [new file with mode: 0644]
drivers/serial/Kconfig
drivers/spi/Kconfig
drivers/spi/Makefile
drivers/spi/cf_spi.c
drivers/spi/kirkwood_spi.c
drivers/spi/sh_spi.c [deleted file]
drivers/spi/sh_spi.h [deleted file]
drivers/usb/Kconfig
drivers/usb/host/ohci.h
drivers/virtio/Kconfig
env/sf.c
include/configs/M5249EVB.h
include/configs/M5253DEMO.h
include/configs/M5272C3.h
include/configs/M5282EVB.h
include/configs/MPC8308RDB.h
include/configs/MPC8313ERDB_NAND.h
include/configs/MPC8313ERDB_NOR.h
include/configs/MPC8315ERDB.h
include/configs/MPC8323ERDB.h
include/configs/MPC832XEMDS.h
include/configs/MPC8349EMDS.h
include/configs/MPC8349EMDS_SDRAM.h
include/configs/MPC837XEMDS.h
include/configs/MPC837XERDB.h
include/configs/MPC8540ADS.h
include/configs/MPC8610HPCD.h
include/configs/P2041RDB.h
include/configs/T4240RDB.h
include/configs/am335x_shc.h
include/configs/am57xx_evm.h
include/configs/apalis-tk1.h
include/configs/apalis_imx6.h
include/configs/aspenite.h
include/configs/astro_mcf5373l.h
include/configs/at91-sama5_common.h
include/configs/at91rm9200ek.h
include/configs/bcm7260.h
include/configs/bcmstb.h
include/configs/blanche.h
include/configs/caddy2.h
include/configs/capricorn-common.h
include/configs/ci20.h
include/configs/cl-som-imx7.h
include/configs/clearfog.h
include/configs/cobra5272.h
include/configs/colibri_imx6.h
include/configs/controlcenterd.h
include/configs/controlcenterdc.h
include/configs/db-88f6720.h
include/configs/db-88f6820-amc.h
include/configs/db-88f6820-gp.h
include/configs/dh_imx6.h
include/configs/display5.h
include/configs/dns325.h
include/configs/dra7xx_evm.h
include/configs/dreamplug.h
include/configs/ds109.h
include/configs/ds414.h
include/configs/eb_cpu5282.h
include/configs/edminiv2.h
include/configs/ge_bx50v3.h
include/configs/goflexhome.h
include/configs/gplugd.h
include/configs/guruplug.h
include/configs/gw_ventana.h
include/configs/helios4.h
include/configs/highbank.h
include/configs/hikey.h
include/configs/hrcon.h
include/configs/hsdk-4xd.h
include/configs/hsdk.h
include/configs/ib62x0.h
include/configs/iconnect.h
include/configs/imx6-engicam.h
include/configs/imx6dl-mamoj.h
include/configs/imx8mq_evk.h
include/configs/imx8mq_phanbell.h
include/configs/imx8qm_mek.h
include/configs/imx8qm_rom7720.h
include/configs/imx8qxp_mek.h
include/configs/integratorap.h
include/configs/integratorcp.h
include/configs/ls1012a2g5rdb.h
include/configs/ls1012afrdm.h
include/configs/ls1012afrwy.h
include/configs/ls1012aqds.h
include/configs/ls1012ardb.h
include/configs/ls1021aiot.h
include/configs/ls1028aqds.h
include/configs/ls1028ardb.h
include/configs/ls1043a_common.h
include/configs/ls1043ardb.h
include/configs/ls1046a_common.h
include/configs/ls1088a_common.h
include/configs/ls1088aqds.h
include/configs/ls1088ardb.h
include/configs/ls2080a_common.h
include/configs/lsxl.h
include/configs/maxbcm.h
include/configs/mccmon6.h
include/configs/mpc8308_p1m.h
include/configs/mx25pdk.h
include/configs/mx53ppd.h
include/configs/mx6memcal.h
include/configs/mx7ulp_com.h
include/configs/mx7ulp_evk.h
include/configs/nas220.h
include/configs/nsa310s.h
include/configs/openrd.h
include/configs/pdu001.h
include/configs/pfla02.h
include/configs/pico-imx8mq.h
include/configs/picosam9g45.h
include/configs/pogo_e02.h
include/configs/poplar.h
include/configs/qemu-mips.h
include/configs/qemu-mips64.h
include/configs/qemu-ppce500.h
include/configs/roc-pc-rk3399.h
include/configs/rockpro64_rk3399.h
include/configs/s32v234evb.h
include/configs/sama5d27_som1_ek.h
include/configs/sama5d2_icp.h
include/configs/sandbox.h
include/configs/sbc8349.h
include/configs/sheevaplug.h
include/configs/sifive-fu540.h
include/configs/snapper9g45.h
include/configs/somlabs_visionsom_6ull.h
include/configs/stih410-b2260.h
include/configs/stm32f429-discovery.h
include/configs/stm32f429-evaluation.h
include/configs/stm32f469-discovery.h
include/configs/stm32f746-disco.h
include/configs/stm32h743-disco.h
include/configs/stm32h743-eval.h
include/configs/strider.h
include/configs/t4qds.h
include/configs/tb100.h
include/configs/theadorable-x86-common.h
include/configs/theadorable.h
include/configs/ti816x_evm.h
include/configs/topic_miami.h
include/configs/tplink_wdr4300.h
include/configs/ve8313.h
include/configs/vme8349.h
include/configs/vyasa-rk3288.h
include/configs/wb45n.h
include/configs/x530.h
include/configs/x86-common.h
include/configs/xilinx_versal.h
include/configs/xilinx_versal_mini.h
include/configs/xilinx_zynqmp.h
include/configs/xilinx_zynqmp_mini.h
include/configs/zmx25.h
include/configs/zynq-common.h
include/configs/zynq_cse.h
include/efi_loader.h
include/linux/dma-mapping.h
include/spi_flash.h
lib/Kconfig
lib/Makefile
lib/efi_loader/efi_bootmgr.c
lib/efi_loader/efi_boottime.c
lib/efi_loader/efi_console.c
lib/efi_loader/efi_image_loader.c
lib/efi_loader/efi_signature.c
lib/efi_loader/efi_variable.c
lib/smbios.c
scripts/checkpatch.pl
scripts/config_whitelist.txt
test/dm/sf.c
test/py/conftest.py
tools/env/fw_env.c
tools/fit_image.c

index 88438e77a1fccd3c3e7a51620e12ca2480ee5604..636500d6cead910a46ff4f758d7152d8ad3f0c81 100644 (file)
@@ -1,6 +1,7 @@
 variables:
   windows_vm: vs2017-win2016
   ubuntu_vm: ubuntu-18.04
+  macos_vm: macOS-10.15
   ci_runner_image: trini/u-boot-gitlab-ci-runner:bionic-20200403-27Apr2020
   # Add '-u 0' options for Azure pipelines, otherwise we get "permission
   # denied" error when it tries to "useradd -m -u 1001 vsts_azpcontainer",
@@ -44,6 +45,20 @@ jobs:
           # Tell MSYS2 not to â€˜cd’ our startup directory to HOME
           CHERE_INVOKING: yes
 
+  - job: tools_only_macOS
+    displayName: 'Ensure host tools build for macOS X'
+    pool:
+      vmImage: $(macos_vm)
+    steps:
+      - script: brew install make
+        displayName: Brew install dependencies
+      - script: |
+          gmake tools-only_config tools-only NO_SDL=1 \
+            HOSTCFLAGS="-I/usr/local/opt/openssl@1.1/include" \
+            HOSTLDFLAGS="-L/usr/local/opt/openssl@1.1/lib" \
+            -j$(sysctl -n hw.logicalcpu)
+        displayName: 'Perform tools-only build'
+
   - job: cppcheck
     displayName: 'Static code analysis with cppcheck'
     pool:
index 95f19635d35a38fba1538d42a7ab138f7fcf0ff3..ed0c2150ba8cb4e608b13047d1b25ef144732f2e 100644 (file)
@@ -28,3 +28,6 @@
 
 # A bit shorter of a description is OK with us.
 --min-conf-desc-length=2
+
+# Extra checks for U-Boot
+--u-boot
index 9da0459bf747a2cddb88bfa299aee65b80b4f432..1fd975c72f0bdb031c0b362e276017988e380c0c 100644 (file)
@@ -275,6 +275,7 @@ M:  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
 S:     Maintained
 F:     arch/arm/include/asm/arch-owl/
 F:     arch/arm/mach-owl/
+F:     doc/board/actions/
 F:     drivers/clk/owl/
 F:     drivers/serial/serial_owl.c
 F:     include/configs/owl-common.h
@@ -590,6 +591,7 @@ M:  Angelo Dureghello <angelo@sysam.it>
 S:     Maintained
 T:     git https://gitlab.denx.de/u-boot/custodians/u-boot-coldfire.git
 F:     arch/m68k/
+F:     doc/arch/m68k.rst
 
 DFU
 M:     Lukasz Majewski <lukma@denx.de>
index 3851dd9fa02329305baa9f4ae18c7e81bf88284f..db3b6b9991fa39c67d3abf0efdaac49df1c302d1 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1438,22 +1438,15 @@ u-boot-with-spl.bin: $(SPL_IMAGE) $(SPL_PAYLOAD) FORCE
 
 ifeq ($(CONFIG_ARCH_ROCKCHIP),y)
 
-# rockchip image type
-ifeq ($(CONFIG_SPL_SPI_LOAD),y)
-ROCKCHIP_IMG_TYPE := rkspi
-else
-ROCKCHIP_IMG_TYPE := rksd
-endif
-
 # TPL + SPL
 ifeq ($(CONFIG_SPL)$(CONFIG_TPL),yy)
-MKIMAGEFLAGS_u-boot-tpl-rockchip.bin = -n $(CONFIG_SYS_SOC) -T $(ROCKCHIP_IMG_TYPE)
+MKIMAGEFLAGS_u-boot-tpl-rockchip.bin = -n $(CONFIG_SYS_SOC) -T rksd
 tpl/u-boot-tpl-rockchip.bin: tpl/u-boot-tpl.bin FORCE
        $(call if_changed,mkimage)
 idbloader.img: tpl/u-boot-tpl-rockchip.bin spl/u-boot-spl.bin FORCE
        $(call if_changed,cat)
 else
-MKIMAGEFLAGS_idbloader.img = -n $(CONFIG_SYS_SOC) -T $(ROCKCHIP_IMG_TYPE)
+MKIMAGEFLAGS_idbloader.img = -n $(CONFIG_SYS_SOC) -T rksd
 idbloader.img: spl/u-boot-spl.bin FORCE
        $(call if_changed,mkimage)
 endif
diff --git a/README b/README
index 17dc0ee33ba23d18f504de11fb5106f91aa328fa..bcf19836311143bc93f18af744beaac0e29c4651 100644 (file)
--- a/README
+++ b/README
@@ -1330,21 +1330,6 @@ The following options need to be configured:
                can be displayed via the splashscreen support or the
                bmp command.
 
-- Compression support:
-               CONFIG_GZIP
-
-               Enabled by default to support gzip compressed images.
-
-               CONFIG_BZIP2
-
-               If this option is set, support for bzip2 compressed
-               images is included. If not, only uncompressed and gzip
-               compressed images are supported.
-
-               NOTE: the bzip2 algorithm requires a lot of RAM, so
-               the malloc area (as defined by CONFIG_SYS_MALLOC_LEN) should
-               be at least 4MB.
-
 - MII/PHY support:
                CONFIG_PHY_CLOCK_FREQ (ppc4xx)
 
@@ -1567,14 +1552,6 @@ The following options need to be configured:
 
                This enable the NEW i2c subsystem, and will allow you to use
                i2c commands at the u-boot command line (as long as you set
-               CONFIG_CMD_I2C in CONFIG_COMMANDS) and communicate with i2c
-               based realtime clock chips or other i2c devices. See
-               common/cmd_i2c.c for a description of the command line
-               interface.
-
-               ported i2c driver to the new framework:
-               - drivers/i2c/soft_i2c.c:
-                 - activate first bus with CONFIG_SYS_I2C_SOFT define
                    CONFIG_SYS_I2C_SOFT_SPEED and CONFIG_SYS_I2C_SOFT_SLAVE
                    for defining speed and slave address
                  - activate second bus with I2C_SOFT_DECLARATIONS2 define
index c6af87cf5e89221ec853fd69644e04b6e4877d46..9900b44274122537d7427022b079c1bebd195d49 100644 (file)
@@ -107,7 +107,8 @@ dtb-$(CONFIG_ROCKCHIP_RK3308) += \
 dtb-$(CONFIG_ROCKCHIP_RK3328) += \
        rk3328-evb.dtb \
        rk3328-roc-cc.dtb \
-       rk3328-rock64.dtb
+       rk3328-rock64.dtb \
+       rk3328-rock-pi-e.dtb
 
 dtb-$(CONFIG_ROCKCHIP_RK3368) += \
        rk3368-lion.dtb \
@@ -130,9 +131,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \
        rk3399-nanopi-neo4.dtb \
        rk3399-orangepi.dtb \
        rk3399-pinebook-pro.dtb \
-       rk3399-puma-ddr1333.dtb \
-       rk3399-puma-ddr1600.dtb \
-       rk3399-puma-ddr1866.dtb \
+       rk3399-puma-haikou.dtb \
        rk3399-roc-pc.dtb \
        rk3399-roc-pc-mezzanine.dtb \
        rk3399-rock-pi-4.dtb \
diff --git a/arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi b/arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi
new file mode 100644 (file)
index 0000000..bf5b1f3
--- /dev/null
@@ -0,0 +1,33 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * (C) Copyright 2020 Radxa
+ */
+
+#include "rk3328-u-boot.dtsi"
+#include "rk3328-sdram-ddr3-666.dtsi"
+
+&gpio0 {
+       u-boot,dm-spl;
+};
+
+&pinctrl {
+       u-boot,dm-spl;
+};
+
+&sdmmc0m1_gpio {
+       u-boot,dm-spl;
+};
+
+&pcfg_pull_up_4ma {
+       u-boot,dm-spl;
+};
+
+&usb_host0_xhci {
+       vbus-supply = <&vcc5v0_host_xhci>;
+       status = "okay";
+};
+
+/* Need this and all the pinctrl/gpio stuff above to set pinmux */
+&vcc_sd {
+       u-boot,dm-spl;
+};
diff --git a/arch/arm/dts/rk3328-rock-pi-e.dts b/arch/arm/dts/rk3328-rock-pi-e.dts
new file mode 100644 (file)
index 0000000..4b9f9a8
--- /dev/null
@@ -0,0 +1,267 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * (C) Copyright 2020 Radxa
+ */
+
+/dts-v1/;
+#include "rk3328.dtsi"
+
+/ {
+       model = "Radxa Rockpi E";
+       compatible = "radxa,rock-pi-e", "rockchip,rk3328";
+
+       chosen {
+       stdout-path = "serial2:1500000n8";
+       };
+
+       gmac_clkin: external-gmac-clock {
+       compatible = "fixed-clock";
+       clock-frequency = <125000000>;
+       clock-output-names = "gmac_clkin";
+       #clock-cells = <0>;
+       };
+
+       vcc_sd: sdmmc-regulator {
+       compatible = "regulator-fixed";
+       gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sdmmc0m1_gpio>;
+       regulator-name = "vcc_sd";
+       regulator-always-on;
+       regulator-boot-on;
+       regulator-min-microvolt = <3300000>;
+       regulator-max-microvolt = <3300000>;
+       vin-supply = <&vcc_io>;
+       };
+
+       vcc5v0_host_xhci: vcc5v0-host-xhci-drv {
+       compatible = "regulator-fixed";
+       enable-active-high;
+       regulator-name = "vcc5v0_host_xhci";
+       gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_HIGH>;
+       regulator-min-microvolt = <5000000>;
+       regulator-max-microvolt = <5000000>;
+       };
+
+       vcc_sys: vcc-sys {
+       compatible = "regulator-fixed";
+       regulator-name = "vcc_sys";
+       regulator-always-on;
+       regulator-boot-on;
+       regulator-min-microvolt = <5000000>;
+       regulator-max-microvolt = <5000000>;
+       };
+};
+
+&cpu0 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&cpu1 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&cpu2 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&cpu3 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&emmc {
+       bus-width = <8>;
+       cap-mmc-highspeed;
+       mmc-hs200-1_8v;
+       supports-emmc;
+       disable-wp;
+       non-removable;
+       num-slots = <1>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
+       vmmc-supply = <&vcc_io>;
+       vqmmc-supply = <&vcc18_emmc>;
+       status = "okay";
+};
+
+&gmac2io {
+       assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
+       assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
+       clock_in_out = "input";
+       phy-supply = <&vcc_io>;
+       phy-mode = "rgmii";
+       pinctrl-names = "default";
+       pinctrl-0 = <&rgmiim1_pins>;
+       snps,force_thresh_dma_mode;
+       snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
+       snps,reset-active-low;
+       snps,reset-delays-us = <0 10000 50000>;
+       tx_delay = <0x26>;
+       rx_delay = <0x11>;
+       status = "okay";
+};
+
+&i2c1 {
+       status = "okay";
+
+       rk805: rk805@18 {
+       compatible = "rockchip,rk805";
+       status = "okay";
+       reg = <0x18>;
+       interrupt-parent = <&gpio2>;
+       interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
+       #clock-cells = <1>;
+       clock-output-names = "xin32k", "rk805-clkout2";
+       pinctrl-names = "default";
+       pinctrl-0 = <&pmic_int_l>;
+       rockchip,system-power-controller;
+       wakeup-source;
+
+       vcc1-supply = <&vcc_sys>;
+       vcc2-supply = <&vcc_sys>;
+       vcc3-supply = <&vcc_sys>;
+       vcc4-supply = <&vcc_sys>;
+       vcc5-supply = <&vcc_io>;
+       vcc6-supply = <&vcc_sys>;
+
+       regulators {
+       vdd_logic: DCDC_REG1 {
+       regulator-name = "vdd_logic";
+       regulator-min-microvolt = <712500>;
+       regulator-max-microvolt = <1450000>;
+       regulator-ramp-delay = <12500>;
+       regulator-always-on;
+       regulator-boot-on;
+       regulator-state-mem {
+       regulator-on-in-suspend;
+       regulator-suspend-microvolt = <1000000>;
+       };
+       };
+
+       vdd_arm: DCDC_REG2 {
+       regulator-name = "vdd_arm";
+       regulator-min-microvolt = <712500>;
+       regulator-max-microvolt = <1450000>;
+       regulator-ramp-delay = <12500>;
+       regulator-always-on;
+       regulator-boot-on;
+       regulator-state-mem {
+       regulator-on-in-suspend;
+       regulator-suspend-microvolt = <950000>;
+       };
+       };
+
+       vcc_ddr: DCDC_REG3 {
+       regulator-name = "vcc_ddr";
+       regulator-always-on;
+       regulator-boot-on;
+       regulator-state-mem {
+       regulator-on-in-suspend;
+       };
+       };
+
+       vcc_io: DCDC_REG4 {
+       regulator-name = "vcc_io";
+       regulator-min-microvolt = <3300000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-always-on;
+       regulator-boot-on;
+       regulator-state-mem {
+       regulator-on-in-suspend;
+       regulator-suspend-microvolt = <3300000>;
+       };
+       };
+
+       vcc_18: LDO_REG1 {
+       regulator-name = "vcc_18";
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-always-on;
+       regulator-boot-on;
+       regulator-state-mem {
+       regulator-on-in-suspend;
+       regulator-suspend-microvolt = <1800000>;
+       };
+       };
+
+       vcc18_emmc: LDO_REG2 {
+       regulator-name = "vcc18_emmc";
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-always-on;
+       regulator-boot-on;
+       regulator-state-mem {
+       regulator-on-in-suspend;
+       regulator-suspend-microvolt = <1800000>;
+       };
+       };
+
+       vdd_10: LDO_REG3 {
+       regulator-name = "vdd_10";
+       regulator-min-microvolt = <1000000>;
+       regulator-max-microvolt = <1000000>;
+       regulator-always-on;
+       regulator-boot-on;
+       regulator-state-mem {
+       regulator-on-in-suspend;
+       regulator-suspend-microvolt = <1000000>;
+       };
+       };
+       };
+       };
+};
+
+&io_domains {
+       status = "okay";
+
+       vccio1-supply = <&vcc_io>;
+       vccio2-supply = <&vcc18_emmc>;
+       vccio3-supply = <&vcc_io>;
+       vccio4-supply = <&vcc_io>;
+       vccio5-supply = <&vcc_io>;
+       vccio6-supply = <&vcc_io>;
+       pmuio-supply = <&vcc_io>;
+};
+
+&pinctrl {
+       pmic {
+       pmic_int_l: pmic-int-l {
+       rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
+       };
+       };
+};
+
+&sdmmc {
+       bus-width = <4>;
+       cap-mmc-highspeed;
+       cap-sd-highspeed;
+       card-detect-delay = <200>;
+       disable-wp;
+       max-frequency = <150000000>;
+       num-slots = <1>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
+       supports-sd;
+       vmmc-supply = <&vcc_sd>;
+       status = "okay";
+};
+
+&saradc {
+       status = "okay";
+};
+
+&uart2 {
+       status = "okay";
+};
+
+&usb20_otg {
+       status = "okay";
+};
+
+&usb_host0_ehci {
+       status = "okay";
+};
+
+&usb_host0_ohci {
+       status = "okay";
+};
index c42bd2856f6b6f4378784e9c3b2a1f496b640bd4..1be54feacc0e9c931beb25cfdf487a9c8f4db70e 100644 (file)
@@ -8,6 +8,7 @@
 
 / {
        chosen {
+               stdout-path = "serial2:1500000n8";
                u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc;
        };
 };
diff --git a/arch/arm/dts/rk3399-puma-ddr1333-u-boot.dtsi b/arch/arm/dts/rk3399-puma-ddr1333-u-boot.dtsi
deleted file mode 100644 (file)
index 39d3927..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-
-#include "rk3399-puma-u-boot.dtsi"
-#include "rk3399-sdram-ddr3-1333.dtsi"
diff --git a/arch/arm/dts/rk3399-puma-ddr1333.dts b/arch/arm/dts/rk3399-puma-ddr1333.dts
deleted file mode 100644 (file)
index 80f2769..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+ OR X11
-/*
- * (C) Copyright 2017 Theobroma Systems Design und Consulting GmbH
- */
-
-/dts-v1/;
-
-#include "rk3399-puma.dtsi"
diff --git a/arch/arm/dts/rk3399-puma-ddr1600-u-boot.dtsi b/arch/arm/dts/rk3399-puma-ddr1600-u-boot.dtsi
deleted file mode 100644 (file)
index be58311..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-
-#include "rk3399-puma-u-boot.dtsi"
-#include "rk3399-sdram-ddr3-1600.dtsi"
diff --git a/arch/arm/dts/rk3399-puma-ddr1600.dts b/arch/arm/dts/rk3399-puma-ddr1600.dts
deleted file mode 100644 (file)
index cb76b01..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+ OR X11
-/*
- * (C) Copyright 2017 Theobroma Systems Design und Consulting GmbH
- */
-
-/dts-v1/;
-
-#include "rk3399-puma.dtsi"
-#include "rk3399-u-boot.dtsi"
diff --git a/arch/arm/dts/rk3399-puma-ddr1866-u-boot.dtsi b/arch/arm/dts/rk3399-puma-ddr1866-u-boot.dtsi
deleted file mode 100644 (file)
index 48da076..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-
-#include "rk3399-puma-u-boot.dtsi"
-#include "rk3399-sdram-ddr3-1866.dtsi"
diff --git a/arch/arm/dts/rk3399-puma-ddr1866.dts b/arch/arm/dts/rk3399-puma-ddr1866.dts
deleted file mode 100644 (file)
index 80f2769..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+ OR X11
-/*
- * (C) Copyright 2017 Theobroma Systems Design und Consulting GmbH
- */
-
-/dts-v1/;
-
-#include "rk3399-puma.dtsi"
diff --git a/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi b/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi
new file mode 100644 (file)
index 0000000..29846c4
--- /dev/null
@@ -0,0 +1,64 @@
+// SPDX-License-Identifier: GPL-2.0+
+
+#include "rk3399-u-boot.dtsi"
+
+#ifdef CONFIG_TARGET_PUMA_RK3399_RAM_DDR3_1333
+#include "rk3399-sdram-ddr3-1333.dtsi"
+#endif
+#ifdef CONFIG_TARGET_PUMA_RK3399_RAM_DDR3_1600
+#include "rk3399-sdram-ddr3-1600.dtsi"
+#endif
+#ifdef CONFIG_TARGET_PUMA_RK3399_RAM_DDR3_1866
+#include "rk3399-sdram-ddr3-1866.dtsi"
+#endif
+
+/ {
+       config {
+               u-boot,spl-payload-offset = <0x40000>; /* @ 256KB */
+               u-boot,mmc-env-offset = <0x4000>;      /* @  16KB */
+               u-boot,efi-partition-entries-offset = <0x200000>; /* 2MB */
+               u-boot,boot-led = "module_led";
+               sysreset-gpio = <&gpio1 RK_PA6 GPIO_ACTIVE_HIGH>;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+               u-boot,spl-boot-order = \
+                       "same-as-spl", &norflash, &sdhci, &sdmmc;
+       };
+
+       aliases {
+               spi0 = &spi1;
+               spi1 = &spi5;
+       };
+
+       /*
+        * The Qseven BIOS_DISABLE signal on the RK3399-Q7 keeps the on-module
+        * eMMC and SPI flash powered-down initially (in fact it keeps the
+        * reset signal asserted).  Even though it is an enable signal, we
+        * model this as a regulator.
+        */
+       bios_enable: bios_enable {
+               compatible = "regulator-fixed";
+               u-boot,dm-pre-reloc;
+               regulator-name = "bios_enable";
+               enable-active-high;
+               gpio = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>;
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+       };
+};
+
+&gpio1 {
+       u-boot,dm-pre-reloc;
+};
+
+&gpio3 {
+       u-boot,dm-pre-reloc;
+};
+
+&norflash {
+       u-boot,dm-pre-reloc;
+};
diff --git a/arch/arm/dts/rk3399-puma-haikou.dts b/arch/arm/dts/rk3399-puma-haikou.dts
new file mode 100644 (file)
index 0000000..d80d6b7
--- /dev/null
@@ -0,0 +1,271 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2017 Theobroma Systems Design und Consulting GmbH
+ */
+
+/dts-v1/;
+#include "rk3399-puma.dtsi"
+
+/ {
+       model = "Theobroma Systems RK3399-Q7 SoM";
+       compatible = "tsd,rk3399-puma-haikou", "rockchip,rk3399";
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       leds {
+               pinctrl-0 = <&led_pin_module>, <&led_sd_haikou>;
+
+               sd-card-led {
+                       label = "sd_card_led";
+                       gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "mmc0";
+               };
+       };
+
+       i2s0-sound {
+               compatible = "simple-audio-card";
+               simple-audio-card,format = "i2s";
+               simple-audio-card,name = "Haikou,I2S-codec";
+               simple-audio-card,mclk-fs = <512>;
+
+               simple-audio-card,codec {
+                       clocks = <&sgtl5000_clk>;
+                       sound-dai = <&sgtl5000>;
+               };
+
+               simple-audio-card,cpu {
+                       bitclock-master;
+                       frame-master;
+                       sound-dai = <&i2s0>;
+               };
+       };
+
+       sgtl5000_clk: sgtl5000-oscillator  {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency  = <24576000>;
+       };
+
+       dc_12v: dc-12v {
+               compatible = "regulator-fixed";
+               regulator-name = "dc_12v";
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <12000000>;
+               regulator-max-microvolt = <12000000>;
+       };
+
+       vcc3v3_baseboard: vcc3v3-baseboard {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc3v3_baseboard";
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               vin-supply = <&dc_12v>;
+       };
+
+       vcc5v0_baseboard: vcc5v0-baseboard {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc5v0_baseboard";
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               vin-supply = <&dc_12v>;
+       };
+
+       vcc5v0_otg: vcc5v0-otg-regulator {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&otg_vbus_drv>;
+               regulator-name = "vcc5v0_otg";
+               regulator-always-on;
+       };
+
+       vdda_codec: vdda-codec {
+               compatible = "regulator-fixed";
+               regulator-name = "vdda_codec";
+               regulator-boot-on;
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               vin-supply = <&vcc5v0_baseboard>;
+       };
+
+       vddd_codec: vddd-codec {
+               compatible = "regulator-fixed";
+               regulator-name = "vddd_codec";
+               regulator-boot-on;
+               regulator-min-microvolt = <1600000>;
+               regulator-max-microvolt = <1600000>;
+               vin-supply = <&vcc5v0_baseboard>;
+       };
+};
+
+&hdmi {
+       ddc-i2c-bus = <&i2c3>;
+       status = "okay";
+};
+
+&i2c1 {
+       status = "okay";
+       clock-frequency = <400000>;
+};
+
+&i2c2 {
+       status = "okay";
+       clock-frequency = <400000>;
+};
+
+&i2c3 {
+       i2c-scl-rising-time-ns = <450>;
+       i2c-scl-falling-time-ns = <15>;
+       status = "okay";
+};
+
+&i2c4 {
+       status = "okay";
+       clock-frequency = <400000>;
+
+       sgtl5000: codec@a {
+               compatible = "fsl,sgtl5000";
+               reg = <0x0a>;
+               clocks = <&sgtl5000_clk>;
+               #sound-dai-cells = <0>;
+               VDDA-supply = <&vdda_codec>;
+               VDDIO-supply = <&vdda_codec>;
+               VDDD-supply = <&vddd_codec>;
+               status = "okay";
+       };
+};
+
+&i2c6 {
+       status = "okay";
+       clock-frequency = <400000>;
+};
+
+&pcie_phy {
+       status = "okay";
+};
+
+&pcie0 {
+       ep-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>;
+       num-lanes = <4>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pcie_clkreqn_cpm>;
+       status = "okay";
+};
+
+&pinctrl {
+       pinctrl-names = "default";
+       pinctrl-0 = <&haikou_pin_hog>;
+
+       hog {
+               haikou_pin_hog: haikou-pin-hog {
+                       rockchip,pins =
+                         /* LID_BTN */
+                         <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
+                         /* BATLOW# */
+                         <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
+                         /* SLP_BTN# */
+                         <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>,
+                         /* BIOS_DISABLE# */
+                         <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
+               };
+       };
+
+       leds {
+               led_sd_haikou: led-sd-gpio {
+                       rockchip,pins =
+                         <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
+       usb2 {
+               otg_vbus_drv: otg-vbus-drv {
+                       rockchip,pins =
+                         <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+};
+
+&pwm0 {
+       status = "okay";
+};
+
+&sdmmc {
+       bus-width = <4>;
+       cap-mmc-highspeed;
+       cap-sd-highspeed;
+       cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
+       disable-wp;
+       max-frequency = <150000000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
+       vmmc-supply = <&vcc3v3_baseboard>;
+       status = "okay";
+};
+
+&spi5 {
+       status = "okay";
+};
+
+&tcphy0 {
+       status = "okay";
+};
+
+&u2phy0 {
+       status = "okay";
+};
+
+&usbdrd3_0 {
+       status = "okay";
+};
+
+&usbdrd_dwc3_0 {
+       dr_mode = "otg";
+       status = "okay";
+};
+
+&u2phy0_host {
+       phy-supply = <&vcc5v0_otg>;
+       status = "okay";
+};
+
+&uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
+       status = "okay";
+};
+
+&uart2 {
+       status = "okay";
+};
+
+&usb_host0_ehci {
+       status = "okay";
+};
+
+&usb_host0_ohci {
+       status = "okay";
+};
+
+&vopb {
+       status = "okay";
+};
+
+&vopb_mmu {
+       status = "okay";
+};
+
+&vopl {
+       status = "okay";
+};
+
+&vopl_mmu {
+       status = "okay";
+};
diff --git a/arch/arm/dts/rk3399-puma-u-boot.dtsi b/arch/arm/dts/rk3399-puma-u-boot.dtsi
deleted file mode 100644 (file)
index 3ad1139..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-
-#include "rk3399-u-boot.dtsi"
-/ {
-       config {
-               u-boot,spl-payload-offset = <0x40000>; /* @ 256KB */
-               u-boot,mmc-env-offset = <0x4000>;      /* @  16KB */
-               u-boot,efi-partition-entries-offset = <0x200000>; /* 2MB */
-               u-boot,boot-led = "module_led";
-               sysreset-gpio = <&gpio1 RK_PA6 GPIO_ACTIVE_HIGH>;
-       };
-
-       chosen {
-               stdout-path = "serial0:115200n8";
-               u-boot,spl-boot-order = \
-                       "same-as-spl", &norflash, &sdhci, &sdmmc;
-       };
-
-       aliases {
-               spi0 = &spi1;
-               spi1 = &spi5;
-       };
-
-       /*
-        * The Qseven BIOS_DISABLE signal on the RK3399-Q7 keeps the on-module
-        * eMMC and SPI flash powered-down initially (in fact it keeps the
-        * reset signal asserted).  Even though it is an enable signal, we
-        * model this as a regulator.
-        */
-       bios_enable: bios_enable {
-               compatible = "regulator-fixed";
-               u-boot,dm-pre-reloc;
-               regulator-name = "bios_enable";
-               enable-active-high;
-               gpio = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>;
-               regulator-always-on;
-               regulator-boot-on;
-               regulator-min-microvolt = <1800000>;
-               regulator-max-microvolt = <1800000>;
-       };
-};
-
-&gpio1 {
-       u-boot,dm-pre-reloc;
-};
-
-&gpio3 {
-       u-boot,dm-pre-reloc;
-};
-
-&norflash {
-       u-boot,dm-pre-reloc;
-};
index 07694b196fdbedcfb9f0171ebb52fd598589f5cc..72c06abd27ea7f18669995a0a10793f728afb72a 100644 (file)
 
        vcc5v0_host: vcc5v0-host-regulator {
                compatible = "regulator-fixed";
-               gpio = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>;
+               gpio = <&gpio4 RK_PA3 GPIO_ACTIVE_LOW>;
                enable-active-low;
                pinctrl-names = "default";
                pinctrl-0 = <&vcc5v0_host_en>;
        phy-mode = "rgmii";
        pinctrl-names = "default";
        pinctrl-0 = <&rgmii_pins>;
-       snps,reset-gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>;
+       snps,reset-gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>;
        snps,reset-active-low;
        snps,reset-delays-us = <0 10000 50000>;
        tx_delay = <0x10>;
index 141dd0b30672f27c79de491c83e424b20537159d..fc155e69036e9e2aae3ff762e0fbf68959f55c1c 100644 (file)
        };
 
        chosen {
-               u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc;
+               u-boot,spl-boot-order = "same-as-spl", &spi_flash, &sdhci, &sdmmc;
+       };
+
+       config {
+               u-boot,spl-payload-offset = <0x60000>; /* @ 384KB */
        };
 
        vcc_hub_en: vcc_hub_en-regulator {
        vin-supply = <&vcc_vbus_typec0>;
 };
 
+&spi1 {
+       spi_flash: flash@0 {
+               u-boot,dm-pre-reloc;
+       };
+};
+
 &vdd_log {
        regulator-min-microvolt = <430000>;
        regulator-init-microvolt = <950000>;
index deaa3efd39cc9e2049726ae82082b5a7fec87ad9..bac09df4a38d1eaa5bd5b058898c564e12491752 100644 (file)
        };
 
        chosen {
-               u-boot,spl-boot-order = "same-as-spl", &sdmmc, &sdhci;
+               u-boot,spl-boot-order = "same-as-spl", &spi_flash, &sdmmc, &sdhci;
+       };
+
+       config {
+               u-boot,spl-payload-offset = <0x60000>; /* @ 384KB */
+       };
+};
+
+&spi1 {
+       spi_flash: flash@0 {
+               u-boot,dm-pre-reloc;
        };
 };
 
index 5adc47b906b1711c0bffbc7467b01f93c23c8c3c..6fb2cb25f984ea3300167f5e8698892664106741 100644 (file)
                                status = "disabled";
                        };
 
+                       uart4: serial@fc00c000 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xfc00c000 0x100>;
+                               clocks = <&uart4_clk>;
+                               clock-names = "usart";
+                               status = "disabled";
+                       };
+
                        i2c1: i2c@fc028000 {
                                compatible = "atmel,sama5d2-i2c";
                                reg = <0xfc028000 0x100>;
index f23b6bfb75b99a79e0e343bbcdf015567cda1ca1..7c0905d240eb4fde666929ed2c5d5ee5f6e37894 100644 (file)
@@ -117,4 +117,13 @@ static inline gd_t *get_gd(void)
 #endif
 #endif
 
+static inline void set_gd(volatile gd_t *gd_ptr)
+{
+#ifdef CONFIG_ARM64
+       __asm__ volatile("ldr x18, %0\n" : : "m"(gd_ptr));
+#else
+       __asm__ volatile("ldr r9, %0\n" : : "m"(gd_ptr));
+#endif
+}
+
 #endif /* __ASM_GBL_DATA_H */
index 1e3f574403a05ceb81cbdfd1ec88e8a811480566..7a40b56acdcae28101f8d05eb6159e8167cbf188 100644 (file)
@@ -528,6 +528,7 @@ void mmu_page_table_flush(unsigned long start, unsigned long stop);
 
 #ifdef CONFIG_ARMV7_PSCI
 void psci_arch_cpu_entry(void);
+void psci_arch_init(void);
 u32 psci_version(void);
 s32 psci_features(u32 function_id, u32 psci_fid);
 s32 psci_cpu_off(void);
index 5d84798ca4389d90ac8c1124e707fa2183cea626..a462538521966572997e09c42ca0585cfb01152c 100644 (file)
@@ -79,15 +79,15 @@ enum {
        MBUS_QOS_HIGHEST
 };
 
-inline void mbus_configure_port(u8 port,
-                               bool bwlimit,
-                               bool priority,
-                               u8 qos,         /* MBUS_QOS_LOWEST .. MBUS_QOS_HIGEST */
-                               u8 waittime,    /* 0 .. 0xf */
-                               u8 acs,         /* 0 .. 0xff */
-                               u16 bwl0,       /* 0 .. 0xffff, bandwidth limit in MB/s */
-                               u16 bwl1,
-                               u16 bwl2)
+static inline void mbus_configure_port(u8 port,
+                                      bool bwlimit,
+                                      bool priority,
+                                      u8 qos,         /* MBUS_QOS_LOWEST .. MBUS_QOS_HIGEST */
+                                      u8 waittime,    /* 0 .. 0xf */
+                                      u8 acs,         /* 0 .. 0xff */
+                                      u16 bwl0,       /* 0 .. 0xffff, bandwidth limit in MB/s */
+                                      u16 bwl1,
+                                      u16 bwl2)
 {
        struct sunxi_mctl_com_reg * const mctl_com =
                        (struct sunxi_mctl_com_reg *)SUNXI_DRAM_COM_BASE;
index fb5fe5affff1f3979279d030113872aee9755418..d9854f5283986ff031fc18b67ad6621032227d06 100644 (file)
@@ -56,6 +56,7 @@ source "board/sifive/fu540/Kconfig"
 
 # platform-specific options below
 source "arch/riscv/cpu/ax25/Kconfig"
+source "arch/riscv/cpu/fu540/Kconfig"
 source "arch/riscv/cpu/generic/Kconfig"
 
 # architecture-specific options below
diff --git a/arch/riscv/cpu/fu540/Kconfig b/arch/riscv/cpu/fu540/Kconfig
new file mode 100644 (file)
index 0000000..e9302e8
--- /dev/null
@@ -0,0 +1,15 @@
+# SPDX-License-Identifier: GPL-2.0+
+#
+# Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
+
+config SIFIVE_FU540
+       bool
+       select ARCH_EARLY_INIT_R
+       imply CPU
+       imply CPU_RISCV
+       imply RISCV_TIMER
+       imply SIFIVE_CLINT if (RISCV_MMODE || SPL_RISCV_MMODE)
+       imply CMD_CPU
+       imply SPL_CPU_SUPPORT
+       imply SPL_OPENSBI
+       imply SPL_LOAD_FIT
diff --git a/arch/riscv/cpu/fu540/Makefile b/arch/riscv/cpu/fu540/Makefile
new file mode 100644 (file)
index 0000000..043fb96
--- /dev/null
@@ -0,0 +1,11 @@
+# SPDX-License-Identifier: GPL-2.0+
+#
+# Copyright (C) 2020 SiFive, Inc
+# Pragnesh Patel <pragnesh.patel@sifive.com>
+
+ifeq ($(CONFIG_SPL_BUILD),y)
+obj-y += spl.o
+else
+obj-y += dram.o
+obj-y += cpu.o
+endif
diff --git a/arch/riscv/cpu/fu540/cpu.c b/arch/riscv/cpu/fu540/cpu.c
new file mode 100644 (file)
index 0000000..f13c189
--- /dev/null
@@ -0,0 +1,22 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
+ */
+
+#include <irq_func.h>
+#include <asm/cache.h>
+
+/*
+ * cleanup_before_linux() is called just before we call linux
+ * it prepares the processor for linux
+ *
+ * we disable interrupt and caches.
+ */
+int cleanup_before_linux(void)
+{
+       disable_interrupts();
+
+       cache_flush();
+
+       return 0;
+}
diff --git a/arch/riscv/cpu/fu540/dram.c b/arch/riscv/cpu/fu540/dram.c
new file mode 100644 (file)
index 0000000..1dc77ef
--- /dev/null
@@ -0,0 +1,38 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
+ */
+
+#include <common.h>
+#include <fdtdec.h>
+#include <init.h>
+#include <linux/sizes.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+int dram_init(void)
+{
+       return fdtdec_setup_mem_size_base();
+}
+
+int dram_init_banksize(void)
+{
+       return fdtdec_setup_memory_banksize();
+}
+
+ulong board_get_usable_ram_top(ulong total_size)
+{
+#ifdef CONFIG_64BIT
+       /*
+        * Ensure that we run from first 4GB so that all
+        * addresses used by U-Boot are 32bit addresses.
+        *
+        * This in-turn ensures that 32bit DMA capable
+        * devices work fine because DMA mapping APIs will
+        * provide 32bit DMA addresses only.
+        */
+       if (gd->ram_top > SZ_4G)
+               return SZ_4G;
+#endif
+       return gd->ram_top;
+}
diff --git a/arch/riscv/cpu/fu540/spl.c b/arch/riscv/cpu/fu540/spl.c
new file mode 100644 (file)
index 0000000..a2034e9
--- /dev/null
@@ -0,0 +1,23 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2020 SiFive, Inc
+ * Pragnesh Patel <pragnesh.patel@sifive.com>
+ */
+
+#include <dm.h>
+#include <log.h>
+
+int soc_spl_init(void)
+{
+       int ret;
+       struct udevice *dev;
+
+       /* DDR init */
+       ret = uclass_get_device(UCLASS_RAM, 0, &dev);
+       if (ret) {
+               debug("DRAM init failed: %d\n", ret);
+               return ret;
+       }
+
+       return 0;
+}
index 955dd3106dcd7049f496e87824252a9ac5a4c47b..d0495ce2486a9eba507b69be824792be8f8c00b8 100644 (file)
@@ -72,6 +72,7 @@ SECTIONS
        . = ALIGN(4);
 
        _end = .;
+       _image_binary_end = .;
 
        .bss : {
                __bss_start = .;
diff --git a/arch/riscv/dts/fu540-c000-u-boot.dtsi b/arch/riscv/dts/fu540-c000-u-boot.dtsi
new file mode 100644 (file)
index 0000000..9bba554
--- /dev/null
@@ -0,0 +1,89 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/*
+ * (C) Copyright 2019 SiFive, Inc
+ */
+
+/ {
+       cpus {
+               assigned-clocks = <&prci PRCI_CLK_COREPLL>;
+               assigned-clock-rates = <1000000000>;
+               u-boot,dm-spl;
+               cpu0: cpu@0 {
+                       clocks = <&prci PRCI_CLK_COREPLL>;
+                       u-boot,dm-spl;
+                       status = "okay";
+                       cpu0_intc: interrupt-controller {
+                               u-boot,dm-spl;
+                       };
+               };
+               cpu1: cpu@1 {
+                       clocks = <&prci PRCI_CLK_COREPLL>;
+                       u-boot,dm-spl;
+                       cpu1_intc: interrupt-controller {
+                               u-boot,dm-spl;
+                       };
+               };
+               cpu2: cpu@2 {
+                       clocks = <&prci PRCI_CLK_COREPLL>;
+                       u-boot,dm-spl;
+                       cpu2_intc: interrupt-controller {
+                                u-boot,dm-spl;
+                       };
+               };
+               cpu3: cpu@3 {
+                       clocks = <&prci PRCI_CLK_COREPLL>;
+                       u-boot,dm-spl;
+                       cpu3_intc: interrupt-controller {
+                               u-boot,dm-spl;
+                       };
+               };
+               cpu4: cpu@4 {
+                       clocks = <&prci PRCI_CLK_COREPLL>;
+                       u-boot,dm-spl;
+                       cpu4_intc: interrupt-controller {
+                               u-boot,dm-spl;
+                       };
+               };
+       };
+
+       soc {
+               u-boot,dm-spl;
+               otp: otp@10070000 {
+                       compatible = "sifive,fu540-c000-otp";
+                       reg = <0x0 0x10070000 0x0 0x0FFF>;
+                       fuse-count = <0x1000>;
+               };
+               clint@2000000 {
+                       compatible = "riscv,clint0";
+                       interrupts-extended = <&cpu0_intc 3 &cpu0_intc 7 &cpu1_intc 3 &cpu1_intc 7 &cpu2_intc 3 &cpu2_intc 7 &cpu3_intc 3 &cpu3_intc 7 &cpu4_intc 3 &cpu4_intc 7>;
+                       reg = <0x0 0x2000000 0x0 0xc0000>;
+                       u-boot,dm-spl;
+               };
+               dmc: dmc@100b0000 {
+                       compatible = "sifive,fu540-c000-ddr";
+                       reg = <0x0 0x100b0000 0x0 0x0800
+                              0x0 0x100b2000 0x0 0x2000
+                              0x0 0x100b8000 0x0 0x0fff>;
+                       clocks = <&prci PRCI_CLK_DDRPLL>;
+                       clock-frequency = <933333324>;
+                       u-boot,dm-spl;
+               };
+       };
+};
+
+&prci {
+       u-boot,dm-spl;
+};
+
+&uart0 {
+       u-boot,dm-spl;
+};
+
+&qspi2 {
+       u-boot,dm-spl;
+};
+
+&eth0 {
+       assigned-clocks = <&prci PRCI_CLK_GEMGXLPLL>;
+       assigned-clock-rates = <125000000>;
+};
index afa43c7ea3690db3fceb535759652a9488d22049..7db8610534834e1272662fbd3636eef0b3a565d7 100644 (file)
@@ -54,6 +54,7 @@
                        reg = <1>;
                        riscv,isa = "rv64imafdc";
                        tlb-split;
+                       next-level-cache = <&l2cache>;
                        cpu1_intc: interrupt-controller {
                                #interrupt-cells = <1>;
                                compatible = "riscv,cpu-intc";
@@ -77,6 +78,7 @@
                        reg = <2>;
                        riscv,isa = "rv64imafdc";
                        tlb-split;
+                       next-level-cache = <&l2cache>;
                        cpu2_intc: interrupt-controller {
                                #interrupt-cells = <1>;
                                compatible = "riscv,cpu-intc";
                        reg = <3>;
                        riscv,isa = "rv64imafdc";
                        tlb-split;
+                       next-level-cache = <&l2cache>;
                        cpu3_intc: interrupt-controller {
                                #interrupt-cells = <1>;
                                compatible = "riscv,cpu-intc";
                        reg = <4>;
                        riscv,isa = "rv64imafdc";
                        tlb-split;
+                       next-level-cache = <&l2cache>;
                        cpu4_intc: interrupt-controller {
                                #interrupt-cells = <1>;
                                compatible = "riscv,cpu-intc";
                        clocks = <&prci PRCI_CLK_TLCLK>;
                        status = "disabled";
                };
+               dma: dma@3000000 {
+                       compatible = "sifive,fu540-c000-pdma";
+                       reg = <0x0 0x3000000 0x0 0x8000>;
+                       interrupt-parent = <&plic0>;
+                       interrupts = <23 24 25 26 27 28 29 30>;
+                       #dma-cells = <1>;
+               };
                uart1: serial@10011000 {
                        compatible = "sifive,fu540-c000-uart", "sifive,uart0";
                        reg = <0x0 0x10011000 0x0 0x1000>;
                        #pwm-cells = <3>;
                        status = "disabled";
                };
-
+               l2cache: cache-controller@2010000 {
+                       compatible = "sifive,fu540-c000-ccache", "cache";
+                       cache-block-size = <64>;
+                       cache-level = <2>;
+                       cache-sets = <1024>;
+                       cache-size = <2097152>;
+                       cache-unified;
+                       interrupt-parent = <&plic0>;
+                       interrupts = <1 2 3>;
+                       reg = <0x0 0x2010000 0x0 0x1000>;
+               };
+               gpio: gpio@10060000 {
+                       compatible = "sifive,fu540-c000-gpio", "sifive,gpio0";
+                       interrupt-parent = <&plic0>;
+                       interrupts = <7>, <8>, <9>, <10>, <11>, <12>, <13>,
+                                    <14>, <15>, <16>, <17>, <18>, <19>, <20>,
+                                    <21>, <22>;
+                       reg = <0x0 0x10060000 0x0 0x1000>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       clocks = <&prci PRCI_CLK_TLCLK>;
+                       status = "disabled";
+               };
        };
 };
diff --git a/arch/riscv/dts/fu540-hifive-unleashed-a00-ddr.dtsi b/arch/riscv/dts/fu540-hifive-unleashed-a00-ddr.dtsi
new file mode 100644 (file)
index 0000000..6ed5ccd
--- /dev/null
@@ -0,0 +1,1489 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/*
+ * (C) Copyright 2020 SiFive, Inc
+ */
+
+&dmc {
+       sifive,ddr-params = <
+               0x00000a00      /* DENALI_CTL_00_DATA */
+               0x00000000      /* DENALI_CTL_01_DATA */
+               0x00000000      /* DENALI_CTL_02_DATA */
+               0x00000000      /* DENALI_CTL_03_DATA */
+               0x00000000      /* DENALI_CTL_04_DATA */
+               0x00000000      /* DENALI_CTL_05_DATA */
+               0x0000000a      /* DENALI_CTL_06_DATA */
+               0x0002d362      /* DENALI_CTL_07_DATA */
+               0x00071073      /* DENALI_CTL_08_DATA */
+               0x0a1c0255      /* DENALI_CTL_09_DATA */
+               0x1c1c0400      /* DENALI_CTL_10_DATA */
+               0x0404990b      /* DENALI_CTL_11_DATA */
+               0x2b050405      /* DENALI_CTL_12_DATA */
+               0x0e0c081e      /* DENALI_CTL_13_DATA */
+               0x08090914      /* DENALI_CTL_14_DATA */
+               0x00fde718      /* DENALI_CTL_15_DATA */
+               0x00180a05      /* DENALI_CTL_16_DATA */
+               0x008b130e      /* DENALI_CTL_17_DATA */
+               0x01000118      /* DENALI_CTL_18_DATA */
+               0x0e032101      /* DENALI_CTL_19_DATA */
+               0x00000000      /* DENALI_CTL_20_DATA */
+               0x00000101      /* DENALI_CTL_21_DATA */
+               0x00000000      /* DENALI_CTL_22_DATA */
+               0x0a000000      /* DENALI_CTL_23_DATA */
+               0x00000000      /* DENALI_CTL_24_DATA */
+               0x01450100      /* DENALI_CTL_25_DATA */
+               0x00001c36      /* DENALI_CTL_26_DATA */
+               0x00000005      /* DENALI_CTL_27_DATA */
+               0x00170006      /* DENALI_CTL_28_DATA */
+               0x014e0300      /* DENALI_CTL_29_DATA */
+               0x03010000      /* DENALI_CTL_30_DATA */
+               0x000a0e00      /* DENALI_CTL_31_DATA */
+               0x04030200      /* DENALI_CTL_32_DATA */
+               0x0000031f      /* DENALI_CTL_33_DATA */
+               0x00070004      /* DENALI_CTL_34_DATA */
+               0x00000000      /* DENALI_CTL_35_DATA */
+               0x00000000      /* DENALI_CTL_36_DATA */
+               0x00000000      /* DENALI_CTL_37_DATA */
+               0x00000000      /* DENALI_CTL_38_DATA */
+               0x00000000      /* DENALI_CTL_39_DATA */
+               0x00000000      /* DENALI_CTL_40_DATA */
+               0x00000000      /* DENALI_CTL_41_DATA */
+               0x00000000      /* DENALI_CTL_42_DATA */
+               0x00000000      /* DENALI_CTL_43_DATA */
+               0x00000000      /* DENALI_CTL_44_DATA */
+               0x00000000      /* DENALI_CTL_45_DATA */
+               0x00000000      /* DENALI_CTL_46_DATA */
+               0x00000000      /* DENALI_CTL_47_DATA */
+               0x00000000      /* DENALI_CTL_48_DATA */
+               0x00000000      /* DENALI_CTL_49_DATA */
+               0x00000000      /* DENALI_CTL_50_DATA */
+               0x00000000      /* DENALI_CTL_51_DATA */
+               0x00000000      /* DENALI_CTL_52_DATA */
+               0x00000000      /* DENALI_CTL_53_DATA */
+               0x00000000      /* DENALI_CTL_54_DATA */
+               0x00000000      /* DENALI_CTL_55_DATA */
+               0x00000000      /* DENALI_CTL_56_DATA */
+               0x00000000      /* DENALI_CTL_57_DATA */
+               0x00000000      /* DENALI_CTL_58_DATA */
+               0x00000000      /* DENALI_CTL_59_DATA */
+               0x00000424      /* DENALI_CTL_60_DATA */
+               0x00000201      /* DENALI_CTL_61_DATA */
+               0x00001008      /* DENALI_CTL_62_DATA */
+               0x00000000      /* DENALI_CTL_63_DATA */
+               0x00000200      /* DENALI_CTL_64_DATA */
+               0x00000000      /* DENALI_CTL_65_DATA */
+               0x00000481      /* DENALI_CTL_66_DATA */
+               0x00000400      /* DENALI_CTL_67_DATA */
+               0x00000424      /* DENALI_CTL_68_DATA */
+               0x00000201      /* DENALI_CTL_69_DATA */
+               0x00001008      /* DENALI_CTL_70_DATA */
+               0x00000000      /* DENALI_CTL_71_DATA */
+               0x00000200      /* DENALI_CTL_72_DATA */
+               0x00000000      /* DENALI_CTL_73_DATA */
+               0x00000481      /* DENALI_CTL_74_DATA */
+               0x00000400      /* DENALI_CTL_75_DATA */
+               0x01010000      /* DENALI_CTL_76_DATA */
+               0x00000000      /* DENALI_CTL_77_DATA */
+               0x00000000      /* DENALI_CTL_78_DATA */
+               0x00000000      /* DENALI_CTL_79_DATA */
+               0x00000000      /* DENALI_CTL_80_DATA */
+               0x00000000      /* DENALI_CTL_81_DATA */
+               0x00000000      /* DENALI_CTL_82_DATA */
+               0x00000000      /* DENALI_CTL_83_DATA */
+               0x00000000      /* DENALI_CTL_84_DATA */
+               0x00000000      /* DENALI_CTL_85_DATA */
+               0x00000000      /* DENALI_CTL_86_DATA */
+               0x00000000      /* DENALI_CTL_87_DATA */
+               0x00000000      /* DENALI_CTL_88_DATA */
+               0x00000000      /* DENALI_CTL_89_DATA */
+               0x00000000      /* DENALI_CTL_90_DATA */
+               0x00000000      /* DENALI_CTL_91_DATA */
+               0x00000000      /* DENALI_CTL_92_DATA */
+               0x00000000      /* DENALI_CTL_93_DATA */
+               0x00000000      /* DENALI_CTL_94_DATA */
+               0x00000000      /* DENALI_CTL_95_DATA */
+               0x00000000      /* DENALI_CTL_96_DATA */
+               0x00000000      /* DENALI_CTL_97_DATA */
+               0x00000000      /* DENALI_CTL_98_DATA */
+               0x00000000      /* DENALI_CTL_99_DATA */
+               0x00000000      /* DENALI_CTL_100_DATA */
+               0x00000000      /* DENALI_CTL_101_DATA */
+               0x00000000      /* DENALI_CTL_102_DATA */
+               0x00000000      /* DENALI_CTL_103_DATA */
+               0x00000000      /* DENALI_CTL_104_DATA */
+               0x00000003      /* DENALI_CTL_105_DATA */
+               0x00000000      /* DENALI_CTL_106_DATA */
+               0x00000000      /* DENALI_CTL_107_DATA */
+               0x00000000      /* DENALI_CTL_108_DATA */
+               0x00000000      /* DENALI_CTL_109_DATA */
+               0x01000000      /* DENALI_CTL_110_DATA */
+               0x00040000      /* DENALI_CTL_111_DATA */
+               0x00800200      /* DENALI_CTL_112_DATA */
+               0x00000200      /* DENALI_CTL_113_DATA */
+               0x00000040      /* DENALI_CTL_114_DATA */
+               0x01000100      /* DENALI_CTL_115_DATA */
+               0x0a000002      /* DENALI_CTL_116_DATA */
+               0x0101ffff      /* DENALI_CTL_117_DATA */
+               0x01010101      /* DENALI_CTL_118_DATA */
+               0x01010101      /* DENALI_CTL_119_DATA */
+               0x0000010b      /* DENALI_CTL_120_DATA */
+               0x00000c01      /* DENALI_CTL_121_DATA */
+               0x00000000      /* DENALI_CTL_122_DATA */
+               0x00000000      /* DENALI_CTL_123_DATA */
+               0x00000000      /* DENALI_CTL_124_DATA */
+               0x00000000      /* DENALI_CTL_125_DATA */
+               0x00030300      /* DENALI_CTL_126_DATA */
+               0x00000000      /* DENALI_CTL_127_DATA */
+               0x00010001      /* DENALI_CTL_128_DATA */
+               0x00000000      /* DENALI_CTL_129_DATA */
+               0x00000000      /* DENALI_CTL_130_DATA */
+               0x00000000      /* DENALI_CTL_131_DATA */
+               0x00000000      /* DENALI_CTL_132_DATA */
+               0x00000000      /* DENALI_CTL_133_DATA */
+               0x00000000      /* DENALI_CTL_134_DATA */
+               0x00000000      /* DENALI_CTL_135_DATA */
+               0x00000000      /* DENALI_CTL_136_DATA */
+               0x00000000      /* DENALI_CTL_137_DATA */
+               0x00000000      /* DENALI_CTL_138_DATA */
+               0x00000000      /* DENALI_CTL_139_DATA */
+               0x00000000      /* DENALI_CTL_140_DATA */
+               0x00000000      /* DENALI_CTL_141_DATA */
+               0x00000000      /* DENALI_CTL_142_DATA */
+               0x00000000      /* DENALI_CTL_143_DATA */
+               0x00000000      /* DENALI_CTL_144_DATA */
+               0x00000000      /* DENALI_CTL_145_DATA */
+               0x00000000      /* DENALI_CTL_146_DATA */
+               0x00000000      /* DENALI_CTL_147_DATA */
+               0x00000000      /* DENALI_CTL_148_DATA */
+               0x00000000      /* DENALI_CTL_149_DATA */
+               0x00000000      /* DENALI_CTL_150_DATA */
+               0x00000000      /* DENALI_CTL_151_DATA */
+               0x00000000      /* DENALI_CTL_152_DATA */
+               0x00000000      /* DENALI_CTL_153_DATA */
+               0x00000000      /* DENALI_CTL_154_DATA */
+               0x00000000      /* DENALI_CTL_155_DATA */
+               0x00000000      /* DENALI_CTL_156_DATA */
+               0x00000000      /* DENALI_CTL_157_DATA */
+               0x00000000      /* DENALI_CTL_158_DATA */
+               0x00000000      /* DENALI_CTL_159_DATA */
+               0x00000000      /* DENALI_CTL_160_DATA */
+               0x02010102      /* DENALI_CTL_161_DATA */
+               0x0107070d      /* DENALI_CTL_162_DATA */
+               0x04040400      /* DENALI_CTL_163_DATA */
+               0x03000503      /* DENALI_CTL_164_DATA */
+               0x00000000      /* DENALI_CTL_165_DATA */
+               0x00000000      /* DENALI_CTL_166_DATA */
+               0x00000000      /* DENALI_CTL_167_DATA */
+               0x00000000      /* DENALI_CTL_168_DATA */
+               0x280d0000      /* DENALI_CTL_169_DATA */
+               0x01000000      /* DENALI_CTL_170_DATA */
+               0x00000000      /* DENALI_CTL_171_DATA */
+               0x00010001      /* DENALI_CTL_172_DATA */
+               0x00000000      /* DENALI_CTL_173_DATA */
+               0x00000000      /* DENALI_CTL_174_DATA */
+               0x00000000      /* DENALI_CTL_175_DATA */
+               0x00000000      /* DENALI_CTL_176_DATA */
+               0x00000000      /* DENALI_CTL_177_DATA */
+               0x00000000      /* DENALI_CTL_178_DATA */
+               0x00000000      /* DENALI_CTL_179_DATA */
+               0x00000000      /* DENALI_CTL_180_DATA */
+               0x01000000      /* DENALI_CTL_181_DATA */
+               0x00000001      /* DENALI_CTL_182_DATA */
+               0x00000100      /* DENALI_CTL_183_DATA */
+               0x00000101      /* DENALI_CTL_184_DATA */
+               0x67676701      /* DENALI_CTL_185_DATA */
+               0x67676767      /* DENALI_CTL_186_DATA */
+               0x67676767      /* DENALI_CTL_187_DATA */
+               0x67676767      /* DENALI_CTL_188_DATA */
+               0x67676767      /* DENALI_CTL_189_DATA */
+               0x67676767      /* DENALI_CTL_190_DATA */
+               0x67676767      /* DENALI_CTL_191_DATA */
+               0x67676767      /* DENALI_CTL_192_DATA */
+               0x67676767      /* DENALI_CTL_193_DATA */
+               0x01000067      /* DENALI_CTL_194_DATA */
+               0x00000001      /* DENALI_CTL_195_DATA */
+               0x00000101      /* DENALI_CTL_196_DATA */
+               0x00000000      /* DENALI_CTL_197_DATA */
+               0x00000000      /* DENALI_CTL_198_DATA */
+               0x00000000      /* DENALI_CTL_199_DATA */
+               0x00000000      /* DENALI_CTL_200_DATA */
+               0x00000000      /* DENALI_CTL_201_DATA */
+               0x00000000      /* DENALI_CTL_202_DATA */
+               0x00000000      /* DENALI_CTL_203_DATA */
+               0x00000000      /* DENALI_CTL_204_DATA */
+               0x00000000      /* DENALI_CTL_205_DATA */
+               0x00000000      /* DENALI_CTL_206_DATA */
+               0x00000000      /* DENALI_CTL_207_DATA */
+               0x00000001      /* DENALI_CTL_208_DATA */
+               0x00000000      /* DENALI_CTL_209_DATA */
+               0x007fffff      /* DENALI_CTL_210_DATA */
+               0x00000000      /* DENALI_CTL_211_DATA */
+               0x007fffff      /* DENALI_CTL_212_DATA */
+               0x00000000      /* DENALI_CTL_213_DATA */
+               0x007fffff      /* DENALI_CTL_214_DATA */
+               0x00000000      /* DENALI_CTL_215_DATA */
+               0x007fffff      /* DENALI_CTL_216_DATA */
+               0x00000000      /* DENALI_CTL_217_DATA */
+               0x007fffff      /* DENALI_CTL_218_DATA */
+               0x00000000      /* DENALI_CTL_219_DATA */
+               0x007fffff      /* DENALI_CTL_220_DATA */
+               0x00000000      /* DENALI_CTL_221_DATA */
+               0x007fffff      /* DENALI_CTL_222_DATA */
+               0x00000000      /* DENALI_CTL_223_DATA */
+               0x037fffff      /* DENALI_CTL_224_DATA */
+               0xffffffff      /* DENALI_CTL_225_DATA */
+               0x000f000f      /* DENALI_CTL_226_DATA */
+               0x00ffff03      /* DENALI_CTL_227_DATA */
+               0x000fffff      /* DENALI_CTL_228_DATA */
+               0x0003000f      /* DENALI_CTL_229_DATA */
+               0xffffffff      /* DENALI_CTL_230_DATA */
+               0x000f000f      /* DENALI_CTL_231_DATA */
+               0x00ffff03      /* DENALI_CTL_232_DATA */
+               0x000fffff      /* DENALI_CTL_233_DATA */
+               0x0003000f      /* DENALI_CTL_234_DATA */
+               0xffffffff      /* DENALI_CTL_235_DATA */
+               0x000f000f      /* DENALI_CTL_236_DATA */
+               0x00ffff03      /* DENALI_CTL_237_DATA */
+               0x000fffff      /* DENALI_CTL_238_DATA */
+               0x0003000f      /* DENALI_CTL_239_DATA */
+               0xffffffff      /* DENALI_CTL_240_DATA */
+               0x000f000f      /* DENALI_CTL_241_DATA */
+               0x00ffff03      /* DENALI_CTL_242_DATA */
+               0x000fffff      /* DENALI_CTL_243_DATA */
+               0x6407000f      /* DENALI_CTL_244_DATA */
+               0x01640001      /* DENALI_CTL_245_DATA */
+               0x00000000      /* DENALI_CTL_246_DATA */
+               0x00000000      /* DENALI_CTL_247_DATA */
+               0x00001700      /* DENALI_CTL_248_DATA */
+               0x00386c05      /* DENALI_CTL_249_DATA */
+               0x02000200      /* DENALI_CTL_250_DATA */
+               0x02000200      /* DENALI_CTL_251_DATA */
+               0x0000386c      /* DENALI_CTL_252_DATA */
+               0x00023438      /* DENALI_CTL_253_DATA */
+               0x02020d10      /* DENALI_CTL_254_DATA */
+               0x00140303      /* DENALI_CTL_255_DATA */
+               0x00000000      /* DENALI_CTL_256_DATA */
+               0x00000000      /* DENALI_CTL_257_DATA */
+               0x00001403      /* DENALI_CTL_258_DATA */
+               0x00000000      /* DENALI_CTL_259_DATA */
+               0x00000000      /* DENALI_CTL_260_DATA */
+               0x00000000      /* DENALI_CTL_261_DATA */
+               0x00000000      /* DENALI_CTL_262_DATA */
+               0x0d010000      /* DENALI_CTL_263_DATA */
+               0x00000008      /* DENALI_CTL_264_DATA */
+               0x31706542      /* DENALI_PHY_00_DATA */
+               0x0004c008      /* DENALI_PHY_01_DATA */
+               0x000000da      /* DENALI_PHY_02_DATA */
+               0x00000000      /* DENALI_PHY_03_DATA */
+               0x00000000      /* DENALI_PHY_04_DATA */
+               0x00010000      /* DENALI_PHY_05_DATA */
+               0x01DDDD90      /* DENALI_PHY_06_DATA */
+               0x01DDDD90      /* DENALI_PHY_07_DATA */
+               0x01030000      /* DENALI_PHY_08_DATA */
+               0x01000000      /* DENALI_PHY_09_DATA */
+               0x00c00000      /* DENALI_PHY_10_DATA */
+               0x00000007      /* DENALI_PHY_11_DATA */
+               0x00000000      /* DENALI_PHY_12_DATA */
+               0x00000000      /* DENALI_PHY_13_DATA */
+               0x04000408      /* DENALI_PHY_14_DATA */
+               0x00000408      /* DENALI_PHY_15_DATA */
+               0x00e4e400      /* DENALI_PHY_16_DATA */
+               0x00000000      /* DENALI_PHY_17_DATA */
+               0x00000000      /* DENALI_PHY_18_DATA */
+               0x00000000      /* DENALI_PHY_19_DATA */
+               0x00000000      /* DENALI_PHY_20_DATA */
+               0x00000000      /* DENALI_PHY_21_DATA */
+               0x00000000      /* DENALI_PHY_22_DATA */
+               0x00000000      /* DENALI_PHY_23_DATA */
+               0x00000000      /* DENALI_PHY_24_DATA */
+               0x00000000      /* DENALI_PHY_25_DATA */
+               0x00000000      /* DENALI_PHY_26_DATA */
+               0x00000000      /* DENALI_PHY_27_DATA */
+               0x00000000      /* DENALI_PHY_28_DATA */
+               0x00000000      /* DENALI_PHY_29_DATA */
+               0x00000000      /* DENALI_PHY_30_DATA */
+               0x00000000      /* DENALI_PHY_31_DATA */
+               0x00000000      /* DENALI_PHY_32_DATA */
+               0x00200000      /* DENALI_PHY_33_DATA */
+               0x00000000      /* DENALI_PHY_34_DATA */
+               0x00000000      /* DENALI_PHY_35_DATA */
+               0x00000000      /* DENALI_PHY_36_DATA */
+               0x00000000      /* DENALI_PHY_37_DATA */
+               0x00000000      /* DENALI_PHY_38_DATA */
+               0x00000000      /* DENALI_PHY_39_DATA */
+               0x02800280      /* DENALI_PHY_40_DATA */
+               0x02800280      /* DENALI_PHY_41_DATA */
+               0x02800280      /* DENALI_PHY_42_DATA */
+               0x02800280      /* DENALI_PHY_43_DATA */
+               0x00000280      /* DENALI_PHY_44_DATA */
+               0x00000000      /* DENALI_PHY_45_DATA */
+               0x00000000      /* DENALI_PHY_46_DATA */
+               0x00000000      /* DENALI_PHY_47_DATA */
+               0x00000000      /* DENALI_PHY_48_DATA */
+               0x00000000      /* DENALI_PHY_49_DATA */
+               0x00800080      /* DENALI_PHY_50_DATA */
+               0x00800080      /* DENALI_PHY_51_DATA */
+               0x00800080      /* DENALI_PHY_52_DATA */
+               0x00800080      /* DENALI_PHY_53_DATA */
+               0x00800080      /* DENALI_PHY_54_DATA */
+               0x00800080      /* DENALI_PHY_55_DATA */
+               0x00800080      /* DENALI_PHY_56_DATA */
+               0x00800080      /* DENALI_PHY_57_DATA */
+               0x00800080      /* DENALI_PHY_58_DATA */
+               0x000100da      /* DENALI_PHY_59_DATA */
+               0x01000200      /* DENALI_PHY_60_DATA */
+               0x00000000      /* DENALI_PHY_61_DATA */
+               0x00000000      /* DENALI_PHY_62_DATA */
+               0x00000002      /* DENALI_PHY_63_DATA */
+               0x51313152      /* DENALI_PHY_64_DATA */
+               0x80013130      /* DENALI_PHY_65_DATA */
+               0x02000080      /* DENALI_PHY_66_DATA */
+               0x00100001      /* DENALI_PHY_67_DATA */
+               0x0c064208      /* DENALI_PHY_68_DATA */
+               0x000f0c0f      /* DENALI_PHY_69_DATA */
+               0x01000140      /* DENALI_PHY_70_DATA */
+               0x0000000c      /* DENALI_PHY_71_DATA */
+               0x00000000      /* DENALI_PHY_72_DATA */
+               0x00000000      /* DENALI_PHY_73_DATA */
+               0x00000000      /* DENALI_PHY_74_DATA */
+               0x00000000      /* DENALI_PHY_75_DATA */
+               0x00000000      /* DENALI_PHY_76_DATA */
+               0x00000000      /* DENALI_PHY_77_DATA */
+               0x00000000      /* DENALI_PHY_78_DATA */
+               0x00000000      /* DENALI_PHY_79_DATA */
+               0x00000000      /* DENALI_PHY_80_DATA */
+               0x00000000      /* DENALI_PHY_81_DATA */
+               0x00000000      /* DENALI_PHY_82_DATA */
+               0x00000000      /* DENALI_PHY_83_DATA */
+               0x00000000      /* DENALI_PHY_84_DATA */
+               0x00000000      /* DENALI_PHY_85_DATA */
+               0x00000000      /* DENALI_PHY_86_DATA */
+               0x00000000      /* DENALI_PHY_87_DATA */
+               0x00000000      /* DENALI_PHY_88_DATA */
+               0x00000000      /* DENALI_PHY_89_DATA */
+               0x00000000      /* DENALI_PHY_90_DATA */
+               0x00000000      /* DENALI_PHY_91_DATA */
+               0x00000000      /* DENALI_PHY_92_DATA */
+               0x00000000      /* DENALI_PHY_93_DATA */
+               0x00000000      /* DENALI_PHY_94_DATA */
+               0x00000000      /* DENALI_PHY_95_DATA */
+               0x00000000      /* DENALI_PHY_96_DATA */
+               0x00000000      /* DENALI_PHY_97_DATA */
+               0x00000000      /* DENALI_PHY_98_DATA */
+               0x00000000      /* DENALI_PHY_99_DATA */
+               0x00000000      /* DENALI_PHY_100_DATA */
+               0x00000000      /* DENALI_PHY_101_DATA */
+               0x00000000      /* DENALI_PHY_102_DATA */
+               0x00000000      /* DENALI_PHY_103_DATA */
+               0x00000000      /* DENALI_PHY_104_DATA */
+               0x00000000      /* DENALI_PHY_105_DATA */
+               0x00000000      /* DENALI_PHY_106_DATA */
+               0x00000000      /* DENALI_PHY_107_DATA */
+               0x00000000      /* DENALI_PHY_108_DATA */
+               0x00000000      /* DENALI_PHY_109_DATA */
+               0x00000000      /* DENALI_PHY_110_DATA */
+               0x00000000      /* DENALI_PHY_111_DATA */
+               0x00000000      /* DENALI_PHY_112_DATA */
+               0x00000000      /* DENALI_PHY_113_DATA */
+               0x00000000      /* DENALI_PHY_114_DATA */
+               0x00000000      /* DENALI_PHY_115_DATA */
+               0x00000000      /* DENALI_PHY_116_DATA */
+               0x00000000      /* DENALI_PHY_117_DATA */
+               0x00000000      /* DENALI_PHY_118_DATA */
+               0x00000000      /* DENALI_PHY_119_DATA */
+               0x00000000      /* DENALI_PHY_120_DATA */
+               0x00000000      /* DENALI_PHY_121_DATA */
+               0x00000000      /* DENALI_PHY_122_DATA */
+               0x00000000      /* DENALI_PHY_123_DATA */
+               0x00000000      /* DENALI_PHY_124_DATA */
+               0x00000000      /* DENALI_PHY_125_DATA */
+               0x00000000      /* DENALI_PHY_126_DATA */
+               0x00000000      /* DENALI_PHY_127_DATA */
+               0x40263571      /* DENALI_PHY_128_DATA */
+               0x0004c008      /* DENALI_PHY_129_DATA */
+               0x000000da      /* DENALI_PHY_130_DATA */
+               0x00000000      /* DENALI_PHY_131_DATA */
+               0x00000000      /* DENALI_PHY_132_DATA */
+               0x00010000      /* DENALI_PHY_133_DATA */
+               0x01DDDD90      /* DENALI_PHY_134_DATA */
+               0x01DDDD90      /* DENALI_PHY_135_DATA */
+               0x01030000      /* DENALI_PHY_136_DATA */
+               0x01000000      /* DENALI_PHY_137_DATA */
+               0x00c00000      /* DENALI_PHY_138_DATA */
+               0x00000007      /* DENALI_PHY_139_DATA */
+               0x00000000      /* DENALI_PHY_140_DATA */
+               0x00000000      /* DENALI_PHY_141_DATA */
+               0x04000408      /* DENALI_PHY_142_DATA */
+               0x00000408      /* DENALI_PHY_143_DATA */
+               0x00e4e400      /* DENALI_PHY_144_DATA */
+               0x00000000      /* DENALI_PHY_145_DATA */
+               0x00000000      /* DENALI_PHY_146_DATA */
+               0x00000000      /* DENALI_PHY_147_DATA */
+               0x00000000      /* DENALI_PHY_148_DATA */
+               0x00000000      /* DENALI_PHY_149_DATA */
+               0x00000000      /* DENALI_PHY_150_DATA */
+               0x00000000      /* DENALI_PHY_151_DATA */
+               0x00000000      /* DENALI_PHY_152_DATA */
+               0x00000000      /* DENALI_PHY_153_DATA */
+               0x00000000      /* DENALI_PHY_154_DATA */
+               0x00000000      /* DENALI_PHY_155_DATA */
+               0x00000000      /* DENALI_PHY_156_DATA */
+               0x00000000      /* DENALI_PHY_157_DATA */
+               0x00000000      /* DENALI_PHY_158_DATA */
+               0x00000000      /* DENALI_PHY_159_DATA */
+               0x00000000      /* DENALI_PHY_160_DATA */
+               0x00200000      /* DENALI_PHY_161_DATA */
+               0x00000000      /* DENALI_PHY_162_DATA */
+               0x00000000      /* DENALI_PHY_163_DATA */
+               0x00000000      /* DENALI_PHY_164_DATA */
+               0x00000000      /* DENALI_PHY_165_DATA */
+               0x00000000      /* DENALI_PHY_166_DATA */
+               0x00000000      /* DENALI_PHY_167_DATA */
+               0x02800280      /* DENALI_PHY_168_DATA */
+               0x02800280      /* DENALI_PHY_169_DATA */
+               0x02800280      /* DENALI_PHY_170_DATA */
+               0x02800280      /* DENALI_PHY_171_DATA */
+               0x00000280      /* DENALI_PHY_172_DATA */
+               0x00000000      /* DENALI_PHY_173_DATA */
+               0x00000000      /* DENALI_PHY_174_DATA */
+               0x00000000      /* DENALI_PHY_175_DATA */
+               0x00000000      /* DENALI_PHY_176_DATA */
+               0x00000000      /* DENALI_PHY_177_DATA */
+               0x00800080      /* DENALI_PHY_178_DATA */
+               0x00800080      /* DENALI_PHY_179_DATA */
+               0x00800080      /* DENALI_PHY_180_DATA */
+               0x00800080      /* DENALI_PHY_181_DATA */
+               0x00800080      /* DENALI_PHY_182_DATA */
+               0x00800080      /* DENALI_PHY_183_DATA */
+               0x00800080      /* DENALI_PHY_184_DATA */
+               0x00800080      /* DENALI_PHY_185_DATA */
+               0x00800080      /* DENALI_PHY_186_DATA */
+               0x000100da      /* DENALI_PHY_187_DATA */
+               0x01000200      /* DENALI_PHY_188_DATA */
+               0x00000000      /* DENALI_PHY_189_DATA */
+               0x00000000      /* DENALI_PHY_190_DATA */
+               0x00000002      /* DENALI_PHY_191_DATA */
+               0x51313152      /* DENALI_PHY_192_DATA */
+               0x80013130      /* DENALI_PHY_193_DATA */
+               0x02000080      /* DENALI_PHY_194_DATA */
+               0x00100001      /* DENALI_PHY_195_DATA */
+               0x0c064208      /* DENALI_PHY_196_DATA */
+               0x000f0c0f      /* DENALI_PHY_197_DATA */
+               0x01000140      /* DENALI_PHY_198_DATA */
+               0x0000000c      /* DENALI_PHY_199_DATA */
+               0x00000000      /* DENALI_PHY_200_DATA */
+               0x00000000      /* DENALI_PHY_201_DATA */
+               0x00000000      /* DENALI_PHY_202_DATA */
+               0x00000000      /* DENALI_PHY_203_DATA */
+               0x00000000      /* DENALI_PHY_204_DATA */
+               0x00000000      /* DENALI_PHY_205_DATA */
+               0x00000000      /* DENALI_PHY_206_DATA */
+               0x00000000      /* DENALI_PHY_207_DATA */
+               0x00000000      /* DENALI_PHY_208_DATA */
+               0x00000000      /* DENALI_PHY_209_DATA */
+               0x00000000      /* DENALI_PHY_210_DATA */
+               0x00000000      /* DENALI_PHY_211_DATA */
+               0x00000000      /* DENALI_PHY_212_DATA */
+               0x00000000      /* DENALI_PHY_213_DATA */
+               0x00000000      /* DENALI_PHY_214_DATA */
+               0x00000000      /* DENALI_PHY_215_DATA */
+               0x00000000      /* DENALI_PHY_216_DATA */
+               0x00000000      /* DENALI_PHY_217_DATA */
+               0x00000000      /* DENALI_PHY_218_DATA */
+               0x00000000      /* DENALI_PHY_219_DATA */
+               0x00000000      /* DENALI_PHY_220_DATA */
+               0x00000000      /* DENALI_PHY_221_DATA */
+               0x00000000      /* DENALI_PHY_222_DATA */
+               0x00000000      /* DENALI_PHY_223_DATA */
+               0x00000000      /* DENALI_PHY_224_DATA */
+               0x00000000      /* DENALI_PHY_225_DATA */
+               0x00000000      /* DENALI_PHY_226_DATA */
+               0x00000000      /* DENALI_PHY_227_DATA */
+               0x00000000      /* DENALI_PHY_228_DATA */
+               0x00000000      /* DENALI_PHY_229_DATA */
+               0x00000000      /* DENALI_PHY_230_DATA */
+               0x00000000      /* DENALI_PHY_231_DATA */
+               0x00000000      /* DENALI_PHY_232_DATA */
+               0x00000000      /* DENALI_PHY_233_DATA */
+               0x00000000      /* DENALI_PHY_234_DATA */
+               0x00000000      /* DENALI_PHY_235_DATA */
+               0x00000000      /* DENALI_PHY_236_DATA */
+               0x00000000      /* DENALI_PHY_237_DATA */
+               0x00000000      /* DENALI_PHY_238_DATA */
+               0x00000000      /* DENALI_PHY_239_DATA */
+               0x00000000      /* DENALI_PHY_240_DATA */
+               0x00000000      /* DENALI_PHY_241_DATA */
+               0x00000000      /* DENALI_PHY_242_DATA */
+               0x00000000      /* DENALI_PHY_243_DATA */
+               0x00000000      /* DENALI_PHY_244_DATA */
+               0x00000000      /* DENALI_PHY_245_DATA */
+               0x00000000      /* DENALI_PHY_246_DATA */
+               0x00000000      /* DENALI_PHY_247_DATA */
+               0x00000000      /* DENALI_PHY_248_DATA */
+               0x00000000      /* DENALI_PHY_249_DATA */
+               0x00000000      /* DENALI_PHY_250_DATA */
+               0x00000000      /* DENALI_PHY_251_DATA */
+               0x00000000      /* DENALI_PHY_252_DATA */
+               0x00000000      /* DENALI_PHY_253_DATA */
+               0x00000000      /* DENALI_PHY_254_DATA */
+               0x00000000      /* DENALI_PHY_255_DATA */
+               0x46052371      /* DENALI_PHY_256_DATA */
+               0x0004c008      /* DENALI_PHY_257_DATA */
+               0x000000da      /* DENALI_PHY_258_DATA */
+               0x00000000      /* DENALI_PHY_259_DATA */
+               0x00000000      /* DENALI_PHY_260_DATA */
+               0x00010000      /* DENALI_PHY_261_DATA */
+               0x01DDDD90      /* DENALI_PHY_262_DATA */
+               0x01DDDD90      /* DENALI_PHY_263_DATA */
+               0x01030000      /* DENALI_PHY_264_DATA */
+               0x01000000      /* DENALI_PHY_265_DATA */
+               0x00c00000      /* DENALI_PHY_266_DATA */
+               0x00000007      /* DENALI_PHY_267_DATA */
+               0x00000000      /* DENALI_PHY_268_DATA */
+               0x00000000      /* DENALI_PHY_269_DATA */
+               0x04000408      /* DENALI_PHY_270_DATA */
+               0x00000408      /* DENALI_PHY_271_DATA */
+               0x00e4e400      /* DENALI_PHY_272_DATA */
+               0x00000000      /* DENALI_PHY_273_DATA */
+               0x00000000      /* DENALI_PHY_274_DATA */
+               0x00000000      /* DENALI_PHY_275_DATA */
+               0x00000000      /* DENALI_PHY_276_DATA */
+               0x00000000      /* DENALI_PHY_277_DATA */
+               0x00000000      /* DENALI_PHY_278_DATA */
+               0x00000000      /* DENALI_PHY_279_DATA */
+               0x00000000      /* DENALI_PHY_280_DATA */
+               0x00000000      /* DENALI_PHY_281_DATA */
+               0x00000000      /* DENALI_PHY_282_DATA */
+               0x00000000      /* DENALI_PHY_283_DATA */
+               0x00000000      /* DENALI_PHY_284_DATA */
+               0x00000000      /* DENALI_PHY_285_DATA */
+               0x00000000      /* DENALI_PHY_286_DATA */
+               0x00000000      /* DENALI_PHY_287_DATA */
+               0x00000000      /* DENALI_PHY_288_DATA */
+               0x00200000      /* DENALI_PHY_289_DATA */
+               0x00000000      /* DENALI_PHY_290_DATA */
+               0x00000000      /* DENALI_PHY_291_DATA */
+               0x00000000      /* DENALI_PHY_292_DATA */
+               0x00000000      /* DENALI_PHY_293_DATA */
+               0x00000000      /* DENALI_PHY_294_DATA */
+               0x00000000      /* DENALI_PHY_295_DATA */
+               0x02800280      /* DENALI_PHY_296_DATA */
+               0x02800280      /* DENALI_PHY_297_DATA */
+               0x02800280      /* DENALI_PHY_298_DATA */
+               0x02800280      /* DENALI_PHY_299_DATA */
+               0x00000280      /* DENALI_PHY_300_DATA */
+               0x00000000      /* DENALI_PHY_301_DATA */
+               0x00000000      /* DENALI_PHY_302_DATA */
+               0x00000000      /* DENALI_PHY_303_DATA */
+               0x00000000      /* DENALI_PHY_304_DATA */
+               0x00000000      /* DENALI_PHY_305_DATA */
+               0x00800080      /* DENALI_PHY_306_DATA */
+               0x00800080      /* DENALI_PHY_307_DATA */
+               0x00800080      /* DENALI_PHY_308_DATA */
+               0x00800080      /* DENALI_PHY_309_DATA */
+               0x00800080      /* DENALI_PHY_310_DATA */
+               0x00800080      /* DENALI_PHY_311_DATA */
+               0x00800080      /* DENALI_PHY_312_DATA */
+               0x00800080      /* DENALI_PHY_313_DATA */
+               0x00800080      /* DENALI_PHY_314_DATA */
+               0x000100da      /* DENALI_PHY_315_DATA */
+               0x00000200      /* DENALI_PHY_316_DATA */
+               0x00000000      /* DENALI_PHY_317_DATA */
+               0x00000000      /* DENALI_PHY_318_DATA */
+               0x00000002      /* DENALI_PHY_319_DATA */
+               0x51313152      /* DENALI_PHY_320_DATA */
+               0x80013130      /* DENALI_PHY_321_DATA */
+               0x02000080      /* DENALI_PHY_322_DATA */
+               0x00100001      /* DENALI_PHY_323_DATA */
+               0x0c064208      /* DENALI_PHY_324_DATA */
+               0x000f0c0f      /* DENALI_PHY_325_DATA */
+               0x01000140      /* DENALI_PHY_326_DATA */
+               0x0000000c      /* DENALI_PHY_327_DATA */
+               0x00000000      /* DENALI_PHY_328_DATA */
+               0x00000000      /* DENALI_PHY_329_DATA */
+               0x00000000      /* DENALI_PHY_330_DATA */
+               0x00000000      /* DENALI_PHY_331_DATA */
+               0x00000000      /* DENALI_PHY_332_DATA */
+               0x00000000      /* DENALI_PHY_333_DATA */
+               0x00000000      /* DENALI_PHY_334_DATA */
+               0x00000000      /* DENALI_PHY_335_DATA */
+               0x00000000      /* DENALI_PHY_336_DATA */
+               0x00000000      /* DENALI_PHY_337_DATA */
+               0x00000000      /* DENALI_PHY_338_DATA */
+               0x00000000      /* DENALI_PHY_339_DATA */
+               0x00000000      /* DENALI_PHY_340_DATA */
+               0x00000000      /* DENALI_PHY_341_DATA */
+               0x00000000      /* DENALI_PHY_342_DATA */
+               0x00000000      /* DENALI_PHY_343_DATA */
+               0x00000000      /* DENALI_PHY_344_DATA */
+               0x00000000      /* DENALI_PHY_345_DATA */
+               0x00000000      /* DENALI_PHY_346_DATA */
+               0x00000000      /* DENALI_PHY_347_DATA */
+               0x00000000      /* DENALI_PHY_348_DATA */
+               0x00000000      /* DENALI_PHY_349_DATA */
+               0x00000000      /* DENALI_PHY_350_DATA */
+               0x00000000      /* DENALI_PHY_351_DATA */
+               0x00000000      /* DENALI_PHY_352_DATA */
+               0x00000000      /* DENALI_PHY_353_DATA */
+               0x00000000      /* DENALI_PHY_354_DATA */
+               0x00000000      /* DENALI_PHY_355_DATA */
+               0x00000000      /* DENALI_PHY_356_DATA */
+               0x00000000      /* DENALI_PHY_357_DATA */
+               0x00000000      /* DENALI_PHY_358_DATA */
+               0x00000000      /* DENALI_PHY_359_DATA */
+               0x00000000      /* DENALI_PHY_360_DATA */
+               0x00000000      /* DENALI_PHY_361_DATA */
+               0x00000000      /* DENALI_PHY_362_DATA */
+               0x00000000      /* DENALI_PHY_363_DATA */
+               0x00000000      /* DENALI_PHY_364_DATA */
+               0x00000000      /* DENALI_PHY_365_DATA */
+               0x00000000      /* DENALI_PHY_366_DATA */
+               0x00000000      /* DENALI_PHY_367_DATA */
+               0x00000000      /* DENALI_PHY_368_DATA */
+               0x00000000      /* DENALI_PHY_369_DATA */
+               0x00000000      /* DENALI_PHY_370_DATA */
+               0x00000000      /* DENALI_PHY_371_DATA */
+               0x00000000      /* DENALI_PHY_372_DATA */
+               0x00000000      /* DENALI_PHY_373_DATA */
+               0x00000000      /* DENALI_PHY_374_DATA */
+               0x00000000      /* DENALI_PHY_375_DATA */
+               0x00000000      /* DENALI_PHY_376_DATA */
+               0x00000000      /* DENALI_PHY_377_DATA */
+               0x00000000      /* DENALI_PHY_378_DATA */
+               0x00000000      /* DENALI_PHY_379_DATA */
+               0x00000000      /* DENALI_PHY_380_DATA */
+               0x00000000      /* DENALI_PHY_381_DATA */
+               0x00000000      /* DENALI_PHY_382_DATA */
+               0x00000000      /* DENALI_PHY_383_DATA */
+               0x37654120      /* DENALI_PHY_384_DATA */
+               0x0004c008      /* DENALI_PHY_385_DATA */
+               0x000000da      /* DENALI_PHY_386_DATA */
+               0x00000000      /* DENALI_PHY_387_DATA */
+               0x00000000      /* DENALI_PHY_388_DATA */
+               0x00010000      /* DENALI_PHY_389_DATA */
+               0x01DDDD90      /* DENALI_PHY_390_DATA */
+               0x01DDDD90      /* DENALI_PHY_391_DATA */
+               0x01030000      /* DENALI_PHY_392_DATA */
+               0x01000000      /* DENALI_PHY_393_DATA */
+               0x00c00000      /* DENALI_PHY_394_DATA */
+               0x00000007      /* DENALI_PHY_395_DATA */
+               0x00000000      /* DENALI_PHY_396_DATA */
+               0x00000000      /* DENALI_PHY_397_DATA */
+               0x04000408      /* DENALI_PHY_398_DATA */
+               0x00000408      /* DENALI_PHY_399_DATA */
+               0x00e4e400      /* DENALI_PHY_400_DATA */
+               0x00000000      /* DENALI_PHY_401_DATA */
+               0x00000000      /* DENALI_PHY_402_DATA */
+               0x00000000      /* DENALI_PHY_403_DATA */
+               0x00000000      /* DENALI_PHY_404_DATA */
+               0x00000000      /* DENALI_PHY_405_DATA */
+               0x00000000      /* DENALI_PHY_406_DATA */
+               0x00000000      /* DENALI_PHY_407_DATA */
+               0x00000000      /* DENALI_PHY_408_DATA */
+               0x00000000      /* DENALI_PHY_409_DATA */
+               0x00000000      /* DENALI_PHY_410_DATA */
+               0x00000000      /* DENALI_PHY_411_DATA */
+               0x00000000      /* DENALI_PHY_412_DATA */
+               0x00000000      /* DENALI_PHY_413_DATA */
+               0x00000000      /* DENALI_PHY_414_DATA */
+               0x00000000      /* DENALI_PHY_415_DATA */
+               0x00000000      /* DENALI_PHY_416_DATA */
+               0x00200000      /* DENALI_PHY_417_DATA */
+               0x00000000      /* DENALI_PHY_418_DATA */
+               0x00000000      /* DENALI_PHY_419_DATA */
+               0x00000000      /* DENALI_PHY_420_DATA */
+               0x00000000      /* DENALI_PHY_421_DATA */
+               0x00000000      /* DENALI_PHY_422_DATA */
+               0x00000000      /* DENALI_PHY_423_DATA */
+               0x02800280      /* DENALI_PHY_424_DATA */
+               0x02800280      /* DENALI_PHY_425_DATA */
+               0x02800280      /* DENALI_PHY_426_DATA */
+               0x02800280      /* DENALI_PHY_427_DATA */
+               0x00000280      /* DENALI_PHY_428_DATA */
+               0x00000000      /* DENALI_PHY_429_DATA */
+               0x00000000      /* DENALI_PHY_430_DATA */
+               0x00000000      /* DENALI_PHY_431_DATA */
+               0x00000000      /* DENALI_PHY_432_DATA */
+               0x00000000      /* DENALI_PHY_433_DATA */
+               0x00800080      /* DENALI_PHY_434_DATA */
+               0x00800080      /* DENALI_PHY_435_DATA */
+               0x00800080      /* DENALI_PHY_436_DATA */
+               0x00800080      /* DENALI_PHY_437_DATA */
+               0x00800080      /* DENALI_PHY_438_DATA */
+               0x00800080      /* DENALI_PHY_439_DATA */
+               0x00800080      /* DENALI_PHY_440_DATA */
+               0x00800080      /* DENALI_PHY_441_DATA */
+               0x00800080      /* DENALI_PHY_442_DATA */
+               0x000100da      /* DENALI_PHY_443_DATA */
+               0x00000200      /* DENALI_PHY_444_DATA */
+               0x00000000      /* DENALI_PHY_445_DATA */
+               0x00000000      /* DENALI_PHY_446_DATA */
+               0x00000002      /* DENALI_PHY_447_DATA */
+               0x51313152      /* DENALI_PHY_448_DATA */
+               0x80013130      /* DENALI_PHY_449_DATA */
+               0x02000080      /* DENALI_PHY_450_DATA */
+               0x00100001      /* DENALI_PHY_451_DATA */
+               0x0c064208      /* DENALI_PHY_452_DATA */
+               0x000f0c0f      /* DENALI_PHY_453_DATA */
+               0x01000140      /* DENALI_PHY_454_DATA */
+               0x0000000c      /* DENALI_PHY_455_DATA */
+               0x00000000      /* DENALI_PHY_456_DATA */
+               0x00000000      /* DENALI_PHY_457_DATA */
+               0x00000000      /* DENALI_PHY_458_DATA */
+               0x00000000      /* DENALI_PHY_459_DATA */
+               0x00000000      /* DENALI_PHY_460_DATA */
+               0x00000000      /* DENALI_PHY_461_DATA */
+               0x00000000      /* DENALI_PHY_462_DATA */
+               0x00000000      /* DENALI_PHY_463_DATA */
+               0x00000000      /* DENALI_PHY_464_DATA */
+               0x00000000      /* DENALI_PHY_465_DATA */
+               0x00000000      /* DENALI_PHY_466_DATA */
+               0x00000000      /* DENALI_PHY_467_DATA */
+               0x00000000      /* DENALI_PHY_468_DATA */
+               0x00000000      /* DENALI_PHY_469_DATA */
+               0x00000000      /* DENALI_PHY_470_DATA */
+               0x00000000      /* DENALI_PHY_471_DATA */
+               0x00000000      /* DENALI_PHY_472_DATA */
+               0x00000000      /* DENALI_PHY_473_DATA */
+               0x00000000      /* DENALI_PHY_474_DATA */
+               0x00000000      /* DENALI_PHY_475_DATA */
+               0x00000000      /* DENALI_PHY_476_DATA */
+               0x00000000      /* DENALI_PHY_477_DATA */
+               0x00000000      /* DENALI_PHY_478_DATA */
+               0x00000000      /* DENALI_PHY_479_DATA */
+               0x00000000      /* DENALI_PHY_480_DATA */
+               0x00000000      /* DENALI_PHY_481_DATA */
+               0x00000000      /* DENALI_PHY_482_DATA */
+               0x00000000      /* DENALI_PHY_483_DATA */
+               0x00000000      /* DENALI_PHY_484_DATA */
+               0x00000000      /* DENALI_PHY_485_DATA */
+               0x00000000      /* DENALI_PHY_486_DATA */
+               0x00000000      /* DENALI_PHY_487_DATA */
+               0x00000000      /* DENALI_PHY_488_DATA */
+               0x00000000      /* DENALI_PHY_489_DATA */
+               0x00000000      /* DENALI_PHY_490_DATA */
+               0x00000000      /* DENALI_PHY_491_DATA */
+               0x00000000      /* DENALI_PHY_492_DATA */
+               0x00000000      /* DENALI_PHY_493_DATA */
+               0x00000000      /* DENALI_PHY_494_DATA */
+               0x00000000      /* DENALI_PHY_495_DATA */
+               0x00000000      /* DENALI_PHY_496_DATA */
+               0x00000000      /* DENALI_PHY_497_DATA */
+               0x00000000      /* DENALI_PHY_498_DATA */
+               0x00000000      /* DENALI_PHY_499_DATA */
+               0x00000000      /* DENALI_PHY_500_DATA */
+               0x00000000      /* DENALI_PHY_501_DATA */
+               0x00000000      /* DENALI_PHY_502_DATA */
+               0x00000000      /* DENALI_PHY_503_DATA */
+               0x00000000      /* DENALI_PHY_504_DATA */
+               0x00000000      /* DENALI_PHY_505_DATA */
+               0x00000000      /* DENALI_PHY_506_DATA */
+               0x00000000      /* DENALI_PHY_507_DATA */
+               0x00000000      /* DENALI_PHY_508_DATA */
+               0x00000000      /* DENALI_PHY_509_DATA */
+               0x00000000      /* DENALI_PHY_510_DATA */
+               0x00000000      /* DENALI_PHY_511_DATA */
+               0x24316750      /* DENALI_PHY_512_DATA */
+               0x0004c008      /* DENALI_PHY_513_DATA */
+               0x000000da      /* DENALI_PHY_514_DATA */
+               0x00000000      /* DENALI_PHY_515_DATA */
+               0x00000000      /* DENALI_PHY_516_DATA */
+               0x00010000      /* DENALI_PHY_517_DATA */
+               0x01DDDD90      /* DENALI_PHY_518_DATA */
+               0x01DDDD90      /* DENALI_PHY_519_DATA */
+               0x01030000      /* DENALI_PHY_520_DATA */
+               0x01000000      /* DENALI_PHY_521_DATA */
+               0x00c00000      /* DENALI_PHY_522_DATA */
+               0x00000007      /* DENALI_PHY_523_DATA */
+               0x00000000      /* DENALI_PHY_524_DATA */
+               0x00000000      /* DENALI_PHY_525_DATA */
+               0x04000408      /* DENALI_PHY_526_DATA */
+               0x00000408      /* DENALI_PHY_527_DATA */
+               0x00e4e400      /* DENALI_PHY_528_DATA */
+               0x00000000      /* DENALI_PHY_529_DATA */
+               0x00000000      /* DENALI_PHY_530_DATA */
+               0x00000000      /* DENALI_PHY_531_DATA */
+               0x00000000      /* DENALI_PHY_532_DATA */
+               0x00000000      /* DENALI_PHY_533_DATA */
+               0x00000000      /* DENALI_PHY_534_DATA */
+               0x00000000      /* DENALI_PHY_535_DATA */
+               0x00000000      /* DENALI_PHY_536_DATA */
+               0x00000000      /* DENALI_PHY_537_DATA */
+               0x00000000      /* DENALI_PHY_538_DATA */
+               0x00000000      /* DENALI_PHY_539_DATA */
+               0x00000000      /* DENALI_PHY_540_DATA */
+               0x00000000      /* DENALI_PHY_541_DATA */
+               0x00000000      /* DENALI_PHY_542_DATA */
+               0x00000000      /* DENALI_PHY_543_DATA */
+               0x00000000      /* DENALI_PHY_544_DATA */
+               0x00200000      /* DENALI_PHY_545_DATA */
+               0x00000000      /* DENALI_PHY_546_DATA */
+               0x00000000      /* DENALI_PHY_547_DATA */
+               0x00000000      /* DENALI_PHY_548_DATA */
+               0x00000000      /* DENALI_PHY_549_DATA */
+               0x00000000      /* DENALI_PHY_550_DATA */
+               0x00000000      /* DENALI_PHY_551_DATA */
+               0x02800280      /* DENALI_PHY_552_DATA */
+               0x02800280      /* DENALI_PHY_553_DATA */
+               0x02800280      /* DENALI_PHY_554_DATA */
+               0x02800280      /* DENALI_PHY_555_DATA */
+               0x00000280      /* DENALI_PHY_556_DATA */
+               0x00000000      /* DENALI_PHY_557_DATA */
+               0x00000000      /* DENALI_PHY_558_DATA */
+               0x00000000      /* DENALI_PHY_559_DATA */
+               0x00000000      /* DENALI_PHY_560_DATA */
+               0x00000000      /* DENALI_PHY_561_DATA */
+               0x00800080      /* DENALI_PHY_562_DATA */
+               0x00800080      /* DENALI_PHY_563_DATA */
+               0x00800080      /* DENALI_PHY_564_DATA */
+               0x00800080      /* DENALI_PHY_565_DATA */
+               0x00800080      /* DENALI_PHY_566_DATA */
+               0x00800080      /* DENALI_PHY_567_DATA */
+               0x00800080      /* DENALI_PHY_568_DATA */
+               0x00800080      /* DENALI_PHY_569_DATA */
+               0x00800080      /* DENALI_PHY_570_DATA */
+               0x000100da      /* DENALI_PHY_571_DATA */
+               0x00000200      /* DENALI_PHY_572_DATA */
+               0x00000000      /* DENALI_PHY_573_DATA */
+               0x00000000      /* DENALI_PHY_574_DATA */
+               0x00000002      /* DENALI_PHY_575_DATA */
+               0x51313152      /* DENALI_PHY_576_DATA */
+               0x80013130      /* DENALI_PHY_577_DATA */
+               0x02000080      /* DENALI_PHY_578_DATA */
+               0x00100001      /* DENALI_PHY_579_DATA */
+               0x0c064208      /* DENALI_PHY_580_DATA */
+               0x000f0c0f      /* DENALI_PHY_581_DATA */
+               0x01000140      /* DENALI_PHY_582_DATA */
+               0x0000000c      /* DENALI_PHY_583_DATA */
+               0x00000000      /* DENALI_PHY_584_DATA */
+               0x00000000      /* DENALI_PHY_585_DATA */
+               0x00000000      /* DENALI_PHY_586_DATA */
+               0x00000000      /* DENALI_PHY_587_DATA */
+               0x00000000      /* DENALI_PHY_588_DATA */
+               0x00000000      /* DENALI_PHY_589_DATA */
+               0x00000000      /* DENALI_PHY_590_DATA */
+               0x00000000      /* DENALI_PHY_591_DATA */
+               0x00000000      /* DENALI_PHY_592_DATA */
+               0x00000000      /* DENALI_PHY_593_DATA */
+               0x00000000      /* DENALI_PHY_594_DATA */
+               0x00000000      /* DENALI_PHY_595_DATA */
+               0x00000000      /* DENALI_PHY_596_DATA */
+               0x00000000      /* DENALI_PHY_597_DATA */
+               0x00000000      /* DENALI_PHY_598_DATA */
+               0x00000000      /* DENALI_PHY_599_DATA */
+               0x00000000      /* DENALI_PHY_600_DATA */
+               0x00000000      /* DENALI_PHY_601_DATA */
+               0x00000000      /* DENALI_PHY_602_DATA */
+               0x00000000      /* DENALI_PHY_603_DATA */
+               0x00000000      /* DENALI_PHY_604_DATA */
+               0x00000000      /* DENALI_PHY_605_DATA */
+               0x00000000      /* DENALI_PHY_606_DATA */
+               0x00000000      /* DENALI_PHY_607_DATA */
+               0x00000000      /* DENALI_PHY_608_DATA */
+               0x00000000      /* DENALI_PHY_609_DATA */
+               0x00000000      /* DENALI_PHY_610_DATA */
+               0x00000000      /* DENALI_PHY_611_DATA */
+               0x00000000      /* DENALI_PHY_612_DATA */
+               0x00000000      /* DENALI_PHY_613_DATA */
+               0x00000000      /* DENALI_PHY_614_DATA */
+               0x00000000      /* DENALI_PHY_615_DATA */
+               0x00000000      /* DENALI_PHY_616_DATA */
+               0x00000000      /* DENALI_PHY_617_DATA */
+               0x00000000      /* DENALI_PHY_618_DATA */
+               0x00000000      /* DENALI_PHY_619_DATA */
+               0x00000000      /* DENALI_PHY_620_DATA */
+               0x00000000      /* DENALI_PHY_621_DATA */
+               0x00000000      /* DENALI_PHY_622_DATA */
+               0x00000000      /* DENALI_PHY_623_DATA */
+               0x00000000      /* DENALI_PHY_624_DATA */
+               0x00000000      /* DENALI_PHY_625_DATA */
+               0x00000000      /* DENALI_PHY_626_DATA */
+               0x00000000      /* DENALI_PHY_627_DATA */
+               0x00000000      /* DENALI_PHY_628_DATA */
+               0x00000000      /* DENALI_PHY_629_DATA */
+               0x00000000      /* DENALI_PHY_630_DATA */
+               0x00000000      /* DENALI_PHY_631_DATA */
+               0x00000000      /* DENALI_PHY_632_DATA */
+               0x00000000      /* DENALI_PHY_633_DATA */
+               0x00000000      /* DENALI_PHY_634_DATA */
+               0x00000000      /* DENALI_PHY_635_DATA */
+               0x00000000      /* DENALI_PHY_636_DATA */
+               0x00000000      /* DENALI_PHY_637_DATA */
+               0x00000000      /* DENALI_PHY_638_DATA */
+               0x00000000      /* DENALI_PHY_639_DATA */
+               0x35174620      /* DENALI_PHY_640_DATA */
+               0x0004c008      /* DENALI_PHY_641_DATA */
+               0x000000da      /* DENALI_PHY_642_DATA */
+               0x00000000      /* DENALI_PHY_643_DATA */
+               0x00000000      /* DENALI_PHY_644_DATA */
+               0x00010000      /* DENALI_PHY_645_DATA */
+               0x01DDDD90      /* DENALI_PHY_646_DATA */
+               0x01DDDD90      /* DENALI_PHY_647_DATA */
+               0x01030000      /* DENALI_PHY_648_DATA */
+               0x01000000      /* DENALI_PHY_649_DATA */
+               0x00c00000      /* DENALI_PHY_650_DATA */
+               0x00000007      /* DENALI_PHY_651_DATA */
+               0x00000000      /* DENALI_PHY_652_DATA */
+               0x00000000      /* DENALI_PHY_653_DATA */
+               0x04000408      /* DENALI_PHY_654_DATA */
+               0x00000408      /* DENALI_PHY_655_DATA */
+               0x00e4e400      /* DENALI_PHY_656_DATA */
+               0x00000000      /* DENALI_PHY_657_DATA */
+               0x00000000      /* DENALI_PHY_658_DATA */
+               0x00000000      /* DENALI_PHY_659_DATA */
+               0x00000000      /* DENALI_PHY_660_DATA */
+               0x00000000      /* DENALI_PHY_661_DATA */
+               0x00000000      /* DENALI_PHY_662_DATA */
+               0x00000000      /* DENALI_PHY_663_DATA */
+               0x00000000      /* DENALI_PHY_664_DATA */
+               0x00000000      /* DENALI_PHY_665_DATA */
+               0x00000000      /* DENALI_PHY_666_DATA */
+               0x00000000      /* DENALI_PHY_667_DATA */
+               0x00000000      /* DENALI_PHY_668_DATA */
+               0x00000000      /* DENALI_PHY_669_DATA */
+               0x00000000      /* DENALI_PHY_670_DATA */
+               0x00000000      /* DENALI_PHY_671_DATA */
+               0x00000000      /* DENALI_PHY_672_DATA */
+               0x00200000      /* DENALI_PHY_673_DATA */
+               0x00000000      /* DENALI_PHY_674_DATA */
+               0x00000000      /* DENALI_PHY_675_DATA */
+               0x00000000      /* DENALI_PHY_676_DATA */
+               0x00000000      /* DENALI_PHY_677_DATA */
+               0x00000000      /* DENALI_PHY_678_DATA */
+               0x00000000      /* DENALI_PHY_679_DATA */
+               0x02800280      /* DENALI_PHY_680_DATA */
+               0x02800280      /* DENALI_PHY_681_DATA */
+               0x02800280      /* DENALI_PHY_682_DATA */
+               0x02800280      /* DENALI_PHY_683_DATA */
+               0x00000280      /* DENALI_PHY_684_DATA */
+               0x00000000      /* DENALI_PHY_685_DATA */
+               0x00000000      /* DENALI_PHY_686_DATA */
+               0x00000000      /* DENALI_PHY_687_DATA */
+               0x00000000      /* DENALI_PHY_688_DATA */
+               0x00000000      /* DENALI_PHY_689_DATA */
+               0x00800080      /* DENALI_PHY_690_DATA */
+               0x00800080      /* DENALI_PHY_691_DATA */
+               0x00800080      /* DENALI_PHY_692_DATA */
+               0x00800080      /* DENALI_PHY_693_DATA */
+               0x00800080      /* DENALI_PHY_694_DATA */
+               0x00800080      /* DENALI_PHY_695_DATA */
+               0x00800080      /* DENALI_PHY_696_DATA */
+               0x00800080      /* DENALI_PHY_697_DATA */
+               0x00800080      /* DENALI_PHY_698_DATA */
+               0x000100da      /* DENALI_PHY_699_DATA */
+               0x00000200      /* DENALI_PHY_700_DATA */
+               0x00000000      /* DENALI_PHY_701_DATA */
+               0x00000000      /* DENALI_PHY_702_DATA */
+               0x00000002      /* DENALI_PHY_703_DATA */
+               0x51313152      /* DENALI_PHY_704_DATA */
+               0x80013130      /* DENALI_PHY_705_DATA */
+               0x02000080      /* DENALI_PHY_706_DATA */
+               0x00100001      /* DENALI_PHY_707_DATA */
+               0x0c064208      /* DENALI_PHY_708_DATA */
+               0x000f0c0f      /* DENALI_PHY_709_DATA */
+               0x01000140      /* DENALI_PHY_710_DATA */
+               0x0000000c      /* DENALI_PHY_711_DATA */
+               0x00000000      /* DENALI_PHY_712_DATA */
+               0x00000000      /* DENALI_PHY_713_DATA */
+               0x00000000      /* DENALI_PHY_714_DATA */
+               0x00000000      /* DENALI_PHY_715_DATA */
+               0x00000000      /* DENALI_PHY_716_DATA */
+               0x00000000      /* DENALI_PHY_717_DATA */
+               0x00000000      /* DENALI_PHY_718_DATA */
+               0x00000000      /* DENALI_PHY_719_DATA */
+               0x00000000      /* DENALI_PHY_720_DATA */
+               0x00000000      /* DENALI_PHY_721_DATA */
+               0x00000000      /* DENALI_PHY_722_DATA */
+               0x00000000      /* DENALI_PHY_723_DATA */
+               0x00000000      /* DENALI_PHY_724_DATA */
+               0x00000000      /* DENALI_PHY_725_DATA */
+               0x00000000      /* DENALI_PHY_726_DATA */
+               0x00000000      /* DENALI_PHY_727_DATA */
+               0x00000000      /* DENALI_PHY_728_DATA */
+               0x00000000      /* DENALI_PHY_729_DATA */
+               0x00000000      /* DENALI_PHY_730_DATA */
+               0x00000000      /* DENALI_PHY_731_DATA */
+               0x00000000      /* DENALI_PHY_732_DATA */
+               0x00000000      /* DENALI_PHY_733_DATA */
+               0x00000000      /* DENALI_PHY_734_DATA */
+               0x00000000      /* DENALI_PHY_735_DATA */
+               0x00000000      /* DENALI_PHY_736_DATA */
+               0x00000000      /* DENALI_PHY_737_DATA */
+               0x00000000      /* DENALI_PHY_738_DATA */
+               0x00000000      /* DENALI_PHY_739_DATA */
+               0x00000000      /* DENALI_PHY_740_DATA */
+               0x00000000      /* DENALI_PHY_741_DATA */
+               0x00000000      /* DENALI_PHY_742_DATA */
+               0x00000000      /* DENALI_PHY_743_DATA */
+               0x00000000      /* DENALI_PHY_744_DATA */
+               0x00000000      /* DENALI_PHY_745_DATA */
+               0x00000000      /* DENALI_PHY_746_DATA */
+               0x00000000      /* DENALI_PHY_747_DATA */
+               0x00000000      /* DENALI_PHY_748_DATA */
+               0x00000000      /* DENALI_PHY_749_DATA */
+               0x00000000      /* DENALI_PHY_750_DATA */
+               0x00000000      /* DENALI_PHY_751_DATA */
+               0x00000000      /* DENALI_PHY_752_DATA */
+               0x00000000      /* DENALI_PHY_753_DATA */
+               0x00000000      /* DENALI_PHY_754_DATA */
+               0x00000000      /* DENALI_PHY_755_DATA */
+               0x00000000      /* DENALI_PHY_756_DATA */
+               0x00000000      /* DENALI_PHY_757_DATA */
+               0x00000000      /* DENALI_PHY_758_DATA */
+               0x00000000      /* DENALI_PHY_759_DATA */
+               0x00000000      /* DENALI_PHY_760_DATA */
+               0x00000000      /* DENALI_PHY_761_DATA */
+               0x00000000      /* DENALI_PHY_762_DATA */
+               0x00000000      /* DENALI_PHY_763_DATA */
+               0x00000000      /* DENALI_PHY_764_DATA */
+               0x00000000      /* DENALI_PHY_765_DATA */
+               0x00000000      /* DENALI_PHY_766_DATA */
+               0x00000000      /* DENALI_PHY_767_DATA */
+               0x15203476      /* DENALI_PHY_768_DATA */
+               0x0004c008      /* DENALI_PHY_769_DATA */
+               0x000000da      /* DENALI_PHY_770_DATA */
+               0x00000000      /* DENALI_PHY_771_DATA */
+               0x00000000      /* DENALI_PHY_772_DATA */
+               0x00010000      /* DENALI_PHY_773_DATA */
+               0x01DDDD90      /* DENALI_PHY_774_DATA */
+               0x01DDDD90      /* DENALI_PHY_775_DATA */
+               0x01030000      /* DENALI_PHY_776_DATA */
+               0x01000000      /* DENALI_PHY_777_DATA */
+               0x00c00000      /* DENALI_PHY_778_DATA */
+               0x00000007      /* DENALI_PHY_779_DATA */
+               0x00000000      /* DENALI_PHY_780_DATA */
+               0x00000000      /* DENALI_PHY_781_DATA */
+               0x04000408      /* DENALI_PHY_782_DATA */
+               0x00000408      /* DENALI_PHY_783_DATA */
+               0x00e4e400      /* DENALI_PHY_784_DATA */
+               0x00000000      /* DENALI_PHY_785_DATA */
+               0x00000000      /* DENALI_PHY_786_DATA */
+               0x00000000      /* DENALI_PHY_787_DATA */
+               0x00000000      /* DENALI_PHY_788_DATA */
+               0x00000000      /* DENALI_PHY_789_DATA */
+               0x00000000      /* DENALI_PHY_790_DATA */
+               0x00000000      /* DENALI_PHY_791_DATA */
+               0x00000000      /* DENALI_PHY_792_DATA */
+               0x00000000      /* DENALI_PHY_793_DATA */
+               0x00000000      /* DENALI_PHY_794_DATA */
+               0x00000000      /* DENALI_PHY_795_DATA */
+               0x00000000      /* DENALI_PHY_796_DATA */
+               0x00000000      /* DENALI_PHY_797_DATA */
+               0x00000000      /* DENALI_PHY_798_DATA */
+               0x00000000      /* DENALI_PHY_799_DATA */
+               0x00000000      /* DENALI_PHY_800_DATA */
+               0x00200000      /* DENALI_PHY_801_DATA */
+               0x00000000      /* DENALI_PHY_802_DATA */
+               0x00000000      /* DENALI_PHY_803_DATA */
+               0x00000000      /* DENALI_PHY_804_DATA */
+               0x00000000      /* DENALI_PHY_805_DATA */
+               0x00000000      /* DENALI_PHY_806_DATA */
+               0x00000000      /* DENALI_PHY_807_DATA */
+               0x02800280      /* DENALI_PHY_808_DATA */
+               0x02800280      /* DENALI_PHY_809_DATA */
+               0x02800280      /* DENALI_PHY_810_DATA */
+               0x02800280      /* DENALI_PHY_811_DATA */
+               0x00000280      /* DENALI_PHY_812_DATA */
+               0x00000000      /* DENALI_PHY_813_DATA */
+               0x00000000      /* DENALI_PHY_814_DATA */
+               0x00000000      /* DENALI_PHY_815_DATA */
+               0x00000000      /* DENALI_PHY_816_DATA */
+               0x00000000      /* DENALI_PHY_817_DATA */
+               0x00800080      /* DENALI_PHY_818_DATA */
+               0x00800080      /* DENALI_PHY_819_DATA */
+               0x00800080      /* DENALI_PHY_820_DATA */
+               0x00800080      /* DENALI_PHY_821_DATA */
+               0x00800080      /* DENALI_PHY_822_DATA */
+               0x00800080      /* DENALI_PHY_823_DATA */
+               0x00800080      /* DENALI_PHY_824_DATA */
+               0x00800080      /* DENALI_PHY_825_DATA */
+               0x00800080      /* DENALI_PHY_826_DATA */
+               0x000100da      /* DENALI_PHY_827_DATA */
+               0x00000200      /* DENALI_PHY_828_DATA */
+               0x00000000      /* DENALI_PHY_829_DATA */
+               0x00000000      /* DENALI_PHY_830_DATA */
+               0x00000002      /* DENALI_PHY_831_DATA */
+               0x51313152      /* DENALI_PHY_832_DATA */
+               0x80013130      /* DENALI_PHY_833_DATA */
+               0x02000080      /* DENALI_PHY_834_DATA */
+               0x00100001      /* DENALI_PHY_835_DATA */
+               0x0c064208      /* DENALI_PHY_836_DATA */
+               0x000f0c0f      /* DENALI_PHY_837_DATA */
+               0x01000140      /* DENALI_PHY_838_DATA */
+               0x0000000c      /* DENALI_PHY_839_DATA */
+               0x00000000      /* DENALI_PHY_840_DATA */
+               0x00000000      /* DENALI_PHY_841_DATA */
+               0x00000000      /* DENALI_PHY_842_DATA */
+               0x00000000      /* DENALI_PHY_843_DATA */
+               0x00000000      /* DENALI_PHY_844_DATA */
+               0x00000000      /* DENALI_PHY_845_DATA */
+               0x00000000      /* DENALI_PHY_846_DATA */
+               0x00000000      /* DENALI_PHY_847_DATA */
+               0x00000000      /* DENALI_PHY_848_DATA */
+               0x00000000      /* DENALI_PHY_849_DATA */
+               0x00000000      /* DENALI_PHY_850_DATA */
+               0x00000000      /* DENALI_PHY_851_DATA */
+               0x00000000      /* DENALI_PHY_852_DATA */
+               0x00000000      /* DENALI_PHY_853_DATA */
+               0x00000000      /* DENALI_PHY_854_DATA */
+               0x00000000      /* DENALI_PHY_855_DATA */
+               0x00000000      /* DENALI_PHY_856_DATA */
+               0x00000000      /* DENALI_PHY_857_DATA */
+               0x00000000      /* DENALI_PHY_858_DATA */
+               0x00000000      /* DENALI_PHY_859_DATA */
+               0x00000000      /* DENALI_PHY_860_DATA */
+               0x00000000      /* DENALI_PHY_861_DATA */
+               0x00000000      /* DENALI_PHY_862_DATA */
+               0x00000000      /* DENALI_PHY_863_DATA */
+               0x00000000      /* DENALI_PHY_864_DATA */
+               0x00000000      /* DENALI_PHY_865_DATA */
+               0x00000000      /* DENALI_PHY_866_DATA */
+               0x00000000      /* DENALI_PHY_867_DATA */
+               0x00000000      /* DENALI_PHY_868_DATA */
+               0x00000000      /* DENALI_PHY_869_DATA */
+               0x00000000      /* DENALI_PHY_870_DATA */
+               0x00000000      /* DENALI_PHY_871_DATA */
+               0x00000000      /* DENALI_PHY_872_DATA */
+               0x00000000      /* DENALI_PHY_873_DATA */
+               0x00000000      /* DENALI_PHY_874_DATA */
+               0x00000000      /* DENALI_PHY_875_DATA */
+               0x00000000      /* DENALI_PHY_876_DATA */
+               0x00000000      /* DENALI_PHY_877_DATA */
+               0x00000000      /* DENALI_PHY_878_DATA */
+               0x00000000      /* DENALI_PHY_879_DATA */
+               0x00000000      /* DENALI_PHY_880_DATA */
+               0x00000000      /* DENALI_PHY_881_DATA */
+               0x00000000      /* DENALI_PHY_882_DATA */
+               0x00000000      /* DENALI_PHY_883_DATA */
+               0x00000000      /* DENALI_PHY_884_DATA */
+               0x00000000      /* DENALI_PHY_885_DATA */
+               0x00000000      /* DENALI_PHY_886_DATA */
+               0x00000000      /* DENALI_PHY_887_DATA */
+               0x00000000      /* DENALI_PHY_888_DATA */
+               0x00000000      /* DENALI_PHY_889_DATA */
+               0x00000000      /* DENALI_PHY_890_DATA */
+               0x00000000      /* DENALI_PHY_891_DATA */
+               0x00000000      /* DENALI_PHY_892_DATA */
+               0x00000000      /* DENALI_PHY_893_DATA */
+               0x00000000      /* DENALI_PHY_894_DATA */
+               0x00000000      /* DENALI_PHY_895_DATA */
+               0x41753206      /* DENALI_PHY_896_DATA */
+               0x0004c008      /* DENALI_PHY_897_DATA */
+               0x000000da      /* DENALI_PHY_898_DATA */
+               0x00000000      /* DENALI_PHY_899_DATA */
+               0x00000000      /* DENALI_PHY_900_DATA */
+               0x00010000      /* DENALI_PHY_901_DATA */
+               0x01DDDD90      /* DENALI_PHY_902_DATA */
+               0x01DDDD90      /* DENALI_PHY_903_DATA */
+               0x01030000      /* DENALI_PHY_904_DATA */
+               0x01000000      /* DENALI_PHY_905_DATA */
+               0x00c00000      /* DENALI_PHY_906_DATA */
+               0x00000007      /* DENALI_PHY_907_DATA */
+               0x00000000      /* DENALI_PHY_908_DATA */
+               0x00000000      /* DENALI_PHY_909_DATA */
+               0x04000408      /* DENALI_PHY_910_DATA */
+               0x00000408      /* DENALI_PHY_911_DATA */
+               0x00e4e400      /* DENALI_PHY_912_DATA */
+               0x00000000      /* DENALI_PHY_913_DATA */
+               0x00000000      /* DENALI_PHY_914_DATA */
+               0x00000000      /* DENALI_PHY_915_DATA */
+               0x00000000      /* DENALI_PHY_916_DATA */
+               0x00000000      /* DENALI_PHY_917_DATA */
+               0x00000000      /* DENALI_PHY_918_DATA */
+               0x00000000      /* DENALI_PHY_919_DATA */
+               0x00000000      /* DENALI_PHY_920_DATA */
+               0x00000000      /* DENALI_PHY_921_DATA */
+               0x00000000      /* DENALI_PHY_922_DATA */
+               0x00000000      /* DENALI_PHY_923_DATA */
+               0x00000000      /* DENALI_PHY_924_DATA */
+               0x00000000      /* DENALI_PHY_925_DATA */
+               0x00000000      /* DENALI_PHY_926_DATA */
+               0x00000000      /* DENALI_PHY_927_DATA */
+               0x00000000      /* DENALI_PHY_928_DATA */
+               0x00200000      /* DENALI_PHY_929_DATA */
+               0x00000000      /* DENALI_PHY_930_DATA */
+               0x00000000      /* DENALI_PHY_931_DATA */
+               0x00000000      /* DENALI_PHY_932_DATA */
+               0x00000000      /* DENALI_PHY_933_DATA */
+               0x00000000      /* DENALI_PHY_934_DATA */
+               0x00000000      /* DENALI_PHY_935_DATA */
+               0x02800280      /* DENALI_PHY_936_DATA */
+               0x02800280      /* DENALI_PHY_937_DATA */
+               0x02800280      /* DENALI_PHY_938_DATA */
+               0x02800280      /* DENALI_PHY_939_DATA */
+               0x00000280      /* DENALI_PHY_940_DATA */
+               0x00000000      /* DENALI_PHY_941_DATA */
+               0x00000000      /* DENALI_PHY_942_DATA */
+               0x00000000      /* DENALI_PHY_943_DATA */
+               0x00000000      /* DENALI_PHY_944_DATA */
+               0x00000000      /* DENALI_PHY_945_DATA */
+               0x00800080      /* DENALI_PHY_946_DATA */
+               0x00800080      /* DENALI_PHY_947_DATA */
+               0x00800080      /* DENALI_PHY_948_DATA */
+               0x00800080      /* DENALI_PHY_949_DATA */
+               0x00800080      /* DENALI_PHY_950_DATA */
+               0x00800080      /* DENALI_PHY_951_DATA */
+               0x00800080      /* DENALI_PHY_952_DATA */
+               0x00800080      /* DENALI_PHY_953_DATA */
+               0x00800080      /* DENALI_PHY_954_DATA */
+               0x000100da      /* DENALI_PHY_955_DATA */
+               0x00000200      /* DENALI_PHY_956_DATA */
+               0x00000000      /* DENALI_PHY_957_DATA */
+               0x00000000      /* DENALI_PHY_958_DATA */
+               0x00000002      /* DENALI_PHY_959_DATA */
+               0x51313152      /* DENALI_PHY_960_DATA */
+               0x80013130      /* DENALI_PHY_961_DATA */
+               0x02000080      /* DENALI_PHY_962_DATA */
+               0x00100001      /* DENALI_PHY_963_DATA */
+               0x0c064208      /* DENALI_PHY_964_DATA */
+               0x000f0c0f      /* DENALI_PHY_965_DATA */
+               0x01000140      /* DENALI_PHY_966_DATA */
+               0x0000000c      /* DENALI_PHY_967_DATA */
+               0x00000000      /* DENALI_PHY_968_DATA */
+               0x00000000      /* DENALI_PHY_969_DATA */
+               0x00000000      /* DENALI_PHY_970_DATA */
+               0x00000000      /* DENALI_PHY_971_DATA */
+               0x00000000      /* DENALI_PHY_972_DATA */
+               0x00000000      /* DENALI_PHY_973_DATA */
+               0x00000000      /* DENALI_PHY_974_DATA */
+               0x00000000      /* DENALI_PHY_975_DATA */
+               0x00000000      /* DENALI_PHY_976_DATA */
+               0x00000000      /* DENALI_PHY_977_DATA */
+               0x00000000      /* DENALI_PHY_978_DATA */
+               0x00000000      /* DENALI_PHY_979_DATA */
+               0x00000000      /* DENALI_PHY_980_DATA */
+               0x00000000      /* DENALI_PHY_981_DATA */
+               0x00000000      /* DENALI_PHY_982_DATA */
+               0x00000000      /* DENALI_PHY_983_DATA */
+               0x00000000      /* DENALI_PHY_984_DATA */
+               0x00000000      /* DENALI_PHY_985_DATA */
+               0x00000000      /* DENALI_PHY_986_DATA */
+               0x00000000      /* DENALI_PHY_987_DATA */
+               0x00000000      /* DENALI_PHY_988_DATA */
+               0x00000000      /* DENALI_PHY_989_DATA */
+               0x00000000      /* DENALI_PHY_990_DATA */
+               0x00000000      /* DENALI_PHY_991_DATA */
+               0x00000000      /* DENALI_PHY_992_DATA */
+               0x00000000      /* DENALI_PHY_993_DATA */
+               0x00000000      /* DENALI_PHY_994_DATA */
+               0x00000000      /* DENALI_PHY_995_DATA */
+               0x00000000      /* DENALI_PHY_996_DATA */
+               0x00000000      /* DENALI_PHY_997_DATA */
+               0x00000000      /* DENALI_PHY_998_DATA */
+               0x00000000      /* DENALI_PHY_999_DATA */
+               0x00000000      /* DENALI_PHY_1000_DATA */
+               0x00000000      /* DENALI_PHY_1001_DATA */
+               0x00000000      /* DENALI_PHY_1002_DATA */
+               0x00000000      /* DENALI_PHY_1003_DATA */
+               0x00000000      /* DENALI_PHY_1004_DATA */
+               0x00000000      /* DENALI_PHY_1005_DATA */
+               0x00000000      /* DENALI_PHY_1006_DATA */
+               0x00000000      /* DENALI_PHY_1007_DATA */
+               0x00000000      /* DENALI_PHY_1008_DATA */
+               0x00000000      /* DENALI_PHY_1009_DATA */
+               0x00000000      /* DENALI_PHY_1010_DATA */
+               0x00000000      /* DENALI_PHY_1011_DATA */
+               0x00000000      /* DENALI_PHY_1012_DATA */
+               0x00000000      /* DENALI_PHY_1013_DATA */
+               0x00000000      /* DENALI_PHY_1014_DATA */
+               0x00000000      /* DENALI_PHY_1015_DATA */
+               0x00000000      /* DENALI_PHY_1016_DATA */
+               0x00000000      /* DENALI_PHY_1017_DATA */
+               0x00000000      /* DENALI_PHY_1018_DATA */
+               0x00000000      /* DENALI_PHY_1019_DATA */
+               0x00000000      /* DENALI_PHY_1020_DATA */
+               0x00000000      /* DENALI_PHY_1021_DATA */
+               0x00000000      /* DENALI_PHY_1022_DATA */
+               0x00000000      /* DENALI_PHY_1023_DATA */
+               0x36025174      /* DENALI_PHY_1024_DATA */
+               0x0004c008      /* DENALI_PHY_1025_DATA */
+               0x000000da      /* DENALI_PHY_1026_DATA */
+               0x00000000      /* DENALI_PHY_1027_DATA */
+               0x00000000      /* DENALI_PHY_1028_DATA */
+               0x00010000      /* DENALI_PHY_1029_DATA */
+               0x01DDDD90      /* DENALI_PHY_1030_DATA */
+               0x01DDDD90      /* DENALI_PHY_1031_DATA */
+               0x01030000      /* DENALI_PHY_1032_DATA */
+               0x01000000      /* DENALI_PHY_1033_DATA */
+               0x00c00000      /* DENALI_PHY_1034_DATA */
+               0x00000007      /* DENALI_PHY_1035_DATA */
+               0x00000000      /* DENALI_PHY_1036_DATA */
+               0x00000000      /* DENALI_PHY_1037_DATA */
+               0x04000408      /* DENALI_PHY_1038_DATA */
+               0x00000408      /* DENALI_PHY_1039_DATA */
+               0x00e4e400      /* DENALI_PHY_1040_DATA */
+               0x00000000      /* DENALI_PHY_1041_DATA */
+               0x00000000      /* DENALI_PHY_1042_DATA */
+               0x00000000      /* DENALI_PHY_1043_DATA */
+               0x00000000      /* DENALI_PHY_1044_DATA */
+               0x00000000      /* DENALI_PHY_1045_DATA */
+               0x00000000      /* DENALI_PHY_1046_DATA */
+               0x00000000      /* DENALI_PHY_1047_DATA */
+               0x00000000      /* DENALI_PHY_1048_DATA */
+               0x00000000      /* DENALI_PHY_1049_DATA */
+               0x00000000      /* DENALI_PHY_1050_DATA */
+               0x00000000      /* DENALI_PHY_1051_DATA */
+               0x00000000      /* DENALI_PHY_1052_DATA */
+               0x00000000      /* DENALI_PHY_1053_DATA */
+               0x00000000      /* DENALI_PHY_1054_DATA */
+               0x00000000      /* DENALI_PHY_1055_DATA */
+               0x00000000      /* DENALI_PHY_1056_DATA */
+               0x00200000      /* DENALI_PHY_1057_DATA */
+               0x00000000      /* DENALI_PHY_1058_DATA */
+               0x00000000      /* DENALI_PHY_1059_DATA */
+               0x00000000      /* DENALI_PHY_1060_DATA */
+               0x00000000      /* DENALI_PHY_1061_DATA */
+               0x00000000      /* DENALI_PHY_1062_DATA */
+               0x00000000      /* DENALI_PHY_1063_DATA */
+               0x02800280      /* DENALI_PHY_1064_DATA */
+               0x02800280      /* DENALI_PHY_1065_DATA */
+               0x02800280      /* DENALI_PHY_1066_DATA */
+               0x02800280      /* DENALI_PHY_1067_DATA */
+               0x00000280      /* DENALI_PHY_1068_DATA */
+               0x00000000      /* DENALI_PHY_1069_DATA */
+               0x00000000      /* DENALI_PHY_1070_DATA */
+               0x00000000      /* DENALI_PHY_1071_DATA */
+               0x00000000      /* DENALI_PHY_1072_DATA */
+               0x00000000      /* DENALI_PHY_1073_DATA */
+               0x00800080      /* DENALI_PHY_1074_DATA */
+               0x00800080      /* DENALI_PHY_1075_DATA */
+               0x00800080      /* DENALI_PHY_1076_DATA */
+               0x00800080      /* DENALI_PHY_1077_DATA */
+               0x00800080      /* DENALI_PHY_1078_DATA */
+               0x00800080      /* DENALI_PHY_1079_DATA */
+               0x00800080      /* DENALI_PHY_1080_DATA */
+               0x00800080      /* DENALI_PHY_1081_DATA */
+               0x00800080      /* DENALI_PHY_1082_DATA */
+               0x000100da      /* DENALI_PHY_1083_DATA */
+               0x00000200      /* DENALI_PHY_1084_DATA */
+               0x00000000      /* DENALI_PHY_1085_DATA */
+               0x00000000      /* DENALI_PHY_1086_DATA */
+               0x00000002      /* DENALI_PHY_1087_DATA */
+               0x51313152      /* DENALI_PHY_1088_DATA */
+               0x80013130      /* DENALI_PHY_1089_DATA */
+               0x02000080      /* DENALI_PHY_1090_DATA */
+               0x00100001      /* DENALI_PHY_1091_DATA */
+               0x0c064208      /* DENALI_PHY_1092_DATA */
+               0x000f0c0f      /* DENALI_PHY_1093_DATA */
+               0x01000140      /* DENALI_PHY_1094_DATA */
+               0x0000000c      /* DENALI_PHY_1095_DATA */
+               0x00000000      /* DENALI_PHY_1096_DATA */
+               0x00000000      /* DENALI_PHY_1097_DATA */
+               0x00000000      /* DENALI_PHY_1098_DATA */
+               0x00000000      /* DENALI_PHY_1099_DATA */
+               0x00000000      /* DENALI_PHY_1100_DATA */
+               0x00000000      /* DENALI_PHY_1101_DATA */
+               0x00000000      /* DENALI_PHY_1102_DATA */
+               0x00000000      /* DENALI_PHY_1103_DATA */
+               0x00000000      /* DENALI_PHY_1104_DATA */
+               0x00000000      /* DENALI_PHY_1105_DATA */
+               0x00000000      /* DENALI_PHY_1106_DATA */
+               0x00000000      /* DENALI_PHY_1107_DATA */
+               0x00000000      /* DENALI_PHY_1108_DATA */
+               0x00000000      /* DENALI_PHY_1109_DATA */
+               0x00000000      /* DENALI_PHY_1110_DATA */
+               0x00000000      /* DENALI_PHY_1111_DATA */
+               0x00000000      /* DENALI_PHY_1112_DATA */
+               0x00000000      /* DENALI_PHY_1113_DATA */
+               0x00000000      /* DENALI_PHY_1114_DATA */
+               0x00000000      /* DENALI_PHY_1115_DATA */
+               0x00000000      /* DENALI_PHY_1116_DATA */
+               0x00000000      /* DENALI_PHY_1117_DATA */
+               0x00000000      /* DENALI_PHY_1118_DATA */
+               0x00000000      /* DENALI_PHY_1119_DATA */
+               0x00000000      /* DENALI_PHY_1120_DATA */
+               0x00000000      /* DENALI_PHY_1121_DATA */
+               0x00000000      /* DENALI_PHY_1122_DATA */
+               0x00000000      /* DENALI_PHY_1123_DATA */
+               0x00000000      /* DENALI_PHY_1124_DATA */
+               0x00000000      /* DENALI_PHY_1125_DATA */
+               0x00000000      /* DENALI_PHY_1126_DATA */
+               0x00000000      /* DENALI_PHY_1127_DATA */
+               0x00000000      /* DENALI_PHY_1128_DATA */
+               0x00000000      /* DENALI_PHY_1129_DATA */
+               0x00000000      /* DENALI_PHY_1130_DATA */
+               0x00000000      /* DENALI_PHY_1131_DATA */
+               0x00000000      /* DENALI_PHY_1132_DATA */
+               0x00000000      /* DENALI_PHY_1133_DATA */
+               0x00000000      /* DENALI_PHY_1134_DATA */
+               0x00000000      /* DENALI_PHY_1135_DATA */
+               0x00000000      /* DENALI_PHY_1136_DATA */
+               0x00000000      /* DENALI_PHY_1137_DATA */
+               0x00000000      /* DENALI_PHY_1138_DATA */
+               0x00000000      /* DENALI_PHY_1139_DATA */
+               0x00000000      /* DENALI_PHY_1140_DATA */
+               0x00000000      /* DENALI_PHY_1141_DATA */
+               0x00000000      /* DENALI_PHY_1142_DATA */
+               0x00000000      /* DENALI_PHY_1143_DATA */
+               0x00000000      /* DENALI_PHY_1144_DATA */
+               0x00000000      /* DENALI_PHY_1145_DATA */
+               0x00000000      /* DENALI_PHY_1146_DATA */
+               0x00000000      /* DENALI_PHY_1147_DATA */
+               0x00000000      /* DENALI_PHY_1148_DATA */
+               0x00000000      /* DENALI_PHY_1149_DATA */
+               0x00000000      /* DENALI_PHY_1150_DATA */
+               0x00000000      /* DENALI_PHY_1151_DATA */
+               0x00000000      /* DENALI_PHY_1152_DATA */
+               0x00000000      /* DENALI_PHY_1153_DATA */
+               0x00050000      /* DENALI_PHY_1154_DATA */
+               0x00000000      /* DENALI_PHY_1155_DATA */
+               0x00000000      /* DENALI_PHY_1156_DATA */
+               0x00000000      /* DENALI_PHY_1157_DATA */
+               0x00000100      /* DENALI_PHY_1158_DATA */
+               0x00000000      /* DENALI_PHY_1159_DATA */
+               0x00000000      /* DENALI_PHY_1160_DATA */
+               0x00506401      /* DENALI_PHY_1161_DATA */
+               0x01221102      /* DENALI_PHY_1162_DATA */
+               0x00000122      /* DENALI_PHY_1163_DATA */
+               0x00000000      /* DENALI_PHY_1164_DATA */
+               0x000B1F00      /* DENALI_PHY_1165_DATA */
+               0x0B1F0B1F      /* DENALI_PHY_1166_DATA */
+               0x0B1F0B1B      /* DENALI_PHY_1167_DATA */
+               0x0B1F0B1F      /* DENALI_PHY_1168_DATA */
+               0x0B1F0B1F      /* DENALI_PHY_1169_DATA */
+               0x00000B00      /* DENALI_PHY_1170_DATA */
+               0x42080010      /* DENALI_PHY_1171_DATA */
+               0x01000100      /* DENALI_PHY_1172_DATA */
+               0x01000100      /* DENALI_PHY_1173_DATA */
+               0x01000100      /* DENALI_PHY_1174_DATA */
+               0x01000100      /* DENALI_PHY_1175_DATA */
+               0x00000000      /* DENALI_PHY_1176_DATA */
+               0x00000000      /* DENALI_PHY_1177_DATA */
+               0x00000000      /* DENALI_PHY_1178_DATA */
+               0x00000000      /* DENALI_PHY_1179_DATA */
+               0x00000000      /* DENALI_PHY_1180_DATA */
+               0x00000803      /* DENALI_PHY_1181_DATA */
+               0x223FFF00      /* DENALI_PHY_1182_DATA */
+               0x000008FF      /* DENALI_PHY_1183_DATA */
+               0x0000057F      /* DENALI_PHY_1184_DATA */
+               0x0000057F      /* DENALI_PHY_1185_DATA */
+               0x00037FFF      /* DENALI_PHY_1186_DATA */
+               0x00037FFF      /* DENALI_PHY_1187_DATA */
+               0x00004410      /* DENALI_PHY_1188_DATA */
+               0x00004410      /* DENALI_PHY_1189_DATA */
+               0x00004410      /* DENALI_PHY_1190_DATA */
+               0x00004410      /* DENALI_PHY_1191_DATA */
+               0x00004410      /* DENALI_PHY_1192_DATA */
+               0x00037FFF      /* DENALI_PHY_1193_DATA */
+               0x00037FFF      /* DENALI_PHY_1194_DATA */
+               0x00000000      /* DENALI_PHY_1195_DATA */
+               0x00000000      /* DENALI_PHY_1196_DATA */
+               0x00000000      /* DENALI_PHY_1197_DATA */
+               0x04000000      /* DENALI_PHY_1198_DATA */
+               0x00000000      /* DENALI_PHY_1199_DATA */
+               0x00000000      /* DENALI_PHY_1200_DATA */
+               0x00000108      /* DENALI_PHY_1201_DATA */
+               0x00000000      /* DENALI_PHY_1202_DATA */
+               0x00000000      /* DENALI_PHY_1203_DATA */
+               0x00000000      /* DENALI_PHY_1204_DATA */
+               0x00000001      /* DENALI_PHY_1205_DATA */
+               0x00000000      /* DENALI_PHY_1206_DATA */
+               0x00000000      /* DENALI_PHY_1207_DATA */
+               0x00000000      /* DENALI_PHY_1208_DATA */
+               0x00000000      /* DENALI_PHY_1209_DATA */
+               0x00000000      /* DENALI_PHY_1210_DATA */
+               0x00000000      /* DENALI_PHY_1211_DATA */
+               0x00020100      /* DENALI_PHY_1212_DATA */
+               0x00000000      /* DENALI_PHY_1213_DATA */
+               0x00000000      /* DENALI_PHY_1214_DATA */
+       >;
+};
index 2aebfab646659dae54c722dabac5e038ab737e9a..303806454b048609cc0c8fc31156d52a41b94ed8 100644 (file)
@@ -3,9 +3,31 @@
  * Copyright (C) 2019 Jagan Teki <jagan@amarulasolutions.com>
  */
 
+#include "fu540-c000-u-boot.dtsi"
+#include "fu540-hifive-unleashed-a00-ddr.dtsi"
+
 / {
        aliases {
                spi0 = &qspi0;
                spi2 = &qspi2;
        };
+
+       hfclk {
+               u-boot,dm-spl;
+       };
+
+       rtcclk {
+               u-boot,dm-spl;
+       };
+
+};
+
+&qspi2 {
+       mmc@0 {
+               u-boot,dm-spl;
+       };
+};
+
+&gpio {
+       u-boot,dm-spl;
 };
index 88cfcb96bf233d3bb1c7677eb5526f6072e8ce77..4a2729f5ca3f0113be3e02e72f9c427fe02207cc 100644 (file)
@@ -2,6 +2,7 @@
 /* Copyright (c) 2018-2019 SiFive, Inc */
 
 #include "fu540-c000.dtsi"
+#include <dt-bindings/gpio/gpio.h>
 
 /* Clock frequency (in Hz) of the PCB crystal for rtcclk */
 #define RTCCLK_FREQ            1000000
                clock-frequency = <RTCCLK_FREQ>;
                clock-output-names = "rtcclk";
        };
+       gpio-restart {
+               compatible = "gpio-restart";
+               gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
+       };
 };
 
 &uart0 {
@@ -94,3 +99,7 @@
 &pwm1 {
        status = "okay";
 };
+
+&gpio {
+       status = "okay";
+};
diff --git a/arch/riscv/include/asm/arch-fu540/clk.h b/arch/riscv/include/asm/arch-fu540/clk.h
new file mode 100644 (file)
index 0000000..d71ed43
--- /dev/null
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (c) 2020 SiFive Inc
+ *
+ * Authors:
+ *   Pragnesh Patel <pragnesh.patel@sifive.com>
+ */
+
+#ifndef __CLK_SIFIVE_H
+#define __CLK_SIFIVE_H
+
+/* Note: This is a placeholder header for driver compilation. */
+
+#endif
diff --git a/arch/riscv/include/asm/arch-fu540/gpio.h b/arch/riscv/include/asm/arch-fu540/gpio.h
new file mode 100644 (file)
index 0000000..0d16c59
--- /dev/null
@@ -0,0 +1,38 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (C) 2019 SiFive, Inc.
+ */
+
+#ifndef _GPIO_SIFIVE_H
+#define _GPIO_SIFIVE_H
+
+#define GPIO_INPUT_VAL 0x00
+#define GPIO_INPUT_EN  0x04
+#define GPIO_OUTPUT_EN 0x08
+#define GPIO_OUTPUT_VAL        0x0C
+#define GPIO_RISE_IE   0x18
+#define GPIO_RISE_IP   0x1C
+#define GPIO_FALL_IE   0x20
+#define GPIO_FALL_IP   0x24
+#define GPIO_HIGH_IE   0x28
+#define GPIO_HIGH_IP   0x2C
+#define GPIO_LOW_IE    0x30
+#define GPIO_LOW_IP    0x34
+#define GPIO_OUTPUT_XOR        0x40
+
+#define NR_GPIOS       16
+
+enum gpio_state {
+       LOW,
+       HIGH
+};
+
+/* Details about a GPIO bank */
+struct sifive_gpio_platdata {
+       void *base;     /* address of registers in physical memory */
+};
+
+#define SIFIVE_GENERIC_GPIO_NR(port, index) \
+               (((port) * NR_GPIOS) + ((index) & (NR_GPIOS - 1)))
+
+#endif /* _GPIO_SIFIVE_H */
diff --git a/arch/riscv/include/asm/arch-fu540/spl.h b/arch/riscv/include/asm/arch-fu540/spl.h
new file mode 100644 (file)
index 0000000..0c188be
--- /dev/null
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (C) 2020 SiFive, Inc.
+ *
+ * Authors:
+ *   Pragnesh Patel <pragnesh.patel@sifve.com>
+ */
+
+#ifndef _SPL_SIFIVE_H
+#define _SPL_SIFIVE_H
+
+int soc_spl_init(void);
+
+#endif /* _SPL_SIFIVE_H */
index 453cb5cec5eb1700ecbbc18aa7b964cf3a887e5b..08e1ac0c0e21ee75a59933aacad4836d7aa99b55 100644 (file)
@@ -77,7 +77,6 @@ enum sbi_ext_rfence_fid {
 #define SBI_FID_REMOTE_SFENCE_VMA_ASID SBI_EXT_RFENCE_REMOTE_SFENCE_VMA_ASID
 #endif
 
-#define SBI_SPEC_VERSION_DEFAULT       0x1
 #define SBI_SPEC_VERSION_MAJOR_SHIFT   24
 #define SBI_SPEC_VERSION_MAJOR_MASK    0x7f
 #define SBI_SPEC_VERSION_MINOR_MASK    0xffffff
@@ -90,7 +89,6 @@ enum sbi_ext_rfence_fid {
 #define SBI_ERR_DENIED                 -4
 #define SBI_ERR_INVALID_ADDRESS                -5
 
-extern unsigned long sbi_spec_version;
 struct sbiret {
        long error;
        long value;
index 993597e33db1d89f9554f77968bbb75fc5a448ba..8fbc23839dda938e15f196156f4a573c1de49008 100644 (file)
@@ -11,9 +11,6 @@
 #include <asm/encoding.h>
 #include <asm/sbi.h>
 
-/* default SBI version is 0.1 */
-unsigned long sbi_spec_version = SBI_SPEC_VERSION_DEFAULT;
-
 struct sbiret sbi_ecall(int ext, int fid, unsigned long arg0,
                        unsigned long arg1, unsigned long arg2,
                        unsigned long arg3, unsigned long arg4,
@@ -56,6 +53,25 @@ void sbi_set_timer(uint64_t stime_value)
 #endif
 }
 
+/**
+ * sbi_probe_extension() - Check if an SBI extension ID is supported or not.
+ * @extid: The extension ID to be probed.
+ *
+ * Return: Extension specific nonzero value f yes, -ENOTSUPP otherwise.
+ */
+int sbi_probe_extension(int extid)
+{
+       struct sbiret ret;
+
+       ret = sbi_ecall(SBI_EXT_BASE, SBI_EXT_BASE_PROBE_EXT, extid,
+                       0, 0, 0, 0, 0);
+       if (!ret.error)
+               if (ret.value)
+                       return ret.value;
+
+       return -ENOTSUPP;
+}
+
 #ifdef CONFIG_SBI_V01
 
 /**
@@ -165,22 +181,4 @@ void sbi_remote_sfence_vma_asid(const unsigned long *hart_mask,
                  (unsigned long)hart_mask, start, size, asid, 0, 0);
 }
 
-/**
- * sbi_probe_extension() - Check if an SBI extension ID is supported or not.
- * @extid: The extension ID to be probed.
- *
- * Return: Extension specific nonzero value f yes, -ENOTSUPP otherwise.
- */
-int sbi_probe_extension(int extid)
-{
-       struct sbiret ret;
-
-       ret = sbi_ecall(SBI_EXT_BASE, SBI_EXT_BASE_PROBE_EXT, extid,
-                       0, 0, 0, 0, 0);
-       if (!ret.error)
-               if (ret.value)
-                       return ret.value;
-
-       return -ENOTSUPP;
-}
 #endif /* CONFIG_SBI_V01 */
index d450d3c2b2afc7d068d61cb028ac62b3c71b894d..c8dec3569b4d902a876e322ddfeff54be845552a 100644 (file)
@@ -24,7 +24,6 @@ Currently the u-boot port supports the following devices:
 u-boot compilation
 ==================
 
- > export ARCH=arm
  > export CROSS_COMPILE=aarch64-none-elf-
  > make nanopi-k2_defconfig
  > make
index bed48c5728ba9e0200d45773e28a34e949069492..3b9f80df29d8451b49175c68c64c953ffe31369a 100644 (file)
@@ -29,7 +29,6 @@ Currently the u-boot port supports the following devices:
 u-boot compilation
 ==================
 
- > export ARCH=arm
  > export CROSS_COMPILE=aarch64-none-elf-
  > make odroid-c2_defconfig
  > make
index 01d82d1e79e3d7b7550c65debdb88de8f6915499..84d5ca53569170fac3de2349e373249c55edb97b 100644 (file)
@@ -31,7 +31,6 @@ Currently the u-boot port supports the following devices:
 u-boot compilation
 ==================
 
- > export ARCH=arm
  > export CROSS_COMPILE=aarch64-none-elf-
  > make p200_defconfig
  > make
index c251096ce14212820a51a7f537f6c7e48e2a1801..4bb5e95905324c82748b58a8c6cb5d8b243aa58f 100644 (file)
@@ -31,7 +31,6 @@ Currently the u-boot port supports the following devices:
 u-boot compilation
 ==================
 
- > export ARCH=arm
  > export CROSS_COMPILE=aarch64-none-elf-
  > make p201_defconfig
  > make
index a2c7606454f8beed93cd52bedebe0584704752a8..ccf933861b794c42502cd87a43eadc50fa33f8a6 100644 (file)
@@ -30,7 +30,6 @@ Currently the u-boot port supports the following devices:
 U-Boot compilation
 ==================
 
- > export ARCH=arm
  > export CROSS_COMPILE=aarch64-none-elf-
  > make khadas-vim_defconfig
  > make
index 538604261b84978ed90e35021ff9360c79d94a99..3f713ec32634c651b7e7e3dc3d189520dd76484f 100644 (file)
@@ -25,7 +25,6 @@ Currently the U-Boot port supports the following devices:
 U-Boot compilation
 ==================
 
- > export ARCH=arm
  > export CROSS_COMPILE=aarch64-none-elf-
  > make libretech-ac_defconfig
  > make
index 6af7de3cfa7904c679b155950d8b39dbfa305264..74434d4435ec467ceeaed57ea4b1b095fcfae3af 100644 (file)
@@ -30,7 +30,6 @@ Currently the U-Boot port supports the following devices:
 U-Boot compilation
 ==================
 
- > export ARCH=arm
  > export CROSS_COMPILE=aarch64-none-elf-
  > make libretech-cc_defconfig
  > make
index ef5370c763c46d62fc8c7e8531d677b2f42d0db2..3776f24493910ed8187ac0b7b1b31f31e64e53db 100644 (file)
@@ -31,7 +31,6 @@ Currently the u-boot port supports the following devices:
 u-boot compilation
 ==================
 
- > export ARCH=arm
  > export CROSS_COMPILE=aarch64-none-elf-
  > make p212_defconfig
  > make
index 8bcfc296f3e0966c976c9be954568e49a44d40ea..595998c4fabbd19116af18252b680a541fcce82a 100644 (file)
@@ -31,7 +31,6 @@ Currently the u-boot port supports the following devices:
 U-Boot compilation
 ==================
 
- > export ARCH=arm
  > export CROSS_COMPILE=aarch64-none-elf-
  > make khadas-vim2_defconfig
  > make
index 55d730a0d200c80020c5aa2c167c5b386a143ed7..d4142c88bd42ef44d458082324c8c78f95b3d535 100644 (file)
@@ -30,7 +30,6 @@ Currently the u-boot port supports the following devices:
 U-Boot compilation
 ==================
 
- > export ARCH=arm
  > export CROSS_COMPILE=aarch64-none-elf-
  > make khadas-vim2_defconfig
  > make
index ab21998dc8364473f40159bec2ea673dc6a244fa..a48db22a4282c939833e0d224de1b5684f5fc044 100644 (file)
@@ -31,7 +31,6 @@ Currently the u-boot port supports the following devices:
 u-boot compilation
 ==================
 
- > export ARCH=arm
  > export CROSS_COMPILE=aarch64-none-elf-
  > make s400_defconfig
  > make
index e47ebc7b3a5af7d419b85c65e5d3a8d600e2579b..d9358aa50183d68862551e877e8378eeb2d757bd 100644 (file)
@@ -22,7 +22,6 @@ Currently the u-boot port supports the following devices:
 u-boot compilation
 ==================
 
- > export ARCH=arm
  > export CROSS_COMPILE=aarch64-none-elf-
  > make sei510_defconfig
  > make
index 1cc2b3c2a4e94ab542b35f5f6b42a00c8c2d80b9..d96a94b5e970e1d777e158e17ac22e15d4b4dddc 100644 (file)
@@ -18,7 +18,6 @@ specifications:
 u-boot compilation
 ==================
 
- > export ARCH=arm
  > export CROSS_COMPILE=aarch64-none-elf-
  > make sei610_defconfig
  > make
index bffac5e7ae0a20a5493d5a02f37339003d7e8c43..a4080eb299c427776cf2aef8b3bbad28059f4308 100644 (file)
@@ -27,7 +27,6 @@ Currently the u-boot port supports the following devices:
 u-boot compilation
 ==================
 
- > export ARCH=arm
  > export CROSS_COMPILE=aarch64-none-elf-
  > make u200_defconfig
  > make
index 45ef90c1b0a9b991d8315835c69be014b89c44b4..399bf49295f65f792cc1001cef1bb88f4dc65e93 100644 (file)
@@ -29,7 +29,6 @@ Currently the U-Boot port supports the following devices:
 u-boot compilation
 ==================
 
- > export ARCH=arm
  > export CROSS_COMPILE=aarch64-none-elf-
  > make khadas-vim3_defconfig
  > make
index 0afff16c0c26fc37d70cc426f679dff6710c193d..b2d9abbfd9b2981d452c843a1a23d13693e3c1ec 100644 (file)
@@ -29,7 +29,6 @@ Currently the U-Boot port supports the following devices:
 u-boot compilation
 ==================
 
- > export ARCH=arm
  > export CROSS_COMPILE=aarch64-none-elf-
  > make khadas-vim3l_defconfig
  > make
index a8f2c3d7daa6e4402d9c0f637ea2964623debbab..8142eebea007b59cea50e4651e96a87cdb23f6ee 100644 (file)
@@ -28,7 +28,6 @@ Currently the u-boot port supports the following devices:
 u-boot compilation
 ==================
 
- > export ARCH=arm
  > export CROSS_COMPILE=aarch64-none-elf-
  > make odroid-n2_defconfig
  > make
index 25b786d817c4e73b7ae4e624eef4fd2f9e0230a6..c129717a1189a593e301dea57773107bb924d389 100644 (file)
@@ -27,7 +27,6 @@ Currently the u-boot port supports the following devices:
 u-boot compilation
 ==================
 
- > export ARCH=arm
  > export CROSS_COMPILE=aarch64-none-elf-
  > make w400_defconfig
  > make
index f3816c83345ed9a2cae0d5aaf942eb3eed605c56..376562cd0e7d0f368313aa4b283813af2b1097b3 100644 (file)
@@ -20,10 +20,12 @@ extern void at91_pda_detect(void);
 
 DECLARE_GLOBAL_DATA_PTR;
 
+#ifdef CONFIG_CMD_USB
 static void board_usb_hw_init(void)
 {
        atmel_pio4_set_pio_output(AT91_PIO_PORTA, 27, 1);
 }
+#endif
 
 #ifdef CONFIG_BOARD_LATE_INIT
 int board_late_init(void)
index 4b3a703f260c0437e91dde1c8dbe4e3b3249e249..b0a23b02db2bf573524c32c0ef2e87e86f0aa12d 100644 (file)
@@ -76,10 +76,12 @@ int board_late_init(void)
 }
 #endif
 
+#ifdef CONFIG_CMD_USB
 static void board_usb_hw_init(void)
 {
        atmel_pio4_set_pio_output(AT91_PIO_PORTB, 12, ATMEL_PIO_PUEN_MASK);
 }
+#endif
 
 #ifdef CONFIG_DEBUG_UART_BOARD_INIT
 static void board_uart0_hw_init(void)
index 2116b788378fe63de8118e0026afc78db83fbc79..01636fb73d010f882fcf500d2d72be28c80a732c 100644 (file)
@@ -20,10 +20,12 @@ extern void at91_pda_detect(void);
 
 DECLARE_GLOBAL_DATA_PTR;
 
+#ifdef CONFIG_CMD_USB
 static void board_usb_hw_init(void)
 {
        atmel_pio4_set_pio_output(AT91_PIO_PORTB, 10, 1);
 }
+#endif
 
 #ifdef CONFIG_BOARD_LATE_INIT
 int board_late_init(void)
index 4223fbd15dd60e88427790fec4cf5b477e9f9864..dce176fa0b236ed38071ca074e05eda9af69217b 100644 (file)
@@ -26,7 +26,7 @@ $ cp firmware-imx-8.5/firmware/ddr/synopsys/lpddr4*.bin $(srctree)
 Build U-Boot
 ============
 $ make imx8mm_beacon_defconfig
-$ make flash.bin ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- ATF_LOAD_ADDR=0x920000
+$ make flash.bin CROSS_COMPILE=aarch64-linux-gnu- ATF_LOAD_ADDR=0x920000
 
 Burn U-Boot to microSD Card
 ===========================
index 2e249cbb3a2e881b3e154a63abf2cede6bebc39b..a6120f1845d2a7af90e5b61d679df246dfc9951a 100644 (file)
@@ -56,7 +56,6 @@ Note: 1 stands for 'off', 0 stands for 'on'
 Build and program U-Boot to NOR flash
 ==================================
 1. Build u-boot.bin image example:
-       export ARCH=powerpc
        export CROSS_COMPILE=/your_path/powerpc-linux-gnu-
        make C293PCIE
 
index 105942f7a54f40b92674d481b6c7327d34ac4710..46c61237c72790f11498e5039c4853d9ac71038a 100644 (file)
@@ -98,7 +98,6 @@ instead of to CAN/UART1.
 Build and burn U-Boot to NOR flash
 ==================================
 1. Build u-boot.bin image
-       export ARCH=powerpc
        export CROSS_COMPILE=/your_path/powerpc-linux-gnu-
        make P1010RDB_NOR
 
index dc82f0df09845f140f052b19a1161baaaed8f44d..4a3b389877fca81b35a6949b7b57e12fb9eab2ff 100644 (file)
@@ -128,7 +128,6 @@ To enable IFC in case of SD boot
 Build images for different boot mode
 ====================================
 First setup cross compile environment on build host
-   $ export ARCH=powerpc
    $ export CROSS_COMPILE=<your-compiler-path>/powerpc-linux-gnu-
 
 1. For NOR boot
index 26d053a32c3bb75c5b905481748d3c135f0631cd..19f79c5734bc544b59561aabc0b7b2fe58ab04a8 100644 (file)
@@ -17,7 +17,7 @@ Building U-Boot for Logic PD Development Kit
 To build U-Boot for the Dual and Quad variants:
 
  make imx6q_logic_defconfig
- make u-boot.imx ARCH=arm CROSS_COMPILE=arm-linux-
+ make u-boot.imx CROSS_COMPILE=arm-linux-
 
 
 Flashing U-Boot into the SD card
index fed8f52e3e1d469759c3d07104294748cb8737f0..0a961cc8a5a4627452e568ec257eb5883204929d 100644 (file)
@@ -117,7 +117,7 @@ static iomux_v3_cfg_t const gpios_pads[] = {
        IOMUX_PADS(PAD_SD4_DAT3__GPIO2_IO11 | MUX_PAD_CTRL(NO_PAD_CTRL)),
 };
 
-#ifdef CONFIG_CMD_NAND
+#if defined(CONFIG_CMD_NAND) && !defined(CONFIG_SPL_BUILD)
 /* NAND */
 static iomux_v3_cfg_t const nfc_pads[] = {
        IOMUX_PADS(PAD_NANDF_CLE__NAND_CLE      | MUX_PAD_CTRL(NAND_PAD_CTRL)),
@@ -274,7 +274,7 @@ static void setup_gpios(void)
        SETUP_IOMUX_PADS(gpios_pads);
 }
 
-#ifdef CONFIG_CMD_NAND
+#if defined(CONFIG_CMD_NAND) && !defined(CONFIG_SPL_BUILD)
 static void setup_gpmi_nand(void)
 {
        struct mxc_ccm_reg *mxc_ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
@@ -361,7 +361,7 @@ int board_init(void)
 
        setup_gpios();
 
-#ifdef CONFIG_CMD_NAND
+#if defined(CONFIG_CMD_NAND) && !defined(CONFIG_SPL_BUILD)
        setup_gpmi_nand();
 #endif
        return 0;
@@ -657,7 +657,7 @@ void board_init_f(ulong dummy)
                .refr = 7,      /* 8 refresh commands per refresh cycle */
        };
 
-#ifdef CONFIG_CMD_NAND
+#if defined(CONFIG_CMD_NAND) && !defined(CONFIG_SPL_BUILD)
        /* Enable NAND */
        setup_gpmi_nand();
 #endif
index 93328c75b204ded69efcbcab539a4b61dca74573..9068225e2721c5dafd054e1e65a03a9b3a8f331c 100644 (file)
@@ -22,7 +22,6 @@ Compile the U-Boot
 
   > cd ../u-boot
   > export CROSS_COMPILE=arm-linux-gnueabihf-
-  > export ARCH=arm
   > make evb-rk3229_defconfig
   > make
   > make u-boot.itb
index 89becf41c50f7930535fd040bade52e7f304140a..e7dd59ff4ed2d7a7ed5d702ec86187390e4a5df8 100644 (file)
@@ -17,3 +17,10 @@ M:      Matwey V. Kornilov <matwey.kornilov@gmail.com>
 S:      Maintained
 F:      configs/rock64-rk3328_defconfig
 F:      arch/arm/dts/rk3328-rock64-u-boot.dtsi
+
+ROCKPIE-RK3328
+M:      Banglang Huang <banglang.huang@foxmail.com>
+S:      Maintained
+F:      configs/rock-pi-e-rk3328_defconfig
+F:      arch/arm/dts/rk3328-rock-pi-e.dts
+F:      arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi
index da7ae89ab1e9f6677fb2cb858aaf295093c60f32..c6f58203ebe951b033e4ec2d3fa77a470a4889f6 100644 (file)
@@ -54,7 +54,6 @@ Compile U-Boot
 ==============
 
   > cd ../u-boot
-  > export ARCH=arm64
   > export CROSS_COMPILE=aarch64-linux-gnu-
   > make evb-rk3399_defconfig
   for firefly-rk3399, use below instead:
index 75661f35f8aae86ce377728e74b05fd96bc9b46c..86193d7668be3dad5e388bd6c885c1c5d34b232c 100644 (file)
@@ -7,23 +7,35 @@ config SYS_VENDOR
        default "sifive"
 
 config SYS_CPU
-       default "generic"
+       default "fu540"
 
 config SYS_CONFIG_NAME
        default "sifive-fu540"
 
 config SYS_TEXT_BASE
+       default 0x80200000 if SPL
        default 0x80000000 if !RISCV_SMODE
        default 0x80200000 if RISCV_SMODE
 
+config SPL_TEXT_BASE
+       default 0x08000000
+
+config SPL_OPENSBI_LOAD_ADDR
+       default 0x80000000
+
 config BOARD_SPECIFIC_OPTIONS # dummy
        def_bool y
-       select GENERIC_RISCV
+       select SIFIVE_FU540
+       select SUPPORT_SPL
+       select RAM
+       select SPL_RAM if SPL
        imply CMD_DHCP
        imply CMD_EXT2
        imply CMD_EXT4
        imply CMD_FAT
        imply CMD_FS_GENERIC
+       imply CMD_GPT
+       imply PARTITION_TYPE_GUID
        imply CMD_NET
        imply CMD_PING
        imply CMD_SF
@@ -51,5 +63,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
        imply SIFIVE_GPIO
        imply CMD_GPIO
        imply SMP
+       imply MISC
+       imply SIFIVE_OTP
 
 endif
index 5381fc0639ddea85255c9b535c826c3289d34380..27620727bd9bf3591a0cd39283ab2f2ab6e30ed5 100644 (file)
@@ -5,5 +5,6 @@ M:      Anup Patel <anup.patel@wdc.com>
 M:     Atish Patra <atish.patra@wdc.com>
 S:     Maintained
 F:     board/sifive/fu540/
+F:     doc/board/sifive/fu540.rst
 F:     include/configs/sifive-fu540.h
 F:     configs/sifive_fu540_defconfig
index 6e1862c475d4438b449e2fc5e976ae56998b5f02..b05e2f58078d6de2882535a1bfd614be4607ce2b 100644 (file)
@@ -3,3 +3,7 @@
 # Copyright (c) 2019 Western Digital Corporation or its affiliates.
 
 obj-y  += fu540.o
+
+ifdef CONFIG_SPL_BUILD
+obj-y += spl.o
+endif
index df57b6ecc22974b276d11505a2097a3efecf9d2f..fa705dea71dfcf6024c0b2fcac6e82c20eac2927 100644 (file)
  *   Anup Patel <anup.patel@wdc.com>
  */
 
-#include <common.h>
 #include <dm.h>
 #include <env.h>
 #include <init.h>
+#include <log.h>
 #include <linux/bug.h>
 #include <linux/delay.h>
 #include <linux/io.h>
+#include <misc.h>
+#include <spl.h>
+
+/*
+ * This define is a value used for error/unknown serial.
+ * If we really care about distinguishing errors and 0 is
+ * valid, we'll need a different one.
+ */
+#define ERROR_READING_SERIAL_NUMBER       0
 
 #ifdef CONFIG_MISC_INIT_R
 
-#define FU540_OTP_BASE_ADDR                    0x10070000
-
-struct fu540_otp_regs {
-       u32 pa;     /* Address input */
-       u32 paio;   /* Program address input */
-       u32 pas;    /* Program redundancy cell selection input */
-       u32 pce;    /* OTP Macro enable input */
-       u32 pclk;   /* Clock input */
-       u32 pdin;   /* Write data input */
-       u32 pdout;  /* Read data output */
-       u32 pdstb;  /* Deep standby mode enable input (active low) */
-       u32 pprog;  /* Program mode enable input */
-       u32 ptc;    /* Test column enable input */
-       u32 ptm;    /* Test mode enable input */
-       u32 ptm_rep;/* Repair function test mode enable input */
-       u32 ptr;    /* Test row enable input */
-       u32 ptrim;  /* Repair function enable input */
-       u32 pwe;    /* Write enable input (defines program cycle) */
-} __packed;
-
-#define BYTES_PER_FUSE                         4
-#define NUM_FUSES                              0x1000
-
-static int fu540_otp_read(int offset, void *buf, int size)
+#if CONFIG_IS_ENABLED(SIFIVE_OTP)
+static u32 otp_read_serialnum(struct udevice *dev)
 {
-       struct fu540_otp_regs *regs = (void __iomem *)FU540_OTP_BASE_ADDR;
-       unsigned int i;
-       int fuseidx = offset / BYTES_PER_FUSE;
-       int fusecount = size / BYTES_PER_FUSE;
-       u32 fusebuf[fusecount];
-
-       /* check bounds */
-       if (offset < 0 || size < 0)
-               return -EINVAL;
-       if (fuseidx >= NUM_FUSES)
-               return -EINVAL;
-       if ((fuseidx + fusecount) > NUM_FUSES)
-               return -EINVAL;
+       int ret;
+       u32 serial[2] = {0};
 
-       /* init OTP */
-       writel(0x01, &regs->pdstb); /* wake up from stand-by */
-       writel(0x01, &regs->ptrim); /* enable repair function */
-       writel(0x01, &regs->pce);   /* enable input */
-
-       /* read all requested fuses */
-       for (i = 0; i < fusecount; i++, fuseidx++) {
-               writel(fuseidx, &regs->pa);
-
-               /* cycle clock to read */
-               writel(0x01, &regs->pclk);
-               mdelay(1);
-               writel(0x00, &regs->pclk);
-               mdelay(1);
-
-               /* read the value */
-               fusebuf[i] = readl(&regs->pdout);
-       }
+       for (int i = 0xfe * 4; i > 0; i -= 8) {
+               ret = misc_read(dev, i, serial, sizeof(serial));
 
-       /* shut down */
-       writel(0, &regs->pce);
-       writel(0, &regs->ptrim);
-       writel(0, &regs->pdstb);
+               if (ret != sizeof(serial)) {
+                       printf("%s: error reading serial from OTP\n", __func__);
+                       break;
+               }
 
-       /* copy out */
-       memcpy(buf, fusebuf, size);
+               if (serial[0] == ~serial[1])
+                       return serial[0];
+       }
 
-       return 0;
+       return ERROR_READING_SERIAL_NUMBER;
 }
+#endif
 
 static u32 fu540_read_serialnum(void)
 {
+       u32 serial = ERROR_READING_SERIAL_NUMBER;
+
+#if CONFIG_IS_ENABLED(SIFIVE_OTP)
+       struct udevice *dev;
        int ret;
-       u32 serial[2] = {0};
 
-       for (int i = 0xfe * 4; i > 0; i -= 8) {
-               ret = fu540_otp_read(i, serial, sizeof(serial));
-               if (ret) {
-                       printf("%s: error reading from OTP\n", __func__);
-                       break;
-               }
-               if (serial[0] == ~serial[1])
-                       return serial[0];
+       /* init OTP */
+       ret = uclass_get_device_by_driver(UCLASS_MISC,
+                                         DM_GET_DRIVER(sifive_otp), &dev);
+
+       if (ret) {
+               debug("%s: could not find otp device\n", __func__);
+               return serial;
        }
 
-       return 0;
+       /* read serial from OTP and set env var */
+       serial = otp_read_serialnum(dev);
+#endif
+
+       return serial;
 }
 
 static void fu540_setup_macaddr(u32 serialnum)
@@ -150,3 +118,23 @@ int board_init(void)
 
        return 0;
 }
+
+#ifdef CONFIG_SPL
+u32 spl_boot_device(void)
+{
+#ifdef CONFIG_SPL_MMC_SUPPORT
+       return BOOT_DEVICE_MMC1;
+#else
+       puts("Unknown boot device\n");
+       hang();
+#endif
+}
+#endif
+
+#ifdef CONFIG_SPL_LOAD_FIT
+int board_fit_config_name_match(const char *name)
+{
+       /* boot using first FIT config */
+       return 0;
+}
+#endif
diff --git a/board/sifive/fu540/spl.c b/board/sifive/fu540/spl.c
new file mode 100644 (file)
index 0000000..55325cf
--- /dev/null
@@ -0,0 +1,74 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (c) 2019 SiFive, Inc
+ *
+ * Authors:
+ *   Pragnesh Patel <pragnesh.patel@sifive.com>
+ */
+
+#include <init.h>
+#include <spl.h>
+#include <misc.h>
+#include <log.h>
+#include <linux/delay.h>
+#include <asm/gpio.h>
+#include <asm/arch/gpio.h>
+#include <asm/arch/spl.h>
+
+#define GEM_PHY_RESET  SIFIVE_GENERIC_GPIO_NR(0, 12)
+
+int init_clk_and_ddr(void)
+{
+       int ret;
+
+       ret = soc_spl_init();
+       if (ret) {
+               debug("FU540 SPL init failed: %d\n", ret);
+               return ret;
+       }
+
+       /*
+        * GEMGXL init VSC8541 PHY reset sequence;
+        * leave pull-down active for 2ms
+        */
+       udelay(2000);
+       ret = gpio_request(GEM_PHY_RESET, "gem_phy_reset");
+       if (ret) {
+               debug("gem_phy_reset gpio request failed: %d\n", ret);
+               return ret;
+       }
+
+       /* Set GPIO 12 (PHY NRESET) */
+       ret = gpio_direction_output(GEM_PHY_RESET, 1);
+       if (ret) {
+               debug("gem_phy_reset gpio direction set failed: %d\n", ret);
+               return ret;
+       }
+
+       udelay(1);
+
+       /* Reset PHY again to enter unmanaged mode */
+       gpio_set_value(GEM_PHY_RESET, 0);
+       udelay(1);
+       gpio_set_value(GEM_PHY_RESET, 1);
+       mdelay(15);
+
+       return 0;
+}
+
+void board_init_f(ulong dummy)
+{
+       int ret;
+
+       ret = spl_early_init();
+       if (ret)
+               panic("spl_early_init() failed: %d\n", ret);
+
+       arch_cpu_init_dm();
+
+       preloader_console_init();
+
+       ret = init_clk_and_ddr();
+       if (ret)
+               panic("init_clk_and_ddr() failed: %d\n", ret);
+}
index 40324ffe5f34188ac4265a7e87fbd49c0f00a838..1b346093b88dab334d57bebbb2a6a5de890ee5b7 100644 (file)
@@ -4,7 +4,7 @@ The boot sequence is ATF -> OPTEE -> U-Boot -> Linux. U-Boot is in non-secure
 world in this case.
 
 - Build u-boot
-    Set environment variable of CROSS_COMPILE for your toolchain and ARCH=arm
+    Set environment variable of CROSS_COMPILE for your toolchain
     $ make pico-imx7d_bl33_defconfig
     $ make all
 
index ad3ac93bd44b6f7a4531c3ec869d7daf9dabfb8e..7488b18326b9bee66797881a2c0035ecb9400d08 100644 (file)
@@ -17,12 +17,12 @@ Configure U-Boot
 Build the TPL/SPL stage
 =======================
 
-  > make CROSS_COMPILE=aarch64-unknown-elf- ARCH=arm
+  > make CROSS_COMPILE=aarch64-unknown-elf-
 
 Build the full U-Boot and a FIT image including the ATF
 =======================================================
 
-  > make CROSS_COMPILE=aarch64-unknown-elf- ARCH=arm u-boot.itb
+  > make CROSS_COMPILE=aarch64-unknown-elf- u-boot.itb
 
 Flash the image
 ===============
index 9e2325275494090fc594f2e803cc69a2d509ce48..e82623a1701e140b635827f34ca574e15b31dc26 100644 (file)
@@ -18,4 +18,19 @@ config ENV_SIZE
 config ENV_OFFSET
        default 0x3fc000 if ENV_IS_IN_SPI_FLASH
 
+choice
+       prompt "Theobroma Systems RK3399-Q7 DDR Option"
+       default TARGET_PUMA_RK3399_RAM_DDR3_1333
+
+config TARGET_PUMA_RK3399_RAM_DDR3_1333
+       bool "DDR3-1333MHz"
+
+config TARGET_PUMA_RK3399_RAM_DDR3_1600
+       bool "DDR3-1600MHz"
+
+config TARGET_PUMA_RK3399_RAM_DDR3_1866
+       bool "DDR3-1866MHz"
+
+endchoice
+
 endif
diff --git a/board/theobroma-systems/puma_rk3399/fit_spl_atf.sh b/board/theobroma-systems/puma_rk3399/fit_spl_atf.sh
deleted file mode 100755 (executable)
index c939657..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/bin/sh
-#
-# SPDX-License-Identifier:      GPL-2.0+
-#
-# Copyright (C) 2019 Jagan Teki <jagan@amarulasolutions.com>
-#
-# Based on the board/sunxi/mksunxi_fit_atf.sh
-#
-# Script to generate FIT image source for 64-bit puma boards with
-# U-Boot proper, ATF, PMU firmware and devicetree.
-#
-# usage: $0 <dt_name> [<dt_name> [<dt_name] ...]
-
-[ -z "$BL31" ] && BL31="bl31.bin"
-
-if [ ! -f $BL31 ]; then
-       echo "WARNING: BL31 file $BL31 NOT found, resulting binary is non-functional" >&2
-       echo "Please read Building section in doc/README.rockchip" >&2
-       BL31=/dev/null
-fi
-
-[ -z "$PMUM0" ] && PMUM0="rk3399m0.bin"
-
-if [ ! -f $PMUM0 ]; then
-       echo "WARNING: PMUM0 file $PMUM0 NOT found, resulting binary is non-functional" >&2
-       echo "Please read Building section in doc/README.rockchip" >&2
-       PMUM0=/dev/null
-fi
-
-cat << __HEADER_EOF
-/* SPDX-License-Identifier: GPL-2.0+ OR X11 */
-/*
- * Copyright (C) 2017 Theobroma Systems Design und Consulting GmbH
- *
- * Minimal dts for a SPL FIT image payload.
- */
-
-/dts-v1/;
-
-/ {
-       description = "FIT image with U-Boot proper, ATF bl31, M0 Firmware, DTB";
-       #address-cells = <1>;
-
-       images {
-               uboot {
-                       description = "U-Boot (64-bit)";
-                       data = /incbin/("u-boot-nodtb.bin");
-                       type = "standalone";
-                       arch = "arm64";
-                       compression = "none";
-                       load = <0x4a000000>;
-               };
-               atf {
-                       description = "ARM Trusted Firmware";
-                       data = /incbin/("$BL31");
-                       type = "firmware";
-                       arch = "arm64";
-                       os = "arm-trusted-firmware";
-                       compression = "none";
-                       load = <0x1000>;
-                       entry = <0x1000>;
-               };
-               pmu {
-                       description = "Cortex-M0 firmware";
-                       data = /incbin/("$PMUM0");
-                       type = "pmu-firmware";
-                       compression = "none";
-                       load = <0x180000>;
-                };
-               fdt {
-                       description = "RK3399-Q7 (Puma) flat device-tree";
-                       data = /incbin/("$1");
-                       type = "flat_dt";
-                       compression = "none";
-               };
-__HEADER_EOF
-
-cat << __CONF_HEADER_EOF
-       };
-
-       configurations {
-               default = "conf";
-               conf {
-                       description = "Theobroma Systems RK3399-Q7 (Puma) SoM";
-                       firmware = "atf";
-                       loadables = "uboot", "pmu";
-                       fdt = "fdt";
-               };
-__CONF_HEADER_EOF
-
-cat << __ITS_EOF
-       };
-};
-__ITS_EOF
index f7f08ae617d4c58553c7f06fa154a08b01f94f3d..deeba3084a8042d6f77116b28ca31032db0a5269 100644 (file)
@@ -114,22 +114,22 @@ static int setup_boottargets(void)
 
 int misc_init_r(void)
 {
-       const u32 cpuid_offset = 0x7;
-       const u32 cpuid_length = 0x10;
-       u8 cpuid[cpuid_length];
-       int ret;
+       const u32 cpuid_offset = 0x7;
+       const u32 cpuid_length = 0x10;
+       u8 cpuid[cpuid_length];
+       int ret;
 
-       ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid);
-       if (ret)
-               return ret;
+       ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid);
+       if (ret)
+               return ret;
 
-       ret = rockchip_cpuid_set(cpuid, cpuid_length);
-       if (ret)
-               return ret;
+       ret = rockchip_cpuid_set(cpuid, cpuid_length);
+       if (ret)
+               return ret;
 
-       ret = rockchip_setup_macaddr();
-       if (ret)
-               return ret;
+       ret = rockchip_setup_macaddr();
+       if (ret)
+               return ret;
 
        setup_iodomain();
        setup_boottargets();
@@ -152,70 +152,3 @@ void get_board_serial(struct tag_serialnr *serialnr)
        serialnr->low = (u32)(serial & 0xffffffff);
 }
 #endif
-
-/**
- * Switch power at an external regulator (for our root hub).
- *
- * @param ctrl pointer to the xHCI controller
- * @param port port number as in the control message (one-based)
- * @param enable boolean indicating whether to enable or disable power
- * @return returns 0 on success, an error-code on failure
- */
-static int board_usb_port_power_set(struct udevice *dev, int port,
-                                   bool enable)
-{
-#if CONFIG_IS_ENABLED(OF_CONTROL) && CONFIG_IS_ENABLED(DM_REGULATOR)
-       /* We start counting ports at 0, while USB counts from 1. */
-       int index = port - 1;
-       const char *regname = NULL;
-       struct udevice *regulator;
-       const char *prop = "tsd,usb-port-power";
-       int ret;
-
-       debug("%s: ctrl '%s' port %d enable %s\n", __func__,
-             dev_read_name(dev), port, enable ? "true" : "false");
-
-       ret = dev_read_string_index(dev, prop, index, &regname);
-       if (ret < 0) {
-               debug("%s: ctrl '%s' port %d: no entry in '%s'\n",
-                     __func__, dev_read_name(dev), port, prop);
-               return ret;
-       }
-
-       ret = regulator_get_by_platname(regname, &regulator);
-       if (ret) {
-               debug("%s: ctrl '%s' port %d: could not get regulator '%s'\n",
-                     __func__, dev_read_name(dev), port, regname);
-               return ret;
-       }
-
-       regulator_set_enable(regulator, enable);
-       return 0;
-#else
-       return -ENOTSUPP;
-#endif
-}
-
-void usb_hub_reset_devices(struct usb_hub_device *hub, int port)
-{
-       struct udevice *dev = hub->pusb_dev->dev;
-       struct udevice *ctrl;
-
-       /* We are only interested in our root-hubs */
-       if (usb_hub_is_root_hub(dev) == false)
-               return;
-
-       ctrl = usb_get_bus(dev);
-       if (!ctrl) {
-               debug("%s: could not retrieve ctrl for hub\n", __func__);
-               return;
-       }
-
-       /*
-        * To work around an incompatibility between the single-threaded
-        * USB stack in U-Boot and (a strange low-power mode of) the USB
-        * hub we have on-module, we need to delay powering on the hub
-        * until the first time the port is probed.
-        */
-       board_usb_port_power_set(ctrl, port, true);
-}
index 00be1ffe44d6147279a94f1d79cb5090131b9b35..67081ce349dcd8b1969138d5bd5e57dae3b5cb6d 100644 (file)
@@ -133,12 +133,12 @@ $ make PLATFORM=k3-am65x CFG_ARM64_core=y
 4. U-Boot:
 
 4.1. R5:
-$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am65x_evm_r5_defconfig O=/tmp/r5
-$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=/tmp/r5
+$ make CROSS_COMPILE=arm-linux-gnueabihf- am65x_evm_r5_defconfig O=/tmp/r5
+$ make CROSS_COMPILE=arm-linux-gnueabihf- O=/tmp/r5
 
 4.2. A53:
-$ make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- am65x_evm_a53_defconfig O=/tmp/a53
-$ make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- ATF=<path to ATF dir>/build/k3/generic/release/bl31.bin TEE=<path to OPTEE OS dir>/out/arm-plat-k3/core/tee-pager_v2.bin O=/tmp/a53
+$ make CROSS_COMPILE=aarch64-linux-gnu- am65x_evm_a53_defconfig O=/tmp/a53
+$ make CROSS_COMPILE=aarch64-linux-gnu- ATF=<path to ATF dir>/build/k3/generic/release/bl31.bin TEE=<path to OPTEE OS dir>/out/arm-plat-k3/core/tee-pager_v2.bin O=/tmp/a53
 
 Target Images
 --------------
index 7dcf33633294891e61af958b305650b342ebb1f1..757a59cdb44ae7eb4fe03b84b2e9f825d05a20ef 100644 (file)
@@ -149,12 +149,12 @@ $ make PLATFORM=k3-j721e CFG_ARM64_core=y
 4. U-Boot:
 
 4.1. R5:
-$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- j721e_evm_r5_defconfig O=/tmp/r5
-$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=/tmp/r5
+$ make CROSS_COMPILE=arm-linux-gnueabihf- j721e_evm_r5_defconfig O=/tmp/r5
+$ make CROSS_COMPILE=arm-linux-gnueabihf- O=/tmp/r5
 
 4.2. A72:
-$ make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- j721e_evm_a72_defconfig O=/tmp/a72
-$ make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- ATF=<path to ATF dir>/build/k3/generic/release/bl31.bin TEE=<path to OPTEE OS dir>/out/arm-plat-k3/core/tee-pager_v2.bin O=/tmp/a72
+$ make CROSS_COMPILE=aarch64-linux-gnu- j721e_evm_a72_defconfig O=/tmp/a72
+$ make CROSS_COMPILE=aarch64-linux-gnu- ATF=<path to ATF dir>/build/k3/generic/release/bl31.bin TEE=<path to OPTEE OS dir>/out/arm-plat-k3/core/tee-pager_v2.bin O=/tmp/a72
 
 Target Images
 --------------
index a26b7f813131bda49b655838a9552daf059587e1..ff0ec5a3637775ddabcbc0088bda1210c93f046e 100644 (file)
@@ -74,7 +74,7 @@ Supported image formats:
 Build instructions:
 ===================
 Examples for k2hk, for k2e, k2l and k2g just replace k2hk prefix accordingly.
-Don't forget to add ARCH=arm and CROSS_COMPILE.
+Don't forget to add CROSS_COMPILE.
 
 To build u-boot.bin, u-boot-spi.gph, MLO:
   >make k2hk_evm_defconfig
index c5c675c4ead12596dea366ec4518d1b8f625050e..15df027fbcd4f4e30405b19dd81b9163ac5dee64 100644 (file)
@@ -57,7 +57,6 @@ Compile the U-Boot
 
   > cd ../u-boot
   > cp ../rkbin/rk33/rk3399_bl31_v1.00.elf ./bl31.elf
-  > export ARCH=arm64
   > export CROSS_COMPILE=aarch64-linux-gnu-
   > make rock960-rk3399_defconfig
   > make
index 153864c58768246dcf17a20db0698587cf7db1b1..192b3b262f1a5c65fb4b3dfe272b95d62860f49f 100644 (file)
@@ -491,6 +491,7 @@ config CMD_SPL_WRITE_SIZE
 
 config CMD_FITUPD
        bool "fitImage update command"
+       depends on UPDATE_TFTP
        help
          Implements the 'fitupd' command, which allows to automatically
          store software updates present on a TFTP server in NOR Flash
index 32430e62f0ac90a2475cb7903f64d97b019d083a..58018f700cd401a36e25d188f9722aa75e7c8535 100644 (file)
@@ -694,14 +694,19 @@ static int do_efi_boot_rm(struct cmd_tbl *cmdtp, int flag,
  *
  * Decode the value of UEFI load option variable and print information.
  */
-static void show_efi_boot_opt_data(u16 *varname16, void *data, size_t size)
+static void show_efi_boot_opt_data(u16 *varname16, void *data, size_t *size)
 {
        struct efi_load_option lo;
        char *label, *p;
        size_t label_len16, label_len;
        u16 *dp_str;
+       efi_status_t ret;
 
-       efi_deserialize_load_option(&lo, data);
+       ret = efi_deserialize_load_option(&lo, data, size);
+       if (ret != EFI_SUCCESS) {
+               printf("%ls: invalid load option\n", varname16);
+               return;
+       }
 
        label_len16 = u16_strlen(lo.label);
        label_len = utf16_utf8_strnlen(lo.label, label_len16);
@@ -728,8 +733,7 @@ static void show_efi_boot_opt_data(u16 *varname16, void *data, size_t size)
 
        printf("  data:\n");
        print_hex_dump("    ", DUMP_PREFIX_OFFSET, 16, 1,
-                      lo.optional_data, size + (u8 *)data -
-                      (u8 *)lo.optional_data, true);
+                      lo.optional_data, *size, true);
        free(label);
 }
 
@@ -759,7 +763,7 @@ static void show_efi_boot_opt(u16 *varname16)
                                                &efi_global_variable_guid,
                                                NULL, &size, data));
                if (ret == EFI_SUCCESS)
-                       show_efi_boot_opt_data(varname16, data, size);
+                       show_efi_boot_opt_data(varname16, data, &size);
                free(data);
        }
 }
@@ -920,7 +924,12 @@ static int show_efi_boot_order(void)
                        goto out;
                }
 
-               efi_deserialize_load_option(&lo, data);
+               ret = efi_deserialize_load_option(&lo, data, &size);
+               if (ret != EFI_SUCCESS) {
+                       printf("%ls: invalid load option\n", var_name16);
+                       ret = CMD_RET_FAILURE;
+                       goto out;
+               }
 
                label_len16 = u16_strlen(lo.label);
                label_len = utf16_utf8_strnlen(lo.label, label_len16);
index f6270d9c15b4b6761e2dd4d93cb29fa58c3a9a01..0f490c58fc8cbe81a963247d13826d0aeafd4217 100644 (file)
@@ -8,10 +8,6 @@
 #include <command.h>
 #include <net.h>
 
-#if !defined(CONFIG_UPDATE_TFTP)
-#error "CONFIG_UPDATE_TFTP required"
-#endif
-
 static int do_fitupd(struct cmd_tbl *cmdtp, int flag, int argc,
                     char *const argv[])
 {
index 727837d9cd1f7c99d1cb5ed7fbc90d7ca2bdc8fd..d18f6a888ce48c6ec142e7c658a828668d3c079e 100644 (file)
--- a/cmd/sf.c
+++ b/cmd/sf.c
@@ -145,13 +145,10 @@ static int do_spi_flash_probe(int argc, char *const argv[])
 
        new = spi_flash_probe(bus, cs, speed, mode);
        flash = new;
-
        if (!new) {
                printf("Failed to initialize SPI flash at %u:%u\n", bus, cs);
                return 1;
        }
-
-       flash = new;
 #endif
 
        return 0;
index 6af9baa121dbab45a827454b41f02bff895e657f..18f7c8db03ba7284d78d1c1723fd97988093ee0e 100644 (file)
@@ -33,6 +33,13 @@ static ulong android_image_get_kernel_addr(const struct andr_img_hdr *hdr)
        if (hdr->kernel_addr == ANDROID_IMAGE_DEFAULT_KERNEL_ADDR)
                return (ulong)hdr + hdr->page_size;
 
+       /*
+        * abootimg creates images where all load addresses are 0
+        * and we need to fix them.
+        */
+       if (hdr->kernel_addr == 0 && hdr->ramdisk_addr == 0)
+               return env_get_ulong("kernel_addr_r", 16, 0);
+
        return hdr->kernel_addr;
 }
 
index 414b6f396d2064cfcfe2ace5a784dc1c60b09660..8ece9057b1e64d87f925ff6b9a35db7ca8c10610 100644 (file)
@@ -308,7 +308,7 @@ config SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
                     ARCH_MX6 || ARCH_MX7 || \
                     ARCH_ROCKCHIP || ARCH_MVEBU ||  ARCH_SOCFPGA || \
                     ARCH_AT91 || ARCH_ZYNQ || ARCH_KEYSTONE || OMAP34XX || \
-                    OMAP44XX || OMAP54XX || AM33XX || AM43XX
+                    OMAP44XX || OMAP54XX || AM33XX || AM43XX || TARGET_SIFIVE_FU540
        help
          Use sector number for specifying U-Boot location on MMC/SD in
          raw mode.
@@ -325,6 +325,7 @@ config SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR
        default 0x300 if ARCH_ZYNQ || ARCH_KEYSTONE || OMAP34XX || OMAP44XX || \
                         OMAP54XX || AM33XX || AM43XX || ARCH_K3
        default 0x4000 if ARCH_ROCKCHIP
+       default 0x822 if TARGET_SIFIVE_FU540
        help
          Address on the MMC to load U-Boot from, when the MMC is being used
          in raw mode. Units: MMC sectors (1 sector = 512 bytes).
index 792d2165bcfc10c728df8c46a41e19e85012973e..d3a0cb88cb65b3088abdbec91e65d9e6250f567a 100644 (file)
@@ -16,6 +16,7 @@ CONFIG_LOCALVERSION="-EETS-1.0.0"
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_BOOTDELAY=1
 # CONFIG_USE_BOOTCOMMAND is not set
+CONFIG_BOARD_LATE_INIT=y
 # CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR is not set
 CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_NAND_SUPPORT is not set
index c0bb093c4d4d582c1f1f9e9fc24e74da29123511..94c513457c2a84e223bd9e11a65adc288a436b34 100644 (file)
@@ -40,6 +40,7 @@ CONFIG_CMD_GPT=y
 CONFIG_CMD_MMC=y
 # CONFIG_CMD_PINMUX is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_CACHE=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="am335x-shc"
 CONFIG_ENV_IS_IN_MMC=y
index 026a81538e9edb4d7b13395b61a266c445f78a22..6650b3eb6d79f0998762854801e30e6df42a5678 100644 (file)
@@ -41,6 +41,7 @@ CONFIG_CMD_GPT=y
 CONFIG_CMD_MMC=y
 # CONFIG_CMD_PINMUX is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_CACHE=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="am335x-shc"
 CONFIG_ENV_IS_IN_MMC=y
index 91c1ce7f54b412a1ff75fa4979fdb52a328d50bd..f03f1fa0ae710fcd874b252af12a535a1d816999 100644 (file)
@@ -42,6 +42,7 @@ CONFIG_CMD_GPT=y
 CONFIG_CMD_MMC=y
 # CONFIG_CMD_PINMUX is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_CACHE=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="am335x-shc"
 CONFIG_ENV_IS_IN_MMC=y
index 4fa7b6dbc47987961651efed2cdd5046dbf23fbe..13b36864177b02b26783146aa0ccc37a0e0e810f 100644 (file)
@@ -41,6 +41,7 @@ CONFIG_CMD_GPT=y
 CONFIG_CMD_MMC=y
 # CONFIG_CMD_PINMUX is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_CACHE=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="am335x-shc"
 CONFIG_ENV_IS_IN_MMC=y
index 5d7a8de71d6d017585e3f60973c2333268da7b5c..bcf30bebcbe2332cbed5120d9990a0b394c73136 100644 (file)
@@ -58,7 +58,6 @@ CONFIG_PINCTRL=y
 CONFIG_PINCONF=y
 CONFIG_PINCTRL_AR933X=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_AR933X=y
 CONFIG_AR933X_UART=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
index 604a473fa978a406ead81c4167db08281bbc5b92..868303a29cca9933d6f83ee8e0da6a279f98343c 100644 (file)
@@ -26,6 +26,7 @@ CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_USB_MASS_STORAGE=y
 # CONFIG_CMD_NFS is not set
+CONFIG_CMD_TIME=y
 CONFIG_CMD_EXT4_WRITE=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
index 4c6b100654617a1674479ba2431a18934f8db0ca..6b0f0e463896271ced3edad7fb82452158f8f9c1 100644 (file)
@@ -45,12 +45,16 @@ CONFIG_SYS_MEMTEST_END=0x10010000
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_GPT=y
 CONFIG_CMD_I2C=y
+# CONFIG_CMD_LOADB is not set
+# CONFIG_CMD_LOADS is not set
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_USB_SDP=y
 CONFIG_CMD_USB_MASS_STORAGE=y
+# CONFIG_CMD_NFS is not set
 CONFIG_CMD_BMP=y
 CONFIG_CMD_CACHE=y
+CONFIG_CMD_TIME=y
 CONFIG_CMD_PMIC=y
 CONFIG_CMD_REGULATOR=y
 CONFIG_OF_CONTROL=y
index 854ea4fdf2813e146361415a21f5daead6adced3..1ed20919dd3cf0c5d185520ae7200c3edbb39a05 100644 (file)
@@ -53,7 +53,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 4fbcd31225a0872b44122d4d30d6448bb9934bc8..eaa18f67e47a2e7f59207c66e42890b78d622f72 100644 (file)
@@ -53,7 +53,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index e82ee5b6da3931874db9f2c0f2a82717f3d5830d..27d4a4a246d18d59ae82044bf15ec502d1d8719c 100644 (file)
@@ -50,7 +50,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 65851258b4e2234f20e6e48d6e3dde9e1a037904..b0fc702d0df53bdcbd154722a800e331a007247b 100644 (file)
@@ -51,7 +51,6 @@ CONFIG_SPI_FLASH_DATAFLASH=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index f04e454c4e5cb7bcd9a2c663f18f13fc34bf6b57..b5bb174a12612990b7079624e1720872cfc4a951 100644 (file)
@@ -51,7 +51,6 @@ CONFIG_SPI_FLASH_DATAFLASH=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 030659fd31709ef9b8189660807267e09d595055..7a485dec40709450a5a65d2d75bfec17c2c3d8b6 100644 (file)
@@ -48,7 +48,6 @@ CONFIG_SPI_FLASH_DATAFLASH=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index bf824771f2b24627afd5ae327b497fc0c85fa378..0d1d93767f4add734ac3fcb09ee2d6de2f9bf1fb 100644 (file)
@@ -58,7 +58,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index bf824771f2b24627afd5ae327b497fc0c85fa378..0d1d93767f4add734ac3fcb09ee2d6de2f9bf1fb 100644 (file)
@@ -58,7 +58,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 8c89d14b19e04bfa7ed29c5e6286737e97f5c70b..2008f6caa60234e8df0571ed95c9cf193f79b5e9 100644 (file)
@@ -55,7 +55,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 763634689278d2444dce6d074d29a52369bc8e69..3b07a7d3aeb270dca26ebb8a374f93ac00c893fb 100644 (file)
@@ -58,7 +58,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index b2e9a8a3e3acabde4eaf80c2e24d77f5ea18b2ff..e65cbad67b629d77e8920790a7778e2fafbcca7a 100644 (file)
@@ -58,7 +58,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 914dcde240d0d025c563e6a60df300047a992ae1..0d7608cdfac07452a4d520457da6ce57cabae687 100644 (file)
@@ -51,7 +51,6 @@ CONFIG_SPI_FLASH_DATAFLASH=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index bc11dbb4b6f2aed0be1b69b38c9fa66f10ba93c2..ec90408928624313c2aee70ecd690e532ff443f4 100644 (file)
@@ -51,7 +51,6 @@ CONFIG_SPI_FLASH_DATAFLASH=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 1dfb724c07f8a310635b21233cdfdaef81a9ba40..64449c59d01d9907824b17e3c75a57103851bdbb 100644 (file)
@@ -48,7 +48,6 @@ CONFIG_SPI_FLASH_DATAFLASH=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index d4e671b0ae0ace86cddd52469d029f15b63ad4bf..39863b8904e85391147ad3d578dc111dbe0cd7a1 100644 (file)
@@ -52,7 +52,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 5dbf2dbc8a3b913076e943c6ff6159bb9b8d3e9d..ac7b4001f64dc327d9b501ebde2e5c10388ddb5d 100644 (file)
@@ -52,7 +52,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index cf1f5c0a1cab65e6069d567933a03f36f69f250d..f64f99e3f78b39e7dcb2325badae6b6206ca3616 100644 (file)
@@ -53,7 +53,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 025cd2146e8b59803054ca73a0cc2e2cfde47201..a783a89b0ff6f331103a35a29566f5518cd030d0 100644 (file)
@@ -53,7 +53,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index b8c9c28ed0c8e92e0c1c057b59bef870a6594fc2..3fb94863dde7d42e559969412a5e5560b7a92dc9 100644 (file)
@@ -50,7 +50,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index e3179e560d785c20b852e6c021df90d0f9e49a72..0fe9ae413d1961ba0859103b7b2226173e440490 100644 (file)
@@ -50,7 +50,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_TIMER=y
index 36cf4ed9934584a294901db0aacf625cc77ab9ea..82be3e74b0c2ecbcbfaf4fdd45b1da4053a37424 100644 (file)
@@ -50,7 +50,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_TIMER=y
index 308f097b60f2810bec5f1c9fd6d02f98d7fc6cef..6f159aaccfa0d73b0bf5839ea774f8611faa1936 100644 (file)
@@ -52,7 +52,6 @@ CONFIG_KS8851_MLL_BASEADDR=0x30000000
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index fd6d13db9bac63505f4f11e82e71224a8220a686..490addbedfd662e327cb00618bb083974b3028b0 100644 (file)
@@ -53,7 +53,6 @@ CONFIG_KS8851_MLL_BASEADDR=0x30000000
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 97e29bdc6e776100dbec7fb05054fc3507c88e3b..688f0c3a286ed7bb1e348685a90388d2a4709b0d 100644 (file)
@@ -54,7 +54,6 @@ CONFIG_KS8851_MLL_BASEADDR=0x30000000
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index e63b061e4f71efaa955080be495cc2c3c4af7deb..ff1720b295459e9448d24338ed6937603bc6a4ba 100644 (file)
@@ -54,7 +54,6 @@ CONFIG_SPI_FLASH_DATAFLASH=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index a30f75f107b48a80caa5d22157540eef0cc1ec56..fe16e74e47e9154af60b7eb719bee896beea268d 100644 (file)
@@ -50,7 +50,6 @@ CONFIG_SPI_FLASH_DATAFLASH=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 77ecbe0ea32a590459b1bb81dd041be709cc41e3..5dffe4fa7fe2db3ee94724d33cb786522a6e4e74 100644 (file)
@@ -51,7 +51,6 @@ CONFIG_SPI_FLASH_DATAFLASH=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index c43a5cb63e51260f020c75490760851bd223930c..3b5cc50518252eba04d4e2b70b1286dc2ec95889 100644 (file)
@@ -57,7 +57,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 12542b2f891c3b46ffdd200dc08e7ed3c6fa7cdc..bb994cd5407444e390bad7f05ddee7623f4a43a8 100644 (file)
@@ -54,7 +54,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 7c69f571c9d0e994575d60c2e2b3242f2f630a89..998b5fa84c3e9970577c9221a621472422322991 100644 (file)
@@ -55,7 +55,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index f418bfbf1601fdc8fd3162da08ce23e56f037ea0..4d06c3e1517558ec940c5b119a78da861607c543 100644 (file)
@@ -56,7 +56,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 6ef2574216816dbc1a9551a5c8d5c1dcdc629219..f9b4f94a1c8987ebafa3e51a5310cd03fc5d0885 100644 (file)
@@ -53,7 +53,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 3e7d2bed93ff52c024554b29ac1fa9ea02d8486e..7b29e4b23315123e88ab12c98dcd4c795e2e57a0 100644 (file)
@@ -53,7 +53,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 19ba293718bc73f70109b5010c2de78731a47b4a..efc0482ef0640cd1741a9ff4af6bf836f4536d84 100644 (file)
@@ -50,7 +50,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 785283fbea8f7b1860d30cabccfba94e4d0b13c7..030d28a5dfc7bce36e671410b79dda58f0421ea7 100644 (file)
@@ -55,6 +55,7 @@ CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_ZYNQ_GEM=y
 CONFIG_DEBUG_UART_ZYNQ=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
+CONFIG_ARM_DCC=y
 CONFIG_ZYNQ_SERIAL=y
 CONFIG_SPI=y
 CONFIG_ZYNQMP_GQSPI=y
index 1ae78463d4577f59301df4f71bc7dfb59c7cc715..78e6c8d3456932d9812f4289bc1ac3b06129009c 100644 (file)
@@ -69,7 +69,6 @@ CONFIG_PHYLIB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_SPECIFY_CONSOLE_INDEX=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_ATMEL_USART=y
 CONFIG_WDT=y
 CONFIG_WDT_AT91=y
index 80a817a3f32e32f334c526bcefd0acfd1ff8e855..ee032e25f6bd85c5ba3be1b066a68a5c586644e5 100644 (file)
@@ -56,3 +56,4 @@ CONFIG_USB_KEYBOARD=y
 CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
 CONFIG_FRAMEBUFFER_VESA_MODE_11B=y
 CONFIG_CONSOLE_SCROLL_LINES=5
+# CONFIG_GZIP is not set
index d467e62deef1f4903d0f10462f73f0374ea5613c..a2707a0da5d74865d8397037d33629f9671c88f9 100644 (file)
@@ -11,10 +11,17 @@ CONFIG_FIT_SIGNATURE=y
 CONFIG_BOOTDELAY=1
 CONFIG_USE_PREBOOT=y
 CONFIG_PREBOOT="fdt addr ${fdtcontroladdr};fdt move ${fdtcontroladdr} ${fdtsaveaddr};fdt addr ${fdtsaveaddr};"
+CONFIG_BOARD_LATE_INIT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot>"
+CONFIG_CMD_ASKENV=y
+CONFIG_CMD_GPT=y
+# CONFIG_RANDOM_UUID is not set
 CONFIG_CMD_MMC=y
-CONFIG_EFI_PARTITION=y
+CONFIG_CMD_CACHE=y
+CONFIG_CMD_EXT2=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_PRIOR_STAGE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
index 2c71a5efedd1fdba1d40a568ce6c92b9ebd0523b..65c4b33a58801d1e36ad0ee14838797c4874b84f 100644 (file)
@@ -12,11 +12,17 @@ CONFIG_FIT_SIGNATURE=y
 CONFIG_BOOTDELAY=1
 CONFIG_USE_PREBOOT=y
 CONFIG_PREBOOT="fdt addr ${fdtcontroladdr};fdt move ${fdtcontroladdr} ${fdtsaveaddr};fdt addr ${fdtsaveaddr};"
+CONFIG_BOARD_LATE_INIT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot>"
+CONFIG_CMD_ASKENV=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_SF_TEST=y
 CONFIG_CMD_SPI=y
+CONFIG_CMD_CACHE=y
+CONFIG_CMD_EXT2=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_PRIOR_STAGE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
index 9f88023836897d03d97a63b410b70d2dbbd610fe..ef5f5676157cb554726c54ee8592645e4fcdc56b 100644 (file)
@@ -66,6 +66,7 @@ CONFIG_MII=y
 CONFIG_ZYNQ_GEM=y
 CONFIG_DEBUG_UART_ZYNQ=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
+CONFIG_ARM_DCC=y
 CONFIG_ZYNQ_SERIAL=y
 # CONFIG_WATCHDOG is not set
 CONFIG_WDT=y
index 137acceea071de81ac7d262321a5b217923d7c71..641b7790233bd0165d16e4e9fa1bbf3881f8a036 100644 (file)
@@ -24,7 +24,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_PCI=y
 CONFIG_CMD_SDRAM=y
-CONFIG_CMD_SPI=y
+# CONFIG_CMD_SF is not set
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
index c3ad39c72537a18a9ee53617968396a2a1517e2b..c1b6e715f4ee83e21f2fbf35f71aa49a5bcd351e 100644 (file)
@@ -41,3 +41,4 @@ CONFIG_RTL8169=y
 CONFIG_SPI=y
 CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y
+# CONFIG_GZIP is not set
index 2039ea618667a2717bf30b341a9e02a9bed6f686..d7cab2334baaa9799b05bc4609ba4781f81242eb 100644 (file)
@@ -98,4 +98,5 @@ CONFIG_SPL_FS_CBFS=y
 CONFIG_TPL_USE_TINY_PRINTF=y
 CONFIG_CMD_DHRYSTONE=y
 CONFIG_TPM=y
+# CONFIG_GZIP is not set
 # CONFIG_EFI_LOADER is not set
index a13f6eac80a8cc2b30520550ac572d14359e05a5..75f3d2c4116d5417aec528e179d6a7b60f375a91 100644 (file)
@@ -73,3 +73,4 @@ CONFIG_VIDEO_IVYBRIDGE_IGD=y
 CONFIG_CONSOLE_SCROLL_LINES=5
 CONFIG_CMD_DHRYSTONE=y
 CONFIG_TPM=y
+# CONFIG_GZIP is not set
index de4186cdf2329b7038ade2ef982ee270d737942f..3d51ec96064780309a317012a64d5fdea57ec185 100644 (file)
@@ -68,4 +68,5 @@ CONFIG_VIDEO_IVYBRIDGE_IGD=y
 CONFIG_CONSOLE_SCROLL_LINES=5
 CONFIG_CMD_DHRYSTONE=y
 CONFIG_TPM=y
+# CONFIG_GZIP is not set
 # CONFIG_EFI_LOADER is not set
index fb4d88028c6866f282e3a508eafd5a9d77345c51..c18cba9cf43f35e56b26152fd01772ed1b1ee84b 100644 (file)
@@ -71,3 +71,4 @@ CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
 CONFIG_FRAMEBUFFER_VESA_MODE_11A=y
 CONFIG_CONSOLE_SCROLL_LINES=5
 CONFIG_TPM=y
+# CONFIG_GZIP is not set
index a12a04b0bf17bb2ecb5813a5549c4fbeaf0ef16a..82172ba810ca86692f6a79fce19d3b2f2441fc19 100644 (file)
@@ -87,3 +87,4 @@ CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
 CONFIG_FRAMEBUFFER_VESA_MODE_11A=y
 CONFIG_CONSOLE_SCROLL_LINES=5
 CONFIG_TPM=y
+# CONFIG_GZIP is not set
index 48bcd94a6269550a44c17437441c51e03207a200..fd87ab262b634008de052830676c0f443b6eee87 100644 (file)
@@ -55,3 +55,4 @@ CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
 CONFIG_FRAMEBUFFER_VESA_MODE_11A=y
 CONFIG_CONSOLE_SCROLL_LINES=5
 CONFIG_TPM=y
+# CONFIG_GZIP is not set
index d2766190deae52102ee04f49013065ff07c1ace8..a38c6c2429561ad8c4d3b302604b3cf42a44bf45 100644 (file)
@@ -21,6 +21,7 @@ CONFIG_SPL_TEXT_BASE=0x00911000
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
 CONFIG_SPI_BOOT=y
 CONFIG_BOOTDELAY=3
+CONFIG_BOARD_LATE_INIT=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_SPL_BOARD_INIT=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x80
@@ -57,6 +58,7 @@ CONFIG_DEFAULT_DEVICE_TREE="imx7d-sdb"
 # CONFIG_ENV_IS_IN_MMC is not set
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_CMD_PCA953X=y
 CONFIG_DM_MMC=y
 CONFIG_SUPPORT_EMMC_BOOT=y
 CONFIG_FSL_USDHC=y
index adb7c95019534a0528ff91e15b3bed1a362e0c8e..44a3ff859c2d60b885ebb82cccdfd751c8e52cf6 100644 (file)
@@ -44,12 +44,16 @@ CONFIG_SYS_MEMTEST_END=0x10010000
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_GPT=y
 CONFIG_CMD_I2C=y
+# CONFIG_CMD_LOADB is not set
+# CONFIG_CMD_LOADS is not set
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_USB_SDP=y
 CONFIG_CMD_USB_MASS_STORAGE=y
+# CONFIG_CMD_NFS is not set
 CONFIG_CMD_BMP=y
 CONFIG_CMD_CACHE=y
+CONFIG_CMD_TIME=y
 CONFIG_CMD_UUID=y
 CONFIG_CMD_PMIC=y
 CONFIG_CMD_REGULATOR=y
index abf52630816b34c352c88f658ee7ded9cebd7023..eacc9852bd63da5b1ca5fcde5b7e1e4bf9a7b1e1 100644 (file)
@@ -66,3 +66,4 @@ CONFIG_USB_KEYBOARD=y
 CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
 CONFIG_FRAMEBUFFER_VESA_MODE_114=y
 CONFIG_CONSOLE_SCROLL_LINES=5
+# CONFIG_GZIP is not set
index aac0ed2928c4462bcbbb7b8c056450dfc086c485..04b9d5eee9a922cdacca43c5c169ce303453b70e 100644 (file)
@@ -62,3 +62,4 @@ CONFIG_USB_KEYBOARD=y
 CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
 CONFIG_FRAMEBUFFER_VESA_MODE_114=y
 CONFIG_CONSOLE_SCROLL_LINES=5
+# CONFIG_GZIP is not set
index 4ac46ff759414e80191f61c8ae1cb17471707b84..df609d50366596ce5839d8689ee2124cc2e58e85 100644 (file)
@@ -23,6 +23,7 @@ CONFIG_FIT_SIGNATURE=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_USE_PREBOOT=y
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
+CONFIG_BOARD_LATE_INIT=y
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_LAST_STAGE_INIT=y
 CONFIG_SPL_BOARD_INIT=y
index 39469b52037a5e85c8398c0098754874f2746e2d..6bba9ec72b76e5e6a341261574f83e704d1d153f 100644 (file)
@@ -46,3 +46,4 @@ CONFIG_SYSCON=y
 CONFIG_SOUND=y
 CONFIG_SOUND_I8254=y
 CONFIG_CONSOLE_SCROLL_LINES=5
+# CONFIG_GZIP is not set
index ad41c91e6e8972254ee93621845833b88d39ec1c..4a43b59e0f37b6ab4f478f163b4a65dcfc857a7e 100644 (file)
@@ -41,3 +41,4 @@ CONFIG_SYSCON=y
 CONFIG_SOUND=y
 CONFIG_SOUND_I8254=y
 CONFIG_CONSOLE_SCROLL_LINES=5
+# CONFIG_GZIP is not set
index aac8a391fdcd92844cd762c6c8c0e2b71ef39924..4cb734477efa694c12895cee68176f8c031b29e2 100644 (file)
@@ -46,3 +46,4 @@ CONFIG_SPI=y
 CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y
 # CONFIG_VIDEO_VESA is not set
+# CONFIG_GZIP is not set
index 06d5ce4cad907998053cb3c6c3e0ef0935d5427d..706f5cd1c4266f11f94ee99c23d15a216aaac8b6 100644 (file)
@@ -52,3 +52,4 @@ CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y
 CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
 CONFIG_CONSOLE_SCROLL_LINES=5
+# CONFIG_GZIP is not set
index 27043bf69a7ca8d62167f3c0a363c88d8906fc52..a360fc5d3f3e52d758af92e2c3551fb0fb62664b 100644 (file)
@@ -5,10 +5,12 @@ CONFIG_SYS_TEXT_BASE=0x00800000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_CRS3XX_98DX3236=y
 CONFIG_ENV_SIZE=0x10000
-CONFIG_ENV_SECT_SIZE=0x10000
 CONFIG_ENV_OFFSET=0x80000
-# CONFIG_EFI_LOADER is not set
+CONFIG_ENV_SECT_SIZE=0x10000
 CONFIG_BUILD_TARGET="u-boot.kwb"
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_FIT_BEST_MATCH=y
 CONFIG_USE_PREBOOT=y
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 CONFIG_AUTOBOOT_KEYED=y
@@ -17,33 +19,23 @@ CONFIG_AUTOBOOT_STOP_STR="s"
 CONFIG_AUTOBOOT_KEYED_CTRLC=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_FLASH is not set
-# CONFIG_CMD_I2C is not set
+CONFIG_CMD_MTD=y
 CONFIG_CMD_SPI=y
 CONFIG_CMD_CACHE=y
-# CONFIG_CMD_UBI is not set
-CONFIG_CMD_MTD=y
 CONFIG_CMD_MTDPARTS=y
 CONFIG_DEFAULT_DEVICE_TREE="armada-xp-crs305-1g-4s"
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_BLK=y
-# CONFIG_DM_I2C is not set
-# CONFIG_SYS_I2C_MVTWSI is not set
 # CONFIG_MMC is not set
 CONFIG_MTD=y
-CONFIG_MTD_PARTITIONS=y
 CONFIG_DM_MTD=y
-CONFIG_DM_SPI_FLASH=y
-CONFIG_SPI_FLASH_MTD=y
-CONFIG_SPI_FLASH_SFDP_SUPPORT=y
 CONFIG_SPI_FLASH_BAR=y
 CONFIG_SPI_FLASH_WINBOND=y
 # CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
-CONFIG_FIT=y
-CONFIG_FIT_ENABLE_SHA256_SUPPORT=y
-CONFIG_FIT_VERBOSE=y
-CONFIG_FIT_BEST_MATCH=y
+CONFIG_SPI_FLASH_MTD=y
 CONFIG_PCI=y
 CONFIG_PCI_MVEBU=y
 CONFIG_SYS_NS16550=y
 CONFIG_KIRKWOOD_SPI=y
+# CONFIG_EFI_LOADER is not set
index 628b3516a8c53e38b2c876b6efa1cab08cf28408..9682cb7ca1a27f0fc2b3628dab2d37d095a59288 100644 (file)
@@ -36,13 +36,16 @@ CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc><Esc>\" to stop\
 CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
 CONFIG_AUTOBOOT_KEYED_CTRLC=y
 CONFIG_CMD_CPU=y
+# CONFIG_CMD_EXPORTENV is not set
 # CONFIG_CMD_IMPORTENV is not set
+# CONFIG_CMD_CRC32 is not set
 CONFIG_CMD_CLK=y
 CONFIG_CMD_DM=y
 CONFIG_CMD_FUSE=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_READ=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
index fdf686f95669a84248074fa3e70a5c1e6fba9a2c..56fc28276236769ac21cc92a6b0cc88bb0a9e96c 100644 (file)
@@ -61,3 +61,4 @@ CONFIG_USB_ETHER_RTL8152=y
 CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
 CONFIG_FRAMEBUFFER_VESA_MODE_114=y
 CONFIG_CONSOLE_SCROLL_LINES=5
+# CONFIG_GZIP is not set
index e0dfffa4b5710515932fc9485ac4208352b7e273..d20405e5b24ee7e7f267370d32e0b3f8ba120b9b 100644 (file)
@@ -100,3 +100,4 @@ CONFIG_CI_UDC=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_WATCHDOG_TIMEOUT_MSECS=60000
 CONFIG_IMX_WATCHDOG=y
+CONFIG_BZIP2=y
index 6241375c4c783046d6ea2762143c92db014029cb..78e4627bdac3aabe949110194524f4ffa5440e5c 100644 (file)
@@ -46,6 +46,7 @@ CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="display5 > "
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_ELF is not set
+CONFIG_CMD_SPL=y
 CONFIG_CMD_ASKENV=y
 CONFIG_CRC32_VERIFY=y
 CONFIG_CMD_EEPROM=y
index eb46e3b256d02105a7758a1062abe8fb6151d1cb..d453073ddbcc82b590a1bbdb069bcfdcd7c81699 100644 (file)
@@ -46,6 +46,7 @@ CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="display5 factory > "
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_ELF is not set
+CONFIG_CMD_SPL=y
 CONFIG_CMD_ASKENV=y
 CONFIG_CRC32_VERIFY=y
 CONFIG_CMD_EEPROM=y
index 89ed5eb13ccd87789492820eebb3de4fa13d8363..12419ac6ddb244e9e6287db7de045a3e820f0754 100644 (file)
@@ -18,6 +18,7 @@ CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_PING=y
+CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
 CONFIG_ISO_PARTITION=y
 CONFIG_OF_CONTROL=y
@@ -46,4 +47,3 @@ CONFIG_KIRKWOOD_SPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
-CONFIG_FS_EXT4=y
index 790268a1ff9ca44dc1b3efff6c86145d64e2e4c5..e03a76f4773363aa37201c245e0c0df35a2d7556 100644 (file)
@@ -32,7 +32,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
 # CONFIG_DM_ETH is not set
-CONFIG_DEBUG_EFI_CONSOLE=y
 # CONFIG_REGEX is not set
+# CONFIG_GZIP is not set
 CONFIG_EFI=y
 # CONFIG_EFI_LOADER is not set
index f3ee5284d5458f501a0145e8d6e1f03857b63b49..0f5f7877070c6ec07917e254352e7268cc732fac 100644 (file)
@@ -36,5 +36,6 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
 # CONFIG_PCI_PNP is not set
+# CONFIG_GZIP is not set
 CONFIG_EFI=y
 CONFIG_EFI_STUB=y
index b83e60996603dd6d211f121e94c73641456b9c96..dafad67e7e855144a140e51e9990f235a8520362 100644 (file)
@@ -36,6 +36,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
 # CONFIG_PCI_PNP is not set
+# CONFIG_GZIP is not set
 CONFIG_EFI=y
 CONFIG_EFI_STUB=y
 CONFIG_EFI_STUB_64BIT=y
index 4c9f1e189b7693d7c3d416a31402ee7f33766d99..5bb54f58352980a8d83af8f6a3cbe11ecabad4f2 100644 (file)
@@ -19,6 +19,7 @@ CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_GPT=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_PCI=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_TIME=y
 CONFIG_SPL_OF_CONTROL=y
@@ -38,10 +39,13 @@ CONFIG_SF_DEFAULT_SPEED=20000000
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_GMAC_ROCKCHIP=y
+CONFIG_NVME=y
+CONFIG_PCI=y
 CONFIG_PMIC_RK8XX=y
 CONFIG_REGULATOR_PWM=y
 CONFIG_REGULATOR_RK8XX=y
 CONFIG_PWM_ROCKCHIP=y
+CONFIG_DM_RESET=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_SYSRESET=y
index 4e2a23f63888517c6ad564084073451f6fabf3b5..612fbacf997ae474e0f77701f82523469de96d92 100644 (file)
@@ -45,3 +45,4 @@ CONFIG_CPU=y
 CONFIG_SPI=y
 CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y
+# CONFIG_GZIP is not set
index 79d1cb9a96116e9fb7e70f02bf83d86e14ae6c1c..4e865a7109577e734ee4baa228ea98ef0577aa4a 100644 (file)
@@ -75,7 +75,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_ATMEL_USART=y
 CONFIG_TIMER=y
 CONFIG_SPL_TIMER=y
index f0893ce08ec96061d9f0460d9e545551a44e9157..58778e670c991c933836bc5db10de0f2c103b8d1 100644 (file)
@@ -29,6 +29,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_PCI=y
 # CONFIG_CMD_NFS is not set
+CONFIG_CMD_BMP=y
 CONFIG_CMD_BOOTCOUNT=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_CLS=y
index 3cae981a61d3487d528fb3211f22d742d76eb857..4e22a02aacd5a65b4aec39fbb1c41bf6683e7520 100644 (file)
@@ -36,13 +36,16 @@ CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc><Esc>\" to stop\
 CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
 CONFIG_AUTOBOOT_KEYED_CTRLC=y
 CONFIG_CMD_CPU=y
+# CONFIG_CMD_EXPORTENV is not set
 # CONFIG_CMD_IMPORTENV is not set
+# CONFIG_CMD_CRC32 is not set
 CONFIG_CMD_CLK=y
 CONFIG_CMD_DM=y
 CONFIG_CMD_FUSE=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_READ=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
index 7e394d9aec1726a341931e937de66158eb0fb64d..0d1a46315bd364b4bc3ffbaae8c8d3a0c2866154 100644 (file)
@@ -23,7 +23,10 @@ CONFIG_CMD_USB=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_CMD_MII=y
+# CONFIG_CMD_MDIO is not set
 CONFIG_CMD_PING=y
+CONFIG_CMD_CACHE=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9g45-gurnard"
index 8d862696ca666f3c478156de1fbc5330fdf65b9b..0401effee6fa522aa5e0594f99a130ee3cbf50a8 100644 (file)
@@ -51,3 +51,4 @@ CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
 CONFIG_LZMA=y
+CONFIG_BZIP2=y
index 639cb99862cac3500f563acb1a3c83ac09aefd66..64388f10449b1ea2133ea49c9867122a4c444626 100644 (file)
@@ -40,6 +40,7 @@ CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Ventana > "
 CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_SPL_WRITE_SIZE=0x20000
+CONFIG_CMD_UNZIP=y
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
index 67ea57c7fc7a132180de3f3f5eb6038a156952a3..30aea0232bf387290151f7c33aee6b3acc8ccd41 100644 (file)
@@ -40,6 +40,7 @@ CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Ventana > "
 CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_SPL_WRITE_SIZE=0x20000
+CONFIG_CMD_UNZIP=y
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
index f6e85b680bd3dc0402990579dbd622d29e3f9cfd..deb879cd4910777e5643e968e08f4acbe819a799 100644 (file)
@@ -42,6 +42,7 @@ CONFIG_SYS_PROMPT="Ventana > "
 CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_SPL_NAND_OFS=0x1100000
 CONFIG_CMD_SPL_WRITE_SIZE=0x20000
+CONFIG_CMD_UNZIP=y
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
index 5fe6f75006c9a2a2aa56b72624e9ae20fca4e030..a6c917737265d3a5b7464433b6f1e3de3f2fa052 100644 (file)
@@ -10,6 +10,7 @@ CONFIG_SYS_CLK_FREQ=500000000
 CONFIG_DEBUG_UART=y
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200n8"
+CONFIG_BOARD_LATE_INIT=y
 CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_BOARD_EARLY_INIT_R=y
 CONFIG_HUSH_PARSER=y
index 4b767169fc2c6b653053229ed1f28d15a7ef02e3..30c9402de64ef151108f0f0609a1bcae233319a3 100644 (file)
@@ -9,6 +9,7 @@ CONFIG_SYS_CLK_FREQ=500000000
 CONFIG_DEBUG_UART=y
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200n8"
+CONFIG_BOARD_LATE_INIT=y
 CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_BOARD_EARLY_INIT_R=y
 CONFIG_HUSH_PARSER=y
index fea69d32e9ff042250b89566aedbe559e57ce9ab..ac7a794afe8a558e14911af4b92c1b88f17873fc 100644 (file)
@@ -44,3 +44,4 @@ CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
 CONFIG_LZMA=y
+CONFIG_BZIP2=y
index 4281aa93bc4b6ae4fdbac10488c19ff0ba4d9df6..d5a0ecada0d79c1387d543a45661ca8a02b11513 100644 (file)
@@ -39,3 +39,4 @@ CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
 CONFIG_LZMA=y
+CONFIG_BZIP2=y
index 7c4913debd4e52d7418930a4447aa18fbc1b6f21..f1ad86566b1222b7a94f140b78e7b9420aeb6d05 100644 (file)
@@ -13,6 +13,7 @@ CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
 CONFIG_BOOTDELAY=3
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_SPL_OS_BOOT=y
+CONFIG_CMD_SPL=y
 CONFIG_CRC32_VERIFY=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
index 7b13e1fd781aba88dbe77034e32d08791e584378..5e8fc9dcaa22ec0df0878dbf0cfca11cd5ab05b9 100644 (file)
@@ -29,6 +29,7 @@ CONFIG_SPL_OS_BOOT=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="icorem6qdl-mipi> "
+CONFIG_CMD_SPL=y
 CONFIG_CRC32_VERIFY=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
@@ -57,6 +58,5 @@ CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
-CONFIG_DEBUG_UART_MXC=y
 CONFIG_MXC_UART=y
 CONFIG_IMX_THERMAL=y
index 4b2e1f4780fccda75c6c7755b222c95b900c9c76..85151f47faffd2187ea8e04d433d047990e06775 100644 (file)
@@ -32,6 +32,7 @@ CONFIG_SPL_OS_BOOT=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="icorem6qdl> "
+CONFIG_CMD_SPL=y
 CONFIG_CRC32_VERIFY=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
@@ -70,7 +71,6 @@ CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
-CONFIG_DEBUG_UART_MXC=y
 CONFIG_MXC_UART=y
 CONFIG_IMX_THERMAL=y
 CONFIG_DM_VIDEO=y
index a224baf6398c9ff943f09470bd7feb0a98f35b5a..5f356b2d0669526ab00ac6129e3a4ff71359ad4f 100644 (file)
@@ -26,6 +26,7 @@ CONFIG_SPL_OS_BOOT=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="icorem6qdl-rqs> "
+CONFIG_CMD_SPL=y
 CONFIG_CRC32_VERIFY=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
index 7472bad9e62b7f665461d82a584f44339f99b191..871f784b49b0ec74e4f2b1930999dd4ae1c35fea 100644 (file)
@@ -14,12 +14,21 @@ CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/imx8m/imximage.cfg"
+CONFIG_BOARD_LATE_INIT=y
 CONFIG_SPL_BOARD_INIT=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_BOOTM_NETBSD is not set
+# CONFIG_CMD_EXPORTENV is not set
+# CONFIG_CMD_IMPORTENV is not set
+# CONFIG_CMD_CRC32 is not set
+CONFIG_CMD_FUSE=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_DHCP=y
+CONFIG_CMD_MII=y
+# CONFIG_CMD_MDIO is not set
+CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_REGULATOR=y
 CONFIG_CMD_EXT2=y
index 045d20489706fc15156d5f5ff1878c913183f6e3..5364b58b7bfff0da5ce9767d2bde1b8823eb2d7e 100644 (file)
@@ -19,9 +19,16 @@ CONFIG_SD_BOOT=y
 CONFIG_SPL_BOARD_INIT=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_BOOTM_NETBSD is not set
+# CONFIG_CMD_EXPORTENV is not set
+# CONFIG_CMD_IMPORTENV is not set
+# CONFIG_CMD_CRC32 is not set
+CONFIG_CMD_FUSE=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_DHCP=y
+CONFIG_CMD_MII=y
+CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_REGULATOR=y
 CONFIG_CMD_EXT2=y
index 428c7c47cdf24e3946fedc6470943de0b17b200b..dc490bcf573a989b63f12cb6842e2b2618ed8f41 100644 (file)
@@ -30,7 +30,9 @@ CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_CPU=y
 # CONFIG_BOOTM_NETBSD is not set
+# CONFIG_CMD_EXPORTENV is not set
 # CONFIG_CMD_IMPORTENV is not set
+# CONFIG_CMD_CRC32 is not set
 CONFIG_CMD_CLK=y
 CONFIG_CMD_DM=y
 CONFIG_CMD_GPIO=y
index 35191447aee20833abde6bc1e7a496006f73e1de..305c4e827c6657fcf52d0b9aa999e572dfe16cfb 100644 (file)
@@ -30,6 +30,7 @@ CONFIG_CMD_CPU=y
 # CONFIG_CMD_IMPORTENV is not set
 CONFIG_CMD_CLK=y
 CONFIG_CMD_DM=y
+CONFIG_CMD_FUSE=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
index 4cc37f5de7671aa01dc5e01919e951d866d79fa6..9a31fb8e80ed63d3853c580cfeb116cc17af4fa4 100644 (file)
@@ -29,7 +29,9 @@ CONFIG_SPL_POWER_DOMAIN=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_CPU=y
 # CONFIG_BOOTM_NETBSD is not set
+# CONFIG_CMD_EXPORTENV is not set
 # CONFIG_CMD_IMPORTENV is not set
+# CONFIG_CMD_CRC32 is not set
 CONFIG_CMD_CLK=y
 CONFIG_CMD_DM=y
 CONFIG_CMD_FUSE=y
index 5633f6da9cdb59609ecfb63fc7c119fdd870e383..771632c782ee191dbc7338879f8bcec42f711362 100644 (file)
@@ -45,7 +45,6 @@ CONFIG_PINCTRL=y
 CONFIG_PINCTRL_MESON_GXL=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_MESON=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
 CONFIG_MESON_SERIAL=y
index 4aeab0e35d6954eb27d2a1cd714125219c27b6d0..4ee3abe63b76c0032d054fdbe9a6727fd5be833e 100644 (file)
@@ -45,7 +45,6 @@ CONFIG_MESON_EE_POWER_DOMAIN=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_MESON=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
 CONFIG_MESON_SERIAL=y
@@ -57,9 +56,9 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_USB_DWC3=y
-CONFIG_USB_KEYBOARD=y
 # CONFIG_USB_DWC3_GADGET is not set
 CONFIG_USB_DWC3_MESON_G12A=y
+CONFIG_USB_KEYBOARD=y
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e
 CONFIG_USB_GADGET_PRODUCT_NUM=0xfada
index 887885f329fd255e28b4d2c623dd738f2e651ab5..5580839b276088517b1d73794a36c6f16777054e 100644 (file)
@@ -45,7 +45,6 @@ CONFIG_MESON_EE_POWER_DOMAIN=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_MESON=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
 CONFIG_MESON_SERIAL=y
@@ -57,9 +56,9 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_USB_DWC3=y
-CONFIG_USB_KEYBOARD=y
 # CONFIG_USB_DWC3_GADGET is not set
 CONFIG_USB_DWC3_MESON_G12A=y
+CONFIG_USB_KEYBOARD=y
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e
 CONFIG_USB_GADGET_PRODUCT_NUM=0xfada
index 8a0af5cebb369345d91a97f3d20fded01c5a59a7..61e44263df0271ef2d885e021c47842072ac4260 100644 (file)
@@ -41,7 +41,6 @@ CONFIG_PINCTRL=y
 CONFIG_PINCTRL_MESON_GXL=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_MESON=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
 CONFIG_MESON_SERIAL=y
index df0dbbd19dda590ec59158bf54dc51fece9d2009..d3fc9cb25d8d5acaf6e9661dae2b80d95e741ef0 100644 (file)
@@ -56,7 +56,6 @@ CONFIG_POWER_DOMAIN=y
 CONFIG_MESON_GX_VPU_POWER_DOMAIN=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_MESON=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
 CONFIG_MESON_SERIAL=y
index 2c512ebc1ec7feedb4caefa73a5e9a21c9a7328c..48e8800ce487c9d46a5175ddf47c9be8b12bf156 100644 (file)
@@ -42,7 +42,6 @@ CONFIG_POWER_DOMAIN=y
 CONFIG_MESON_GX_VPU_POWER_DOMAIN=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_MESON=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
 CONFIG_MESON_SERIAL=y
index 72101425cfa3d62749307828f1a730925bd09634..67e52925dbc78b0fc758dfb568341ba8e7362b19 100644 (file)
@@ -51,7 +51,6 @@ CONFIG_POWER_DOMAIN=y
 CONFIG_MESON_GX_VPU_POWER_DOMAIN=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_MESON=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
 CONFIG_MESON_SERIAL=y
index 4c255c1cd83065aa5bb56b610bac1754d1507186..50138aa3accc3e5b227a3b6f78b143167ad93557 100644 (file)
@@ -50,7 +50,6 @@ CONFIG_POWER_DOMAIN=y
 CONFIG_MESON_GX_VPU_POWER_DOMAIN=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_MESON=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
 CONFIG_MESON_SERIAL=y
index 07ba4d6472d8b9814c495e363321d4665c35b1ed..53f880714c15fb2aa1617222060388e3501c3d22 100644 (file)
@@ -22,6 +22,7 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
index 8999d01f66267a4a9ad564b3dd962b3ad58d8304..f7d2354abf7257716f95efbea3b7bd4b903f51d1 100644 (file)
@@ -22,6 +22,7 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
index 541cbb07ce25b9b25711fe750065b7e9b16cf2d3..715863bb67a927fc4ea4366d926e0b10b121e305 100644 (file)
@@ -21,6 +21,7 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
index b5043d7a182de7339f8264220d781868c1e93531..fa6862cba5cf58d74ab9a40cb0b22de71bd0b667 100644 (file)
@@ -21,6 +21,7 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
index f105aaf2bc11b72fc438e165b5363241dfd01e67..0639db959c0d76f03df8759d828e37e416232c93 100644 (file)
@@ -20,6 +20,7 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
index 492276439efe49ef47ac7a4db8a32f6c8908d2ca..02e32a74a3a1ef8a99d4b20e9dbc97b8a8afd5fb 100644 (file)
@@ -21,6 +21,7 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
index 9c8906415040d845f55078c40212c2467c4f84cf..f46477afe730c19ae87a86d7a9fa37494ed2d87c 100644 (file)
@@ -20,6 +20,7 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
index 2948fd57ec515bc604d3618311bc43d04aa46f16..32e410a2a4255946eca445b9a3fbefbaa1f944bc 100644 (file)
@@ -21,6 +21,7 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
index 65e8e5c791bd25e01c57a2351b0ede6138a92c02..bbd1419eaecd7f52c463e4c49fe3af7ff51489cc 100644 (file)
@@ -25,6 +25,7 @@ CONFIG_MISC_INIT_R=y
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
index 529cd08b12c1fd4ce18c73f8a24c6737879ad133..e5dd45c30c39f1f6ec9369d2daceee961de40009 100644 (file)
@@ -23,6 +23,7 @@ CONFIG_MISC_INIT_R=y
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
index 79d196c77b78ebbb6d7ef647d1be423ac3fe2e57..2c803a8058b28a0605b745bb132b30fc5104b39c 100644 (file)
@@ -25,6 +25,7 @@ CONFIG_MISC_INIT_R=y
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
index 1483e64d8ce2fbbff4e82d14e3ef500453974efb..6db9a26018bc625274afc787ccca4d5b990db3ef 100644 (file)
@@ -22,6 +22,7 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
index e39de4caf591089f73234ac52429d9e2c0a79104..dbca32ea10d4fee852be0926acf19b29e8fb0cec 100644 (file)
@@ -22,6 +22,7 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
index 8b677984294ffec12d81d5cfd7dc7f11bdecc253..1323c0a982e468c46cec474ddb79133c30c62987 100644 (file)
@@ -22,6 +22,7 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
index e0d203d442e871750cac4cfe00d4e588abc31e39..6cd8f6577c9b56e70b0d92af868609e104955875 100644 (file)
@@ -22,6 +22,7 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
index cb73a04b3520e9cce400556760275d2af6ffd592..85ceeb480ad0878a2a0debf84de9eea8e580b954 100644 (file)
@@ -11,9 +11,15 @@ CONFIG_SYS_EXTRA_OPTIONS="QSPI_BOOT"
 CONFIG_MISC_INIT_R=y
 CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_CMD_BOOTZ=y
+CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_GPT=y
+CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_SF=y
 CONFIG_CMD_DHCP=y
+CONFIG_CMD_MII=y
+# CONFIG_CMD_MDIO is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
index 10b6930914f21ccb6cef47c7592c798d0aa19eb7..11ccf57aad1c95cbdff59708bee5e3a4c92f315a 100644 (file)
@@ -16,9 +16,15 @@ CONFIG_SPL_FSL_PBL=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0xe8
 CONFIG_CMD_BOOTZ=y
+CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_GPT=y
+CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_SF=y
 CONFIG_CMD_DHCP=y
+CONFIG_CMD_MII=y
+# CONFIG_CMD_MDIO is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
index 224321810a5d37b2431272d83164ca2771afe1ca..1b2e2e082fa23e7efdcd94b6f02bcd71a7afa442 100644 (file)
@@ -31,6 +31,7 @@ CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_CMD_IMLS=y
+CONFIG_CMD_SPL=y
 CONFIG_CMD_DM=y
 CONFIG_CMD_GPT=y
 CONFIG_CMD_I2C=y
index bf557d7650b399a74cc52bc2100fee6abe0771a9..e13d5e349e1fc1876d70f578f802885724da6853 100644 (file)
@@ -30,6 +30,7 @@ CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_CMD_IMLS=y
+CONFIG_CMD_SPL=y
 CONFIG_CMD_DM=y
 CONFIG_CMD_GPT=y
 CONFIG_CMD_I2C=y
index 61e05ceda67d6e08b39e7b6796a5a28e2586cd93..d06fafde8d10d04cc42002dbbaab68e0ebdd5268 100644 (file)
@@ -18,15 +18,19 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_NAND=y
+CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_PING=y
+CONFIG_CMD_CACHE=y
 CONFIG_MP=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1088a-qds"
index e51fdcab203b9744a1f62ec6216a13df799dfdb9..d8ae56074495978785f91f9bb7a01e68118e1946 100644 (file)
@@ -20,14 +20,18 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_NAND=y
+CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_MDIO is not set
+CONFIG_CMD_CACHE=y
 CONFIG_MP=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1088a-qds"
index f7d0c15707d5c7aea008ef4def6845ab2ff80f45..d65cef8e55d1837c415ebda55225ca05ed557d67 100644 (file)
@@ -21,14 +21,18 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_NAND=y
+CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_MDIO is not set
+CONFIG_CMD_CACHE=y
 CONFIG_MP=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1088a-qds"
index 57e706a4c486224532c734b8268c81a057779399..a64cf136f5249d33634d7b9c1ca43df3056321e7 100644 (file)
@@ -29,15 +29,19 @@ CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_NAND=y
+CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_PING=y
+CONFIG_CMD_CACHE=y
 CONFIG_MP=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1088a-qds"
index 4ff7173369b2305ff4e533b0bb02f7c75b9227db..e9750cfae05d3f87192fefba725ddb74014ece76 100644 (file)
@@ -31,14 +31,18 @@ CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_NAND=y
+CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_MDIO is not set
+CONFIG_CMD_CACHE=y
 CONFIG_MP=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1088a-qds"
index c184843a6d97f8fa5c8f526efacb29c18c1554be..d685e8f190f485adb7854595e4c0bc6a0093d42a 100644 (file)
@@ -24,15 +24,19 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
 CONFIG_CMD_DM=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_NAND=y
+CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_MDIO is not set
+CONFIG_CMD_CACHE=y
 CONFIG_MP=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1088a-qds"
index f00307f964e6a7f8ffe9c2a66b162cae734b31cd..31d66ecd173a021195c7224905da6cdc59119600 100644 (file)
@@ -21,15 +21,19 @@ CONFIG_MISC_INIT_R=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
 CONFIG_CMD_DM=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_NAND=y
+CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_MDIO is not set
+CONFIG_CMD_CACHE=y
 CONFIG_MP=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1088a-rdb"
index 0572c9c241d94281a86da16afc20f6344266c419..3071c76f27b73f46dbb91644bf86183a8a90159f 100644 (file)
@@ -22,15 +22,19 @@ CONFIG_MISC_INIT_R=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
 CONFIG_CMD_DM=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_NAND=y
+CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_MDIO is not set
+CONFIG_CMD_CACHE=y
 CONFIG_MP=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1088a-rdb"
index 3e00a25857d7bca0bfddb1f68ebe3f46ab93daac..560f09b961a308bc1f1661dd3a0b152081efe7ef 100644 (file)
@@ -33,15 +33,19 @@ CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
 CONFIG_CMD_DM=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_NAND=y
+CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_MDIO is not set
+CONFIG_CMD_CACHE=y
 CONFIG_MP=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1088a-rdb"
index b6e21b27563d4ca1a3c58d1c230dbf5d1cf6cf23..b80a6a48a215e07d14961fe7bdcc5f56e73fb32e 100644 (file)
@@ -32,15 +32,19 @@ CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
 CONFIG_CMD_DM=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_NAND=y
+CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_MDIO is not set
+CONFIG_CMD_CACHE=y
 CONFIG_MP=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1088a-rdb"
index dba45267349b90ba655c9bc3f1418e01311de2ee..c90c8a81516ddb5db4e320b5e12d3839806ceb65 100644 (file)
@@ -24,14 +24,18 @@ CONFIG_MISC_INIT_R=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
 CONFIG_CMD_DM=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_NAND=y
+CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_MDIO is not set
+CONFIG_CMD_CACHE=y
 CONFIG_MP=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1088a-rdb"
index 53b236ce9eb2d482f70529d127ab6a0e96ba409e..828ee5ccf2093d2aa18a7ce10e2f4b714cf08b0e 100644 (file)
@@ -25,15 +25,19 @@ CONFIG_MISC_INIT_R=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x9fffffff
 CONFIG_CMD_DM=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_NAND=y
+CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_MDIO is not set
+CONFIG_CMD_CACHE=y
 CONFIG_MP=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1088a-rdb"
index 2750747ecef16c154c5359231ae052f83fe993f6..9e18fb3de015e75a94f3c5e2048709a021560449 100644 (file)
@@ -18,6 +18,7 @@ CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/liebherr/mccmon6/mon6_imximage_nor.cfg"
 # CONFIG_USE_BOOTCOMMAND is not set
+CONFIG_BOARD_LATE_INIT=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_SPL_BOARD_INIT=y
 CONFIG_SPL_FIT_IMAGE_TINY=y
index 6c72a5183f1bac6a7d081dd2409d83dc8a775645..c7a00e4651510faef150c23a752c0af97118f526 100644 (file)
@@ -19,6 +19,7 @@ CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/liebherr/mccmon6/mon6_imximage_sd.cfg"
 # CONFIG_USE_BOOTCOMMAND is not set
+CONFIG_BOARD_LATE_INIT=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_SPL_BOARD_INIT=y
 CONFIG_SPL_ENV_SUPPORT=y
index 127fd5d53e035b2b825bd05bc915694acd8e0cef..40ed9e4120de0e1c09c7ea18c53bd0fd750b678d 100644 (file)
@@ -62,3 +62,4 @@ CONFIG_USB_KEYBOARD=y
 CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
 CONFIG_FRAMEBUFFER_VESA_MODE_11B=y
 CONFIG_CONSOLE_SCROLL_LINES=5
+# CONFIG_GZIP is not set
index 144abb89892516aea26f6299e52eff4fa6339cb0..7c9f0e764aef102476eb0c6d91bed8504c7a5717 100644 (file)
@@ -64,7 +64,6 @@ CONFIG_PCI_AARDVARK=y
 CONFIG_MVEBU_COMPHY_SUPPORT=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_ARMADA_37XX=y
-CONFIG_DEBUG_MVEBU_A3700_UART=y
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_MVEBU_A3700_UART=y
index 01b6120149933c12e92c88e2a47bb2654f9762f1..5e1f9a82734a3df16429d31c65e2632b0c69ecb3 100644 (file)
@@ -64,7 +64,6 @@ CONFIG_PCI_AARDVARK=y
 CONFIG_MVEBU_COMPHY_SUPPORT=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_ARMADA_37XX=y
-CONFIG_DEBUG_MVEBU_A3700_UART=y
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_MVEBU_A3700_UART=y
index aa08e100a26ef60b7527d6ed6a1697dd6cae430f..ffcab918e616da38def02b50d8bf457ccd210148 100644 (file)
@@ -9,6 +9,7 @@ CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx25pdk/imximage.cfg"
 CONFIG_DEFAULT_FDT_FILE="imx25-pdk.dtb"
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
+CONFIG_CMD_FUSE=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 # CONFIG_CMD_SETEXPR is not set
index 0b6564ce5c628036eb62406987bc2a4f6c89d3b2..1dca2455c81972230ec7abe33de80042f8d25224 100644 (file)
@@ -17,9 +17,11 @@ CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_MISC_INIT_R=y
+CONFIG_BOARD_LATE_INIT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_DM=y
+CONFIG_CMD_FUSE=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
index 8b5e0ff9b13475ce1f5215f7981da2da29ff4fb5..ed24b7996b6b9835adafb953e0af9fe2a25a9ff7 100644 (file)
@@ -33,6 +33,7 @@ CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x10000000
 CONFIG_SYS_MEMTEST_END=0x20000000
+# CONFIG_CMD_FUSE is not set
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 CONFIG_CMD_CACHE=y
index 94b36d2615778262ef10c4a0cb2aa27aeed72da7..2906782b12685307b4543a6439fd4d2722ed5de2 100644 (file)
@@ -68,8 +68,8 @@ CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_REGULATOR_GPIO=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
-CONFIG_SOFT_SPI=y
 CONFIG_FSL_QSPI=y
+CONFIG_SOFT_SPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_STORAGE=y
index 9bb11f580ef74aaa89569d6c4959ee2492d26322..6d7b11d2c601b1c930bc4f4827dc089a00eb5564 100644 (file)
@@ -69,8 +69,8 @@ CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_REGULATOR_GPIO=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
-CONFIG_SOFT_SPI=y
 CONFIG_FSL_QSPI=y
+CONFIG_SOFT_SPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_STORAGE=y
index 3a07b704b5b8573ee65351750b4e8109a221e66a..a3e09c59e31b5dbd54887f0f5fca16bfe56b82f4 100644 (file)
@@ -76,8 +76,8 @@ CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_REGULATOR_GPIO=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
-CONFIG_SOFT_SPI=y
 CONFIG_FSL_QSPI=y
+CONFIG_SOFT_SPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index e986355c20ad3eb83ea1973f9f5f90efe9a0cfc6..05685f707311f5f3740241a9415cb758b8c581d5 100644 (file)
@@ -19,6 +19,7 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_READ=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_USB_MASS_STORAGE=y
+CONFIG_CMD_CACHE=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="imx7ulp-com"
index 680445bea75406b411524d885065fff2ccce5aab..6908aeb2cc3f224045f650f2c9af1d817c8f3979 100644 (file)
@@ -18,6 +18,7 @@ CONFIG_CMD_FUSE=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_CACHE=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="imx7ulp-evk"
index b70c36c7c956f9eff59d6ad3e23cf184f9dadf05..4cc7cca349feeadf42143b0a51afeed393a49fef 100644 (file)
@@ -16,6 +16,7 @@ CONFIG_CMD_FUSE=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_CACHE=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="imx7ulp-evk"
index b55cbe390685488056657500741d9517775303fa..63d486e90561f6f0dbed9a68e54063056c1b1de5 100644 (file)
@@ -35,7 +35,6 @@ CONFIG_PINCTRL_MESON_GXBB=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_MESON=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
 CONFIG_MESON_SERIAL=y
index 7a864bddf314810b00ede9cac99ae807f0cdb986..62edcd83f3c3201d831f9b625500761e6ea47c28 100644 (file)
@@ -41,4 +41,5 @@ CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
 CONFIG_LZMA=y
+CONFIG_BZIP2=y
 CONFIG_OF_LIBFDT=y
index 3fb6f2d089846fe53c4bf2069d1a592a89035b0d..f62e83a345238b6a142d00e074f8f51cc66f13f1 100644 (file)
@@ -41,7 +41,6 @@ CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_REGULATOR_GPIO=y
 CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_MESON=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
 CONFIG_MESON_SERIAL=y
index 9f01d0b454492ed1fb1bd51221c2e9b9ea94d9d1..e0cc6e37294290088bbd0079e66309eb3dcb1002 100644 (file)
@@ -37,7 +37,6 @@ CONFIG_PINCTRL_MESON_G12A=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_MESON=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
 CONFIG_MESON_SERIAL=y
index e74d4ca8c231376e1f6a1f803530daad6b3e3c9a..6e43bea27666d18687dfaa28068467d3bd8cab0b 100644 (file)
@@ -34,7 +34,6 @@ CONFIG_PINCTRL_MESON_GXBB=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_MESON=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
 CONFIG_MESON_SERIAL=y
index f08124734f9fcc330892c6360f87d90f009c15a2..9fc9d188d0f13e9dc417b735ec8bfbd711b2c01a 100644 (file)
@@ -35,7 +35,6 @@ CONFIG_PINCTRL_MESON_GXBB=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_MESON=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
 CONFIG_MESON_SERIAL=y
index 6bc813549238bbb6883bd2a3d42605cf8ee04c01..21e3c0a2e2d771ddd6d48598b96acdc6dd1ce2fb 100644 (file)
@@ -39,7 +39,6 @@ CONFIG_PINCTRL_MESON_GXL=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_MESON=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
 CONFIG_MESON_SERIAL=y
index 5e5bbb05bd5ef5419d9d6f09a1769ec3d3e84db7..52cebd9e22ed58e7ae2c736e3727ae6ba51f2edb 100644 (file)
@@ -37,7 +37,7 @@ CONFIG_SPL_YMODEM_SUPPORT=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
-# CONFIG_CMD_NAND is not set
+CONFIG_CMD_NAND_TRIMFFS=y
 CONFIG_CMD_SF=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EXT4_WRITE=y
index 470fd3a35524b19c2d7b7aa8774e1a11dd198912..2eeec09f1bbdef14e455f5e170e9ec36bf5e3715 100644 (file)
@@ -14,12 +14,20 @@ CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/imx8m/imximage.cfg"
+CONFIG_BOARD_LATE_INIT=y
 CONFIG_SPL_BOARD_INIT=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_BOOTM_NETBSD is not set
+# CONFIG_CMD_EXPORTENV is not set
+# CONFIG_CMD_IMPORTENV is not set
+# CONFIG_CMD_CRC32 is not set
+CONFIG_CMD_FUSE=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_DHCP=y
+CONFIG_CMD_MII=y
+CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_REGULATOR=y
 CONFIG_CMD_EXT2=y
index 8937c51bd0e4be52ecda2b9bdbcfb9c79e53c15a..87871fd19f153f37aa3e5863341ea20ea5766e3b 100644 (file)
@@ -10,5 +10,6 @@ CONFIG_SPL_SPI_SUNXI=y
 # CONFIG_PSCI_RESET is not set
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_DEFAULT_DEVICE_TREE="sun50i-h6-pine-h64"
+CONFIG_SUN8I_EMAC=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_OHCI_HCD=y
index 0e9f0ec250ca31aebc2a4d5e3580ff1d23212af5..0c129b9aebb4b3e188b932071e52fbd68f1dc1ed 100644 (file)
@@ -1,45 +1,40 @@
 CONFIG_ARM=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_SYS_TEXT_BASE=0x00200000
-CONFIG_ENV_OFFSET=0x3F8000
 CONFIG_ROCKCHIP_RK3399=y
-CONFIG_RAM_RK3399_LPDDR4=y
-CONFIG_NR_DRAM_BANKS=1
 CONFIG_TARGET_PINEBOOK_PRO_RK3399=y
-CONFIG_BAUDRATE=1500000
-CONFIG_DEBUG_UART=y
-CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_NR_DRAM_BANKS=1
 CONFIG_DEBUG_UART_BASE=0xFF1A0000
 CONFIG_DEBUG_UART_CLOCK=24000000
-CONFIG_SPL_SPI_SUPPORT=y
 CONFIG_SPL_SPI_FLASH_SUPPORT=y
-CONFIG_SPL_MTD_SUPPORT=y
+CONFIG_SPL_SPI_SUPPORT=y
+CONFIG_DEBUG_UART=y
+CONFIG_BOOTDELAY=3
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-pinebook-pro.dtb"
 CONFIG_MISC_INIT_R=y
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
+CONFIG_SPL_MTD_SUPPORT=y
 CONFIG_TPL=y
-CONFIG_SPL_OF_CONTROL=y
-CONFIG_DEFAULT_DEVICE_TREE="rk3399-pinebook-pro"
-CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
-CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_GPT=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
-CONFIG_CMD_MTDPARTS=y
-CONFIG_CMD_PMIC=y
-CONFIG_CMD_REGULATOR=y
+CONFIG_CMD_PCI=y
+CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_CMD_SF=y
 CONFIG_CMD_TIME=y
-CONFIG_CMD_USB=y
+CONFIG_CMD_PMIC=y
+CONFIG_CMD_REGULATOR=y
+CONFIG_SPL_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="rk3399-pinebook-pro"
+CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ROCKCHIP_GPIO=y
 CONFIG_SYS_I2C_ROCKCHIP=y
-CONFIG_BOOTDELAY=3
 CONFIG_LED=y
 CONFIG_LED_GPIO=y
 CONFIG_MISC=y
@@ -49,36 +44,37 @@ CONFIG_MMC_DW_ROCKCHIP=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_SDMA=y
 CONFIG_MMC_SDHCI_ROCKCHIP=y
-CONFIG_ROCKCHIP_SPI=y
 CONFIG_SF_DEFAULT_SPEED=20000000
-CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
-CONFIG_PMIC_RK8XX=y
+CONFIG_NVME=y
+CONFIG_PCI=y
 CONFIG_DM_PMIC_FAN53555=y
+CONFIG_PMIC_RK8XX=y
 CONFIG_REGULATOR_PWM=y
 CONFIG_REGULATOR_RK8XX=y
 CONFIG_PWM_ROCKCHIP=y
+CONFIG_RAM_RK3399_LPDDR4=y
+CONFIG_DM_RESET=y
+CONFIG_BAUDRATE=1500000
+CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_ROCKCHIP_SPI=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-# CONFIG_USB_XHCI_ROCKCHIP is not set
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_GENERIC=y
 CONFIG_USB_DWC3=y
 CONFIG_ROCKCHIP_USB2_PHY=y
+CONFIG_USB_KEYBOARD=y
 CONFIG_USB_HOST_ETHER=y
 CONFIG_USB_ETHER_ASIX=y
 CONFIG_USB_ETHER_RTL8152=y
-CONFIG_USB_KEYBOARD=y
-CONFIG_USE_TINY_PRINTF=y
-CONFIG_SPL_TINY_MEMSET=y
-CONFIG_ERRNO_STR=y
 CONFIG_DM_VIDEO=y
-CONFIG_VIDEO_BPP16=y
-CONFIG_VIDEO_BPP32=y
 CONFIG_DISPLAY=y
 CONFIG_VIDEO_ROCKCHIP=y
 CONFIG_DISPLAY_ROCKCHIP_EDP=y
+CONFIG_SPL_TINY_MEMSET=y
+CONFIG_ERRNO_STR=y
index 798b618de8e39cdd74121417b73ab829ff2487cb..825b856ef72a35ad9e6f6c44135252951f840d8a 100644 (file)
@@ -51,7 +51,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_TIMER=y
index a148832b83dd2c03a5ed10adb98743d7531cd415..6b7d2ee6b8afe764896c5607496408078972163b 100644 (file)
@@ -14,7 +14,6 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
 CONFIG_SPL_SPI_SUPPORT=y
 CONFIG_SPL_TEXT_BASE=0xff8c2000
 CONFIG_DEBUG_UART=y
-CONFIG_SPL_FIT_GENERATOR="board/theobroma-systems/puma_rk3399/fit_spl_atf.sh"
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-puma-haikou.dtb"
 CONFIG_MISC_INIT_R=y
 CONFIG_DISPLAY_BOARDINFO_LATE=y
@@ -39,7 +38,7 @@ CONFIG_CMD_PMIC=y
 CONFIG_CMD_REGULATOR=y
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_OF_LIVE=y
-CONFIG_DEFAULT_DEVICE_TREE="rk3399-puma-ddr1600"
+CONFIG_DEFAULT_DEVICE_TREE="rk3399-puma-haikou"
 CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
@@ -60,6 +59,8 @@ CONFIG_PHY_MICREL_KSZ90X1=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_GMAC_ROCKCHIP=y
+CONFIG_PHY_ROCKCHIP_INNO_USB2=y
+CONFIG_PHY_ROCKCHIP_TYPEC=y
 CONFIG_DM_PMIC_FAN53555=y
 CONFIG_PMIC_RK8XX=y
 CONFIG_SPL_DM_REGULATOR=y
@@ -68,6 +69,7 @@ CONFIG_SPL_DM_REGULATOR_FIXED=y
 CONFIG_DM_REGULATOR_GPIO=y
 CONFIG_REGULATOR_RK8XX=y
 CONFIG_PWM_ROCKCHIP=y
+CONFIG_DM_RESET=y
 CONFIG_DM_RTC=y
 CONFIG_RTC_ISL1208=y
 CONFIG_DEBUG_UART_SHIFT=2
@@ -78,6 +80,8 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_GENERIC=y
+CONFIG_USB_DWC3=y
+CONFIG_USB_DWC3_GENERIC=y
 CONFIG_USB_HOST_ETHER=y
 CONFIG_USB_ETHER_ASIX=y
 CONFIG_USB_ETHER_ASIX88179=y
index b61f91ad563aa4d79d21ab4db347bb8fd9ef9e42..7bb5a53e35bec2bef3d4da7735cdd132acc6237d 100644 (file)
@@ -57,7 +57,6 @@ CONFIG_PINCTRL_MT8516=y
 CONFIG_RAM=y
 CONFIG_BAUDRATE=921600
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_MTK=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_MTK_SERIAL=y
 CONFIG_WDT=y
index 4e8eab531cdf4cd7f3e9f602ab874718a95e84c1..90d287b7b0636f1c7e3714a5956ed648a550d249 100644 (file)
@@ -60,3 +60,4 @@ CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
 CONFIG_FRAMEBUFFER_VESA_MODE_USER=y
 CONFIG_FRAMEBUFFER_VESA_MODE=0x144
 CONFIG_CONSOLE_SCROLL_LINES=5
+# CONFIG_GZIP is not set
index 565f232b4f6335dba1d87bf805ccff0e3de8aa36..4309c2352df41118fe2df2cdff2ea7b068d1baa1 100644 (file)
@@ -44,3 +44,4 @@ CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
 CONFIG_FRAMEBUFFER_VESA_MODE_USER=y
 CONFIG_FRAMEBUFFER_VESA_MODE=0x144
 CONFIG_CONSOLE_SCROLL_LINES=5
+# CONFIG_GZIP is not set
index 1c1539bcb9a24c01adc207cea34d3c7fba488acf..fd1b85c1e4bab538bd4740bcb0e54f0b5b4953ec 100644 (file)
@@ -1,18 +1,23 @@
 CONFIG_ARM=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_SYS_TEXT_BASE=0x00200000
-CONFIG_ENV_OFFSET=0x3F8000
+CONFIG_ENV_SIZE=0x6000
+CONFIG_ENV_OFFSET=0x460000
+CONFIG_ENV_SECT_SIZE=0x1000
 CONFIG_ROCKCHIP_RK3399=y
 CONFIG_TARGET_ROC_PC_RK3399=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_DEBUG_UART_BASE=0xFF1A0000
 CONFIG_DEBUG_UART_CLOCK=24000000
+CONFIG_SPL_SPI_FLASH_SUPPORT=y
+CONFIG_SPL_SPI_SUPPORT=y
 CONFIG_DEBUG_UART=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-roc-pc-mezzanine.dtb"
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
+CONFIG_SPL_SPI_LOAD=y
 CONFIG_TPL=y
 CONFIG_TPL_GPIO_SUPPORT=y
 CONFIG_CMD_BOOTZ=y
@@ -25,7 +30,7 @@ CONFIG_CMD_TIME=y
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="rk3399-roc-pc-mezzanine"
 CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
-CONFIG_ENV_IS_IN_MMC=y
+CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ROCKCHIP_GPIO=y
 CONFIG_SYS_I2C_ROCKCHIP=y
index 76e76c160efeca47a028ce726565502365e89c9b..80e700148181f164fdfdba51f14c6a89d5b8504a 100644 (file)
@@ -1,18 +1,23 @@
 CONFIG_ARM=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_SYS_TEXT_BASE=0x00200000
-CONFIG_ENV_OFFSET=0x3F8000
+CONFIG_ENV_SIZE=0x6000
+CONFIG_ENV_OFFSET=0x460000
+CONFIG_ENV_SECT_SIZE=0x1000
 CONFIG_ROCKCHIP_RK3399=y
 CONFIG_TARGET_ROC_PC_RK3399=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_DEBUG_UART_BASE=0xFF1A0000
 CONFIG_DEBUG_UART_CLOCK=24000000
+CONFIG_SPL_SPI_FLASH_SUPPORT=y
+CONFIG_SPL_SPI_SUPPORT=y
 CONFIG_DEBUG_UART=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-roc-pc.dtb"
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
+CONFIG_SPL_SPI_LOAD=y
 CONFIG_TPL=y
 CONFIG_TPL_GPIO_SUPPORT=y
 CONFIG_CMD_BOOTZ=y
@@ -24,7 +29,7 @@ CONFIG_CMD_TIME=y
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="rk3399-roc-pc"
 CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
-CONFIG_ENV_IS_IN_MMC=y
+CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ROCKCHIP_GPIO=y
 CONFIG_SYS_I2C_ROCKCHIP=y
diff --git a/configs/rock-pi-e-rk3328_defconfig b/configs/rock-pi-e-rk3328_defconfig
new file mode 100644 (file)
index 0000000..7598387
--- /dev/null
@@ -0,0 +1,104 @@
+CONFIG_ARM=y
+CONFIG_ARCH_ROCKCHIP=y
+CONFIG_SYS_TEXT_BASE=0x00200000
+CONFIG_SPL_GPIO_SUPPORT=y
+CONFIG_ENV_OFFSET=0x3F8000
+CONFIG_ROCKCHIP_RK3328=y
+CONFIG_TPL_ROCKCHIP_COMMON_BOARD=y
+CONFIG_TPL_LIBCOMMON_SUPPORT=y
+CONFIG_TPL_LIBGENERIC_SUPPORT=y
+CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
+CONFIG_SPL_STACK_R_ADDR=0x4000000
+CONFIG_SPL_SYS_MALLOC_F_LEN=0x4000
+CONFIG_NR_DRAM_BANKS=1
+CONFIG_DEBUG_UART_BASE=0xFF130000
+CONFIG_DEBUG_UART_CLOCK=24000000
+CONFIG_SMBIOS_PRODUCT_NAME="rock-pi-e_rk3328"
+CONFIG_DEBUG_UART=y
+CONFIG_TPL_SYS_MALLOC_F_LEN=0x800
+# CONFIG_ANDROID_BOOT_IMAGE is not set
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_SPL_LOAD_FIT=y
+CONFIG_DEFAULT_FDT_FILE="rockchip/rk3328-rock-pi-e.dtb"
+CONFIG_MISC_INIT_R=y
+# CONFIG_DISPLAY_CPUINFO is not set
+CONFIG_DISPLAY_BOARDINFO_LATE=y
+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
+CONFIG_TPL_SYS_MALLOC_SIMPLE=y
+CONFIG_SPL_STACK_R=y
+CONFIG_SPL_I2C_SUPPORT=y
+CONFIG_SPL_POWER_SUPPORT=y
+CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
+CONFIG_SPL_ATF=y
+CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
+CONFIG_TPL_DRIVERS_MISC_SUPPORT=y
+CONFIG_CMD_BOOTZ=y
+CONFIG_CMD_GPT=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_TIME=y
+CONFIG_SPL_OF_CONTROL=y
+CONFIG_TPL_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="rk3328-rock-pi-e"
+CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
+CONFIG_TPL_OF_PLATDATA=y
+CONFIG_ENV_IS_IN_MMC=y
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_TPL_DM=y
+CONFIG_REGMAP=y
+CONFIG_SPL_REGMAP=y
+CONFIG_TPL_REGMAP=y
+CONFIG_SYSCON=y
+CONFIG_SPL_SYSCON=y
+CONFIG_TPL_SYSCON=y
+CONFIG_CLK=y
+CONFIG_SPL_CLK=y
+CONFIG_FASTBOOT_BUF_ADDR=0x800800
+CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
+CONFIG_ROCKCHIP_GPIO=y
+CONFIG_SYS_I2C_ROCKCHIP=y
+CONFIG_MMC_DW=y
+CONFIG_MMC_DW_ROCKCHIP=y
+CONFIG_SF_DEFAULT_SPEED=20000000
+CONFIG_DM_ETH=y
+CONFIG_ETH_DESIGNWARE=y
+CONFIG_GMAC_ROCKCHIP=y
+CONFIG_PHY=y
+CONFIG_PINCTRL=y
+CONFIG_SPL_PINCTRL=y
+CONFIG_DM_PMIC=y
+CONFIG_PMIC_RK8XX=y
+CONFIG_SPL_DM_REGULATOR=y
+CONFIG_REGULATOR_PWM=y
+CONFIG_SPL_DM_REGULATOR_FIXED=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_REGULATOR_RK8XX=y
+CONFIG_PWM_ROCKCHIP=y
+CONFIG_RAM=y
+CONFIG_SPL_RAM=y
+CONFIG_TPL_RAM=y
+CONFIG_DM_RESET=y
+CONFIG_BAUDRATE=1500000
+CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_DEBUG_UART_ANNOUNCE=y
+CONFIG_DEBUG_UART_SKIP_INIT=y
+CONFIG_SYSRESET=y
+# CONFIG_TPL_SYSRESET is not set
+CONFIG_USB=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_DWC3=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_GENERIC=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_GENERIC=y
+CONFIG_USB_DWC2=y
+CONFIG_USB_DWC3=y
+# CONFIG_USB_DWC3_GADGET is not set
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_DWC2_OTG=y
+CONFIG_SPL_TINY_MEMSET=y
+CONFIG_TPL_TINY_MEMSET=y
+CONFIG_ERRNO_STR=y
+CONFIG_SMBIOS_MANUFACTURER="radxa"
index e290e2734b5ea21230f64d3dd510b5f40424fd29..59a85c78a14b4b145234f316ffae4928fc1a5823 100644 (file)
@@ -51,7 +51,6 @@ CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-# CONFIG_USB_XHCI_ROCKCHIP is not set
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_GENERIC=y
 CONFIG_USB_DWC3=y
index 8c4b2f35c1b99b8119a896dcea6da71785d8ac84..807747485a364b1e226a0130e16cb7023d3a6a10 100644 (file)
@@ -1,12 +1,15 @@
 CONFIG_ARM=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_SYS_TEXT_BASE=0x00200000
+CONFIG_ENV_SIZE=0x8000
 CONFIG_ENV_OFFSET=0x3F8000
 CONFIG_ROCKCHIP_RK3399=y
 CONFIG_TARGET_ROCKPRO64_RK3399=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_DEBUG_UART_BASE=0xFF1A0000
 CONFIG_DEBUG_UART_CLOCK=24000000
+CONFIG_SPL_SPI_FLASH_SUPPORT=y
+CONFIG_SPL_SPI_SUPPORT=y
 CONFIG_DEBUG_UART=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-rockpro64.dtb"
 CONFIG_MISC_INIT_R=y
@@ -14,17 +17,19 @@ CONFIG_DISPLAY_BOARDINFO_LATE=y
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
+CONFIG_SPL_SPI_LOAD=y
 CONFIG_TPL=y
 CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_GPT=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_PCI=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_TIME=y
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="rk3399-rockpro64"
 CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
-CONFIG_ENV_IS_IN_MMC=y
+CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ROCKCHIP_GPIO=y
 CONFIG_SYS_I2C_ROCKCHIP=y
@@ -39,10 +44,13 @@ CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_GMAC_ROCKCHIP=y
+CONFIG_NVME=y
+CONFIG_PCI=y
 CONFIG_PMIC_RK8XX=y
 CONFIG_REGULATOR_PWM=y
 CONFIG_REGULATOR_RK8XX=y
 CONFIG_PWM_ROCKCHIP=y
+CONFIG_DM_RESET=y
 CONFIG_RAM_RK3399_LPDDR4=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
index f369bb93bd28d4676dfce58436e3eafb7d192ac5..a36a249540df82bc40cfd7fcaba2b32e8a0ff09b 100644 (file)
@@ -4,10 +4,8 @@ CONFIG_SYS_TEXT_BASE=0x00008000
 CONFIG_TARGET_RPI_4_32B=y
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_ENV_SIZE=0x4000
-CONFIG_NR_DRAM_BANKS=4
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_OF_BOARD_SETUP=y
-CONFIG_ARCH_FIXUP_FDT_MEMORY=y
 CONFIG_MISC_INIT_R=y
 # CONFIG_DISPLAY_CPUINFO is not set
 # CONFIG_DISPLAY_BOARDINFO is not set
index d4b586cf3ab88bb0ced9cfd7879a7e0352fc261d..f0301dc8bcaf3cd3581a36815ef8bc8d20db5e29 100644 (file)
@@ -4,10 +4,8 @@ CONFIG_SYS_TEXT_BASE=0x00080000
 CONFIG_TARGET_RPI_4=y
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_ENV_SIZE=0x4000
-CONFIG_NR_DRAM_BANKS=4
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_OF_BOARD_SETUP=y
-CONFIG_ARCH_FIXUP_FDT_MEMORY=y
 CONFIG_MISC_INIT_R=y
 # CONFIG_DISPLAY_CPUINFO is not set
 # CONFIG_DISPLAY_BOARDINFO is not set
index f8a369f8f1ee2f54f3d1e9f7e7484340eff425e5..d16c2388afdc04448aaf0066abc0c152d73b1f42 100644 (file)
@@ -4,7 +4,6 @@ CONFIG_SYS_TEXT_BASE=0x00080000
 CONFIG_TARGET_RPI_ARM64=y
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_ENV_SIZE=0x4000
-CONFIG_NR_DRAM_BANKS=4
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_USE_PREBOOT=y
index 78450c23d6a193f88b35a6cc7aa7216c097744d9..f687de4ef86c9a54e6974aea9cc91c4f1ebe2e51 100644 (file)
@@ -14,6 +14,7 @@ CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0xc0000000
 CONFIG_SYS_MEMTEST_END=0xc7c00000
 CONFIG_CMD_MMC=y
+CONFIG_CMD_CACHE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_DM=y
index 9747c48a7f2290f5f64bded6891bf601c5c29684..9876b5990f40f6bb2b6a0571375f5b8a9dc9664d 100644 (file)
@@ -33,7 +33,6 @@ CONFIG_PINCTRL_MESON_AXG=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_MESON=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
 CONFIG_MESON_SERIAL=y
index 4c0a6cc4918be225c1c4c33602dff26a6bd68d11..9dc6ac846c6b7486b698ffe1b4578cffcf18d98c 100644 (file)
@@ -52,7 +52,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_TIMER=y
index 7dc4fe7c6348df44717f5927447f7b8701964a51..b59e4be4be80468d904b9eb91d5b313e1029d253 100644 (file)
@@ -56,7 +56,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_TIMER=y
index 5f9b5cb288773d3ab6679ddc8d9d5f108a7ef1be..37de4044e9dc542e748f30620f101194eecf8fde 100644 (file)
@@ -72,7 +72,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index a750ec9e185e24260e51c2f45f9468650e4a411b..33fcf9e256cf17955d0a78f458cc2ce78336e0aa 100644 (file)
@@ -78,7 +78,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91PIO4=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 3f22fde026240a9fc831220f993ebdbe22be3326..104a72cb0c5a771644efdda774f8326f64bcdfd8 100644 (file)
@@ -78,7 +78,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91PIO4=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 2c8ae8d004124801b0ce3e18129bb061ca983893..888c949b30471b895dfcf73b08e3806e7b4ccab9 100644 (file)
@@ -86,7 +86,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91PIO4=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index a5fb4f514ea5ee14ac1cec70ba09a417e87a3496..1b7cfafe85a87959f030416f71d8d242d53882b1 100644 (file)
@@ -82,7 +82,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91PIO4=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 92decb4b85a13b32108701d4a58a50375ba4c838..eea86f935708f22015d604e79972778c46ee0ccd 100644 (file)
@@ -93,7 +93,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91PIO4=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index dd154417988db8d5ef068747f254c80013c4a913..dc4e815ec1272f1e5855a0c74fdf10f14c355f28 100644 (file)
@@ -70,7 +70,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91PIO4=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_TIMER=y
index d73dcc5fe1188294dd0379ecd36fb6ee60011620..5a27bc1cb60ead536dd6c6f4189368844cd094ed 100644 (file)
@@ -61,7 +61,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91PIO4=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_TIMER=y
index 52908d45d923af6256c343e365861732c94104ec..2cce9370421a23fe86b379f14b6a76d7f75cd67e 100644 (file)
@@ -61,7 +61,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91PIO4=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_TIMER=y
index 75d68a76e48241ecdb30b6412e1801facbe030f3..7795bcbf2018e5d924f73bc7f7aebeb2fc188a71 100644 (file)
@@ -77,7 +77,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91PIO4=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 779e91a52a93181f4deb8c44fb75d200bd579928..cd1868a694bc25530d86fe89b02d4bf721247207 100644 (file)
@@ -79,7 +79,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91PIO4=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 9b5645667dec77026be2a9e8b643cba01d0807d2..f7d4037dd45a151bfd3a7b14e90e307ba85267fb 100644 (file)
@@ -78,7 +78,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91PIO4=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 43d493bf9c0faa3cf803a37b369f8f9e64f42cf8..9f90aa1328c969accd6d60df0cb19280245f5f2d 100644 (file)
@@ -79,7 +79,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91PIO4=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index fec15957553ad5fff1f4746b6c3b616ff4f9b267..68502a9cabeb798713b3cc7739b6de51e4bf0c2d 100644 (file)
@@ -55,7 +55,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index a736e81eec4da0841f02a65477212a8ddf475d28..61fa1609d1e9c9d83ed34a8572608e13e32211ba 100644 (file)
@@ -56,7 +56,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 440f3cb555aa843ad1acdcc2bbdb3a917994c555..b5e2439f2a9d1e75f61d9169aa64feb326df0ac8 100644 (file)
@@ -57,7 +57,6 @@ CONFIG_MACB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 76e981dabfea53f38d330fd4fc6e1dfa6caf2021..3a8b410b4a3d2c2f62ea6c1d2f452bb5890ea788 100644 (file)
@@ -73,7 +73,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_TIMER=y
index 44c61848b824d17a669cb01a88fa23fdec19dc4f..51b616a3c3dfb0e7c5779cc77cb0d7773bd2631d 100644 (file)
@@ -72,7 +72,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_TIMER=y
index d7f2ebeffd0799e33c6f35ae77175eaa3ce01fdd..1413cc81d01247546b870e63186e276094bc9dc6 100644 (file)
@@ -81,7 +81,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 5ad854248d3da383ffd7f23f39023dc10c612454..9b86300cb289541dc3006a587cbe6b8beec8ae90 100644 (file)
@@ -78,7 +78,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 6a76d7c9c035dc0f841ac4a6d58bb7672f999b5b..4ff41161183bc71d99a573ac4eafb159528d0857 100644 (file)
@@ -79,7 +79,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index eaee73ec99b1c13e5203f416951db60a2a07f411..e4edb4ef90d04f417bdd0bfc3bf03f80b3b7f158 100644 (file)
@@ -74,7 +74,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index a277be13a4755b4209010ea0322e81f342bfafdd..1499aebe8b59f72c38f53a03dd32783f8bcba840 100644 (file)
@@ -71,7 +71,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 3be18e65a4b9ad69e95f1a8b7348531bf87ce504..6eaebea82ddff551d328f4a8ef651b5ed2829e47 100644 (file)
@@ -75,7 +75,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index c1c64dd3228615b0aa4139382aed5ed02ecabb05..d00c0b402888d8b65beeacc4fd1f80835d0ddf31 100644 (file)
@@ -72,7 +72,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index 935945c154cedcd278daafcbae114be232c211f9..d23b299ce6d896ce4103d38efa81deebbe8e9790 100644 (file)
@@ -71,7 +71,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index a7541a22d6470ad91e064eebf60ab62b9f0141ec..f225e9ea390bd41556667bd195d5a3a06ea30052 100644 (file)
@@ -72,7 +72,6 @@ CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
index c09bf3349357a1efc9954b7a165ca12018c79aba..5b7569319b73537d9125b079c55ab9c5325b4b66 100644 (file)
@@ -196,7 +196,6 @@ CONFIG_SANDBOX_RESET=y
 CONFIG_DM_RNG=y
 CONFIG_DM_RTC=y
 CONFIG_RTC_RV8803=y
-CONFIG_DEBUG_UART_SANDBOX=y
 CONFIG_SANDBOX_SERIAL=y
 CONFIG_SMEM=y
 CONFIG_SANDBOX_SMEM=y
index c3fe419fa4665880a84e4a6a0f81ea20a1ada307..70aa93d9ca07b8d79596a2bfd0ecc45d0138ab9c 100644 (file)
@@ -55,7 +55,6 @@ CONFIG_MESON_EE_POWER_DOMAIN=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_MESON=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
 CONFIG_MESON_SERIAL=y
index f147235a5ac7c27a65d03f70073d82290772044d..f19f3b55d913fb2eec5ac29a7524a27527772971 100644 (file)
@@ -55,7 +55,6 @@ CONFIG_MESON_EE_POWER_DOMAIN=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_MESON=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
 CONFIG_MESON_SERIAL=y
index d350429cada5db2f8f5444dee07f5150dc60c0d9..39939ccf6032e255e3e27ebf3f2ae9f71416cf4b 100644 (file)
@@ -50,3 +50,4 @@ CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
 CONFIG_LZMA=y
+CONFIG_BZIP2=y
index f805aacc7afdd7c96b5b490dc273816c85bf7184..8d412f8d6ae28dafffd07da469631c5dc813e6a4 100644 (file)
@@ -1,6 +1,11 @@
 CONFIG_RISCV=y
+CONFIG_SPL_GPIO_SUPPORT=y
+CONFIG_SYS_MALLOC_F_LEN=0x3000
 CONFIG_ENV_SIZE=0x20000
+CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_NR_DRAM_BANKS=1
+CONFIG_SPL=y
+CONFIG_SPL_SPI_SUPPORT=y
 CONFIG_TARGET_SIFIVE_FU540=y
 CONFIG_ARCH_RV64I=y
 CONFIG_RISCV_SMODE=y
@@ -9,7 +14,10 @@ CONFIG_FIT=y
 CONFIG_MISC_INIT_R=y
 CONFIG_DISPLAY_CPUINFO=y
 CONFIG_DISPLAY_BOARDINFO=y
+CONFIG_SPL_SEPARATE_BSS=y
+CONFIG_SPL_YMODEM_SUPPORT=y
 CONFIG_OF_BOARD_FIXUP=y
 CONFIG_DEFAULT_DEVICE_TREE="hifive-unleashed-a00"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_SPL_CLK=y
 CONFIG_DM_MTD=y
index 4a4fb1100d40ae62913183c3e594143420b03c77..dce540342b4934c59be13006e5a76a68a70165f9 100644 (file)
@@ -21,3 +21,4 @@ CONFIG_REGMAP=y
 CONFIG_SYSCON=y
 # CONFIG_PCI_PNP is not set
 CONFIG_CONSOLE_SCROLL_LINES=5
+# CONFIG_GZIP is not set
index d408e005e1e84e8190b70647787fecd3e678a08e..cba7c05869bef28a5ce1387ce14cf973e4e42586 100644 (file)
@@ -68,7 +68,6 @@ CONFIG_REGULATOR_S5M8767=y
 CONFIG_REGULATOR_TPS65090=y
 CONFIG_DM_PWM=y
 CONFIG_PWM_EXYNOS=y
-CONFIG_DEBUG_UART_S5P=y
 CONFIG_SOUND=y
 CONFIG_I2S=y
 CONFIG_I2S_SAMSUNG=y
index 4d7accc7c4730e8b3d7cd1c55b585dbb8b207079..854381d6e716d72fc3ba3f5ed4a19ec750339fef 100644 (file)
@@ -57,3 +57,4 @@ CONFIG_USB_KEYBOARD=y
 CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
 CONFIG_FRAMEBUFFER_VESA_MODE_11A=y
 CONFIG_CONSOLE_SCROLL_LINES=5
+# CONFIG_GZIP is not set
index 08469d68b6248c18ca1dc83453aa2dd2d3ee3e68..f8c9e1fb3e7911334c8723acacb900777e4ec46e 100644 (file)
@@ -17,6 +17,7 @@ CONFIG_SYS_MEMTEST_START=0x80000000
 CONFIG_SYS_MEMTEST_END=0x88000000
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_READ=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
index ee9cbb71a22376f075fc54051e826e769a45db18..b07116d00b68d095fc514e58c39b70a031b12cda 100644 (file)
@@ -68,7 +68,6 @@ CONFIG_REGULATOR_S5M8767=y
 CONFIG_REGULATOR_TPS65090=y
 CONFIG_DM_PWM=y
 CONFIG_PWM_EXYNOS=y
-CONFIG_DEBUG_UART_S5P=y
 CONFIG_SOUND=y
 CONFIG_I2S=y
 CONFIG_I2S_SAMSUNG=y
index 0b189710873e93dfb9db31efb0e21853e2708486..8257fb2b33d3883821701b9958a1f467f4b51ed9 100644 (file)
@@ -11,6 +11,7 @@ CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyAS1,115200 CONSOLE=/dev/ttyAS1 consoleblank=0 root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait mem=992M@0x40000000 vmalloc=256m"
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SYS_PROMPT="stih410-b2260 => "
+CONFIG_CMD_ASKENV=y
 CONFIG_CMD_GPT=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
index be030bfb3714139c9a11bf8e969d1518253191dc..58e854aea0dcfa005410edd386921a061eba0c19 100644 (file)
@@ -12,6 +12,7 @@ CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 earlyprintk consoleblank=0 ignore_loglevel"
 # CONFIG_USE_BOOTCOMMAND is not set
+CONFIG_BOARD_LATE_INIT=y
 # CONFIG_DISPLAY_CPUINFO is not set
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_BOARD_EARLY_INIT_F=y
index 09fbcc968fc5a80d7c410f8e9f289b45fc09db43..0cda06e1afdab0c3461bca584177c89662bd160a 100644 (file)
@@ -12,6 +12,7 @@ CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 earlyprintk consoleblank=0 ignore_loglevel"
 # CONFIG_USE_BOOTCOMMAND is not set
+CONFIG_BOARD_LATE_INIT=y
 # CONFIG_DISPLAY_CPUINFO is not set
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_BOARD_EARLY_INIT_F=y
index 21ea90a2c1a777c5d3c41e3e7048094a849d9b48..1d94032ef0b6357563c68c09411a2a62af57d9ec 100644 (file)
@@ -10,6 +10,7 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_BOOTDELAY=3
 # CONFIG_USE_BOOTCOMMAND is not set
 CONFIG_DEFAULT_FDT_FILE="stm32h743i-disco"
+CONFIG_BOARD_LATE_INIT=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_SYS_PROMPT="U-Boot > "
index 432fce0181ce21261c068ab633be489c578f6733..6fd8cd84d4ce76ae8b7c60d0efb2d72786032878 100644 (file)
@@ -10,6 +10,7 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_BOOTDELAY=3
 # CONFIG_USE_BOOTCOMMAND is not set
 CONFIG_DEFAULT_FDT_FILE="stm32h743i-eval"
+CONFIG_BOARD_LATE_INIT=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_SYS_PROMPT="U-Boot > "
index db6077c11bd1ef3771faebad3679ecfb45b5b6ad..242ebf89e1496fb94bbef9d44581568767b5d032 100644 (file)
@@ -48,6 +48,7 @@ CONFIG_PHY_XILINX=y
 CONFIG_MII=y
 CONFIG_ZYNQ_GEM=y
 CONFIG_DEBUG_UART_ZYNQ=y
+CONFIG_ARM_DCC=y
 CONFIG_ZYNQ_SERIAL=y
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
index 19d85f9b5a81953b5b3a1ce9e289aab5ccb72628..d9a2d61ecb605089bf7a9177f709dcf8892c2452 100644 (file)
@@ -77,7 +77,6 @@ CONFIG_PHYLIB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_SPECIFY_CONSOLE_INDEX=y
-CONFIG_DEBUG_UART_ATMEL=y
 CONFIG_ATMEL_USART=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
index 7a8feee5212bea006d711a3d969d3a1832983e51..7a125751da4a68a5d6dee69cb34c627c2f883626 100644 (file)
@@ -37,6 +37,7 @@ CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
+CONFIG_CMD_BMP=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_BOOTSTAGE=y
 CONFIG_CMD_EXT2=y
@@ -65,3 +66,4 @@ CONFIG_USB_ETHER_RTL8152=y
 CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
 CONFIG_FRAMEBUFFER_VESA_MODE_114=y
 CONFIG_CONSOLE_SCROLL_LINES=5
+# CONFIG_GZIP is not set
index dbbac6b10354adf3f3f16553763437dfec4c27ba..9afad6a16b7ac4bb72a96ffaa2261a4fb299cce4 100644 (file)
@@ -36,6 +36,7 @@ CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
+CONFIG_CMD_BMP=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_BOOTSTAGE=y
 CONFIG_CMD_EXT2=y
@@ -64,3 +65,4 @@ CONFIG_USB_ETHER_RTL8152=y
 CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
 CONFIG_FRAMEBUFFER_VESA_MODE_114=y
 CONFIG_CONSOLE_SCROLL_LINES=5
+# CONFIG_GZIP is not set
index de9701afe6f84f223aeaec4afcd4790eb7b3792c..ee83584b4a5243facf6530d01b437db0c9e56855 100644 (file)
@@ -34,6 +34,7 @@ CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
+CONFIG_CMD_BMP=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_BOOTSTAGE=y
 CONFIG_CMD_EXT2=y
@@ -61,3 +62,4 @@ CONFIG_USB_ETHER_RTL8152=y
 CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
 CONFIG_FRAMEBUFFER_VESA_MODE_114=y
 CONFIG_CONSOLE_SCROLL_LINES=5
+# CONFIG_GZIP is not set
index 2d7c003d63325a75148b3461908d171870df6f47..8f41c9700a88857e9a6b51c5853a96f1694b283e 100644 (file)
@@ -26,5 +26,4 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_DM=y
 # CONFIG_MMC is not set
 CONFIG_DM_SERIAL=y
-CONFIG_DEBUG_UART_PL011=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
index 17aa6a02067c019f8b011495e4078b4c8ec8284e..21d152aea9d11fab0cbc7b3cd64a8dd98d11b6e9 100644 (file)
@@ -27,6 +27,7 @@ CONFIG_VERSION_VARIABLE=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x300
 CONFIG_SPL_NAND_SUPPORT=y
+CONFIG_CMD_ASKENV=y
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
index f50d12d154e2c561779e827e04e489f6c7ca877d..721ed3f8a6a0bcfa16109fa3e9592b4328a683fc 100644 (file)
@@ -26,7 +26,6 @@ CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x00000000
 CONFIG_SYS_MEMTEST_END=0x18000000
 CONFIG_CMD_DFU=y
-CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
@@ -49,6 +48,7 @@ CONFIG_SF_DEFAULT_SPEED=108000000
 CONFIG_SPI_FLASH_STMICRO=y
 # CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
 CONFIG_DEBUG_UART_ZYNQ=y
+CONFIG_ARM_DCC=y
 CONFIG_ZYNQ_SERIAL=y
 CONFIG_ZYNQ_QSPI=y
 CONFIG_USB=y
index d2fe64ed9ee4c02eba23f5615138efcf003d71f2..56981bb7365488d001d38b592372f1dda92b48bd 100644 (file)
@@ -26,7 +26,6 @@ CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x00000000
 CONFIG_SYS_MEMTEST_END=0x18000000
 CONFIG_CMD_DFU=y
-CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
@@ -49,6 +48,7 @@ CONFIG_SF_DEFAULT_SPEED=108000000
 CONFIG_SPI_FLASH_STMICRO=y
 # CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
 CONFIG_DEBUG_UART_ZYNQ=y
+CONFIG_ARM_DCC=y
 CONFIG_ZYNQ_SERIAL=y
 CONFIG_ZYNQ_QSPI=y
 CONFIG_USB=y
index 9afd7f6bcada0b897440184a7d62c85330f5c48a..129c8f657dfd3582731ad244ecc2a8016b66edaf 100644 (file)
@@ -26,7 +26,6 @@ CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_MEMTEST_START=0x00000000
 CONFIG_SYS_MEMTEST_END=0x18000000
 CONFIG_CMD_DFU=y
-CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
@@ -49,6 +48,7 @@ CONFIG_SPI_FLASH_STMICRO=y
 # CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
 # CONFIG_NETDEVICES is not set
 CONFIG_DEBUG_UART_ZYNQ=y
+CONFIG_ARM_DCC=y
 CONFIG_ZYNQ_SERIAL=y
 CONFIG_ZYNQ_QSPI=y
 CONFIG_USB=y
index f9d37b1365f0566816f2c3b6b8f94d868972b8d4..8854e8f1af3022c0cecc7b8cfa3ba5232206fe7d 100644 (file)
@@ -20,6 +20,8 @@ CONFIG_SYS_MEMTEST_END=0x83f00000
 CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_CMD_MII=y
+# CONFIG_CMD_MDIO is not set
 CONFIG_CMD_PING=y
 # CONFIG_ISO_PARTITION is not set
 CONFIG_DEFAULT_DEVICE_TREE="tplink_wdr4300"
index 66d475d8bcb838c713c0c2e737c4720d3408e43a..f28a670e3a58f4709870246d47b393ac8036ca48 100644 (file)
@@ -70,7 +70,6 @@ CONFIG_PINCTRL_ARMADA_37XX=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_RTC=y
 CONFIG_RTC_DS1307=y
-CONFIG_DEBUG_MVEBU_A3700_UART=y
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_MVEBU_A3700_UART=y
index 382d289e9f8426299a7d06160fffa829e1b930c4..28d13f8362244b3fe334374e28a2f1b307f3ef25 100644 (file)
@@ -37,7 +37,6 @@ CONFIG_PINCTRL_MESON_G12A=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_MESON=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
 CONFIG_MESON_SERIAL=y
index ee5bf0bb64b987b98e9486a504c86167907c23aa..90818135f55865832dfb89be6debd5ffa1b69ad6 100644 (file)
@@ -81,7 +81,6 @@ CONFIG_PINCTRL=y
 CONFIG_PINCTRL_ARMADA_37XX=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_REGULATOR_GPIO=y
-CONFIG_DEBUG_MVEBU_A3700_UART=y
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_MVEBU_A3700_UART=y
index 9e6a0c1e7a79da221e2207ec3f97c725699348bf..c46eed5ae3ff8f43a6f2dfcebd8936a7206ad794 100644 (file)
@@ -17,6 +17,7 @@ CONFIG_DEFAULT_FDT_FILE="rk3288-vyasa.dtb"
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x2000
+CONFIG_CMD_SPL=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_GPT=y
 CONFIG_CMD_I2C=y
index d2de463aaa14db51e7167270cb812d4d6b4959e0..5728cfb45481ac2f75f24a8770ff2bbbc8eeedc8 100644 (file)
@@ -40,4 +40,5 @@ CONFIG_NAND_ATMEL=y
 CONFIG_PMECC_CAP=4
 CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER=y
 CONFIG_LZMA=y
+CONFIG_LZO=y
 CONFIG_OF_LIBFDT=y
index 67c8fbf6639fd7caa17d5f380b9838895d49f09f..de077cb71fde53d4ed1885226d9588ec2a9f95f9 100644 (file)
@@ -30,6 +30,7 @@ CONFIG_CMD_MEMINFO=y
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
+CONFIG_CMD_PCI=y
 CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
@@ -43,6 +44,8 @@ CONFIG_CMD_EXT2=y
 CONFIG_CMD_EXT4=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_CMD_MTDPARTS=y
+CONFIG_CMD_UBI=y
 CONFIG_DEFAULT_DEVICE_TREE="armada-385-atl-x530"
 CONFIG_ENV_ADDR=0x100000
 CONFIG_SPL_OF_TRANSLATE=y
@@ -62,7 +65,6 @@ CONFIG_SPI_FLASH_BAR=y
 CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_SST=y
-CONFIG_MTD_UBI=y
 CONFIG_PCI=y
 CONFIG_DM_PCI_COMPAT=y
 CONFIG_PCI_MVEBU=y
index a3b71ccc3e1b8387a34ca122761cb518a1119651..6ad53b798a9e31f539e7c549e5f8851ad42214aa 100644 (file)
@@ -54,4 +54,6 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 # CONFIG_DM_WARN is not set
 # CONFIG_DM_DEVICE_REMOVE is not set
 # CONFIG_MMC is not set
+CONFIG_ARM_DCC=y
+# CONFIG_GZIP is not set
 # CONFIG_EFI_LOADER is not set
index e25077b0006bdb322118b79f14cfed850f55cda1..99880d80de650fc9834eb93485f4df4407380243 100644 (file)
@@ -52,5 +52,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 # CONFIG_DM_DEVICE_REMOVE is not set
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_ZYNQ=y
+CONFIG_ARM_DCC=y
 CONFIG_FAT_WRITE=y
+# CONFIG_GZIP is not set
 # CONFIG_EFI_LOADER is not set
index 3b477ad10368cab3d491eeeb2d76640c4f92d26e..c1b27d3b54873a43d2b06f1edfef9d6b8840919b 100644 (file)
@@ -52,5 +52,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 # CONFIG_DM_DEVICE_REMOVE is not set
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_ZYNQ=y
+CONFIG_ARM_DCC=y
 CONFIG_FAT_WRITE=y
+# CONFIG_GZIP is not set
 # CONFIG_EFI_LOADER is not set
index b629f8ba698c4e19d26ec16803128200ca9e06b3..4ed14f7030cca33a9e18059b299555f0821a4257 100644 (file)
@@ -69,6 +69,7 @@ CONFIG_PHY_FIXED=y
 CONFIG_PHY_GIGE=y
 CONFIG_MII=y
 CONFIG_ZYNQ_GEM=y
+CONFIG_ARM_DCC=y
 CONFIG_PL01X_SERIAL=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
index 375d54cbad6375fd573720584e3b7d2f61a045f6..5da7440af287c0c040c988d433ecf4927fd196de 100644 (file)
@@ -88,6 +88,7 @@ CONFIG_PHY_REALTEK=y
 CONFIG_PHY_XILINX=y
 CONFIG_MII=y
 CONFIG_ZYNQ_GEM=y
+CONFIG_ARM_DCC=y
 CONFIG_ZYNQ_SERIAL=y
 CONFIG_ZYNQ_SPI=y
 CONFIG_ZYNQ_QSPI=y
index c28efa3582a777fb163b1aa81402da15655aeb5f..4305db405839259c874b949e9ff595d266cc9226 100644 (file)
@@ -52,5 +52,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 # CONFIG_DM_WARN is not set
 # CONFIG_DM_DEVICE_REMOVE is not set
 # CONFIG_MMC is not set
+CONFIG_ARM_DCC=y
 CONFIG_PANIC_HANG=y
+# CONFIG_GZIP is not set
 # CONFIG_EFI_LOADER is not set
index cb2983d2476ec1267291fea128f74c66588616f3..b041b40b84b99893e10dcdfc526aac77d7950df1 100644 (file)
@@ -55,5 +55,7 @@ CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_SUPPORT_EMMC_BOOT=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_ZYNQ=y
+CONFIG_ARM_DCC=y
 CONFIG_PANIC_HANG=y
+# CONFIG_GZIP is not set
 # CONFIG_EFI_LOADER is not set
index f7bec364c38635d744e0a6d9778fce9ad57100fb..bd5603a6a13dd97bea194aa923850e7f18b3ef35 100644 (file)
@@ -55,5 +55,7 @@ CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_SUPPORT_EMMC_BOOT=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_ZYNQ=y
+CONFIG_ARM_DCC=y
 CONFIG_PANIC_HANG=y
+# CONFIG_GZIP is not set
 # CONFIG_EFI_LOADER is not set
index 01e0971991552b028c21816397c71c4461a54186..4f4efa0cfabfe4b3bb0015b8f75a7a67574c8161 100644 (file)
@@ -51,5 +51,7 @@ CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
 CONFIG_NAND_ARASAN=y
 CONFIG_SYS_NAND_MAX_CHIPS=2
+CONFIG_ARM_DCC=y
 CONFIG_PANIC_HANG=y
+# CONFIG_GZIP is not set
 # CONFIG_EFI_LOADER is not set
index 20e76cb11e8b721ddd7573c6ce8b006462b90261..3f780f746cfcf4008c5cadece33400d9ef6e580d 100644 (file)
@@ -50,5 +50,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
 CONFIG_NAND_ARASAN=y
+CONFIG_ARM_DCC=y
 CONFIG_PANIC_HANG=y
+# CONFIG_GZIP is not set
 # CONFIG_EFI_LOADER is not set
index c6e03cd256d42282c16873fb4485521b34cd9ff6..1f36f5c8e90ac79a7274698f9b10e9bfd751d4cc 100644 (file)
@@ -60,7 +60,9 @@ CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_WINBOND=y
 # CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
+CONFIG_ARM_DCC=y
 CONFIG_SPI=y
 CONFIG_ZYNQMP_GQSPI=y
 CONFIG_PANIC_HANG=y
+# CONFIG_GZIP is not set
 # CONFIG_EFI_LOADER is not set
index daa63693be1a77185562414bdaf3ecd582f0e5fe..1d1112f63bbc2550c56d1fadac0b65c2c375e42a 100644 (file)
@@ -14,7 +14,6 @@ CONFIG_CMD_BOOTSTAGE=y
 CONFIG_OF_EMBED=y
 CONFIG_DEFAULT_DEVICE_TREE="zynqmp-r5"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
-CONFIG_DEBUG_UART_ZYNQ=y
 CONFIG_ZYNQ_SERIAL=y
 CONFIG_TIMER=y
 CONFIG_CADENCE_TTC_TIMER=y
index 57be5a49f65e23ca453f42baa811f3fbcfd509a0..7886d5a38f29e0017e48cfc855ca43df735114eb 100644 (file)
@@ -116,6 +116,7 @@ CONFIG_MII=y
 CONFIG_ZYNQ_GEM=y
 CONFIG_SCSI=y
 CONFIG_DM_SCSI=y
+CONFIG_ARM_DCC=y
 CONFIG_ZYNQ_SERIAL=y
 CONFIG_SPI=y
 CONFIG_ZYNQ_SPI=y
index 6a01da2e4e1f263c3746042abbb4a8feaa400b09..0c05a73a57b5c472c7862f0daa1c5478a476205c 100644 (file)
@@ -56,4 +56,6 @@ CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
 CONFIG_NAND_ZYNQ=y
+CONFIG_ARM_DCC=y
+# CONFIG_GZIP is not set
 # CONFIG_EFI_LOADER is not set
index 7b18ba3cd534a1f283865138cfb246c17bff28c5..abf9401313957c86de4071635b73a2d8ad167c7a 100644 (file)
@@ -59,4 +59,6 @@ CONFIG_FLASH_CFI_DRIVER=y
 CONFIG_CFI_FLASH=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
+CONFIG_ARM_DCC=y
+# CONFIG_GZIP is not set
 # CONFIG_EFI_LOADER is not set
index 15d8473b27ca88ee31edeaec66b8d4643d29fb99..462dff8942e521581632b17ba17363e91e8fc0de 100644 (file)
@@ -68,6 +68,7 @@ CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_WINBOND=y
 # CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
-CONFIG_DEBUG_UART_ARM_DCC=y
+CONFIG_ARM_DCC=y
 CONFIG_ZYNQ_QSPI=y
+# CONFIG_GZIP is not set
 # CONFIG_EFI_LOADER is not set
index 716ad227aa1917261ccaf0bfd189f9f5693f9027..229f86d8fb25074076b22e3aa4d5edcc70f7f502 100644 (file)
@@ -134,3 +134,53 @@ by writing in u-boot.lds ($(srctree)/board/boardname/u-boot.lds) these
        .u_boot_list : {
                KEEP(*(SORT(.u_boot_list*)));
        }
+
+Writing tests
+-------------
+
+All new commands should have tests. Tests for existing commands are very
+welcome.
+
+It is fairly easy to write a test for a command. Enable it in sandbox, and
+then add code that runs the command and checks the output.
+
+Here is an example:
+
+/* Test 'acpi items' command */
+static int dm_test_acpi_cmd_items(struct unit_test_state *uts)
+{
+       struct acpi_ctx ctx;
+       void *buf;
+
+       buf = malloc(BUF_SIZE);
+       ut_assertnonnull(buf);
+
+       ctx.current = buf;
+       ut_assertok(acpi_fill_ssdt(&ctx));
+       console_record_reset();
+       run_command("acpi items", 0);
+       ut_assert_nextline("dev 'acpi-test', type 1, size 2");
+       ut_assert_nextline("dev 'acpi-test2', type 1, size 2");
+       ut_assert_console_end();
+
+       ctx.current = buf;
+       ut_assertok(acpi_inject_dsdt(&ctx));
+       console_record_reset();
+       run_command("acpi items", 0);
+       ut_assert_nextline("dev 'acpi-test', type 2, size 2");
+       ut_assert_nextline("dev 'acpi-test2', type 2, size 2");
+       ut_assert_console_end();
+
+       console_record_reset();
+       run_command("acpi items -d", 0);
+       ut_assert_nextline("dev 'acpi-test', type 2, size 2");
+       ut_assert_nextlines_are_dump(2);
+       ut_assert_nextline("%s", "");
+       ut_assert_nextline("dev 'acpi-test2', type 2, size 2");
+       ut_assert_nextlines_are_dump(2);
+       ut_assert_nextline("%s", "");
+       ut_assert_console_end();
+
+       return 0;
+}
+DM_TEST(dm_test_acpi_cmd_items, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);
index 34b2593eb85bfaaed6da836bf52f7f71d40816a3..44e1a5dfa38403c931129561a4ab69d21df81eed 100644 (file)
@@ -35,7 +35,7 @@ development boards.
 Supported CPU families
 ----------------------
 
-Please "make menuconfig" with ARCH=m68k, or check arch/m68k/cpu to see the
+Please "make menuconfig" and select "m68k" or check arch/m68k/cpu to see the
 currently supported processor and families.
 
 
@@ -75,8 +75,8 @@ A bash script similar to the one below may be used:
    board=M5475DFE
 
    make distclean
-   make ARCH=m68k ${board}_defconfig
-   make ARCH=m68k KBUILD_VERBOSE=1
+   make ${board}_defconfig
+   make KBUILD_VERBOSE=1
 
 
 Adopted toolchains
index e01d2d0370a10ea6aed33e46272ddfc5f30d6f33..74f2b12e41fe733f7fe81f3bab7cdb7a6ef279ba 100644 (file)
@@ -102,7 +102,7 @@ Building U-BOOT proper image
 
    $ make clean
    $ export CROSS_COMPILE=aarch64-linux-gnu-
-   $ make ARCH=arm cubieboard7_defconfig
+   $ make cubieboard7_defconfig
    $ make u-boot-dtb.img -j16
 
 u-boot-dtb.img can now be flashed to debian image partition mounted on host machine.
index 7b72fab496cf7d2c01437667a865bef92d06fe79..8c92de0c92dff1e5b556c2f5f34ab10fe4b7d541 100644 (file)
@@ -48,6 +48,7 @@ List of mainline supported rockchip boards:
      - Rockchip Evb-RK3328 (evb-rk3328)
      - Pine64 Rock64 (rock64-rk3328)
      - Firefly-RK3328 (roc-cc-rk3328)
+     - Radxa Rockpi E (rock-pi-e-rk3328)
 * rk3368
      - GeekBox (geekbox)
      - PX5 EVB (evb-px5)
@@ -162,6 +163,30 @@ Program the flash::
 Note: for rockchip 32-bit platforms the U-Boot proper image
 is u-boot-dtb.img
 
+SPI
+^^^
+
+Generating idbloader for SPI boot would require to input a multi image
+image format to mkimage tool instead of concerting (like for MMC boot).
+
+SPL-alone SPI boot image::
+
+        ./tools/mkimage -n rk3399 -T rkspi -d spl/u-boot-spl.bin idbloader.img
+
+TPL+SPL SPI boot image::
+
+        ./tools/mkimage -n rk3399 -T rkspi -d tpl/u-boot-tpl.bin:spl/u-boot-spl.bin idbloader.img
+
+Copy SPI boot images into SD card and boot from SD::
+
+        sf probe
+        load mmc 1:1 $kernel_addr_r idbloader.img
+        sf erase 0 +$filesize
+        sf write $kernel_addr_r 0 ${filesize}
+        load mmc 1:1 ${kernel_addr_r} u-boot.itb
+        sf erase 0x60000 +$filesize
+        sf write $kernel_addr_r 0x60000 ${filesize}
+
 TODO
 ----
 
@@ -171,4 +196,4 @@ TODO
 - Add missing SoC's with it boards list
 
 .. Jagan Teki <jagan@amarulasolutions.com>
-.. Sunday 24 May 2020 10:08:41 PM IST
+.. Tuesday 02 June 2020 12:18:57 AM IST
index 610ba87074b4673bfbb3768b42dd1c3e772721ef..f7c2c9f5bdc06c90f6611a0d292138c25a738a49 100644 (file)
@@ -20,16 +20,8 @@ The support for following drivers are already enabled:
 4. SiFive SPI Driver.
 5. MMC SPI Driver for MMC/SD support.
 
-TODO:
-
-1. U-Boot expects the serial console device entry to be present under /chosen
-   DT node. Without a serial console U-Boot will panic. Example:
-
-.. code-block:: none
-
-   chosen {
-        stdout-path = "/soc/serial@10010000:115200";
-   };
+Booting from MMC using FSBL
+---------------------------
 
 Building
 --------
@@ -39,7 +31,6 @@ Building
 
 .. code-block:: none
 
-   export ARCH=riscv
    export CROSS_COMPILE=<riscv64 toolchain prefix>
 
 3. make sifive_fu540_defconfig
@@ -58,7 +49,7 @@ firmware. We need to compile OpenSBI with below command:
 
 .. code-block:: none
 
-make PLATFORM=sifive/fu540 FW_PAYLOAD_PATH=<path to u-boot-dtb.bin>
+       make PLATFORM=generic FW_PAYLOAD_PATH=<path to u-boot-dtb.bin>
 
 More detailed description of steps required to build FW_PAYLOAD firmware
 is beyond the scope of this document. Please refer OpenSBI documenation.
@@ -421,3 +412,124 @@ as well.
 
    Please press Enter to activate this console.
    / #
+
+Booting from MMC using U-Boot SPL
+---------------------------------
+
+Building
+--------
+
+Before building U-Boot SPL, OpenSBI must be built first. OpenSBI can be
+cloned and built for FU540 as below:
+
+.. code-block:: console
+
+       git clone https://github.com/riscv/opensbi.git
+       cd opensbi
+       make PLATFORM=generic
+       export OPENSBI=<path to opensbi/build/platform/generic/firmware/fw_dynamic.bin>
+
+Now build the U-Boot SPL and U-Boot proper
+
+.. code-block:: console
+
+       cd <U-Boot-dir>
+       make sifive_fu540_defconfig
+       make
+
+This will generate spl/u-boot-spl.bin and FIT image (u-boot.itb)
+
+
+Flashing
+--------
+
+ZSBL loads the U-Boot SPL (u-boot-spl.bin) from a partition with GUID type
+5B193300-FC78-40CD-8002-E86C45580B47
+
+U-Boot SPL expects a U-Boot FIT image (u-boot.itb) from a partition with GUID
+type 2E54B353-1271-4842-806F-E436D6AF6985
+
+FIT image (u-boot.itb) is a combination of fw_dynamic.bin, u-boot-nodtb.bin and
+device tree blob (hifive-unleashed-a00.dtb)
+
+Format the SD card (make sure the disk has GPT, otherwise use gdisk to switch)
+
+.. code-block:: none
+
+       # sudo sgdisk --clear \
+       > --set-alignment=2 \
+       > --new=1:34:2081 --change-name=1:loader1 --typecode=1:5B193300-FC78-40CD-8002-E86C45580B47 \
+       > --new=2:2082:10273 --change-name=2:loader2 --typecode=2:2E54B353-1271-4842-806F-E436D6AF6985 \
+       > --new=3:10274: --change-name=3:rootfs --typecode=3:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \
+       > /dev/sda
+
+Program the SD card
+
+.. code-block:: none
+
+       sudo dd if=spl/u-boot-spl.bin of=/dev/sda seek=34
+       sudo dd if=u-boot.itb of=/dev/sda seek=2082
+
+Booting
+-------
+Once you plugin the sdcard and power up, you should see the U-Boot prompt.
+
+Sample boot log from HiFive Unleashed board
+-------------------------------------------
+
+.. code-block:: none
+
+       U-Boot SPL 2020.04-rc2-00109-g63efc7e07e-dirty (Apr 30 2020 - 13:52:36 +0530)
+       Trying to boot from MMC1
+
+
+       U-Boot 2020.04-rc2-00109-g63efc7e07e-dirty (Apr 30 2020 - 13:52:36 +0530)
+
+       CPU:   rv64imafdc
+       Model: SiFive HiFive Unleashed A00
+       DRAM:  8 GiB
+       MMC:   spi@10050000:mmc@0: 0
+       In:    serial@10010000
+       Out:   serial@10010000
+       Err:   serial@10010000
+       Net:   eth0: ethernet@10090000
+       Hit any key to stop autoboot:  0
+       => version
+       U-Boot 2020.04-rc2-00109-g63efc7e07e-dirty (Apr 30 2020 - 13:52:36 +0530)
+
+       riscv64-unknown-linux-gnu-gcc (crosstool-NG 1.24.0.37-3f461da) 9.2.0
+       GNU ld (crosstool-NG 1.24.0.37-3f461da) 2.32
+       => mmc info
+       Device: spi@10050000:mmc@0
+       Manufacturer ID: 3
+       OEM: 5344
+       Name: SC16G
+       Bus Speed: 20000000
+       Mode: SD Legacy
+       Rd Block Len: 512
+       SD version 2.0
+       High Capacity: Yes
+       Capacity: 14.8 GiB
+       Bus Width: 1-bit
+       Erase Group Size: 512 Bytes
+       => mmc part
+
+       Partition Map for MMC device 0  --   Partition Type: EFI
+
+       Part    Start LBA       End LBA         Name
+       Attributes
+       Type GUID
+       Partition GUID
+       1     0x00000022      0x00000821      "loader1"
+       attrs:  0x0000000000000000
+       type:   5b193300-fc78-40cd-8002-e86c45580b47
+       guid:   66e2b5d2-74db-4df8-ad6f-694b3617f87f
+       2     0x00000822      0x00002821      "loader2"
+       attrs:  0x0000000000000000
+       type:   2e54b353-1271-4842-806f-e436d6af6985
+       guid:   8befaeaf-bca0-435d-b002-e201f37c0a2f
+       3     0x00002822      0x01dacbde      "rootfs"
+       attrs:  0x0000000000000000
+       type:   0fc63daf-8483-4772-8e79-3d69d8477de4
+       type:   linux
+       guid:   9faa81b6-39b1-4418-af5e-89c48f29c20d
index 6fb952666661da574bf7bc211d0b1f0ca8d5c10b..a30e721379ee4dcd7ba1c8f90f2a5ca540e5c125 100644 (file)
@@ -18,7 +18,6 @@ Build U-Boot
 .. code-block:: bash
 
     $ export CROSS_COMPILE=arm-linux-gnueabi-
-    $ export ARCH=arm
     $ make colibri_imx7_emmc_defconfig # For NAND: colibri_imx7_defconfig
     $ make
 
index d1fc0e6a782986fe2edd19f2e6e3cd88abb11c01..de8c1f9e72071000d2e1a58ac151f9e3ee07c130 100644 (file)
@@ -69,8 +69,6 @@ to move the migration with in the deadline.
 No dm conversion yet::
 
        drivers/spi/fsl_espi.c
-       drivers/spi/lpc32xx_ssp.c
-       drivers/spi/sh_spi.c
        drivers/spi/soft_spi_legacy.c
 
 * Status: In progress
index 685ec1f46d9621fdf278351f662268d605ea8343..ebd2068ed38df2310a714cbba9503c5b2092c8f0 100644 (file)
@@ -67,7 +67,6 @@ or if you just installed gcc-arm-linux-gnueabi then it might be
 
 b. Configure and build U-Boot with verified boot enabled:
 
-   export ARCH=arm
    export UBOOT=/path/to/u-boot
    cd $UBOOT
    # You can add -j10 if you have 10 CPUs to make it faster
index 0356f8ba1815edfe01dba33ad2229019aea2adfd..c8e6fa7f892501b6b615e419310df92616684362 100644 (file)
@@ -27,6 +27,8 @@ config BOOTCOUNT_GENERIC
 
 config BOOTCOUNT_EXT
        bool "Boot counter on EXT filesystem"
+       depends on FS_EXT4
+       select EXT4_WRITE
        help
          Add support for maintaining boot count in a file on an EXT
          filesystem.
index 67e21b6746d6f003c9c5d80d3e92756b502aaac8..fe6e0d4073f9948388bc2ae5d2f9e8ba749fd357 100644 (file)
 #define PRCI_COREPLLCFG0_LOCK_SHIFT    31
 #define PRCI_COREPLLCFG0_LOCK_MASK     (0x1 << PRCI_COREPLLCFG0_LOCK_SHIFT)
 
+/* COREPLLCFG1 */
+#define PRCI_COREPLLCFG1_OFFSET                0x8
+#define PRCI_COREPLLCFG1_CKE_SHIFT     31
+#define PRCI_COREPLLCFG1_CKE_MASK      (0x1 << PRCI_COREPLLCFG1_CKE_SHIFT)
+
 /* DDRPLLCFG0 */
 #define PRCI_DDRPLLCFG0_OFFSET         0xc
 #define PRCI_DDRPLLCFG0_DIVR_SHIFT     0
@@ -88,7 +93,7 @@
 
 /* DDRPLLCFG1 */
 #define PRCI_DDRPLLCFG1_OFFSET         0x10
-#define PRCI_DDRPLLCFG1_CKE_SHIFT      24
+#define PRCI_DDRPLLCFG1_CKE_SHIFT      31
 #define PRCI_DDRPLLCFG1_CKE_MASK       (0x1 << PRCI_DDRPLLCFG1_CKE_SHIFT)
 
 /* GEMGXLPLLCFG0 */
 
 /* GEMGXLPLLCFG1 */
 #define PRCI_GEMGXLPLLCFG1_OFFSET      0x20
-#define PRCI_GEMGXLPLLCFG1_CKE_SHIFT   24
+#define PRCI_GEMGXLPLLCFG1_CKE_SHIFT   31
 #define PRCI_GEMGXLPLLCFG1_CKE_MASK    (0x1 << PRCI_GEMGXLPLLCFG1_CKE_SHIFT)
 
 /* CORECLKSEL */
                        (0x1 << PRCI_DEVICESRESETREG_GEMGXL_RST_N_SHIFT)
 
 /* CLKMUXSTATUSREG */
-#define PRCI_CLKMUXSTATUSREG_OFFSET            0x2c
+#define PRCI_CLKMUXSTATUSREG_OFFSET    0x2c
 #define PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_SHIFT 1
 #define PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_MASK \
                        (0x1 << PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_SHIFT)
 
+/* PROCMONCFG */
+#define PRCI_PROCMONCFG_OFFSET         0xF0
+#define PRCI_PROCMONCFG_CORE_CLOCK_SHIFT       24
+#define PRCI_PROCMONCFG_CORE_CLOCK_MASK \
+                       (0x1 << PRCI_PROCMONCFG_CORE_CLOCK_SHIFT)
+
 /*
  * Private structures
  */
@@ -171,6 +182,8 @@ struct __prci_data {
  * @enable_bypass: fn ptr to code to bypass the WRPLL (if applicable; else NULL)
  * @disable_bypass: fn ptr to code to not bypass the WRPLL (or NULL)
  * @cfg0_offs: WRPLL CFG0 register offset (in bytes) from the PRCI base address
+ * @cfg1_offs: WRPLL CFG1 register offset (in bytes) from the PRCI base address
+ * @release_reset: fn ptr to code to release clock reset
  *
  * @enable_bypass and @disable_bypass are used for WRPLL instances
  * that contain a separate external glitchless clock mux downstream
@@ -181,6 +194,8 @@ struct __prci_wrpll_data {
        void (*enable_bypass)(struct __prci_data *pd);
        void (*disable_bypass)(struct __prci_data *pd);
        u8 cfg0_offs;
+       u8 cfg1_offs;
+       void (*release_reset)(struct __prci_data *pd);
 };
 
 struct __prci_clock;
@@ -195,6 +210,7 @@ struct __prci_clock_ops {
                                    unsigned long *parent_rate);
        unsigned long (*recalc_rate)(struct __prci_clock *pc,
                                     unsigned long parent_rate);
+       int (*enable_clk)(struct __prci_clock *pc, bool enable);
 };
 
 /**
@@ -317,7 +333,7 @@ static u32 __prci_wrpll_pack(const struct wrpll_cfg *c)
 }
 
 /**
- * __prci_wrpll_read_cfg() - read the WRPLL configuration from the PRCI
+ * __prci_wrpll_read_cfg0() - read the WRPLL configuration from the PRCI
  * @pd: PRCI context
  * @pwd: PRCI WRPLL metadata
  *
@@ -328,14 +344,14 @@ static u32 __prci_wrpll_pack(const struct wrpll_cfg *c)
  * Context: Any context.  Caller must prevent the records pointed to by
  *          @pd and @pwd from changing during execution.
  */
-static void __prci_wrpll_read_cfg(struct __prci_data *pd,
-                                 struct __prci_wrpll_data *pwd)
+static void __prci_wrpll_read_cfg0(struct __prci_data *pd,
+                                  struct __prci_wrpll_data *pwd)
 {
        __prci_wrpll_unpack(&pwd->c, __prci_readl(pd, pwd->cfg0_offs));
 }
 
 /**
- * __prci_wrpll_write_cfg() - write WRPLL configuration into the PRCI
+ * __prci_wrpll_write_cfg0() - write WRPLL configuration into the PRCI
  * @pd: PRCI context
  * @pwd: PRCI WRPLL metadata
  * @c: WRPLL configuration record to write
@@ -348,15 +364,29 @@ static void __prci_wrpll_read_cfg(struct __prci_data *pd,
  * Context: Any context.  Caller must prevent the records pointed to by
  *          @pd and @pwd from changing during execution.
  */
-static void __prci_wrpll_write_cfg(struct __prci_data *pd,
-                                  struct __prci_wrpll_data *pwd,
-                                  struct wrpll_cfg *c)
+static void __prci_wrpll_write_cfg0(struct __prci_data *pd,
+                                   struct __prci_wrpll_data *pwd,
+                                   struct wrpll_cfg *c)
 {
        __prci_writel(__prci_wrpll_pack(c), pwd->cfg0_offs, pd);
 
        memcpy(&pwd->c, c, sizeof(*c));
 }
 
+/**
+ * __prci_wrpll_write_cfg1() - write Clock enable/disable configuration
+ * into the PRCI
+ * @pd: PRCI context
+ * @pwd: PRCI WRPLL metadata
+ * @enable: Clock enable or disable value
+ */
+static void __prci_wrpll_write_cfg1(struct __prci_data *pd,
+                                   struct __prci_wrpll_data *pwd,
+                                   u32 enable)
+{
+       __prci_writel(enable, pwd->cfg1_offs, pd);
+}
+
 /* Core clock mux control */
 
 /**
@@ -438,7 +468,7 @@ static int sifive_fu540_prci_wrpll_set_rate(struct __prci_clock *pc,
        if (pwd->enable_bypass)
                pwd->enable_bypass(pd);
 
-       __prci_wrpll_write_cfg(pd, pwd, &pwd->c);
+       __prci_wrpll_write_cfg0(pd, pwd, &pwd->c);
 
        udelay(wrpll_calc_max_lock_us(&pwd->c));
 
@@ -448,14 +478,33 @@ static int sifive_fu540_prci_wrpll_set_rate(struct __prci_clock *pc,
        return 0;
 }
 
+static int sifive_fu540_prci_clock_enable(struct __prci_clock *pc, bool enable)
+{
+       struct __prci_wrpll_data *pwd = pc->pwd;
+       struct __prci_data *pd = pc->pd;
+
+       if (enable) {
+               __prci_wrpll_write_cfg1(pd, pwd, PRCI_COREPLLCFG1_CKE_MASK);
+
+               if (pwd->release_reset)
+                       pwd->release_reset(pd);
+       } else {
+               u32 r;
+
+               r = __prci_readl(pd, pwd->cfg1_offs);
+               r &= ~PRCI_COREPLLCFG1_CKE_MASK;
+
+               __prci_wrpll_write_cfg1(pd, pwd, r);
+       }
+
+       return 0;
+}
+
 static const struct __prci_clock_ops sifive_fu540_prci_wrpll_clk_ops = {
        .set_rate = sifive_fu540_prci_wrpll_set_rate,
        .round_rate = sifive_fu540_prci_wrpll_round_rate,
        .recalc_rate = sifive_fu540_prci_wrpll_recalc_rate,
-};
-
-static const struct __prci_clock_ops sifive_fu540_prci_wrpll_ro_clk_ops = {
-       .recalc_rate = sifive_fu540_prci_wrpll_recalc_rate,
+       .enable_clk = sifive_fu540_prci_clock_enable,
 };
 
 /* TLCLKSEL clock integration */
@@ -479,22 +528,78 @@ static const struct __prci_clock_ops sifive_fu540_prci_tlclksel_clk_ops = {
        .recalc_rate = sifive_fu540_prci_tlclksel_recalc_rate,
 };
 
+/**
+ * __prci_ddr_release_reset() - Release DDR reset
+ * @pd: struct __prci_data * for the PRCI containing the DDRCLK mux reg
+ *
+ */
+static void __prci_ddr_release_reset(struct __prci_data *pd)
+{
+       u32 v;
+
+       v = __prci_readl(pd, PRCI_DEVICESRESETREG_OFFSET);
+       v |= PRCI_DEVICESRESETREG_DDR_CTRL_RST_N_MASK;
+       __prci_writel(v, PRCI_DEVICESRESETREG_OFFSET, pd);
+
+       /* HACK to get the '1 full controller clock cycle'. */
+       asm volatile ("fence");
+       v = __prci_readl(pd, PRCI_DEVICESRESETREG_OFFSET);
+       v |= (PRCI_DEVICESRESETREG_DDR_AXI_RST_N_MASK |
+                       PRCI_DEVICESRESETREG_DDR_AHB_RST_N_MASK |
+                       PRCI_DEVICESRESETREG_DDR_PHY_RST_N_MASK);
+       __prci_writel(v, PRCI_DEVICESRESETREG_OFFSET, pd);
+
+       /* HACK to get the '1 full controller clock cycle'. */
+       asm volatile ("fence");
+
+       /*
+        * These take like 16 cycles to actually propagate. We can't go sending
+        * stuff before they come out of reset. So wait.
+        */
+       for (int i = 0; i < 256; i++)
+               asm volatile ("nop");
+}
+
+/**
+ * __prci_ethernet_release_reset() - Release ethernet reset
+ * @pd: struct __prci_data * for the PRCI containing the Ethernet CLK mux reg
+ *
+ */
+static void __prci_ethernet_release_reset(struct __prci_data *pd)
+{
+       u32 v;
+
+       /* Release GEMGXL reset */
+       v = __prci_readl(pd, PRCI_DEVICESRESETREG_OFFSET);
+       v |= PRCI_DEVICESRESETREG_GEMGXL_RST_N_MASK;
+       __prci_writel(v, PRCI_DEVICESRESETREG_OFFSET, pd);
+
+       /* Procmon => core clock */
+       __prci_writel(PRCI_PROCMONCFG_CORE_CLOCK_MASK, PRCI_PROCMONCFG_OFFSET,
+                     pd);
+}
+
 /*
  * PRCI integration data for each WRPLL instance
  */
 
 static struct __prci_wrpll_data __prci_corepll_data = {
        .cfg0_offs = PRCI_COREPLLCFG0_OFFSET,
+       .cfg1_offs = PRCI_COREPLLCFG1_OFFSET,
        .enable_bypass = __prci_coreclksel_use_hfclk,
        .disable_bypass = __prci_coreclksel_use_corepll,
 };
 
 static struct __prci_wrpll_data __prci_ddrpll_data = {
        .cfg0_offs = PRCI_DDRPLLCFG0_OFFSET,
+       .cfg1_offs = PRCI_DDRPLLCFG1_OFFSET,
+       .release_reset = __prci_ddr_release_reset,
 };
 
 static struct __prci_wrpll_data __prci_gemgxlpll_data = {
        .cfg0_offs = PRCI_GEMGXLPLLCFG0_OFFSET,
+       .cfg1_offs = PRCI_GEMGXLPLLCFG1_OFFSET,
+       .release_reset = __prci_ethernet_release_reset,
 };
 
 /*
@@ -511,7 +616,7 @@ static struct __prci_clock __prci_init_clocks[] = {
        [PRCI_CLK_DDRPLL] = {
                .name = "ddrpll",
                .parent_name = "hfclk",
-               .ops = &sifive_fu540_prci_wrpll_ro_clk_ops,
+               .ops = &sifive_fu540_prci_wrpll_clk_ops,
                .pwd = &__prci_ddrpll_data,
        },
        [PRCI_CLK_GEMGXLPLL] = {
@@ -581,6 +686,42 @@ static ulong sifive_fu540_prci_set_rate(struct clk *clk, ulong rate)
        return rate;
 }
 
+static int sifive_fu540_prci_enable(struct clk *clk)
+{
+       struct __prci_clock *pc;
+       int ret = 0;
+
+       if (ARRAY_SIZE(__prci_init_clocks) <= clk->id)
+               return -ENXIO;
+
+       pc = &__prci_init_clocks[clk->id];
+       if (!pc->pd)
+               return -ENXIO;
+
+       if (pc->ops->enable_clk)
+               ret = pc->ops->enable_clk(pc, 1);
+
+       return ret;
+}
+
+static int sifive_fu540_prci_disable(struct clk *clk)
+{
+       struct __prci_clock *pc;
+       int ret = 0;
+
+       if (ARRAY_SIZE(__prci_init_clocks) <= clk->id)
+               return -ENXIO;
+
+       pc = &__prci_init_clocks[clk->id];
+       if (!pc->pd)
+               return -ENXIO;
+
+       if (pc->ops->enable_clk)
+               ret = pc->ops->enable_clk(pc, 0);
+
+       return ret;
+}
+
 static int sifive_fu540_prci_probe(struct udevice *dev)
 {
        int i, err;
@@ -603,7 +744,7 @@ static int sifive_fu540_prci_probe(struct udevice *dev)
                pc = &__prci_init_clocks[i];
                pc->pd = pd;
                if (pc->pwd)
-                       __prci_wrpll_read_cfg(pd, pc->pwd);
+                       __prci_wrpll_read_cfg0(pd, pc->pwd);
        }
 
        return 0;
@@ -612,6 +753,8 @@ static int sifive_fu540_prci_probe(struct udevice *dev)
 static struct clk_ops sifive_fu540_prci_ops = {
        .set_rate = sifive_fu540_prci_set_rate,
        .get_rate = sifive_fu540_prci_get_rate,
+       .enable = sifive_fu540_prci_enable,
+       .disable = sifive_fu540_prci_disable,
 };
 
 static const struct udevice_id sifive_fu540_prci_ids[] = {
index a3bdd9fa3467bcb508e20a6a0c7903106e4c093d..a17e55e9972104e4d1d0f4637eacb1fb4067ea96 100644 (file)
@@ -21,7 +21,7 @@ config DM_KEYBOARD
          input and update LEDs if the keyboard has them.
 
 config SPL_DM_KEYBOARD
-       bool "Enable driver model keyboard support"
+       bool "Enable driver model keyboard support for SPL"
        depends on SPL_DM
        help
          This adds a uclass for keyboards and implements keyboard support
@@ -30,7 +30,7 @@ config SPL_DM_KEYBOARD
          input and update LEDs if the keyboard has them.
 
 config TPL_DM_KEYBOARD
-       bool "Enable driver model keyboard support"
+       bool "Enable driver model keyboard support for TPL"
        depends on TPL_DM
        help
          This adds a uclass for keyboards and implements keyboard support
index 81ed9eb2090a5817d8bd4aca782808bd6f53e066..6bb5bc77e9f708c129b441070df15636e04e6991 100644 (file)
@@ -68,6 +68,13 @@ config ROCKCHIP_OTP
          addressing and a length or through child-nodes that are generated
          based on the e-fuse map retrieved from the DTS.
 
+config SIFIVE_OTP
+       bool "SiFive eMemory OTP driver"
+       depends on MISC
+       help
+         Enable support for reading and writing the eMemory OTP on the
+         SiFive SoCs.
+
 config VEXPRESS_CONFIG
        bool "Enable support for Arm Versatile Express config bus"
        depends on MISC
index 68e0e7ad1726ac2032f23a8f3a41b44182532242..947bd3a647f33a5c1f93bb09fceb23cc6948c209 100644 (file)
@@ -59,6 +59,7 @@ obj-$(CONFIG_QFW) += qfw.o
 obj-$(CONFIG_ROCKCHIP_EFUSE) += rockchip-efuse.o
 obj-$(CONFIG_ROCKCHIP_OTP) += rockchip-otp.o
 obj-$(CONFIG_SANDBOX) += syscon_sandbox.o misc_sandbox.o
+obj-$(CONFIG_SIFIVE_OTP) += sifive-otp.o
 obj-$(CONFIG_SMSC_LPC47M) += smsc_lpc47m.o
 obj-$(CONFIG_SMSC_SIO1007) += smsc_sio1007.o
 obj-$(CONFIG_STM32MP_FUSE) += stm32mp_fuse.o
diff --git a/drivers/misc/sifive-otp.c b/drivers/misc/sifive-otp.c
new file mode 100644 (file)
index 0000000..92f08dd
--- /dev/null
@@ -0,0 +1,275 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * This is a driver for the eMemory EG004K32TQ028XW01 NeoFuse
+ * One-Time-Programmable (OTP) memory used within the SiFive FU540.
+ * It is documented in the FU540 manual here:
+ * https://www.sifive.com/documentation/chips/freedom-u540-c000-manual/
+ *
+ * Copyright (C) 2018 Philipp Hug <philipp@hug.cx>
+ * Copyright (C) 2018 Joey Hewitt <joey@joeyhewitt.com>
+ *
+ * Copyright (C) 2020 SiFive, Inc
+ */
+
+/*
+ * The FU540 stores 4096x32 bit (16KiB) values.
+ * Index 0x00-0xff are reserved for SiFive internal use. (first 1KiB)
+ * Right now first 1KiB is used to store only serial number.
+ */
+
+#include <common.h>
+#include <dm/device.h>
+#include <dm/read.h>
+#include <linux/bitops.h>
+#include <linux/delay.h>
+#include <linux/io.h>
+#include <misc.h>
+
+#define BYTES_PER_FUSE         4
+
+#define PA_RESET_VAL           0x00
+#define PAS_RESET_VAL          0x00
+#define PAIO_RESET_VAL         0x00
+#define PDIN_RESET_VAL         0x00
+#define PTM_RESET_VAL          0x00
+
+#define PCLK_ENABLE_VAL                        BIT(0)
+#define PCLK_DISABLE_VAL               0x00
+
+#define PWE_WRITE_ENABLE               BIT(0)
+#define PWE_WRITE_DISABLE              0x00
+
+#define PTM_FUSE_PROGRAM_VAL           BIT(1)
+
+#define PCE_ENABLE_INPUT               BIT(0)
+#define PCE_DISABLE_INPUT              0x00
+
+#define PPROG_ENABLE_INPUT             BIT(0)
+#define PPROG_DISABLE_INPUT            0x00
+
+#define PTRIM_ENABLE_INPUT             BIT(0)
+#define PTRIM_DISABLE_INPUT            0x00
+
+#define PDSTB_DEEP_STANDBY_ENABLE      BIT(0)
+#define PDSTB_DEEP_STANDBY_DISABLE     0x00
+
+/* Tpw - Program Pulse width delay */
+#define TPW_DELAY                      20
+
+/* Tpwi - Program Pulse interval delay */
+#define TPWI_DELAY                     5
+
+/* Tasp - Program address setup delay */
+#define TASP_DELAY                     1
+
+/* Tcd - read data access delay */
+#define TCD_DELAY                      40
+
+/* Tkl - clok pulse low delay */
+#define TKL_DELAY                      10
+
+/* Tms - PTM mode setup delay */
+#define TMS_DELAY                      1
+
+struct sifive_otp_regs {
+       u32 pa;     /* Address input */
+       u32 paio;   /* Program address input */
+       u32 pas;    /* Program redundancy cell selection input */
+       u32 pce;    /* OTP Macro enable input */
+       u32 pclk;   /* Clock input */
+       u32 pdin;   /* Write data input */
+       u32 pdout;  /* Read data output */
+       u32 pdstb;  /* Deep standby mode enable input (active low) */
+       u32 pprog;  /* Program mode enable input */
+       u32 ptc;    /* Test column enable input */
+       u32 ptm;    /* Test mode enable input */
+       u32 ptm_rep;/* Repair function test mode enable input */
+       u32 ptr;    /* Test row enable input */
+       u32 ptrim;  /* Repair function enable input */
+       u32 pwe;    /* Write enable input (defines program cycle) */
+};
+
+struct sifive_otp_platdata {
+       struct sifive_otp_regs __iomem *regs;
+       u32 total_fuses;
+};
+
+/*
+ * offset and size are assumed aligned to the size of the fuses (32-bit).
+ */
+static int sifive_otp_read(struct udevice *dev, int offset,
+                          void *buf, int size)
+{
+       struct sifive_otp_platdata *plat = dev_get_platdata(dev);
+       struct sifive_otp_regs *regs = (struct sifive_otp_regs *)plat->regs;
+
+       /* Check if offset and size are multiple of BYTES_PER_FUSE */
+       if ((size % BYTES_PER_FUSE) || (offset % BYTES_PER_FUSE)) {
+               printf("%s: size and offset must be multiple of 4.\n",
+                      __func__);
+               return -EINVAL;
+       }
+
+       int fuseidx = offset / BYTES_PER_FUSE;
+       int fusecount = size / BYTES_PER_FUSE;
+
+       /* check bounds */
+       if (offset < 0 || size < 0)
+               return -EINVAL;
+       if (fuseidx >= plat->total_fuses)
+               return -EINVAL;
+       if ((fuseidx + fusecount) > plat->total_fuses)
+               return -EINVAL;
+
+       u32 fusebuf[fusecount];
+
+       /* init OTP */
+       writel(PDSTB_DEEP_STANDBY_ENABLE, &regs->pdstb);
+       writel(PTRIM_ENABLE_INPUT, &regs->ptrim);
+       writel(PCE_ENABLE_INPUT, &regs->pce);
+
+       /* read all requested fuses */
+       for (unsigned int i = 0; i < fusecount; i++, fuseidx++) {
+               writel(fuseidx, &regs->pa);
+
+               /* cycle clock to read */
+               writel(PCLK_ENABLE_VAL, &regs->pclk);
+               ndelay(TCD_DELAY * 1000);
+               writel(PCLK_DISABLE_VAL, &regs->pclk);
+               ndelay(TKL_DELAY * 1000);
+
+               /* read the value */
+               fusebuf[i] = readl(&regs->pdout);
+       }
+
+       /* shut down */
+       writel(PCE_DISABLE_INPUT, &regs->pce);
+       writel(PTRIM_DISABLE_INPUT, &regs->ptrim);
+       writel(PDSTB_DEEP_STANDBY_DISABLE, &regs->pdstb);
+
+       /* copy out */
+       memcpy(buf, fusebuf, size);
+
+       return size;
+}
+
+/*
+ * Caution:
+ * OTP can be written only once, so use carefully.
+ *
+ * offset and size are assumed aligned to the size of the fuses (32-bit).
+ */
+static int sifive_otp_write(struct udevice *dev, int offset,
+                           const void *buf, int size)
+{
+       struct sifive_otp_platdata *plat = dev_get_platdata(dev);
+       struct sifive_otp_regs *regs = (struct sifive_otp_regs *)plat->regs;
+
+       /* Check if offset and size are multiple of BYTES_PER_FUSE */
+       if ((size % BYTES_PER_FUSE) || (offset % BYTES_PER_FUSE)) {
+               printf("%s: size and offset must be multiple of 4.\n",
+                      __func__);
+               return -EINVAL;
+       }
+
+       int fuseidx = offset / BYTES_PER_FUSE;
+       int fusecount = size / BYTES_PER_FUSE;
+       u32 *write_buf = (u32 *)buf;
+       u32 write_data;
+       int i, pas, bit;
+
+       /* check bounds */
+       if (offset < 0 || size < 0)
+               return -EINVAL;
+       if (fuseidx >= plat->total_fuses)
+               return -EINVAL;
+       if ((fuseidx + fusecount) > plat->total_fuses)
+               return -EINVAL;
+
+       /* init OTP */
+       writel(PDSTB_DEEP_STANDBY_ENABLE, &regs->pdstb);
+       writel(PTRIM_ENABLE_INPUT, &regs->ptrim);
+
+       /* reset registers */
+       writel(PCLK_DISABLE_VAL, &regs->pclk);
+       writel(PA_RESET_VAL, &regs->pa);
+       writel(PAS_RESET_VAL, &regs->pas);
+       writel(PAIO_RESET_VAL, &regs->paio);
+       writel(PDIN_RESET_VAL, &regs->pdin);
+       writel(PWE_WRITE_DISABLE, &regs->pwe);
+       writel(PTM_FUSE_PROGRAM_VAL, &regs->ptm);
+       ndelay(TMS_DELAY * 1000);
+
+       writel(PCE_ENABLE_INPUT, &regs->pce);
+       writel(PPROG_ENABLE_INPUT, &regs->pprog);
+
+       /* write all requested fuses */
+       for (i = 0; i < fusecount; i++, fuseidx++) {
+               writel(fuseidx, &regs->pa);
+               write_data = *(write_buf++);
+
+               for (pas = 0; pas < 2; pas++) {
+                       writel(pas, &regs->pas);
+
+                       for (bit = 0; bit < 32; bit++) {
+                               writel(bit, &regs->paio);
+                               writel(((write_data >> bit) & 1),
+                                      &regs->pdin);
+                               ndelay(TASP_DELAY * 1000);
+
+                               writel(PWE_WRITE_ENABLE, &regs->pwe);
+                               udelay(TPW_DELAY);
+                               writel(PWE_WRITE_DISABLE, &regs->pwe);
+                               udelay(TPWI_DELAY);
+                       }
+               }
+
+               writel(PAS_RESET_VAL, &regs->pas);
+       }
+
+       /* shut down */
+       writel(PWE_WRITE_DISABLE, &regs->pwe);
+       writel(PPROG_DISABLE_INPUT, &regs->pprog);
+       writel(PCE_DISABLE_INPUT, &regs->pce);
+       writel(PTM_RESET_VAL, &regs->ptm);
+
+       writel(PTRIM_DISABLE_INPUT, &regs->ptrim);
+       writel(PDSTB_DEEP_STANDBY_DISABLE, &regs->pdstb);
+
+       return size;
+}
+
+static int sifive_otp_ofdata_to_platdata(struct udevice *dev)
+{
+       struct sifive_otp_platdata *plat = dev_get_platdata(dev);
+       int ret;
+
+       plat->regs = dev_read_addr_ptr(dev);
+
+       ret = dev_read_u32(dev, "fuse-count", &plat->total_fuses);
+       if (ret < 0) {
+               pr_err("\"fuse-count\" not found\n");
+               return ret;
+       }
+
+       return 0;
+}
+
+static const struct misc_ops sifive_otp_ops = {
+       .read = sifive_otp_read,
+       .write = sifive_otp_write,
+};
+
+static const struct udevice_id sifive_otp_ids[] = {
+       { .compatible = "sifive,fu540-c000-otp" },
+       {}
+};
+
+U_BOOT_DRIVER(sifive_otp) = {
+       .name = "sifive_otp",
+       .id = UCLASS_MISC,
+       .of_match = sifive_otp_ids,
+       .ofdata_to_platdata = sifive_otp_ofdata_to_platdata,
+       .platdata_auto_alloc_size = sizeof(struct sifive_otp_platdata),
+       .ops = &sifive_otp_ops,
+};
index c4beefa61764272adfa9a0a681fa35c4c454a350..c2cd3b426b31a42f61faafb479742b9853c16810 100644 (file)
@@ -23,13 +23,25 @@ static SPINAND_OP_VARIANTS(read_cache_variants,
                SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
                SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
 
+static SPINAND_OP_VARIANTS(write_cache_x4_variants,
+               SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
+               SPINAND_PROG_LOAD(true, 0, NULL, 0));
+
+static SPINAND_OP_VARIANTS(update_cache_x4_variants,
+               SPINAND_PROG_LOAD_X4(false, 0, NULL, 0),
+               SPINAND_PROG_LOAD(false, 0, NULL, 0));
+
+/**
+ * Backward compatibility for 1st generation Serial NAND devices
+ * which don't support Quad Program Load operation.
+ */
 static SPINAND_OP_VARIANTS(write_cache_variants,
                SPINAND_PROG_LOAD(true, 0, NULL, 0));
 
 static SPINAND_OP_VARIANTS(update_cache_variants,
                SPINAND_PROG_LOAD(false, 0, NULL, 0));
 
-static int tc58cxgxsx_ooblayout_ecc(struct mtd_info *mtd, int section,
+static int tx58cxgxsxraix_ooblayout_ecc(struct mtd_info *mtd, int section,
                                     struct mtd_oob_region *region)
 {
        if (section > 0)
@@ -41,7 +53,7 @@ static int tc58cxgxsx_ooblayout_ecc(struct mtd_info *mtd, int section,
        return 0;
 }
 
-static int tc58cxgxsx_ooblayout_free(struct mtd_info *mtd, int section,
+static int tx58cxgxsxraix_ooblayout_free(struct mtd_info *mtd, int section,
                                      struct mtd_oob_region *region)
 {
        if (section > 0)
@@ -54,12 +66,12 @@ static int tc58cxgxsx_ooblayout_free(struct mtd_info *mtd, int section,
        return 0;
 }
 
-static const struct mtd_ooblayout_ops tc58cxgxsx_ooblayout = {
-       .ecc = tc58cxgxsx_ooblayout_ecc,
-       .rfree = tc58cxgxsx_ooblayout_free,
+static const struct mtd_ooblayout_ops tx58cxgxsxraix_ooblayout = {
+       .ecc = tx58cxgxsxraix_ooblayout_ecc,
+       .rfree = tx58cxgxsxraix_ooblayout_free,
 };
 
-static int tc58cxgxsx_ecc_get_status(struct spinand_device *spinand,
+static int tx58cxgxsxraix_ecc_get_status(struct spinand_device *spinand,
                                      u8 status)
 {
        struct nand_device *nand = spinand_to_nand(spinand);
@@ -98,76 +110,151 @@ static int tc58cxgxsx_ecc_get_status(struct spinand_device *spinand,
 }
 
 static const struct spinand_info toshiba_spinand_table[] = {
-       /* 3.3V 1Gb */
-       SPINAND_INFO("TC58CVG0S3", 0xC2,
+       /* 3.3V 1Gb (1st generation) */
+       SPINAND_INFO("TC58CVG0S3HRAIG", 0xC2,
                     NAND_MEMORG(1, 2048, 128, 64, 1024, 1, 1, 1),
                     NAND_ECCREQ(8, 512),
                     SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
                                              &write_cache_variants,
                                              &update_cache_variants),
                     0,
-                    SPINAND_ECCINFO(&tc58cxgxsx_ooblayout,
-                                    tc58cxgxsx_ecc_get_status)),
-       /* 3.3V 2Gb */
-       SPINAND_INFO("TC58CVG1S3", 0xCB,
+                    SPINAND_ECCINFO(&tx58cxgxsxraix_ooblayout,
+                                    tx58cxgxsxraix_ecc_get_status)),
+       /* 3.3V 2Gb (1st generation) */
+       SPINAND_INFO("TC58CVG1S3HRAIG", 0xCB,
                     NAND_MEMORG(1, 2048, 128, 64, 2048, 1, 1, 1),
                     NAND_ECCREQ(8, 512),
                     SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
                                              &write_cache_variants,
                                              &update_cache_variants),
                     0,
-                    SPINAND_ECCINFO(&tc58cxgxsx_ooblayout,
-                                    tc58cxgxsx_ecc_get_status)),
-       /* 3.3V 4Gb */
-       SPINAND_INFO("TC58CVG2S0", 0xCD,
-                    NAND_MEMORG(1, 4096, 256, 64, 2048, 1, 1, 1),
-                    NAND_ECCREQ(8, 512),
-                    SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
-                                             &write_cache_variants,
-                                             &update_cache_variants),
-                    0,
-                    SPINAND_ECCINFO(&tc58cxgxsx_ooblayout,
-                                    tc58cxgxsx_ecc_get_status)),
-       /* 3.3V 4Gb */
-       SPINAND_INFO("TC58CVG2S0", 0xED,
+                    SPINAND_ECCINFO(&tx58cxgxsxraix_ooblayout,
+                                    tx58cxgxsxraix_ecc_get_status)),
+       /* 3.3V 4Gb (1st generation) */
+       SPINAND_INFO("TC58CVG2S0HRAIG", 0xCD,
                     NAND_MEMORG(1, 4096, 256, 64, 2048, 1, 1, 1),
                     NAND_ECCREQ(8, 512),
                     SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
                                              &write_cache_variants,
                                              &update_cache_variants),
                     0,
-                    SPINAND_ECCINFO(&tc58cxgxsx_ooblayout,
-                                    tc58cxgxsx_ecc_get_status)),
-       /* 1.8V 1Gb */
-       SPINAND_INFO("TC58CYG0S3", 0xB2,
+                    SPINAND_ECCINFO(&tx58cxgxsxraix_ooblayout,
+                                    tx58cxgxsxraix_ecc_get_status)),
+       /* 1.8V 1Gb (1st generation) */
+       SPINAND_INFO("TC58CYG0S3HRAIG", 0xB2,
                     NAND_MEMORG(1, 2048, 128, 64, 1024, 1, 1, 1),
                     NAND_ECCREQ(8, 512),
                     SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
                                              &write_cache_variants,
                                              &update_cache_variants),
                     0,
-                    SPINAND_ECCINFO(&tc58cxgxsx_ooblayout,
-                                    tc58cxgxsx_ecc_get_status)),
-       /* 1.8V 2Gb */
-       SPINAND_INFO("TC58CYG1S3", 0xBB,
+                    SPINAND_ECCINFO(&tx58cxgxsxraix_ooblayout,
+                                    tx58cxgxsxraix_ecc_get_status)),
+       /* 1.8V 2Gb (1st generation) */
+       SPINAND_INFO("TC58CYG1S3HRAIG", 0xBB,
                     NAND_MEMORG(1, 2048, 128, 64, 2048, 1, 1, 1),
                     NAND_ECCREQ(8, 512),
                     SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
                                              &write_cache_variants,
                                              &update_cache_variants),
                     0,
-                    SPINAND_ECCINFO(&tc58cxgxsx_ooblayout,
-                                    tc58cxgxsx_ecc_get_status)),
-       /* 1.8V 4Gb */
-       SPINAND_INFO("TC58CYG2S0", 0xBD,
+                    SPINAND_ECCINFO(&tx58cxgxsxraix_ooblayout,
+                                    tx58cxgxsxraix_ecc_get_status)),
+       /* 1.8V 4Gb (1st generation) */
+       SPINAND_INFO("TC58CYG2S0HRAIG", 0xBD,
                     NAND_MEMORG(1, 4096, 256, 64, 2048, 1, 1, 1),
                     NAND_ECCREQ(8, 512),
                     SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
                                              &write_cache_variants,
                                              &update_cache_variants),
                     0,
-                    SPINAND_ECCINFO(&tc58cxgxsx_ooblayout,
-                                    tc58cxgxsx_ecc_get_status)),
+                    SPINAND_ECCINFO(&tx58cxgxsxraix_ooblayout,
+                                    tx58cxgxsxraix_ecc_get_status)),
+
+       /*
+        * 2nd generation serial nand has HOLD_D which is equivalent to
+        * QE_BIT.
+        */
+       /* 3.3V 1Gb (2nd generation) */
+       SPINAND_INFO("TC58CVG0S3HRAIJ", 0xE2,
+                    NAND_MEMORG(1, 2048, 128, 64, 1024, 1, 1, 1),
+                    NAND_ECCREQ(8, 512),
+                    SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+                                             &write_cache_x4_variants,
+                                             &update_cache_x4_variants),
+                    SPINAND_HAS_QE_BIT,
+                    SPINAND_ECCINFO(&tx58cxgxsxraix_ooblayout,
+                                    tx58cxgxsxraix_ecc_get_status)),
+       /* 3.3V 2Gb (2nd generation) */
+       SPINAND_INFO("TC58CVG1S3HRAIJ", 0xEB,
+                    NAND_MEMORG(1, 2048, 128, 64, 2048, 1, 1, 1),
+                    NAND_ECCREQ(8, 512),
+                    SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+                                             &write_cache_x4_variants,
+                                             &update_cache_x4_variants),
+                    SPINAND_HAS_QE_BIT,
+                    SPINAND_ECCINFO(&tx58cxgxsxraix_ooblayout,
+                                    tx58cxgxsxraix_ecc_get_status)),
+       /* 3.3V 4Gb (2nd generation) */
+       SPINAND_INFO("TC58CVG2S0HRAIJ", 0xED,
+                    NAND_MEMORG(1, 4096, 256, 64, 2048, 1, 1, 1),
+                    NAND_ECCREQ(8, 512),
+                    SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+                                             &write_cache_x4_variants,
+                                             &update_cache_x4_variants),
+                    SPINAND_HAS_QE_BIT,
+                    SPINAND_ECCINFO(&tx58cxgxsxraix_ooblayout,
+                                    tx58cxgxsxraix_ecc_get_status)),
+       /* 3.3V 8Gb (2nd generation) */
+       SPINAND_INFO("TH58CVG3S0HRAIJ", 0xE4,
+                    NAND_MEMORG(1, 4096, 256, 64, 4096, 1, 1, 1),
+                    NAND_ECCREQ(8, 512),
+                    SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+                                             &write_cache_x4_variants,
+                                             &update_cache_x4_variants),
+                    SPINAND_HAS_QE_BIT,
+                    SPINAND_ECCINFO(&tx58cxgxsxraix_ooblayout,
+                                    tx58cxgxsxraix_ecc_get_status)),
+       /* 1.8V 1Gb (2nd generation) */
+       SPINAND_INFO("TC58CYG0S3HRAIJ", 0xD2,
+                    NAND_MEMORG(1, 2048, 128, 64, 1024, 1, 1, 1),
+                    NAND_ECCREQ(8, 512),
+                    SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+                                             &write_cache_x4_variants,
+                                             &update_cache_x4_variants),
+                    SPINAND_HAS_QE_BIT,
+                    SPINAND_ECCINFO(&tx58cxgxsxraix_ooblayout,
+                                    tx58cxgxsxraix_ecc_get_status)),
+       /* 1.8V 2Gb (2nd generation) */
+       SPINAND_INFO("TC58CYG1S3HRAIJ", 0xDB,
+                    NAND_MEMORG(1, 2048, 128, 64, 2048, 1, 1, 1),
+                    NAND_ECCREQ(8, 512),
+                    SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+                                             &write_cache_x4_variants,
+                                             &update_cache_x4_variants),
+                    SPINAND_HAS_QE_BIT,
+                    SPINAND_ECCINFO(&tx58cxgxsxraix_ooblayout,
+                                    tx58cxgxsxraix_ecc_get_status)),
+       /* 1.8V 4Gb (2nd generation) */
+       SPINAND_INFO("TC58CYG2S0HRAIJ", 0xDD,
+                    NAND_MEMORG(1, 4096, 256, 64, 2048, 1, 1, 1),
+                    NAND_ECCREQ(8, 512),
+                    SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+                                             &write_cache_x4_variants,
+                                             &update_cache_x4_variants),
+                    SPINAND_HAS_QE_BIT,
+                    SPINAND_ECCINFO(&tx58cxgxsxraix_ooblayout,
+                                    tx58cxgxsxraix_ecc_get_status)),
+       /* 1.8V 8Gb (2nd generation) */
+       SPINAND_INFO("TH58CYG3S0HRAIJ", 0xD4,
+                    NAND_MEMORG(1, 4096, 256, 64, 4096, 1, 1, 1),
+                    NAND_ECCREQ(8, 512),
+                    SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+                                             &write_cache_x4_variants,
+                                             &update_cache_x4_variants),
+                    SPINAND_HAS_QE_BIT,
+                    SPINAND_ECCINFO(&tx58cxgxsxraix_ooblayout,
+                                    tx58cxgxsxraix_ecc_get_status)),
 };
 
 static int toshiba_spinand_detect(struct spinand_device *spinand)
index de369aa001dd566a8061a1fe6f00456d9dafd4d9..9ce2ecb99ac2679347499c15aca27b11170304ee 100644 (file)
@@ -30,15 +30,6 @@ int spi_flash_erase_dm(struct udevice *dev, u32 offset, size_t len)
        return log_ret(sf_get_ops(dev)->erase(dev, offset, len));
 }
 
-int spl_flash_get_sw_write_prot(struct udevice *dev)
-{
-       struct dm_spi_flash_ops *ops = sf_get_ops(dev);
-
-       if (!ops->get_sw_write_prot)
-               return -ENOSYS;
-       return log_ret(ops->get_sw_write_prot(dev));
-}
-
 /*
  * TODO(sjg@chromium.org): This is an old-style function. We should remove
  * it when all SPI flash drivers use dm
index ce0cf4c428b1ea61e9323d16e6d871a89cd72b54..dabd40a4cc1ed10ff720dbde03c624d77a81c78b 100644 (file)
@@ -75,12 +75,18 @@ extern const struct flash_info spi_nor_ids[];
 #define JEDEC_MFR(info)        ((info)->id[0])
 #define JEDEC_ID(info)         (((info)->id[1]) << 8 | ((info)->id[2]))
 
-/* Get software write-protect value (BP bits) */
-int spi_flash_cmd_get_sw_write_prot(struct spi_flash *flash);
-
-
 #if CONFIG_IS_ENABLED(SPI_FLASH_MTD)
 int spi_flash_mtd_register(struct spi_flash *flash);
 void spi_flash_mtd_unregister(void);
+#else
+static inline int spi_flash_mtd_register(struct spi_flash *flash)
+{
+       return 0;
+}
+
+static inline void spi_flash_mtd_unregister(void)
+{
+}
 #endif
+
 #endif /* _SF_INTERNAL_H_ */
index c2e51f9c68dfb77e972b24c2d7d4ec005a1475b0..3548d6319b305f491816bf81c0486cd99fc404ff 100644 (file)
@@ -45,9 +45,8 @@ static int spi_flash_probe_slave(struct spi_flash *flash)
        if (ret)
                goto err_read_id;
 
-#if CONFIG_IS_ENABLED(SPI_FLASH_MTD)
-       ret = spi_flash_mtd_register(flash);
-#endif
+       if (CONFIG_IS_ENABLED(SPI_FLASH_MTD))
+               ret = spi_flash_mtd_register(flash);
 
 err_read_id:
        spi_release_bus(spi);
@@ -84,9 +83,9 @@ struct spi_flash *spi_flash_probe(unsigned int busnum, unsigned int cs,
 
 void spi_flash_free(struct spi_flash *flash)
 {
-#if CONFIG_IS_ENABLED(SPI_FLASH_MTD)
-       spi_flash_mtd_unregister();
-#endif
+       if (CONFIG_IS_ENABLED(SPI_FLASH_MTD))
+               spi_flash_mtd_unregister();
+
        spi_free_slave(flash->spi);
        free(flash);
 }
@@ -131,31 +130,22 @@ static int spi_flash_std_erase(struct udevice *dev, u32 offset, size_t len)
        return mtd->_erase(mtd, &instr);
 }
 
-static int spi_flash_std_get_sw_write_prot(struct udevice *dev)
-{
-       struct spi_flash *flash = dev_get_uclass_priv(dev);
-
-       return spi_flash_cmd_get_sw_write_prot(flash);
-}
-
 int spi_flash_std_probe(struct udevice *dev)
 {
        struct spi_slave *slave = dev_get_parent_priv(dev);
-       struct dm_spi_slave_platdata *plat = dev_get_parent_platdata(dev);
        struct spi_flash *flash;
 
        flash = dev_get_uclass_priv(dev);
        flash->dev = dev;
        flash->spi = slave;
-       debug("%s: slave=%p, cs=%d\n", __func__, slave, plat->cs);
        return spi_flash_probe_slave(flash);
 }
 
 static int spi_flash_std_remove(struct udevice *dev)
 {
-#if CONFIG_IS_ENABLED(SPI_FLASH_MTD)
-       spi_flash_mtd_unregister();
-#endif
+       if (CONFIG_IS_ENABLED(SPI_FLASH_MTD))
+               spi_flash_mtd_unregister();
+
        return 0;
 }
 
@@ -163,7 +153,6 @@ static const struct dm_spi_flash_ops spi_flash_std_ops = {
        .read = spi_flash_std_read,
        .write = spi_flash_std_write,
        .erase = spi_flash_std_erase,
-       .get_sw_write_prot = spi_flash_std_get_sw_write_prot,
 };
 
 static const struct udevice_id spi_flash_std_ids[] = {
index 56b44ebbe8d0649ec8dc952b0c58c995fb4015d3..1e3f51d2acbff452c339a95dda6f4edc69d0483f 100644 (file)
@@ -1235,6 +1235,12 @@ static int spi_nor_write(struct mtd_info *mtd, loff_t to, size_t len,
        size_t page_offset, page_remain, i;
        ssize_t ret;
 
+#ifdef CONFIG_SPI_FLASH_SST
+       /* sst nor chips use AAI word program */
+       if (nor->info->flags & SST_WRITE)
+               return sst_write(mtd, to, len, retlen, buf);
+#endif
+
        dev_dbg(nor->dev, "to 0x%08x, len %zd\n", (u32)to, len);
 
        if (!len)
@@ -2530,6 +2536,7 @@ int spi_nor_scan(struct spi_nor *nor)
        mtd->size = params.size;
        mtd->_erase = spi_nor_erase;
        mtd->_read = spi_nor_read;
+       mtd->_write = spi_nor_write;
 
 #if defined(CONFIG_SPI_FLASH_STMICRO) || defined(CONFIG_SPI_FLASH_SST)
        /* NOR protection support for STmicro/Micron chips and similar */
@@ -2553,13 +2560,7 @@ int spi_nor_scan(struct spi_nor *nor)
                nor->flash_unlock = sst26_unlock;
                nor->flash_is_locked = sst26_is_locked;
        }
-
-       /* sst nor chips use AAI word program */
-       if (info->flags & SST_WRITE)
-               mtd->_write = sst_write;
-       else
 #endif
-               mtd->_write = spi_nor_write;
 
        if (info->flags & USE_FSR)
                nor->flags |= SNOR_F_USE_FSR;
@@ -2640,14 +2641,3 @@ int spi_nor_scan(struct spi_nor *nor)
 
        return 0;
 }
-
-/* U-Boot specific functions, need to extend MTD to support these */
-int spi_flash_cmd_get_sw_write_prot(struct spi_nor *nor)
-{
-       int sr = read_sr(nor);
-
-       if (sr < 0)
-               return sr;
-
-       return (sr >> 2) & 7;
-}
index 55f86d51555c68a8390d696bde7238729cbdbb10..9f676c649d88641880e838657d63d0136c2b4b3f 100644 (file)
@@ -798,9 +798,3 @@ int spi_nor_scan(struct spi_nor *nor)
 
        return 0;
 }
-
-/* U-Boot specific functions, need to extend MTD to support these */
-int spi_flash_cmd_get_sw_write_prot(struct spi_nor *nor)
-{
-       return -ENOTSUPP;
-}
index 99e24c634828b6966c6ae06e19d5c338865788a7..e2b05ace8f7189f89304042ece87b43275c4e25b 100644 (file)
@@ -111,6 +111,7 @@ enum emac_variant {
        H3_EMAC,
        A64_EMAC,
        R40_GMAC,
+       H6_EMAC,
 };
 
 struct emac_dma_desc {
@@ -300,9 +301,9 @@ static int sun8i_emac_set_syscon(struct sun8i_eth_pdata *pdata,
        if (priv->variant == R40_GMAC) {
                /* Select RGMII for R40 */
                reg = readl(priv->sysctl_reg + 0x164);
-               reg |= CCM_GMAC_CTRL_TX_CLK_SRC_INT_RGMII |
-                      CCM_GMAC_CTRL_GPIT_RGMII |
-                      CCM_GMAC_CTRL_TX_CLK_DELAY(CONFIG_GMAC_TX_DELAY);
+               reg |= SC_ETCS_INT_GMII |
+                      SC_EPIT |
+                      (CONFIG_GMAC_TX_DELAY << SC_ETXDC_OFFSET);
 
                writel(reg, priv->sysctl_reg + 0x164);
                return 0;
@@ -310,14 +311,16 @@ static int sun8i_emac_set_syscon(struct sun8i_eth_pdata *pdata,
 
        reg = readl(priv->sysctl_reg + 0x30);
 
-       if (priv->variant == H3_EMAC) {
+       if (priv->variant == H3_EMAC || priv->variant == H6_EMAC) {
                ret = sun8i_emac_set_syscon_ephy(priv, &reg);
                if (ret)
                        return ret;
        }
 
        reg &= ~(SC_ETCS_MASK | SC_EPIT);
-       if (priv->variant == H3_EMAC || priv->variant == A64_EMAC)
+       if (priv->variant == H3_EMAC ||
+           priv->variant == A64_EMAC ||
+           priv->variant == H6_EMAC)
                reg &= ~SC_RMII_EN;
 
        switch (priv->interface) {
@@ -329,7 +332,8 @@ static int sun8i_emac_set_syscon(struct sun8i_eth_pdata *pdata,
                break;
        case PHY_INTERFACE_MODE_RMII:
                if (priv->variant == H3_EMAC ||
-                   priv->variant == A64_EMAC) {
+                   priv->variant == A64_EMAC ||
+                   priv->variant == H6_EMAC) {
                        reg |= SC_RMII_EN | SC_ETCS_EXT_GMII;
                break;
                }
@@ -535,7 +539,7 @@ static int parse_phy_pins(struct udevice *dev)
 
                if (priv->variant == H3_EMAC)
                        sunxi_gpio_set_cfgpin(pin, SUN8I_IOMUX_H3);
-               else if (priv->variant == R40_GMAC)
+               else if (priv->variant == R40_GMAC || priv->variant == H6_EMAC)
                        sunxi_gpio_set_cfgpin(pin, SUN8I_IOMUX_R40);
                else
                        sunxi_gpio_set_cfgpin(pin, SUN8I_IOMUX);
@@ -1032,6 +1036,8 @@ static const struct udevice_id sun8i_emac_eth_ids[] = {
                .data = (uintptr_t)A83T_EMAC },
        {.compatible = "allwinner,sun8i-r40-gmac",
                .data = (uintptr_t)R40_GMAC },
+       {.compatible = "allwinner,sun50i-h6-emac",
+               .data = (uintptr_t)H6_EMAC },
        { }
 };
 
index b4bae22c2cf4f6b8f52f71f55cd970ca3cba9832..f050645044c9905327c29cd0ccd3aa9b29767ce2 100644 (file)
@@ -282,7 +282,8 @@ static int sun4i_usb_phy_init(struct phy *phy)
                return ret;
        }
 
-       if (data->cfg->type == sun8i_a83t_phy) {
+       if (data->cfg->type == sun8i_a83t_phy ||
+           data->cfg->type == sun50i_h6_phy) {
                if (phy->id == 0) {
                        val = readl(data->base + data->cfg->phyctl_offset);
                        val |= PHY_CTL_VBUSVLDEXT;
@@ -324,7 +325,8 @@ static int sun4i_usb_phy_exit(struct phy *phy)
        int ret;
 
        if (phy->id == 0) {
-               if (data->cfg->type == sun8i_a83t_phy) {
+               if (data->cfg->type == sun8i_a83t_phy ||
+                   data->cfg->type == sun50i_h6_phy) {
                        void __iomem *phyctl = data->base +
                                data->cfg->phyctl_offset;
 
index 56fea7c94c97645f5d470cab1ce8c7d7eeb9eb47..7e6e98189718e8072e27c66245cfa585acb91508 100644 (file)
@@ -74,4 +74,5 @@ config IMXRT_SDRAM
          This driver is for the sdram memory interface with the SEMC.
 
 source "drivers/ram/rockchip/Kconfig"
+source "drivers/ram/sifive/Kconfig"
 source "drivers/ram/stm32mp1/Kconfig"
index 5c897410c6033e0028318869ac3f6ae5d154a758..769c9d62187039557236b1eec2a1a1dff2fb351f 100644 (file)
@@ -17,3 +17,5 @@ obj-$(CONFIG_ARCH_MEDIATEK) += mediatek/
 obj-$(CONFIG_K3_J721E_DDRSS) += k3-j721e/
 
 obj-$(CONFIG_IMXRT_SDRAM) += imxrt_sdram.o
+
+obj-$(CONFIG_RAM_SIFIVE) += sifive/
diff --git a/drivers/ram/sifive/Kconfig b/drivers/ram/sifive/Kconfig
new file mode 100644 (file)
index 0000000..6aca22a
--- /dev/null
@@ -0,0 +1,13 @@
+config RAM_SIFIVE
+       bool "Ram drivers support for SiFive SoCs"
+       depends on RAM && RISCV
+       default y
+       help
+         This enables support for ram drivers of SiFive SoCs.
+
+config SIFIVE_FU540_DDR
+       bool "SiFive FU540 DDR driver"
+       depends on RAM_SIFIVE
+       default y if TARGET_SIFIVE_FU540
+       help
+         This enables DDR support for the platforms based on SiFive FU540 SoC.
diff --git a/drivers/ram/sifive/Makefile b/drivers/ram/sifive/Makefile
new file mode 100644 (file)
index 0000000..d66efec
--- /dev/null
@@ -0,0 +1,6 @@
+# SPDX-License-Identifier: GPL-2.0+
+#
+# Copyright (c) 2020 SiFive, Inc
+#
+
+obj-$(CONFIG_SIFIVE_FU540_DDR) += fu540_ddr.o
diff --git a/drivers/ram/sifive/fu540_ddr.c b/drivers/ram/sifive/fu540_ddr.c
new file mode 100644 (file)
index 0000000..f8f8ca9
--- /dev/null
@@ -0,0 +1,410 @@
+// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
+/*
+ * (C) Copyright 2020 SiFive, Inc.
+ *
+ * Authors:
+ *   Pragnesh Patel <pragnesh.patel@sifive.com>
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <init.h>
+#include <ram.h>
+#include <regmap.h>
+#include <syscon.h>
+#include <asm/io.h>
+#include <clk.h>
+#include <wait_bit.h>
+#include <linux/bitops.h>
+
+#define DENALI_CTL_0   0
+#define DENALI_CTL_21  21
+#define DENALI_CTL_120 120
+#define DENALI_CTL_132 132
+#define DENALI_CTL_136 136
+#define DENALI_CTL_170 170
+#define DENALI_CTL_181 181
+#define DENALI_CTL_182 182
+#define DENALI_CTL_184 184
+#define DENALI_CTL_208 208
+#define DENALI_CTL_209 209
+#define DENALI_CTL_210 210
+#define DENALI_CTL_212 212
+#define DENALI_CTL_214 214
+#define DENALI_CTL_216 216
+#define DENALI_CTL_224 224
+#define DENALI_CTL_225 225
+#define DENALI_CTL_260 260
+
+#define DENALI_PHY_1152        1152
+#define DENALI_PHY_1214        1214
+
+#define PAYLOAD_DEST   0x80000000
+#define DDR_MEM_SIZE   (8UL * 1024UL * 1024UL * 1024UL)
+
+#define DRAM_CLASS_OFFSET                      8
+#define DRAM_CLASS_DDR4                                0xA
+#define OPTIMAL_RMODW_EN_OFFSET                        0
+#define DISABLE_RD_INTERLEAVE_OFFSET           16
+#define OUT_OF_RANGE_OFFSET                    1
+#define MULTIPLE_OUT_OF_RANGE_OFFSET           2
+#define PORT_COMMAND_CHANNEL_ERROR_OFFSET      7
+#define MC_INIT_COMPLETE_OFFSET                        8
+#define LEVELING_OPERATION_COMPLETED_OFFSET    22
+#define DFI_PHY_WRLELV_MODE_OFFSET             24
+#define DFI_PHY_RDLVL_MODE_OFFSET              24
+#define DFI_PHY_RDLVL_GATE_MODE_OFFSET         0
+#define VREF_EN_OFFSET                         24
+#define PORT_ADDR_PROTECTION_EN_OFFSET         0
+#define AXI0_ADDRESS_RANGE_ENABLE              8
+#define AXI0_RANGE_PROT_BITS_0_OFFSET          24
+#define RDLVL_EN_OFFSET                                16
+#define RDLVL_GATE_EN_OFFSET                   24
+#define WRLVL_EN_OFFSET                                0
+
+#define PHY_RX_CAL_DQ0_0_OFFSET                        0
+#define PHY_RX_CAL_DQ1_0_OFFSET                        16
+
+struct fu540_ddrctl {
+       volatile u32 denali_ctl[265];
+};
+
+struct fu540_ddrphy {
+       volatile u32 denali_phy[1215];
+};
+
+/**
+ * struct fu540_ddr_info
+ *
+ * @dev                         : pointer for the device
+ * @info                        : UCLASS RAM information
+ * @ctl                         : DDR controller base address
+ * @phy                         : DDR PHY base address
+ * @ctrl                        : DDR control base address
+ * @physical_filter_ctrl        : DDR physical filter control base address
+ */
+struct fu540_ddr_info {
+       struct udevice *dev;
+       struct ram_info info;
+       struct fu540_ddrctl *ctl;
+       struct fu540_ddrphy *phy;
+       struct clk ddr_clk;
+       u32 *physical_filter_ctrl;
+};
+
+#if defined(CONFIG_SPL_BUILD)
+struct fu540_ddr_params {
+       struct fu540_ddrctl pctl_regs;
+       struct fu540_ddrphy phy_regs;
+};
+
+struct sifive_dmc_plat {
+       struct fu540_ddr_params ddr_params;
+};
+
+/*
+ * TODO : It can be possible to use common sdram_copy_to_reg() API
+ * n: Unit bytes
+ */
+static void sdram_copy_to_reg(volatile u32 *dest,
+                             volatile u32 *src, u32 n)
+{
+       int i;
+
+       for (i = 0; i < n / sizeof(u32); i++) {
+               writel(*src, dest);
+               src++;
+               dest++;
+       }
+}
+
+static void fu540_ddr_setup_range_protection(volatile u32 *ctl, u64 end_addr)
+{
+       u32 end_addr_16kblocks = ((end_addr >> 14) & 0x7FFFFF) - 1;
+
+       writel(0x0, DENALI_CTL_209 + ctl);
+       writel(end_addr_16kblocks, DENALI_CTL_210 + ctl);
+       writel(0x0, DENALI_CTL_212 + ctl);
+       writel(0x0, DENALI_CTL_214 + ctl);
+       writel(0x0, DENALI_CTL_216 + ctl);
+       setbits_le32(DENALI_CTL_224 + ctl,
+                    0x3 << AXI0_RANGE_PROT_BITS_0_OFFSET);
+       writel(0xFFFFFFFF, DENALI_CTL_225 + ctl);
+       setbits_le32(DENALI_CTL_208 + ctl, 0x1 << AXI0_ADDRESS_RANGE_ENABLE);
+       setbits_le32(DENALI_CTL_208 + ctl,
+                    0x1 << PORT_ADDR_PROTECTION_EN_OFFSET);
+}
+
+static void fu540_ddr_start(volatile u32 *ctl, u32 *physical_filter_ctrl,
+                           u64 ddr_end)
+{
+       volatile u64 *filterreg = (volatile u64 *)physical_filter_ctrl;
+
+       setbits_le32(DENALI_CTL_0 + ctl, 0x1);
+
+       wait_for_bit_le32((void *)ctl + DENALI_CTL_132,
+                         BIT(MC_INIT_COMPLETE_OFFSET), false, 100, false);
+
+       /* Disable the BusBlocker in front of the controller AXI slave ports */
+       filterreg[0] = 0x0f00000000000000UL | (ddr_end >> 2);
+}
+
+static void fu540_ddr_check_errata(u32 regbase, u32 updownreg)
+{
+       u64 fails     = 0;
+       u32 dq        = 0;
+       u32 down, up;
+       u8 failc0, failc1;
+       u32 phy_rx_cal_dqn_0_offset;
+
+       for (u32 bit = 0; bit < 2; bit++) {
+               if (bit == 0) {
+                       phy_rx_cal_dqn_0_offset =
+                               PHY_RX_CAL_DQ0_0_OFFSET;
+               } else {
+                       phy_rx_cal_dqn_0_offset =
+                               PHY_RX_CAL_DQ1_0_OFFSET;
+               }
+
+               down = (updownreg >>
+                       phy_rx_cal_dqn_0_offset) & 0x3F;
+               up = (updownreg >>
+                     (phy_rx_cal_dqn_0_offset + 6)) &
+                     0x3F;
+
+               failc0 = ((down == 0) && (up == 0x3F));
+               failc1 = ((up == 0) && (down == 0x3F));
+
+               /* print error message on failure */
+               if (failc0 || failc1) {
+                       if (fails == 0)
+                               printf("DDR error in fixing up\n");
+
+                       fails |= (1 << dq);
+
+                       char slicelsc = '0';
+                       char slicemsc = '0';
+
+                       slicelsc += (dq % 10);
+                       slicemsc += (dq / 10);
+                       printf("S ");
+                       printf("%c", slicemsc);
+                       printf("%c", slicelsc);
+
+                       if (failc0)
+                               printf("U");
+                       else
+                               printf("D");
+
+                       printf("\n");
+               }
+               dq++;
+       }
+}
+
+static u64 fu540_ddr_phy_fixup(volatile u32 *ddrphyreg)
+{
+       u32 slicebase = 0;
+
+       /* check errata condition */
+       for (u32 slice = 0; slice < 8; slice++) {
+               u32 regbase = slicebase + 34;
+
+               for (u32 reg = 0; reg < 4; reg++) {
+                       u32 updownreg = readl(regbase + reg + ddrphyreg);
+
+                       fu540_ddr_check_errata(regbase, updownreg);
+               }
+               slicebase += 128;
+       }
+
+       return(0);
+}
+
+static u32 fu540_ddr_get_dram_class(volatile u32 *ctl)
+{
+       u32 reg = readl(DENALI_CTL_0 + ctl);
+
+       return ((reg >> DRAM_CLASS_OFFSET) & 0xF);
+}
+
+static int fu540_ddr_setup(struct udevice *dev)
+{
+       struct fu540_ddr_info *priv = dev_get_priv(dev);
+       struct sifive_dmc_plat *plat = dev_get_platdata(dev);
+       struct fu540_ddr_params *params = &plat->ddr_params;
+       volatile u32 *denali_ctl =  priv->ctl->denali_ctl;
+       volatile u32 *denali_phy =  priv->phy->denali_phy;
+       const u64 ddr_size = DDR_MEM_SIZE;
+       const u64 ddr_end = PAYLOAD_DEST + ddr_size;
+       int ret, i;
+       u32 physet;
+
+       ret = dev_read_u32_array(dev, "sifive,ddr-params",
+                                (u32 *)&plat->ddr_params,
+                                sizeof(plat->ddr_params) / sizeof(u32));
+       if (ret) {
+               printf("%s: Cannot read sifive,ddr-params %d\n",
+                      __func__, ret);
+               return ret;
+       }
+
+       sdram_copy_to_reg(priv->ctl->denali_ctl,
+                         params->pctl_regs.denali_ctl,
+                         sizeof(struct fu540_ddrctl));
+
+       /* phy reset */
+       for (i = DENALI_PHY_1152; i <= DENALI_PHY_1214; i++) {
+               physet = params->phy_regs.denali_phy[i];
+               priv->phy->denali_phy[i] = physet;
+       }
+
+       for (i = 0; i < DENALI_PHY_1152; i++) {
+               physet = params->phy_regs.denali_phy[i];
+               priv->phy->denali_phy[i] = physet;
+       }
+
+       /* Disable read interleave DENALI_CTL_120 */
+       setbits_le32(DENALI_CTL_120 + denali_ctl,
+                    1 << DISABLE_RD_INTERLEAVE_OFFSET);
+
+       /* Disable optimal read/modify/write logic DENALI_CTL_21 */
+       clrbits_le32(DENALI_CTL_21 + denali_ctl, 1 << OPTIMAL_RMODW_EN_OFFSET);
+
+       /* Enable write Leveling DENALI_CTL_170 */
+       setbits_le32(DENALI_CTL_170 + denali_ctl, (1 << WRLVL_EN_OFFSET)
+                    | (1 << DFI_PHY_WRLELV_MODE_OFFSET));
+
+       /* Enable read leveling DENALI_CTL_181 and DENALI_CTL_260 */
+       setbits_le32(DENALI_CTL_181 + denali_ctl,
+                    1 << DFI_PHY_RDLVL_MODE_OFFSET);
+       setbits_le32(DENALI_CTL_260 + denali_ctl, 1 << RDLVL_EN_OFFSET);
+
+       /* Enable read leveling gate DENALI_CTL_260 and DENALI_CTL_182 */
+       setbits_le32(DENALI_CTL_260 + denali_ctl, 1 << RDLVL_GATE_EN_OFFSET);
+       setbits_le32(DENALI_CTL_182 + denali_ctl,
+                    1 << DFI_PHY_RDLVL_GATE_MODE_OFFSET);
+
+       if (fu540_ddr_get_dram_class(denali_ctl) == DRAM_CLASS_DDR4) {
+               /* Enable vref training DENALI_CTL_184 */
+               setbits_le32(DENALI_CTL_184 + denali_ctl, 1 << VREF_EN_OFFSET);
+       }
+
+       /* Mask off leveling completion interrupt DENALI_CTL_136 */
+       setbits_le32(DENALI_CTL_136 + denali_ctl,
+                    1 << LEVELING_OPERATION_COMPLETED_OFFSET);
+
+       /* Mask off MC init complete interrupt DENALI_CTL_136 */
+       setbits_le32(DENALI_CTL_136 + denali_ctl, 1 << MC_INIT_COMPLETE_OFFSET);
+
+       /* Mask off out of range interrupts DENALI_CTL_136 */
+       setbits_le32(DENALI_CTL_136 + denali_ctl, (1 << OUT_OF_RANGE_OFFSET)
+                    | (1 << MULTIPLE_OUT_OF_RANGE_OFFSET));
+
+       /* set up range protection */
+       fu540_ddr_setup_range_protection(denali_ctl, DDR_MEM_SIZE);
+
+       /* Mask off port command error interrupt DENALI_CTL_136 */
+       setbits_le32(DENALI_CTL_136 + denali_ctl,
+                    1 << PORT_COMMAND_CHANNEL_ERROR_OFFSET);
+
+       fu540_ddr_start(denali_ctl, priv->physical_filter_ctrl, ddr_end);
+
+       fu540_ddr_phy_fixup(denali_phy);
+
+       /* check size */
+       priv->info.size = get_ram_size((long *)priv->info.base,
+                                      DDR_MEM_SIZE);
+
+       debug("%s : %lx\n", __func__, priv->info.size);
+
+       /* check memory access for all memory */
+       if (priv->info.size != DDR_MEM_SIZE) {
+               printf("DDR invalid size : 0x%lx, expected 0x%lx\n",
+                      priv->info.size, DDR_MEM_SIZE);
+               return -EINVAL;
+       }
+
+       return 0;
+}
+#endif
+
+static int fu540_ddr_probe(struct udevice *dev)
+{
+       struct fu540_ddr_info *priv = dev_get_priv(dev);
+
+#if defined(CONFIG_SPL_BUILD)
+       struct regmap *map;
+       int ret;
+       u32 clock = 0;
+
+       debug("FU540 DDR probe\n");
+       priv->dev = dev;
+
+       ret = regmap_init_mem(dev_ofnode(dev), &map);
+       if (ret)
+               return ret;
+
+       ret = clk_get_by_index(dev, 0, &priv->ddr_clk);
+       if (ret) {
+               debug("clk get failed %d\n", ret);
+               return ret;
+       }
+
+       ret = dev_read_u32(dev, "clock-frequency", &clock);
+       if (ret) {
+               debug("clock-frequency not found in dt %d\n", ret);
+               return ret;
+       } else {
+               ret = clk_set_rate(&priv->ddr_clk, clock);
+               if (ret < 0) {
+                       debug("Could not set DDR clock\n");
+                       return ret;
+               }
+       }
+
+       ret = clk_enable(&priv->ddr_clk);
+       priv->ctl = regmap_get_range(map, 0);
+       priv->phy = regmap_get_range(map, 1);
+       priv->physical_filter_ctrl = regmap_get_range(map, 2);
+
+       priv->info.base = CONFIG_SYS_SDRAM_BASE;
+
+       priv->info.size = 0;
+       return fu540_ddr_setup(dev);
+#else
+       priv->info.base = CONFIG_SYS_SDRAM_BASE;
+       priv->info.size = DDR_MEM_SIZE;
+#endif
+       return 0;
+}
+
+static int fu540_ddr_get_info(struct udevice *dev, struct ram_info *info)
+{
+       struct fu540_ddr_info *priv = dev_get_priv(dev);
+
+       *info = priv->info;
+
+       return 0;
+}
+
+static struct ram_ops fu540_ddr_ops = {
+       .get_info = fu540_ddr_get_info,
+};
+
+static const struct udevice_id fu540_ddr_ids[] = {
+       { .compatible = "sifive,fu540-c000-ddr" },
+       { }
+};
+
+U_BOOT_DRIVER(fu540_ddr) = {
+       .name = "fu540_ddr",
+       .id = UCLASS_RAM,
+       .of_match = fu540_ddr_ids,
+       .ops = &fu540_ddr_ops,
+       .probe = fu540_ddr_probe,
+       .priv_auto_alloc_size = sizeof(struct fu540_ddr_info),
+#if defined(CONFIG_SPL_BUILD)
+       .platdata_auto_alloc_size = sizeof(struct sifive_dmc_plat),
+#endif
+};
index 90e3983170ceee4a71cfbda1d376a119259f13bb..17d0e7362379e4613b8320b68c5aa26d844901dc 100644 (file)
@@ -189,6 +189,7 @@ choice
 
 config DEBUG_UART_ALTERA_JTAGUART
        bool "Altera JTAG UART"
+       depends on ALTERA_JTAG_UART
        help
          Select this to enable a debug UART using the altera_jtag_uart driver.
          You will need to provide parameters to make this work. The driver will
@@ -196,6 +197,7 @@ config DEBUG_UART_ALTERA_JTAGUART
 
 config DEBUG_UART_ALTERA_UART
        bool "Altera UART"
+       depends on ALTERA_UART
        help
          Select this to enable a debug UART using the altera_uart driver.
          You will need to provide parameters to make this work. The driver will
@@ -221,6 +223,7 @@ config DEBUG_ARC_SERIAL
 
 config DEBUG_UART_ATMEL
        bool "Atmel USART"
+       depends on ATMEL_USART
        help
          Select this to enable a debug UART using the atmel usart driver. You
          will need to provide parameters to make this work. The driver will
@@ -236,6 +239,7 @@ config DEBUG_UART_BCM6345
 
 config DEBUG_UART_NS16550
        bool "ns16550"
+       depends on SYS_NS16550
        help
          Select this to enable a debug UART using the ns16550 driver. You
          will need to provide parameters to make this work. The driver will
@@ -252,6 +256,7 @@ config DEBUG_EFI_CONSOLE
 
 config DEBUG_UART_S5P
        bool "Samsung S5P"
+       depends on ARCH_EXYNOS || ARCH_S5PC1XX
        help
          Select this to enable a debug UART using the serial_s5p driver. You
          will need to provide parameters to make this work. The driver will
@@ -267,6 +272,7 @@ config DEBUG_UART_MESON
 
 config DEBUG_UART_UARTLITE
        bool "Xilinx Uartlite"
+       depends on XILINX_UARTLITE
        help
          Select this to enable a debug UART using the serial_uartlite driver.
          You will need to provide parameters to make this work. The driver will
@@ -274,6 +280,7 @@ config DEBUG_UART_UARTLITE
 
 config DEBUG_UART_ARM_DCC
        bool "ARM DCC"
+       depends on ARM_DCC
        help
          Select this to enable a debug UART using the ARM JTAG DCC port.
          The DCC port can be used for very early debugging and doesn't require
@@ -285,6 +292,7 @@ config DEBUG_UART_ARM_DCC
 
 config DEBUG_MVEBU_A3700_UART
        bool "Marvell Armada 3700"
+       depends on MVEBU_A3700_UART
        help
          Select this to enable a debug UART using the serial_mvebu driver. You
          will need to provide parameters to make this work. The driver will
@@ -292,6 +300,7 @@ config DEBUG_MVEBU_A3700_UART
 
 config DEBUG_UART_ZYNQ
        bool "Xilinx Zynq"
+       depends on ZYNQ_SERIAL
        help
          Select this to enable a debug UART using the serial_zynq driver. You
          will need to provide parameters to make this work. The driver will
@@ -307,6 +316,7 @@ config DEBUG_UART_APBUART
 
 config DEBUG_UART_PL010
        bool "pl010"
+       depends on PL01X_SERIAL
        help
          Select this to enable a debug UART using the pl01x driver with the
          PL010 UART type. You will need to provide parameters to make this
@@ -315,6 +325,7 @@ config DEBUG_UART_PL010
 
 config DEBUG_UART_PL011
        bool "pl011"
+       depends on PL011_SERIAL
        help
          Select this to enable a debug UART using the pl01x driver with the
          PL011 UART type. You will need to provide parameters to make this
@@ -348,6 +359,7 @@ config DEBUG_UART_SANDBOX
 
 config DEBUG_UART_SIFIVE
        bool "SiFive UART"
+       depends on PL01X_SERIAL
        help
          Select this to enable a debug UART using the serial_sifive driver. You
          will need to provide parameters to make this work. The driver will
@@ -373,6 +385,7 @@ config DEBUG_UART_UNIPHIER
 
 config DEBUG_UART_OMAP
        bool "OMAP uart"
+       depends on OMAP_SERIAL
        help
          Select this to enable a debug UART using the omap ns16550 driver.
          You will need to provide parameters to make this work. The driver
@@ -504,6 +517,12 @@ config ARC_SERIAL
          Select this to enable support for ARC UART now typically
          only used in Synopsys DesignWare ARC simulators like nSIM.
 
+config ARM_DCC
+       bool "ARM Debug Communication Channel (DCC) as UART support"
+       depends on ARM
+       help
+         Select this to enable using the ARM DCC as a form of UART.
+
 config ATMEL_USART
        bool "Atmel USART support"
        help
index dccd5ea0d9a8936cae152975ab340d377bf1914f..59415209ee4ac4071f1a26120e379b4efa71eda8 100644 (file)
@@ -141,6 +141,14 @@ config FSL_DSPI
          this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms
          use this driver.
 
+config FSL_QSPI
+       bool "Freescale QSPI driver"
+       imply SPI_FLASH_BAR
+       help
+         Enable the Freescale Quad-SPI (QSPI) driver. This driver can be
+         used to access the SPI NOR flash on platforms embedding this
+         Freescale IP core.
+
 config ICH_SPI
        bool "Intel ICH SPI driver"
        help
@@ -167,6 +175,13 @@ config MPC8XXX_SPI
        help
          Enable support for SPI on the MPC8XXX PowerPC SoCs.
 
+config MSCC_BB_SPI
+       bool "MSCC bitbang SPI driver"
+       depends on SOC_VCOREIII
+       help
+         Enable MSCC bitbang SPI driver. This driver can be used on
+         MSCC SOCs.
+
 config MT7621_SPI
        bool "MediaTek MT7621 SPI driver"
        depends on SOC_MT7628
@@ -377,19 +392,6 @@ config SOFT_SPI
         Enable Soft SPI driver. This driver is to use GPIO simulate
         the SPI protocol.
 
-config MSCC_BB_SPI
-       bool "MSCC bitbang SPI driver"
-       depends on SOC_VCOREIII
-       help
-         Enable MSCC bitbang SPI driver. This driver can be used on
-         MSCC SOCs.
-
-config CF_SPI
-       bool "ColdFire SPI driver"
-       help
-         Enable the ColdFire SPI driver. This driver can be used on
-         some m68k SoCs.
-
 config FSL_ESPI
        bool "Freescale eSPI driver"
        imply SPI_FLASH_BAR
@@ -398,27 +400,12 @@ config FSL_ESPI
          access the SPI interface and SPI NOR flash on platforms embedding
          this Freescale eSPI IP core.
 
-config FSL_QSPI
-       bool "Freescale QSPI driver"
-       imply SPI_FLASH_BAR
-       help
-         Enable the Freescale Quad-SPI (QSPI) driver. This driver can be
-         used to access the SPI NOR flash on platforms embedding this
-         Freescale IP core.
-
 config DAVINCI_SPI
        bool "Davinci & Keystone SPI driver"
        depends on ARCH_DAVINCI || ARCH_KEYSTONE
        help
          Enable the Davinci SPI driver
 
-config SH_SPI
-       bool "SuperH SPI driver"
-       depends on DEPRECATED
-       help
-         Enable the SuperH SPI controller driver. This driver can be used
-         on various SuperH SoCs, such as SH7757.
-
 config SH_QSPI
        bool "Renesas Quad SPI driver"
        help
index 6441694c8d86045b969cb1eb6487be7585419359..342776404a50f8ad48f4ff2a0f47b5e5f8f9afcc 100644 (file)
@@ -52,7 +52,6 @@ obj-$(CONFIG_ROCKCHIP_SPI) += rk_spi.o
 obj-$(CONFIG_SANDBOX_SPI) += sandbox_spi.o
 obj-$(CONFIG_SPI_SIFIVE) += spi-sifive.o
 obj-$(CONFIG_SPI_SUNXI) += spi-sunxi.o
-obj-$(CONFIG_SH_SPI) += sh_spi.o
 obj-$(CONFIG_SH_QSPI) += sh_qspi.o
 obj-$(CONFIG_STM32_QSPI) += stm32_qspi.o
 obj-$(CONFIG_STM32_SPI) += stm32_spi.o
index dd9c77281f116cee3b1a1332362c38d9a386b88c..dec92df69bd8986ef2de186d78e65ccc480c9d80 100644 (file)
@@ -383,10 +383,6 @@ static int coldfire_spi_probe(struct udevice *bus)
        return 0;
 }
 
-void spi_init(void)
-{
-}
-
 #if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
 static int coldfire_dspi_ofdata_to_platdata(struct udevice *bus)
 {
index 01fcf6bef5a472d3e62c9a43fafb9e4fe7a7855f..3986b06b25ce2c96a451c54705e9698c1a01c73f 100644 (file)
@@ -183,10 +183,6 @@ int spi_cs_is_valid(unsigned int bus, unsigned int cs)
 }
 #endif
 
-void spi_init(void)
-{
-}
-
 void spi_cs_activate(struct spi_slave *slave)
 {
        _spi_cs_activate(spireg);
diff --git a/drivers/spi/sh_spi.c b/drivers/spi/sh_spi.c
deleted file mode 100644 (file)
index 4ecfe60..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * SH SPI driver
- *
- * Copyright (C) 2011-2012 Renesas Solutions Corp.
- */
-
-#include <common.h>
-#include <console.h>
-#include <malloc.h>
-#include <spi.h>
-#include <asm/io.h>
-#include <linux/delay.h>
-#include "sh_spi.h"
-
-static void sh_spi_write(unsigned long data, unsigned long *reg)
-{
-       writel(data, reg);
-}
-
-static unsigned long sh_spi_read(unsigned long *reg)
-{
-       return readl(reg);
-}
-
-static void sh_spi_set_bit(unsigned long val, unsigned long *reg)
-{
-       unsigned long tmp;
-
-       tmp = sh_spi_read(reg);
-       tmp |= val;
-       sh_spi_write(tmp, reg);
-}
-
-static void sh_spi_clear_bit(unsigned long val, unsigned long *reg)
-{
-       unsigned long tmp;
-
-       tmp = sh_spi_read(reg);
-       tmp &= ~val;
-       sh_spi_write(tmp, reg);
-}
-
-static void clear_fifo(struct sh_spi *ss)
-{
-       sh_spi_set_bit(SH_SPI_RSTF, &ss->regs->cr2);
-       sh_spi_clear_bit(SH_SPI_RSTF, &ss->regs->cr2);
-}
-
-static int recvbuf_wait(struct sh_spi *ss)
-{
-       while (sh_spi_read(&ss->regs->cr1) & SH_SPI_RBE) {
-               if (ctrlc())
-                       return 1;
-               udelay(10);
-       }
-       return 0;
-}
-
-static int write_fifo_empty_wait(struct sh_spi *ss)
-{
-       while (!(sh_spi_read(&ss->regs->cr1) & SH_SPI_TBE)) {
-               if (ctrlc())
-                       return 1;
-               udelay(10);
-       }
-       return 0;
-}
-
-static void sh_spi_set_cs(struct sh_spi *ss, unsigned int cs)
-{
-       unsigned long val = 0;
-
-       if (cs & 0x01)
-               val |= SH_SPI_SSS0;
-       if (cs & 0x02)
-               val |= SH_SPI_SSS1;
-
-       sh_spi_clear_bit(SH_SPI_SSS0 | SH_SPI_SSS1, &ss->regs->cr4);
-       sh_spi_set_bit(val, &ss->regs->cr4);
-}
-
-struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
-               unsigned int max_hz, unsigned int mode)
-{
-       struct sh_spi *ss;
-
-       if (!spi_cs_is_valid(bus, cs))
-               return NULL;
-
-       ss = spi_alloc_slave(struct sh_spi, bus, cs);
-       if (!ss)
-               return NULL;
-
-       ss->regs = (struct sh_spi_regs *)CONFIG_SH_SPI_BASE;
-
-       /* SPI sycle stop */
-       sh_spi_write(0xfe, &ss->regs->cr1);
-       /* CR1 init */
-       sh_spi_write(0x00, &ss->regs->cr1);
-       /* CR3 init */
-       sh_spi_write(0x00, &ss->regs->cr3);
-       sh_spi_set_cs(ss, cs);
-
-       clear_fifo(ss);
-
-       /* 1/8 clock */
-       sh_spi_write(sh_spi_read(&ss->regs->cr2) | 0x07, &ss->regs->cr2);
-       udelay(10);
-
-       return &ss->slave;
-}
-
-void spi_free_slave(struct spi_slave *slave)
-{
-       struct sh_spi *spi = to_sh_spi(slave);
-
-       free(spi);
-}
-
-int spi_claim_bus(struct spi_slave *slave)
-{
-       return 0;
-}
-
-void spi_release_bus(struct spi_slave *slave)
-{
-       struct sh_spi *ss = to_sh_spi(slave);
-
-       sh_spi_write(sh_spi_read(&ss->regs->cr1) &
-               ~(SH_SPI_SSA | SH_SPI_SSDB | SH_SPI_SSD), &ss->regs->cr1);
-}
-
-static int sh_spi_send(struct sh_spi *ss, const unsigned char *tx_data,
-                       unsigned int len, unsigned long flags)
-{
-       int i, cur_len, ret = 0;
-       int remain = (int)len;
-
-       if (len >= SH_SPI_FIFO_SIZE)
-               sh_spi_set_bit(SH_SPI_SSA, &ss->regs->cr1);
-
-       while (remain > 0) {
-               cur_len = (remain < SH_SPI_FIFO_SIZE) ?
-                               remain : SH_SPI_FIFO_SIZE;
-               for (i = 0; i < cur_len &&
-                       !(sh_spi_read(&ss->regs->cr4) & SH_SPI_WPABRT) &&
-                       !(sh_spi_read(&ss->regs->cr1) & SH_SPI_TBF);
-                               i++)
-                       sh_spi_write(tx_data[i], &ss->regs->tbr_rbr);
-
-               cur_len = i;
-
-               if (sh_spi_read(&ss->regs->cr4) & SH_SPI_WPABRT) {
-                       /* Abort the transaction */
-                       flags |= SPI_XFER_END;
-                       sh_spi_set_bit(SH_SPI_WPABRT, &ss->regs->cr4);
-                       ret = 1;
-                       break;
-               }
-
-               remain -= cur_len;
-               tx_data += cur_len;
-
-               if (remain > 0)
-                       write_fifo_empty_wait(ss);
-       }
-
-       if (flags & SPI_XFER_END) {
-               sh_spi_clear_bit(SH_SPI_SSD | SH_SPI_SSDB, &ss->regs->cr1);
-               sh_spi_set_bit(SH_SPI_SSA, &ss->regs->cr1);
-               udelay(100);
-               write_fifo_empty_wait(ss);
-       }
-
-       return ret;
-}
-
-static int sh_spi_receive(struct sh_spi *ss, unsigned char *rx_data,
-                         unsigned int len, unsigned long flags)
-{
-       int i;
-
-       if (len > SH_SPI_MAX_BYTE)
-               sh_spi_write(SH_SPI_MAX_BYTE, &ss->regs->cr3);
-       else
-               sh_spi_write(len, &ss->regs->cr3);
-
-       sh_spi_clear_bit(SH_SPI_SSD | SH_SPI_SSDB, &ss->regs->cr1);
-       sh_spi_set_bit(SH_SPI_SSA, &ss->regs->cr1);
-
-       for (i = 0; i < len; i++) {
-               if (recvbuf_wait(ss))
-                       return 0;
-
-               rx_data[i] = (unsigned char)sh_spi_read(&ss->regs->tbr_rbr);
-       }
-       sh_spi_write(0, &ss->regs->cr3);
-
-       return 0;
-}
-
-int  spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
-               void *din, unsigned long flags)
-{
-       struct sh_spi *ss = to_sh_spi(slave);
-       const unsigned char *tx_data = dout;
-       unsigned char *rx_data = din;
-       unsigned int len = bitlen / 8;
-       int ret = 0;
-
-       if (flags & SPI_XFER_BEGIN)
-               sh_spi_write(sh_spi_read(&ss->regs->cr1) & ~SH_SPI_SSA,
-                               &ss->regs->cr1);
-
-       if (tx_data)
-               ret = sh_spi_send(ss, tx_data, len, flags);
-
-       if (ret == 0 && rx_data)
-               ret = sh_spi_receive(ss, rx_data, len, flags);
-
-       if (flags & SPI_XFER_END) {
-               sh_spi_set_bit(SH_SPI_SSD, &ss->regs->cr1);
-               udelay(100);
-
-               sh_spi_clear_bit(SH_SPI_SSA | SH_SPI_SSDB | SH_SPI_SSD,
-                                &ss->regs->cr1);
-               clear_fifo(ss);
-       }
-
-       return ret;
-}
-
-int  spi_cs_is_valid(unsigned int bus, unsigned int cs)
-{
-       if (!bus && cs < SH_SPI_NUM_CS)
-               return 1;
-       else
-               return 0;
-}
-
-void spi_cs_activate(struct spi_slave *slave)
-{
-
-}
-
-void spi_cs_deactivate(struct spi_slave *slave)
-{
-
-}
diff --git a/drivers/spi/sh_spi.h b/drivers/spi/sh_spi.h
deleted file mode 100644 (file)
index 33a4630..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/*
- * SH SPI driver
- *
- * Copyright (C) 2011 Renesas Solutions Corp.
- */
-
-#ifndef __SH_SPI_H__
-#define __SH_SPI_H__
-
-#include <spi.h>
-
-struct sh_spi_regs {
-       unsigned long tbr_rbr;
-       unsigned long resv1;
-       unsigned long cr1;
-       unsigned long resv2;
-       unsigned long cr2;
-       unsigned long resv3;
-       unsigned long cr3;
-       unsigned long resv4;
-       unsigned long cr4;
-};
-
-/* CR1 */
-#define SH_SPI_TBE     0x80
-#define SH_SPI_TBF     0x40
-#define SH_SPI_RBE     0x20
-#define SH_SPI_RBF     0x10
-#define SH_SPI_PFONRD  0x08
-#define SH_SPI_SSDB    0x04
-#define SH_SPI_SSD     0x02
-#define SH_SPI_SSA     0x01
-
-/* CR2 */
-#define SH_SPI_RSTF    0x80
-#define SH_SPI_LOOPBK  0x40
-#define SH_SPI_CPOL    0x20
-#define SH_SPI_CPHA    0x10
-#define SH_SPI_L1M0    0x08
-
-/* CR3 */
-#define SH_SPI_MAX_BYTE        0xFF
-
-/* CR4 */
-#define SH_SPI_TBEI    0x80
-#define SH_SPI_TBFI    0x40
-#define SH_SPI_RBEI    0x20
-#define SH_SPI_RBFI    0x10
-#define SH_SPI_SSS1    0x08
-#define SH_SPI_WPABRT  0x04
-#define SH_SPI_SSS0    0x01
-
-#define SH_SPI_FIFO_SIZE       32
-#define SH_SPI_NUM_CS          4
-
-struct sh_spi {
-       struct spi_slave        slave;
-       struct sh_spi_regs      *regs;
-};
-
-static inline struct sh_spi *to_sh_spi(struct spi_slave *slave)
-{
-       return container_of(slave, struct sh_spi, slave);
-}
-
-#endif
index 928a89133cf89dd4f6ee31f22e8b31a6d9d567dd..756a4ec402e7ee1b3b0b369cee82bd51c310c807 100644 (file)
@@ -39,8 +39,8 @@ config DM_USB
        help
          Enable driver model for USB. The USB interface is then implemented
          by the USB uclass. Multiple USB controllers of different types
-         (XHCI, EHCI) can be attached and used. The 'usb' command works as
-         normal. OCHI is not supported at present.
+         (XHCI, EHCI, OHCI) can be attached and used. The 'usb' command works
+         as normal.
 
          Much of the code is shared but with this option enabled the USB
          uclass takes care of device enumeration. USB devices can be
index 9b264bd92ab9e11c8be04700153bdfdb7cd23cc0..a38cd25eb85fc0d24a13b07a58aeaac13232ce16 100644 (file)
@@ -11,6 +11,7 @@
  * e.g. PCI controllers need this
  */
 
+#include <asm/cache.h>
 #include <asm/io.h>
 
 #ifdef CONFIG_SYS_OHCI_SWAP_REG_ACCESS
index 2e3dd3bad0735cbd894aa1aa3a61b368d173cc95..e80072065771e216f5b139df8baa228e07043a13 100644 (file)
@@ -60,9 +60,11 @@ config VIRTIO_BLK
          QEMU based targets.
 
 config VIRTIO_RNG
-       bool "virtio rng driver"
-       depends on VIRTIO
-       help
-         This is the virtual random number generator driver. It can be used
-        with Qemu based targets.
+       bool "virtio rng driver"
+       depends on DM_RNG
+       depends on VIRTIO
+       default y
+       help
+         This is the virtual random number generator driver. It can be used
+         with QEMU based targets.
 endmenu
index 23de5a3495b9a40227b41b2d1b4a2387bd077929..02ed846fc73d0ce892641aedaf708c530f3bd842 100644 (file)
--- a/env/sf.c
+++ b/env/sf.c
@@ -53,15 +53,14 @@ static int setup_flash_device(void)
 
        env_flash = dev_get_uclass_priv(new);
 #else
+       if (env_flash)
+               spi_flash_free(env_flash);
 
+       env_flash = spi_flash_probe(CONFIG_ENV_SPI_BUS, CONFIG_ENV_SPI_CS,
+                                   CONFIG_ENV_SPI_MAX_HZ, CONFIG_ENV_SPI_MODE);
        if (!env_flash) {
-               env_flash = spi_flash_probe(CONFIG_ENV_SPI_BUS,
-                       CONFIG_ENV_SPI_CS,
-                       CONFIG_ENV_SPI_MAX_HZ, CONFIG_ENV_SPI_MODE);
-               if (!env_flash) {
-                       env_set_default("spi_flash_probe() failed", 0);
-                       return -EIO;
-               }
+               env_set_default("spi_flash_probe() failed", 0);
+               return -EIO;
        }
 #endif
        return 0;
index 065e1e928189fac46fa69a497541a766e1ff0b0f..de7132940c197cff7df2dc8015d535b5389b93d0 100644 (file)
  */
 #undef CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 #define CONFIG_SYS_DEVICE_NULLDEV      1       /* include nulldev device       */
 
 #define CONFIG_SYS_LOAD_ADDR           0x200000        /* default load address */
index 69e3fbae78d71f42a6c5daa9052906d541fd1bf5..54f6fa7c167d436e36529687453075c672182c28 100644 (file)
        . = DEFINED(env_offset) ? env_offset : .; \
        env/embedded.o(.text*);
 
-/*
- * Command line configuration.
- */
-
 #ifdef CONFIG_IDE
 /* ATA */
 #      define CONFIG_IDE_RESET         1
index 5056629043823b98a8843b85c7b92be0ecb8bd54..2cdd4369da002be3f4fcba53f0ec4e19f8f668ba 100644 (file)
@@ -39,9 +39,6 @@
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
 #ifdef CONFIG_MCFFEC
 #      define CONFIG_MII_INIT          1
 #      define CONFIG_SYS_DISCOVER_PHY
index e7859f334ad8d0892294a8f23dac9d16479751fd..6a50a25d325431cdf8abbb284bf2eb6cec6a0a9a 100644 (file)
@@ -36,9 +36,6 @@
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
 #ifdef CONFIG_MCFFEC
 #      define CONFIG_MII_INIT          1
 #      define CONFIG_SYS_DISCOVER_PHY
index 788a325b64183bd05dd02b0c90a40299bd6f5ad0..eccbe58676ac022dd1b06a651e5dd07b1e16ff0e 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 /*
  * Miscellaneous configurable options
  */
index d8485f6fbd6374fd8fda9f3af140ed159997175c..e70b90765a96a60375eb01d8b7deaa6b01438406 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 /*
  * Miscellaneous configurable options
  */
index 029d2f1ec3ebbd3701b0a7a5e56388c1bc238877..38245860ee03e046d1a7efef43deed02e08a4089 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 /*
  * Miscellaneous configurable options
  */
index 2c35223868287f992f5a702ede398b4eb2f2c5d3..da68f3ccca7b511c263a7323602837fd577bdb18 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 #undef CONFIG_WATCHDOG         /* watchdog disabled */
 
 /*
index ff18d108726000f80056d991b182253096357002..eaa95bbeff5895ec69a6bfb82778c97a6676907b 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 #undef CONFIG_WATCHDOG         /* watchdog disabled */
 
 /*
index bfcff2e4f885d9093d420660c7aaac7b0ef3c626..d2d1b2fa47dbfba7bcc8a3a0ab870f62504d5b0e 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 #undef CONFIG_WATCHDOG         /* watchdog disabled */
 
 /*
index 0a80a60d30112fa66c7aa5120b417b86fc1e6320..4707dcf1ab226e9d49e9e3ff7fbd1733c68eb213 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 #undef CONFIG_WATCHDOG                 /* watchdog disabled */
 
 /*
index 79dd95617414cadeb785b909fdd926a515ffd0c2..d92312b408369a6b95c340cee52b1e698d848024 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 #undef CONFIG_WATCHDOG                 /* watchdog disabled */
 
 /*
index 1254b4fc10e7bfcc2686636f1a14df16ec0eb149..b5660f9ff55e00359b0ac115af17c3785136293d 100644 (file)
@@ -304,10 +304,6 @@ extern int board_pci_host_broken(void);
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 #undef CONFIG_WATCHDOG         /* watchdog disabled */
 
 #ifdef CONFIG_MMC
index 8c2297a9105400108d68e5ccc248480d3479a9a9..7ff0b77db5d5ce0ea8f7ab6b7e2a03094b67bd62 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 #undef CONFIG_WATCHDOG         /* watchdog disabled */
 
 #ifdef CONFIG_MMC
index 2ba73220211ae2c3145f7ef5acd95f8607d44b47..f78782a1c14025f3c68f1c9f088813ff32edf489 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 #undef CONFIG_WATCHDOG                 /* watchdog disabled */
 
 /*
index eb85141702985751f3679e105c8da571bbcc94e6..b2acc7297361a0a2fe7d73aa039b3bd65d2f055c 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 #define CONFIG_WATCHDOG                        /* watchdog enabled */
 #define CONFIG_SYS_WATCHDOG_FREQ       5000    /* Feed interval, 5s */
 
index 59404cbaf93d0ae69376b83332020b6b7420a45f..94cbe10dd39ab366c2a07721d620fdf096214db9 100644 (file)
@@ -484,10 +484,6 @@ unsigned long get_board_sys_clk(unsigned long dummy);
 #define CONFIG_LOADS_ECHO              /* echo on for serial download */
 #define CONFIG_SYS_LOADS_BAUD_CHANGE   /* allow baudrate change */
 
-/*
- * Command line configuration.
- */
-
 /*
 * USB
 */
index fcfd3b0b4b88126161084abd52eea81c48d389d3..9832f85405c2330b145e523bbb2d97d2953ad989 100644 (file)
 #define CONFIG_LOADS_ECHO              /* echo on for serial download */
 #define CONFIG_SYS_LOADS_BAUD_CHANGE   /* allow baudrate change */
 
-/*
- * Command line configuration.
- */
-
 /*
  * Miscellaneous configurable options
  */
index 6e1a40c678f10a82579d67f92fe253c8dcb00269..cf964373f0c6829782f8951f7581358ee43f1017 100644 (file)
@@ -15,9 +15,6 @@
 #include <configs/ti_am335x_common.h>
 
 /* settings we don;t want on this board */
-#undef CONFIG_CMD_SPI
-
-#define CONFIG_CMD_CACHE
 
 #ifndef CONFIG_SPL_BUILD
 # define CONFIG_TIMESTAMP
index fea9300a67dedf305233d07d1e22cf22290ab592..e94b7c8d216adbc977e22512dfba86f49fead3f1 100644 (file)
@@ -40,7 +40,6 @@
        DFU_ALT_INFO_RAM \
        DFU_ALT_INFO_QSPI
 #else
-#undef CONFIG_CMD_BOOTD
 #ifdef CONFIG_SPL_DFU
 #define CONFIG_SPL_LOAD_FIT_ADDRESS 0x80200000
 #define DFUARGS \
index 8ca571b9b7a06714b6bba6e17c5d5f7f1911d757..965259c5e1e9ff3d2c0f10ca09e0b8c80a90073d 100644 (file)
 #undef CONFIG_SYS_MAXARGS
 #define CONFIG_SYS_MAXARGS             32
 
-#define CONFIG_CMD_TIME
-
 #include "tegra-common-usb-gadget.h"
 #include "tegra-common-post.h"
 
index 6f03058a785e68defb4facaf776fbe5f95843189..d5a0625e02829c43aa300ab814e13d75ea5ec45e 100644 (file)
 #define CONFIG_ENV_OVERWRITE
 
 /* Command definition */
-#undef CONFIG_CMD_LOADB
-#undef CONFIG_CMD_LOADS
-#undef CONFIG_CMD_NFS
-#undef CONFIG_CMD_FLASH
 
 #undef CONFIG_IPADDR
 #define CONFIG_IPADDR                  192.168.10.2
 #define CONFIG_SYS_MMC_ENV_PART                1
 #endif
 
-#define CONFIG_CMD_TIME
-
 #endif /* __CONFIG_H */
index 717ed53d839e691910a0076b10a37bdbb2b195fc..88e1bf17753458d2a839e94524b8aaeff6f3320d 100644 (file)
  */
 #define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_TEXT_BASE - 0x00200000)
 
-/*
- * Commands configuration
- */
-/*
- * mv-common.h should be defined after CMD configs since it used them
- * to enable certain macros
- */
 #include "mv-common.h"
 
 /*
index 7eec226173e2e0c9618df4ebf3f86ae0306dccfc..891240c7e228a90a11d6ed881c5e5e57f8c24e5c 100644 (file)
@@ -38,7 +38,6 @@
 #error No card type defined!
 #endif
 
-/* Command line configuration */
 /*
  * CONFIG_RAM defines if u-boot is loaded via BDM (or started from
  * a different bootloader that has already performed RAM setup) or
index 6e9793ab81f57ab1b14a0ebb7c313135d8ed23c4..624b05ad08ce0cef3c594afab6abd9a9572d1845 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 #ifdef CONFIG_SD_BOOT
 
 #ifdef CONFIG_ENV_IS_IN_MMC
index 37b9cc3b6fcd2989458b27db5dc1aeac0efe144f..378f9dc48be41508f84668e2708873b1133a4a9a 100644 (file)
 #define CONFIG_USART_BASE      ATMEL_BASE_DBGU
 #define CONFIG_USART_ID                0/* ignored in arm */
 
-/*
- * Command line configuration.
- */
-
 /*
  * Network Driver Setting
  */
index 3bd85ffe281b1979afee6f6be292f7383d0e3a75..31fd6ec08bbab920d6006db47cb7f84f0f68d4cd 100644 (file)
@@ -33,6 +33,4 @@
 #define CONFIG_SYS_MMC_ENV_DEV 0
 #define CONFIG_SYS_MMC_ENV_PART        0
 
-#define CONFIG_CMD_GPT
-
 #endif /* __CONFIG_H */
index 5f6bf62524a9f6efda8dde9065708ee7865114ad..24569f7d94a857e739057083df5dff2e3855634e 100644 (file)
@@ -127,9 +127,6 @@ extern phys_addr_t prior_stage_fdt_address;
 /*
  * Command configuration.
  */
-#define CONFIG_CMD_ASKENV
-#define CONFIG_CMD_CACHE
-#define CONFIG_CMD_EXT2
 
 /*
  * Flash configuration.
@@ -142,9 +139,6 @@ extern phys_addr_t prior_stage_fdt_address;
  * Filesystem configuration.
  */
 #define CONFIG_DOS_PARTITION
-#define CONFIG_CMD_EXT4
-#define CONFIG_FS_EXT4
-#define CONFIG_CMD_FS_GENERIC
 
 /*
  * Environment configuration.
@@ -166,6 +160,5 @@ extern phys_addr_t prior_stage_fdt_address;
  * Set fdtaddr to prior stage-provided DTB in board_late_init, when
  * writeable environment is available.
  */
-#define CONFIG_BOARD_LATE_INIT
 
 #endif /* __BCMSTB_H */
index fd29c5d0f1ed9792e085a2fbc7e51dc74a06f9e2..f048f158ed2ac70ef9300d11f0ab96d7c77ca91a 100644 (file)
@@ -42,8 +42,6 @@
 #define CONFIG_SYS_FLASH_WRITE_TOUT    3000
 #define CONFIG_SYS_FLASH_LOCK_TOUT     3000
 #define CONFIG_SYS_FLASH_UNLOCK_TOUT   3000
-#undef  CONFIG_CMD_SF
-#undef  CONFIG_CMD_SPI
 #endif
 
 /* Board Clock */
index 459712190a0399439e8161532ba58771964d18f8..35f4b74727fd0e3774f1b286843884647d54737e 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
 #define CONFIG_SYS_RTC_BUS_NUM  0x01
 #define CONFIG_SYS_I2C_RTC_ADDR        0x32
 
index 2ad54f49072606717c76739161c5407c163719b0..c671cb50afcef5ace447108bfc5d710471702be9 100644 (file)
 #define CONFIG_BOARD_EARLY_INIT_F
 
 /* Commands */
-#define CONFIG_CMD_READ
 
-#undef CONFIG_CMD_EXPORTENV
-#undef CONFIG_CMD_IMPORTENV
-#undef CONFIG_CMD_IMLS
-#undef CONFIG_CMD_CRC32
 #undef CONFIG_BOOTM_NETBSD
 
 /* ENET Config */
index e6b4e233d62184472628b74784e5cce1a7066a2a..67f5bbe9d8c6c08df221f75936fdd97e287978b5 100644 (file)
@@ -42,7 +42,6 @@
 #define CONFIG_SYS_MMC_ENV_DEV         0
 #define CONFIG_ENV_OVERWRITE
 
-/* Command line configuration. */
 #define CONFIG_SYS_CBSIZE      1024            /* Console I/O buffer size */
 #define CONFIG_SYS_MAXARGS     32              /* Max number of command args */
 #define CONFIG_SYS_BARGSIZE    CONFIG_SYS_CBSIZE
index b923bae9b283db43132e5fa7b054d5ea5149a74b..07f1893d1154b8fa0d0a1482aa9317f51a659718 100644 (file)
@@ -15,8 +15,6 @@
 /* Size of malloc() pool */
 #define CONFIG_SYS_MALLOC_LEN          (32 * SZ_1M)
 
-#define CONFIG_BOARD_LATE_INIT
-
 /* Network */
 #define CONFIG_FEC_MXC
 #define CONFIG_FEC_XCV_TYPE             RGMII
@@ -44,7 +42,6 @@
 #define CONFIG_SYS_I2C_EEPROM_BUS      SYS_I2C_BUS_SOM
 
 #define CONFIG_PCA953X
-#define CONFIG_CMD_PCA953X
 #define CONFIG_SYS_I2C_PCA953X_ADDR    0x20
 #define CONFIG_SYS_I2C_PCA953X_WIDTH   { {0x20, 16} }
 
index 459e0d9d5ed13ff6ca0f52a8440033073d07050c..74be2f137851e331d7e1e3b99f7a41cdc8a4eb71 100644 (file)
  */
 #define CONFIG_SYS_TCLK                250000000       /* 250MHz */
 
-/*
- * Commands configuration
- */
-
 /*
  * SDIO/MMC Card Configuration
  */
index fe23c2396c9f9ce43b92ddba1b37f3931793628a..c859616c68cb344273fcb58eb0afa2b861299836 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 #ifdef CONFIG_MCFFEC
 #      define CONFIG_MII_INIT          1
 #      define CONFIG_SYS_DISCOVER_PHY
index 3d248ef4eff04705d64501e28543d677a693b8f1..6beef250942bc7e784600530a75d6b3573f6245b 100644 (file)
 #define CONFIG_ENV_OVERWRITE
 
 /* Command definition */
-#undef CONFIG_CMD_LOADB
-#undef CONFIG_CMD_LOADS
-#undef CONFIG_CMD_NFS
-#undef CONFIG_CMD_FLASH
 
 #undef CONFIG_IPADDR
 #define CONFIG_IPADDR                  192.168.10.2
 #define CONFIG_SYS_MMC_ENV_PART                1
 #endif
 
-#define CONFIG_CMD_TIME
-
 #endif /* __CONFIG_H */
index 34d268e0610cbcc746f30938ba3113344ddebb7c..823586cc091dee2c01d1b039f844d186241e88bf 100644 (file)
 #define CONFIG_SYS_MMC_ENV_DEV 0
 #endif
 
-/*
- * Command line configuration.
- */
-
 #define CONFIG_SYS_LOAD_ADDR   0x2000000       /* default load address */
 
 #ifndef CONFIG_TRAILBLAZER
index a326a1c83db5d4b0f1390095af331b035bebbaa5..00e5c8f7943ea524d7afae179d28f3052b2b78df 100644 (file)
@@ -13,7 +13,6 @@
 #define CONFIG_CUSTOMER_BOARD_SUPPORT
 
 #define CONFIG_SKIP_LOWLEVEL_INIT      /* disable board lowlevel_init */
-#define CONFIG_BOARD_LATE_INIT
 
 /*
  * TEXT_BASE needs to be below 16MiB, since this area is scrubbed
index 0735ab22157638e0710274ee31224a646132ae3e..213883ef0f416cf8706ee55184a9e1797faeefe0 100644 (file)
  */
 #define CONFIG_SYS_TCLK                200000000       /* 200MHz */
 
-/*
- * Commands configuration
- */
-
 /* I2C */
 #define CONFIG_SYS_I2C
 #define CONFIG_SYS_I2C_MVTWSI
index f06853b74efe0ae29cc25f1e0cc8ead7fb98b17e..fe9a7ab563510ee8f608b39fd7f117d5e4c0ed72 100644 (file)
 
 #define CONFIG_SYS_TCLK                200000000       /* 200MHz */
 
-/*
- * Commands configuration
- */
-
 /* USB/EHCI configuration */
 #define CONFIG_EHCI_IS_TDI
 
index 26c2240dbec133fba516bc73189a35b589c610b4..d4207be1d3f11686d11a8098372230a6e98be713 100644 (file)
 
 #define CONFIG_SYS_TCLK                250000000       /* 250MHz */
 
-/*
- * Commands configuration
- */
-
 /* I2C */
 #define CONFIG_SYS_I2C
 #define CONFIG_SYS_I2C_MVTWSI
index efb3cfee3529e40727a744b34371a89b4ddddee9..5bfdf4044beeee9d517c4886c0db08ed08e10966 100644 (file)
@@ -32,8 +32,6 @@
 #define CONFIG_INITRD_TAG
 #define CONFIG_REVISION_TAG
 
-#define CONFIG_BZIP2
-
 /* Size of malloc() pool */
 #define CONFIG_SYS_MALLOC_LEN          (4 * SZ_1M)
 
index 6600b94ac3a76ce2df7b376b5b1c3071c673761e..2e5dbfedc8943380ea892a8a83ad0d7900185756 100644 (file)
@@ -10,9 +10,7 @@
 #include "mx6_common.h"
 
 /* Falcon Mode */
-#define CONFIG_CMD_SPL
 #define CONFIG_SYS_SPL_ARGS_ADDR       0x18000000
-#define CONFIG_CMD_SPL_WRITE_SIZE      (44 * SZ_1K)
 
 /* Falcon Mode - MMC support */
 #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR  0x3F00
index 41079e834549d5c677e9942a383427604c21d4d8..62107625e2567e8c5b8039d2b78281d3723f72e1 100644 (file)
 #define CONFIG_KW88F6281               /* SOC Name */
 #define CONFIG_SKIP_LOWLEVEL_INIT      /* disable board lowlevel_init */
 
-/*
- * Commands configuration
- */
-
-/*
- * mv-common.h should be defined after CMD configs since it used them
- * to enable certain macros
- */
 #include "mv-common.h"
 
 /* Remove or override few declarations from mv-common.h */
index fbe431b9c9a49d1507391159fdbab68e315a176b..14cd82f5a3e6cf276a0e8ac6b364ec0ff32d57eb 100644 (file)
@@ -48,7 +48,6 @@
 #endif
 
 #ifdef CONFIG_SPL_BUILD
-#undef CONFIG_CMD_BOOTD
 #ifdef CONFIG_SPL_DFU
 #define CONFIG_SPL_LOAD_FIT_ADDRESS 0x80200000
 #define DFUARGS \
index 3e3f4c17f8b3f0cdd8973080d0ba1edee8b8a754..09bac0177902c973d841f32be7351a38736da923 100644 (file)
 #define CONFIG_SHEEVA_88SV131  1       /* CPU Core subversion */
 #define CONFIG_MACH_TYPE       MACH_TYPE_DREAMPLUG
 
-/*
- * Commands configuration
- */
-
-/*
- * mv-plug-common.h should be defined after CMD configs since it used them
- * to enable certain macros
- */
 #include "mv-plug-common.h"
 
 /*
index 594cc82234bc9d56e6ef9d7522f2f6a79118ab9d..1f033ababf6ee34c0e10ff84b1f081e109f2736d 100644 (file)
  */
 #define CONFIG_SHEEVA_88SV131  1       /* CPU Core subversion */
 
-/*
- * Commands configuration
- */
-#define CONFIG_CMD_EXT2
-
-/*
- * mv-plug-common.h should be defined after CMD configs since it used them
- * to enable certain macros
- */
 #include "mv-plug-common.h"
 
 /*
index b179b99468ea56840a34e3a5b3a4ccc3f0e690e9..a92e788a38b9ed895f95be6846c514c6317fe7a3 100644 (file)
  */
 #define CONFIG_SYS_TCLK                250000000       /* 250MHz */
 
-/*
- * Commands configuration
- */
-
 /* I2C */
 #define CONFIG_SYS_I2C
 #define CONFIG_SYS_I2C_MVTWSI
index d441f28d4afece709e9cd13d39189e907d15b2d9..3dab93418a2fdba9eb4c6bea9f4ad3eb9b69957f 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 #define CONFIG_MCFTMR
 
 #define        CONFIG_SYS_CBSIZE       1024    /* Console I/O Buffer Size      */
index cfee974045230c92fe3a1f2e55f20e0fea7f355c..9de054306fd5929ba798fd3c6dcbb3a04d944e6d 100644 (file)
 #define CONFIG_SETUP_MEMORY_TAGS 1     /* enable memory tag */
 
 #define        CONFIG_SYS_CBSIZE       1024    /* Console I/O Buff Size */
-/*
- * Commands configuration
- */
 
 /*
  * Network
index e40be93ca78c0867274a0fe514c7ad5bcc7b295c..47c5974b2ed80ff773c5ebe6fdc2b736c4d02943 100644 (file)
 #define CONFIG_HIDE_LOGO_VERSION
 #define CONFIG_IMX_HDMI
 #define CONFIG_IMX_VIDEO_SKIP
-#define CONFIG_CMD_BMP
 
 #define CONFIG_IMX6_PWM_PER_CLK        66000000
 
index afd48d5ad046722776d0595d0b54c0e4df33e044..51325047ecda5c9a9221b7ba34bd388f499099c4 100644 (file)
 #define MV88E1116_RGMII_TXTM_CTRL       (1 << 4)
 #define MV88E1116_RGMII_RXTM_CTRL       (1 << 5)
 
-/*
- * Commands configuration
- */
-
-/*
- * mv-common.h should be defined after CMD configs since it used them
- * to enable certain macros
- */
 #include "mv-common.h"
 
 /*
index 2f66af344725762fa6cc366c8180c62958ce3e74..a0554d7f8e5b047785784d96f3cacc14137b7d6a 100644 (file)
  */
 #define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_TEXT_BASE - 0x00200000)
 
-/*
- * Commands configuration
- */
-
 /* Network configuration */
 #ifdef CONFIG_CMD_NET
 #define CONFIG_ARMADA100_FEC
index 768f4ebcbb8d639d14dfc5d8ab624fc4b5ad4285..1e1e5da4d52f79f78336f5a58a52875d1b831264 100644 (file)
@@ -17,7 +17,6 @@
 /*
  * Standard filesystems
  */
-#define CONFIG_BZIP2
 
 /*
  * mv-plug-common.h should be defined after CMD configs since it used them
index bf4b3b297eee41b53f395afca136d5ae5f94aaec..5b8f2420d69d844848128d3a25a3c7cb4de88fc5 100644 (file)
 #define CONFIG_POWER_LTC3676_I2C_ADDR  0x3c
 
 /* Various command support */
-#define CONFIG_CMD_UNZIP         /* gzwrite */
 
 /* Ethernet support */
 #define CONFIG_FEC_MXC
index 671c3d291d3acf7d979c445f2f3921c698ca239b..31e2e78b62e62a913cd524456f1d271290f0ab69 100644 (file)
  */
 #define CONFIG_SYS_TCLK                250000000       /* 250MHz */
 
-/*
- * Commands configuration
- */
-
 /*
  * SDIO/MMC Card Configuration
  */
index 76add4eba8e1521f47bea18eb5f58c6018ebd19a..bdbaa475d204d0acbdf05d68593fc40afa8b6435 100644 (file)
 
 #define CONFIG_CALXEDA_XGMAC
 
-/*
- * Command line configuration.
- */
-
 #define CONFIG_BOOT_RETRY_TIME         -1
 #define CONFIG_RESET_TO_RETRY
 
index 2732c019c426736a180703cb4b96816d94492d32..70cd682ca957f44ffeef69bd8b8325c24602524d 100644 (file)
@@ -55,8 +55,6 @@
 
 #define CONFIG_HIKEY_GPIO
 
-/* Command line configuration */
-
 /* BOOTP options */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
index 76c4ee9777282225ba9b52a5305c71e422ff484b..ea8d54a3070cad5e956143cb34c47aa0a3558733 100644 (file)
@@ -354,10 +354,6 @@ void fpga_control_clear(unsigned int bus, int pin);
 #define CONFIG_LOADS_ECHO      1       /* echo on for serial download */
 #define CONFIG_SYS_LOADS_BAUD_CHANGE   1       /* allow baudrate change */
 
-/*
- * Command line configuration.
- */
-
 /*
  * Miscellaneous configurable options
  */
index 4628108075edbb747e83fb9c09b4d035ab910127..5678f0a77bb7eba2ce652f233c6b70cacf05cd0d 100644 (file)
@@ -115,6 +115,5 @@ setenv core_iccm_3 0x6; setenv core_dccm_3 0x6;\0"
 /*
  * Callback configuration
  */
-#define CONFIG_BOARD_LATE_INIT
 
 #endif /* _CONFIG_HSDK_H_ */
index 7735cc172080eeed852f279dbf6c4d048823bada..3cc3b8c0ae2c0524302caceb3badfcffd48aaa3d 100644 (file)
@@ -114,6 +114,5 @@ setenv core_iccm_3 0x6; setenv core_dccm_3 0x6;\0"
 /*
  * Callback configuration
  */
-#define CONFIG_BOARD_LATE_INIT
 
 #endif /* _CONFIG_HSDK_H_ */
index 71738bfb7d8e7851c27c80cb1f24fca8dd8425f9..41483a2f7e4098f22c9acfa6f518ebc7084b62f6 100644 (file)
 #define CONFIG_KW88F6281               /* SOC Name */
 #define CONFIG_SKIP_LOWLEVEL_INIT      /* disable board lowlevel_init */
 
-/*
- * Compression configuration
- */
-#define CONFIG_BZIP2
-
-/*
- * Commands configuration
- */
-
-/*
- * mv-common.h should be defined after CMD configs since it used them
- * to enable certain macros
- */
 #include "mv-common.h"
 
 /*
index a694b2e92be90e4e0b3031a0f160133a9adb0470..c99490b85dc65d9a93e381d33cb8bfe0548abf2b 100644 (file)
  */
 #define CONFIG_MACH_TYPE       MACH_TYPE_ICONNECT
 
-/*
- * Compression configuration
- */
-#define CONFIG_BZIP2
-
-/*
- * Commands configuration
- */
-
-/*
- * mv-common.h should be defined after CMD configs since it used them
- * to enable certain macros
- */
 #include "mv-common.h"
 
 /*
index 72ae89c5f6e3ffe6c5b7fcbb3f0a08b63570eaf8..4c7a0cb0bb71d5f73111b366966fc2724b32eb7f 100644 (file)
 #ifdef CONFIG_SPL_OS_BOOT
 # define CONFIG_SPL_FS_LOAD_ARGS_NAME  "args"
 # define CONFIG_SPL_FS_LOAD_KERNEL_NAME        "uImage"
-# define CONFIG_CMD_SPL
 # define CONFIG_SYS_SPL_ARGS_ADDR      0x18000000
-# define CONFIG_CMD_SPL_WRITE_SIZE     (128 * SZ_1K)
 
 /* MMC support: args@1MB kernel@2MB */
 # define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR         0x800   /* 1MB */
index d4a613d0ada6450c6ca7ff04c97164689bdb4bf2..d70c6dbc23ad0adacd2fa2d3c00eb09aa8b68db0 100644 (file)
@@ -60,9 +60,7 @@
 /* Falcon */
 #define CONFIG_SPL_FS_LOAD_ARGS_NAME   "args"
 #define CONFIG_SPL_FS_LOAD_KERNEL_NAME "uImage"
-#define CONFIG_CMD_SPL
 #define CONFIG_SYS_SPL_ARGS_ADDR       0x13000000
-#define CONFIG_CMD_SPL_WRITE_SIZE      (128 * SZ_1K)
 
 /* MMC support: args@1MB kernel@2MB */
 #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR          0x800   /* 1MB */
index 94183269cd678773522cdab066bd9e1bc4859d8e..f71efd45abdb891f6bf6b4306952530eab8612fd 100644 (file)
 #define CONFIG_REMAKE_ELF
 
 #define CONFIG_BOARD_EARLY_INIT_F
-#define CONFIG_BOARD_LATE_INIT
-
-#undef CONFIG_CMD_EXPORTENV
-#undef CONFIG_CMD_IMPORTENV
-#undef CONFIG_CMD_IMLS
-
-#undef CONFIG_CMD_CRC32
 
 /* ENET Config */
 /* ENET1 */
 #if defined(CONFIG_CMD_NET)
-#define CONFIG_CMD_PING
-#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_MII
 #define CONFIG_MII
 #define CONFIG_ETHPRIME                 "FEC"
 
 
 #define CONFIG_MXC_GPIO
 
-#define CONFIG_CMD_FUSE
-
 /* I2C Configs */
 #define CONFIG_SYS_I2C_SPEED             100000
 
index 72edbc74ec1988a8a6b2b54eb1659f9056132eae..6d038f21b74faea03491ed2f1629ae2e6587a81b 100644 (file)
 
 #define CONFIG_BOARD_EARLY_INIT_F
 
-#undef CONFIG_CMD_EXPORTENV
-#undef CONFIG_CMD_IMPORTENV
-#undef CONFIG_CMD_IMLS
-
-#undef CONFIG_CMD_CRC32
-
 /* ENET Config */
 /* ENET1 */
 #if defined(CONFIG_CMD_NET)
-#define CONFIG_CMD_PING
-#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_MII
 #define CONFIG_MII
 #define CONFIG_ETHPRIME                 "FEC"
 
 
 #define CONFIG_MXC_GPIO
 
-#define CONFIG_CMD_FUSE
-
 /* I2C Configs */
 #define CONFIG_SYS_I2C_SPEED             100000
 
index d7dd3e21a39bc73ca8abe5e9b30e785fd3fb2f14..8324767eb557dafc19f92f8c803d9e982171ff83 100644 (file)
 /* Flat Device Tree Definitions */
 #define CONFIG_OF_BOARD_SETUP
 
-#undef CONFIG_CMD_EXPORTENV
-#undef CONFIG_CMD_IMPORTENV
-#undef CONFIG_CMD_IMLS
-
-#undef CONFIG_CMD_CRC32
-
 #define CONFIG_SYS_FSL_ESDHC_ADDR       0
 #define USDHC1_BASE_ADDR                0x5B010000
 #define USDHC2_BASE_ADDR                0x5B020000
index eebb8dc0117a674b5cb1783b215aa6f4c1df67f5..89d7adabea84d758f53f6b3b09842dced8af64c7 100644 (file)
@@ -30,7 +30,6 @@
 
 #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
 /* FUSE command */
-#define CONFIG_CMD_FUSE
 
 /* Boot M4 */
 #define M4_BOOT_ENV \
index a2046e1bebaf957d496eedd8985a4b2eeba5f1c8..a58f68c17e6cbc6be4c4ffdb97cff523100f6a04 100644 (file)
 /* Flat Device Tree Definitions */
 #define CONFIG_OF_BOARD_SETUP
 
-#undef CONFIG_CMD_EXPORTENV
-#undef CONFIG_CMD_IMPORTENV
-#undef CONFIG_CMD_IMLS
-
-#undef CONFIG_CMD_CRC32
-
 #define CONFIG_SYS_FSL_ESDHC_ADDR       0
 #define USDHC1_BASE_ADDR                0x5B010000
 #define USDHC2_BASE_ADDR                0x5B020000
 
 #ifndef CONFIG_DM_PCA953X
 #define CONFIG_PCA953X
-#define CONFIG_CMD_PCA953X
-#define CONFIG_CMD_PCA953X_INFO
 #endif
 
 /* Networking */
index f15e08f397632773cf5e1238f74fd18057073b2e..cc18347ff6ce6501c27a7574bcd1589f49950e5a 100644 (file)
@@ -24,9 +24,6 @@
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
 #define CONFIG_BOOTCOMMAND     ""
 
 /* Flash settings */
index d8a474db2e5b7e7869f9bb6ae8321bce2ff94c1b..c4203ce57e116945be8be190bacbc6edae68e7e3 100644 (file)
@@ -27,9 +27,6 @@
 #define CONFIG_SMC91111_BASE    0xC8000000
 #undef CONFIG_SMC91111_EXT_PHY
 
-/*
- * Command line configuration.
- */
 #define CONFIG_BOOTCOMMAND "tftpboot ; bootm"
 #define CONFIG_SERVERIP 192.168.1.100
 #define CONFIG_IPADDR 192.168.1.104
index 869e0ad6b82ee097f2d1a759eb5b30d4041d0937..86cc4b6d30133f0f408d75999489b046d3f8d649 100644 (file)
@@ -12,7 +12,6 @@
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
 #define CONFIG_CHIP_SELECTS_PER_CTRL   1
 #define CONFIG_SYS_SDRAM_SIZE          0x40000000
-#define CONFIG_CMD_MEMINFO
 
 /*  MMC  */
 #ifdef CONFIG_MMC
@@ -30,7 +29,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_CMD_MEMINFO
 
 #undef CONFIG_EXTRA_ENV_SETTINGS
 #define CONFIG_EXTRA_ENV_SETTINGS              \
index 54ea43420ff09f2c39e4d42f1fd107649e131b76..f8cb97bd126aa61e48c9d506f6f0c21b4867dad7 100644 (file)
@@ -13,7 +13,6 @@
 #define CONFIG_CHIP_SELECTS_PER_CTRL   1
 #define CONFIG_SYS_SDRAM_SIZE          0x20000000
 #define CONFIG_CHIP_SELECTS_PER_CTRL   1
-#define CONFIG_CMD_MEMINFO
 
 #ifndef CONFIG_SPL_BUILD
 #undef BOOT_TARGET_DEVICES
@@ -70,6 +69,4 @@
 #define CONFIG_BOOTCOMMAND "pfe stop;run distro_bootcmd;run qspi_bootcmd"
 #endif
 
-#define CONFIG_CMD_MEMINFO
-
 #endif /* __LS1012ARDB_H__ */
index 1ea6548015d726fce91d476f85e3c86ce6e9f7aa..2e20e11377d6d3aaefa5eb89597a4bfacf038ad1 100644 (file)
@@ -21,7 +21,6 @@
 #define SYS_SDRAM_SIZE_512             0x20000000
 #define SYS_SDRAM_SIZE_1024            0x40000000
 #define CONFIG_CHIP_SELECTS_PER_CTRL   1
-#define CONFIG_CMD_MEMINFO
 
 /* ENV */
 #define CONFIG_SYS_FSL_QSPI_BASE       0x40000000
 #define CONFIG_BOOTCOMMAND "pfe stop; run distro_bootcmd; run sd_bootcmd; "\
                           "env exists secureboot && esbc_halt;"
 #endif
-#define CONFIG_CMD_MEMINFO
 
 #include <asm/fsl_secure_boot.h>
 
index 99840dcfc4fc779f9a5bcdeb35d1d8326f694f9a..9498a03f405b0af745e2953c01cc8d26d4bf7dec 100644 (file)
@@ -12,7 +12,6 @@
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
 #define CONFIG_CHIP_SELECTS_PER_CTRL   1
 #define CONFIG_SYS_SDRAM_SIZE          0x40000000
-#define CONFIG_CMD_MEMINFO
 
 /*
  * QIXIS Definitions
 
 #define CONFIG_PCI_SCAN_SHOW
 
-#define CONFIG_CMD_MEMINFO
-
 #include <asm/fsl_secure_boot.h>
 #endif /* __LS1012AQDS_H__ */
index 8fb75650e2cbca38d53ced4efb67e18b00a9fa07..7eb1ec9366a786da7b119e2a02d61e908d115cf5 100644 (file)
@@ -13,7 +13,6 @@
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
 #define CONFIG_CHIP_SELECTS_PER_CTRL   1
 #define CONFIG_SYS_SDRAM_SIZE          0x40000000
-#define CONFIG_CMD_MEMINFO
 
 /*
  * I2C IO expander
@@ -49,8 +48,6 @@
 
 #define CONFIG_PCI_SCAN_SHOW
 
-#define CONFIG_CMD_MEMINFO
-
 #undef CONFIG_EXTRA_ENV_SETTINGS
 #define CONFIG_EXTRA_ENV_SETTINGS              \
        "verify=no\0"                           \
index 6e94a2a4c9aa688693d030d4d8162d56bf2676ae..59d65f88917b8a2ec2c5fbd3a043d0e8578a47cd 100644 (file)
@@ -97,7 +97,6 @@
 /*
  * I2C
  */
-#define CONFIG_CMD_I2C
 
 #ifndef CONFIG_DM_I2C
 #define CONFIG_SYS_I2C
 
 /* DM SPI */
 #if defined(CONFIG_FSL_DSPI) || defined(CONFIG_FSL_QSPI)
-#define CONFIG_CMD_SF
 #define CONFIG_DM_SPI_FLASH
 #endif
 
 #define CONFIG_PCI_SCAN_SHOW
 #endif
 
-#define CONFIG_CMD_MII
-
 #define CONFIG_CMDLINE_TAG
 
 #define CONFIG_PEN_ADDR_BIG_ENDIAN
  */
 #define CONFIG_SYS_BOOTMAPSZ           (256 << 20)
 
-#define CONFIG_CMD_GREPENV
-#define CONFIG_CMD_MEMINFO
-
 #define CONFIG_SYS_LOAD_ADDR           0x82000000
 
 #define CONFIG_LS102XA_STREAM_ID
index b91016987b2145f99c697b8bb644384293c0a8a4..7bb740f48e362d487773a9783ebeab41012b96b2 100644 (file)
@@ -77,9 +77,6 @@
 #define CONFIG_SCSI_AHCI_PLAT
 
 #define CONFIG_SYS_SATA1                       AHCI_BASE_ADDR1
-#ifndef CONFIG_CMD_EXT2
-#define CONFIG_CMD_EXT2
-#endif
 #define CONFIG_SYS_SCSI_MAX_SCSI_ID            1
 #define CONFIG_SYS_SCSI_MAX_LUN                        1
 #define CONFIG_SYS_SCSI_MAX_DEVICE             (CONFIG_SYS_SCSI_MAX_SCSI_ID * \
index 0f289cb0780d9aa57b1509b68b3df6d884ca4894..07450113269c685c2d16c10dad19fee1f12c3041 100644 (file)
@@ -59,9 +59,6 @@
 #endif
 
 /* SATA */
-#ifndef CONFIG_CMD_EXT2
-#define CONFIG_CMD_EXT2
-#endif
 #define CONFIG_SYS_SCSI_MAX_SCSI_ID            1
 #define CONFIG_SYS_SCSI_MAX_LUN                        1
 #define CONFIG_SYS_SCSI_MAX_DEVICE             (CONFIG_SYS_SCSI_MAX_SCSI_ID * \
index 985f40412c679d5c54a1390a46ce4c5ed1a66138..b18eab51ed1d6789d3804cbccaf2af22eef44304 100644 (file)
 #endif
 #endif
 
-/* Command line configuration */
-
 /*  MMC  */
 #ifndef SPL_NO_MMC
 #ifdef CONFIG_MMC
index 4ad51f15cb718da73f8ce6c9364fda5a2acbdbfc..bfaa574fc9598626ca5e3120da483cd43585b780 100644 (file)
@@ -35,7 +35,6 @@
 
 #ifdef CONFIG_SD_BOOT
 #define CONFIG_SYS_FSL_PBL_RCW board/freescale/ls1043ardb/ls1043ardb_rcw_sd.cfg
-#define CONFIG_CMD_SPL
 #define CONFIG_SYS_SPL_ARGS_ADDR       0x90000000
 #define CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR        0x10000
 #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR  0x500
 
 /* SATA */
 #ifndef SPL_NO_SATA
-#ifndef CONFIG_CMD_EXT2
-#define CONFIG_CMD_EXT2
-#endif
 #define CONFIG_SYS_SCSI_MAX_SCSI_ID            2
 #define CONFIG_SYS_SCSI_MAX_LUN                        2
 #define CONFIG_SYS_SCSI_MAX_DEVICE             (CONFIG_SYS_SCSI_MAX_SCSI_ID * \
index 24db23b3c37b3ad936ccebd400c504536f63f7bb..8fe6937dfbc602bdc3077c8db96e411e5ee829e2 100644 (file)
                                                CONFIG_SYS_SCSI_MAX_LUN)
 #endif
 
-/* Command line configuration */
-
 /* MMC */
 #ifndef SPL_NO_MMC
 #ifdef CONFIG_MMC
index a7373429ba73fd23bb305c81f8eb1ddb0db2d9b6..596f14bf3e9e771cd2715522385b51d282ba0666 100644 (file)
  */
 #define CPU_RELEASE_ADDR               secondary_boot_func
 
-#ifdef CONFIG_PCI
-#define CONFIG_CMD_PCI
-#endif
-
 /* Size of malloc() pool */
 #define CONFIG_SYS_MALLOC_LEN          (CONFIG_ENV_SIZE + 2048 * 1024)
 
@@ -143,8 +139,6 @@ unsigned long long get_qixis_addr(void);
 #if defined(CONFIG_FSL_MC_ENET)
 #define CONFIG_SYS_LS_MC_DRAM_BLOCK_MIN_SIZE           (128UL * 1024 * 1024)
 #endif
-/* Command line configuration */
-#define CONFIG_CMD_CACHE
 
 /* Miscellaneous configurable options */
 #define CONFIG_SYS_LOAD_ADDR   (CONFIG_SYS_DDR_SDRAM_BASE + 0x10000000)
index 2bc910a3fc85e3134462e05a8fe16a41be5f1c99..1e9e6a8f96ea43d0218230fb00541d52cad5bf96 100644 (file)
@@ -29,7 +29,6 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_QIXIS_I2C_ACCESS
 #define SYS_NO_FLASH
 
-#undef CONFIG_CMD_IMLS
 #define CONFIG_SYS_CLK_FREQ            100000000
 #define CONFIG_DDR_CLK_FREQ            100000000
 #else
@@ -150,7 +149,6 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_SYS_NAND_BASE_LIST      { CONFIG_SYS_NAND_BASE }
 #define CONFIG_SYS_MAX_NAND_DEVICE     1
 #define CONFIG_MTD_NAND_VERIFY_WRITE
-#define CONFIG_CMD_NAND
 
 #define CONFIG_SYS_NAND_BLOCK_SIZE     (128 * 1024)
 
@@ -367,8 +365,6 @@ unsigned long get_board_ddr_clk(void);
 #endif
 #endif
 
-#define CONFIG_CMD_MEMINFO
-
 #ifdef CONFIG_SPL_BUILD
 #define CONFIG_SYS_MONITOR_BASE CONFIG_SPL_TEXT_BASE
 #else
index 475207358f759335305d2d84aa952099dda42786..16e0486d40399de923cb2440b56179104b5ff1b2 100644 (file)
@@ -16,7 +16,6 @@
 #define CONFIG_QIXIS_I2C_ACCESS
 #endif
 #define SYS_NO_FLASH
-#undef CONFIG_CMD_IMLS
 #endif
 
 #define CONFIG_SYS_CLK_FREQ            100000000
 #define CONFIG_SYS_NAND_BASE_LIST      { CONFIG_SYS_NAND_BASE }
 #define CONFIG_SYS_MAX_NAND_DEVICE     1
 #define CONFIG_MTD_NAND_VERIFY_WRITE
-#define CONFIG_CMD_NAND
 
 #define CONFIG_SYS_NAND_BLOCK_SIZE     (128 * 1024)
 
 #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS      3
 #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS  5
 
-#define CONFIG_CMD_MEMINFO
-
 #ifdef CONFIG_SPL_BUILD
 #define CONFIG_SYS_MONITOR_BASE CONFIG_SPL_TEXT_BASE
 #else
index b58776a788b1a39d4c02be451d7cca534ab6a82a..410872dfd86508d58dd97ab5998bac307d9e8197 100644 (file)
@@ -149,8 +149,6 @@ unsigned long long get_qixis_addr(void);
 #define CONFIG_SYS_LS_MC_DRAM_BLOCK_MIN_SIZE           (128UL * 1024 * 1024)
 #endif
 
-/* Command line configuration */
-
 /* Miscellaneous configurable options */
 #define CONFIG_SYS_LOAD_ADDR   (CONFIG_SYS_DDR_SDRAM_BASE + 0x10000000)
 
index faa74c613fbd175858ad010fc0b5770e080f9b90..0c0ab2486e23c1e9c4fa3da6056d57f9c860e0e0 100644 (file)
 
 #define CONFIG_KIRKWOOD_GPIO
 
-/*
- * Commands configuration
- */
-
-/*
- * mv-common.h should be defined after CMD configs since it used them
- * to enable certain macros
- */
 #include "mv-common.h"
 
 /* loading initramfs images without uimage header */
index 9cc13052cc75f5dcc43f70de8c042eaa15675d0e..0c2185c529f7c880fa96178a233d277336bca8a1 100644 (file)
  */
 #define CONFIG_SYS_TCLK                250000000       /* 250MHz */
 
-/*
- * Commands configuration
- */
-
 /* I2C */
 #define CONFIG_SYS_I2C
 #define CONFIG_SYS_I2C_MVTWSI
index ee942a48fc8817010f41d9f111b435228dde259d..0c383e94cc0242fa69b52ed0ba124e6b6aef7f77 100644 (file)
@@ -28,7 +28,6 @@
 /* Size of malloc() pool */
 #define CONFIG_SYS_MALLOC_LEN          (10 * SZ_1M)
 
-#define CONFIG_BOARD_LATE_INIT
 #define CONFIG_MXC_UART_BASE           UART1_BASE
 
 /* MMC Configuration */
index d6b21f11c39a695c350618aaea48388e46986416..74bfcee9f0a4a89d8516e79889b06ca848b01536 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 /*
  * Miscellaneous configurable options
  */
index 683d442e75b4d6b0beaf54dd940ae61a9635dbdc..a7be85422a2b2f3d4c3ddc207e85238f2398c572 100644 (file)
@@ -81,7 +81,6 @@
 
 /* Fuse API support */
 #define CONFIG_FSL_IIM
-#define CONFIG_CMD_FUSE
 
 /* Ethernet Configs */
 
index c32f02635b6ff9c4213b662135616abca83eeaf3..bb6d82d32749548aefd3ecc7dfc73f1a3363a488 100644 (file)
@@ -20,7 +20,6 @@
 /* Size of malloc() pool */
 #define CONFIG_SYS_MALLOC_LEN          (10 * 1024 * 1024)
 
-#define CONFIG_BOARD_LATE_INIT
 #define CONFIG_REVISION_TAG
 
 /* USB Configs */
 /* FLASH and environment organization */
 #define CONFIG_SYS_MMC_ENV_DEV 0
 
-#define CONFIG_CMD_FUSE
 #define CONFIG_FSL_IIM
 
 #define CONFIG_BCH
index 3d79a7e43765aebed657f3a33526b1ed4bd6423e..b774b167f648da7d78835ba62deb4a93e95dde3c 100644 (file)
 #include "mx6_common.h"
 #include "imx6_spl.h"
 
-#undef CONFIG_MMC
-#undef CONFIG_SPL_MMC_SUPPORT
-#undef CONFIG_GENERIC_MMC
-#undef CONFIG_CMD_FUSE
-
 #define CONFIG_SYS_MALLOC_LEN          (64 * 1024 * 1024)
 
 #define CONFIG_MXC_UART
index f7f940447944f6641788beb44bc91430afcb3cd2..78bdfab5a6a55990cdcdbc0ac196ff22c45278cb 100644 (file)
@@ -88,9 +88,5 @@
 #define CONFIG_SYS_INIT_SP_ADDR \
        (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
 
-#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
-#define CONFIG_CMD_CACHE
-#endif
-
 #define CONFIG_MXC_USB_PORTSC          (PORT_PTS_UTMI | PORT_PTS_PTW)
 #endif /* __CONFIG_H */
index 9216b0948c0f204ee3324ee945460133fe9898df..942b7dd41483dd78c028264ddd88ecc8a410ea1e 100644 (file)
 #define CONFIG_SYS_INIT_SP_ADDR \
        (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
 
-#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
-#define CONFIG_CMD_CACHE
-#endif
-
 #endif /* __CONFIG_H */
index 5251db9389cc31024b863f08fec736ddfdca6894..b95c7fc3be776b20780982292f28ddc2822fc2dd 100644 (file)
 #define MV88E1116_RGMII_TXTM_CTRL      (1 << 4)
 #define MV88E1116_RGMII_RXTM_CTRL      (1 << 5)
 
-/*
- * Commands configuration
- */
-
-/*
- * mv-common.h should be defined after CMD configs since it used them
- * to enable certain macros
- */
 #include "mv-common.h"
 
 /*
index e59ef11e66a70de3bae033ebacf90dcb3cea7cdf..13812c43a122da97be67098c4fbdfa5d67833935 100644 (file)
 #define CONFIG_KW88F6702               1       /* SOC Name */
 #define CONFIG_SKIP_LOWLEVEL_INIT      /* disable board lowlevel_init */
 
-/* compression configuration */
-#define CONFIG_BZIP2
-
-/* commands configuration */
-
-/*
- * mv-common.h should be defined after CMD configs since it used them
- * to enable certain macros
- */
 #include "mv-common.h"
 
 /* environment variables configuration */
index 5c59cabc08859de65c3dfd9477cd287f4d8319a1..e9fd0fc749ba63f58aa784b6d96987112baff70a 100644 (file)
 #define CONFIG_KW88F6281       1       /* SOC Name */
 #define CONFIG_SKIP_LOWLEVEL_INIT      /* disable board lowlevel_init */
 
-/*
- * Commands configuration
- */
-
-/*
- * mv-common.h should be defined after CMD configs since it used them
- * to enable certain macros
- */
 #include "mv-common.h"
 
 /*
index 78a1a86431ce4ac8d887e59ad470c5d48a987dfd..d524f3cbcf01e7c1e787b0d1e31e79966fcc6c90 100644 (file)
@@ -16,7 +16,6 @@
 
 #define MACH_TYPE_PDU001       5075
 #define CONFIG_MACH_TYPE       MACH_TYPE_PDU001
-#define CONFIG_BOARD_LATE_INIT
 
 /* Clock Defines */
 #define V_OSCK                 24000000  /* Clock output from T2 */
index d4a7de7df6a24b42ebfe007331e6b04a30136f32..4162a71ca6610d521306cb082fa5e8f67028172f 100644 (file)
 #define CONFIG_SYS_I2C_MXC_I2C1                /* enable I2C bus 0 */
 #define CONFIG_SYS_I2C_SPEED             100000
 
-#ifndef CONFIG_SPL_BUILD
-#define CONFIG_CMD_NAND
 /* Enable NAND support */
-#define CONFIG_CMD_NAND_TRIMFFS
 #define CONFIG_SYS_MAX_NAND_DEVICE     1
 #define CONFIG_SYS_NAND_BASE           0x40000000
 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
 #define CONFIG_SYS_NAND_ONFI_DETECTION
-#endif
 
 /* DMA stuff, needed for GPMI/MXS NAND support */
 
index f4da38a7dbe56fda10421e568d9b20d4cbc5a5b7..2ae13b30ee53cdb800ba4653151f7e37b8f08f7c 100644 (file)
 #define CONFIG_REMAKE_ELF
 
 #define CONFIG_BOARD_EARLY_INIT_F
-#define CONFIG_BOARD_LATE_INIT
-
-#undef CONFIG_CMD_EXPORTENV
-#undef CONFIG_CMD_IMPORTENV
-#undef CONFIG_CMD_IMLS
-
-#undef CONFIG_CMD_CRC32
 
 /* ENET Config */
 /* ENET1 */
 #if defined(CONFIG_CMD_NET)
-#define CONFIG_CMD_PING
-#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_MII
 #define CONFIG_MII
 #define CONFIG_ETHPRIME                        "FEC"
 
 
 #define CONFIG_MXC_GPIO
 
-#define CONFIG_CMD_FUSE
-
 /* I2C Configs */
 #define CONFIG_SYS_I2C_SPEED           100000
 
index 771fd8db97f2089abbdbe681a837cbb4abfa08bc..2747c0cb9307a7d776ddb230642ac7f1eafdafa7 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 /* SDRAM */
 #define PHYS_SDRAM_1           ATMEL_BASE_CS1  /* on DDRSDRC1 */
 #define PHYS_SDRAM_1_SIZE      0x08000000      /* 128 MB */
index bb24739a90836820b40e9569a972d8f32ece4c5c..cbe5022297e6b6ef7e4ac7f832925a8ef890e62e 100644 (file)
 #define CONFIG_KW88F6281               /* SOC Name */
 #define CONFIG_SKIP_LOWLEVEL_INIT      /* disable board lowlevel_init */
 
-/*
- * Commands configuration
- */
-
-/*
- * mv-common.h should be defined after CMD configs since it used them
- * to enable certain macros
- */
 #include "mv-common.h"
 
 /*
index 81c7f251bcca9c5968c0e913c6f7751ce659b26a..2c7dc8bab61897c6a64c8e0d826c56c5164fe905 100644 (file)
@@ -52,7 +52,6 @@
                        BOOTENV
 
 
-/* Command line configuration */
 #define CONFIG_SYS_MMC_ENV_DEV         0
 
 /* Monitor Command Prompt */
index 4227a280c75a82b26b60dafa1eb2088e33fab14f..e96118a0cfbd5256abd01eac7bfa73ec7984f999 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 #define CONFIG_DRIVER_NE2000
 #define CONFIG_DRIVER_NE2000_BASE      0xb4000300
 
index 801ba76b3ecc92e89a7994854ee64258b3b3a65d..676e7c1a15a217d525281c9bb30f918f7fee324c 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 #define CONFIG_DRIVER_NE2000
 #define CONFIG_DRIVER_NE2000_BASE      0xffffffffb4000300
 
index cfbd472c821f5c4ede457e87766acdc0452bbbbb..03b08968f662ec50c4a6f3814c38398ed1ffa55c 100644 (file)
@@ -107,10 +107,6 @@ extern unsigned long long get_phys_ccsrbar_addr_early(void);
 
 #define CONFIG_LOADS_ECHO              /* echo on for serial download */
 
-/*
- * Command line configuration.
- */
-
 /*
  * Miscellaneous configurable options
  */
index d4cbc3532e1eac3d0e960e4117683cfdb9fe1593..59fe22289cff90a6c3b50749564c50347a7e8ef5 100644 (file)
 
 #include <configs/rk3399_common.h>
 
-#if defined(CONFIG_ENV_IS_IN_MMC)
-# define CONFIG_SYS_MMC_ENV_DEV                0
-#endif
-
 #define SDRAM_BANK_SIZE                        (2UL << 30)
 
 #endif
index 37a08b2c00f6e2eb355d964d45be9aa4b70598e2..903e9df527c1fc777af9eecd9b5d8cfb0710913d 100644 (file)
@@ -13,8 +13,6 @@
 
 #include <configs/rk3399_common.h>
 
-#define CONFIG_SYS_MMC_ENV_DEV 0
-
 #define SDRAM_BANK_SIZE                        (2UL << 30)
 
 #define CONFIG_USB_OHCI_NEW
index 5821d21688f53af2815a903b95e1136c86c44700..5c6692c1999cffc8aed4875830ec53e69bad7e86 100644 (file)
@@ -35,7 +35,6 @@
 #define CONFIG_SKIP_LOWLEVEL_INIT
 
 /* Config CACHE */
-#define CONFIG_CMD_CACHE
 
 #define CONFIG_SYS_FULL_VA
 
 #define CONFIG_SYS_FSL_ESDHC_ADDR      USDHC_BASE_ADDR
 #define CONFIG_SYS_FSL_ESDHC_NUM       1
 
-/* #define CONFIG_CMD_EXT2 EXT2 Support */
-
 #if 0
 
 /* Ethernet config */
-#define CONFIG_CMD_MII
 #define CONFIG_FEC_MXC
 #define IMX_FEC_BASE            ENET_BASE_ADDR
 #define CONFIG_FEC_XCV_TYPE     RMII
index 73432010985af3eb091c90d8d18091aa7cf73536..8e98254e2d39b53bb431218ede0c14c8c08f2f62 100644 (file)
@@ -28,7 +28,6 @@
 #define CONFIG_SYS_LOAD_ADDR           0x22000000 /* load address */
 
 /* NAND flash */
-#undef CONFIG_CMD_NAND
 
 /* SPI flash */
 
index 17028ca1456c9f57d41e980787fd61d48a93f6ff..2d1ba757fe74a160615dc6b86a525b49e800ff4d 100644 (file)
@@ -30,7 +30,6 @@
 #define CONFIG_SYS_LOAD_ADDR           0x22000000 /* load address */
 
 /* NAND flash */
-#undef CONFIG_CMD_NAND
 
 /* SPI flash */
 #define CONFIG_SF_DEFAULT_SPEED                66000000
index 484a15df797b60ffc958aca415d224e39d09e6cc..2a81f3a9bc02e5024cd1b107918e42f119556256 100644 (file)
@@ -8,7 +8,6 @@
 
 #ifdef FTRACE
 #define CONFIG_TRACE
-#define CONFIG_CMD_TRACE
 #define CONFIG_TRACE_BUFFER_SIZE       (16 << 20)
 #define CONFIG_TRACE_EARLY_SIZE                (16 << 20)
 #define CONFIG_TRACE_EARLY
index 55b9a3c1822db10b3a7cd11755fe1ae24096a1ec..5adf5a8ca408de4d79c8b241a783948312bff251 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 #undef CONFIG_WATCHDOG                 /* watchdog disabled */
 
 /*
index ed5e284077dbccc50847fda6d061dce20e7ec4b2..e1f8fb8ac84b088720d28f0bb6b62a00252b595d 100644 (file)
  */
 #define CONFIG_FEROCEON_88FR131        1       /* CPU Core subversion */
 
-/*
- * Commands configuration
- */
-
-/*
- * Standard filesystems
- */
-#define CONFIG_BZIP2
-
-/*
- * mv-plug-common.h should be defined after CMD configs since it used them
- * to enable certain macros
- */
 #include "mv-plug-common.h"
 
 /*
index 2756ed5a77f3bdaf170e464756d5ca50e9d5e2d9..72c841eb9bf90fc8d4de0361afdee3bab5c58e05 100644 (file)
 
 #include <linux/sizes.h>
 
+#ifdef CONFIG_SPL
+
+#define CONFIG_SPL_MAX_SIZE            0x00100000
+#define CONFIG_SPL_BSS_START_ADDR      0x85000000
+#define CONFIG_SPL_BSS_MAX_SIZE                0x00100000
+#define CONFIG_SYS_SPL_MALLOC_START    (CONFIG_SPL_BSS_START_ADDR + \
+                                        CONFIG_SPL_BSS_MAX_SIZE)
+#define CONFIG_SYS_SPL_MALLOC_SIZE     0x00100000
+
+#define CONFIG_SPL_LOAD_FIT_ADDRESS    0x84000000
+
+#define CONFIG_SPL_STACK       (0x08000000 + 0x001D0000 - \
+                                GENERATED_GBL_DATA_SIZE)
+
+#endif
+
 #define CONFIG_SYS_SDRAM_BASE          0x80000000
 #define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_SDRAM_BASE + SZ_2M)
 
 
 /* Environment options */
 
+#ifndef CONFIG_SPL_BUILD
 #define BOOT_TARGET_DEVICES(func) \
        func(MMC, mmc, 0) \
        func(DHCP, dhcp, na)
 
 #include <config_distro_bootcmd.h>
 
+#define TYPE_GUID_LOADER1      "5B193300-FC78-40CD-8002-E86C45580B47"
+#define TYPE_GUID_LOADER2      "2E54B353-1271-4842-806F-E436D6AF6985"
+#define TYPE_GUID_SYSTEM       "0FC63DAF-8483-4772-8E79-3D69D8477DE4"
+
+#define PARTS_DEFAULT \
+       "name=loader1,start=17K,size=1M,type=${type_guid_gpt_loader1};" \
+       "name=loader2,size=4MB,type=${type_guid_gpt_loader2};" \
+       "name=system,size=-,bootable,type=${type_guid_gpt_system};"
+
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "fdt_high=0xffffffffffffffff\0" \
        "initrd_high=0xffffffffffffffff\0" \
        "scriptaddr=0x88100000\0" \
        "pxefile_addr_r=0x88200000\0" \
        "ramdisk_addr_r=0x88300000\0" \
+       "type_guid_gpt_loader1=" TYPE_GUID_LOADER1 "\0" \
+       "type_guid_gpt_loader2=" TYPE_GUID_LOADER2 "\0" \
+       "type_guid_gpt_system=" TYPE_GUID_SYSTEM "\0" \
+       "partitions=" PARTS_DEFAULT "\0" \
        BOOTENV
 
 #define CONFIG_PREBOOT \
        "setenv fdt_addr ${fdtcontroladdr};" \
        "fdt addr ${fdtcontroladdr};"
+#endif
 
 #endif /* __CONFIG_H */
index be36e9f586922956324ab0a86cd00d7d29f0d313..fcd35b715ce1275f335ee1836006bc9ec8b7f699 100644 (file)
@@ -99,8 +99,4 @@
 /* U-Boot memory settings */
 #define CONFIG_SYS_MALLOC_LEN          (1 << 20)
 
-/* Command line configuration */
-#define CONFIG_CMD_MII
-#define CONFIG_CMD_CACHE
-
 #endif /* __CONFIG_H */
index 85c68cdee65d78378d0b8c64d4e07a7fe02dbbe0..c3f81ff4915567774e92742431a95c0366b38e60 100644 (file)
@@ -29,8 +29,6 @@
 #define CONFIG_SYS_FSL_USDHC_NUM       1
 #endif /* CONFIG_FSL_USDHC */
 
-#define CONFIG_CMD_READ
-
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "bootm_size=0x10000000\0" \
        "console=ttymxc0\0" \
index f393aa0264668beb974c043098e9317b7f6797d3..169b9efeec8d3a8662d5ce19c9dfe9040202f51c 100644 (file)
@@ -44,7 +44,6 @@
                        BOOTENV
 
 /* Extra Commands */
-#define CONFIG_CMD_ASKENV
 
 #define CONFIG_SETUP_MEMORY_TAGS
 
index a8b3a173096f810ed7f9dc47f7b0a2357ef14725..9d029fbcc6f04f035315c7f6ea2ab7876958cb45 100644 (file)
@@ -44,8 +44,4 @@
        "bootcmd_romfs=setenv bootargs ${bootargs} ${bootargs_romfs};" \
        "bootm 0x08044000 - 0x08042000\0"
 
-/*
- * Command line configuration.
- */
-
 #endif /* __CONFIG_H */
index a7150312caa360530049ac589ef4c123a6a53dd7..8390535af0af99ae8a21070af6015d4f288dcb28 100644 (file)
@@ -51,8 +51,4 @@
                        "ramdisk_addr_r=0x00438000\0"           \
                        BOOTENV
 
-/*
- * Command line configuration.
- */
-
 #endif /* __CONFIG_H */
index 8212fb63de077e63d289252cedc506d816a78cc8..57fb6b25afd2a67b257445a0a18434a583514ecb 100644 (file)
@@ -51,8 +51,4 @@
                        "ramdisk_addr_r=0x00438000\0"           \
                        BOOTENV
 
-/*
- * Command line configuration.
- */
-
 #endif /* __CONFIG_H */
index 529152f60c87df27f71b8abeef0fe8395872c002..f7a713dd22ad990374d6ce639cd3880fc29c4718 100644 (file)
                        "ramdisk_addr_r=0xC0438000\0"           \
                        BOOTENV
 
-/*
- * Command line configuration.
- */
-#define CONFIG_BOARD_LATE_INIT
 #define CONFIG_DISPLAY_BOARDINFO
 
 /* For SPL */
index 39c93ee6f9f3492042360a87cbc75fff98f915f1..afc98ae791b46b88bd8fd7bf80de618f33cc5d69 100644 (file)
@@ -45,9 +45,4 @@
                        "ramdisk_addr_r=0xD0438000\0"           \
                        BOOTENV
 
-/*
- * Command line configuration.
- */
-#define CONFIG_BOARD_LATE_INIT
-
 #endif /* __CONFIG_H */
index 8eb94c1ad41f07072ad03a3fab5789e03e594511..66af8f50d903f00cac998c8d150a24bb125b2c14 100644 (file)
@@ -45,9 +45,4 @@
                        "ramdisk_addr_r=0xD0438000\0"           \
                        BOOTENV
 
-/*
- * Command line configuration.
- */
-#define CONFIG_BOARD_LATE_INIT
-
 #endif /* __CONFIG_H */
index 4ad3401c04def2ba27b0a7a661d22fbe53a5eed9..f860865b7c4731fa273174be783f428982940554 100644 (file)
@@ -387,10 +387,6 @@ void fpga_control_clear(unsigned int bus, int pin);
 #define CONFIG_LOADS_ECHO      1       /* echo on for serial download */
 #define CONFIG_SYS_LOADS_BAUD_CHANGE   1       /* allow baudrate change */
 
-/*
- * Command line configuration.
- */
-
 /*
  * Miscellaneous configurable options
  */
index 976d527a08850438b4330292627bd610d6941c1f..3da7ee7b3a6f4fd1babfdcf65fdcdec71fd4d1ff 100644 (file)
 #define CONFIG_LOADS_ECHO              /* echo on for serial download */
 #define CONFIG_SYS_LOADS_BAUD_CHANGE   /* allow baudrate change */
 
-/*
- * Command line configuration.
- */
-
 /*
  * Miscellaneous configurable options
  */
index ae545206963a0a7e5316d48e7cf7c5ac286e84e0..f42b0df1cf63f85e5d8c91bb77f5f7466498fdc4 100644 (file)
 #define ETH0_BASE_ADDRESS              0xFE100000
 #define ETH1_BASE_ADDRESS              0xFE110000
 
-/*
- * Command line configuration
- */
-
 /*
  * Environment configuration
  */
index 0a1261fa20174d4e16ee0159e7ec0ee87ccab84f..141d4d61f8454eb9b3286c2c7936ac37bfe95337 100644 (file)
@@ -19,7 +19,6 @@
 
 #define VIDEO_IO_OFFSET                                0
 #define CONFIG_X86EMU_RAW_IO
-#define CONFIG_CMD_BMP
 #define CONFIG_BMP_16BPP
 
 /* Environment settings */
index 6d42ec1aa1943fd1a5ee30cd5a9e5ec209426661..0e5bd0dbbf79464e6c03f6498d5b4e4e7e750231 100644 (file)
  */
 #define CONFIG_SYS_TCLK                250000000       /* 250MHz */
 
-/*
- * Commands configuration
- */
-
 /*
  * The debugging version enables USB support via defconfig.
  * This version should also enable all other non-production
index 1d3b2a392237962dbe3c4e279440da662158eb23..d16d61e5cdb2d58f890d6bbfd18a0506f073150f 100644 (file)
@@ -28,8 +28,6 @@
 #define V_OSCK          24000000    /* Clock output from T2 */
 #define V_SCLK          (V_OSCK >> 1)
 
-#define CONFIG_CMD_ASKENV
-
 #define CONFIG_MAX_RAM_BANK_SIZE       (2048 << 20)    /* 2048MB */
 #define CONFIG_SYS_SDRAM_BASE          0x80000000
 
index 0e4a824c4242ac269e4454d53cea4d57047c7904..6e3953835d15bee877c25198b411dcfd3ac77af1 100644 (file)
 #define CONFIG_SPL_MAX_FOOTPRINT       CONFIG_SYS_SPI_U_BOOT_OFFS
 #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME     "u-boot.img"
 
-/* sspi command isn't useful */
-#undef CONFIG_CMD_SPI
-
-/* No useful gpio */
-#undef CONFIG_ZYNQ_GPIO
-#undef CONFIG_CMD_GPIO
-
 /* No falcon support */
 #undef CONFIG_SPL_OS_BOOT
 #undef CONFIG_SPL_FPGA_SUPPORT
index 75e745806753ae50943e2b52bdf52ef4dc26c1fd..f25f6dccb5c37a378c2a4bde126d6e7dc20e8198 100644 (file)
@@ -52,6 +52,4 @@
  * Diagnostics
  */
 
-#define CONFIG_CMD_MII
-
 #endif  /* __CONFIG_H */
index 81b171ea1688f624dfc5fd70c5a2c9669aa1948f..91249f2eb4823fa6d390074e3edca40b48ea76a1 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
 /*
  * Miscellaneous configurable options
  */
index c11507e5502710c0e354405fac34eea7e6c4f151..3f578720e594d35cafa8d4af2ae683cdf678bc9b 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
 #define CONFIG_SYS_RTC_BUS_NUM  0x01
 #define CONFIG_SYS_I2C_RTC_ADDR        0x32
 
index c3521cac419417657d01c5250d208ec0d05f867f..4d8b4a03e1a799333318d8edd77a19f0917c0657 100644 (file)
@@ -29,9 +29,7 @@
 /* Falcon Mode */
 #define CONFIG_SPL_FS_LOAD_ARGS_NAME   "args"
 #define CONFIG_SPL_FS_LOAD_KERNEL_NAME "uImage"
-#define CONFIG_CMD_SPL
 #define CONFIG_SYS_SPL_ARGS_ADDR       0x0ffe5000
-#define CONFIG_CMD_SPL_WRITE_SIZE      (128 * SZ_1K)
 
 /* Falcon Mode - MMC support: args@16MB kernel@17MB */
 #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR          0x8000  /* 16MB */
index aecf2737f8aa27f0592649e7d4057d6b4fa2f546..d256ce8e4b9b03bb2fc3376ad199591fbdd73d9f 100644 (file)
@@ -50,7 +50,6 @@
 #define CONFIG_SYS_NAND_READY_PIN   AT91_PIN_PD5
 
 #define CONFIG_RBTREE
-#define CONFIG_LZO
 
 /* Ethernet */
 #define CONFIG_MACB
index 9081f416605ef3492f9ef7ee39ec06b4718cc62a..7e0f2c24d943d8643760a3cdfa24c6f87171d399 100644 (file)
 
 #define CONFIG_CONS_INDEX      1       /*Console on UART0 */
 
-/*
- * Commands configuration
- */
-#define CONFIG_CMD_PCI
-
 /* NAND */
 #define CONFIG_SYS_NAND_ONFI_DETECTION
 #define CONFIG_SYS_MAX_NAND_DEVICE 1
 
 /* NAND */
 #define CONFIG_SYS_NAND_ONFI_DETECTION
-#define CONFIG_CMD_UBI
-#define CONFIG_CMD_UBIFS
-#define CONFIG_LZO
-#define CONFIG_CMD_MTDPARTS
 
 #define CONFIG_SYS_MALLOC_LEN          (4 << 20)
 
index 016b797a534ecca7822f17705aa8b9aa8dba5e02..bd62798d2665414d021c164d30361262a9f8c694 100644 (file)
@@ -18,8 +18,6 @@
 
 #define CONFIG_LMB
 
-#undef CONFIG_ZLIB
-#undef CONFIG_GZIP
 #define CONFIG_SYS_BOOTM_LEN           (16 << 20)
 
 /* SATA AHCI storage */
  */
 #define CONFIG_SYS_NS16550_PORT_MAPPED
 
-/*-----------------------------------------------------------------------
- * Command line configuration.
- */
-
 #ifndef CONFIG_BOOTCOMMAND
 #define CONFIG_BOOTCOMMAND     \
        "ext2load scsi 0:3 01000000 /boot/vmlinuz; zboot 01000000"
index da640d6f14dcb02462853794fe9372876f442f8d..1276612503d453d1901a96e08a6b0292efd289e6 100644 (file)
@@ -27,7 +27,6 @@
 #endif
 
 /* Serial setup */
-#define CONFIG_ARM_DCC
 #define CONFIG_CPU_ARMV8
 
 #define CONFIG_SYS_BAUDRATE_TABLE \
index ae7eca11553f6958446e2b2a553e7eba53181877..0b201a2b4d69d097c1779b93652c1978821c3dde 100644 (file)
@@ -17,9 +17,6 @@
 
 /* Undef unneeded configs */
 #undef CONFIG_EXTRA_ENV_SETTINGS
-#undef CONFIG_ZLIB
-#undef CONFIG_GZIP
-#undef CONFIG_CMD_ENV
 
 /* BOOTP options */
 #undef CONFIG_BOOTP_BOOTFILESIZE
index b744a91fa60fc173a98e70da8625e78cc1b62cda..e868c13416578bbd2acddbf801c833424f00462c 100644 (file)
@@ -30,7 +30,6 @@
 #define CONFIG_SYS_MALLOC_LEN          (CONFIG_ENV_SIZE + 0x2000000)
 
 /* Serial setup */
-#define CONFIG_ARM_DCC
 #define CONFIG_CPU_ARMV8
 
 #define CONFIG_SYS_BAUDRATE_TABLE \
 #endif
 
 #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_DFU)
-# undef CONFIG_CMD_BOOTD
 # define CONFIG_SPL_ENV_SUPPORT
 # define CONFIG_SPL_HASH_SUPPORT
 # define CONFIG_ENV_MAX_ENTRIES        10
index 3078b9c55b529507bd9a1b4e0264285aaa57e531..ae751aa3953e0fce1adc4cd38c4a6b0c2087941c 100644 (file)
@@ -19,9 +19,6 @@
 #undef CONFIG_BOOTCOMMAND
 #undef CONFIG_EXTRA_ENV_SETTINGS
 #undef CONFIG_SYS_MALLOC_LEN
-#undef CONFIG_ZLIB
-#undef CONFIG_GZIP
-#undef CONFIG_CMD_ENV
 #undef CONFIG_SYS_INIT_SP_ADDR
 
 /* BOOTP options */
index e76c5cbe6b855553d7a3462821f3b04db117c81f..15bd97f2100cf6d5ba7d16477c53c69b4659c65f 100644 (file)
  */
 #define CONFIG_BOOTP_BOOTFILESIZE
 
-/*
- * Command line configuration.
- */
-
-/*
- * Additional command
- */
-
 /*
  * USB
  */
index 9e83e177752502587a3e9809d4263fbad5e77a3f..59e77f6eccfdbc53c4eda5d8e61edfaa6a9570a3 100644 (file)
@@ -33,8 +33,6 @@
 #define CONFIG_SYS_BAUDRATE_TABLE  \
        {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
 
-#define CONFIG_ARM_DCC
-
 /* Ethernet driver */
 #if defined(CONFIG_ZYNQ_GEM)
 # define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
index 917f35b24c5f2d5339497a03518b9ee5433b1570..0491cf51361c9763248c3c6819913f4ca2a769c6 100644 (file)
@@ -15,8 +15,6 @@
 
 /* Undef unneeded configs */
 #undef CONFIG_EXTRA_ENV_SETTINGS
-#undef CONFIG_ZLIB
-#undef CONFIG_GZIP
 
 #undef CONFIG_SYS_CBSIZE
 
index 9533df26dc9e60bad72f0c21f47fa2ef1cd61439..c2cae814b652eba95579ae344fa271cce1223068 100644 (file)
@@ -708,7 +708,8 @@ struct efi_load_option {
        const u8 *optional_data;
 };
 
-void efi_deserialize_load_option(struct efi_load_option *lo, u8 *data);
+efi_status_t efi_deserialize_load_option(struct efi_load_option *lo, u8 *data,
+                                        efi_uintn_t *size);
 unsigned long efi_serialize_load_option(struct efi_load_option *lo, u8 **data);
 efi_status_t efi_bootmgr_load(efi_handle_t *handle);
 
index 20b6d60dd880b08e9376fe2cc9bd4e8d62672a85..6a107d52e073498e443e5adc17cdd9dd102ecd63 100644 (file)
@@ -2,6 +2,7 @@
 #ifndef _LINUX_DMA_MAPPING_H
 #define _LINUX_DMA_MAPPING_H
 
+#include <asm/cache.h>
 #include <linux/dma-direction.h>
 #include <linux/types.h>
 #include <asm/dma-mapping.h>
index 0b23f57a71b34f502f8801dcaa11d6f3158e2fd2..d9b2af856c08feb18adda8934452483800f83bb4 100644 (file)
@@ -34,19 +34,6 @@ struct dm_spi_flash_ops {
        int (*write)(struct udevice *dev, u32 offset, size_t len,
                     const void *buf);
        int (*erase)(struct udevice *dev, u32 offset, size_t len);
-       /**
-        * get_sw_write_prot() - Check state of software write-protect feature
-        *
-        * SPI flash chips can lock a region of the flash defined by a
-        * 'protected area'. This function checks if this protected area is
-        * defined.
-        *
-        * @dev:        SPI flash device
-        * @return 0 if no region is write-protected, 1 if a region is
-        *      write-protected, -ENOSYS if the driver does not implement this,
-        *      other -ve value on error
-        */
-       int (*get_sw_write_prot)(struct udevice *dev);
 };
 
 /* Access the serial operations for a device */
@@ -88,20 +75,6 @@ int spi_flash_write_dm(struct udevice *dev, u32 offset, size_t len,
  */
 int spi_flash_erase_dm(struct udevice *dev, u32 offset, size_t len);
 
-/**
- * spl_flash_get_sw_write_prot() - Check state of software write-protect feature
- *
- * SPI flash chips can lock a region of the flash defined by a
- * 'protected area'. This function checks if this protected area is
- * defined.
- *
- * @dev:       SPI flash device
- * @return 0 if no region is write-protected, 1 if a region is
- *     write-protected, -ENOSYS if the driver does not implement this,
- *     other -ve value on error
- */
-int spl_flash_get_sw_write_prot(struct udevice *dev);
-
 /**
  * spi_flash_std_probe() - Probe a SPI flash device
  *
index f18bf3778b9eae882b1703fff0912177663efb92..af5c38afd98b29a05024a7108369fcc1f27ce362 100644 (file)
@@ -162,7 +162,7 @@ config LIB_RAND
        bool "Pseudo-random library support"
 
 config LIB_HW_RAND
-       bool "HW Engine for random libray support"
+       bool "HW Engine for random library support"
 
 endchoice
 
@@ -448,7 +448,7 @@ config ZSTD
 config SPL_LZ4
        bool "Enable LZ4 decompression support in SPL"
        help
-         This enables support for tge LZ4 decompression algorithm in SPL. LZ4
+         This enables support for the LZ4 decompression algorithm in SPL. LZ4
          is a lossless data compression algorithm that is focused on
          fast compression and decompression speed. It belongs to the LZ77
          family of byte-oriented compression schemes.
@@ -456,7 +456,7 @@ config SPL_LZ4
 config SPL_LZMA
        bool "Enable LZMA decompression support for SPL build"
        help
-         This enables support for LZMA compression altorithm for SPL boot.
+         This enables support for LZMA compression algorithm for SPL boot.
 
 config SPL_LZO
        bool "Enable LZO decompression support in SPL"
index 6e688afa68684959f97239c62afc4756202b6dc5..dc5761966c4373eed9f23aee1191faef41591d2b 100644 (file)
@@ -30,7 +30,6 @@ obj-y += charset.o
 endif
 endif
 obj-$(CONFIG_USB_TTY) += circbuf.o
-obj-y += crc7.o
 obj-y += crc8.o
 obj-y += crc16.o
 obj-$(CONFIG_ERRNO_STR) += errno_str.o
@@ -90,6 +89,7 @@ obj-y += errno.o
 obj-y += display_options.o
 CFLAGS_display_options.o := $(if $(BUILD_TAG),-DBUILD_TAG='"$(BUILD_TAG)"')
 obj-$(CONFIG_BCH) += bch.o
+obj-$(CONFIG_MMC_SPI) += crc7.o
 obj-y += crc32.o
 obj-$(CONFIG_CRC32C) += crc32c.o
 obj-y += ctype.o
index b112f5d81efdb99acbf8dc8d5ca5905cecd22fe6..e144b3e7f43b13ea63192586e8570880d45395c3 100644 (file)
@@ -36,24 +36,50 @@ static const struct efi_runtime_services *rs;
  *
  * @lo:                pointer to target
  * @data:      serialized data
+ * @size:      size of the load option, on return size of the optional data
+ * Return:     status code
  */
-void efi_deserialize_load_option(struct efi_load_option *lo, u8 *data)
+efi_status_t efi_deserialize_load_option(struct efi_load_option *lo, u8 *data,
+                                        efi_uintn_t *size)
 {
+       efi_uintn_t len;
+
+       len = sizeof(u32);
+       if (*size < len + 2 * sizeof(u16))
+               return EFI_INVALID_PARAMETER;
        lo->attributes = get_unaligned_le32(data);
-       data += sizeof(u32);
+       data += len;
+       *size -= len;
 
+       len = sizeof(u16);
        lo->file_path_length = get_unaligned_le16(data);
-       data += sizeof(u16);
+       data += len;
+       *size -= len;
 
-       /* FIXME */
        lo->label = (u16 *)data;
-       data += (u16_strlen(lo->label) + 1) * sizeof(u16);
-
-       /* FIXME */
+       len = u16_strnlen(lo->label, *size / sizeof(u16) - 1);
+       if (lo->label[len])
+               return EFI_INVALID_PARAMETER;
+       len = (len + 1) * sizeof(u16);
+       if (*size < len)
+               return EFI_INVALID_PARAMETER;
+       data += len;
+       *size -= len;
+
+       len = lo->file_path_length;
+       if (*size < len)
+               return EFI_INVALID_PARAMETER;
        lo->file_path = (struct efi_device_path *)data;
-       data += lo->file_path_length;
+        /*
+         * TODO: validate device path. There should be an end node within
+         * the indicated file_path_length.
+         */
+       data += len;
+       *size -= len;
 
        lo->optional_data = data;
+
+       return EFI_SUCCESS;
 }
 
 /**
@@ -168,7 +194,11 @@ static efi_status_t try_load_entry(u16 n, efi_handle_t *handle)
        if (!load_option)
                return EFI_LOAD_ERROR;
 
-       efi_deserialize_load_option(&lo, load_option);
+       ret = efi_deserialize_load_option(&lo, load_option, &size);
+       if (ret != EFI_SUCCESS) {
+               log_warning("Invalid load option for %ls\n", varname);
+               goto error;
+       }
 
        if (lo.attributes & LOAD_OPTION_ACTIVE) {
                u32 attributes;
index db349381965765ee2cc5e81ed687b990aa799d19..1591ad830078ff04080ce244a8ebcede307c7dbe 100644 (file)
@@ -49,7 +49,7 @@ static efi_handle_t current_image;
  * restriction so we need to manually swap its and our view of that register on
  * EFI callback entry/exit.
  */
-static volatile void *efi_gd, *app_gd;
+static volatile gd_t *efi_gd, *app_gd;
 #endif
 
 /* 1 if inside U-Boot code, 0 if inside EFI payload code */
@@ -89,7 +89,7 @@ int __efi_entry_check(void)
 #ifdef CONFIG_ARM
        assert(efi_gd);
        app_gd = gd;
-       gd = efi_gd;
+       set_gd(efi_gd);
 #endif
        return ret;
 }
@@ -99,7 +99,7 @@ int __efi_exit_check(void)
 {
        int ret = --entry_count == 0;
 #ifdef CONFIG_ARM
-       gd = app_gd;
+       set_gd(app_gd);
 #endif
        return ret;
 }
@@ -123,7 +123,7 @@ void efi_restore_gd(void)
        /* Only restore if we're already in EFI context */
        if (!efi_gd)
                return;
-       gd = efi_gd;
+       set_gd(efi_gd);
 #endif
 }
 
@@ -2920,7 +2920,7 @@ efi_status_t EFIAPI efi_start_image(efi_handle_t image_handle,
                 * otherwise __efi_entry_check() will put the wrong value into
                 * app_gd.
                 */
-               gd = app_gd;
+               set_gd(app_gd);
 #endif
                /*
                 * To get ready to call EFI_EXIT below we have to execute the
index ac0dec1146f63d5af338113365a00d529074840a..426de779517c9896aa15b0d8e029b5f49906d3de 100644 (file)
@@ -80,13 +80,13 @@ static int term_get_char(s32 *c)
        return 0;
 }
 
-/*
+/**
  * Receive and parse a reply from the terminal.
  *
  * @n:         array of return values
  * @num:       number of return values expected
  * @end_char:  character indicating end of terminal message
- * @return:    non-zero indicates error
+ * Return:     non-zero indicates error
  */
 static int term_read_reply(int *n, int num, char end_char)
 {
@@ -127,6 +127,17 @@ static int term_read_reply(int *n, int num, char end_char)
        return 0;
 }
 
+/**
+ * efi_cout_output_string() - write Unicode string to console
+ *
+ * This function implements the OutputString service of the simple text output
+ * protocol. See the Unified Extensible Firmware Interface (UEFI) specification
+ * for details.
+ *
+ * @this:      simple text output protocol
+ * @string:    u16 string
+ * Return:     status code
+ */
 static efi_status_t EFIAPI efi_cout_output_string(
                        struct efi_simple_text_output_protocol *this,
                        const efi_string_t string)
@@ -202,6 +213,20 @@ out:
        return EFI_EXIT(ret);
 }
 
+/**
+ * efi_cout_test_string() - test writing Unicode string to console
+ *
+ * This function implements the TestString service of the simple text output
+ * protocol. See the Unified Extensible Firmware Interface (UEFI) specification
+ * for details.
+ *
+ * As in OutputString we simply convert UTF-16 to UTF-8 there are no unsupported
+ * code points and we can always return EFI_SUCCESS.
+ *
+ * @this:      simple text output protocol
+ * @string:    u16 string
+ * Return:     status code
+ */
 static efi_status_t EFIAPI efi_cout_test_string(
                        struct efi_simple_text_output_protocol *this,
                        const efi_string_t string)
@@ -210,6 +235,15 @@ static efi_status_t EFIAPI efi_cout_test_string(
        return EFI_EXIT(EFI_SUCCESS);
 }
 
+/**
+ * cout_mode_matches() - check if mode has given terminal size
+ *
+ * @mode:      text mode
+ * @rows:      number of rows
+ * @cols:      number of columns
+ * Return:     true if number of rows and columns matches the mode and
+ *             the mode is present
+ */
 static bool cout_mode_matches(struct cout_mode *mode, int rows, int cols)
 {
        if (!mode->present)
@@ -221,6 +255,9 @@ static bool cout_mode_matches(struct cout_mode *mode, int rows, int cols)
 /**
  * query_console_serial() - query console size
  *
+ * When using a serial console or the net console we can only devise the
+ * terminal size by querying the terminal using ECMA-48 control sequences.
+ *
  * @rows:      pointer to return number of rows
  * @cols:      pointer to return number of columns
  * Returns:    0 on success
@@ -261,8 +298,8 @@ out:
        return ret;
 }
 
-/*
- * Update the mode table.
+/**
+ * query_console_size() - update the mode table.
  *
  * By default the only mode available is 80x25. If the console has at least 50
  * lines, enable mode 80x50. If we can query the console size and it is neither
@@ -306,6 +343,20 @@ static void query_console_size(void)
        }
 }
 
+
+/**
+ * efi_cout_query_mode() - get terminal size for a text mode
+ *
+ * This function implements the QueryMode service of the simple text output
+ * protocol. See the Unified Extensible Firmware Interface (UEFI) specification
+ * for details.
+ *
+ * @this:              simple text output protocol
+ * @mode_number:       mode number to retrieve information on
+ * @columns:           number of columns
+ * @rows:              number of rows
+ * Return:             status code
+ */
 static efi_status_t EFIAPI efi_cout_query_mode(
                        struct efi_simple_text_output_protocol *this,
                        unsigned long mode_number, unsigned long *columns,
@@ -341,7 +392,17 @@ static const struct {
        { 37, 47 },     /* 7: light gray, map to white */
 };
 
-/* See EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.SetAttribute(). */
+/**
+ * efi_cout_set_attribute() - set fore- and background color
+ *
+ * This function implements the SetAttribute service of the simple text output
+ * protocol. See the Unified Extensible Firmware Interface (UEFI) specification
+ * for details.
+ *
+ * @this:      simple text output protocol
+ * @attribute: foreground color - bits 0-3, background color - bits 4-6
+ * Return:     status code
+ */
 static efi_status_t EFIAPI efi_cout_set_attribute(
                        struct efi_simple_text_output_protocol *this,
                        unsigned long attribute)
@@ -364,9 +425,9 @@ static efi_status_t EFIAPI efi_cout_set_attribute(
 /**
  * efi_cout_clear_screen() - clear screen
  *
- * This function implements the ClearScreen service of the
- * EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL. See the Unified Extensible Firmware
- * Interface (UEFI) specification for details.
+ * This function implements the ClearScreen service of the simple text output
+ * protocol. See the Unified Extensible Firmware Interface (UEFI) specification
+ * for details.
  *
  * @this:      pointer to the protocol instance
  * Return:     status code
@@ -387,6 +448,17 @@ static efi_status_t EFIAPI efi_cout_clear_screen(
        return EFI_EXIT(EFI_SUCCESS);
 }
 
+/**
+ * efi_cout_clear_set_mode() - set text model
+ *
+ * This function implements the SetMode service of the simple text output
+ * protocol. See the Unified Extensible Firmware  Interface (UEFI) specification
+ * for details.
+ *
+ * @this:              pointer to the protocol instance
+ * @mode_number:       number of the text mode to set
+ * Return:             status code
+ */
 static efi_status_t EFIAPI efi_cout_set_mode(
                        struct efi_simple_text_output_protocol *this,
                        unsigned long mode_number)
@@ -405,6 +477,17 @@ static efi_status_t EFIAPI efi_cout_set_mode(
        return EFI_EXIT(EFI_SUCCESS);
 }
 
+/**
+ * efi_cout_reset() - reset the terminal
+ *
+ * This function implements the Reset service of the simple text output
+ * protocol. See the Unified Extensible Firmware  Interface (UEFI) specification
+ * for details.
+ *
+ * @this:                      pointer to the protocol instance
+ * @extended_verification:     if set an extended verification may be executed
+ * Return:                     status code
+ */
 static efi_status_t EFIAPI efi_cout_reset(
                        struct efi_simple_text_output_protocol *this,
                        char extended_verification)
@@ -420,6 +503,18 @@ static efi_status_t EFIAPI efi_cout_reset(
        return EFI_EXIT(EFI_SUCCESS);
 }
 
+/**
+ * efi_cout_set_cursor_position() - reset the terminal
+ *
+ * This function implements the SetCursorPosition service of the simple text
+ * output protocol. See the Unified Extensible Firmware  Interface (UEFI)
+ * specification for details.
+ *
+ * @this:      pointer to the protocol instance
+ * @column:    column to move to
+ * @row:       row to move to
+ * Return:     status code
+ */
 static efi_status_t EFIAPI efi_cout_set_cursor_position(
                        struct efi_simple_text_output_protocol *this,
                        unsigned long column, unsigned long row)
@@ -451,6 +546,17 @@ out:
        return EFI_EXIT(ret);
 }
 
+/**
+ * efi_cout_enable_cursor() - enable the cursor
+ *
+ * This function implements the EnableCursor service of the simple text  output
+ * protocol. See the Unified Extensible Firmware  Interface (UEFI) specification
+ * for details.
+ *
+ * @this:      pointer to the protocol instance
+ * @enable:    if true enable, if false disable the cursor
+ * Return:     status code
+ */
 static efi_status_t EFIAPI efi_cout_enable_cursor(
                        struct efi_simple_text_output_protocol *this,
                        bool enable)
@@ -522,7 +628,7 @@ void set_shift_mask(int mod, struct efi_key_state *key_state)
  * This gets called when we have already parsed CSI.
  *
  * @key_state:  receives the state of the shift, alt, control, and logo keys
- * @return:    the unmodified code
+ * Return:     the unmodified code
  */
 static int analyze_modifiers(struct efi_key_state *key_state)
 {
index 5dd601908d524652e41dc5b3813324a62c7f963b..478aaf50d3a61173e17503e51c16778c1acbb2b4 100644 (file)
@@ -212,14 +212,16 @@ static void efi_set_code_and_data_type(
 
 #ifdef CONFIG_EFI_SECURE_BOOT
 /**
- * cmp_pe_section - compare two sections
- * @arg1:      Pointer to pointer to first section
- * @arg2:      Pointer to pointer to second section
+ * cmp_pe_section() - compare virtual addresses of two PE image sections
+ * @arg1:      pointer to pointer to first section header
+ * @arg2:      pointer to pointer to second section header
  *
- * Compare two sections in PE image.
+ * Compare the virtual addresses of two sections of an portable executable.
+ * The arguments are defined as const void * to allow usage with qsort().
  *
- * Return:     -1, 0, 1 respectively if arg1 < arg2, arg1 == arg2 or
- *             arg1 > arg2
+ * Return:     -1 if the virtual address of arg1 is less than that of arg2,
+ *             0 if the virtual addresses are equal, 1 if the virtual address
+ *             of arg1 is greater than that of arg2.
  */
 static int cmp_pe_section(const void *arg1, const void *arg2)
 {
@@ -237,7 +239,7 @@ static int cmp_pe_section(const void *arg1, const void *arg2)
 }
 
 /**
- * efi_image_parse - parse a PE image
+ * efi_image_parse() - parse a PE image
  * @efi:       Pointer to image
  * @len:       Size of @efi
  * @regp:      Pointer to a list of regions
@@ -404,7 +406,7 @@ err:
 }
 
 /**
- * efi_image_unsigned_authenticate - authenticate unsigned image with
+ * efi_image_unsigned_authenticate() - authenticate unsigned image with
  * SHA256 hash
  * @regs:      List of regions to be verified
  *
@@ -451,7 +453,7 @@ out:
 }
 
 /**
- * efi_image_authenticate - verify a signature of signed image
+ * efi_image_authenticate() - verify a signature of signed image
  * @efi:       Pointer to image
  * @efi_size:  Size of @efi
  *
@@ -635,21 +637,18 @@ efi_status_t efi_load_pe(struct efi_loaded_image_obj *handle,
                goto err;
        }
 
-       /* assume sizeof(IMAGE_NT_HEADERS32) <= sizeof(IMAGE_NT_HEADERS64) */
-       if (efi_size < dos->e_lfanew + sizeof(IMAGE_NT_HEADERS32)) {
+       /*
+        * Check if the image section header fits into the file. Knowing that at
+        * least one section header follows we only need to check for the length
+        * of the 64bit header which is longer than the 32bit header.
+        */
+       if (efi_size < dos->e_lfanew + sizeof(IMAGE_NT_HEADERS64)) {
                printf("%s: Invalid offset for Extended Header\n", __func__);
                ret = EFI_LOAD_ERROR;
                goto err;
        }
 
        nt = (void *) ((char *)efi + dos->e_lfanew);
-       if ((nt->OptionalHeader.Magic == IMAGE_NT_OPTIONAL_HDR64_MAGIC) &&
-           (efi_size < dos->e_lfanew + sizeof(IMAGE_NT_HEADERS64))) {
-               printf("%s: Invalid offset for Extended Header\n", __func__);
-               ret = EFI_LOAD_ERROR;
-               goto err;
-       }
-
        if (nt->Signature != IMAGE_NT_SIGNATURE) {
                printf("%s: Invalid NT Signature\n", __func__);
                ret = EFI_LOAD_ERROR;
index adcb8c9cca650f01796fe727520cfd148361dd3a..6685253856acfa60d0d4d510c695c45ab65b8320 100644 (file)
@@ -22,6 +22,7 @@ const efi_guid_t efi_guid_sha256 = EFI_CERT_SHA256_GUID;
 const efi_guid_t efi_guid_cert_rsa2048 = EFI_CERT_RSA2048_GUID;
 const efi_guid_t efi_guid_cert_x509 = EFI_CERT_X509_GUID;
 const efi_guid_t efi_guid_cert_x509_sha256 = EFI_CERT_X509_SHA256_GUID;
+const efi_guid_t efi_guid_cert_type_pkcs7 = EFI_CERT_TYPE_PKCS7_GUID;
 
 #ifdef CONFIG_EFI_SECURE_BOOT
 
index 0a43db56788abf2dcaace97c2b7199915e5eb7e7..e097670e2832bd7b0cab05946f1784790afc81f9 100644 (file)
@@ -26,7 +26,6 @@ enum efi_secure_mode {
        EFI_MODE_DEPLOYED,
 };
 
-const efi_guid_t efi_guid_cert_type_pkcs7 = EFI_CERT_TYPE_PKCS7_GUID;
 static bool efi_secure_boot;
 static int efi_secure_mode;
 static u8 efi_vendor_keys;
index 7b74971f68783205c2dfaab9e5a30f24b72139f4..11790443e1a9fed505220e526009d9b0edf273f6 100644 (file)
@@ -31,6 +31,8 @@ static int smbios_add_string(char *start, const char *str)
 {
        int i = 1;
        char *p = start;
+       if (!*str)
+               str = "Unknown";
 
        for (;;) {
                if (!*p) {
index c2641bc995e85956bdfb9ffb220a92c3a9dbff03..edba36565167b38bffbe2e1f0a09df60b7deb3e9 100755 (executable)
@@ -51,7 +51,7 @@ my %ignore_type = ();
 my @ignore = ();
 my $help = 0;
 my $configuration_file = ".checkpatch.conf";
-my $max_line_length = 80;
+my $max_line_length = 100;
 my $ignore_perl_version = 0;
 my $minimum_perl_version = 5.10.0;
 my $min_conf_desc_length = 4;
@@ -60,10 +60,9 @@ my $codespell = 0;
 my $codespellfile = "/usr/share/codespell/dictionary.txt";
 my $conststructsfile = "$D/const_structs.checkpatch";
 my $typedefsfile = "";
+my $u_boot = 0;
 my $color = "auto";
-my $allow_c99_comments = 1; # Can be overridden by --ignore C99_COMMENT_TOLERANCE
-# git output parsing needs US English output, so first set backtick child process LANGUAGE
-my $git_command ='export LANGUAGE=en_US.UTF-8; git';
+my $allow_c99_comments = 1;
 
 sub help {
        my ($exitcode) = @_;
@@ -96,7 +95,9 @@ Options:
   --types TYPE(,TYPE2...)    show only these comma separated message types
   --ignore TYPE(,TYPE2...)   ignore various comma separated message types
   --show-types               show the specific message type in the output
-  --max-line-length=n        set the maximum line length, if exceeded, warn
+  --max-line-length=n        set the maximum line length, (default $max_line_length)
+                             if exceeded, warn on patches
+                             requires --strict for use with --file
   --min-conf-desc-length=n   set the min description length, if shorter, warn
   --root=PATH                PATH to the kernel tree root
   --no-summary               suppress the per-file summary
@@ -123,6 +124,7 @@ Options:
   --typedefsfile             Read additional types from this file
   --color[=WHEN]             Use colors 'always', 'never', or only when output
                              is a terminal ('auto'). Default is 'auto'.
+  --u-boot                   Run additional checks for U-Boot
   -h, --help, --version      display this help and exit
 
 When FILE is - read standard input.
@@ -227,6 +229,7 @@ GetOptions(
        'codespell!'    => \$codespell,
        'codespellfile=s'       => \$codespellfile,
        'typedefsfile=s'        => \$typedefsfile,
+       'u-boot'        => \$u_boot,
        'color=s'       => \$color,
        'no-color'      => \$color,     #keep old behaviors of -nocolor
        'nocolor'       => \$color,     #keep old behaviors of -nocolor
@@ -470,19 +473,8 @@ our $logFunctions = qr{(?x:
        seq_vprintf|seq_printf|seq_puts
 )};
 
-our $allocFunctions = qr{(?x:
-       (?:(?:devm_)?
-               (?:kv|k|v)[czm]alloc(?:_node|_array)? |
-               kstrdup(?:_const)? |
-               kmemdup(?:_nul)?) |
-       (?:\w+)?alloc_skb(?:ip_align)? |
-                               # dev_alloc_skb/netdev_alloc_skb, et al
-       dma_alloc_coherent
-)};
-
 our $signature_tags = qr{(?xi:
        Signed-off-by:|
-       Co-developed-by:|
        Acked-by:|
        Tested-by:|
        Reviewed-by:|
@@ -588,27 +580,6 @@ foreach my $entry (@mode_permission_funcs) {
 }
 $mode_perms_search = "(?:${mode_perms_search})";
 
-our %deprecated_apis = (
-       "synchronize_rcu_bh"                    => "synchronize_rcu",
-       "synchronize_rcu_bh_expedited"          => "synchronize_rcu_expedited",
-       "call_rcu_bh"                           => "call_rcu",
-       "rcu_barrier_bh"                        => "rcu_barrier",
-       "synchronize_sched"                     => "synchronize_rcu",
-       "synchronize_sched_expedited"           => "synchronize_rcu_expedited",
-       "call_rcu_sched"                        => "call_rcu",
-       "rcu_barrier_sched"                     => "rcu_barrier",
-       "get_state_synchronize_sched"           => "get_state_synchronize_rcu",
-       "cond_synchronize_sched"                => "cond_synchronize_rcu",
-);
-
-#Create a search pattern for all these strings to speed up a loop below
-our $deprecated_apis_search = "";
-foreach my $entry (keys %deprecated_apis) {
-       $deprecated_apis_search .= '|' if ($deprecated_apis_search ne "");
-       $deprecated_apis_search .= $entry;
-}
-$deprecated_apis_search = "(?:${deprecated_apis_search})";
-
 our $mode_perms_world_writable = qr{
        S_IWUGO         |
        S_IWOTH         |
@@ -908,7 +879,7 @@ sub seed_camelcase_includes {
        $camelcase_seeded = 1;
 
        if (-e ".git") {
-               my $git_last_include_commit = `${git_command} log --no-merges --pretty=format:"%h%n" -1 -- include`;
+               my $git_last_include_commit = `git log --no-merges --pretty=format:"%h%n" -1 -- include`;
                chomp $git_last_include_commit;
                $camelcase_cache = ".checkpatch-camelcase.git.$git_last_include_commit";
        } else {
@@ -936,7 +907,7 @@ sub seed_camelcase_includes {
        }
 
        if (-e ".git") {
-               $files = `${git_command} ls-files "include/*.h"`;
+               $files = `git ls-files "include/*.h"`;
                @include_files = split('\n', $files);
        }
 
@@ -960,13 +931,13 @@ sub git_commit_info {
 
        return ($id, $desc) if ((which("git") eq "") || !(-e ".git"));
 
-       my $output = `${git_command} log --no-color --format='%H %s' -1 $commit 2>&1`;
+       my $output = `git log --no-color --format='%H %s' -1 $commit 2>&1`;
        $output =~ s/^\s*//gm;
        my @lines = split("\n", $output);
 
        return ($id, $desc) if ($#lines < 0);
 
-       if ($lines[0] =~ /^error: short SHA1 $commit is ambiguous/) {
+       if ($lines[0] =~ /^error: short SHA1 $commit is ambiguous\./) {
 # Maybe one day convert this block of bash into something that returns
 # all matching commit ids, but it's very slow...
 #
@@ -1010,7 +981,7 @@ if ($git) {
                } else {
                        $git_range = "-1 $commit_expr";
                }
-               my $lines = `${git_command} log --no-color --no-merges --pretty=format:'%H %s' $git_range`;
+               my $lines = `git log --no-color --no-merges --pretty=format:'%H %s' $git_range`;
                foreach my $line (split(/\n/, $lines)) {
                        $line =~ /^([0-9a-fA-F]{40,40}) (.*)$/;
                        next if (!defined($1) || !defined($2));
@@ -1025,7 +996,6 @@ if ($git) {
 }
 
 my $vname;
-$allow_c99_comments = !defined $ignore_type{"C99_COMMENT_TOLERANCE"};
 for my $filename (@ARGV) {
        my $FILE;
        if ($git) {
@@ -2270,6 +2240,41 @@ sub pos_last_openparen {
        return length(expand_tabs(substr($line, 0, $last_openparen))) + 1;
 }
 
+# Checks specific to U-Boot
+sub u_boot_line {
+       my ($realfile, $line,  $herecurr) = @_;
+
+       # ask for a test if a new uclass ID is added
+       if ($realfile =~ /uclass-id.h/ && $line =~ /^\+/) {
+               WARN("NEW_UCLASS",
+                    "Possible new uclass - make sure to add a sandbox driver, plus a test in test/dm/<name>.c\n" . $herecurr);
+       }
+
+       # try to get people to use the livetree API
+       if ($line =~ /^\+.*fdtdec_/) {
+               WARN("LIVETREE",
+                    "Use the livetree API (dev_read_...)\n" . $herecurr);
+       }
+
+       # add tests for new commands
+       if ($line =~ /^\+.*do_($Ident)\(struct cmd_tbl.*/) {
+               WARN("CMD_TEST",
+                    "Possible new command - make sure you add a test\n" . $herecurr);
+       }
+
+       # use if instead of #if
+       if ($line =~ /^\+#if.*CONFIG.*/) {
+               WARN("PREFER_IF",
+                    "Use 'if (IS_ENABLED(CONFIG...))' instead of '#if or #ifdef' where possible\n" . $herecurr);
+       }
+
+       # use defconfig to manage CONFIG_CMD options
+       if ($line =~ /\+\s*#\s*(define|undef)\s+(CONFIG_CMD\w*)\b/) {
+               ERROR("DEFINE_CONFIG_CMD",
+                     "All commands are managed by Kconfig\n" . $herecurr);
+       }
+}
+
 sub process {
        my $filename = shift;
 
@@ -2691,24 +2696,6 @@ sub process {
                        } else {
                                $signatures{$sig_nospace} = 1;
                        }
-
-# Check Co-developed-by: immediately followed by Signed-off-by: with same name and email
-                       if ($sign_off =~ /^co-developed-by:$/i) {
-                               if ($email eq $author) {
-                                       WARN("BAD_SIGN_OFF",
-                                             "Co-developed-by: should not be used to attribute nominal patch author '$author'\n" . "$here\n" . $rawline);
-                               }
-                               if (!defined $lines[$linenr]) {
-                                       WARN("BAD_SIGN_OFF",
-                                             "Co-developed-by: must be immediately followed by Signed-off-by:\n" . "$here\n" . $rawline);
-                               } elsif ($rawlines[$linenr] !~ /^\s*signed-off-by:\s*(.*)/i) {
-                                       WARN("BAD_SIGN_OFF",
-                                            "Co-developed-by: must be immediately followed by Signed-off-by:\n" . "$here\n" . $rawline . "\n" .$rawlines[$linenr]);
-                               } elsif ($1 ne $email) {
-                                       WARN("BAD_SIGN_OFF",
-                                            "Co-developed-by and Signed-off-by: name/email do not match \n" . "$here\n" . $rawline . "\n" .$rawlines[$linenr]);
-                               }
-                       }
                }
 
 # Check email subject for common tools that don't need to be mentioned
@@ -2729,10 +2716,8 @@ sub process {
                    ($line =~ /^\s*(?:WARNING:|BUG:)/ ||
                     $line =~ /^\s*\[\s*\d+\.\d{6,6}\s*\]/ ||
                                        # timestamp
-                    $line =~ /^\s*\[\<[0-9a-fA-F]{8,}\>\]/) ||
-                    $line =~ /^(?:\s+\w+:\s+[0-9a-fA-F]+){3,3}/ ||
-                    $line =~ /^\s*\#\d+\s*\[[0-9a-fA-F]+\]\s*\w+ at [0-9a-fA-F]+/) {
-                                       # stack dump address styles
+                    $line =~ /^\s*\[\<[0-9a-fA-F]{8,}\>\]/)) {
+                                       # stack dump address
                        $commit_log_possible_stack_dump = 1;
                }
 
@@ -2904,17 +2889,6 @@ sub process {
                        }
                }
 
-# check for invalid commit id
-               if ($in_commit_log && $line =~ /(^fixes:|\bcommit)\s+([0-9a-f]{6,40})\b/i) {
-                       my $id;
-                       my $description;
-                       ($id, $description) = git_commit_info($2, undef, undef);
-                       if (!defined($id)) {
-                               WARN("UNKNOWN_COMMIT_ID",
-                                    "Unknown commit id '$2', maybe rebased or not pulled?\n" . $herecurr);
-                       }
-               }
-
 # ignore non-hunk lines and lines being removed
                next if (!$hunk_line || $line =~ /^-/);
 
@@ -3044,7 +3018,7 @@ sub process {
                        my @compats = $rawline =~ /\"([a-zA-Z0-9\-\,\.\+_]+)\"/g;
 
                        my $dt_path = $root . "/Documentation/devicetree/bindings/";
-                       my $vp_file = $dt_path . "vendor-prefixes.yaml";
+                       my $vp_file = $dt_path . "vendor-prefixes.txt";
 
                        foreach my $compat (@compats) {
                                my $compat2 = $compat;
@@ -3059,7 +3033,7 @@ sub process {
 
                                next if $compat !~ /^([a-zA-Z0-9\-]+)\,/;
                                my $vendor = $1;
-                               `grep -Eq "\\"\\^\Q$vendor\E,\\.\\*\\":" $vp_file`;
+                               `grep -Eq "^$vendor\\b" $vp_file`;
                                if ( $? >> 8 ) {
                                        WARN("UNDOCUMENTED_DT_STRING",
                                             "DT compatible string vendor \"$vendor\" appears un-documented -- check $vp_file\n" . $herecurr);
@@ -3083,24 +3057,16 @@ sub process {
                                        $comment = '..';
                                }
 
-# check SPDX comment style for .[chsS] files
-                               if ($realfile =~ /\.[chsS]$/ &&
-                                   $rawline =~ /SPDX-License-Identifier:/ &&
-                                   $rawline !~ m@^\+\s*\Q$comment\E\s*@) {
-                                       WARN("SPDX_LICENSE_TAG",
-                                            "Improper SPDX comment style for '$realfile', please use '$comment' instead\n" . $herecurr);
-                               }
-
                                if ($comment !~ /^$/ &&
-                                   $rawline !~ m@^\+\Q$comment\E SPDX-License-Identifier: @) {
-                                       WARN("SPDX_LICENSE_TAG",
-                                            "Missing or malformed SPDX-License-Identifier tag in line $checklicenseline\n" . $herecurr);
+                                   $rawline !~ /^\+\Q$comment\E SPDX-License-Identifier: /) {
+                                        WARN("SPDX_LICENSE_TAG",
+                                             "Missing or malformed SPDX-License-Identifier tag in line $checklicenseline\n" . $herecurr);
                                } elsif ($rawline =~ /(SPDX-License-Identifier: .*)/) {
-                                       my $spdx_license = $1;
-                                       if (!is_SPDX_License_valid($spdx_license)) {
-                                               WARN("SPDX_LICENSE_TAG",
-                                                    "'$spdx_license' is not supported in LICENSES/...\n" . $herecurr);
-                                       }
+                                        my $spdx_license = $1;
+                                        if (!is_SPDX_License_valid($spdx_license)) {
+                                                 WARN("SPDX_LICENSE_TAG",
+                                                      "'$spdx_license' is not supported in LICENSES/...\n" . $herecurr);
+                                        }
                                }
                        }
                }
@@ -3108,14 +3074,6 @@ sub process {
 # check we are in a valid source file if not then ignore this hunk
                next if ($realfile !~ /\.(h|c|s|S|sh|dtsi|dts)$/);
 
-# check for using SPDX-License-Identifier on the wrong line number
-               if ($realline != $checklicenseline &&
-                   $rawline =~ /\bSPDX-License-Identifier:/ &&
-                   substr($line, @-, @+ - @-) eq "$;" x (@+ - @-)) {
-                       WARN("SPDX_LICENSE_TAG",
-                            "Misplaced SPDX-License-Identifier tag - use line $checklicenseline instead\n" . $herecurr);
-               }
-
 # line length limit (with some exclusions)
 #
 # There are a few types of lines that may extend beyond $max_line_length:
@@ -3173,8 +3131,10 @@ sub process {
 
                        if ($msg_type ne "" &&
                            (show_type("LONG_LINE") || show_type($msg_type))) {
-                               WARN($msg_type,
-                                    "line over $max_line_length characters\n" . $herecurr);
+                               my $msg_level = \&WARN;
+                               $msg_level = \&CHK if ($file);
+                               &{$msg_level}($msg_type,
+                                             "line length of $length exceeds $max_line_length columns\n" . $herecurr);
                        }
                }
 
@@ -3184,6 +3144,10 @@ sub process {
                             "adding a line without newline at end of file\n" . $herecurr);
                }
 
+               if ($u_boot) {
+                       u_boot_line($realfile, $line,  $herecurr);
+               }
+
 # check we are in a valid source file C or perl if not then ignore this hunk
                next if ($realfile !~ /\.(h|c|pl|dtsi|dts)$/);
 
@@ -3953,23 +3917,14 @@ sub process {
                        WARN("STATIC_CONST_CHAR_ARRAY",
                             "static const char * array should probably be static const char * const\n" .
                                $herecurr);
-               }
-
-# check for initialized const char arrays that should be static const
-               if ($line =~ /^\+\s*const\s+(char|unsigned\s+char|_*u8|(?:[us]_)?int8_t)\s+\w+\s*\[\s*(?:\w+\s*)?\]\s*=\s*"/) {
-                       if (WARN("STATIC_CONST_CHAR_ARRAY",
-                                "const array should probably be static const\n" . $herecurr) &&
-                           $fix) {
-                               $fixed[$fixlinenr] =~ s/(^.\s*)const\b/${1}static const/;
-                       }
-               }
+               }
 
 # check for static char foo[] = "bar" declarations.
                if ($line =~ /\bstatic\s+char\s+(\w+)\s*\[\s*\]\s*=\s*"/) {
                        WARN("STATIC_CONST_CHAR_ARRAY",
                             "static char array declaration should probably be static const char\n" .
                                $herecurr);
-               }
+               }
 
 # check for const <foo> const where <foo> is not a pointer or array type
                if ($sline =~ /\bconst\s+($BasicType)\s+const\b/) {
@@ -4677,7 +4632,7 @@ sub process {
 
 # closing brace should have a space following it when it has anything
 # on the line
-               if ($line =~ /}(?!(?:,|;|\)|\}))\S/) {
+               if ($line =~ /}(?!(?:,|;|\)))\S/) {
                        if (ERROR("SPACING",
                                  "space required after that close brace '}'\n" . $herecurr) &&
                            $fix) {
@@ -5027,6 +4982,17 @@ sub process {
                while ($line =~ m{($Constant|$Lval)}g) {
                        my $var = $1;
 
+#gcc binary extension
+                       if ($var =~ /^$Binary$/) {
+                               if (WARN("GCC_BINARY_CONSTANT",
+                                        "Avoid gcc v4.3+ binary constant extension: <$var>\n" . $herecurr) &&
+                                   $fix) {
+                                       my $hexval = sprintf("0x%x", oct($var));
+                                       $fixed[$fixlinenr] =~
+                                           s/\b$var\b/$hexval/;
+                               }
+                       }
+
 #CamelCase
                        if ($var !~ /^$Constant$/ &&
                            $var =~ /[A-Z][a-z]|[a-z][A-Z]/ &&
@@ -5208,7 +5174,7 @@ sub process {
                                next if ($arg =~ /\.\.\./);
                                next if ($arg =~ /^type$/i);
                                my $tmp_stmt = $define_stmt;
-                               $tmp_stmt =~ s/\b(sizeof|typeof|__typeof__|__builtin\w+|typecheck\s*\(\s*$Type\s*,|\#+)\s*\(*\s*$arg\s*\)*\b//g;
+                               $tmp_stmt =~ s/\b(typeof|__typeof__|__builtin\w+|typecheck\s*\(\s*$Type\s*,|\#+)\s*\(*\s*$arg\s*\)*\b//g;
                                $tmp_stmt =~ s/\#+\s*$arg\b//g;
                                $tmp_stmt =~ s/\b$arg\s*\#\#//g;
                                my $use_cnt = () = $tmp_stmt =~ /\b$arg\b/g;
@@ -5607,8 +5573,7 @@ sub process {
                        my ($s, $c) = ctx_statement_block($linenr - 3, $realcnt, 0);
 #                      print("line: <$line>\nprevline: <$prevline>\ns: <$s>\nc: <$c>\n\n\n");
 
-                       if ($s =~ /(?:^|\n)[ \+]\s*(?:$Type\s*)?\Q$testval\E\s*=\s*(?:\([^\)]*\)\s*)?\s*$allocFunctions\s*\(/ &&
-                           $s !~ /\b__GFP_NOWARN\b/ ) {
+                       if ($s =~ /(?:^|\n)[ \+]\s*(?:$Type\s*)?\Q$testval\E\s*=\s*(?:\([^\)]*\)\s*)?\s*(?:devm_)?(?:[kv][czm]alloc(?:_node|_array)?\b|kstrdup|kmemdup|(?:dev_)?alloc_skb)/) {
                                WARN("OOM_MESSAGE",
                                     "Possible unnecessary 'out of memory' message\n" . $hereprev);
                        }
@@ -5729,7 +5694,7 @@ sub process {
                        # ignore udelay's < 10, however
                        if (! ($delay < 10) ) {
                                CHK("USLEEP_RANGE",
-                                   "usleep_range is preferred over udelay; see Documentation/timers/timers-howto.rst\n" . $herecurr);
+                                   "usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt\n" . $herecurr);
                        }
                        if ($delay > 2000) {
                                WARN("LONG_UDELAY",
@@ -5741,7 +5706,7 @@ sub process {
                if ($line =~ /\bmsleep\s*\((\d+)\);/) {
                        if ($1 < 20) {
                                WARN("MSLEEP",
-                                    "msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.rst\n" . $herecurr);
+                                    "msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt\n" . $herecurr);
                        }
                }
 
@@ -5890,18 +5855,6 @@ sub process {
                             "__aligned(size) is preferred over __attribute__((aligned(size)))\n" . $herecurr);
                }
 
-# Check for __attribute__ section, prefer __section
-               if ($realfile !~ m@\binclude/uapi/@ &&
-                   $line =~ /\b__attribute__\s*\(\s*\(.*_*section_*\s*\(\s*("[^"]*")/) {
-                       my $old = substr($rawline, $-[1], $+[1] - $-[1]);
-                       my $new = substr($old, 1, -1);
-                       if (WARN("PREFER_SECTION",
-                                "__section($new) is preferred over __attribute__((section($old)))\n" . $herecurr) &&
-                           $fix) {
-                               $fixed[$fixlinenr] =~ s/\b__attribute__\s*\(\s*\(\s*_*section_*\s*\(\s*\Q$old\E\s*\)\s*\)\s*\)/__section($new)/;
-                       }
-               }
-
 # Check for __attribute__ format(printf, prefer __printf
                if ($realfile !~ m@\binclude/uapi/@ &&
                    $line =~ /\b__attribute__\s*\(\s*\(\s*format\s*\(\s*printf/) {
@@ -6024,7 +5977,7 @@ sub process {
                                while ($fmt =~ /(\%[\*\d\.]*p(\w))/g) {
                                        $specifier = $1;
                                        $extension = $2;
-                                       if ($extension !~ /[SsBKRraEhMmIiUDdgVCbGNOxt]/) {
+                                       if ($extension !~ /[SsBKRraEhMmIiUDdgVCbGNOx]/) {
                                                $bad_specifier = $specifier;
                                                last;
                                        }
@@ -6144,11 +6097,11 @@ sub process {
                        my $max = $7;
                        if ($min eq $max) {
                                WARN("USLEEP_RANGE",
-                                    "usleep_range should not use min == max args; see Documentation/timers/timers-howto.rst\n" . "$here\n$stat\n");
+                                    "usleep_range should not use min == max args; see Documentation/timers/timers-howto.txt\n" . "$here\n$stat\n");
                        } elsif ($min =~ /^\d+$/ && $max =~ /^\d+$/ &&
                                 $min > $max) {
                                WARN("USLEEP_RANGE",
-                                    "usleep_range args reversed, use min then max; see Documentation/timers/timers-howto.rst\n" . "$here\n$stat\n");
+                                    "usleep_range args reversed, use min then max; see Documentation/timers/timers-howto.txt\n" . "$here\n$stat\n");
                        }
                }
 
@@ -6271,8 +6224,8 @@ sub process {
                        }
                }
 
-# check for pointless casting of alloc functions
-               if ($line =~ /\*\s*\)\s*$allocFunctions\b/) {
+# check for pointless casting of kmalloc return
+               if ($line =~ /\*\s*\)\s*[kv][czm]alloc(_node){0,1}\b/) {
                        WARN("UNNECESSARY_CASTS",
                             "unnecessary cast may hide bugs, see http://c-faq.com/malloc/mallocnocast.html\n" . $herecurr);
                }
@@ -6280,7 +6233,7 @@ sub process {
 # alloc style
 # p = alloc(sizeof(struct foo), ...) should be p = alloc(sizeof(*p), ...)
                if ($perl_version_ok &&
-                   $line =~ /\b($Lval)\s*\=\s*(?:$balanced_parens)?\s*((?:kv|k|v)[mz]alloc(?:_node)?)\s*\(\s*(sizeof\s*\(\s*struct\s+$Lval\s*\))/) {
+                   $line =~ /\b($Lval)\s*\=\s*(?:$balanced_parens)?\s*([kv][mz]alloc(?:_node)?)\s*\(\s*(sizeof\s*\(\s*struct\s+$Lval\s*\))/) {
                        CHK("ALLOC_SIZEOF_STRUCT",
                            "Prefer $3(sizeof(*$1)...) over $3($4...)\n" . $herecurr);
                }
@@ -6443,6 +6396,19 @@ sub process {
                        }
                }
 
+# check for bool bitfields
+               if ($sline =~ /^.\s+bool\s*$Ident\s*:\s*\d+\s*;/) {
+                       WARN("BOOL_BITFIELD",
+                            "Avoid using bool as bitfield.  Prefer bool bitfields as unsigned int or u<8|16|32>\n" . $herecurr);
+               }
+
+# check for bool use in .h files
+               if ($realfile =~ /\.h$/ &&
+                   $sline =~ /^.\s+bool\s*$Ident\s*(?::\s*d+\s*)?;/) {
+                       CHK("BOOL_MEMBER",
+                           "Avoid using bool structure members because of possible alignment issues - see: https://lkml.org/lkml/2017/11/21/384\n" . $herecurr);
+               }
+
 # check for semaphores initialized locked
                if ($line =~ /^.\s*sema_init.+,\W?0\W?\)/) {
                        WARN("CONSIDER_COMPLETION",
@@ -6461,20 +6427,6 @@ sub process {
                             "please use device_initcall() or more appropriate function instead of __initcall() (see include/linux/init.h)\n" . $herecurr);
                }
 
-# check for spin_is_locked(), suggest lockdep instead
-               if ($line =~ /\bspin_is_locked\(/) {
-                       WARN("USE_LOCKDEP",
-                            "Where possible, use lockdep_assert_held instead of assertions based on spin_is_locked\n" . $herecurr);
-               }
-
-# check for deprecated apis
-               if ($line =~ /\b($deprecated_apis_search)\b\s*\(/) {
-                       my $deprecated_api = $1;
-                       my $new_api = $deprecated_apis{$deprecated_api};
-                       WARN("DEPRECATED_API",
-                            "Deprecated use of '$deprecated_api', prefer '$new_api' instead\n" . $herecurr);
-               }
-
 # check for various structs that are normally const (ops, kgdb, device_tree)
 # and avoid what seem like struct definitions 'struct foo {'
                if ($line !~ /\bconst\b/ &&
@@ -6509,12 +6461,6 @@ sub process {
                             "Using $1 should generally have parentheses around the comparison\n" . $herecurr);
                }
 
-# nested likely/unlikely calls
-               if ($line =~ /\b(?:(?:un)?likely)\s*\(\s*!?\s*(IS_ERR(?:_OR_NULL|_VALUE)?|WARN)/) {
-                       WARN("LIKELY_MISUSE",
-                            "nested (un)?likely() calls, $1 already uses unlikely() internally\n" . $herecurr);
-               }
-
 # whine mightly about in_atomic
                if ($line =~ /\bin_atomic\s*\(/) {
                        if ($realfile =~ m@^drivers/@) {
@@ -6674,12 +6620,6 @@ sub process {
                                     "unknown module license " . $extracted_string . "\n" . $herecurr);
                        }
                }
-
-# check for sysctl duplicate constants
-               if ($line =~ /\.extra[12]\s*=\s*&(zero|one|int_max)\b/) {
-                       WARN("DUPLICATED_SYSCTL_CONST",
-                               "duplicated sysctl range checking value '$1', consider using the shared one in include/linux/sysctl.h\n" . $herecurr);
-               }
        }
 
        # If we have no input at all, then there is nothing to report on
index fe9a1971cc88cd2d62e3f6044ad5510ed9c82704..2210f46e446988590c89db4fe6273740fd3d8ac7 100644 (file)
@@ -51,7 +51,6 @@ CONFIG_ARMV7_SECURE_MAX_SIZE
 CONFIG_ARMV7_SECURE_RESERVE_SIZE
 CONFIG_ARMV8_SWITCH_TO_EL1
 CONFIG_ARM_ARCH_CP15_ERRATA
-CONFIG_ARM_DCC
 CONFIG_ARM_FREQ
 CONFIG_ARM_GIC_BASE_ADDRESS
 CONFIG_ARM_PL180_MMCI_BASE
index 55b8d1545fc59c1328a70bdf2f8a1e5098581265..9e7dead684d34a0158aa3b0fde522fb389b8866a 100644 (file)
@@ -20,7 +20,7 @@
 /* Simple test of sandbox SPI flash */
 static int dm_test_spi_flash(struct unit_test_state *uts)
 {
-       struct udevice *dev, *emul;
+       struct udevice *dev;
        int full_size = 0x200000;
        int size = 0x10000;
        u8 *src, *dst;
@@ -50,14 +50,6 @@ static int dm_test_spi_flash(struct unit_test_state *uts)
        ut_assertok(spi_flash_read_dm(dev, 0, size, dst));
        ut_asserteq_mem(src, dst, size);
 
-       /* Try the write-protect stuff */
-       ut_assertok(uclass_first_device_err(UCLASS_SPI_EMUL, &emul));
-       ut_asserteq(0, spl_flash_get_sw_write_prot(dev));
-       sandbox_sf_set_block_protect(emul, 1);
-       ut_asserteq(1, spl_flash_get_sw_write_prot(dev));
-       sandbox_sf_set_block_protect(emul, 0);
-       ut_asserteq(0, spl_flash_get_sw_write_prot(dev));
-
        /* Check mapping */
        ut_assertok(dm_spi_get_mmap(dev, &map_base, &map_size, &offset));
        ut_asserteq(0x1000, map_base);
index e3392ff6bc4eec691f643555394bea9cac0078db..30920474b3627e9845a09c02d01cfa1491f44113 100644 (file)
@@ -156,7 +156,7 @@ def pytest_configure(config):
                 o_opt = ''
             cmds = (
                 ['make', o_opt, '-s', board_type + '_defconfig'],
-                ['make', o_opt, '-s', '-j8'],
+                ['make', o_opt, '-s', '-j{}'.format(os.cpu_count())],
             )
             name = 'make'
 
index 8734663cd4c770f4a393b23601b78b78084f1e7d..c6378ecf34f696aac6fa0f3c4cf61d7d5e6656de 100644 (file)
@@ -946,11 +946,17 @@ static int flash_read_buf(int dev, int fd, void *buf, size_t count,
                lseek(fd, blockstart + block_seek, SEEK_SET);
 
                rc = read(fd, buf + processed, readlen);
-               if (rc != readlen) {
+               if (rc == -1) {
                        fprintf(stderr, "Read error on %s: %s\n",
                                DEVNAME(dev), strerror(errno));
                        return -1;
                }
+               if (rc != readlen) {
+                       fprintf(stderr, "Read error on %s: "
+                               "Attempted to read %d bytes but got %d\n",
+                               DEVNAME(dev), readlen, rc);
+                       return -1;
+               }
 #ifdef DEBUG
                fprintf(stderr, "Read 0x%x bytes at 0x%llx on %s\n",
                        rc, (unsigned long long)blockstart + block_seek,
index 88ff093d05bed6f5da152dbbad8428eec219e4d7..a082d9386d200d095753eae45fec826b1a718269 100644 (file)
@@ -111,7 +111,7 @@ static int fit_calc_size(struct image_tool_params *params)
                if (size < 0)
                        return -1;
 
-               /* Add space for properties */
+               /* Add space for properties and hash node */
                total_size += size + 300;
        }
 
@@ -192,6 +192,18 @@ static void get_basename(char *str, int size, const char *fname)
        str[len] = '\0';
 }
 
+/**
+ * add_crc_node() - Add a hash node to request a CRC checksum for an image
+ *
+ * @fdt: Device tree to add to (in sequential-write mode)
+ */
+static void add_crc_node(void *fdt)
+{
+       fdt_begin_node(fdt, "hash-1");
+       fdt_property_string(fdt, FIT_ALGO_PROP, "crc32");
+       fdt_end_node(fdt);
+}
+
 /**
  * fit_write_images() - Write out a list of images to the FIT
  *
@@ -230,6 +242,7 @@ static int fit_write_images(struct image_tool_params *params, char *fdt)
        ret = fdt_property_file(params, fdt, FIT_DATA_PROP, params->datafile);
        if (ret)
                return ret;
+       add_crc_node(fdt);
        fdt_end_node(fdt);
 
        /* Now the device tree files if available */
@@ -252,6 +265,7 @@ static int fit_write_images(struct image_tool_params *params, char *fdt)
                                    genimg_get_arch_short_name(params->arch));
                fdt_property_string(fdt, FIT_COMP_PROP,
                                    genimg_get_comp_short_name(IH_COMP_NONE));
+               add_crc_node(fdt);
                fdt_end_node(fdt);
        }
 
@@ -269,7 +283,7 @@ static int fit_write_images(struct image_tool_params *params, char *fdt)
                                        params->fit_ramdisk);
                if (ret)
                        return ret;
-
+               add_crc_node(fdt);
                fdt_end_node(fdt);
        }