]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
Merge tag 'v2022.04-rc5' into next
authorTom Rini <trini@konsulko.com>
Mon, 28 Mar 2022 16:36:49 +0000 (12:36 -0400)
committerTom Rini <trini@konsulko.com>
Mon, 28 Mar 2022 16:36:49 +0000 (12:36 -0400)
Prepare v2022.04-rc5

1238 files changed:
.azure-pipelines.yml
.gitlab-ci.yml
Kconfig
MAINTAINERS
Makefile
README
arch/Kconfig
arch/arm/Kconfig
arch/arm/cpu/armv7/Kconfig
arch/arm/cpu/armv7/ls102xa/Kconfig
arch/arm/cpu/armv7/ls102xa/soc.c
arch/arm/cpu/armv8/Kconfig
arch/arm/cpu/armv8/fsl-layerscape/cpu.c
arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S
arch/arm/cpu/armv8/start.S
arch/arm/dts/Makefile
arch/arm/dts/am33xx.dtsi
arch/arm/dts/am3517-evm-u-boot.dtsi
arch/arm/dts/am3517-evm-ui.dtsi
arch/arm/dts/am3517-evm.dts
arch/arm/dts/am3517-som.dtsi
arch/arm/dts/ast2500.dtsi
arch/arm/dts/ast2600-evb.dts
arch/arm/dts/ast2600.dtsi
arch/arm/dts/bcm6753.dtsi [new file with mode: 0644]
arch/arm/dts/bcm96753ref.dts [new file with mode: 0644]
arch/arm/dts/bitmain-antminer-s9.dts
arch/arm/dts/logicpd-som-lv-35xx-devkit.dts
arch/arm/dts/logicpd-som-lv-37xx-devkit.dts
arch/arm/dts/logicpd-som-lv-baseboard.dtsi
arch/arm/dts/logicpd-som-lv.dtsi
arch/arm/dts/logicpd-torpedo-35xx-devkit.dts
arch/arm/dts/logicpd-torpedo-37xx-devkit.dts
arch/arm/dts/logicpd-torpedo-baseboard.dtsi
arch/arm/dts/logicpd-torpedo-som.dtsi
arch/arm/dts/phytium-pomelo.dts [new file with mode: 0644]
arch/arm/dts/zynq-7000.dtsi
arch/arm/dts/zynq-zc770-xm011.dts
arch/arm/dts/zynqmp-clk-ccf.dtsi
arch/arm/dts/zynqmp-p-a2197-00-revA.dts
arch/arm/dts/zynqmp-sck-kv-g-revA.dts
arch/arm/dts/zynqmp-sck-kv-g-revB.dts
arch/arm/dts/zynqmp-sm-k26-revA.dts
arch/arm/dts/zynqmp-zcu106-rev1.0.dts [new file with mode: 0644]
arch/arm/include/asm/arch-bcmcygnus/configs.h
arch/arm/include/asm/io.h
arch/arm/include/asm/macro.h
arch/arm/include/asm/system.h
arch/arm/mach-at91/Kconfig
arch/arm/mach-exynos/Kconfig
arch/arm/mach-exynos/spl_boot.c
arch/arm/mach-imx/imx8/cpu.c
arch/arm/mach-imx/imx8m/soc.c
arch/arm/mach-imx/imx8ulp/soc.c
arch/arm/mach-kirkwood/include/mach/config.h
arch/arm/mach-mvebu/Kconfig
arch/arm/mach-mvebu/include/mach/config.h
arch/arm/mach-omap2/am33xx/Kconfig
arch/arm/mach-omap2/am33xx/board.c
arch/arm/mach-omap2/hwinit-common.c
arch/arm/mach-omap2/omap3/clock.c
arch/arm/mach-rmobile/lowlevel_init_gen3.S
arch/arm/mach-socfpga/lowlevel_init_soc64.S
arch/microblaze/include/asm/system.h
arch/mips/Kconfig
arch/mips/mach-pic32/cpu.c
arch/nios2/cpu/cpu.c
arch/powerpc/cpu/mpc83xx/fdt.c
arch/powerpc/cpu/mpc85xx/Kconfig
arch/powerpc/cpu/mpc85xx/Makefile
arch/powerpc/cpu/mpc85xx/commproc.c [deleted file]
arch/powerpc/cpu/mpc85xx/cpu.c
arch/powerpc/cpu/mpc85xx/cpu_init.c
arch/powerpc/cpu/mpc85xx/fdt.c
arch/powerpc/cpu/mpc85xx/mp.c
arch/powerpc/cpu/mpc85xx/serial_scc.c [deleted file]
arch/powerpc/cpu/mpc85xx/speed.c
arch/powerpc/include/asm/config.h
arch/powerpc/include/asm/cpm_85xx.h [deleted file]
arch/powerpc/include/asm/global_data.h
arch/powerpc/include/asm/immap_85xx.h
arch/powerpc/lib/bdinfo.c
arch/powerpc/lib/bootm.c
arch/riscv/cpu/cpu.c
arch/riscv/include/asm/system.h
arch/riscv/lib/spl.c
arch/sandbox/cpu/spl.c
arch/sandbox/cpu/start.c
arch/sandbox/cpu/state.c
arch/sandbox/dts/test.dts
arch/sandbox/include/asm/scmi_test.h
arch/sandbox/include/asm/test.h
arch/sh/lib/Makefile
arch/x86/cpu/baytrail/cpu.c
arch/x86/cpu/broadwell/cpu.c
arch/x86/cpu/ivybridge/cpu.c
arch/x86/cpu/quark/quark.c
arch/x86/include/asm/fsp2/fsp_api.h
arch/x86/lib/fsp2/fsp_init.c
arch/x86/lib/spl.c
arch/x86/lib/tpl.c
arch/xtensa/Kconfig
board/armltd/vexpress64/pcie.c
board/atmel/at91sam9260ek/Kconfig
board/atmel/at91sam9261ek/Kconfig
board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c
board/bluewater/gurnard/Kconfig
board/boundary/nitrogen6x/nitrogen6x.c
board/broadcom/bcm96753ref/Kconfig [new file with mode: 0644]
board/broadcom/bcm96753ref/MAINTAINERS [new file with mode: 0644]
board/broadcom/bcm96753ref/Makefile [new file with mode: 0644]
board/broadcom/bcm96753ref/bcm96753ref.c [new file with mode: 0644]
board/cortina/presidio-asic/lowlevel_init.S
board/google/Kconfig
board/google/chromebook_coral/coral.c
board/keymile/kmcent2/kmcent2.c
board/keymile/pg-wcom-ls102xa/pg-wcom-ls102xa.c
board/logicpd/am3517evm/am3517evm.c
board/logicpd/am3517evm/am3517evm.h
board/logicpd/omap3som/omap3logic.h
board/phytium/pomelo/Kconfig [new file with mode: 0644]
board/phytium/pomelo/MAINTAINERS [new file with mode: 0644]
board/phytium/pomelo/Makefile [new file with mode: 0644]
board/phytium/pomelo/cpu.h [new file with mode: 0644]
board/phytium/pomelo/ddr.c [new file with mode: 0644]
board/phytium/pomelo/pcie.c [new file with mode: 0644]
board/phytium/pomelo/pll.c [new file with mode: 0644]
board/phytium/pomelo/pomelo.c [new file with mode: 0644]
board/phytium/pomelo/sec.c [new file with mode: 0644]
board/ronetix/pm9263/Kconfig
board/siemens/corvus/Kconfig
board/ti/beagle/beagle.c
board/xilinx/common/board.c
board/xilinx/common/fru.h
board/xilinx/common/fru_ops.c
board/xilinx/microblaze-generic/microblaze-generic.c
board/xilinx/zynqmp/zynqmp-zcu106-rev1.0/psu_init_gpl.c [new file with mode: 0644]
board/xilinx/zynqmp/zynqmp.c
boot/Kconfig
boot/Makefile
boot/bootretry.c
cmd/Kconfig
cmd/Makefile
cmd/arm/exception64.c
cmd/erofs.c [new file with mode: 0644]
cmd/event.c [new file with mode: 0644]
common/Kconfig
common/Makefile
common/board_f.c
common/board_r.c
common/event.c [new file with mode: 0644]
common/lcd.c
common/log.c
common/miiphyutil.c
common/spl/Kconfig
configs/10m50_defconfig
configs/3c120_defconfig
configs/Bananapi_M2_Ultra_defconfig
configs/LicheePi_Zero_defconfig
configs/M5208EVBE_defconfig
configs/M5235EVB_Flash32_defconfig
configs/M5235EVB_defconfig
configs/M5272C3_defconfig
configs/M5275EVB_defconfig
configs/M5282EVB_defconfig
configs/M53017EVB_defconfig
configs/M5329AFEE_defconfig
configs/M5329BFEE_defconfig
configs/M5373EVB_defconfig
configs/MCR3000_defconfig
configs/MPC837XERDB_defconfig
configs/MPC8548CDS_36BIT_defconfig
configs/MPC8548CDS_defconfig
configs/MPC8548CDS_legacy_defconfig
configs/P1010RDB-PA_36BIT_NAND_defconfig
configs/P1010RDB-PA_36BIT_NOR_defconfig
configs/P1010RDB-PA_36BIT_SDCARD_defconfig
configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
configs/P1010RDB-PA_NAND_defconfig
configs/P1010RDB-PA_NOR_defconfig
configs/P1010RDB-PA_SDCARD_defconfig
configs/P1010RDB-PA_SPIFLASH_defconfig
configs/P1010RDB-PB_36BIT_NAND_defconfig
configs/P1010RDB-PB_36BIT_NOR_defconfig
configs/P1010RDB-PB_36BIT_SDCARD_defconfig
configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
configs/P1010RDB-PB_NAND_defconfig
configs/P1010RDB-PB_NOR_defconfig
configs/P1010RDB-PB_SDCARD_defconfig
configs/P1010RDB-PB_SPIFLASH_defconfig
configs/P1020RDB-PC_36BIT_NAND_defconfig
configs/P1020RDB-PC_36BIT_SDCARD_defconfig
configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
configs/P1020RDB-PC_36BIT_defconfig
configs/P1020RDB-PC_NAND_defconfig
configs/P1020RDB-PC_SDCARD_defconfig
configs/P1020RDB-PC_SPIFLASH_defconfig
configs/P1020RDB-PC_defconfig
configs/P1020RDB-PD_NAND_defconfig
configs/P1020RDB-PD_SDCARD_defconfig
configs/P1020RDB-PD_SPIFLASH_defconfig
configs/P1020RDB-PD_defconfig
configs/P2020RDB-PC_36BIT_NAND_defconfig
configs/P2020RDB-PC_36BIT_SDCARD_defconfig
configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
configs/P2020RDB-PC_36BIT_defconfig
configs/P2020RDB-PC_NAND_defconfig
configs/P2020RDB-PC_SDCARD_defconfig
configs/P2020RDB-PC_SPIFLASH_defconfig
configs/P2020RDB-PC_defconfig
configs/P2041RDB_NAND_defconfig
configs/P2041RDB_SDCARD_defconfig
configs/P2041RDB_SPIFLASH_defconfig
configs/P2041RDB_defconfig
configs/P3041DS_NAND_defconfig
configs/P3041DS_SDCARD_defconfig
configs/P3041DS_SPIFLASH_defconfig
configs/P3041DS_defconfig
configs/P4080DS_SDCARD_defconfig
configs/P4080DS_SPIFLASH_defconfig
configs/P4080DS_defconfig
configs/P5040DS_NAND_defconfig
configs/P5040DS_SDCARD_defconfig
configs/P5040DS_SPIFLASH_defconfig
configs/P5040DS_defconfig
configs/SBx81LIFKW_defconfig
configs/SBx81LIFXCAT_defconfig
configs/T1024RDB_NAND_defconfig
configs/T1024RDB_SDCARD_defconfig
configs/T1024RDB_SPIFLASH_defconfig
configs/T1024RDB_defconfig
configs/T1042D4RDB_NAND_defconfig
configs/T1042D4RDB_SDCARD_defconfig
configs/T1042D4RDB_SPIFLASH_defconfig
configs/T1042D4RDB_defconfig
configs/T2080QDS_NAND_defconfig
configs/T2080QDS_SDCARD_defconfig
configs/T2080QDS_SECURE_BOOT_defconfig
configs/T2080QDS_SPIFLASH_defconfig
configs/T2080QDS_SRIO_PCIE_BOOT_defconfig
configs/T2080QDS_defconfig
configs/T2080RDB_NAND_defconfig
configs/T2080RDB_SDCARD_defconfig
configs/T2080RDB_SPIFLASH_defconfig
configs/T2080RDB_defconfig
configs/T2080RDB_revD_NAND_defconfig
configs/T2080RDB_revD_SDCARD_defconfig
configs/T2080RDB_revD_SPIFLASH_defconfig
configs/T2080RDB_revD_defconfig
configs/T4240RDB_SDCARD_defconfig
configs/T4240RDB_defconfig
configs/am335x_baltos_defconfig
configs/am335x_boneblack_vboot_defconfig
configs/am335x_evm_defconfig
configs/am335x_evm_spiboot_defconfig
configs/am335x_guardian_defconfig
configs/am335x_hs_evm_defconfig
configs/am335x_hs_evm_uart_defconfig
configs/am335x_igep003x_defconfig
configs/am335x_shc_defconfig
configs/am335x_shc_ict_defconfig
configs/am335x_shc_netboot_defconfig
configs/am335x_shc_sdboot_defconfig
configs/am335x_sl50_defconfig
configs/am3517_evm_defconfig
configs/am43xx_evm_defconfig
configs/am43xx_evm_qspiboot_defconfig
configs/am43xx_evm_rtconly_defconfig
configs/am43xx_evm_usbhost_boot_defconfig
configs/am43xx_hs_evm_defconfig
configs/am57xx_evm_defconfig
configs/am57xx_hs_evm_defconfig
configs/am57xx_hs_evm_usb_defconfig
configs/apalis-imx8x_defconfig
configs/aristainetos2c_defconfig
configs/aristainetos2ccslb_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/axs101_defconfig
configs/axs103_defconfig
configs/bananapi_m2_berry_defconfig
configs/bayleybay_defconfig
configs/bcm96753ref_ram_defconfig [new file with mode: 0644]
configs/bcm968380gerg_ram_defconfig
configs/bitmain_antminer_s9_defconfig
configs/bk4r1_defconfig
configs/blanche_defconfig
configs/brppt1_mmc_defconfig
configs/brppt1_nand_defconfig
configs/brppt1_spi_defconfig
configs/brppt2_defconfig
configs/brsmarc1_defconfig
configs/brxre1_defconfig
configs/cherryhill_defconfig
configs/chiliboard_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/clearfog_defconfig
configs/clearfog_gt_8k_defconfig
configs/cm_fx6_defconfig
configs/cm_t335_defconfig
configs/cm_t43_defconfig
configs/cobra5272_defconfig
configs/colibri_pxa270_defconfig
configs/comtrend_ar5315u_ram_defconfig
configs/comtrend_ar5387un_ram_defconfig
configs/comtrend_ct5361_ram_defconfig
configs/comtrend_vr3032u_ram_defconfig
configs/comtrend_wap5813n_ram_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/cortina_presidio-asic-emmc_defconfig
configs/corvus_defconfig
configs/cougarcanyon2_defconfig
configs/crownbay_defconfig
configs/crs305-1g-4s-bit_defconfig
configs/crs305-1g-4s_defconfig
configs/crs326-24g-2s-bit_defconfig
configs/crs326-24g-2s_defconfig
configs/crs328-4c-20s-4s-bit_defconfig
configs/crs328-4c-20s-4s_defconfig
configs/d2net_v2_defconfig
configs/da850evm_defconfig
configs/da850evm_direct_nor_defconfig
configs/da850evm_nand_defconfig
configs/db-88f6720_defconfig
configs/db-88f6820-amc_defconfig
configs/db-88f6820-gp_defconfig
configs/db-mv784mp-gp_defconfig
configs/db-xc3-24g4xg_defconfig
configs/deneb_defconfig
configs/devkit3250_defconfig
configs/devkit8000_defconfig
configs/dfi-bt700-q7x-151_defconfig
configs/dh_imx6_defconfig
configs/dns325_defconfig
configs/dockstar_defconfig
configs/dra7xx_evm_defconfig
configs/dra7xx_hs_evm_defconfig
configs/dra7xx_hs_evm_usb_defconfig
configs/draco_defconfig
configs/dragonboard410c_defconfig
configs/dragonboard820c_defconfig
configs/dreamplug_defconfig
configs/ds109_defconfig
configs/ds414_defconfig
configs/eb_cpu5282_defconfig
configs/eb_cpu5282_internal_defconfig
configs/edminiv2_defconfig
configs/efi-x86_app32_defconfig
configs/efi-x86_app64_defconfig
configs/efi-x86_payload32_defconfig
configs/efi-x86_payload64_defconfig
configs/emsdp_defconfig
configs/etamin_defconfig
configs/ethernut5_defconfig
configs/evb-ast2500_defconfig
configs/evb-ast2600_defconfig
configs/galileo_defconfig
configs/gardena-smart-gateway-at91sam_defconfig
configs/gazerbeam_defconfig
configs/giedi_defconfig
configs/goflexhome_defconfig
configs/gurnard_defconfig
configs/guruplug_defconfig
configs/helios4_defconfig
configs/highbank_defconfig
configs/hikey_defconfig
configs/hsdk_4xd_defconfig
configs/hsdk_defconfig
configs/huawei_hg556a_ram_defconfig
configs/ib62x0_defconfig
configs/iconnect_defconfig
configs/ids8313_defconfig
configs/imx28_xea_defconfig
configs/imx28_xea_sb_defconfig
configs/imx6q_logic_defconfig
configs/imx7_cm_defconfig
configs/imx8mm-cl-iot-gate-optee_defconfig
configs/imx8mm-cl-iot-gate_defconfig
configs/imx8mm_beacon_defconfig
configs/imx8mm_evk_defconfig
configs/imx8mm_venice_defconfig
configs/imx8mn_beacon_2g_defconfig
configs/imx8mn_beacon_defconfig
configs/imx8mn_var_som_defconfig
configs/imx8mn_venice_defconfig
configs/imx8mp_evk_defconfig
configs/imx8mp_rsb3720a1_4G_defconfig
configs/imx8mp_rsb3720a1_6G_defconfig
configs/imx8mq_cm_defconfig
configs/imx8mq_evk_defconfig
configs/imx8mq_phanbell_defconfig
configs/imx8ulp_evk_defconfig
configs/inetspace_v2_defconfig
configs/integratorap_cm720t_defconfig
configs/integratorap_cm920t_defconfig
configs/integratorap_cm926ejs_defconfig
configs/integratorap_cm946es_defconfig
configs/integratorcp_cm1136_defconfig
configs/integratorcp_cm920t_defconfig
configs/integratorcp_cm926ejs_defconfig
configs/integratorcp_cm946es_defconfig
configs/iot_devkit_defconfig
configs/j721e_evm_a72_defconfig
configs/j721e_hs_evm_a72_defconfig
configs/j721s2_evm_a72_defconfig
configs/j721s2_evm_r5_defconfig
configs/k2e_evm_defconfig
configs/k2e_hs_evm_defconfig
configs/k2g_evm_defconfig
configs/k2g_hs_evm_defconfig
configs/k2hk_evm_defconfig
configs/k2hk_hs_evm_defconfig
configs/k2l_evm_defconfig
configs/k2l_hs_evm_defconfig
configs/km_kirkwood_128m16_defconfig
configs/km_kirkwood_defconfig
configs/km_kirkwood_pci_defconfig
configs/kmcent2_defconfig
configs/kmcoge5ne_defconfig
configs/kmcoge5un_defconfig
configs/kmeter1_defconfig
configs/kmnusa_defconfig
configs/kmopti2_defconfig
configs/kmsupx5_defconfig
configs/kmsuse2_defconfig
configs/kmtegr1_defconfig
configs/kmtepr2_defconfig
configs/kontron-sl-mx6ul_defconfig
configs/kontron_pitx_imx8m_defconfig
configs/kontron_sl28_defconfig
configs/kp_imx53_defconfig
configs/kp_imx6q_tpc_defconfig
configs/kzm9g_defconfig
configs/legoev3_defconfig
configs/liteboard_defconfig
configs/ls1021aiot_qspi_defconfig
configs/ls1021aiot_sdcard_defconfig
configs/ls1021aqds_ddr4_nor_defconfig
configs/ls1021aqds_ddr4_nor_lpuart_defconfig
configs/ls1021aqds_nand_defconfig
configs/ls1021aqds_nor_SECURE_BOOT_defconfig
configs/ls1021aqds_nor_defconfig
configs/ls1021aqds_nor_lpuart_defconfig
configs/ls1021aqds_qspi_defconfig
configs/ls1021aqds_sdcard_ifc_defconfig
configs/ls1021aqds_sdcard_qspi_defconfig
configs/ls1021atwr_nor_SECURE_BOOT_defconfig
configs/ls1021atwr_nor_defconfig
configs/ls1021atwr_nor_lpuart_defconfig
configs/ls1021atwr_qspi_defconfig
configs/ls1021atwr_sdcard_ifc_SECURE_BOOT_defconfig
configs/ls1021atwr_sdcard_ifc_defconfig
configs/ls1021atwr_sdcard_qspi_defconfig
configs/ls1028aqds_tfa_SECURE_BOOT_defconfig
configs/ls1028aqds_tfa_defconfig
configs/ls1028aqds_tfa_lpuart_defconfig
configs/ls1028ardb_tfa_SECURE_BOOT_defconfig
configs/ls1028ardb_tfa_defconfig
configs/ls1043aqds_defconfig
configs/ls1043aqds_lpuart_defconfig
configs/ls1043aqds_nand_defconfig
configs/ls1043aqds_nor_ddr3_defconfig
configs/ls1043aqds_sdcard_ifc_defconfig
configs/ls1043aqds_tfa_SECURE_BOOT_defconfig
configs/ls1043aqds_tfa_defconfig
configs/ls1043ardb_SECURE_BOOT_defconfig
configs/ls1043ardb_defconfig
configs/ls1043ardb_nand_SECURE_BOOT_defconfig
configs/ls1043ardb_nand_defconfig
configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig
configs/ls1043ardb_sdcard_defconfig
configs/ls1043ardb_tfa_SECURE_BOOT_defconfig
configs/ls1043ardb_tfa_defconfig
configs/ls1046afrwy_tfa_SECURE_BOOT_defconfig
configs/ls1046afrwy_tfa_defconfig
configs/ls1046aqds_SECURE_BOOT_defconfig
configs/ls1046aqds_defconfig
configs/ls1046aqds_lpuart_defconfig
configs/ls1046aqds_nand_defconfig
configs/ls1046aqds_sdcard_ifc_defconfig
configs/ls1046aqds_tfa_SECURE_BOOT_defconfig
configs/ls1046aqds_tfa_defconfig
configs/ls1046ardb_emmc_defconfig
configs/ls1046ardb_qspi_SECURE_BOOT_defconfig
configs/ls1046ardb_qspi_defconfig
configs/ls1046ardb_qspi_spl_defconfig
configs/ls1046ardb_sdcard_SECURE_BOOT_defconfig
configs/ls1046ardb_sdcard_defconfig
configs/ls1046ardb_tfa_SECURE_BOOT_defconfig
configs/ls1046ardb_tfa_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/ls2080aqds_SECURE_BOOT_defconfig
configs/ls2080aqds_defconfig
configs/ls2080aqds_nand_defconfig
configs/ls2080aqds_qspi_defconfig
configs/ls2080aqds_sdcard_defconfig
configs/ls2080ardb_SECURE_BOOT_defconfig
configs/ls2080ardb_defconfig
configs/ls2080ardb_nand_defconfig
configs/ls2081ardb_defconfig
configs/ls2088aqds_tfa_defconfig
configs/ls2088ardb_qspi_SECURE_BOOT_defconfig
configs/ls2088ardb_qspi_defconfig
configs/ls2088ardb_tfa_SECURE_BOOT_defconfig
configs/ls2088ardb_tfa_defconfig
configs/lschlv2_defconfig
configs/lsxhl_defconfig
configs/lx2160aqds_tfa_SECURE_BOOT_defconfig
configs/lx2160aqds_tfa_defconfig
configs/lx2160ardb_tfa_SECURE_BOOT_defconfig
configs/lx2160ardb_tfa_defconfig
configs/lx2160ardb_tfa_stmm_defconfig
configs/lx2162aqds_tfa_SECURE_BOOT_defconfig
configs/lx2162aqds_tfa_defconfig
configs/lx2162aqds_tfa_verified_boot_defconfig
configs/m53menlo_defconfig
configs/marsboard_defconfig
configs/maxbcm_defconfig
configs/meesc_dataflash_defconfig
configs/meesc_defconfig
configs/microblaze-generic_defconfig
configs/minnowmax_defconfig
configs/mvebu_crb_cn9130_defconfig
configs/mvebu_db-88f3720_defconfig
configs/mvebu_db_armada8k_defconfig
configs/mvebu_db_cn9130_defconfig
configs/mvebu_espressobin-88f3720_defconfig
configs/mvebu_mcbin-88f8040_defconfig
configs/mvebu_puzzle-m801-88f8040_defconfig
configs/mx23_olinuxino_defconfig
configs/mx23evk_defconfig
configs/mx28evk_auart_console_defconfig
configs/mx28evk_defconfig
configs/mx28evk_nand_defconfig
configs/mx28evk_spi_defconfig
configs/mx51evk_defconfig
configs/mx53cx9020_defconfig
configs/mx53loco_defconfig
configs/mx53ppd_defconfig
configs/mx6qsabrelite_defconfig
configs/mx6sabreauto_defconfig
configs/mx6sabresd_defconfig
configs/mx6sxsabreauto_defconfig
configs/mx6sxsabresd_defconfig
configs/mx6ul_14x14_evk_defconfig
configs/mx6ul_9x9_evk_defconfig
configs/mx6ull_14x14_evk_defconfig
configs/mx6ull_14x14_evk_plugin_defconfig
configs/mx7ulp_evk_defconfig
configs/mx7ulp_evk_plugin_defconfig
configs/nas220_defconfig
configs/net2big_v2_defconfig
configs/netgear_cg3100d_ram_defconfig
configs/netgear_dgnd3700v2_ram_defconfig
configs/netspace_lite_v2_defconfig
configs/netspace_max_v2_defconfig
configs/netspace_mini_v2_defconfig
configs/netspace_v2_defconfig
configs/nitrogen6dl2g_defconfig
configs/nitrogen6dl_defconfig
configs/nitrogen6q2g_defconfig
configs/nitrogen6q_defconfig
configs/nitrogen6s1g_defconfig
configs/nitrogen6s_defconfig
configs/novena_defconfig
configs/nsa310s_defconfig
configs/nsim_700_defconfig
configs/nsim_700be_defconfig
configs/nsim_hs38_defconfig
configs/nsim_hs38be_defconfig
configs/octeontx2_95xx_defconfig
configs/octeontx2_96xx_defconfig
configs/octeontx_81xx_defconfig
configs/octeontx_83xx_defconfig
configs/omap3_beagle_defconfig
configs/omapl138_lcdk_defconfig
configs/openrd_base_defconfig
configs/openrd_client_defconfig
configs/openrd_ultimate_defconfig
configs/pg_wcom_expu1_defconfig
configs/pg_wcom_expu1_update_defconfig
configs/pg_wcom_seli8_defconfig
configs/pg_wcom_seli8_update_defconfig
configs/phycore-am335x-r2-regor_defconfig
configs/phycore-am335x-r2-wega_defconfig
configs/pic32mzdask_defconfig
configs/pico-dwarf-imx6ul_defconfig
configs/pico-hobbit-imx6ul_defconfig
configs/pico-imx6_defconfig
configs/pico-imx8mq_defconfig
configs/pico-pi-imx6ul_defconfig
configs/pinecube_defconfig
configs/pm9261_defconfig
configs/pm9263_defconfig
configs/pm9g45_defconfig
configs/pogo_e02_defconfig
configs/pogo_v4_defconfig
configs/pomelo_defconfig [new file with mode: 0644]
configs/pxm2_defconfig
configs/qemu-ppce500_defconfig
configs/qemu-x86_64_defconfig
configs/qemu-x86_defconfig
configs/qemu_arm64_defconfig
configs/qemu_arm_defconfig
configs/r8a77990_ebisu_defconfig
configs/r8a77995_draak_defconfig
configs/rastaban_defconfig
configs/rcar3_salvator-x_defconfig
configs/rcar3_ulcb_defconfig
configs/riotboard_defconfig
configs/rut_defconfig
configs/sagem_f@st1704_ram_defconfig
configs/sam9x60ek_mmc_defconfig
configs/sam9x60ek_nandflash_defconfig
configs/sam9x60ek_qspiflash_defconfig
configs/sama5d27_giantboard_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_icp_qspiflash_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/sama7g5ek_mmc1_defconfig
configs/sama7g5ek_mmc_defconfig
configs/sandbox64_defconfig
configs/sandbox_defconfig
configs/sandbox_flattree_defconfig
configs/sandbox_spl_defconfig
configs/seeed_npi_imx6ull_defconfig
configs/sfr_nb4-ser_ram_defconfig
configs/sheevaplug_defconfig
configs/slimbootloader_defconfig
configs/smartweb_defconfig
configs/snapper9260_defconfig
configs/snapper9g20_defconfig
configs/socfpga_agilex_atf_defconfig
configs/socfpga_agilex_defconfig
configs/socfpga_agilex_vab_defconfig
configs/socfpga_dbm_soc1_defconfig
configs/socfpga_is1_defconfig
configs/socfpga_mcvevk_defconfig
configs/socfpga_n5x_atf_defconfig
configs/socfpga_n5x_defconfig
configs/socfpga_n5x_vab_defconfig
configs/socfpga_secu1_defconfig
configs/socfpga_stratix10_atf_defconfig
configs/socfpga_stratix10_defconfig
configs/socfpga_vining_fpga_defconfig
configs/socrates_defconfig
configs/som-db5800-som-6867_defconfig
configs/somlabs_visionsom_6ull_defconfig
configs/stih410-b2260_defconfig
configs/stv0991_defconfig
configs/syzygy_hub_defconfig
configs/taurus_defconfig
configs/tb100_defconfig
configs/ten64_tfa_defconfig
configs/theadorable-x86-conga-qa3-e3845-pcie-x4_defconfig
configs/theadorable-x86-conga-qa3-e3845_defconfig
configs/theadorable-x86-dfi-bt700_defconfig
configs/theadorable_debug_defconfig
configs/thuban_defconfig
configs/ti816x_evm_defconfig
configs/tools-only_defconfig
configs/tqma6dl_mba6_mmc_defconfig
configs/tqma6dl_mba6_spi_defconfig
configs/tqma6q_mba6_mmc_defconfig
configs/tqma6q_mba6_spi_defconfig
configs/tqma6s_mba6_mmc_defconfig
configs/tqma6s_mba6_spi_defconfig
configs/tuge1_defconfig
configs/turris_mox_defconfig
configs/turris_omnia_defconfig
configs/tuxx1_defconfig
configs/uDPU_defconfig
configs/uniphier_ld4_sld8_defconfig
configs/uniphier_v7_defconfig
configs/uniphier_v8_defconfig
configs/usb_a9263_dataflash_defconfig
configs/variscite_dart6ul_defconfig
configs/verdin-imx8mm_defconfig
configs/verdin-imx8mp_defconfig
configs/vexpress_aemv8a_juno_defconfig
configs/vexpress_aemv8a_semi_defconfig
configs/vexpress_ca9x4_defconfig
configs/vf610twr_defconfig
configs/vf610twr_nand_defconfig
configs/vinco_defconfig
configs/vining_2000_defconfig
configs/work_92105_defconfig
configs/x530_defconfig
configs/xilinx_versal_virt_defconfig
configs/xilinx_zynq_virt_defconfig
configs/xilinx_zynqmp_virt_defconfig
configs/xtfpga_defconfig
disk/Kconfig
disk/Makefile
doc/README.fec_mxc
doc/develop/event.rst [new file with mode: 0644]
doc/develop/index.rst
doc/develop/python_cq.rst
doc/device-tree-bindings/arm/arm,scmi.txt
doc/usage/event.rst [new file with mode: 0644]
doc/usage/index.rst
drivers/block/blk-uclass.c
drivers/block/sandbox.c
drivers/bootcount/Kconfig
drivers/bootcount/Makefile
drivers/bootcount/pmic_pfuze100.c [new file with mode: 0644]
drivers/clk/clk_scmi.c
drivers/core/Kconfig
drivers/core/device-remove.c
drivers/core/device.c
drivers/core/ofnode.c
drivers/core/root.c
drivers/ddr/fsl/Kconfig
drivers/dma/Kconfig
drivers/dma/Makefile
drivers/dma/xilinx_dpdma.c [new file with mode: 0644]
drivers/firmware/firmware-zynqmp.c
drivers/firmware/scmi/sandbox-scmi_agent.c
drivers/firmware/scmi/sandbox-scmi_devices.c
drivers/firmware/scmi/scmi_agent-uclass.c
drivers/gpio/Kconfig
drivers/gpio/Makefile
drivers/gpio/gpio-aspeed.c [new file with mode: 0644]
drivers/gpio/gpio_slg7xl45106.c [new file with mode: 0644]
drivers/i2c/i2c-cdns.c
drivers/led/Kconfig
drivers/led/Makefile
drivers/led/led_bcm6753.c [new file with mode: 0644]
drivers/mmc/omap_hsmmc.c
drivers/mmc/zynq_sdhci.c
drivers/mtd/Kconfig
drivers/mtd/nand/raw/Kconfig
drivers/mtd/nand/raw/brcmnand/Makefile
drivers/mtd/nand/raw/brcmnand/bcm6753_nand.c [new file with mode: 0644]
drivers/mtd/nand/raw/zynq_nand.c
drivers/net/Kconfig
drivers/net/fec_mxc.c
drivers/net/mcfmii.c
drivers/net/phy/Kconfig
drivers/net/phy/Makefile
drivers/net/phy/ethernet_id.c [new file with mode: 0644]
drivers/net/phy/phy.c
drivers/pci/pci-aardvark.c
drivers/pci/pci-rcar-gen3.c
drivers/pci/pci_mpc85xx.c
drivers/pci/pci_mvebu.c
drivers/pci/pci_tegra.c
drivers/pci/pcie_dw_mvebu.c
drivers/pci/pcie_fsl.c
drivers/pci/pcie_imx.c
drivers/pci/pcie_iproc.c
drivers/pci/pcie_rockchip.c
drivers/pinctrl/Kconfig
drivers/pinctrl/Makefile
drivers/pinctrl/aspeed/pinctrl_ast2600.c
drivers/pinctrl/pinctrl-zynqmp.c [new file with mode: 0644]
drivers/power/domain/zynqmp-power-domain.c
drivers/power/regulator/scmi_regulator.c
drivers/pwm/Kconfig
drivers/pwm/Makefile
drivers/pwm/pwm-aspeed.c [new file with mode: 0644]
drivers/ram/aspeed/Kconfig
drivers/reset/reset-scmi.c
drivers/video/Kconfig
drivers/video/Makefile
drivers/video/video-uclass.c
drivers/video/zynqmp_dpsub.c [new file with mode: 0644]
drivers/watchdog/Kconfig
env/Kconfig
fs/Kconfig
fs/Makefile
fs/erofs/Kconfig [new file with mode: 0644]
fs/erofs/Makefile [new file with mode: 0644]
fs/erofs/data.c [new file with mode: 0644]
fs/erofs/decompress.c [new file with mode: 0644]
fs/erofs/decompress.h [new file with mode: 0644]
fs/erofs/erofs_fs.h [new file with mode: 0644]
fs/erofs/fs.c [new file with mode: 0644]
fs/erofs/internal.h [new file with mode: 0644]
fs/erofs/namei.c [new file with mode: 0644]
fs/erofs/super.c [new file with mode: 0644]
fs/erofs/zmap.c [new file with mode: 0644]
fs/fs.c
include/asm-generic/global_data.h
include/asm-generic/u-boot.h
include/configs/10m50_devboard.h
include/configs/3c120_devboard.h
include/configs/M5208EVBE.h
include/configs/M5235EVB.h
include/configs/M5249EVB.h
include/configs/M5272C3.h
include/configs/M5275EVB.h
include/configs/M5282EVB.h
include/configs/M53017EVB.h
include/configs/M5329EVB.h
include/configs/M5373EVB.h
include/configs/MCR3000.h
include/configs/MPC837XERDB.h
include/configs/MPC8540ADS.h [deleted file]
include/configs/MPC8548CDS.h
include/configs/MPC8560ADS.h [deleted file]
include/configs/P1010RDB.h
include/configs/P2041RDB.h
include/configs/SBx81LIFKW.h
include/configs/SBx81LIFXCAT.h
include/configs/T102xRDB.h
include/configs/T104xRDB.h
include/configs/T208xQDS.h
include/configs/T208xRDB.h
include/configs/T4240RDB.h
include/configs/am335x_evm.h
include/configs/am335x_guardian.h
include/configs/am335x_shc.h
include/configs/am3517_evm.h
include/configs/am43xx_evm.h
include/configs/am57xx_evm.h
include/configs/apalis-imx8x.h
include/configs/apalis-tk1.h
include/configs/aristainetos2.h
include/configs/aspeed-common.h
include/configs/at91-sama5_common.h
include/configs/at91sam9260ek.h
include/configs/at91sam9261ek.h
include/configs/at91sam9263ek.h
include/configs/at91sam9m10g45ek.h
include/configs/at91sam9n12ek.h
include/configs/at91sam9rlek.h
include/configs/at91sam9x5ek.h
include/configs/axs10x.h
include/configs/baltos.h
include/configs/bk4r1.h
include/configs/blanche.h
include/configs/bmips_common.h
include/configs/broadcom_bcm96753ref.h [new file with mode: 0644]
include/configs/brppt2.h
include/configs/bur_cfg_common.h
include/configs/capricorn-common.h
include/configs/cei-tk1-som.h
include/configs/cgtqmx8.h
include/configs/chiliboard.h
include/configs/chromebook_samus.h
include/configs/cl-som-imx7.h
include/configs/cm_fx6.h
include/configs/cm_t43.h
include/configs/cobra5272.h
include/configs/colibri_pxa270.h
include/configs/colibri_t20.h
include/configs/controlcenterdc.h
include/configs/corenet_ds.h
include/configs/corvus.h
include/configs/da850evm.h
include/configs/dart_6ul.h
include/configs/db-mv784mp-gp.h
include/configs/devkit3250.h
include/configs/devkit8000.h
include/configs/dh_imx6.h
include/configs/dockstar.h
include/configs/dra7xx_evm.h
include/configs/draak.h
include/configs/dragonboard410c.h
include/configs/dragonboard820c.h
include/configs/dreamplug.h
include/configs/eb_cpu5282.h
include/configs/ebisu.h
include/configs/edminiv2.h
include/configs/efi-x86_app.h
include/configs/el6x_common.h
include/configs/embestmx6boards.h
include/configs/emsdp.h
include/configs/espresso7420.h
include/configs/ethernut5.h
include/configs/exynos4-common.h
include/configs/exynos5-common.h
include/configs/exynos5-dt-common.h
include/configs/exynos78x0-common.h
include/configs/gardena-smart-gateway-at91sam.h
include/configs/gazerbeam.h
include/configs/goflexhome.h
include/configs/highbank.h
include/configs/hikey.h
include/configs/hsdk-4xd.h
include/configs/hsdk.h
include/configs/ib62x0.h
include/configs/iconnect.h
include/configs/ids8313.h
include/configs/imx6_logic.h
include/configs/imx7-cm.h
include/configs/imx8mm-cl-iot-gate.h
include/configs/imx8mm_beacon.h
include/configs/imx8mm_evk.h
include/configs/imx8mm_venice.h
include/configs/imx8mn_beacon.h
include/configs/imx8mn_var_som.h
include/configs/imx8mn_venice.h
include/configs/imx8mp_evk.h
include/configs/imx8mp_rsb3720.h
include/configs/imx8mq_cm.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/imx8ulp_evk.h
include/configs/integratorap.h
include/configs/integratorcp.h
include/configs/iot_devkit.h
include/configs/j721e_evm.h
include/configs/j721s2_evm.h
include/configs/jetson-tk1.h
include/configs/km/keymile-common.h
include/configs/km/km-mpc8309.h
include/configs/km/km-mpc83xx.h
include/configs/km/pg-wcom-ls102xa.h
include/configs/kmcent2.h
include/configs/kontron-sl-mx6ul.h
include/configs/kontron_pitx_imx8m.h
include/configs/kontron_sl28.h
include/configs/kp_imx53.h
include/configs/kp_imx6q_tpc.h
include/configs/kzm9g.h
include/configs/legoev3.h
include/configs/liteboard.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/ls1021aqds.h
include/configs/ls1021atsn.h
include/configs/ls1021atwr.h
include/configs/ls1028a_common.h
include/configs/ls1043aqds.h
include/configs/ls1043ardb.h
include/configs/ls1046afrwy.h
include/configs/ls1046aqds.h
include/configs/ls1046ardb.h
include/configs/ls1088a_common.h
include/configs/ls1088aqds.h
include/configs/ls1088ardb.h
include/configs/ls2080a_common.h
include/configs/ls2080aqds.h
include/configs/ls2080ardb.h
include/configs/lsxl.h
include/configs/lx2160a_common.h
include/configs/lx2160aqds.h
include/configs/lx2160ardb.h
include/configs/lx2162aqds.h
include/configs/m53menlo.h
include/configs/maxbcm.h
include/configs/meesc.h
include/configs/microblaze-generic.h
include/configs/mvebu_armada-37xx.h
include/configs/mvebu_armada-8k.h
include/configs/mx23_olinuxino.h
include/configs/mx23evk.h
include/configs/mx28evk.h
include/configs/mx51evk.h
include/configs/mx53cx9020.h
include/configs/mx53loco.h
include/configs/mx53ppd.h
include/configs/mx6_common.h
include/configs/mx6sabre_common.h
include/configs/mx6sxsabreauto.h
include/configs/mx6sxsabresd.h
include/configs/mx6ul_14x14_evk.h
include/configs/mx6ullevk.h
include/configs/mx7_common.h
include/configs/mx7ulp_com.h
include/configs/mx7ulp_evk.h
include/configs/mxs.h
include/configs/nitrogen6x.h
include/configs/novena.h
include/configs/npi_imx6ull.h
include/configs/nsa310s.h
include/configs/nsim.h
include/configs/o4-imx6ull-nano.h
include/configs/octeontx2_common.h
include/configs/octeontx_common.h
include/configs/odroid_xu3.h
include/configs/omapl138_lcdk.h
include/configs/origen.h
include/configs/p1_p2_rdb_pc.h
include/configs/pic32mzdask.h
include/configs/pico-imx6.h
include/configs/pico-imx6ul.h
include/configs/pico-imx8mq.h
include/configs/pm9261.h
include/configs/pm9263.h
include/configs/pm9g45.h
include/configs/pogo_e02.h
include/configs/pogo_v4.h
include/configs/pomelo.h [new file with mode: 0644]
include/configs/presidio_asic.h
include/configs/qemu-arm.h
include/configs/qemu-ppce500.h
include/configs/salvator-x.h
include/configs/sam9x60ek.h
include/configs/sama7g5ek.h
include/configs/siemens-am33x-common.h
include/configs/smartweb.h
include/configs/smdk5250.h
include/configs/smdk5420.h
include/configs/smdkv310.h
include/configs/snapper9260.h
include/configs/snapper9g45.h
include/configs/snow.h
include/configs/socfpga_arria5_secu1.h
include/configs/socfpga_dbm_soc1.h
include/configs/socfpga_is1.h
include/configs/socfpga_mcvevk.h
include/configs/socfpga_soc64_common.h
include/configs/socfpga_vining_fpga.h
include/configs/socrates.h
include/configs/somlabs_visionsom_6ull.h
include/configs/spring.h
include/configs/stih410-b2260.h
include/configs/stm32mp15_common.h
include/configs/stmark2.h
include/configs/stv0991.h
include/configs/sun6i.h
include/configs/sun7i.h
include/configs/sun8i.h
include/configs/sunxi-common.h
include/configs/taurus.h
include/configs/tb100.h
include/configs/ten64.h
include/configs/thunderx_88xx.h
include/configs/ti814x_evm.h
include/configs/ti816x_evm.h
include/configs/ti_am335x_common.h
include/configs/ti_armv7_keystone2.h
include/configs/tqma6.h
include/configs/tqma6_mba6.h
include/configs/tqma6_wru4.h
include/configs/turris_mox.h
include/configs/ulcb.h
include/configs/uniphier.h
include/configs/usb_a9263.h
include/configs/verdin-imx8mm.h
include/configs/verdin-imx8mp.h
include/configs/vexpress_aemv8.h
include/configs/vexpress_common.h
include/configs/vf610twr.h
include/configs/vinco.h
include/configs/vining_2000.h
include/configs/work_92105.h
include/configs/x86-chromebook.h
include/configs/x86-common.h
include/configs/xea.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/xpress.h
include/configs/xtfpga.h
include/configs/zynq-common.h
include/dm/device-internal.h
include/dm/ofnode.h
include/dm/pinctrl.h
include/env_default.h
include/erofs.h [new file with mode: 0644]
include/event.h [new file with mode: 0644]
include/event_internal.h [new file with mode: 0644]
include/fs.h
include/init.h
include/linux/math64.h
include/log.h
include/net.h
include/pci.h
include/pci_ids.h
include/phy.h
include/power/pfuze100_pmic.h
include/scmi_agent.h
include/scmi_protocols.h
include/u-boot/lz4.h
include/zynqmp_firmware.h
lib/lz4.c
lib/lz4_wrapper.c
net/Kconfig
net/arp.c
net/bootp.c
net/nfs.c
net/rarp.c
net/tftp.c
scripts/config_whitelist.txt
scripts/event_dump.py [new file with mode: 0755]
test/cmd/pinmux.c
test/common/Makefile
test/common/event.c [new file with mode: 0644]
test/dm/scmi.c
test/image/spl_load.c
test/py/tests/test_android/test_avb.py
test/py/tests/test_bind.py
test/py/tests/test_event_dump.py [new file with mode: 0644]
test/py/tests/test_fs/test_erofs.py [new file with mode: 0644]
test/py/tests/vboot_evil.py
test/py/u_boot_console_base.py
test/test-main.c
tools/binman/binman.rst
tools/binman/cmdline.py
tools/binman/control.py
tools/binman/elf.py
tools/binman/elf_test.py
tools/binman/entries.rst
tools/binman/entry.py
tools/binman/entry_test.py
tools/binman/etype/_testing.py
tools/binman/etype/blob.py
tools/binman/etype/blob_dtb.py
tools/binman/etype/blob_ext_list.py
tools/binman/etype/blob_phase.py
tools/binman/etype/cbfs.py
tools/binman/etype/fdtmap.py
tools/binman/etype/files.py
tools/binman/etype/fit.py
tools/binman/etype/gbb.py
tools/binman/etype/intel_ifwi.py
tools/binman/etype/mkimage.py
tools/binman/etype/section.py
tools/binman/etype/u_boot_dtb_with_ucode.py
tools/binman/etype/vblock.py
tools/binman/ftest.py
tools/binman/main.py
tools/binman/test/088_extend_size.dts [moved from tools/binman/test/088_expand_size.dts with 88% similarity]
tools/binman/test/089_extend_size_bad.dts [moved from tools/binman/test/089_expand_size_bad.dts with 90% similarity]
tools/binman/test/121_entry_extend.dts [moved from tools/binman/test/121_entry_expand.dts with 100% similarity]
tools/binman/test/122_entry_extend_twice.dts [moved from tools/binman/test/122_entry_expand_twice.dts with 100% similarity]
tools/binman/test/123_entry_extend_section.dts [moved from tools/binman/test/123_entry_expand_section.dts with 100% similarity]
tools/binman/test/170_fit_fdt.dts
tools/binman/test/224_fit_bad_oper.dts
tools/binman/test/225_expand_size_bad.dts [new file with mode: 0644]
tools/binman/test/226_fit_split_elf.dts [new file with mode: 0644]
tools/binman/test/227_fit_bad_dir.dts [new file with mode: 0644]
tools/binman/test/228_fit_bad_dir_config.dts [new file with mode: 0644]
tools/binman/test/229_mkimage_missing.dts [new file with mode: 0644]
tools/buildman/bsettings.py
tools/buildman/builder.py
tools/buildman/cfgutil.py
tools/buildman/func_test.py
tools/buildman/kconfiglib.py
tools/buildman/main.py
tools/concurrencytest/__init__.py [new file with mode: 0644]
tools/docker/Dockerfile
tools/dtoc/fdt.py
tools/dtoc/fdt_util.py
tools/dtoc/test/dtoc_test_simple.dts
tools/dtoc/test_dtoc.py
tools/dtoc/test_fdt.py
tools/moveconfig.py
tools/patman/checkpatch.py
tools/patman/command.py
tools/patman/commit.py
tools/patman/cros_subprocess.py
tools/patman/func_test.py
tools/patman/patchstream.py
tools/patman/series.py
tools/patman/settings.py
tools/patman/tools.py

index db452916d094c8d13d0964c194b3e21a3bf2ec46..cd54688881d7318b29077ac273bee2fa6ef9d0bf 100644 (file)
@@ -2,7 +2,7 @@ variables:
   windows_vm: windows-2019
   ubuntu_vm: ubuntu-18.04
   macos_vm: macOS-10.15
-  ci_runner_image: trini/u-boot-gitlab-ci-runner:focal-20220113-03Feb2022
+  ci_runner_image: trini/u-boot-gitlab-ci-runner:focal-20220302-15Mar2022
   # Add '-u 0' options for Azure pipelines, otherwise we get "permission
   # denied" error when it tries to "useradd -m -u 1001 vsts_azpcontainer",
   # since our $(ci_runner_image) user is not root.
@@ -71,7 +71,7 @@ stages:
              grep '#define[[:blank:]]CONFIG_' $CFG | \
                 sed -n 's/#define.\(CONFIG_[A-Za-z0-9_]*\).*/\1/p' | \
                 sort -u > ${KUSEDLST} || true
-             NUM=`comm -12 --total --output-delimiter=, ${KSYMLST} ${KUSEDLST} | \
+             NUM=`comm -123 --total --output-delimiter=, ${KSYMLST} ${KUSEDLST} | \
                 cut -d , -f 3`
              if [[ $NUM -ne 0 ]]; then
                 echo "Unmigrated symbols found in $CFG"
@@ -202,6 +202,28 @@ stages:
           export PATH=/opt/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin:$PATH
           test/nokia_rx51_test.sh
 
+  - job: pylint
+    displayName: Check for any pylint regressions
+    pool:
+      vmImage: $(ubuntu_vm)
+    container:
+      image: $(ci_runner_image)
+      options: $(container_option)
+    steps:
+      - script: |
+          cd ${WORK_DIR}
+          export USER=azure
+          pip install -r test/py/requirements.txt
+          pip install asteval pylint==2.12.2 pyopenssl
+          export PATH=${PATH}:~/.local/bin
+          echo "[MASTER]" >> .pylintrc
+          echo "load-plugins=pylint.extensions.docparams" >> .pylintrc
+          export UBOOT_TRAVIS_BUILD_DIR=/tmp/sandbox_spl
+          ./tools/buildman/buildman -T0 -o ${UBOOT_TRAVIS_BUILD_DIR} -w --board sandbox_spl
+          pylint --version
+          export PYTHONPATH=${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt
+          make pylint_err
+
 - stage: test_py
   jobs:
   - job: test_py
index 85b52966346a2bb82a2b47818fb825a3195fbcac..7df7e939f5422e30a1b98caf9d5070dc1f138305 100644 (file)
@@ -2,7 +2,7 @@
 
 # Grab our configured image.  The source for this is found at:
 # https://source.denx.de/u-boot/gitlab-ci-runner
-image: trini/u-boot-gitlab-ci-runner:focal-20220113-03Feb2022
+image: trini/u-boot-gitlab-ci-runner:focal-20220302-15Mar2022
 
 # We run some tests in different order, to catch some failures quicker.
 stages:
@@ -132,7 +132,7 @@ check for migrated symbols in board header:
          grep '#define[[:blank:]]CONFIG_' $CFG |
             sed -n 's/#define.\(CONFIG_[A-Za-z0-9_]*\).*/\1/p' |
             sort -u > ${KUSEDLST} || true;
-         NUM=`comm -12 --total --output-delimiter=, ${KSYMLST} ${KUSEDLST} |
+         NUM=`comm -123 --total --output-delimiter=, ${KSYMLST} ${KUSEDLST} |
             cut -d , -f 3`;
          if [[ $NUM -ne 0 ]]; then
             echo "Unmigrated symbols found in $CFG";
@@ -215,6 +215,22 @@ Run tests for Nokia RX-51 (aka N900):
     - export PATH=/opt/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin:$PATH;
       test/nokia_rx51_test.sh
 
+# Check for any pylint regressions
+Run pylint:
+  stage: testsuites
+  script:
+    - pip install -r test/py/requirements.txt
+    - pip install asteval pylint==2.12.2 pyopenssl
+    - export PATH=${PATH}:~/.local/bin
+    - echo "[MASTER]" >> .pylintrc
+    - echo "load-plugins=pylint.extensions.docparams" >> .pylintrc
+    - export UBOOT_TRAVIS_BUILD_DIR=/tmp/sandbox_spl
+    - ./tools/buildman/buildman -T0 -o ${UBOOT_TRAVIS_BUILD_DIR} -w
+        --board sandbox_spl
+    - pylint --version
+    - export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt"
+    - make pylint_err
+
 # Test sandbox with test.py
 sandbox test.py:
   variables:
diff --git a/Kconfig b/Kconfig
index 9dd9ec7f6dfb38a469ef52700b742814f9f3fda4..112745440b5a2a3ff4887838a602f2d8ca257604 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -72,15 +72,32 @@ config CLANG_VERSION
        int
        default $(shell,$(srctree)/scripts/clang-version.sh $(CC))
 
+choice
+       prompt "Optimization level"
+       default CC_OPTIMIZE_FOR_SIZE
+
 config CC_OPTIMIZE_FOR_SIZE
        bool "Optimize for size"
-       default y
        help
-         Enabling this option will pass "-Os" instead of "-O2" to gcc
-         resulting in a smaller U-Boot image.
+         Enabling this option will pass "-Os" to gcc, resulting in a smaller
+         U-Boot image.
 
          This option is enabled by default for U-Boot.
 
+config CC_OPTIMIZE_FOR_SPEED
+       bool "Optimize for speed"
+       help
+         Enabling this option will pass "-O2" to gcc, resulting in a faster
+         U-Boot image.
+
+config CC_OPTIMIZE_FOR_DEBUG
+       bool "Optimize for debugging"
+       help
+         Enabling this option will pass "-Og" to gcc, enabling optimizations
+         which don't interfere with debugging.
+
+endchoice
+
 config OPTIMIZE_INLINING
        bool "Allow compiler to uninline functions marked 'inline' in full U-Boot"
        help
index 96582fc6777774633d84ba8fbcee3c16ed349025..74d5263fb1a9c11172708e019a92e77664c2134c 100644 (file)
@@ -621,8 +621,10 @@ F: drivers/i2c/muxes/pca954x.c
 F:     drivers/i2c/zynq_i2c.c
 F:     drivers/mmc/zynq_sdhci.c
 F:     drivers/mtd/nand/raw/zynq_nand.c
+F:     drivers/net/phy/ethernet_id.c
 F:     drivers/net/phy/xilinx_phy.c
 F:     drivers/net/zynq_gem.c
+F:     drivers/pinctrl/pinctrl-zynqmp.c
 F:     drivers/serial/serial_zynq.c
 F:     drivers/spi/zynq_qspi.c
 F:     drivers/spi/zynq_spi.c
@@ -640,6 +642,7 @@ F:  arch/arm/mach-zynqmp/
 F:     drivers/clk/clk_zynqmp.c
 F:     driver/firmware/firmware-zynqmp.c
 F:     drivers/fpga/zynqpl.c
+F:     drivers/gpio/gpio_slg7xl45106.c
 F:     drivers/gpio/zynq_gpio.c
 F:     drivers/gpio/zynqmp_gpio_modepin.c
 F:     drivers/i2c/i2c-cdns.c
@@ -659,7 +662,6 @@ F:  drivers/soc/soc_xilinx_zynqmp.c
 F:     drivers/spi/zynq_qspi.c
 F:     drivers/spi/zynq_spi.c
 F:     drivers/timer/cadence-ttc.c
-F:     drivers/usb/host/ehci-zynq.c
 F:     drivers/video/seps525.c
 F:     drivers/watchdog/cdns_wdt.c
 F:     include/zynqmppl.h
@@ -813,6 +815,25 @@ S: Maintained
 F:     doc/usage/environment.rst
 F:     scripts/env2string.awk
 
+EROFS
+M:     Huang Jianan <jnhuang95@gmail.com>
+L:     linux-erofs@lists.ozlabs.org
+S:     Maintained
+F:     cmd/erofs.c
+F:     fs/erofs/
+F:     include/erofs.h
+F:     test/py/tests/test_fs/test_erofs.py
+
+EVENTS
+M:     Simon Glass <sjg@chromium.org>
+S:     Maintained
+F:     cmd/event.c
+F:     common/event.c
+F:     include/event.h
+F:     scripts/event_dump.py
+F:     test/common/event.c
+F:     test/py/tests/test_event_dump.py
+
 FASTBOOT
 S:     Orphaned
 F:     cmd/fastboot.c
index 69983888841ab8ba32653b9f6f1be37bd3f24b43..6a0234a866619787d9763feb2a6331f63c3735ae 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -521,7 +521,8 @@ env_h := include/generated/environment.h
 
 no-dot-config-targets := clean clobber mrproper distclean \
                         help %docs check% coccicheck \
-                        ubootversion backup tests check qcheck tcheck pylint
+                        ubootversion backup tests check qcheck tcheck pylint \
+                        pylint_err
 
 config-targets := 0
 mixed-targets  := 0
@@ -682,10 +683,16 @@ endif
 
 ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
 KBUILD_CFLAGS  += -Os
-else
+endif
+
+ifdef CONFIG_CC_OPTIMIZE_FOR_SPEED
 KBUILD_CFLAGS  += -O2
 endif
 
+ifdef CONFIG_CC_OPTIMIZE_FOR_DEBUG
+KBUILD_CFLAGS  += -Og
+endif
+
 LTO_CFLAGS :=
 LTO_FINAL_LDFLAGS :=
 export LTO_CFLAGS LTO_FINAL_LDFLAGS
@@ -2262,7 +2269,7 @@ distclean: mrproper
        @rm -f boards.cfg CHANGELOG
 
 # See doc/develop/python_cq.rst
-PHONY += pylint
+PHONY += pylint pylint_err
 PYLINT_BASE := scripts/pylint.base
 PYLINT_CUR := pylint.cur
 PYLINT_DIFF := pylint.diff
@@ -2304,6 +2311,11 @@ pylint:
                        echo "No pylint regressions"; \
                fi
 
+# Check for errors only
+pylint_err:
+       $(Q)pylint -E  -j 0 --ignore-imports=yes \
+               $(shell find tools test -name "*.py")
+
 backup:
        F=`basename $(srctree)` ; cd .. ; \
        gtar --force-local -zcvf `LC_ALL=C date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F
diff --git a/README b/README
index f51f392111f9d9209f498238cbf4f4c2a6db714c..805c8f0d0487da140b0a5029cf81ee02a1579ea5 100644 (file)
--- a/README
+++ b/README
@@ -374,14 +374,6 @@ The following options need to be configured:
                See Freescale App Note 4493 for more information about
                this erratum.
 
-               CONFIG_A003399_NOR_WORKAROUND
-               Enables a workaround for IFC erratum A003399. It is only
-               required during NOR boot.
-
-               CONFIG_A008044_WORKAROUND
-               Enables a workaround for T1040/T1042 erratum A008044. It is only
-               required during NAND boot and valid for Rev 1.0 SoC revision
-
                CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY
 
                This is the value to write into CCSR offset 0x18600
@@ -565,13 +557,6 @@ The following options need to be configured:
                boards with QUICC Engines require OF_QE to set UCC MAC
                addresses
 
-               CONFIG_OF_SYSTEM_SETUP
-
-               Other code has addition modification that it wants to make
-               to the flat device tree before handing it off to the kernel.
-               This causes ft_system_setup() to be called before booting
-               the kernel.
-
                CONFIG_OF_IDE_FIXUP
 
                U-Boot can detect if an IDE device is present or not.
@@ -1009,10 +994,6 @@ The following options need to be configured:
                display); also select one of the supported displays
                by defining one of these:
 
-               CONFIG_ATMEL_LCD:
-
-                       HITACHI TX09D70VM1CCA, 3.5", 240x320.
-
                CONFIG_NEC_NL6448AC33:
 
                        NEC NL6448AC33-18. Active, color, single scan.
@@ -1090,13 +1071,6 @@ The following options need to be configured:
 
                The clock frequency of the MII bus
 
-               CONFIG_PHY_RESET_DELAY
-
-               Some PHY like Intel LXT971A need extra delay after
-               reset before any MII register access is possible.
-               For such PHY, set this option to the usec delay
-               required. (minimum 300usec for LXT971A)
-
                CONFIG_PHY_CMD_DELAY (ppc4xx)
 
                Some PHY like Intel LXT971A need extra delay after
@@ -1172,35 +1146,6 @@ The following options need to be configured:
                from a BOOTP client in networks with unusually high latency.
 
 - DHCP Advanced Options:
-               You can fine tune the DHCP functionality by defining
-               CONFIG_BOOTP_* symbols:
-
-               CONFIG_BOOTP_NISDOMAIN
-               CONFIG_BOOTP_BOOTFILESIZE
-               CONFIG_BOOTP_NTPSERVER
-               CONFIG_BOOTP_TIMEOFFSET
-               CONFIG_BOOTP_VENDOREX
-               CONFIG_BOOTP_MAY_FAIL
-
-               CONFIG_BOOTP_MAY_FAIL - If the DHCP server is not found
-               after the configured retry count, the call will fail
-               instead of starting over.  This can be used to fail over
-               to Link-local IP address configuration if the DHCP server
-               is not available.
-
-               CONFIG_BOOTP_DHCP_REQUEST_DELAY
-
-               A 32bit value in microseconds for a delay between
-               receiving a "DHCP Offer" and sending the "DHCP Request".
-               This fixes a problem with certain DHCP servers that don't
-               respond 100% of the time to a "DHCP request". E.g. On an
-               AT91RM9200 processor running at 180MHz, this delay needed
-               to be *at least* 15,000 usec before a Windows Server 2003
-               DHCP server would reply 100% of the time. I recommend at
-               least 50,000 usec to be safe. The alternative is to hope
-               that one of the retries will be successful but note that
-               the DHCP timeout and retry process takes a longer than
-               this delay.
 
  - Link-local IP address negotiation:
                Negotiate with other link-local clients on the local network
@@ -1592,24 +1537,6 @@ The following options need to be configured:
                        FLAGADM
 
 - Error Recovery:
-               CONFIG_NET_RETRY_COUNT
-
-               This variable defines the number of retries for
-               network operations like ARP, RARP, TFTP, or BOOTP
-               before giving up the operation. If not defined, a
-               default value of 5 is used.
-
-               CONFIG_ARP_TIMEOUT
-
-               Timeout waiting for an ARP reply in milliseconds.
-
-               CONFIG_NFS_TIMEOUT
-
-               Timeout in milliseconds used in NFS protocol.
-               If you encounter "ERROR: Cannot umount" in nfs command,
-               try longer timeout such as
-               #define CONFIG_NFS_TIMEOUT 10000UL
-
        Note:
 
                In the current implementation, the local variables
@@ -1674,26 +1601,6 @@ The following options need to be configured:
                this is instead controlled by the value of
                /config/load-environment.
 
-- TFTP Fixed UDP Port:
-               CONFIG_TFTP_PORT
-
-               If this is defined, the environment variable tftpsrcp
-               is used to supply the TFTP UDP source port value.
-               If tftpsrcp isn't defined, the normal pseudo-random port
-               number generator is used.
-
-               Also, the environment variable tftpdstp is used to supply
-               the TFTP UDP destination port value.  If tftpdstp isn't
-               defined, the normal port 69 is used.
-
-               The purpose for tftpsrcp is to allow a TFTP server to
-               blindly start the TFTP transfer using the pre-configured
-               target IP address and UDP port. This has the effect of
-               "punching through" the (Windows XP) firewall, allowing
-               the remainder of the TFTP transfer to proceed normally.
-               A better solution is to properly configure the firewall,
-               but sometimes that is not allowed.
-
                CONFIG_STANDALONE_LOAD_ADDR
 
                This option defines a board specific value for the
@@ -1876,10 +1783,6 @@ The following options need to be configured:
                CONFIG_SPL_SKIP_RELOCATE
                Avoid SPL relocation
 
-               CONFIG_SPL_NAND_IDENT
-               SPL uses the chip ID list to identify the NAND flash.
-               Requires CONFIG_SPL_NAND_BASE.
-
                CONFIG_SPL_UBI
                Support for a lightweight UBI (fastmap) scanner and
                loader
@@ -1972,7 +1875,6 @@ typically in board_init_f() and board_init_r().
 - CONFIG_BOARD_EARLY_INIT_F: Call board_early_init_f()
 - CONFIG_BOARD_EARLY_INIT_R: Call board_early_init_r()
 - CONFIG_BOARD_LATE_INIT: Call board_late_init()
-- CONFIG_BOARD_POSTCLK_INIT: Call board_postclk_init()
 
 Configuration Settings:
 -----------------------
@@ -2196,14 +2098,6 @@ Configuration Settings:
                while unprotecting/erasing/programming. Please only enable
                this option if you really know what you are doing.
 
-- CONFIG_SYS_RX_ETH_BUFFER:
-               Defines the number of Ethernet receive buffers. On some
-               Ethernet controllers it is recommended to set this value
-               to 8 or even higher (EEPRO100 or 405 EMAC), since all
-               buffers can be full shortly after enabling the interface
-               on high Ethernet traffic.
-               Defaults to 4 if not defined.
-
 - CONFIG_ENV_MAX_ENTRIES
 
        Maximum number of entries in the hash table that is used
@@ -2301,12 +2195,6 @@ Note: once the monitor has been relocated, then it will complain if
 the default environment is used; a new CRC is computed as soon as you
 use the "saveenv" command to store a valid environment.
 
-- CONFIG_SYS_FAULT_ECHO_LINK_DOWN:
-               Echo the inverted Ethernet link state to the fault LED.
-
-               Note: If this option is active, then CONFIG_SYS_FAULT_MII_ADDR
-                     also needs to be defined.
-
 - CONFIG_SYS_FAULT_MII_ADDR:
                MII address of the PHY to check for the Ethernet link state.
 
index e6191446a357c3250ee06406c01755cae406ad9a..1b35fda64cc81c293d0af06a3361a7a89f8bf497 100644 (file)
@@ -94,6 +94,7 @@ config NIOS2
        bool "Nios II architecture"
        select CPU
        select DM
+       imply DM_EVENT
        select OF_CONTROL
        select SUPPORT_OF_CONTROL
        imply CMD_DM
@@ -113,6 +114,7 @@ config RISCV
        select DM
        imply DM_SERIAL
        imply DM_ETH
+       imply DM_EVENT
        imply DM_MMC
        imply DM_SPI
        imply DM_SPI_FLASH
@@ -238,6 +240,7 @@ config X86
        imply CMD_SF_TEST
        imply CMD_ZBOOT
        imply DM_ETH
+       imply DM_EVENT
        imply DM_GPIO
        imply DM_KEYBOARD
        imply DM_MMC
index 4567c183fb8401ce8cf632f16071eaf9698fd965..474ce4a555e43d0e1bd357ba725f67fea09adfbc 100644 (file)
@@ -617,6 +617,13 @@ config ARCH_BCM63158
        select OF_CONTROL
        imply CMD_DM
 
+config ARCH_BCM6753
+       bool "Broadcom BCM6753 family"
+       select CPU_V7A
+       select DM
+       select OF_CONTROL
+       imply CMD_DM
+
 config ARCH_BCM68360
        bool "Broadcom BCM68360 family"
        select DM
@@ -767,6 +774,7 @@ config ARCH_OMAP2PLUS
        select SUPPORT_SPL
        imply TI_SYSC if DM && OF_CONTROL
        imply FIT
+       imply DM_EVENT
 
 config ARCH_MESON
        bool "Amlogic Meson"
@@ -811,6 +819,7 @@ config ARCH_IMX8
        select MACH_IMX
        select OF_CONTROL
        select ENABLE_ARM_SOC_BOOT0_HOOK
+       imply DM_EVENT
 
 config ARCH_IMX8M
        bool "NXP i.MX8M platform"
@@ -824,6 +833,7 @@ config ARCH_IMX8M
        select DM
        select SUPPORT_SPL
        imply CMD_DM
+       imply DM_EVENT
 
 config ARCH_IMX8ULP
        bool "NXP i.MX8ULP platform"
@@ -834,6 +844,7 @@ config ARCH_IMX8ULP
        select SUPPORT_SPL
        select GPIO_EXTRA_HEADER
        imply CMD_DM
+       imply DM_EVENT
 
 config ARCH_IMXRT
        bool "NXP i.MXRT platform"
@@ -869,6 +880,7 @@ config ARCH_MX31
 
 config ARCH_MX7ULP
        bool "NXP MX7ULP"
+       select BOARD_POSTCLK_INIT
        select CPU_V7A
        select GPIO_EXTRA_HEADER
        select MACH_IMX
@@ -894,6 +906,7 @@ config ARCH_MX7
 
 config ARCH_MX6
        bool "Freescale MX6"
+       select BOARD_POSTCLK_INIT
        select CPU_V7A
        select GPIO_EXTRA_HEADER
        select MACH_IMX
@@ -1975,6 +1988,25 @@ config TARGET_DURIAN
          Support for durian platform.
          It has 2GB Sdram, uart and pcie.
 
+config TARGET_POMELO
+       bool "Support Phytium Pomelo Platform"
+       select ARM64
+       select DM
+       select AHCI
+       select SCSI_AHCI
+       select AHCI_PCI
+       select BLK
+       select PCI
+       select DM_PCI
+       select SCSI
+       select DM_SCSI
+       select DM_SERIAL
+       select DM_ETH if NET
+       imply CMD_PCI
+       help
+          Support for pomelo platform.
+          It has 8GB Sdram, uart and pcie.
+
 config TARGET_PRESIDIO_ASIC
        bool "Support Cortina Presidio ASIC Platform"
        select ARM64
@@ -2206,6 +2238,7 @@ source "board/armltd/vexpress/Kconfig"
 source "board/armltd/vexpress64/Kconfig"
 source "board/cortina/presidio-asic/Kconfig"
 source "board/broadcom/bcm963158/Kconfig"
+source "board/broadcom/bcm96753ref/Kconfig"
 source "board/broadcom/bcm968360bg/Kconfig"
 source "board/broadcom/bcm968580xref/Kconfig"
 source "board/broadcom/bcmns3/Kconfig"
@@ -2245,6 +2278,7 @@ source "board/traverse/ten64/Kconfig"
 source "board/variscite/dart_6ul/Kconfig"
 source "board/vscom/baltos/Kconfig"
 source "board/phytium/durian/Kconfig"
+source "board/phytium/pomelo/Kconfig"
 source "board/xen/xenguest_arm64/Kconfig"
 source "board/keymile/Kconfig"
 
index 2eeef3cba96c6c5f41f0836e0167aa1ed800101b..f1e4e26b8f00f03f308755535bbf9d2ac09e41a5 100644 (file)
@@ -27,6 +27,37 @@ config ARMV7_BOOT_SEC_DEFAULT
        This can be overridden at run-time by setting the bootm_boot_mode env.
        variable to "sec" or "nonsec".
 
+config HAS_ARMV7_SECURE_BASE
+       bool "Enable support for a ahardware secure memory area"
+       default y if ARCH_LS1021A || ARCH_MX7 || ARCH_MX7ULP || ARCH_STM32MP \
+                       || MACH_SUN6I || MACH_SUN7I || MACH_SUN8I || TEGRA124
+
+config ARMV7_SECURE_BASE
+       hex "Base address for secure mode memory"
+       depends on HAS_ARMV7_SECURE_BASE
+       default 0xfff00000 if TEGRA124
+       default 0x2ffc0000 if ARCH_STM32MP
+       default 0x2f000000 if ARCH_MX7ULP
+       default 0x10010000 if ARCH_LS1021A
+       default 0x00900000 if ARCH_MX7
+       default 0x00044000 if MACH_SUN8I
+       default 0x00020000 if MACH_SUN6I || MACH_SUN7I
+
+config ARMV7_SECURE_RESERVE_SIZE
+       hex
+       depends on TEGRA124 && HAS_ARMV7_SECURE_BASE
+       default 0x100000
+       help
+         Reserve top 1M for secure RAM
+
+config ARMV7_SECURE_MAX_SIZE
+       hex
+       depends on ARMV7_SECURE_BASE && ARCH_STM32MP || MACH_SUN6I \
+                       || MACH_SUN7I || MACH_SUN8I
+       default 0xbc00 if MACH_SUN8I && !MACH_SUN8I_H3
+       default 0x3c00 if MACH_SUN8I && MACH_SUN8I_H3
+       default 0x10000
+
 config ARMV7_VIRT
        bool "Enable support for hardware virtualization" if EXPERT
        depends on CPU_V7_HAS_VIRT && ARMV7_NONSEC
index 6a948d7ba7f4233a65357c53fa0d8a1c34086f74..ef1f45650f3ed113bade388923a62228755bee90 100644 (file)
@@ -5,7 +5,7 @@ config ARCH_LS1021A
        select SYS_FSL_DDR_VER_50 if SYS_FSL_DDR
        select SYS_FSL_ERRATUM_A008378
        select SYS_FSL_ERRATUM_A008407
-       select SYS_FSL_ERRATUM_A008850
+       select SYS_FSL_ERRATUM_A008850 if SYS_FSL_DDR
        select SYS_FSL_ERRATUM_A008997 if USB
        select SYS_FSL_ERRATUM_A009007 if USB
        select SYS_FSL_ERRATUM_A009008 if USB
index 8a95ee86a9b74b2ba917447a1d71587605c24eff..c131d92b9938253357e3d634a89eca4817304afd 100644 (file)
@@ -12,7 +12,9 @@
 #include <asm/arch/ls102xa_soc.h>
 #include <asm/arch/ls102xa_stream_id.h>
 #include <fsl_csu.h>
+#ifdef CONFIG_SYS_FSL_ERRATUM_A008850
 #include <fsl_ddr_sdram.h>
+#endif
 
 struct liodn_id_table sec_liodn_tbl[] = {
        SET_SEC_JR_LIODN_ENTRY(0, 0x10, 0x10),
index 9967376ecab939e9a6e9ded0b7eddf65b1f260cb..4d4469c88439d1a4a53d11f4c9a7212d625f3c76 100644 (file)
@@ -31,6 +31,12 @@ config ARMV8_SET_SMPEN
          it can be safely enabled when EL2/EL3 initialized SMPEN bit
          or when CPU implementation doesn't include that register.
 
+config ARMV8_SWITCH_TO_EL1
+       bool "Enable switching to running in EL1"
+       help
+         In some circumstances we need to switch to running in EL1.
+         Enable this option to have U-Boot switch to EL1.
+
 config ARMV8_SPIN_TABLE
        bool "Support spin-table enable method"
        depends on ARMV8_MULTIENTRY && OF_LIBFDT
index 2ded3e4efc902037a29321db69b41fb8be90b923..177f568f26ee30b1830120c7c0e4037d29c05a5c 100644 (file)
@@ -8,7 +8,6 @@
 #include <clock_legacy.h>
 #include <cpu_func.h>
 #include <env.h>
-#include <fsl_ddr_sdram.h>
 #include <init.h>
 #include <hang.h>
 #include <log.h>
@@ -36,6 +35,7 @@
 #endif
 #include <asm/armv8/sec_firmware.h>
 #ifdef CONFIG_SYS_FSL_DDR
+#include <fsl_ddr_sdram.h>
 #include <fsl_ddr.h>
 #endif
 #include <asm/arch/clock.h>
@@ -1632,11 +1632,13 @@ void update_early_mmu_table(void)
 
 __weak int dram_init(void)
 {
+#ifdef CONFIG_SYS_FSL_DDR
        fsl_initdram();
 #if (!defined(CONFIG_SPL) && !defined(CONFIG_TFABOOT)) || \
        defined(CONFIG_SPL_BUILD)
        /* This will break-before-make MMU for DDR */
        update_early_mmu_table();
+#endif
 #endif
 
        return 0;
index 3aa1a9c3e5ccb861450d244ec90369ab3e037df8..2fb4e404a245770d1854bf45d9892869e330e4f5 100644 (file)
@@ -74,15 +74,6 @@ ENDPROC(smp_kick_all_cpus)
 ENTRY(lowlevel_init)
        mov     x29, lr                 /* Save LR */
 
-       /* unmask SError and abort */
-       msr daifclr, #4
-
-       /* Set HCR_EL2[AMO] so SError @EL2 is taken */
-       mrs     x0, hcr_el2
-       orr     x0, x0, #0x20                   /* AMO */
-       msr     hcr_el2, x0
-       isb
-
        switch_el x1, 1f, 100f, 100f    /* skip if not in EL3 */
 1:
 
@@ -209,7 +200,7 @@ ENTRY(lowlevel_init)
 #endif
 
 100:
-       branch_if_master x0, x1, 2f
+       branch_if_master x0, 2f
 
 #if defined(CONFIG_MP) && defined(CONFIG_ARMV8_MULTIENTRY)
        /*
index 91b00a46cce7b9b18dad398379c3d714c1c58ff1..6a6a4f86502bb83522f2e1d8bed8c48b56d51dcb 100644 (file)
@@ -126,6 +126,8 @@ pie_fixup_done:
        b       0f
 2:     mrs     x1, hcr_el2
        tbnz    x1, #34, 1f                     /* HCR_EL2.E2H */
+       orr     x1, x1, #HCR_EL2_AMO_EL2        /* Route SErrors to EL2 */
+       msr     hcr_el2, x1
        set_vbar vbar_el2, x0
        mov     x0, #0x33ff
        msr     cptr_el2, x0                    /* Enable FP/SIMD */
@@ -134,6 +136,7 @@ pie_fixup_done:
        mov     x0, #3 << 20
        msr     cpacr_el1, x0                   /* Enable FP/SIMD */
 0:
+       msr     daifclr, #0x4                   /* Unmask SError interrupts */
 
 #ifdef COUNTER_FREQUENCY
        branch_if_not_highest_el x0, 4f
@@ -172,11 +175,11 @@ pie_fixup_done:
        bl      lowlevel_init
 
 #if defined(CONFIG_ARMV8_SPIN_TABLE) && !defined(CONFIG_SPL_BUILD)
-       branch_if_master x0, x1, master_cpu
+       branch_if_master x0, master_cpu
        b       spin_table_secondary_jump
        /* never return */
 #elif defined(CONFIG_ARMV8_MULTIENTRY)
-       branch_if_master x0, x1, master_cpu
+       branch_if_master x0, master_cpu
 
        /*
         * Slave CPUs
@@ -189,6 +192,7 @@ slave_cpu:
        br      x0                      /* branch to the given address */
 #endif /* CONFIG_ARMV8_MULTIENTRY */
 master_cpu:
+       msr     SPSel, #1               /* make sure we use SP_ELx */
        bl      _main
 
 /*-----------------------------------------------------------------------*/
@@ -301,7 +305,7 @@ WEAK(lowlevel_init)
 #endif
 
 #ifdef CONFIG_ARMV8_MULTIENTRY
-       branch_if_master x0, x1, 2f
+       branch_if_master x0, 2f
 
        /*
         * Slave should wait for master clearing spin table.
index 644ba961a2237b7816130eda72b4105546ebdf5e..beaaf15131cbcc740739d33cb2ac8f9de333d399 100644 (file)
@@ -350,6 +350,7 @@ dtb-$(CONFIG_ARCH_ZYNQMP) += \
        zynqmp-zcu104-revA.dtb                  \
        zynqmp-zcu104-revC.dtb                  \
        zynqmp-zcu106-revA.dtb                  \
+       zynqmp-zcu106-rev1.0.dtb                \
        zynqmp-zcu111-revA.dtb                  \
        zynqmp-zcu1275-revA.dtb                 \
        zynqmp-zcu1275-revB.dtb                 \
@@ -1105,6 +1106,9 @@ dtb-$(CONFIG_ARCH_BCM63158) += \
 dtb-$(CONFIG_ARCH_BCM68360) += \
        bcm968360bg.dtb
 
+dtb-$(CONFIG_ARCH_BCM6753) += \
+       bcm96753ref.dtb
+
 dtb-$(CONFIG_ARCH_BCM6858) += \
        bcm968580xref.dtb
 
@@ -1186,6 +1190,7 @@ dtb-$(CONFIG_TARGET_VEXPRESS64_JUNO) += juno-r2.dtb
 dtb-$(CONFIG_TARGET_TOTAL_COMPUTE) += total_compute.dtb
 
 dtb-$(CONFIG_TARGET_DURIAN) += phytium-durian.dtb
+dtb-$(CONFIG_TARGET_POMELO) += phytium-pomelo.dtb
 
 dtb-$(CONFIG_TARGET_PRESIDIO_ASIC) += ca-presidio-engboard.dtb
 
index b5093020ee9702677daa54f8814696a2d99261c6..5871344edbfa3d1731fad2edf6e464b695a117e2 100644 (file)
@@ -40,6 +40,9 @@
                ethernet1 = &cpsw_emac1;
                spi0 = &spi0;
                spi1 = &spi1;
+               mmc0 = &mmc1;
+               mmc1 = &mmc2;
+               mmc2 = &mmc3;
        };
 
        cpus {
                        };
                };
 
+               target-module@47810000 {
+                       compatible = "ti,sysc-omap2", "ti,sysc";
+                       reg = <0x478102fc 0x4>,
+                             <0x47810110 0x4>,
+                             <0x47810114 0x4>;
+                       reg-names = "rev", "sysc", "syss";
+                       ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
+                                        SYSC_OMAP2_ENAWAKEUP |
+                                        SYSC_OMAP2_SOFTRESET |
+                                        SYSC_OMAP2_AUTOIDLE)>;
+                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
+                                       <SYSC_IDLE_NO>,
+                                       <SYSC_IDLE_SMART>;
+                       ti,syss-mask = <1>;
+                       clocks = <&l3s_clkctrl AM3_L3S_MMC3_CLKCTRL 0>;
+                       clock-names = "fck";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0x0 0x47810000 0x1000>;
+
+                       mmc3: mmc@0 {
+                             compatible = "ti,am335-sdhci";
+                             ti,needs-special-reset;
+                             interrupts = <29>;
+                             reg = <0x0 0x1000>;
+                             status = "disabled";
+                       };
+               };
+
                i2c0: i2c@44e0b000 {
                        compatible = "ti,omap4-i2c";
                        #address-cells = <1>;
                        status = "disabled";
                };
 
-               mmc3: mmc@47810000 {
-                       compatible = "ti,omap4-hsmmc";
-                       ti,hwmods = "mmc3";
-                       ti,needs-special-reset;
-                       interrupts = <29>;
-                       reg = <0x47810000 0x1000>;
-                       status = "disabled";
-               };
-
                wdt2: wdt@44e35000 {
                        compatible = "ti,omap3-wdt";
                        ti,hwmods = "wd_timer2";
index d5a4ce97d1a194385fe3f3ca0325184844a37bfd..1a70630322e48e3e8d95b934b3407b5f045af1e4 100644 (file)
        /delete-property/ u-boot,dm-spl;
 };
 
-/delete-node/ &uart1;
-/delete-node/ &uart2;
-/delete-node/ &mmc2;
-/delete-node/ &mmc3;
+&mmc2 {
+       /delete-property/ u-boot,dm-spl;
+};
+
+&mmc3 {
+       /delete-property/ u-boot,dm-spl;
+};
+
+&uart1 {
+       /delete-property/ u-boot,dm-spl;
+};
+
+&uart2 {
+       /delete-property/ u-boot,dm-spl;
+};
index 54aa2522aaf6b36f8db27568852f381780ac212d..7d8f32bf70db2c632713931ed4aff6d987fe9178 100644 (file)
@@ -1,9 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (C) 2018 Logic PD, Inc - http://www.logicpd.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
+ * Copyright (C) 2018 Logic PD, Inc - https://www.logicpd.com/
  */
 
 #include <dt-bindings/input/input.h>
index 935c471c97e3c1d103005e5ea7df418968aecf8d..a01f9cf047d055e53171f445af13fc962bb9efdd 100644 (file)
@@ -1,9 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
+ * Copyright (C) 2011 Texas Instruments Incorporated - https://www.ti.com/
  */
 /dts-v1/;
 
        };
 
        lcd0: display@0 {
-               compatible = "panel-dpi";
+               /* This isn't the exact LCD, but the timings meet spec */
+               /* To make it work, set CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=4 */
+               compatible = "newhaven,nhd-4.3-480272ef-atxl";
                label = "15";
-               status = "okay";
-               pinctrl-names = "default";
+               backlight = <&bl>;
                enable-gpios = <&gpio6 16 GPIO_ACTIVE_HIGH>;    /* gpio176, lcd INI */
                vcc-supply = <&vdd_io_reg>;
 
                                remote-endpoint = <&dpi_out>;
                        };
                };
-
-               panel-timing {
-                       clock-frequency = <9000000>;
-                       hactive = <480>;
-                       vactive = <272>;
-                       hfront-porch = <3>;
-                       hback-porch = <2>;
-                       hsync-len = <42>;
-                       vback-porch = <3>;
-                       vfront-porch = <4>;
-                       vsync-len = <11>;
-                       hsync-active = <0>;
-                       vsync-active = <0>;
-                       de-active = <1>;
-                       pixelclk-active = <1>;
-               };
        };
 
        bl: backlight {
                pinctrl-0 = <&pwm_pins>;
                ti,timers = <&timer11>;
                #pwm-cells = <3>;
+               ti,clock-source = <0x01>;
        };
 
        /* HS USB Host PHY on PORT 1 */
        hsusb1_phy: hsusb1_phy {
+               pinctrl-names = "default";
+               pinctrl-0 = <&hsusb1_rst_pins>;
                compatible = "usb-nop-xceiv";
                reset-gpios = <&gpio2 25 GPIO_ACTIVE_LOW>; /* gpio_57 */
                #phy-cells = <0>;
 };
 
 &davinci_emac {
-            status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&ethernet_pins>;
+       status = "okay";
 };
 
 &davinci_mdio {
 };
 
 &usbhshost {
+       pinctrl-names = "default";
+       pinctrl-0 = <&hsusb1_pins>;
        port1-mode = "ehci-phy";
 };
 
 };
 
 &omap3_pmx_core {
-       pinctrl-names = "default";
-       pinctrl-0 = <&hsusb1_rst_pins>;
+
+       ethernet_pins: pinmux_ethernet_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x21fe, PIN_INPUT | MUX_MODE0) /* rmii_mdio_data */
+                       OMAP3_CORE1_IOPAD(0x2200, MUX_MODE0) /* rmii_mdio_clk */
+                       OMAP3_CORE1_IOPAD(0x2202, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii_rxd0 */
+                       OMAP3_CORE1_IOPAD(0x2204, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii_rxd1 */
+                       OMAP3_CORE1_IOPAD(0x2206, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii_crs_dv */
+                       OMAP3_CORE1_IOPAD(0x2208, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* rmii_rxer */
+                       OMAP3_CORE1_IOPAD(0x220a, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* rmii_txd0 */
+                       OMAP3_CORE1_IOPAD(0x220c, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* rmii_txd1 */
+                       OMAP3_CORE1_IOPAD(0x220e, PIN_OUTPUT_PULLDOWN |MUX_MODE0) /* rmii_txen */
+                       OMAP3_CORE1_IOPAD(0x2210, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii_50mhz_clk */
+               >;
+       };
 
        leds_pins: pinmux_leds_pins {
                pinctrl-single,pins = <
 };
 
 &omap3_pmx_core2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&hsusb1_pins>;
 
        hsusb1_pins: pinmux_hsusb1_pins {
                pinctrl-single,pins = <
index b1c988eed87c681d65bf5ec57d3b1b3bbcdf94d9..8b669e2eafec4813fa8294c7de5a8d079b30189c 100644 (file)
@@ -1,11 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0-only
 /*
  * Copyright (C) 2016 Derald D. Woods <woods.technical@gmail.com>
  *
  * Based on am3517-evm.dts
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
  */
 
 / {
index 98359bf924250ec18da0c2406e88cd67d1188176..ee66ef67042b1814dca8591019f074c5987773ca 100644 (file)
                                reg = <0x1e780000 0x1000>;
                                interrupts = <20>;
                                gpio-ranges = <&pinctrl 0 0 220>;
+                               ngpios = <228>;
                                interrupt-controller;
                        };
 
index c17988ec3cca1d68dd851ee81b459267795b5e5d..0d650543134ac7fee96667ecf3c342643195e090 100644 (file)
        };
 };
 
+&pwm {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pwm0_default
+                       &pinctrl_pwm1_default
+                       &pinctrl_pwm2_default
+                       &pinctrl_pwm3_default
+                       &pinctrl_pwm4_default
+                       &pinctrl_pwm5_default
+                       &pinctrl_pwm6_default
+                       &pinctrl_pwm7_default
+                       &pinctrl_pwm8g1_default
+                       &pinctrl_pwm9g1_default
+                       &pinctrl_pwm10g1_default
+                       &pinctrl_pwm11g1_default
+                       &pinctrl_pwm12g1_default
+                       &pinctrl_pwm13g1_default
+                       &pinctrl_pwm14g1_default>;
+};
+
 &uart5 {
        u-boot,dm-pre-reloc;
        status = "okay";
index 98840ce7b0b3e743b09c0e5834c840dd8499d17e..64074309b7b2393d7b39ab8168eaabb0b73194ee 100644 (file)
                        reg = < 0x1e600000 0x100>;
                };
 
+               pwm_tach: pwm_tach@1e610000 {
+                       compatible = "aspeed,ast2600-pwm-tach", "simple-mfd", "syscon";
+                       reg = <0x1e610000 0x100>;
+                       clocks = <&scu ASPEED_CLK_AHB>;
+                       resets = <&rst ASPEED_RESET_PWM>;
+
+                       pwm: pwm {
+                               compatible = "aspeed,ast2600-pwm";
+                               #pwm-cells = <3>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               status = "disabled";
+                       };
+               };
+
                fmc: flash-controller@1e620000 {
                        reg = < 0x1e620000 0xc4
                                0x20000000 0x10000000 >;
                groups = "PWM7";
        };
 
+       pinctrl_pwm8g0_default: pwm8g0_default {
+               function = "PWM8G0";
+               groups = "PWM8G0";
+       };
+
+       pinctrl_pwm8g1_default: pwm8g1_default {
+               function = "PWM8G1";
+               groups = "PWM8G1";
+       };
+
+       pinctrl_pwm9g0_default: pwm9g0_default {
+               function = "PWM9G0";
+               groups = "PWM9G0";
+       };
+
+       pinctrl_pwm9g1_default: pwm9g1_default {
+               function = "PWM9G1";
+               groups = "PWM9G1";
+       };
+
+       pinctrl_pwm10g0_default: pwm10g0_default {
+               function = "PWM10G0";
+               groups = "PWM10G0";
+       };
+
+       pinctrl_pwm10g1_default: pwm10g1_default {
+               function = "PWM10G1";
+               groups = "PWM10G1";
+       };
+
+       pinctrl_pwm11g0_default: pwm11g0_default {
+               function = "PWM11G0";
+               groups = "PWM11G0";
+       };
+
+       pinctrl_pwm11g1_default: pwm11g1_default {
+               function = "PWM11G1";
+               groups = "PWM11G1";
+       };
+
+       pinctrl_pwm12g0_default: pwm12g0_default {
+               function = "PWM12G0";
+               groups = "PWM12G0";
+       };
+
+       pinctrl_pwm12g1_default: pwm12g1_default {
+               function = "PWM12G1";
+               groups = "PWM12G1";
+       };
+
+       pinctrl_pwm13g0_default: pwm13g0_default {
+               function = "PWM13G0";
+               groups = "PWM13G0";
+       };
+
+       pinctrl_pwm13g1_default: pwm13g1_default {
+               function = "PWM13G1";
+               groups = "PWM13G1";
+       };
+
+       pinctrl_pwm14g0_default: pwm14g0_default {
+               function = "PWM14G0";
+               groups = "PWM14G0";
+       };
+
+       pinctrl_pwm14g1_default: pwm14g1_default {
+               function = "PWM14G1";
+               groups = "PWM14G1";
+       };
+
+       pinctrl_pwm15g0_default: pwm15g0_default {
+               function = "PWM15G0";
+               groups = "PWM15G0";
+       };
+
+       pinctrl_pwm15g1_default: pwm15g1_default {
+               function = "PWM15G1";
+               groups = "PWM15G1";
+       };
+
        pinctrl_rgmii1_default: rgmii1_default {
                function = "RGMII1";
                groups = "RGMII1";
diff --git a/arch/arm/dts/bcm6753.dtsi b/arch/arm/dts/bcm6753.dtsi
new file mode 100644 (file)
index 0000000..e88ab09
--- /dev/null
@@ -0,0 +1,208 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2022 Philippe Reynes <philippe.reynes@softathome.com>
+ */
+
+#include "skeleton.dtsi"
+
+/ {
+       compatible = "brcm,bcm6753";
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               u-boot,dm-pre-reloc;
+
+               cpu0: cpu@0 {
+                       compatible = "arm,cortex-a7";
+                       device_type = "cpu";
+                       reg = <0x0>;
+                       next-level-cache = <&l2>;
+                       u-boot,dm-pre-reloc;
+               };
+
+               cpu1: cpu@1 {
+                       compatible = "arm,cortex-a7";
+                       device_type = "cpu";
+                       reg = <0x1>;
+                       next-level-cache = <&l2>;
+                       u-boot,dm-pre-reloc;
+               };
+
+               cpu2: cpu@2 {
+                       compatible = "arm,cortex-a7";
+                       device_type = "cpu";
+                       reg = <0x2>;
+                       next-level-cache = <&l2>;
+                       u-boot,dm-pre-reloc;
+               };
+
+               l2: l2-cache0 {
+                       compatible = "cache";
+                       u-boot,dm-pre-reloc;
+               };
+       };
+
+       clocks {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+               u-boot,dm-pre-reloc;
+
+               periph_osc: periph-osc {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <200000000>;
+                       u-boot,dm-pre-reloc;
+               };
+
+               hsspi_pll: hsspi-pll {
+                       compatible = "fixed-factor-clock";
+                       #clock-cells = <0>;
+                       clocks = <&periph_osc>;
+                       clock-mult = <2>;
+                       clock-div = <1>;
+               };
+
+               refclk50mhz: refclk50mhz {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <50000000>;
+               };
+       };
+
+       ubus {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               u-boot,dm-pre-reloc;
+
+               uart0: serial@ff812000 {
+                       compatible = "arm,pl011", "arm,primecell";
+                       reg = <0xff812000 0x1000>;
+                       clock = <50000000>;
+
+                       status = "disabled";
+               };
+
+               wdt1: watchdog@ff800480 {
+                       compatible = "brcm,bcm6345-wdt";
+                       reg = <0xff800480 0x14>;
+                       clocks = <&refclk50mhz>;
+               };
+
+               wdt2: watchdog@ff8004c0 {
+                       compatible = "brcm,bcm6345-wdt";
+                       reg = <0xff8004c0 0x14>;
+                       clocks = <&refclk50mhz>;
+               };
+
+               wdt-reboot {
+                       compatible = "wdt-reboot";
+                       wdt = <&wdt1>;
+               };
+
+               gpio0: gpio-controller@0xff800500 {
+                       compatible = "brcm,bcm6345-gpio";
+                       reg = <0xff800500 0x4>,
+                             <0xff800520 0x4>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+
+                       status = "disabled";
+               };
+
+               gpio1: gpio-controller@0xff800504 {
+                       compatible = "brcm,bcm6345-gpio";
+                       reg = <0xff800504 0x4>,
+                             <0xff800524 0x4>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+
+                       status = "disabled";
+               };
+
+               gpio2: gpio-controller@0xff800508 {
+                       compatible = "brcm,bcm6345-gpio";
+                       reg = <0xff800508 0x4>,
+                             <0xff800528 0x4>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+
+                       status = "disabled";
+               };
+
+               gpio3: gpio-controller@0xff80050c {
+                       compatible = "brcm,bcm6345-gpio";
+                       reg = <0xff80050c 0x4>,
+                             <0xff80052c 0x4>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+
+                       status = "disabled";
+               };
+
+               gpio4: gpio-controller@0xff800510 {
+                       compatible = "brcm,bcm6345-gpio";
+                       reg = <0xff800510 0x4>,
+                             <0xff800530 0x4>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+
+                       status = "disabled";
+               };
+
+               gpio5: gpio-controller@0xff800514 {
+                       compatible = "brcm,bcm6345-gpio";
+                       reg = <0xff800514 0x4>,
+                             <0xff800534 0x4>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+
+                       status = "disabled";
+               };
+
+               gpio6: gpio-controller@0xff800518 {
+                       compatible = "brcm,bcm6345-gpio";
+                       reg = <0xff800518 0x4>,
+                             <0xff800538 0x4>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+
+                       status = "disabled";
+               };
+
+               gpio7: gpio-controller@0xff80051c {
+                       compatible = "brcm,bcm6345-gpio";
+                       reg = <0xff80051c 0x4>,
+                             <0xff80053c 0x4>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+
+                       status = "disabled";
+               };
+
+               nand: nand-controller@ff801800 {
+                       compatible = "brcm,nand-bcm6753",
+                                    "brcm,brcmnand-v5.0",
+                                    "brcm,brcmnand";
+                       reg-names = "nand", "nand-int-base", "nand-cache";
+                       reg = <0xff801800 0x180>,
+                             <0xff802000 0x10>,
+                             <0xff801c00 0x200>;
+                       parameter-page-big-endian = <0>;
+
+                       status = "disabled";
+               };
+
+               leds: led-controller@ff803000 {
+                       compatible = "brcm,bcm6753-leds";
+                       reg = <0xff803000 0x3480>;
+
+                       status = "disabled";
+               };
+       };
+};
diff --git a/arch/arm/dts/bcm96753ref.dts b/arch/arm/dts/bcm96753ref.dts
new file mode 100644 (file)
index 0000000..ca15ca5
--- /dev/null
@@ -0,0 +1,98 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2022 Philippe Reynes <philippe.reynes@softathome.com>
+ */
+
+/dts-v1/;
+
+#include "bcm6753.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+       model = "Broadcom bcm6753ref";
+       compatible = "broadcom,bcm6753ref", "brcm,bcm6753";
+
+       aliases {
+               serial0 = &uart0;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       memory {
+               device_type = "memory";
+               reg = <0x0 0x40000000>;
+       };
+};
+
+&uart0 {
+       u-boot,dm-pre-reloc;
+       status = "okay";
+};
+
+&gpio0 {
+       status = "okay";
+};
+
+&gpio1 {
+       status = "okay";
+};
+
+&gpio2 {
+       status = "okay";
+};
+
+&gpio3 {
+       status = "okay";
+};
+
+&gpio4 {
+       status = "okay";
+};
+
+&gpio5 {
+       status = "okay";
+};
+
+&gpio6 {
+       status = "okay";
+};
+
+&gpio7 {
+       status = "okay";
+};
+
+&nand {
+       status = "okay";
+       write-protect = <0>;
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       nandcs@0 {
+               compatible = "brcm,nandcs";
+               reg = <0>;
+               nand-ecc-strength = <4>;
+               nand-ecc-step-size = <512>;
+               brcm,nand-oob-sector-size = <16>;
+       };
+};
+
+&leds {
+       status = "okay";
+       #address-cells = <1>;
+       #size-cells = <0>;
+       brcm,serial-led-en-pol;
+       brcm,serial-led-data-ppol;
+
+       led@0 {
+               reg = <0>;
+               label = "led_red";
+       };
+
+       led@1 {
+               reg = <1>;
+               label = "led_green";
+       };
+};
index 0694350555f5cadeb49be218e19f2b3ed446f9a2..408862bef04294ed9787164b68b0fdee5e2adf6d 100644 (file)
@@ -50,7 +50,7 @@
        ps-clk-frequency = <33333333>;
 };
 
-&nand0 {
+&nfc0 {
        status = "okay";
 };
 
index f7a841a28865439e017b2f5ac089e3881fde8f05..f690bc83bf53477d577595e7098922875f916a35 100644 (file)
@@ -9,5 +9,19 @@
 
 / {
        model = "LogicPD Zoom OMAP35xx SOM-LV Development Kit";
-       compatible = "logicpd,dm3730-som-lv-devkit", "ti,omap3";
+       compatible = "logicpd,dm3730-som-lv-devkit", "ti,omap3430", "ti,omap3";
+};
+
+&omap3_pmx_core2 {
+
+       hsusb2_2_pins: pinmux_hsusb2_2_pins {
+               pinctrl-single,pins = <
+                       OMAP3430_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3)            /* etk_d10.hsusb2_clk */
+                       OMAP3430_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3)            /* etk_d11.hsusb2_stp */
+                       OMAP3430_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d12.hsusb2_dir */
+                       OMAP3430_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d13.hsusb2_nxt */
+                       OMAP3430_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d14.hsusb2_data0 */
+                       OMAP3430_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d15.hsusb2_data1 */
+               >;
+       };
 };
index a604d92221a4f3817e56e2ddf70df5d0d6097882..e28e9625bebb34aeac743a66fa9715004b081405 100644 (file)
        model = "LogicPD Zoom DM3730 SOM-LV Development Kit";
        compatible = "logicpd,dm3730-som-lv-devkit", "ti,omap3630", "ti,omap3";
 };
+
+&omap3_pmx_core2 {
+
+       hsusb2_2_pins: pinmux_hsusb2_2_pins {
+               pinctrl-single,pins = <
+                       OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3)            /* etk_d10.hsusb2_clk */
+                       OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3)            /* etk_d11.hsusb2_stp */
+                       OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d12.hsusb2_dir */
+                       OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d13.hsusb2_nxt */
+                       OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d14.hsusb2_data0 */
+                       OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d15.hsusb2_data1 */
+               >;
+       };
+};
index 100396f6c2feb1e15e4fab19667c0b83dda82d23..7d0468a237818ceca1ef0ab9c842907815d937da 100644 (file)
@@ -51,6 +51,8 @@
 
 &mcbsp2 {
        status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&mcbsp2_pins>;
 };
 
 &charger {
@@ -77,7 +79,7 @@
 };
 
 &dss {
-       status = "ok";
+       status = "okay";
        vdds_dsi-supply = <&vpll2>;
        vdda_video-supply = <&video_reg>;
        pinctrl-names = "default";
                regulator-max-microvolt = <3300000>;
        };
 
-       lcd0: display@0 {
-               compatible = "panel-dpi";
-               label = "28";
-               status = "okay";
-               /* default-on; */
+       lcd0: display {
+               /* This isn't the exact LCD, but the timings meet spec */
+               compatible = "logicpd,type28";
                pinctrl-names = "default";
                pinctrl-0 = <&lcd_enable_pin>;
-               enable-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>;    /* gpio155, lcd INI */
+               backlight = <&bl>;
+               enable-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>;
                port {
                        lcd_in: endpoint {
                                remote-endpoint = <&dpi_out>;
                        };
                };
-
-               panel-timing {
-                       clock-frequency = <9000000>;
-                       hactive = <480>;
-                       vactive = <272>;
-                       hfront-porch = <3>;
-                       hback-porch = <2>;
-                       hsync-len = <42>;
-                       vback-porch = <3>;
-                       vfront-porch = <2>;
-                       vsync-len = <11>;
-                       hsync-active = <1>;
-                       vsync-active = <1>;
-                       de-active = <1>;
-                       pixelclk-active = <0>;
-               };
        };
 
        bl: backlight {
index b56524cc7fe27a2302676630607701de95713987..385bc8d793400e6f608a7ae01f816c2f2394e2ff 100644 (file)
@@ -27,6 +27,8 @@
 
        /* HS USB Host PHY on PORT 1 */
        hsusb2_phy: hsusb2_phy {
+               pinctrl-names = "default";
+               pinctrl-0 = <&hsusb2_reset_pin>;
                compatible = "usb-nop-xceiv";
                reset-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; /* gpio_4 */
                #phy-cells = <0>;
 };
 
 &usbhshost {
+       pinctrl-names = "default";
+       pinctrl-0 = <&hsusb2_pins>, <&hsusb2_2_pins>;
        port2-mode = "ehci-phy";
 };
 
 
 
 &omap3_pmx_core {
-       pinctrl-names = "default";
-       pinctrl-0 = <&hsusb2_pins>;
 
        mmc3_pins: pinmux_mm3_pins {
                pinctrl-single,pins = <
                        OMAP3_CORE1_IOPAD(0x21d2, PIN_INPUT_PULLUP | MUX_MODE3) /* mcspi1_cs2.sdmmc_clk */
                >;
        };
+
        mcbsp2_pins: pinmux_mcbsp2_pins {
                pinctrl-single,pins = <
                        OMAP3_CORE1_IOPAD(0x213c, PIN_INPUT | MUX_MODE0)        /* mcbsp2_fsx */
                        OMAP3_CORE1_IOPAD(0x2198, PIN_OUTPUT | MUX_MODE4)       /* GPIO_162,BT_EN */
                >;
        };
+
        mcspi1_pins: pinmux_mcspi1_pins {
                pinctrl-single,pins = <
                        OMAP3_CORE1_IOPAD(0x21c8, PIN_INPUT | MUX_MODE0)        /* mcspi1_clk.mcspi1_clk */
 };
 
 &omap3_pmx_wkup {
-       pinctrl-names = "default";
-       pinctrl-0 = <&hsusb2_reset_pin>;
+
        hsusb2_reset_pin: pinmux_hsusb1_reset_pin {
                pinctrl-single,pins = <
                        OMAP3_WKUP_IOPAD(0x2a0e, PIN_OUTPUT | MUX_MODE4)        /* sys_boot2.gpio_4 */
                >;
        };
+
        wl127x_gpio: pinmux_wl127x_gpio_pin {
                pinctrl-single,pins = <
                        OMAP3_WKUP_IOPAD(0x2a0a, PIN_INPUT | MUX_MODE4)         /* sys_boot0.gpio_2 */
        };
 };
 
-&omap3_pmx_core2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&hsusb2_2_pins>;
-       hsusb2_2_pins: pinmux_hsusb2_2_pins {
-               pinctrl-single,pins = <
-                       OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3)            /* etk_d10.hsusb2_clk */
-                       OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3)            /* etk_d11.hsusb2_stp */
-                       OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d12.hsusb2_dir */
-                       OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d13.hsusb2_nxt */
-                       OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d14.hsusb2_data0 */
-                       OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d15.hsusb2_data1 */
-               >;
-       };
-};
-
 &uart2 {
        interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>;
        pinctrl-names = "default";
index 7675bc3fa8689457461f5726534794d5c971a09f..cb08aa62d96715fa9d24f3def3b268d7d037bf5f 100644 (file)
@@ -9,5 +9,13 @@
 
 / {
        model = "LogicPD Zoom OMAP35xx Torpedo Development Kit";
-       compatible = "logicpd,dm3730-torpedo-devkit", "ti,omap3";
+       compatible = "logicpd,dm3730-torpedo-devkit", "ti,omap3430", "ti,omap3";
+};
+
+&omap3_pmx_core {
+       isp1763_pins: pinmux_isp1763_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x2154,  PIN_INPUT_PULLUP | MUX_MODE4)        /* sdmmc1_dat6.gpio_128 */
+               >;
+       };
 };
index 18c27e85051f74f0e24e45e6ccf80788fb1248ab..07ea822fe40528fd521ce856b56c4aaa43db058a 100644 (file)
        };
 };
 
+&uart2 {
+       /delete-property/dma-names;
+       bluetooth {
+               compatible = "ti,wl1283-st";
+               enable-gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>; /* gpio 162 */
+               max-speed = <3000000>;
+       };
+};
+
+/* The DM3730 has a faster L3 than OMAP35, so increase pixel clock */
+&mt9p031_out {
+       pixel-clock-frequency = <90000000>;
+};
+
 &omap3_pmx_core {
        mmc3_pins: pinmux_mm3_pins {
                pinctrl-single,pins = <
                >;
        };
 };
+
+/* The gpio muxing between omap3530 and dm3730 is different for GPIO_128 */
+&omap3_pmx_wkup {
+       isp1763_pins: pinmux_isp1763_pins {
+               pinctrl-single,pins = <
+                       OMAP3_WKUP_IOPAD(0x2a58, PIN_INPUT_PULLUP | MUX_MODE4)  /* reserved.gpio_128 */
+               >;
+       };
+};
index 642e809e757a150e29e284533521d9a0bbfdaa32..b4664ab002566b5f1173cdeeebc1de78ecfc98ba 100644 (file)
@@ -65,6 +65,7 @@
                pinctrl-0 = <&pwm_pins>;
                ti,timers = <&timer10>;
                #pwm-cells = <3>;
+               ti,clock-source = <0x01>;
        };
 
 };
@@ -80,6 +81,8 @@
 };
 
 &mcbsp2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mcbsp2_pins>;
        status = "okay";
 };
 
@@ -90,7 +93,8 @@
 
 &gpmc {
        ranges = <0 0 0x30000000 0x1000000      /* CS0: 16MB for NAND */
-                 1 0 0x2c000000 0x1000000>;    /* CS1: 16MB for LAN9221 */
+                 1 0 0x2c000000 0x1000000      /* CS1: 16MB for LAN9221 */
+                 6 0 0x28000000 0x1000000>;    /* CS6: 16MB for ISP1763 */
 
        ethernet@gpmc {
                pinctrl-names = "default";
                interrupts = <1 IRQ_TYPE_LEVEL_LOW>;            /* gpio129 */
                reg = <1 0 0xff>;
        };
+
+       usb@6,0 {
+               pinctrl-names = "default";
+               pinctrl-0 = <&isp1763_pins>;
+               compatible = "nxp,usb-isp1763";
+               reg = <0x6 0x0 0xff>;
+               interrupt-parent = <&gpio5>;
+               interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+               interrupt-names = "host";
+               bus-width = <16>;
+               dr_mode = "host";
+               gpmc,mux-add-data = <0>;
+               gpmc,device-width = <2>;
+               gpmc,wait-pin = <0>;
+               gpmc,burst-length = <4>;
+               gpmc,cycle2cycle-samecsen = <1>;
+               gpmc,cycle2cycle-diffcsen = <1>;
+               gpmc,cs-on-ns = <0>;
+               gpmc,cs-rd-off-ns = <45>;
+               gpmc,cs-wr-off-ns = <45>;
+               gpmc,adv-on-ns = <0>;
+               gpmc,adv-rd-off-ns = <0>;
+               gpmc,adv-wr-off-ns = <0>;
+               gpmc,oe-on-ns = <0>;
+               gpmc,oe-off-ns = <45>;
+               gpmc,we-on-ns = <0>;
+               gpmc,we-off-ns = <25>;
+               gpmc,rd-cycle-ns = <60>;
+               gpmc,wr-cycle-ns = <45>;
+               gpmc,access-ns = <35>;
+               gpmc,page-burst-access-ns = <0>;
+               gpmc,bus-turnaround-ns = <0>;
+               gpmc,cycle2cycle-delay-ns = <60>;
+               gpmc,wait-monitoring-ns = <0>;
+               gpmc,clk-activation-ns = <0>;
+               gpmc,wr-data-mux-bus-ns = <5>;
+               gpmc,wr-access-ns = <20>;
+       };
 };
 
+&hdqw1w {
+       pinctrl-names = "default";
+       pinctrl-0 = <&hdq_pins>;
+};
+
+
 &vpll2 {
        regulator-always-on;
 };
 
 &dss {
-       status = "ok";
+       status = "okay";
        vdds_dsi-supply = <&vpll2>;
-       vdda_video-supply = <&video_reg>;
+       vdda_video-supply = <&vpll2>;
        pinctrl-names = "default";
        pinctrl-0 = <&dss_dpi_pins1>;
        port {
                display0 = &lcd0;
        };
 
-       video_reg: video_reg {
-               pinctrl-names = "default";
-               pinctrl-0 = <&panel_pwr_pins>;
-               compatible = "regulator-fixed";
-               regulator-name = "fixed-supply";
-               regulator-min-microvolt = <3300000>;
-               regulator-max-microvolt = <3300000>;
-               gpio = <&gpio5 27 GPIO_ACTIVE_HIGH>;    /* gpio155, lcd INI */
-       };
-
        lcd0: display {
-               compatible = "panel-dpi";
+               /* This isn't the exact LCD, but the timings meet spec */
+               compatible = "newhaven,nhd-4.3-480272ef-atxl";
                label = "15";
-               status = "okay";
-               /* default-on; */
                pinctrl-names = "default";
-
+               pinctrl-0 = <&panel_pwr_pins>;
+               backlight = <&bl>;
+               enable-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>;
                port {
                        lcd_in: endpoint {
                                remote-endpoint = <&dpi_out>;
                        };
                };
-
-               panel-timing {
-                       clock-frequency = <9000000>;
-                       hactive = <480>;
-                       vactive = <272>;
-                       hfront-porch = <3>;
-                       hback-porch = <2>;
-                       hsync-len = <42>;
-                       vback-porch = <3>;
-                       vfront-porch = <4>;
-                       vsync-len = <11>;
-                       hsync-active = <0>;
-                       vsync-active = <0>;
-                       de-active = <1>;
-                       pixelclk-active = <1>;
-               };
        };
 
        bl: backlight {
                >;
        };
 
+       hdq_pins: hdq_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x21c6, PIN_INPUT_PULLUP | MUX_MODE0) /* hdq_sio */
+               >;
+       };
+
        pwm_pins: pinmux_pwm_pins {
                pinctrl-single,pins = <
                        OMAP3_CORE1_IOPAD(0x20B8, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE3)       /* gpmc_ncs5.gpt_10_pwm_evt */
index 3fdd0a72f87f795b43d049a262ae5e3d7df2b967..3a5228562b0d4ea250fc9c23bbb85cb05269043d 100644 (file)
        };
 };
 
+/* The Torpedo doesn't route the USB host pins */
+&usbhshost {
+       status = "disabled";
+};
+
 &gpmc {
        ranges = <0 0 0x30000000 0x1000000>;    /* CS0: 16MB for NAND */
 
 &twl_gpio {
        ti,use-leds;
 };
+
+&twl_keypad {
+       status = "disabled";
+};
diff --git a/arch/arm/dts/phytium-pomelo.dts b/arch/arm/dts/phytium-pomelo.dts
new file mode 100644 (file)
index 0000000..3f809c0
--- /dev/null
@@ -0,0 +1,50 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * dts file for Phytium Pomelo board
+ * Copyright (C) 2021, Phytium Ltd.
+ * lixinde         <lixinde@phytium.com.cn>
+ * weichangzheng   <weichangzheng@phytium.com.cn>
+ */
+/dts-v1/;
+
+/ {
+       model = "Phytium Pomelo Board";
+       compatible = "phytium,d2000-pomelo", "phytium,d2000";
+       #address-cells = <2>;
+       #size-cells = <2>;
+
+       aliases {
+               serial0 = &uart0;
+       };
+
+       sysclk_48mhz: clk48mhz {
+               compatible = "fixed-clock";
+               #clock-cells = <0x0>;
+               clock-frequency = <48000000>;
+               clock-output-names = "sysclk_48mhz";
+       };
+
+       soc {
+               compatible = "simple-bus";
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+
+               uart0: serial@28001000 {
+                       compatible = "arm,pl011", "arm,primecell";
+                       reg = <0x0 0x28001000 0x0 0x1000>;
+                       clocks = <&sysclk_48mhz>;
+               };
+
+               pcie@40000000 {
+                       compatible = "pci-host-ecam-generic";
+                       device_type = "pci";
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       reg = <0x0 0x40000000 0x0 0x10000000>;
+                       ranges = <0x01000000 0x00 0x00000000 0x0  0x50000000 0x0  0x00F00000>,
+                        <0x02000000 0x00 0x58000000 0x0  0x58000000 0x0  0x28000000>,
+                        <0x43000000 0x10 0x00000000 0x10 0x00000000 0x10  0x00000000>;
+               };
+       };
+};
index 4dda753671c20ae29b6cdae35ad34d7242151c16..9495911397eb9096cb38e54e2b1b8aa843a60ee8 100644 (file)
                        #size-cells = <0>;
                };
 
-               smcc: memory-controller@e000e000 {
-                       #address-cells = <1>;
-                       #size-cells = <1>;
-                       status = "disabled";
-                       clock-names = "memclk", "apb_pclk";
-                       clocks = <&clkc 11>, <&clkc 44>;
-                       compatible = "arm,pl353-smc-r2p1", "arm,primecell";
-                       interrupt-parent = <&intc>;
-                       interrupts = <0 18 4>;
-                       ranges ;
-                       reg = <0xe000e000 0x1000>;
-                       nand0: flash@e1000000 {
-                               status = "disabled";
-                               compatible = "arm,pl353-nand-r2p1";
-                               reg = <0xe1000000 0x1000000>;
-                               #address-cells = <1>;
-                               #size-cells = <1>;
-                       };
-                       nor0: flash@e2000000 {
-                               status = "disabled";
-                               compatible = "cfi-flash";
-                               reg = <0xe2000000 0x2000000>;
-                               #address-cells = <1>;
-                               #size-cells = <1>;
-                       };
-               };
-
                gem0: ethernet@e000b000 {
                        compatible = "cdns,zynq-gem", "cdns,gem";
                        reg = <0xe000b000 0x1000>;
                        #size-cells = <0>;
                };
 
+               smcc: memory-controller@e000e000 {
+                       compatible = "arm,pl353-smc-r2p1", "arm,primecell";
+                       reg = <0xe000e000 0x0001000>;
+                       status = "disabled";
+                       clock-names = "memclk", "apb_pclk";
+                       clocks = <&clkc 11>, <&clkc 44>;
+                       ranges = <0x0 0x0 0xe1000000 0x1000000 /* Nand CS region */
+                                 0x1 0x0 0xe2000000 0x2000000 /* SRAM/NOR CS0 region */
+                                 0x2 0x0 0xe4000000 0x2000000>; /* SRAM/NOR CS1 region */
+                       #address-cells = <2>;
+                       #size-cells = <1>;
+                       interrupt-parent = <&intc>;
+                       interrupts = <0 18 4>;
+
+                       nfc0: nand-controller@0,0 {
+                               compatible = "arm,pl353-nand-r2p1";
+                               reg = <0 0 0x1000000>;
+                               status = "disabled";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                       };
+                       nor0: flash@1,0 {
+                               status = "disabled";
+                               compatible = "cfi-flash";
+                               reg = <1 0 0x2000000>;
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                       };
+               };
+
                sdhci0: mmc@e0100000 {
                        compatible = "arasan,sdhci-8.9a";
                        status = "disabled";
index b6e3e255d731ce50c73372c079669231f05e0a4f..0ef2ae1744f2479a987552ef50a292818397c09a 100644 (file)
@@ -47,7 +47,7 @@
        };
 };
 
-&nand0 {
+&nfc0 {
        status = "okay";
 };
 
index 664e65896d7e8aded297209950ca575a44de13b7..7b09d75151863619382c6c072b5a35d11be986f8 100644 (file)
 
 &sdhci0 {
        clocks = <&zynqmp_clk SDIO0_REF>, <&zynqmp_clk LPD_LSBUS>;
+       assigned-clocks = <&zynqmp_clk SDIO0_REF>;
 };
 
 &sdhci1 {
        clocks = <&zynqmp_clk SDIO1_REF>, <&zynqmp_clk LPD_LSBUS>;
+       assigned-clocks = <&zynqmp_clk SDIO1_REF>;
 };
 
 &spi0 {
 
 &usb0 {
        clocks = <&zynqmp_clk USB0_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
+       assigned-clocks = <&zynqmp_clk USB0_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
 };
 
 &usb1 {
        clocks = <&zynqmp_clk USB1_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
+       assigned-clocks = <&zynqmp_clk USB1_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
 };
 
 &watchdog0 {
 
 &zynqmp_dpdma {
        clocks = <&zynqmp_clk DPDMA_REF>;
+       assigned-clocks = <&zynqmp_clk DPDMA_REF>; /* apll */
 };
 
 &zynqmp_dpsub {
        clocks = <&zynqmp_clk TOPSW_LSBUS>,
                 <&zynqmp_clk DP_AUDIO_REF>,
                 <&zynqmp_clk DP_VIDEO_REF>;
+       assigned-clocks = <&zynqmp_clk DP_STC_REF>,
+                         <&zynqmp_clk DP_AUDIO_REF>,
+                         <&zynqmp_clk DP_VIDEO_REF>;  /* rpll, rpll, vpll */
 };
index 5d21795de9d0e51fc7f53852da9d1934347bdc30..b3fe42faeee840709d5b295ad37370274efedc19 100644 (file)
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <6>;
-                       si570_hsdp: clock-generator@5d { /* u5 */
+                       si570_hsdp: clock-generator@60 { /* u5 */
                                #clock-cells = <0>;
                                compatible = "silabs,si570";
-                               reg = <0x5d>;   /* 570JAC000900DG */
+                               reg = <0x60>;   /* 570JAC000900DG */
                                temperature-stability = <50>;
                                factory-fout = <156250000>;
                                clock-frequency = <156250000>;
                        /* u36 0xd8 or 0xde - pcie clk buf - 9ZML1241EKILF PCIe GEN 4 CLOCK BUFFER FIXME - no driver */
                        /* u37 0xd0 DNP - pcie clocking 1 - 9FGV1006BQ505LTGI - PCIe GEN 4 CLOCK GENERATOR FIXME - no linux driver */
                        /* u38 0xca - pcie clocking 2 - 9ZML1241EKILF PCIe GEN 4 CLOCK BUFFER FIXME - no driver */
-                       clock_8t49n287: clock-generator@d8 { /* u39 8T49N240 - pcie clocking 3 */
+                       clock_8t49n287: clock-generator@60 { /* u39 8T49N240 - pcie clocking 3 */
                                #clock-cells = <1>; /* author David Cater <david.cater@idt.com>*/
                                compatible = "idt,8t49n240", "idt,8t49n241"; /* FIXME no driver for 240 */
-                               reg = <0xd8>;
+                               reg = <0x60>;
                                /* Documentation/devicetree/bindings/clock/idt,idt8t49n24x.txt */
                                /* FIXME there input via J241 Samtec CLK1 and CLK0 from U38 - selection PIN */
 
index 22602d8c33f84c46db4830965af9ddc0d200bcf3..85994bef7cc03f9f32c2356a1509c33c58c9aeca 100644 (file)
        status = "disabled";
        phy-names = "dp-phy0", "dp-phy1";
        phys = <&psgtr 1 PHY_TYPE_DP 0 0>, <&psgtr 0 PHY_TYPE_DP 1 0>;
+       assigned-clock-rates = <27000000>, <25000000>, <300000000>;
 };
 
 &zynqmp_dpdma {
        status = "okay";
+       assigned-clock-rates = <600000000>;
 };
 
 &usb0 {
        phys = <&psgtr 2 PHY_TYPE_USB3 0 1>;
        usbhub: usb5744 { /* u43 */
                compatible = "microchip,usb5744";
-               reset-gpios = <&gpio 44 GPIO_ACTIVE_HIGH>;
+               reset-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
        };
 };
 
        no-1-8-v;
        disable-wp;
        xlnx,mio-bank = <1>;
+       assigned-clock-rates = <187498123>;
+       bus-width = <8>;
 };
 
 &gem3 { /* required by spec */
        mdio: mdio {
                #address-cells = <1>;
                #size-cells = <0>;
-               reset-gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
-               reset-delay-us = <2>;
 
                phy0: ethernet-phy@1 {
                        #phy-cells = <1>;
                        reg = <1>;
+                       compatible = "ethernet-phy-id2000.a231";
                        ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
                        ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_75_NS>;
                        ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
                        ti,dp83867-rxctrl-strap-quirk;
+                       reset-assert-us = <100>;
+                       reset-deassert-us = <280>;
+                       reset-gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
                };
        };
 };
index df054e152a77e5287cb9613c60806fe1c5ad8ea6..b81c2e6b7543d6535685572fcd43bd66a7f230b5 100644 (file)
                label = "ina260-u14";
                reg = <0x40>;
        };
-       usbhub: usb5744@2d { /* u43 */
-               compatible = "microchip,usb5744";
-               reg = <0x2d>;
-               reset-gpios = <&gpio 44 GPIO_ACTIVE_HIGH>;
-       };
+       /* u43 - 0x2d - USB hub */
        /* u27 - 0xe0 - STDP4320 DP/HDMI splitter */
 };
 
 };
 
 &zynqmp_dpsub {
-       status = "disabled";
+       status = "okay";
        phy-names = "dp-phy0", "dp-phy1";
        phys = <&psgtr 1 PHY_TYPE_DP 0 0>, <&psgtr 0 PHY_TYPE_DP 1 0>;
+       assigned-clock-rates = <27000000>, <25000000>, <300000000>;
 };
 
 &zynqmp_dpdma {
        status = "okay";
+       assigned-clock-rates = <600000000>;
 };
 
 &usb0 {
        pinctrl-0 = <&pinctrl_usb0_default>;
        phy-names = "usb3-phy";
        phys = <&psgtr 2 PHY_TYPE_USB3 0 1>;
+       assigned-clock-rates = <250000000>, <20000000>;
+
+       usb5744: usb-hub { /* u43 */
+               status = "okay";
+               compatible = "microchip,usb5744";
+               i2c-bus = <&i2c1>;
+               reset-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+       };
 };
 
 &dwc3_0 {
        clk-phase-sd-hs = <126>, <60>;
        clk-phase-uhs-sdr25 = <120>, <60>;
        clk-phase-uhs-ddr50 = <126>, <48>;
+       assigned-clock-rates = <187498123>;
+       bus-width = <8>;
 };
 
 &gem3 { /* required by spec */
        mdio: mdio {
                #address-cells = <1>;
                #size-cells = <0>;
-               reset-gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
-               reset-delay-us = <2>;
 
                phy0: ethernet-phy@1 {
                        #phy-cells = <1>;
                        reg = <1>;
+                       compatible = "ethernet-phy-id2000.a231";
                        ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
                        ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_75_NS>;
                        ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
                        ti,dp83867-rxctrl-strap-quirk;
+                       reset-assert-us = <100>;
+                       reset-deassert-us = <280>;
+                       reset-gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
                };
        };
 };
index 5f55df28f3314edadb9c6c4417a49ab2b2dc1535..14ab31685dfeceb2c3ed3d3bb91c74d8e7392c71 100644 (file)
@@ -14,6 +14,7 @@
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/phy/phy.h>
+#include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
 
 / {
        model = "ZynqMP SM-K26 Rev1/B/A";
        status = "okay";
 };
 
+&pinctrl0 {
+       status = "okay";
+       pinctrl_sdhci0_default: sdhci0-default {
+               conf {
+                       groups = "sdio0_0_grp";
+                       slew-rate = <SLEW_RATE_SLOW>;
+                       power-source = <IO_STANDARD_LVCMOS18>;
+                       bias-disable;
+               };
+
+               mux {
+                       groups = "sdio0_0_grp";
+                       function = "sdio0";
+               };
+       };
+};
+
 &qspi { /* MIO 0-5 - U143 */
        status = "okay";
        flash@0 { /* MT25QU512A */
 
 &sdhci0 { /* MIO13-23 - 16GB emmc MTFC16GAPALBH-IT - U133A */
        status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_sdhci0_default>;
        non-removable;
        disable-wp;
        bus-width = <8>;
        xlnx,mio-bank = <0>;
+       assigned-clock-rates = <187498123>;
 };
 
 &spi1 { /* MIO6, 9-11 */
 &ams_pl {
        status = "okay";
 };
+
+&zynqmp_dpsub {
+       status = "okay";
+};
diff --git a/arch/arm/dts/zynqmp-zcu106-rev1.0.dts b/arch/arm/dts/zynqmp-zcu106-rev1.0.dts
new file mode 100644 (file)
index 0000000..f43c477
--- /dev/null
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * dts file for Xilinx ZynqMP ZCU106 Rev1.0
+ *
+ * (C) Copyright 2016 - 2022, Xilinx, Inc.
+ *
+ * Michal Simek <michal.simek@xilinx.com>
+ */
+
+#include "zynqmp-zcu106-revA.dts"
+
+/ {
+       model = "ZynqMP ZCU106 Rev1.0";
+       compatible = "xlnx,zynqmp-zcu106-rev1.0", "xlnx,zynqmp-zcu106-revA",
+                    "xlnx,zynqmp-zcu106", "xlnx,zynqmp";
+};
index 27f30d1d2e200f90f5b6575935f46ea24454dce8..327c0e06977b8610baec9446742bff8fdcc87756 100644 (file)
@@ -19,7 +19,4 @@
 #define CONFIG_SYS_NS16550_CLK_DIV     54
 #define CONFIG_SYS_NS16550_COM3                0x18023000
 
-/* Ethernet */
-#define CONFIG_PHY_RESET_DELAY 10000 /* PHY reset delay in us*/
-
 #endif /* __ARCH_CONFIGS_H */
index 36b840378a9e834887e608271242772e28135a32..89b1015bc4d332d3acbcec2b802884d28b707ed0 100644 (file)
@@ -1,45 +1,26 @@
 /*
- *  linux/include/asm-arm/io.h
+ * I/O device access primitives. Based on early versions from the Linux kernel.
  *
  *  Copyright (C) 1996-2000 Russell King
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
- *
- * Modifications:
- *  16-Sep-1996        RMK     Inlined the inx/outx functions & optimised for both
- *                     constant addresses and variable addresses.
- *  04-Dec-1997        RMK     Moved a lot of this stuff to the new architecture
- *                     specific IO header files.
- *  27-Mar-1999        PJB     Second parameter of memcpy_toio is const..
- *  04-Apr-1999        PJB     Added check_signature.
- *  12-Dec-1999        RMK     More cleanups
- *  18-Jun-2000 RMK    Removed virt_to_* and friends definitions
  */
 #ifndef __ASM_ARM_IO_H
 #define __ASM_ARM_IO_H
 
-#ifdef __KERNEL__
-
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <asm/byteorder.h>
 #include <asm/memory.h>
 #include <asm/barriers.h>
-#if 0  /* XXX###XXX */
-#include <asm/arch/hardware.h>
-#endif /* XXX###XXX */
 
 static inline void sync(void)
 {
 }
 
-/*
- * Generic virtual read/write.  Note that we don't support half-word
- * read/writes.  We define __arch_*[bl] here, and leave __arch_*w
- * to the architecture specific code.
- */
+/* Generic virtual read/write. */
 #define __arch_getb(a)                 (*(volatile unsigned char *)(a))
 #define __arch_getw(a)                 (*(volatile unsigned short *)(a))
 #define __arch_getl(a)                 (*(volatile unsigned int *)(a))
@@ -247,13 +228,6 @@ static inline void __raw_readsl(unsigned long addr, void *data, int longlen)
 #define setbits_64(addr, set) setbits(64, addr, set)
 #define clrsetbits_64(addr, clear, set) clrsetbits(64, addr, clear, set)
 
-/*
- * Now, pick up the machine-defined IO definitions
- */
-#if 0  /* XXX###XXX */
-#include <asm/arch/io.h>
-#endif /* XXX###XXX */
-
 /*
  *  IO port access primitives
  *  -------------------------
@@ -317,16 +291,6 @@ static inline void __raw_readsl(unsigned long addr, void *data, int longlen)
 #define writesb(a, d, s)       __raw_writesb((unsigned long)a, d, s)
 #define readsb(a, d, s)                __raw_readsb((unsigned long)a, d, s)
 
-/*
- * DMA-consistent mapping functions.  These allocate/free a region of
- * uncached, unwrite-buffered mapped memory space for use with DMA
- * devices.  This is the "generic" version.  The PCI specific version
- * is in pci.h
- */
-extern void *consistent_alloc(int gfp, size_t size, dma_addr_t *handle);
-extern void consistent_free(void *vaddr, size_t size, dma_addr_t handle);
-extern void consistent_sync(void *vaddr, size_t size, int rw);
-
 /*
  * String version of IO memory access ops:
  */
@@ -334,8 +298,6 @@ extern void _memcpy_fromio(void *, unsigned long, size_t);
 extern void _memcpy_toio(unsigned long, const void *, size_t);
 extern void _memset_io(unsigned long, int, size_t);
 
-extern void __readwrite_bug(const char *fn);
-
 /* Optimized copy functions to read from/write to IO sapce */
 #ifdef CONFIG_ARM64
 #include <cpu_func.h>
@@ -441,62 +403,6 @@ void __memset_io(volatile void __iomem *dst, int c, size_t count)
 #define memcpy_toio(a, b, c)           memcpy((void *)(a), (b), (c))
 #endif
 
-/*
- * If this architecture has ISA IO, then define the isa_read/isa_write
- * macros.
- */
-#ifdef __mem_isa
-
-#define isa_readb(addr)                        __raw_readb(__mem_isa(addr))
-#define isa_readw(addr)                        __raw_readw(__mem_isa(addr))
-#define isa_readl(addr)                        __raw_readl(__mem_isa(addr))
-#define isa_writeb(val,addr)           __raw_writeb(val,__mem_isa(addr))
-#define isa_writew(val,addr)           __raw_writew(val,__mem_isa(addr))
-#define isa_writel(val,addr)           __raw_writel(val,__mem_isa(addr))
-#define isa_memset_io(a,b,c)           _memset_io(__mem_isa(a),(b),(c))
-#define isa_memcpy_fromio(a,b,c)       _memcpy_fromio((a),__mem_isa(b),(c))
-#define isa_memcpy_toio(a,b,c)         _memcpy_toio(__mem_isa((a)),(b),(c))
-
-#define isa_eth_io_copy_and_sum(a,b,c,d) \
-                               eth_copy_and_sum((a),__mem_isa(b),(c),(d))
-
-static inline int
-isa_check_signature(unsigned long io_addr, const unsigned char *signature,
-                   int length)
-{
-       int retval = 0;
-       do {
-               if (isa_readb(io_addr) != *signature)
-                       goto out;
-               io_addr++;
-               signature++;
-               length--;
-       } while (length);
-       retval = 1;
-out:
-       return retval;
-}
-
-#else  /* __mem_isa */
-
-#define isa_readb(addr)                        (__readwrite_bug("isa_readb"),0)
-#define isa_readw(addr)                        (__readwrite_bug("isa_readw"),0)
-#define isa_readl(addr)                        (__readwrite_bug("isa_readl"),0)
-#define isa_writeb(val,addr)           __readwrite_bug("isa_writeb")
-#define isa_writew(val,addr)           __readwrite_bug("isa_writew")
-#define isa_writel(val,addr)           __readwrite_bug("isa_writel")
-#define isa_memset_io(a,b,c)           __readwrite_bug("isa_memset_io")
-#define isa_memcpy_fromio(a,b,c)       __readwrite_bug("isa_memcpy_fromio")
-#define isa_memcpy_toio(a,b,c)         __readwrite_bug("isa_memcpy_toio")
-
-#define isa_eth_io_copy_and_sum(a,b,c,d) \
-                               __readwrite_bug("isa_eth_io_copy_and_sum")
-
-#define isa_check_signature(io,sig,len)        (0)
-
-#endif /* __mem_isa */
-#endif /* __KERNEL__ */
-
 #include <asm-generic/io.h>
 #include <iotrace.h>
 
index ec0171e0e6c9aeb1350e5df70285710971fd0113..1a1edc98703760073e0e05903ea608f4c8558133 100644 (file)
@@ -69,12 +69,10 @@ lr  .req    x30
  */
 .macro switch_el, xreg, el3_label, el2_label, el1_label
        mrs     \xreg, CurrentEL
-       cmp     \xreg, 0xc
-       b.eq    \el3_label
-       cmp     \xreg, 0x8
+       cmp     \xreg, #0x8
+       b.gt    \el3_label
        b.eq    \el2_label
-       cmp     \xreg, 0x4
-       b.eq    \el1_label
+       b.lt    \el1_label
 .endm
 
 /*
@@ -123,19 +121,10 @@ lr        .req    x30
  */
 .macro branch_if_slave, xreg, slave_label
 #ifdef CONFIG_ARMV8_MULTIENTRY
-       /* NOTE: MPIDR handling will be erroneous on multi-cluster machines */
        mrs     \xreg, mpidr_el1
-       tst     \xreg, #0xff            /* Test Affinity 0 */
-       b.ne    \slave_label
-       lsr     \xreg, \xreg, #8
-       tst     \xreg, #0xff            /* Test Affinity 1 */
-       b.ne    \slave_label
-       lsr     \xreg, \xreg, #8
-       tst     \xreg, #0xff            /* Test Affinity 2 */
-       b.ne    \slave_label
-       lsr     \xreg, \xreg, #16
-       tst     \xreg, #0xff            /* Test Affinity 3 */
-       b.ne    \slave_label
+       and     \xreg, \xreg,  0xffffffffff     /* clear bits [63:40] */
+       and     \xreg, \xreg, ~0x00ff000000     /* also clear bits [31:24] */
+       cbnz    \xreg, \slave_label
 #endif
 .endm
 
@@ -143,16 +132,12 @@ lr        .req    x30
  * Branch if current processor is a master,
  * choose processor with all zero affinity value as the master.
  */
-.macro branch_if_master, xreg1, xreg2, master_label
+.macro branch_if_master, xreg, master_label
 #ifdef CONFIG_ARMV8_MULTIENTRY
-       /* NOTE: MPIDR handling will be erroneous on multi-cluster machines */
-       mrs     \xreg1, mpidr_el1
-       lsr     \xreg2, \xreg1, #32
-       lsl     \xreg2, \xreg2, #32
-       lsl     \xreg1, \xreg1, #40
-       lsr     \xreg1, \xreg1, #40
-       orr     \xreg1, \xreg1, \xreg2
-       cbz     \xreg1, \master_label
+       mrs     \xreg, mpidr_el1
+       and     \xreg, \xreg,  0xffffffffff     /* clear bits [63:40] */
+       and     \xreg, \xreg, ~0x00ff000000     /* also clear bits [31:24] */
+       cbz     \xreg, \master_label
 #else
        b       \master_label
 #endif
index f75eea16b36c51f4a632b83ee215534efb522618..87d1c77e8b1e6a846861fbc8a0e99ec54da85697 100644 (file)
@@ -82,6 +82,7 @@
 #define HCR_EL2_RW_AARCH64     (1 << 31) /* EL1 is AArch64                   */
 #define HCR_EL2_RW_AARCH32     (0 << 31) /* Lower levels are AArch32         */
 #define HCR_EL2_HCD_DIS                (1 << 29) /* Hypervisor Call disabled         */
+#define HCR_EL2_AMO_EL2                (1 <<  5) /* Route SErrors to EL2             */
 
 /*
  * ID_AA64ISAR1_EL1 bits definitions
index 00f31045d67f6c4a37740f079ea135dae5b74308..145c4b276bfabc5987a88c8e6c8c1b465197ec81 100644 (file)
@@ -81,6 +81,7 @@ config TARGET_ETHERNUT5
 config TARGET_SNAPPER9260
        bool "Support snapper9260"
        select AT91SAM9260
+       select AT91_WANTS_COMMON_PHY
        select DM
        select DM_GPIO
        select DM_SERIAL
@@ -89,6 +90,7 @@ config TARGET_SNAPPER9260
 config TARGET_GURNARD
        bool "Support gurnard"
        select AT91SAM9G45
+       select AT91_WANTS_COMMON_PHY
        select BOARD_LATE_INIT
        select DM
        select DM_ETH
@@ -115,6 +117,7 @@ config TARGET_AT91SAM9263EK
 config TARGET_USB_A9263
        bool "Caloa USB A9260 board"
        select AT91SAM9263
+       select AT91_WANTS_COMMON_PHY
 
 config TARGET_PM9263
        bool "Ronetix pm9263 board"
@@ -176,6 +179,7 @@ config TARGET_SAMA5D2_XPLAINED
 
 config TARGET_SAMA5D27_SOM1_EK
        bool "SAMA5D27 SOM1 EK board"
+       select SAMA5D2
        select BOARD_EARLY_INIT_F
        select BOARD_LATE_INIT
        select CPU_V7A
@@ -249,6 +253,7 @@ config TARGET_MEESC
 config TARGET_CORVUS
        bool "Support corvus"
        select AT91SAM9M10G45
+       select AT91_WANTS_COMMON_PHY
        select DM
        select DM_ETH
        select DM_GPIO
@@ -266,6 +271,7 @@ config TARGET_SAMA7G5EK
 config TARGET_TAURUS
        bool "Support taurus"
        select AT91SAM9G20
+       select AT91_WANTS_COMMON_PHY
        select DM
        select DM_ETH
        select DM_GPIO
@@ -278,6 +284,7 @@ config TARGET_TAURUS
 config TARGET_SMARTWEB
        bool "Support smartweb"
        select AT91SAM9260
+       select AT91_WANTS_COMMON_PHY
        select DM
        select DM_ETH
        select DM_GPIO
@@ -310,6 +317,16 @@ config AT91_EFLASH
          Enable the driver for the embedded flash used in the Atmel
          AT91SAM9XE devices.
 
+config AT91_GPIO_PULLUP
+       bool "Keep pullups on peripheral pins"
+       depends on CPU_ARM926EJS
+
+config ATMEL_LEGACY
+       bool "Legacy GPIO support"
+
+config AT91_WANTS_COMMON_PHY
+       bool
+
 source "board/atmel/at91sam9260ek/Kconfig"
 source "board/atmel/at91sam9261ek/Kconfig"
 source "board/atmel/at91sam9263ek/Kconfig"
index 6087d93c71a4611eb1393809048e39040ed2c021..f73dbbb507d148e6e35fc9c1441adf8dc3a05565 100644 (file)
@@ -1,5 +1,9 @@
 if ARCH_EXYNOS
 
+config BOARD_COMMON
+       def_bool y
+       depends on !TARGET_SMDKV310 && !TARGET_ARNDALE
+
 choice
        prompt "EXYNOS architecture type select"
        optional
index 722449881af27ab3803cbe655aa59c3a70f865cc..93fea9c749a63f8127072ef4e8c5054009a1dd0d 100644 (file)
 #include "common_setup.h"
 #include "clock_init.h"
 
+#ifdef CONFIG_ARCH_EXYNOS5
+#define SECURE_BL1_ONLY
+
+/* Secure FW size configuration */
+#ifdef SECURE_BL1_ONLY
+#define SEC_FW_SIZE (8 << 10) /* 8KB */
+#else
+#define SEC_FW_SIZE 0
+#endif
+
+/* Configuration of BL1, BL2, ENV Blocks on mmc */
+#define RES_BLOCK_SIZE (512)
+#define BL1_SIZE       (16 << 10) /*16 K reserved for BL1*/
+#define BL2_SIZE       (512UL << 10UL) /* 512 KB */
+
+#define BL1_OFFSET     (RES_BLOCK_SIZE + SEC_FW_SIZE)
+#define BL2_OFFSET     (BL1_OFFSET + BL1_SIZE)
+
+/* U-Boot copy size from boot Media to DRAM.*/
+#define BL2_START_OFFSET       (BL2_OFFSET/512)
+#define BL2_SIZE_BLOC_COUNT    (BL2_SIZE/512)
+
+#define EXYNOS_COPY_SPI_FNPTR_ADDR     0x02020058
+#define SPI_FLASH_UBOOT_POS    (SEC_FW_SIZE + BL1_SIZE)
+#elif defined(CONFIG_ARCH_EXYNOS4)
+#define COPY_BL2_SIZE          0x80000
+#define BL2_START_OFFSET       ((CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)/512)
+#define BL2_SIZE_BLOC_COUNT    (COPY_BL2_SIZE/512)
+#endif
+
 DECLARE_GLOBAL_DATA_PTR;
 
 /* Index into irom ptr table */
index ee5cc479039bc523bc292cb871c9bedd09d476cf..359f8c796eb35b41e920af43effe6a1cb79554b8 100644 (file)
@@ -8,6 +8,7 @@
 #include <cpu.h>
 #include <cpu_func.h>
 #include <dm.h>
+#include <event.h>
 #include <init.h>
 #include <log.h>
 #include <asm/cache.h>
@@ -66,7 +67,7 @@ int arch_cpu_init(void)
        return 0;
 }
 
-int arch_cpu_init_dm(void)
+static int imx8_init_mu(void *ctx, struct event *event)
 {
        struct udevice *devp;
        int node, ret;
@@ -88,6 +89,7 @@ int arch_cpu_init_dm(void)
 
        return 0;
 }
+EVENT_SPY(EVT_DM_POST_INIT, imx8_init_mu);
 
 int print_bootinfo(void)
 {
index 1a5a391443dea5cc0c1053846de5ef8e25d1c2d0..838f0a37496829f54a4de51cfa508dec6725c3ce 100644 (file)
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <cpu_func.h>
+#include <event.h>
 #include <init.h>
 #include <log.h>
 #include <asm/arch/imx-regs.h>
@@ -494,7 +495,7 @@ static void imx_set_wdog_powerdown(bool enable)
        writew(enable, &wdog3->wmcr);
 }
 
-int arch_cpu_init_dm(void)
+static int imx8m_check_clock(void *ctx, struct event *event)
 {
        struct udevice *dev;
        int ret;
@@ -511,6 +512,7 @@ int arch_cpu_init_dm(void)
 
        return 0;
 }
+EVENT_SPY(EVT_DM_POST_INIT, imx8m_check_clock);
 
 int arch_cpu_init(void)
 {
index 934b0ef038ce83dc2830d5458c975cc50869668e..e6d417ed48b218f54d4707087b195f045262f4c7 100644 (file)
@@ -11,6 +11,7 @@
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/global_data.h>
 #include <efi_loader.h>
+#include <event.h>
 #include <spl.h>
 #include <asm/arch/rdc.h>
 #include <asm/arch/s400_api.h>
@@ -569,7 +570,7 @@ int arch_cpu_init(void)
        return 0;
 }
 
-int arch_cpu_init_dm(void)
+static int imx8ulp_check_mu(void *ctx, struct event *event)
 {
        struct udevice *devp;
        int node, ret;
@@ -584,6 +585,7 @@ int arch_cpu_init_dm(void)
 
        return 0;
 }
+EVENT_SPY(EVT_DM_POST_INIT, imx8ulp_check_mu);
 
 #if defined(CONFIG_SPL_BUILD)
 __weak void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image)
index b9f836bbaf881696a8334c0735dcec37b5fa699a..7810cf22d4ea2e268d36434a7cbca8ec33b810a1 100644 (file)
 #define NAND_ALLOW_ERASE_ALL           1
 #endif
 
-/*
- * Ethernet Driver configuration
- */
-#ifdef CONFIG_CMD_NET
-#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN        /* detect link using phy */
-#define CONFIG_RESET_PHY_R     /* use reset_phy() to init mv8831116 PHY */
-#endif /* CONFIG_CMD_NET */
-
 /*
  * IDE Support on SATA ports
  */
index 7d487f270b511bc6901857ee953362b4aeef1873..e17a55a44261df3883c3df8e7a75ef71370678bb 100644 (file)
@@ -152,6 +152,7 @@ config TARGET_OCTEONTX2_CN913x
 
 config TARGET_DB_MV784MP_GP
        bool "Support db-mv784mp-gp"
+       select BOARD_ECC_SUPPORT
        select MV78460
 
 config TARGET_DS414
@@ -160,6 +161,7 @@ config TARGET_DS414
 
 config TARGET_MAXBCM
        bool "Support maxbcm"
+       select BOARD_ECC_SUPPORT
        select MV78460
 
 config TARGET_THEADORABLE
@@ -226,6 +228,9 @@ config DDR_RESET_ON_TRAINING_FAILURE
          device will still hang - it doesn't make sense to reset the board
          in such a case.
 
+config BOARD_ECC_SUPPORT
+       bool
+
 config SYS_BOARD
        default "clearfog" if TARGET_CLEARFOG
        default "helios4" if TARGET_HELIOS4
index 681f64961f0b3533f7e7f146e9d7a55f360d745b..fb4e5af770c78e49c78edba5ff67da6b25742514 100644 (file)
 /* Needed for SPI NOR booting in SPL */
 #define CONFIG_DM_SEQ_ALIAS            1
 
-/*
- * Ethernet Driver configuration
- */
-#ifdef CONFIG_CMD_NET
-#define CONFIG_ARP_TIMEOUT     200
-#define CONFIG_NET_RETRY_COUNT 50
-#endif /* CONFIG_CMD_NET */
-
 /*
  * I2C related stuff
  */
index 1402376915eaf50f801d46d58020c1f828baa52e..b8e115dc92bfca9596ff29ac8870bf30eec196e5 100644 (file)
@@ -280,3 +280,35 @@ config PUB_ROM_DATA_SIZE
          image, this area is no longer used, and can be reclaimed
          for run time use by the boot image.
 endif
+
+config AM335X_USB0
+       bool "Static mode configuration for USB0 in SPL"
+       depends on AM33XX && SPL_MUSB_NEW && !SPL_OF_CONTROL
+
+choice
+       prompt "USB0 port configuration"
+       depends on AM335X_USB0
+
+config AM335X_USB0_HOST
+       bool "Port is used in host mode"
+
+config AM335X_USB0_PERIPHERAL
+       bool "Port is used in peripheral mode"
+
+endchoice
+
+config AM335X_USB1
+       bool "Static mode configuration for USB1 in SPL"
+       depends on AM33XX && SPL_MUSB_NEW && !SPL_OF_CONTROL
+
+choice
+       prompt "USB1 port configuration"
+       depends on AM335X_USB1
+
+config AM335X_USB1_HOST
+       bool "Port is used in host mode"
+
+config AM335X_USB1_PERIPHERAL
+       bool "Port is used in peripheral mode"
+
+endchoice
index c44667668e9de5eca7672148be20bd67b5f54f47..5175eb01cbe9a0eb05407ca7462ef075f9d47568 100644 (file)
@@ -11,6 +11,7 @@
 #include <dm.h>
 #include <debug_uart.h>
 #include <errno.h>
+#include <event.h>
 #include <init.h>
 #include <net.h>
 #include <ns16550.h>
@@ -240,14 +241,14 @@ static struct ti_musb_plat usb1 = {
 };
 
 U_BOOT_DRVINFOS(am33xx_usbs) = {
-#if CONFIG_AM335X_USB0_MODE == MUSB_PERIPHERAL
+#ifdef CONFIG_AM335X_USB0_PERIPHERAL
        { "ti-musb-peripheral", &usb0 },
-#elif CONFIG_AM335X_USB0_MODE == MUSB_HOST
+#elif defined(CONFIG_AM335X_USB0_HOST)
        { "ti-musb-host", &usb0 },
 #endif
-#if CONFIG_AM335X_USB1_MODE == MUSB_PERIPHERAL
+#ifdef CONFIG_AM335X_USB1_PERIPHERAL
        { "ti-musb-peripheral", &usb1 },
-#elif CONFIG_AM335X_USB1_MODE == MUSB_HOST
+#elif defined(CONFIG_AM335X_USB1_HOST)
        { "ti-musb-host", &usb1 },
 #endif
 };
@@ -596,7 +597,7 @@ void board_init_f(ulong dummy)
 
 #endif
 
-int arch_cpu_init_dm(void)
+static int am33xx_dm_post_init(void *ctx, struct event *event)
 {
        hw_data_init();
 #if !CONFIG_IS_ENABLED(SKIP_LOWLEVEL_INIT)
@@ -604,3 +605,4 @@ int arch_cpu_init_dm(void)
 #endif
        return 0;
 }
+EVENT_SPY(EVT_DM_POST_INIT, am33xx_dm_post_init);
index 3da50f974dc0c0daa4a2f2c6ee998502080d95d5..c4a8eabc3ebe1e7e8645380e0848a628498fd13f 100644 (file)
@@ -12,6 +12,7 @@
  */
 #include <common.h>
 #include <debug_uart.h>
+#include <event.h>
 #include <fdtdec.h>
 #include <init.h>
 #include <spl.h>
@@ -239,11 +240,13 @@ void board_init_f(ulong dummy)
 }
 #endif
 
-int arch_cpu_init_dm(void)
+static int omap2_system_init(void *ctx, struct event *event)
 {
        early_system_init();
+
        return 0;
 }
+EVENT_SPY(EVT_DM_POST_INIT, omap2_system_init);
 
 /*
  * Routine: wait_for_command_complete
index 71f73492c6c47bfe58ca9d37da0ae93512fb01ad..13685e0567afa18799e20aa284feacf9189979c1 100644 (file)
@@ -23,7 +23,7 @@
  * get_sys_clk_speed() - determine reference oscillator speed
  *                       based on known 32kHz clock and gptimer.
  *****************************************************************************/
-u32 get_osc_clk_speed(void)
+static u32 get_osc_clk_speed(void)
 {
        u32 start, cstart, cend, cdiff, cdiv, val;
        struct prcm *prcm_base = (struct prcm *)PRCM_BASE;
@@ -90,7 +90,7 @@ u32 get_osc_clk_speed(void)
  * get_sys_clkin_sel() - returns the sys_clkin_sel field value based on
  *                       input oscillator clock frequency.
  *****************************************************************************/
-void get_sys_clkin_sel(u32 osc_clk, u32 *sys_clkin_sel)
+static void get_sys_clkin_sel(u32 osc_clk, u32 *sys_clkin_sel)
 {
        switch(osc_clk) {
        case S38_4M:
index 1df2c4034531ae657c638ccb38104ac10db6f4e7..0d7780031ac5c91bb9e831979e4f9cfc3f2d38ec 100644 (file)
@@ -64,7 +64,7 @@ ENTRY(lowlevel_init)
 #endif
 #endif
 
-       branch_if_master x0, x1, 2f
+       branch_if_master x0, 2f
 
        /*
         * Slave should wait for master clearing spin table.
index 612ea8a0371fd5acde0171f96af10d2d66df0f4c..875927cc4d909a482c183392bc73ac3f849dcd76 100644 (file)
@@ -38,7 +38,7 @@ slave_wait_atf:
 #endif
 
 #ifdef CONFIG_ARMV8_MULTIENTRY
-       branch_if_master x0, x1, 2f
+       branch_if_master x0, 2f
 
        /*
         * Slave should wait for master clearing spin table.
index 3107748d3bdbf48c5428c28d3b0b53d133b03352..050a8b4076362c0b1eb5016ba725fba981e06a67 100644 (file)
@@ -23,6 +23,8 @@
 #endif
 #include <asm/ptrace.h>
 
+#define MMU_SECTION_SIZE       (1 * 1024 * 1024)
+
 #define prepare_to_switch()    do { } while (0)
 
 /*
index 28234aa0bb6c4f02a22e5fe3695080e94f19d8de..06cae68ee57668de90f5469861463af646288c3a 100644 (file)
@@ -130,6 +130,7 @@ config MACH_PIC32
 config TARGET_BOSTON
        bool "Support Boston"
        select DM
+       imply DM_EVENT
        select DM_SERIAL
        select MIPS_CM
        select SYS_CACHE_SHIFT_6
index eac2fe5f8c949165f528c36249857480e5cbb392..de449e3c6a20f382b108548495817bf6bc09dd26 100644 (file)
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <clk.h>
 #include <dm.h>
+#include <event.h>
 #include <init.h>
 #include <malloc.h>
 #include <asm/global_data.h>
@@ -95,12 +96,13 @@ static void prefetch_init(void)
 }
 
 /* arch specific CPU init after DM */
-int arch_cpu_init_dm(void)
+static int pic32_flash_prefetch(void *ctx, struct event *event)
 {
        /* flash prefetch */
        prefetch_init();
        return 0;
 }
+EVENT_SPY(EVT_DM_POST_INIT, pic32_flash_prefetch);
 
 /* Un-gate DDR2 modules (gated by default) */
 static void ddr2_pmd_ungate(void)
index b55c8fbc5841715680c18825540d8839bfc1f5c5..4dd9c10faa5ae5835e5c83c4afc340e567b3add7 100644 (file)
@@ -10,6 +10,7 @@
 #include <cpu_func.h>
 #include <dm.h>
 #include <errno.h>
+#include <event.h>
 #include <init.h>
 #include <irq_func.h>
 #include <asm/cache.h>
@@ -63,7 +64,7 @@ static void copy_exception_trampoline(void)
 }
 #endif
 
-int arch_cpu_init_dm(void)
+static int nios_cpu_setup(void *ctx, struct event *event)
 {
        struct udevice *dev;
        int ret;
@@ -79,6 +80,7 @@ int arch_cpu_init_dm(void)
 
        return 0;
 }
+EVENT_SPY(EVT_DM_POST_INIT, nios_cpu_setup);
 
 static int altera_nios2_get_desc(const struct udevice *dev, char *buf,
                                 int size)
index 3393ad562e8dd35f79f1778a5ec0343306764fbf..33b2151f878c4ccc9b0c8b79f273f1c73d998007 100644 (file)
@@ -51,9 +51,6 @@ void ft_cpu_setup(void *blob, struct bd_info *bd)
                 REVID_MAJOR(spridr) >= 2)
                fdt_fixup_crypto_node(blob, 0x0204);
 
-#if defined(CONFIG_HAS_ETH0) || defined(CONFIG_HAS_ETH1) ||\
-    defined(CONFIG_HAS_ETH2) || defined(CONFIG_HAS_ETH3) ||\
-    defined(CONFIG_HAS_ETH4) || defined(CONFIG_HAS_ETH5)
 #ifdef CONFIG_ARCH_MPC8313
        /*
        * mpc8313e erratum IPIC1 swapped TSEC interrupt ID numbers on rev. 1
@@ -66,7 +63,6 @@ void ft_cpu_setup(void *blob, struct bd_info *bd)
 
                nodeoffset = fdt_path_offset(blob, "/aliases");
                if (nodeoffset >= 0) {
-#if defined(CONFIG_HAS_ETH0)
                        prop = fdt_getprop(blob, nodeoffset, "ethernet0", NULL);
                        if (prop) {
                                u32 tmp[] = { 32, 0x8, 33, 0x8, 34, 0x8 };
@@ -78,8 +74,6 @@ void ft_cpu_setup(void *blob, struct bd_info *bd)
                                        fdt_setprop(blob, path, "interrupts",
                                                    &tmp, sizeof(tmp));
                        }
-#endif
-#if defined(CONFIG_HAS_ETH1)
                        prop = fdt_getprop(blob, nodeoffset, "ethernet1", NULL);
                        if (prop) {
                                u32 tmp[] = { 35, 0x8, 36, 0x8, 37, 0x8 };
@@ -91,10 +85,8 @@ void ft_cpu_setup(void *blob, struct bd_info *bd)
                                        fdt_setprop(blob, path, "interrupts",
                                                    &tmp, sizeof(tmp));
                        }
-#endif
                }
        }
-#endif
 #endif
 
        do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
index c308447d493a5954bbe9a04a0f06b37c6f86e1d1..509f356e4961703d2e3335fc4b9693c733d65592 100644 (file)
@@ -317,6 +317,7 @@ config ARCH_MPC8540
 
 config ARCH_MPC8544
        bool
+       select BTB
        select FSL_LAW
        select SYS_CACHE_SHIFT_5
        select SYS_FSL_ERRATUM_A005125
@@ -330,6 +331,7 @@ config ARCH_MPC8544
 
 config ARCH_MPC8548
        bool
+       select BTB
        select FSL_LAW
        select SYS_FSL_ERRATUM_A005125
        select SYS_FSL_ERRATUM_NMG_DDR120
@@ -352,6 +354,8 @@ config ARCH_MPC8560
 
 config ARCH_P1010
        bool
+       select A003399_NOR_WORKAROUND if SYS_FSL_ERRATUM_IFC_A003399 && !SPL
+       select BTB
        select FSL_LAW
        select SYS_CACHE_SHIFT_5
        select SYS_HAS_SERDES
@@ -400,6 +404,7 @@ config ARCH_P1011
 
 config ARCH_P1020
        bool
+       select BTB
        select FSL_LAW
        select SYS_CACHE_SHIFT_5
        select SYS_FSL_ERRATUM_A004508
@@ -496,6 +501,7 @@ config ARCH_P1025
 
 config ARCH_P2020
        bool
+       select BTB
        select FSL_LAW
        select SYS_CACHE_SHIFT_5
        select SYS_FSL_ERRATUM_A004477
@@ -517,6 +523,7 @@ config ARCH_P2020
 
 config ARCH_P2041
        bool
+       select BACKSIDE_L2_CACHE
        select E500MC
        select FSL_LAW
        select SYS_CACHE_SHIFT_6
@@ -542,6 +549,7 @@ config ARCH_P2041
 
 config ARCH_P3041
        bool
+       select BACKSIDE_L2_CACHE
        select E500MC
        select FSL_LAW
        select SYS_CACHE_SHIFT_6
@@ -572,6 +580,7 @@ config ARCH_P3041
 
 config ARCH_P4080
        bool
+       select BACKSIDE_L2_CACHE
        select E500MC
        select FSL_LAW
        select SYS_CACHE_SHIFT_6
@@ -611,6 +620,7 @@ config ARCH_P4080
 
 config ARCH_P5040
        bool
+       select BACKSIDE_L2_CACHE
        select E500MC
        select FSL_LAW
        select SYS_CACHE_SHIFT_6
@@ -641,6 +651,7 @@ config ARCH_QEMU_E500
 
 config ARCH_T1024
        bool
+       select BACKSIDE_L2_CACHE
        select E500MC
        select FSL_LAW
        select SYS_CACHE_SHIFT_6
@@ -664,6 +675,7 @@ config ARCH_T1024
 
 config ARCH_T1040
        bool
+       select BACKSIDE_L2_CACHE
        select E500MC
        select FSL_LAW
        select SYS_CACHE_SHIFT_6
@@ -687,6 +699,7 @@ config ARCH_T1040
 
 config ARCH_T1042
        bool
+       select BACKSIDE_L2_CACHE
        select E500MC
        select FSL_LAW
        select SYS_CACHE_SHIFT_6
@@ -772,6 +785,9 @@ config MPC85XX_HAVE_RESET_VECTOR
        bool "Indicate reset vector at CONFIG_RESET_VECTOR_ADDRESS - 0xffc"
        depends on MPC85xx
 
+config BTB
+       bool "toggle branch predition"
+
 config BOOKE
        bool
        default y
@@ -784,12 +800,14 @@ config E500
 
 config E500MC
        bool
+       select BTB
        imply CMD_PCI
        help
                Enble PowerPC E500MC core
 
 config E6500
        bool
+       select BTB
        help
                Enable PowerPC E6500 core
 
@@ -868,6 +886,18 @@ config SYS_CCSRBAR_DEFAULT
                if changed by pre-boot regime. The value here must match
                the current value in SoC. If not sure, do not change.
 
+config A003399_NOR_WORKAROUND
+       bool
+       help
+         Enables a workaround for IFC erratum A003399. It is only required
+         during NOR boot.
+
+config A008044_WORKAROUND
+       bool
+       help
+         Enables a workaround for T1040/T1042 erratum A008044. It is only
+         required during NAND boot and valid for Rev 1.0 SoC revision
+
 config SYS_FSL_ERRATUM_A004468
        bool
 
@@ -950,6 +980,7 @@ config SYS_FSL_ERRATUM_A007907
 
 config SYS_FSL_ERRATUM_A008044
        bool
+       select A008044_WORKAROUND if MTD_RAW_NAND
 
 config SYS_FSL_ERRATUM_CPC_A002
        bool
@@ -1084,6 +1115,9 @@ config SYS_NUM_TLBCAMS
                Number of TLB CAM entries for Book-E chips. 64 for E500MC,
                16 for other E500 SoCs.
 
+config BACKSIDE_L2_CACHE
+       bool
+
 config SYS_PPC64
        bool
 
index 6f4ad1f9b762017706116e3eed9c7afa2e7eb03d..c32cde04e16a5cd7e973146956962da31474b6bb 100644 (file)
@@ -27,7 +27,6 @@ obj-$(CONFIG_MP)      += release.o
 ifndef CONFIG_SPL_BUILD
 obj-$(CONFIG_CMD_ERRATA) += cmd_errata.o
 endif
-obj-$(CONFIG_CPM2)     += commproc.o
 
 obj-$(CONFIG_OF_LIBFDT) += fdt.o
 obj-$(CONFIG_FSL_CORENET) += liodn.o
@@ -49,7 +48,6 @@ obj-$(CONFIG_ARCH_T2080) += t2080_ids.o
 
 
 obj-$(CONFIG_QE)       += qe_io.o
-obj-$(CONFIG_CPM2)     += serial_scc.o
 obj-$(CONFIG_SYS_FSL_QORIQ_CHASSIS1) += fsl_corenet_serdes.o
 obj-$(CONFIG_SYS_FSL_QORIQ_CHASSIS2) += fsl_corenet2_serdes.o
 
diff --git a/arch/powerpc/cpu/mpc85xx/commproc.c b/arch/powerpc/cpu/mpc85xx/commproc.c
deleted file mode 100644 (file)
index 8e8427a..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Adapted for Motorola MPC8560 chips
- * Xianghua Xiao <x.xiao@motorola.com>
- *
- * This file is based on "arch/powerpc/8260_io/commproc.c" - here is it's
- * copyright notice:
- *
- * General Purpose functions for the global management of the
- * 8220 Communication Processor Module.
- * Copyright (c) 1999 Dan Malek (dmalek@jlc.net)
- * Copyright (c) 2000 MontaVista Software, Inc (source@mvista.com)
- *     2.3.99 Updates
- * Copyright (c) 2003 Motorola,Inc.
- *
- * In addition to the individual control of the communication
- * channels, there are a few functions that globally affect the
- * communication processor.
- *
- * Buffer descriptors must be allocated from the dual ported memory
- * space.  The allocator for that is here.  When the communication
- * process is reset, we reclaim the memory available.  There is
- * currently no deallocator for this memory.
- */
-#include <common.h>
-#include <asm-offsets.h>
-#include <asm/cpm_85xx.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-/*
- * because we have stack and init data in dual port ram
- * we must reduce the size
- */
-#undef CPM_DATAONLY_SIZE
-#define CPM_DATAONLY_SIZE      ((uint)(8 * 1024) - CPM_DATAONLY_BASE)
-
-void
-m8560_cpm_reset(void)
-{
-       volatile ccsr_cpm_t *cpm = (ccsr_cpm_t *)CONFIG_SYS_MPC85xx_CPM_ADDR;
-       volatile ulong count;
-
-       gd = (gd_t *) (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_GBL_DATA_OFFSET);
-
-       /* Reclaim the DP memory for our use.
-       */
-       gd->arch.dp_alloc_base = CPM_DATAONLY_BASE;
-       gd->arch.dp_alloc_top = gd->arch.dp_alloc_base + CPM_DATAONLY_SIZE;
-
-       /*
-        * Reset CPM
-        */
-       cpm->im_cpm_cp.cpcr = CPM_CR_RST;
-       count = 0;
-       do {                    /* Spin until command processed         */
-               __asm__ __volatile__ ("eieio");
-       } while ((cpm->im_cpm_cp.cpcr & CPM_CR_FLG) && ++count < 1000000);
-}
-
-/* Allocate some memory from the dual ported ram.
- * To help protocols with object alignment restrictions, we do that
- * if they ask.
- */
-uint
-m8560_cpm_dpalloc(uint size, uint align)
-{
-       volatile ccsr_cpm_t *cpm = (ccsr_cpm_t *)CONFIG_SYS_MPC85xx_CPM_ADDR;
-       uint    retloc;
-       uint    align_mask, off;
-       uint    savebase;
-
-       align_mask = align - 1;
-       savebase = gd->arch.dp_alloc_base;
-
-       off = gd->arch.dp_alloc_base & align_mask;
-       if (off != 0)
-               gd->arch.dp_alloc_base += (align - off);
-
-       if ((off = size & align_mask) != 0)
-               size += align - off;
-
-       if ((gd->arch.dp_alloc_base + size) >= gd->arch.dp_alloc_top) {
-               gd->arch.dp_alloc_base = savebase;
-               panic("m8560_cpm_dpalloc: ran out of dual port ram!");
-       }
-
-       retloc = gd->arch.dp_alloc_base;
-       gd->arch.dp_alloc_base += size;
-
-       memset((void *)&(cpm->im_dprambase[retloc]), 0, size);
-
-       return(retloc);
-}
-
-/* We also own one page of host buffer space for the allocation of
- * UART "fifos" and the like.
- */
-uint
-m8560_cpm_hostalloc(uint size, uint align)
-{
-       /* the host might not even have RAM yet - just use dual port RAM */
-       return (m8560_cpm_dpalloc(size, align));
-}
-
-/* Set a baud rate generator.  This needs lots of work.  There are
- * eight BRGs, which can be connected to the CPM channels or output
- * as clocks.  The BRGs are in two different block of internal
- * memory mapped space.
- * The baud rate clock is the system clock divided by something.
- * It was set up long ago during the initial boot phase and is
- * is given to us.
- * Baud rate clocks are zero-based in the driver code (as that maps
- * to port numbers).  Documentation uses 1-based numbering.
- */
-#define BRG_INT_CLK    gd->arch.brg_clk
-#define BRG_UART_CLK   ((BRG_INT_CLK + 15) / 16)
-
-/* This function is used by UARTS, or anything else that uses a 16x
- * oversampled clock.
- */
-void
-m8560_cpm_setbrg(uint brg, uint rate)
-{
-       volatile ccsr_cpm_t *cpm = (ccsr_cpm_t *)CONFIG_SYS_MPC85xx_CPM_ADDR;
-       volatile uint   *bp;
-
-       /* This is good enough to get SMCs running.....
-       */
-       if (brg < 4) {
-               bp = (uint *)&(cpm->im_cpm_brg1.brgc1);
-       }
-       else {
-               bp = (uint *)&(cpm->im_cpm_brg2.brgc5);
-               brg -= 4;
-       }
-       bp += brg;
-       *bp = (((((BRG_UART_CLK+rate-1)/rate)-1)&0xfff)<<1)|CPM_BRG_EN;
-}
-
-/* This function is used to set high speed synchronous baud rate
- * clocks.
- */
-void
-m8560_cpm_fastbrg(uint brg, uint rate, int div16)
-{
-       volatile ccsr_cpm_t *cpm = (ccsr_cpm_t *)CONFIG_SYS_MPC85xx_CPM_ADDR;
-       volatile uint   *bp;
-
-       /* This is good enough to get SMCs running.....
-       */
-       if (brg < 4) {
-               bp = (uint *)&(cpm->im_cpm_brg1.brgc1);
-       }
-       else {
-               bp = (uint *)&(cpm->im_cpm_brg2.brgc5);
-               brg -= 4;
-       }
-       bp += brg;
-       *bp = (((((BRG_INT_CLK+rate-1)/rate)-1)&0xfff)<<1)|CPM_BRG_EN;
-       if (div16)
-               *bp |= CPM_BRG_DIV16;
-}
-
-/* This function is used to set baud rate generators using an external
- * clock source and 16x oversampling.
- */
-
-void
-m8560_cpm_extcbrg(uint brg, uint rate, uint extclk, int pinsel)
-{
-       volatile ccsr_cpm_t *cpm = (ccsr_cpm_t *)CONFIG_SYS_MPC85xx_CPM_ADDR;
-       volatile uint   *bp;
-
-       if (brg < 4) {
-               bp = (uint *)&(cpm->im_cpm_brg1.brgc1);
-       }
-       else {
-               bp = (uint *)&(cpm->im_cpm_brg2.brgc5);
-               brg -= 4;
-       }
-       bp += brg;
-       *bp = ((((((extclk/16)+rate-1)/rate)-1)&0xfff)<<1)|CPM_BRG_EN;
-       if (pinsel == 0)
-               *bp |= CPM_BRG_EXTC_CLK3_9;
-       else
-               *bp |= CPM_BRG_EXTC_CLK5_15;
-}
index cd32290410f69966477cff4dd21fa1a5b86b627c..cc1d02df8115d6f12bf2ae3df49da72d697eb6e5 100644 (file)
@@ -241,10 +241,6 @@ int checkcpu (void)
        printf("IFC:%-4s MHz\n", strmhz(buf1, sysinfo.freq_localbus));
 #endif
 
-#ifdef CONFIG_CPM2
-       printf("CPM:   %s MHz\n", strmhz(buf1, sysinfo.freq_systembus));
-#endif
-
 #ifdef CONFIG_QE
        printf("       QE:%-4s MHz\n", strmhz(buf1, sysinfo.freq_qe));
 #endif
index e920e01b254f7afdf3cfe76fa39cb0309d830135..e9e133baf070327866fc314edc6012a6af30c853 100644 (file)
@@ -152,70 +152,6 @@ static void config_qe_ioports(void)
 }
 #endif
 
-#ifdef CONFIG_CPM2
-void config_8560_ioports (volatile ccsr_cpm_t * cpm)
-{
-       int portnum;
-
-       for (portnum = 0; portnum < 4; portnum++) {
-               uint pmsk = 0,
-                    ppar = 0,
-                    psor = 0,
-                    pdir = 0,
-                    podr = 0,
-                    pdat = 0;
-               iop_conf_t *iopc = (iop_conf_t *) & iop_conf_tab[portnum][0];
-               iop_conf_t *eiopc = iopc + 32;
-               uint msk = 1;
-
-               /*
-                * NOTE:
-                * index 0 refers to pin 31,
-                * index 31 refers to pin 0
-                */
-               while (iopc < eiopc) {
-                       if (iopc->conf) {
-                               pmsk |= msk;
-                               if (iopc->ppar)
-                                       ppar |= msk;
-                               if (iopc->psor)
-                                       psor |= msk;
-                               if (iopc->pdir)
-                                       pdir |= msk;
-                               if (iopc->podr)
-                                       podr |= msk;
-                               if (iopc->pdat)
-                                       pdat |= msk;
-                       }
-
-                       msk <<= 1;
-                       iopc++;
-               }
-
-               if (pmsk != 0) {
-                       volatile ioport_t *iop = ioport_addr (cpm, portnum);
-                       uint tpmsk = ~pmsk;
-
-                       /*
-                        * the (somewhat confused) paragraph at the
-                        * bottom of page 35-5 warns that there might
-                        * be "unknown behaviour" when programming
-                        * PSORx and PDIRx, if PPARx = 1, so I
-                        * decided this meant I had to disable the
-                        * dedicated function first, and enable it
-                        * last.
-                        */
-                       iop->ppar &= tpmsk;
-                       iop->psor = (iop->psor & tpmsk) | psor;
-                       iop->podr = (iop->podr & tpmsk) | podr;
-                       iop->pdat = (iop->pdat & tpmsk) | pdat;
-                       iop->pdir = (iop->pdir & tpmsk) | pdir;
-                       iop->ppar |= ppar;
-               }
-       }
-}
-#endif
-
 #ifdef CONFIG_SYS_FSL_CPC
 #if defined(CONFIG_RAMBOOT_PBL) || defined(CONFIG_SYS_CPC_REINIT_F)
 void disable_cpc_sram(void)
@@ -474,16 +410,8 @@ ulong cpu_init_f(void)
 #endif
 #endif
 
-#ifdef CONFIG_CPM2
-       config_8560_ioports((ccsr_cpm_t *)CONFIG_SYS_MPC85xx_CPM_ADDR);
-#endif
-
        init_early_memctl_regs();
 
-#if defined(CONFIG_CPM2)
-       m8560_cpm_reset();
-#endif
-
 #if defined(CONFIG_QE) && !defined(CONFIG_U_QE)
        /* Config QE ioports */
        config_qe_ioports();
index d4b828e3824cf77155d66ed5cb3666cb646cbdc4..c8ad6a1b01ce6d8b43f07d930ccd14e5e772f114 100644 (file)
@@ -652,14 +652,6 @@ void ft_cpu_setup(void *blob, struct bd_info *bd)
                "clock-frequency", CONFIG_SYS_NS16550_CLK, 1);
 #endif
 
-#ifdef CONFIG_CPM2
-       do_fixup_by_compat_u32(blob, "fsl,cpm2-scc-uart",
-               "current-speed", gd->baudrate, 1);
-
-       do_fixup_by_compat_u32(blob, "fsl,cpm2-brg",
-               "clock-frequency", bd->bi_brgfreq, 1);
-#endif
-
 #ifdef CONFIG_FSL_CORENET
        do_fixup_by_compat_u32(blob, "fsl,qoriq-clockgen-1.0",
                "clock-frequency", get_board_sys_clk(), 1);
index b1b002c900218ae84620297ebce01034324c02c4..84eb8b466b71affcd17e236231306022dcd1c743 100644 (file)
@@ -456,18 +456,18 @@ void setup_mp(void)
        flush_cache(bootpg, 4096);
 
        /* look for the tlb covering the reset page, there better be one */
-       i = find_tlb_idx((void *)CONFIG_BPTR_VIRT_ADDR, 1);
+       i = find_tlb_idx((void *)BPTR_VIRT_ADDR, 1);
 
        /* we found a match */
        if (i != -1) {
                /* map reset page to bootpg so we can copy code there */
                disable_tlb(i);
 
-               set_tlb(1, CONFIG_BPTR_VIRT_ADDR, bootpg, /* tlb, epn, rpn */
+               set_tlb(1, BPTR_VIRT_ADDR, bootpg, /* tlb, epn, rpn */
                        MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, /* perms, wimge */
                        0, i, BOOKE_PAGESZ_4K, 1); /* ts, esel, tsize, iprot */
 
-               memcpy((void *)CONFIG_BPTR_VIRT_ADDR, (void *)fixup, 4096);
+               memcpy((void *)BPTR_VIRT_ADDR, (void *)fixup, 4096);
 
                plat_mp_up(bootpg_map, pagesize);
        } else {
diff --git a/arch/powerpc/cpu/mpc85xx/serial_scc.c b/arch/powerpc/cpu/mpc85xx/serial_scc.c
deleted file mode 100644 (file)
index a2505d1..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * (C) Copyright 2003 Motorola Inc.
- * Xianghua Xiao (X.Xiao@motorola.com)
- * Modified based on 8260 for 8560.
- *
- * (C) Copyright 2000
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * Hacked for MPC8260 by Murray.Jensen@cmst.csiro.au, 19-Oct-00.
- */
-
-/*
- * Minimal serial functions needed to use one of the SCC ports
- * as serial console interface.
- */
-
-#include <common.h>
-#include <asm/cpm_85xx.h>
-#include <serial.h>
-#include <asm/global_data.h>
-#include <linux/compiler.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-#if defined(CONFIG_CONS_ON_SCC)
-
-#if CONFIG_CONS_INDEX == 1     /* Console on SCC1 */
-
-#define SCC_INDEX              0
-#define PROFF_SCC              PROFF_SCC1
-#define CMXSCR_MASK            (CMXSCR_GR1|CMXSCR_SC1|\
-                                       CMXSCR_RS1CS_MSK|CMXSCR_TS1CS_MSK)
-#define CMXSCR_VALUE           (CMXSCR_RS1CS_BRG1|CMXSCR_TS1CS_BRG1)
-#define CPM_CR_SCC_PAGE                CPM_CR_SCC1_PAGE
-#define CPM_CR_SCC_SBLOCK      CPM_CR_SCC1_SBLOCK
-
-#elif CONFIG_CONS_INDEX == 2   /* Console on SCC2 */
-
-#define SCC_INDEX              1
-#define PROFF_SCC              PROFF_SCC2
-#define CMXSCR_MASK            (CMXSCR_GR2|CMXSCR_SC2|\
-                                       CMXSCR_RS2CS_MSK|CMXSCR_TS2CS_MSK)
-#define CMXSCR_VALUE           (CMXSCR_RS2CS_BRG2|CMXSCR_TS2CS_BRG2)
-#define CPM_CR_SCC_PAGE                CPM_CR_SCC2_PAGE
-#define CPM_CR_SCC_SBLOCK      CPM_CR_SCC2_SBLOCK
-
-#elif CONFIG_CONS_INDEX == 3   /* Console on SCC3 */
-
-#define SCC_INDEX              2
-#define PROFF_SCC              PROFF_SCC3
-#define CMXSCR_MASK            (CMXSCR_GR3|CMXSCR_SC3|\
-                                       CMXSCR_RS3CS_MSK|CMXSCR_TS3CS_MSK)
-#define CMXSCR_VALUE           (CMXSCR_RS3CS_BRG3|CMXSCR_TS3CS_BRG3)
-#define CPM_CR_SCC_PAGE                CPM_CR_SCC3_PAGE
-#define CPM_CR_SCC_SBLOCK      CPM_CR_SCC3_SBLOCK
-
-#elif CONFIG_CONS_INDEX == 4   /* Console on SCC4 */
-
-#define SCC_INDEX              3
-#define PROFF_SCC              PROFF_SCC4
-#define CMXSCR_MASK            (CMXSCR_GR4|CMXSCR_SC4|\
-                                       CMXSCR_RS4CS_MSK|CMXSCR_TS4CS_MSK)
-#define CMXSCR_VALUE           (CMXSCR_RS4CS_BRG4|CMXSCR_TS4CS_BRG4)
-#define CPM_CR_SCC_PAGE                CPM_CR_SCC4_PAGE
-#define CPM_CR_SCC_SBLOCK      CPM_CR_SCC4_SBLOCK
-
-#else
-
-#error "console not correctly defined"
-
-#endif
-
-static int mpc85xx_serial_init(void)
-{
-       volatile ccsr_cpm_t *cpm = (ccsr_cpm_t *)CONFIG_SYS_MPC85xx_CPM_ADDR;
-       volatile ccsr_cpm_scc_t *sp;
-       volatile scc_uart_t *up;
-       volatile cbd_t *tbdf, *rbdf;
-       volatile ccsr_cpm_cp_t *cp = &(cpm->im_cpm_cp);
-       uint    dpaddr;
-
-       /* initialize pointers to SCC */
-
-       sp = (ccsr_cpm_scc_t *) &(cpm->im_cpm_scc[SCC_INDEX]);
-       up = (scc_uart_t *)&(cpm->im_dprambase[PROFF_SCC]);
-
-       /* Disable transmitter/receiver.
-       */
-       sp->gsmrl &= ~(SCC_GSMRL_ENR | SCC_GSMRL_ENT);
-
-       /* put the SCC channel into NMSI (non multiplexd serial interface)
-        * mode and wire the selected SCC Tx and Rx clocks to BRGx (15-15).
-        */
-       cpm->im_cpm_mux.cmxscr = \
-               (cpm->im_cpm_mux.cmxscr&~CMXSCR_MASK)|CMXSCR_VALUE;
-
-       /* Set up the baud rate generator.
-       */
-       serial_setbrg ();
-
-       /* Allocate space for two buffer descriptors in the DP ram.
-        * damm: allocating space after the two buffers for rx/tx data
-        */
-
-       dpaddr = m8560_cpm_dpalloc((2 * sizeof (cbd_t)) + 2, 16);
-
-       /* Set the physical address of the host memory buffers in
-        * the buffer descriptors.
-        */
-       rbdf = (cbd_t *)&(cpm->im_dprambase[dpaddr]);
-       rbdf->cbd_bufaddr = (uint) (rbdf+2);
-       rbdf->cbd_sc = BD_SC_EMPTY | BD_SC_WRAP;
-       tbdf = rbdf + 1;
-       tbdf->cbd_bufaddr = ((uint) (rbdf+2)) + 1;
-       tbdf->cbd_sc = BD_SC_WRAP;
-
-       /* Set up the uart parameters in the parameter ram.
-       */
-       up->scc_genscc.scc_rbase = dpaddr;
-       up->scc_genscc.scc_tbase = dpaddr+sizeof(cbd_t);
-       up->scc_genscc.scc_rfcr = CPMFCR_EB;
-       up->scc_genscc.scc_tfcr = CPMFCR_EB;
-       up->scc_genscc.scc_mrblr = 1;
-       up->scc_maxidl = 0;
-       up->scc_brkcr = 1;
-       up->scc_parec = 0;
-       up->scc_frmec = 0;
-       up->scc_nosec = 0;
-       up->scc_brkec = 0;
-       up->scc_uaddr1 = 0;
-       up->scc_uaddr2 = 0;
-       up->scc_toseq = 0;
-       up->scc_char1 = up->scc_char2 = up->scc_char3 = up->scc_char4 = 0x8000;
-       up->scc_char5 = up->scc_char6 = up->scc_char7 = up->scc_char8 = 0x8000;
-       up->scc_rccm = 0xc0ff;
-
-       /* Mask all interrupts and remove anything pending.
-       */
-       sp->sccm = 0;
-       sp->scce = 0xffff;
-
-       /* Set 8 bit FIFO, 16 bit oversampling and UART mode.
-       */
-       sp->gsmrh = SCC_GSMRH_RFW;      /* 8 bit FIFO */
-       sp->gsmrl = \
-               SCC_GSMRL_TDCR_16 | SCC_GSMRL_RDCR_16 | SCC_GSMRL_MODE_UART;
-
-       /* Set CTS no flow control, 1 stop bit, 8 bit character length,
-        * normal async UART mode, no parity
-        */
-       sp->psmr = SCU_PSMR_CL;
-
-       /* execute the "Init Rx and Tx params" CP command.
-       */
-
-       while (cp->cpcr & CPM_CR_FLG)  /* wait if cp is busy */
-         ;
-
-       cp->cpcr = mk_cr_cmd(CPM_CR_SCC_PAGE, CPM_CR_SCC_SBLOCK,
-                                       0, CPM_CR_INIT_TRX) | CPM_CR_FLG;
-
-       while (cp->cpcr & CPM_CR_FLG)  /* wait if cp is busy */
-         ;
-
-       /* Enable transmitter/receiver.
-       */
-       sp->gsmrl |= SCC_GSMRL_ENR | SCC_GSMRL_ENT;
-
-       return (0);
-}
-
-static void mpc85xx_serial_setbrg(void)
-{
-#if defined(CONFIG_CONS_USE_EXTC)
-       m8560_cpm_extcbrg(SCC_INDEX, gd->baudrate,
-               CONFIG_CONS_EXTC_RATE, CONFIG_CONS_EXTC_PINSEL);
-#else
-       m8560_cpm_setbrg(SCC_INDEX, gd->baudrate);
-#endif
-}
-
-static void mpc85xx_serial_putc(const char c)
-{
-       volatile scc_uart_t     *up;
-       volatile cbd_t          *tbdf;
-       volatile ccsr_cpm_t     *cpm = (ccsr_cpm_t *)CONFIG_SYS_MPC85xx_CPM_ADDR;
-
-       if (c == '\n')
-               serial_putc ('\r');
-
-       up = (scc_uart_t *)&(cpm->im_dprambase[PROFF_SCC]);
-       tbdf = (cbd_t *)&(cpm->im_dprambase[up->scc_genscc.scc_tbase]);
-
-       /* Wait for last character to go.
-        */
-       while (tbdf->cbd_sc & BD_SC_READY)
-               ;
-
-       /* Load the character into the transmit buffer.
-        */
-       *(volatile char *)tbdf->cbd_bufaddr = c;
-       tbdf->cbd_datlen = 1;
-       tbdf->cbd_sc |= BD_SC_READY;
-}
-
-static int mpc85xx_serial_getc(void)
-{
-       volatile cbd_t          *rbdf;
-       volatile scc_uart_t     *up;
-       volatile ccsr_cpm_t     *cpm = (ccsr_cpm_t *)CONFIG_SYS_MPC85xx_CPM_ADDR;
-       unsigned char           c;
-
-       up = (scc_uart_t *)&(cpm->im_dprambase[PROFF_SCC]);
-       rbdf = (cbd_t *)&(cpm->im_dprambase[up->scc_genscc.scc_rbase]);
-
-       /* Wait for character to show up.
-        */
-       while (rbdf->cbd_sc & BD_SC_EMPTY)
-               ;
-
-       /* Grab the char and clear the buffer again.
-        */
-       c = *(volatile unsigned char *)rbdf->cbd_bufaddr;
-       rbdf->cbd_sc |= BD_SC_EMPTY;
-
-       return (c);
-}
-
-static int mpc85xx_serial_tstc(void)
-{
-       volatile cbd_t          *rbdf;
-       volatile scc_uart_t     *up;
-       volatile ccsr_cpm_t     *cpm = (ccsr_cpm_t *)CONFIG_SYS_MPC85xx_CPM_ADDR;
-
-       up = (scc_uart_t *)&(cpm->im_dprambase[PROFF_SCC]);
-       rbdf = (cbd_t *)&(cpm->im_dprambase[up->scc_genscc.scc_rbase]);
-
-       return ((rbdf->cbd_sc & BD_SC_EMPTY) == 0);
-}
-
-static struct serial_device mpc85xx_serial_drv = {
-       .name   = "mpc85xx_serial",
-       .start  = mpc85xx_serial_init,
-       .stop   = NULL,
-       .setbrg = mpc85xx_serial_setbrg,
-       .putc   = mpc85xx_serial_putc,
-       .puts   = default_serial_puts,
-       .getc   = mpc85xx_serial_getc,
-       .tstc   = mpc85xx_serial_tstc,
-};
-
-void mpc85xx_serial_initialize(void)
-{
-       serial_register(&mpc85xx_serial_drv);
-}
-
-__weak struct serial_device *default_serial_console(void)
-{
-       return &mpc85xx_serial_drv;
-}
-#endif /* CONFIG_CONS_ON_SCC */
index 5a9cd281617b4c54386341d228d387add0de8b06..4b6f3d28baa62eadde73c29668cc5dc682aa1ca1 100644 (file)
@@ -580,15 +580,6 @@ int get_clocks(void)
        sys_info_t sys_info;
 #ifdef CONFIG_ARCH_MPC8544
        volatile ccsr_gur_t *gur = (void *) CONFIG_SYS_MPC85xx_GUTS_ADDR;
-#endif
-#if defined(CONFIG_CPM2)
-       volatile ccsr_cpm_t *cpm = (ccsr_cpm_t *)CONFIG_SYS_MPC85xx_CPM_ADDR;
-       uint sccr, dfbrg;
-
-       /* set VCO = 4 * BRG */
-       cpm->im_cpm_intctl.sccr &= 0xfffffffc;
-       sccr = cpm->im_cpm_intctl.sccr;
-       dfbrg = (sccr & SCCR_DFBRG_MSK) >> SCCR_DFBRG_SHIFT;
 #endif
        get_sys_info (&sys_info);
        gd->cpu_clk = sys_info.freq_processor[0];
@@ -635,13 +626,6 @@ int get_clocks(void)
 #endif
 #endif /* defined(CONFIG_FSL_ESDHC) */
 
-#if defined(CONFIG_CPM2)
-       gd->arch.vco_out = 2*sys_info.freq_systembus;
-       gd->arch.cpm_clk = gd->arch.vco_out / 2;
-       gd->arch.scc_clk = gd->arch.vco_out / 4;
-       gd->arch.brg_clk = gd->arch.vco_out / (1 << (2 * (dfbrg + 1)));
-#endif
-
        if(gd->cpu_clk != 0) return (0);
        else return (1);
 }
index 354137124d89d1aeb0d0bb0e25f7158bbc4c870b..059ffe1fd4f954a1669d00626239674884f66d40 100644 (file)
@@ -31,9 +31,7 @@
  * Freescale's default e500 reset page.
  */
 #if (defined(CONFIG_E500) && defined(CONFIG_MP))
-#ifndef CONFIG_BPTR_VIRT_ADDR
-#define CONFIG_BPTR_VIRT_ADDR  0xfffff000
-#endif
+#define BPTR_VIRT_ADDR 0xfffff000
 #endif
 
 /* Since so many PPC SOCs have a semi-common LBC, define this here */
diff --git a/arch/powerpc/include/asm/cpm_85xx.h b/arch/powerpc/include/asm/cpm_85xx.h
deleted file mode 100644 (file)
index d42469c..0000000
+++ /dev/null
@@ -1,824 +0,0 @@
-/*
- * MPC85xx Communication Processor Module
- * Copyright (c) 2003,Motorola Inc.
- * Xianghua Xiao (X.Xiao@motorola.com)
- *
- * MPC8260 Communication Processor Module.
- * Copyright (c) 1999 Dan Malek (dmalek@jlc.net)
- *
- * This file contains structures and information for the communication
- * processor channels found in the dual port RAM or parameter RAM.
- * All CPM control and status is available through the MPC8260 internal
- * memory map.  See immap.h for details.
- */
-#ifndef __CPM_85XX__
-#define __CPM_85XX__
-
-#include <asm/immap_85xx.h>
-
-/* CPM Command register.
-*/
-#define CPM_CR_RST     ((uint)0x80000000)
-#define CPM_CR_PAGE    ((uint)0x7c000000)
-#define CPM_CR_SBLOCK  ((uint)0x03e00000)
-#define CPM_CR_FLG     ((uint)0x00010000)
-#define CPM_CR_MCN     ((uint)0x00003fc0)
-#define CPM_CR_OPCODE  ((uint)0x0000000f)
-
-/* Device sub-block and page codes.
-*/
-#define CPM_CR_SCC1_SBLOCK     (0x04)
-#define CPM_CR_SCC2_SBLOCK     (0x05)
-#define CPM_CR_SCC3_SBLOCK     (0x06)
-#define CPM_CR_SCC4_SBLOCK     (0x07)
-#define CPM_CR_SMC1_SBLOCK     (0x08)
-#define CPM_CR_SMC2_SBLOCK     (0x09)
-#define CPM_CR_SPI_SBLOCK      (0x0a)
-#define CPM_CR_I2C_SBLOCK      (0x0b)
-#define CPM_CR_TIMER_SBLOCK    (0x0f)
-#define CPM_CR_RAND_SBLOCK     (0x0e)
-#define CPM_CR_FCC1_SBLOCK     (0x10)
-#define CPM_CR_FCC2_SBLOCK     (0x11)
-#define CPM_CR_FCC3_SBLOCK     (0x12)
-#define CPM_CR_MCC1_SBLOCK     (0x1c)
-
-#define CPM_CR_SCC1_PAGE       (0x00)
-#define CPM_CR_SCC2_PAGE       (0x01)
-#define CPM_CR_SCC3_PAGE       (0x02)
-#define CPM_CR_SCC4_PAGE       (0x03)
-#define CPM_CR_SPI_PAGE                (0x09)
-#define CPM_CR_I2C_PAGE                (0x0a)
-#define CPM_CR_TIMER_PAGE      (0x0a)
-#define CPM_CR_RAND_PAGE       (0x0a)
-#define CPM_CR_FCC1_PAGE       (0x04)
-#define CPM_CR_FCC2_PAGE       (0x05)
-#define CPM_CR_FCC3_PAGE       (0x06)
-#define CPM_CR_MCC1_PAGE       (0x07)
-#define CPM_CR_MCC2_PAGE       (0x08)
-
-/* Some opcodes (there are more...later)
-*/
-#define CPM_CR_INIT_TRX                ((ushort)0x0000)
-#define CPM_CR_INIT_RX         ((ushort)0x0001)
-#define CPM_CR_INIT_TX         ((ushort)0x0002)
-#define CPM_CR_HUNT_MODE       ((ushort)0x0003)
-#define CPM_CR_STOP_TX         ((ushort)0x0004)
-#define CPM_CR_RESTART_TX      ((ushort)0x0006)
-#define CPM_CR_SET_GADDR       ((ushort)0x0008)
-
-#define mk_cr_cmd(PG, SBC, MCN, OP) \
-       ((PG << 26) | (SBC << 21) | (MCN << 6) | OP)
-
-/* Dual Port RAM addresses.  The first 16K is available for almost
- * any CPM use, so we put the BDs there.  The first 128 bytes are
- * used for SMC1 and SMC2 parameter RAM, so we start allocating
- * BDs above that.  All of this must change when we start
- * downloading RAM microcode.
- */
-#define CPM_DATAONLY_BASE      ((uint)128)
-#define CPM_DP_NOSPACE         ((uint)0x7FFFFFFF)
-#define CPM_FCC_SPECIAL_BASE   ((uint)0x0000B000)
-#define CPM_DATAONLY_SIZE      ((uint)(16 * 1024) - CPM_DATAONLY_BASE)
-
-/* The number of pages of host memory we allocate for CPM.  This is
- * done early in kernel initialization to get physically contiguous
- * pages.
- */
-#define NUM_CPM_HOST_PAGES     2
-
-/* Export the base address of the communication processor registers
- * and dual port ram.
- */
-/*extern       cpm8560_t       *cpmp;   Pointer to comm processor */
-uint           m8560_cpm_dpalloc(uint size, uint align);
-uint           m8560_cpm_hostalloc(uint size, uint align);
-void           m8560_cpm_setbrg(uint brg, uint rate);
-void           m8560_cpm_fastbrg(uint brg, uint rate, int div16);
-void           m8560_cpm_extcbrg(uint brg, uint rate, uint extclk, int pinsel);
-
-/* Buffer descriptors used by many of the CPM protocols.
-*/
-typedef struct cpm_buf_desc {
-       ushort  cbd_sc;         /* Status and Control */
-       ushort  cbd_datlen;     /* Data length in buffer */
-       uint    cbd_bufaddr;    /* Buffer address in host memory */
-} cbd_t;
-
-#define BD_SC_EMPTY    ((ushort)0x8000)        /* Receive is empty */
-#define BD_SC_READY    ((ushort)0x8000)        /* Transmit is ready */
-#define BD_SC_WRAP     ((ushort)0x2000)        /* Last buffer descriptor */
-#define BD_SC_INTRPT   ((ushort)0x1000)        /* Interrupt on change */
-#define BD_SC_LAST     ((ushort)0x0800)        /* Last buffer in frame */
-#define BD_SC_CM       ((ushort)0x0200)        /* Continous mode */
-#define BD_SC_ID       ((ushort)0x0100)        /* Rec'd too many idles */
-#define BD_SC_P                ((ushort)0x0100)        /* xmt preamble */
-#define BD_SC_BR       ((ushort)0x0020)        /* Break received */
-#define BD_SC_FR       ((ushort)0x0010)        /* Framing error */
-#define BD_SC_PR       ((ushort)0x0008)        /* Parity error */
-#define BD_SC_OV       ((ushort)0x0002)        /* Overrun */
-#define BD_SC_CD       ((ushort)0x0001)        /* ?? */
-
-/* Function code bits, usually generic to devices.
-*/
-#define CPMFCR_GBL     ((u_char)0x20)  /* Set memory snooping */
-#define CPMFCR_EB      ((u_char)0x10)  /* Set big endian byte order */
-#define CPMFCR_TC2     ((u_char)0x04)  /* Transfer code 2 value */
-#define CPMFCR_DTB     ((u_char)0x02)  /* Use local bus for data when set */
-#define CPMFCR_BDB     ((u_char)0x01)  /* Use local bus for BD when set */
-
-/* Parameter RAM offsets from the base.
-*/
-#define CPM_POST_WORD_ADDR      0x80FC /* steal a long at the end of SCC1 */
-#define PROFF_SCC1             ((uint)0x8000)
-#define PROFF_SCC2             ((uint)0x8100)
-#define PROFF_SCC3             ((uint)0x8200)
-#define PROFF_SCC4             ((uint)0x8300)
-#define PROFF_FCC1             ((uint)0x8400)
-#define PROFF_FCC2             ((uint)0x8500)
-#define PROFF_FCC3             ((uint)0x8600)
-#define PROFF_MCC1             ((uint)0x8700)
-#define PROFF_MCC2             ((uint)0x8800)
-#define PROFF_SPI_BASE         ((uint)0x89fc)
-#define PROFF_TIMERS           ((uint)0x8ae0)
-#define PROFF_REVNUM           ((uint)0x8af0)
-#define PROFF_RAND             ((uint)0x8af8)
-#define PROFF_I2C_BASE         ((uint)0x8afc)
-
-/* Baud rate generators.
-*/
-#define CPM_BRG_RST            ((uint)0x00020000)
-#define CPM_BRG_EN             ((uint)0x00010000)
-#define CPM_BRG_EXTC_INT       ((uint)0x00000000)
-#define CPM_BRG_EXTC_CLK3_9    ((uint)0x00004000)
-#define CPM_BRG_EXTC_CLK5_15   ((uint)0x00008000)
-#define CPM_BRG_ATB            ((uint)0x00002000)
-#define CPM_BRG_CD_MASK                ((uint)0x00001ffe)
-#define CPM_BRG_DIV16          ((uint)0x00000001)
-
-/* SCCs.
-*/
-#define SCC_GSMRH_IRP          ((uint)0x00040000)
-#define SCC_GSMRH_GDE          ((uint)0x00010000)
-#define SCC_GSMRH_TCRC_CCITT   ((uint)0x00008000)
-#define SCC_GSMRH_TCRC_BISYNC  ((uint)0x00004000)
-#define SCC_GSMRH_TCRC_HDLC    ((uint)0x00000000)
-#define SCC_GSMRH_REVD         ((uint)0x00002000)
-#define SCC_GSMRH_TRX          ((uint)0x00001000)
-#define SCC_GSMRH_TTX          ((uint)0x00000800)
-#define SCC_GSMRH_CDP          ((uint)0x00000400)
-#define SCC_GSMRH_CTSP         ((uint)0x00000200)
-#define SCC_GSMRH_CDS          ((uint)0x00000100)
-#define SCC_GSMRH_CTSS         ((uint)0x00000080)
-#define SCC_GSMRH_TFL          ((uint)0x00000040)
-#define SCC_GSMRH_RFW          ((uint)0x00000020)
-#define SCC_GSMRH_TXSY         ((uint)0x00000010)
-#define SCC_GSMRH_SYNL16       ((uint)0x0000000c)
-#define SCC_GSMRH_SYNL8                ((uint)0x00000008)
-#define SCC_GSMRH_SYNL4                ((uint)0x00000004)
-#define SCC_GSMRH_RTSM         ((uint)0x00000002)
-#define SCC_GSMRH_RSYN         ((uint)0x00000001)
-
-#define SCC_GSMRL_SIR          ((uint)0x80000000)      /* SCC2 only */
-#define SCC_GSMRL_EDGE_NONE    ((uint)0x60000000)
-#define SCC_GSMRL_EDGE_NEG     ((uint)0x40000000)
-#define SCC_GSMRL_EDGE_POS     ((uint)0x20000000)
-#define SCC_GSMRL_EDGE_BOTH    ((uint)0x00000000)
-#define SCC_GSMRL_TCI          ((uint)0x10000000)
-#define SCC_GSMRL_TSNC_3       ((uint)0x0c000000)
-#define SCC_GSMRL_TSNC_4       ((uint)0x08000000)
-#define SCC_GSMRL_TSNC_14      ((uint)0x04000000)
-#define SCC_GSMRL_TSNC_INF     ((uint)0x00000000)
-#define SCC_GSMRL_RINV         ((uint)0x02000000)
-#define SCC_GSMRL_TINV         ((uint)0x01000000)
-#define SCC_GSMRL_TPL_128      ((uint)0x00c00000)
-#define SCC_GSMRL_TPL_64       ((uint)0x00a00000)
-#define SCC_GSMRL_TPL_48       ((uint)0x00800000)
-#define SCC_GSMRL_TPL_32       ((uint)0x00600000)
-#define SCC_GSMRL_TPL_16       ((uint)0x00400000)
-#define SCC_GSMRL_TPL_8                ((uint)0x00200000)
-#define SCC_GSMRL_TPL_NONE     ((uint)0x00000000)
-#define SCC_GSMRL_TPP_ALL1     ((uint)0x00180000)
-#define SCC_GSMRL_TPP_01       ((uint)0x00100000)
-#define SCC_GSMRL_TPP_10       ((uint)0x00080000)
-#define SCC_GSMRL_TPP_ZEROS    ((uint)0x00000000)
-#define SCC_GSMRL_TEND         ((uint)0x00040000)
-#define SCC_GSMRL_TDCR_32      ((uint)0x00030000)
-#define SCC_GSMRL_TDCR_16      ((uint)0x00020000)
-#define SCC_GSMRL_TDCR_8       ((uint)0x00010000)
-#define SCC_GSMRL_TDCR_1       ((uint)0x00000000)
-#define SCC_GSMRL_RDCR_32      ((uint)0x0000c000)
-#define SCC_GSMRL_RDCR_16      ((uint)0x00008000)
-#define SCC_GSMRL_RDCR_8       ((uint)0x00004000)
-#define SCC_GSMRL_RDCR_1       ((uint)0x00000000)
-#define SCC_GSMRL_RENC_DFMAN   ((uint)0x00003000)
-#define SCC_GSMRL_RENC_MANCH   ((uint)0x00002000)
-#define SCC_GSMRL_RENC_FM0     ((uint)0x00001000)
-#define SCC_GSMRL_RENC_NRZI    ((uint)0x00000800)
-#define SCC_GSMRL_RENC_NRZ     ((uint)0x00000000)
-#define SCC_GSMRL_TENC_DFMAN   ((uint)0x00000600)
-#define SCC_GSMRL_TENC_MANCH   ((uint)0x00000400)
-#define SCC_GSMRL_TENC_FM0     ((uint)0x00000200)
-#define SCC_GSMRL_TENC_NRZI    ((uint)0x00000100)
-#define SCC_GSMRL_TENC_NRZ     ((uint)0x00000000)
-#define SCC_GSMRL_DIAG_LE      ((uint)0x000000c0)      /* Loop and echo */
-#define SCC_GSMRL_DIAG_ECHO    ((uint)0x00000080)
-#define SCC_GSMRL_DIAG_LOOP    ((uint)0x00000040)
-#define SCC_GSMRL_DIAG_NORM    ((uint)0x00000000)
-#define SCC_GSMRL_ENR          ((uint)0x00000020)
-#define SCC_GSMRL_ENT          ((uint)0x00000010)
-#define SCC_GSMRL_MODE_ENET    ((uint)0x0000000c)
-#define SCC_GSMRL_MODE_DDCMP   ((uint)0x00000009)
-#define SCC_GSMRL_MODE_BISYNC  ((uint)0x00000008)
-#define SCC_GSMRL_MODE_V14     ((uint)0x00000007)
-#define SCC_GSMRL_MODE_AHDLC   ((uint)0x00000006)
-#define SCC_GSMRL_MODE_PROFIBUS        ((uint)0x00000005)
-#define SCC_GSMRL_MODE_UART    ((uint)0x00000004)
-#define SCC_GSMRL_MODE_SS7     ((uint)0x00000003)
-#define SCC_GSMRL_MODE_ATALK   ((uint)0x00000002)
-#define SCC_GSMRL_MODE_HDLC    ((uint)0x00000000)
-
-#define SCC_TODR_TOD           ((ushort)0x8000)
-
-/* SCC Event and Mask register.
-*/
-#define        SCCM_TXE        ((unsigned char)0x10)
-#define        SCCM_BSY        ((unsigned char)0x04)
-#define        SCCM_TX         ((unsigned char)0x02)
-#define        SCCM_RX         ((unsigned char)0x01)
-
-typedef struct scc_param {
-       ushort  scc_rbase;      /* Rx Buffer descriptor base address */
-       ushort  scc_tbase;      /* Tx Buffer descriptor base address */
-       u_char  scc_rfcr;       /* Rx function code */
-       u_char  scc_tfcr;       /* Tx function code */
-       ushort  scc_mrblr;      /* Max receive buffer length */
-       uint    scc_rstate;     /* Internal */
-       uint    scc_idp;        /* Internal */
-       ushort  scc_rbptr;      /* Internal */
-       ushort  scc_ibc;        /* Internal */
-       uint    scc_rxtmp;      /* Internal */
-       uint    scc_tstate;     /* Internal */
-       uint    scc_tdp;        /* Internal */
-       ushort  scc_tbptr;      /* Internal */
-       ushort  scc_tbc;        /* Internal */
-       uint    scc_txtmp;      /* Internal */
-       uint    scc_rcrc;       /* Internal */
-       uint    scc_tcrc;       /* Internal */
-} sccp_t;
-
-/* CPM Ethernet through SCC1.
- */
-typedef struct scc_enet {
-       sccp_t  sen_genscc;
-       uint    sen_cpres;      /* Preset CRC */
-       uint    sen_cmask;      /* Constant mask for CRC */
-       uint    sen_crcec;      /* CRC Error counter */
-       uint    sen_alec;       /* alignment error counter */
-       uint    sen_disfc;      /* discard frame counter */
-       ushort  sen_pads;       /* Tx short frame pad character */
-       ushort  sen_retlim;     /* Retry limit threshold */
-       ushort  sen_retcnt;     /* Retry limit counter */
-       ushort  sen_maxflr;     /* maximum frame length register */
-       ushort  sen_minflr;     /* minimum frame length register */
-       ushort  sen_maxd1;      /* maximum DMA1 length */
-       ushort  sen_maxd2;      /* maximum DMA2 length */
-       ushort  sen_maxd;       /* Rx max DMA */
-       ushort  sen_dmacnt;     /* Rx DMA counter */
-       ushort  sen_maxb;       /* Max BD byte count */
-       ushort  sen_gaddr1;     /* Group address filter */
-       ushort  sen_gaddr2;
-       ushort  sen_gaddr3;
-       ushort  sen_gaddr4;
-       uint    sen_tbuf0data0; /* Save area 0 - current frame */
-       uint    sen_tbuf0data1; /* Save area 1 - current frame */
-       uint    sen_tbuf0rba;   /* Internal */
-       uint    sen_tbuf0crc;   /* Internal */
-       ushort  sen_tbuf0bcnt;  /* Internal */
-       ushort  sen_paddrh;     /* physical address (MSB) */
-       ushort  sen_paddrm;
-       ushort  sen_paddrl;     /* physical address (LSB) */
-       ushort  sen_pper;       /* persistence */
-       ushort  sen_rfbdptr;    /* Rx first BD pointer */
-       ushort  sen_tfbdptr;    /* Tx first BD pointer */
-       ushort  sen_tlbdptr;    /* Tx last BD pointer */
-       uint    sen_tbuf1data0; /* Save area 0 - current frame */
-       uint    sen_tbuf1data1; /* Save area 1 - current frame */
-       uint    sen_tbuf1rba;   /* Internal */
-       uint    sen_tbuf1crc;   /* Internal */
-       ushort  sen_tbuf1bcnt;  /* Internal */
-       ushort  sen_txlen;      /* Tx Frame length counter */
-       ushort  sen_iaddr1;     /* Individual address filter */
-       ushort  sen_iaddr2;
-       ushort  sen_iaddr3;
-       ushort  sen_iaddr4;
-       ushort  sen_boffcnt;    /* Backoff counter */
-
-       /* NOTE: Some versions of the manual have the following items
-        * incorrectly documented.  Below is the proper order.
-        */
-       ushort  sen_taddrh;     /* temp address (MSB) */
-       ushort  sen_taddrm;
-       ushort  sen_taddrl;     /* temp address (LSB) */
-} scc_enet_t;
-
-
-/* SCC Event register as used by Ethernet.
-*/
-#define SCCE_ENET_GRA  ((ushort)0x0080)        /* Graceful stop complete */
-#define SCCE_ENET_TXE  ((ushort)0x0010)        /* Transmit Error */
-#define SCCE_ENET_RXF  ((ushort)0x0008)        /* Full frame received */
-#define SCCE_ENET_BSY  ((ushort)0x0004)        /* All incoming buffers full */
-#define SCCE_ENET_TXB  ((ushort)0x0002)        /* A buffer was transmitted */
-#define SCCE_ENET_RXB  ((ushort)0x0001)        /* A buffer was received */
-
-/* SCC Mode Register (PSMR) as used by Ethernet.
-*/
-#define SCC_PSMR_HBC   ((ushort)0x8000)        /* Enable heartbeat */
-#define SCC_PSMR_FC    ((ushort)0x4000)        /* Force collision */
-#define SCC_PSMR_RSH   ((ushort)0x2000)        /* Receive short frames */
-#define SCC_PSMR_IAM   ((ushort)0x1000)        /* Check individual hash */
-#define SCC_PSMR_ENCRC ((ushort)0x0800)        /* Ethernet CRC mode */
-#define SCC_PSMR_PRO   ((ushort)0x0200)        /* Promiscuous mode */
-#define SCC_PSMR_BRO   ((ushort)0x0100)        /* Catch broadcast pkts */
-#define SCC_PSMR_SBT   ((ushort)0x0080)        /* Special backoff timer */
-#define SCC_PSMR_LPB   ((ushort)0x0040)        /* Set Loopback mode */
-#define SCC_PSMR_SIP   ((ushort)0x0020)        /* Sample Input Pins */
-#define SCC_PSMR_LCW   ((ushort)0x0010)        /* Late collision window */
-#define SCC_PSMR_NIB22 ((ushort)0x000a)        /* Start frame search */
-#define SCC_PSMR_FDE   ((ushort)0x0001)        /* Full duplex enable */
-
-/* Buffer descriptor control/status used by Ethernet receive.
- * Common to SCC and FCC.
- */
-#define BD_ENET_RX_EMPTY       ((ushort)0x8000)
-#define BD_ENET_RX_WRAP                ((ushort)0x2000)
-#define BD_ENET_RX_INTR                ((ushort)0x1000)
-#define BD_ENET_RX_LAST                ((ushort)0x0800)
-#define BD_ENET_RX_FIRST       ((ushort)0x0400)
-#define BD_ENET_RX_MISS                ((ushort)0x0100)
-#define BD_ENET_RX_BC          ((ushort)0x0080)        /* FCC Only */
-#define BD_ENET_RX_MC          ((ushort)0x0040)        /* FCC Only */
-#define BD_ENET_RX_LG          ((ushort)0x0020)
-#define BD_ENET_RX_NO          ((ushort)0x0010)
-#define BD_ENET_RX_SH          ((ushort)0x0008)
-#define BD_ENET_RX_CR          ((ushort)0x0004)
-#define BD_ENET_RX_OV          ((ushort)0x0002)
-#define BD_ENET_RX_CL          ((ushort)0x0001)
-#define BD_ENET_RX_STATS       ((ushort)0x01ff)        /* All status bits */
-
-/* Buffer descriptor control/status used by Ethernet transmit.
- * Common to SCC and FCC.
- */
-#define BD_ENET_TX_READY       ((ushort)0x8000)
-#define BD_ENET_TX_PAD         ((ushort)0x4000)
-#define BD_ENET_TX_WRAP                ((ushort)0x2000)
-#define BD_ENET_TX_INTR                ((ushort)0x1000)
-#define BD_ENET_TX_LAST                ((ushort)0x0800)
-#define BD_ENET_TX_TC          ((ushort)0x0400)
-#define BD_ENET_TX_DEF         ((ushort)0x0200)
-#define BD_ENET_TX_HB          ((ushort)0x0100)
-#define BD_ENET_TX_LC          ((ushort)0x0080)
-#define BD_ENET_TX_RL          ((ushort)0x0040)
-#define BD_ENET_TX_RCMASK      ((ushort)0x003c)
-#define BD_ENET_TX_UN          ((ushort)0x0002)
-#define BD_ENET_TX_CSL         ((ushort)0x0001)
-#define BD_ENET_TX_STATS       ((ushort)0x03ff)        /* All status bits */
-
-/* SCC as UART
-*/
-typedef struct scc_uart {
-       sccp_t  scc_genscc;
-       uint    scc_res1;       /* Reserved */
-       uint    scc_res2;       /* Reserved */
-       ushort  scc_maxidl;     /* Maximum idle chars */
-       ushort  scc_idlc;       /* temp idle counter */
-       ushort  scc_brkcr;      /* Break count register */
-       ushort  scc_parec;      /* receive parity error counter */
-       ushort  scc_frmec;      /* receive framing error counter */
-       ushort  scc_nosec;      /* receive noise counter */
-       ushort  scc_brkec;      /* receive break condition counter */
-       ushort  scc_brkln;      /* last received break length */
-       ushort  scc_uaddr1;     /* UART address character 1 */
-       ushort  scc_uaddr2;     /* UART address character 2 */
-       ushort  scc_rtemp;      /* Temp storage */
-       ushort  scc_toseq;      /* Transmit out of sequence char */
-       ushort  scc_char1;      /* control character 1 */
-       ushort  scc_char2;      /* control character 2 */
-       ushort  scc_char3;      /* control character 3 */
-       ushort  scc_char4;      /* control character 4 */
-       ushort  scc_char5;      /* control character 5 */
-       ushort  scc_char6;      /* control character 6 */
-       ushort  scc_char7;      /* control character 7 */
-       ushort  scc_char8;      /* control character 8 */
-       ushort  scc_rccm;       /* receive control character mask */
-       ushort  scc_rccr;       /* receive control character register */
-       ushort  scc_rlbc;       /* receive last break character */
-} scc_uart_t;
-
-/* SCC Event and Mask registers when it is used as a UART.
-*/
-#define UART_SCCM_GLR          ((ushort)0x1000)
-#define UART_SCCM_GLT          ((ushort)0x0800)
-#define UART_SCCM_AB           ((ushort)0x0200)
-#define UART_SCCM_IDL          ((ushort)0x0100)
-#define UART_SCCM_GRA          ((ushort)0x0080)
-#define UART_SCCM_BRKE         ((ushort)0x0040)
-#define UART_SCCM_BRKS         ((ushort)0x0020)
-#define UART_SCCM_CCR          ((ushort)0x0008)
-#define UART_SCCM_BSY          ((ushort)0x0004)
-#define UART_SCCM_TX           ((ushort)0x0002)
-#define UART_SCCM_RX           ((ushort)0x0001)
-
-/* The SCC PSMR when used as a UART.
-*/
-#define SCU_PSMR_FLC           ((ushort)0x8000)
-#define SCU_PSMR_SL            ((ushort)0x4000)
-#define SCU_PSMR_CL            ((ushort)0x3000)
-#define SCU_PSMR_UM            ((ushort)0x0c00)
-#define SCU_PSMR_FRZ           ((ushort)0x0200)
-#define SCU_PSMR_RZS           ((ushort)0x0100)
-#define SCU_PSMR_SYN           ((ushort)0x0080)
-#define SCU_PSMR_DRT           ((ushort)0x0040)
-#define SCU_PSMR_PEN           ((ushort)0x0010)
-#define SCU_PSMR_RPM           ((ushort)0x000c)
-#define SCU_PSMR_REVP          ((ushort)0x0008)
-#define SCU_PSMR_TPM           ((ushort)0x0003)
-#define SCU_PSMR_TEVP          ((ushort)0x0003)
-
-/* CPM Transparent mode SCC.
- */
-typedef struct scc_trans {
-       sccp_t  st_genscc;
-       uint    st_cpres;       /* Preset CRC */
-       uint    st_cmask;       /* Constant mask for CRC */
-} scc_trans_t;
-
-#define BD_SCC_TX_LAST         ((ushort)0x0800)
-
-/* How about some FCCs.....
-*/
-#define FCC_GFMR_DIAG_NORM     ((uint)0x00000000)
-#define FCC_GFMR_DIAG_LE       ((uint)0x40000000)
-#define FCC_GFMR_DIAG_AE       ((uint)0x80000000)
-#define FCC_GFMR_DIAG_ALE      ((uint)0xc0000000)
-#define FCC_GFMR_TCI           ((uint)0x20000000)
-#define FCC_GFMR_TRX           ((uint)0x10000000)
-#define FCC_GFMR_TTX           ((uint)0x08000000)
-#define FCC_GFMR_TTX           ((uint)0x08000000)
-#define FCC_GFMR_CDP           ((uint)0x04000000)
-#define FCC_GFMR_CTSP          ((uint)0x02000000)
-#define FCC_GFMR_CDS           ((uint)0x01000000)
-#define FCC_GFMR_CTSS          ((uint)0x00800000)
-#define FCC_GFMR_SYNL_NONE     ((uint)0x00000000)
-#define FCC_GFMR_SYNL_AUTO     ((uint)0x00004000)
-#define FCC_GFMR_SYNL_8                ((uint)0x00008000)
-#define FCC_GFMR_SYNL_16       ((uint)0x0000c000)
-#define FCC_GFMR_RTSM          ((uint)0x00002000)
-#define FCC_GFMR_RENC_NRZ      ((uint)0x00000000)
-#define FCC_GFMR_RENC_NRZI     ((uint)0x00000800)
-#define FCC_GFMR_REVD          ((uint)0x00000400)
-#define FCC_GFMR_TENC_NRZ      ((uint)0x00000000)
-#define FCC_GFMR_TENC_NRZI     ((uint)0x00000100)
-#define FCC_GFMR_TCRC_16       ((uint)0x00000000)
-#define FCC_GFMR_TCRC_32       ((uint)0x00000080)
-#define FCC_GFMR_ENR           ((uint)0x00000020)
-#define FCC_GFMR_ENT           ((uint)0x00000010)
-#define FCC_GFMR_MODE_ENET     ((uint)0x0000000c)
-#define FCC_GFMR_MODE_ATM      ((uint)0x0000000a)
-#define FCC_GFMR_MODE_HDLC     ((uint)0x00000000)
-
-/* Generic FCC parameter ram.
-*/
-typedef struct fcc_param {
-       ushort  fcc_riptr;      /* Rx Internal temp pointer */
-       ushort  fcc_tiptr;      /* Tx Internal temp pointer */
-       ushort  fcc_res1;
-       ushort  fcc_mrblr;      /* Max receive buffer length, mod 32 bytes */
-       uint    fcc_rstate;     /* Upper byte is Func code, must be set */
-       uint    fcc_rbase;      /* Receive BD base */
-       ushort  fcc_rbdstat;    /* RxBD status */
-       ushort  fcc_rbdlen;     /* RxBD down counter */
-       uint    fcc_rdptr;      /* RxBD internal data pointer */
-       uint    fcc_tstate;     /* Upper byte is Func code, must be set */
-       uint    fcc_tbase;      /* Transmit BD base */
-       ushort  fcc_tbdstat;    /* TxBD status */
-       ushort  fcc_tbdlen;     /* TxBD down counter */
-       uint    fcc_tdptr;      /* TxBD internal data pointer */
-       uint    fcc_rbptr;      /* Rx BD Internal buf pointer */
-       uint    fcc_tbptr;      /* Tx BD Internal buf pointer */
-       uint    fcc_rcrc;       /* Rx temp CRC */
-       uint    fcc_res2;
-       uint    fcc_tcrc;       /* Tx temp CRC */
-} fccp_t;
-
-
-/* Ethernet controller through FCC.
-*/
-typedef struct fcc_enet {
-       fccp_t  fen_genfcc;
-       uint    fen_statbuf;    /* Internal status buffer */
-       uint    fen_camptr;     /* CAM address */
-       uint    fen_cmask;      /* Constant mask for CRC */
-       uint    fen_cpres;      /* Preset CRC */
-       uint    fen_crcec;      /* CRC Error counter */
-       uint    fen_alec;       /* alignment error counter */
-       uint    fen_disfc;      /* discard frame counter */
-       ushort  fen_retlim;     /* Retry limit */
-       ushort  fen_retcnt;     /* Retry counter */
-       ushort  fen_pper;       /* Persistence */
-       ushort  fen_boffcnt;    /* backoff counter */
-       uint    fen_gaddrh;     /* Group address filter, high 32-bits */
-       uint    fen_gaddrl;     /* Group address filter, low 32-bits */
-       ushort  fen_tfcstat;    /* out of sequence TxBD */
-       ushort  fen_tfclen;
-       uint    fen_tfcptr;
-       ushort  fen_mflr;       /* Maximum frame length (1518) */
-       ushort  fen_paddrh;     /* MAC address */
-       ushort  fen_paddrm;
-       ushort  fen_paddrl;
-       ushort  fen_ibdcount;   /* Internal BD counter */
-       ushort  fen_ibdstart;   /* Internal BD start pointer */
-       ushort  fen_ibdend;     /* Internal BD end pointer */
-       ushort  fen_txlen;      /* Internal Tx frame length counter */
-       uint    fen_ibdbase[8]; /* Internal use */
-       uint    fen_iaddrh;     /* Individual address filter */
-       uint    fen_iaddrl;
-       ushort  fen_minflr;     /* Minimum frame length (64) */
-       ushort  fen_taddrh;     /* Filter transfer MAC address */
-       ushort  fen_taddrm;
-       ushort  fen_taddrl;
-       ushort  fen_padptr;     /* Pointer to pad byte buffer */
-       ushort  fen_cftype;     /* control frame type */
-       ushort  fen_cfrange;    /* control frame range */
-       ushort  fen_maxb;       /* maximum BD count */
-       ushort  fen_maxd1;      /* Max DMA1 length (1520) */
-       ushort  fen_maxd2;      /* Max DMA2 length (1520) */
-       ushort  fen_maxd;       /* internal max DMA count */
-       ushort  fen_dmacnt;     /* internal DMA counter */
-       uint    fen_octc;       /* Total octect counter */
-       uint    fen_colc;       /* Total collision counter */
-       uint    fen_broc;       /* Total broadcast packet counter */
-       uint    fen_mulc;       /* Total multicast packet count */
-       uint    fen_uspc;       /* Total packets < 64 bytes */
-       uint    fen_frgc;       /* Total packets < 64 bytes with errors */
-       uint    fen_ospc;       /* Total packets > 1518 */
-       uint    fen_jbrc;       /* Total packets > 1518 with errors */
-       uint    fen_p64c;       /* Total packets == 64 bytes */
-       uint    fen_p65c;       /* Total packets 64 < bytes <= 127 */
-       uint    fen_p128c;      /* Total packets 127 < bytes <= 255 */
-       uint    fen_p256c;      /* Total packets 256 < bytes <= 511 */
-       uint    fen_p512c;      /* Total packets 512 < bytes <= 1023 */
-       uint    fen_p1024c;     /* Total packets 1024 < bytes <= 1518 */
-       uint    fen_cambuf;     /* Internal CAM buffer poiner */
-       ushort  fen_rfthr;      /* Received frames threshold */
-       ushort  fen_rfcnt;      /* Received frames count */
-} fcc_enet_t;
-
-/* FCC Event/Mask register as used by Ethernet.
-*/
-#define FCC_ENET_GRA   ((ushort)0x0080)        /* Graceful stop complete */
-#define FCC_ENET_RXC   ((ushort)0x0040)        /* Control Frame Received */
-#define FCC_ENET_TXC   ((ushort)0x0020)        /* Out of seq. Tx sent */
-#define FCC_ENET_TXE   ((ushort)0x0010)        /* Transmit Error */
-#define FCC_ENET_RXF   ((ushort)0x0008)        /* Full frame received */
-#define FCC_ENET_BSY   ((ushort)0x0004)        /* Busy.  Rx Frame dropped */
-#define FCC_ENET_TXB   ((ushort)0x0002)        /* A buffer was transmitted */
-#define FCC_ENET_RXB   ((ushort)0x0001)        /* A buffer was received */
-
-/* FCC Mode Register (FPSMR) as used by Ethernet.
-*/
-#define FCC_PSMR_HBC   ((uint)0x80000000)      /* Enable heartbeat */
-#define FCC_PSMR_FC    ((uint)0x40000000)      /* Force Collision */
-#define FCC_PSMR_SBT   ((uint)0x20000000)      /* Stop backoff timer */
-#define FCC_PSMR_LPB   ((uint)0x10000000)      /* Local protect. 1 = FDX */
-#define FCC_PSMR_LCW   ((uint)0x08000000)      /* Late collision select */
-#define FCC_PSMR_FDE   ((uint)0x04000000)      /* Full Duplex Enable */
-#define FCC_PSMR_MON   ((uint)0x02000000)      /* RMON Enable */
-#define FCC_PSMR_PRO   ((uint)0x00400000)      /* Promiscuous Enable */
-#define FCC_PSMR_FCE   ((uint)0x00200000)      /* Flow Control Enable */
-#define FCC_PSMR_RSH   ((uint)0x00100000)      /* Receive Short Frames */
-#define FCC_PSMR_CAM   ((uint)0x00000400)      /* CAM enable */
-#define FCC_PSMR_BRO   ((uint)0x00000200)      /* Broadcast pkt discard */
-#define FCC_PSMR_ENCRC ((uint)0x00000080)      /* Use 32-bit CRC */
-
-/* IIC parameter RAM.
-*/
-typedef struct iic {
-       ushort  iic_rbase;      /* Rx Buffer descriptor base address */
-       ushort  iic_tbase;      /* Tx Buffer descriptor base address */
-       u_char  iic_rfcr;       /* Rx function code */
-       u_char  iic_tfcr;       /* Tx function code */
-       ushort  iic_mrblr;      /* Max receive buffer length */
-       uint    iic_rstate;     /* Internal */
-       uint    iic_rdp;        /* Internal */
-       ushort  iic_rbptr;      /* Internal */
-       ushort  iic_rbc;        /* Internal */
-       uint    iic_rxtmp;      /* Internal */
-       uint    iic_tstate;     /* Internal */
-       uint    iic_tdp;        /* Internal */
-       ushort  iic_tbptr;      /* Internal */
-       ushort  iic_tbc;        /* Internal */
-       uint    iic_txtmp;      /* Internal */
-} iic_t;
-
-/* SPI parameter RAM.
-*/
-typedef struct spi {
-       ushort  spi_rbase;      /* Rx Buffer descriptor base address */
-       ushort  spi_tbase;      /* Tx Buffer descriptor base address */
-       u_char  spi_rfcr;       /* Rx function code */
-       u_char  spi_tfcr;       /* Tx function code */
-       ushort  spi_mrblr;      /* Max receive buffer length */
-       uint    spi_rstate;     /* Internal */
-       uint    spi_rdp;        /* Internal */
-       ushort  spi_rbptr;      /* Internal */
-       ushort  spi_rbc;        /* Internal */
-       uint    spi_rxtmp;      /* Internal */
-       uint    spi_tstate;     /* Internal */
-       uint    spi_tdp;        /* Internal */
-       ushort  spi_tbptr;      /* Internal */
-       ushort  spi_tbc;        /* Internal */
-       uint    spi_txtmp;      /* Internal */
-       uint    spi_res;        /* Tx temp. */
-       uint    spi_res1[4];    /* SDMA temp. */
-} spi_t;
-
-/* SPI Mode register.
-*/
-#define SPMODE_LOOP    ((ushort)0x4000)        /* Loopback */
-#define SPMODE_CI      ((ushort)0x2000)        /* Clock Invert */
-#define SPMODE_CP      ((ushort)0x1000)        /* Clock Phase */
-#define SPMODE_DIV16   ((ushort)0x0800)        /* BRG/16 mode */
-#define SPMODE_REV     ((ushort)0x0400)        /* Reversed Data */
-#define SPMODE_MSTR    ((ushort)0x0200)        /* SPI Master */
-#define SPMODE_EN      ((ushort)0x0100)        /* Enable */
-#define SPMODE_LENMSK  ((ushort)0x00f0)        /* character length */
-#define SPMODE_PMMSK   ((ushort)0x000f)        /* prescale modulus */
-
-#define SPMODE_LEN(x)  ((((x)-1)&0xF)<<4)
-#define SPMODE_PM(x)   ((x) &0xF)
-
-#define SPI_EB         ((u_char)0x10)          /* big endian byte order */
-
-#define BD_IIC_START   ((ushort)0x0400)
-
-/*-----------------------------------------------------------------------
- * CMXFCR - CMX FCC Clock Route Register                                15-12
- */
-#define CMXFCR_FC1         0x40000000   /* FCC1 connection              */
-#define CMXFCR_RF1CS_MSK   0x38000000   /* Receive FCC1 Clock Source Mask */
-#define CMXFCR_TF1CS_MSK   0x07000000   /* Transmit FCC1 Clock Source Mask */
-#define CMXFCR_FC2         0x00400000   /* FCC2 connection              */
-#define CMXFCR_RF2CS_MSK   0x00380000   /* Receive FCC2 Clock Source Mask */
-#define CMXFCR_TF2CS_MSK   0x00070000   /* Transmit FCC2 Clock Source Mask */
-#define CMXFCR_FC3         0x00004000   /* FCC3 connection              */
-#define CMXFCR_RF3CS_MSK   0x00003800   /* Receive FCC3 Clock Source Mask */
-#define CMXFCR_TF3CS_MSK   0x00000700   /* Transmit FCC3 Clock Source Mask */
-
-#define CMXFCR_RF1CS_BRG5  0x00000000   /* Receive FCC1 Clock Source is BRG5 */
-#define CMXFCR_RF1CS_BRG6  0x08000000   /* Receive FCC1 Clock Source is BRG6 */
-#define CMXFCR_RF1CS_BRG7  0x10000000   /* Receive FCC1 Clock Source is BRG7 */
-#define CMXFCR_RF1CS_BRG8  0x18000000   /* Receive FCC1 Clock Source is BRG8 */
-#define CMXFCR_RF1CS_CLK9  0x20000000   /* Receive FCC1 Clock Source is CLK9 */
-#define CMXFCR_RF1CS_CLK10 0x28000000   /* Receive FCC1 Clock Source is CLK10 */
-#define CMXFCR_RF1CS_CLK11 0x30000000   /* Receive FCC1 Clock Source is CLK11 */
-#define CMXFCR_RF1CS_CLK12 0x38000000   /* Receive FCC1 Clock Source is CLK12 */
-
-#define CMXFCR_TF1CS_BRG5  0x00000000   /* Transmit FCC1 Clock Source is BRG5 */
-#define CMXFCR_TF1CS_BRG6  0x01000000   /* Transmit FCC1 Clock Source is BRG6 */
-#define CMXFCR_TF1CS_BRG7  0x02000000   /* Transmit FCC1 Clock Source is BRG7 */
-#define CMXFCR_TF1CS_BRG8  0x03000000   /* Transmit FCC1 Clock Source is BRG8 */
-#define CMXFCR_TF1CS_CLK9  0x04000000   /* Transmit FCC1 Clock Source is CLK9 */
-#define CMXFCR_TF1CS_CLK10 0x05000000   /* Transmit FCC1 Clock Source is CLK10 */
-#define CMXFCR_TF1CS_CLK11 0x06000000   /* Transmit FCC1 Clock Source is CLK11 */
-#define CMXFCR_TF1CS_CLK12 0x07000000   /* Transmit FCC1 Clock Source is CLK12 */
-
-#define CMXFCR_RF2CS_BRG5  0x00000000   /* Receive FCC2 Clock Source is BRG5 */
-#define CMXFCR_RF2CS_BRG6  0x00080000   /* Receive FCC2 Clock Source is BRG6 */
-#define CMXFCR_RF2CS_BRG7  0x00100000   /* Receive FCC2 Clock Source is BRG7 */
-#define CMXFCR_RF2CS_BRG8  0x00180000   /* Receive FCC2 Clock Source is BRG8 */
-#define CMXFCR_RF2CS_CLK13 0x00200000   /* Receive FCC2 Clock Source is CLK13 */
-#define CMXFCR_RF2CS_CLK14 0x00280000   /* Receive FCC2 Clock Source is CLK14 */
-#define CMXFCR_RF2CS_CLK15 0x00300000   /* Receive FCC2 Clock Source is CLK15 */
-#define CMXFCR_RF2CS_CLK16 0x00380000   /* Receive FCC2 Clock Source is CLK16 */
-
-#define CMXFCR_TF2CS_BRG5  0x00000000   /* Transmit FCC2 Clock Source is BRG5 */
-#define CMXFCR_TF2CS_BRG6  0x00010000   /* Transmit FCC2 Clock Source is BRG6 */
-#define CMXFCR_TF2CS_BRG7  0x00020000   /* Transmit FCC2 Clock Source is BRG7 */
-#define CMXFCR_TF2CS_BRG8  0x00030000   /* Transmit FCC2 Clock Source is BRG8 */
-#define CMXFCR_TF2CS_CLK13 0x00040000   /* Transmit FCC2 Clock Source is CLK13 */
-#define CMXFCR_TF2CS_CLK14 0x00050000   /* Transmit FCC2 Clock Source is CLK14 */
-#define CMXFCR_TF2CS_CLK15 0x00060000   /* Transmit FCC2 Clock Source is CLK15 */
-#define CMXFCR_TF2CS_CLK16 0x00070000   /* Transmit FCC2 Clock Source is CLK16 */
-
-#define CMXFCR_RF3CS_BRG5  0x00000000   /* Receive FCC3 Clock Source is BRG5 */
-#define CMXFCR_RF3CS_BRG6  0x00000800   /* Receive FCC3 Clock Source is BRG6 */
-#define CMXFCR_RF3CS_BRG7  0x00001000   /* Receive FCC3 Clock Source is BRG7 */
-#define CMXFCR_RF3CS_BRG8  0x00001800   /* Receive FCC3 Clock Source is BRG8 */
-#define CMXFCR_RF3CS_CLK13 0x00002000   /* Receive FCC3 Clock Source is CLK13 */
-#define CMXFCR_RF3CS_CLK14 0x00002800   /* Receive FCC3 Clock Source is CLK14 */
-#define CMXFCR_RF3CS_CLK15 0x00003000   /* Receive FCC3 Clock Source is CLK15 */
-#define CMXFCR_RF3CS_CLK16 0x00003800   /* Receive FCC3 Clock Source is CLK16 */
-
-#define CMXFCR_TF3CS_BRG5  0x00000000   /* Transmit FCC3 Clock Source is BRG5 */
-#define CMXFCR_TF3CS_BRG6  0x00000100   /* Transmit FCC3 Clock Source is BRG6 */
-#define CMXFCR_TF3CS_BRG7  0x00000200   /* Transmit FCC3 Clock Source is BRG7 */
-#define CMXFCR_TF3CS_BRG8  0x00000300   /* Transmit FCC3 Clock Source is BRG8 */
-#define CMXFCR_TF3CS_CLK13 0x00000400   /* Transmit FCC3 Clock Source is CLK13 */
-#define CMXFCR_TF3CS_CLK14 0x00000500   /* Transmit FCC3 Clock Source is CLK14 */
-#define CMXFCR_TF3CS_CLK15 0x00000600   /* Transmit FCC3 Clock Source is CLK15 */
-#define CMXFCR_TF3CS_CLK16 0x00000700   /* Transmit FCC3 Clock Source is CLK16 */
-
-/*-----------------------------------------------------------------------
- * CMXSCR - CMX SCC Clock Route Register                                15-14
- */
-#define CMXSCR_GR1         0x80000000   /* Grant Support of SCC1        */
-#define CMXSCR_SC1         0x40000000   /* SCC1 connection              */
-#define CMXSCR_RS1CS_MSK   0x38000000   /* Receive SCC1 Clock Source Mask */
-#define CMXSCR_TS1CS_MSK   0x07000000   /* Transmit SCC1 Clock Source Mask */
-#define CMXSCR_GR2         0x00800000   /* Grant Support of SCC2        */
-#define CMXSCR_SC2         0x00400000   /* SCC2 connection              */
-#define CMXSCR_RS2CS_MSK   0x00380000   /* Receive SCC2 Clock Source Mask */
-#define CMXSCR_TS2CS_MSK   0x00070000   /* Transmit SCC2 Clock Source Mask */
-#define CMXSCR_GR3         0x00008000   /* Grant Support of SCC3        */
-#define CMXSCR_SC3         0x00004000   /* SCC3 connection              */
-#define CMXSCR_RS3CS_MSK   0x00003800   /* Receive SCC3 Clock Source Mask */
-#define CMXSCR_TS3CS_MSK   0x00000700   /* Transmit SCC3 Clock Source Mask */
-#define CMXSCR_GR4         0x00000080   /* Grant Support of SCC4        */
-#define CMXSCR_SC4         0x00000040   /* SCC4 connection              */
-#define CMXSCR_RS4CS_MSK   0x00000038   /* Receive SCC4 Clock Source Mask */
-#define CMXSCR_TS4CS_MSK   0x00000007   /* Transmit SCC4 Clock Source Mask */
-
-#define CMXSCR_RS1CS_BRG1  0x00000000   /* SCC1 Rx Clock Source is BRG1 */
-#define CMXSCR_RS1CS_BRG2  0x08000000   /* SCC1 Rx Clock Source is BRG2 */
-#define CMXSCR_RS1CS_BRG3  0x10000000   /* SCC1 Rx Clock Source is BRG3 */
-#define CMXSCR_RS1CS_BRG4  0x18000000   /* SCC1 Rx Clock Source is BRG4 */
-#define CMXSCR_RS1CS_CLK11 0x20000000   /* SCC1 Rx Clock Source is CLK11 */
-#define CMXSCR_RS1CS_CLK12 0x28000000   /* SCC1 Rx Clock Source is CLK12 */
-#define CMXSCR_RS1CS_CLK3  0x30000000   /* SCC1 Rx Clock Source is CLK3 */
-#define CMXSCR_RS1CS_CLK4  0x38000000   /* SCC1 Rx Clock Source is CLK4 */
-
-#define CMXSCR_TS1CS_BRG1  0x00000000   /* SCC1 Tx Clock Source is BRG1 */
-#define CMXSCR_TS1CS_BRG2  0x01000000   /* SCC1 Tx Clock Source is BRG2 */
-#define CMXSCR_TS1CS_BRG3  0x02000000   /* SCC1 Tx Clock Source is BRG3 */
-#define CMXSCR_TS1CS_BRG4  0x03000000   /* SCC1 Tx Clock Source is BRG4 */
-#define CMXSCR_TS1CS_CLK11 0x04000000   /* SCC1 Tx Clock Source is CLK11 */
-#define CMXSCR_TS1CS_CLK12 0x05000000   /* SCC1 Tx Clock Source is CLK12 */
-#define CMXSCR_TS1CS_CLK3  0x06000000   /* SCC1 Tx Clock Source is CLK3 */
-#define CMXSCR_TS1CS_CLK4  0x07000000   /* SCC1 Tx Clock Source is CLK4 */
-
-#define CMXSCR_RS2CS_BRG1  0x00000000   /* SCC2 Rx Clock Source is BRG1 */
-#define CMXSCR_RS2CS_BRG2  0x00080000   /* SCC2 Rx Clock Source is BRG2 */
-#define CMXSCR_RS2CS_BRG3  0x00100000   /* SCC2 Rx Clock Source is BRG3 */
-#define CMXSCR_RS2CS_BRG4  0x00180000   /* SCC2 Rx Clock Source is BRG4 */
-#define CMXSCR_RS2CS_CLK11 0x00200000   /* SCC2 Rx Clock Source is CLK11 */
-#define CMXSCR_RS2CS_CLK12 0x00280000   /* SCC2 Rx Clock Source is CLK12 */
-#define CMXSCR_RS2CS_CLK3  0x00300000   /* SCC2 Rx Clock Source is CLK3 */
-#define CMXSCR_RS2CS_CLK4  0x00380000   /* SCC2 Rx Clock Source is CLK4 */
-
-#define CMXSCR_TS2CS_BRG1  0x00000000   /* SCC2 Tx Clock Source is BRG1 */
-#define CMXSCR_TS2CS_BRG2  0x00010000   /* SCC2 Tx Clock Source is BRG2 */
-#define CMXSCR_TS2CS_BRG3  0x00020000   /* SCC2 Tx Clock Source is BRG3 */
-#define CMXSCR_TS2CS_BRG4  0x00030000   /* SCC2 Tx Clock Source is BRG4 */
-#define CMXSCR_TS2CS_CLK11 0x00040000   /* SCC2 Tx Clock Source is CLK11 */
-#define CMXSCR_TS2CS_CLK12 0x00050000   /* SCC2 Tx Clock Source is CLK12 */
-#define CMXSCR_TS2CS_CLK3  0x00060000   /* SCC2 Tx Clock Source is CLK3 */
-#define CMXSCR_TS2CS_CLK4  0x00070000   /* SCC2 Tx Clock Source is CLK4 */
-
-#define CMXSCR_RS3CS_BRG1  0x00000000   /* SCC3 Rx Clock Source is BRG1 */
-#define CMXSCR_RS3CS_BRG2  0x00000800   /* SCC3 Rx Clock Source is BRG2 */
-#define CMXSCR_RS3CS_BRG3  0x00001000   /* SCC3 Rx Clock Source is BRG3 */
-#define CMXSCR_RS3CS_BRG4  0x00001800   /* SCC3 Rx Clock Source is BRG4 */
-#define CMXSCR_RS3CS_CLK5  0x00002000   /* SCC3 Rx Clock Source is CLK5 */
-#define CMXSCR_RS3CS_CLK6  0x00002800   /* SCC3 Rx Clock Source is CLK6 */
-#define CMXSCR_RS3CS_CLK7  0x00003000   /* SCC3 Rx Clock Source is CLK7 */
-#define CMXSCR_RS3CS_CLK8  0x00003800   /* SCC3 Rx Clock Source is CLK8 */
-
-#define CMXSCR_TS3CS_BRG1  0x00000000   /* SCC3 Tx Clock Source is BRG1 */
-#define CMXSCR_TS3CS_BRG2  0x00000100   /* SCC3 Tx Clock Source is BRG2 */
-#define CMXSCR_TS3CS_BRG3  0x00000200   /* SCC3 Tx Clock Source is BRG3 */
-#define CMXSCR_TS3CS_BRG4  0x00000300   /* SCC3 Tx Clock Source is BRG4 */
-#define CMXSCR_TS3CS_CLK5  0x00000400   /* SCC3 Tx Clock Source is CLK5 */
-#define CMXSCR_TS3CS_CLK6  0x00000500   /* SCC3 Tx Clock Source is CLK6 */
-#define CMXSCR_TS3CS_CLK7  0x00000600   /* SCC3 Tx Clock Source is CLK7 */
-#define CMXSCR_TS3CS_CLK8  0x00000700   /* SCC3 Tx Clock Source is CLK8 */
-
-#define CMXSCR_RS4CS_BRG1  0x00000000   /* SCC4 Rx Clock Source is BRG1 */
-#define CMXSCR_RS4CS_BRG2  0x00000008   /* SCC4 Rx Clock Source is BRG2 */
-#define CMXSCR_RS4CS_BRG3  0x00000010   /* SCC4 Rx Clock Source is BRG3 */
-#define CMXSCR_RS4CS_BRG4  0x00000018   /* SCC4 Rx Clock Source is BRG4 */
-#define CMXSCR_RS4CS_CLK5  0x00000020   /* SCC4 Rx Clock Source is CLK5 */
-#define CMXSCR_RS4CS_CLK6  0x00000028   /* SCC4 Rx Clock Source is CLK6 */
-#define CMXSCR_RS4CS_CLK7  0x00000030   /* SCC4 Rx Clock Source is CLK7 */
-#define CMXSCR_RS4CS_CLK8  0x00000038   /* SCC4 Rx Clock Source is CLK8 */
-
-#define CMXSCR_TS4CS_BRG1  0x00000000   /* SCC4 Tx Clock Source is BRG1 */
-#define CMXSCR_TS4CS_BRG2  0x00000001   /* SCC4 Tx Clock Source is BRG2 */
-#define CMXSCR_TS4CS_BRG3  0x00000002   /* SCC4 Tx Clock Source is BRG3 */
-#define CMXSCR_TS4CS_BRG4  0x00000003   /* SCC4 Tx Clock Source is BRG4 */
-#define CMXSCR_TS4CS_CLK5  0x00000004   /* SCC4 Tx Clock Source is CLK5 */
-#define CMXSCR_TS4CS_CLK6  0x00000005   /* SCC4 Tx Clock Source is CLK6 */
-#define CMXSCR_TS4CS_CLK7  0x00000006   /* SCC4 Tx Clock Source is CLK7 */
-#define CMXSCR_TS4CS_CLK8  0x00000007   /* SCC4 Tx Clock Source is CLK8 */
-
-#endif /* __CPM_85XX__ */
index 2975255bfe233001d8b3aaaa806476b4148771f0..770adcd30f29b23e80a1db6df4c34fb81840222b 100644 (file)
@@ -19,13 +19,6 @@ struct arch_global_data {
 #endif
 #if defined(CONFIG_MPC8xx)
        unsigned long brg_clk;
-#endif
-#if defined(CONFIG_CPM2)
-       /* There are many clocks on the MPC8260 - see page 9-5 */
-       unsigned long vco_out;
-       unsigned long cpm_clk;
-       unsigned long scc_clk;
-       unsigned long brg_clk;
 #endif
        /* TODO: sjg@chromium.org: Should these be unslgned long? */
 #if defined(CONFIG_MPC83xx)
@@ -88,10 +81,6 @@ struct arch_global_data {
        unsigned long arbiter_event_attributes;
        unsigned long arbiter_event_address;
 #endif
-#if defined(CONFIG_CPM2)
-       unsigned int dp_alloc_base;
-       unsigned int dp_alloc_top;
-#endif
 #ifdef CONFIG_SYS_FPGA_COUNT
        unsigned fpga_state[CONFIG_SYS_FPGA_COUNT];
 #endif
index 770705a8794bd44fc875d2a0d1443e91bac297f7..b8bc5844821713faa7dc19b2199b7f8bb6bda87a 100644 (file)
@@ -921,330 +921,6 @@ typedef struct ccsr_pic {
        u8      res150[130892];
 } ccsr_pic_t;
 
-/* CPM Block */
-#ifndef CONFIG_CPM2
-typedef struct ccsr_cpm {
-       u8 res[262144];
-} ccsr_cpm_t;
-#else
-/*
- * DPARM
- * General SIU
- */
-typedef struct ccsr_cpm_siu {
-       u8      res1[80];
-       u32     smaer;
-       u32     smser;
-       u32     smevr;
-       u8      res2[4];
-       u32     lmaer;
-       u32     lmser;
-       u32     lmevr;
-       u8      res3[2964];
-} ccsr_cpm_siu_t;
-
-/* IRQ Controller */
-typedef struct ccsr_cpm_intctl {
-       u16     sicr;
-       u8      res1[2];
-       u32     sivec;
-       u32     sipnrh;
-       u32     sipnrl;
-       u32     siprr;
-       u32     scprrh;
-       u32     scprrl;
-       u32     simrh;
-       u32     simrl;
-       u32     siexr;
-       u8      res2[88];
-       u32     sccr;
-       u8      res3[124];
-} ccsr_cpm_intctl_t;
-
-/* input/output port */
-typedef struct ccsr_cpm_iop {
-       u32     pdira;
-       u32     ppara;
-       u32     psora;
-       u32     podra;
-       u32     pdata;
-       u8      res1[12];
-       u32     pdirb;
-       u32     pparb;
-       u32     psorb;
-       u32     podrb;
-       u32     pdatb;
-       u8      res2[12];
-       u32     pdirc;
-       u32     pparc;
-       u32     psorc;
-       u32     podrc;
-       u32     pdatc;
-       u8      res3[12];
-       u32     pdird;
-       u32     ppard;
-       u32     psord;
-       u32     podrd;
-       u32     pdatd;
-       u8      res4[12];
-} ccsr_cpm_iop_t;
-
-/* CPM timers */
-typedef struct ccsr_cpm_timer {
-       u8      tgcr1;
-       u8      res1[3];
-       u8      tgcr2;
-       u8      res2[11];
-       u16     tmr1;
-       u16     tmr2;
-       u16     trr1;
-       u16     trr2;
-       u16     tcr1;
-       u16     tcr2;
-       u16     tcn1;
-       u16     tcn2;
-       u16     tmr3;
-       u16     tmr4;
-       u16     trr3;
-       u16     trr4;
-       u16     tcr3;
-       u16     tcr4;
-       u16     tcn3;
-       u16     tcn4;
-       u16     ter1;
-       u16     ter2;
-       u16     ter3;
-       u16     ter4;
-       u8      res3[608];
-} ccsr_cpm_timer_t;
-
-/* SDMA */
-typedef struct ccsr_cpm_sdma {
-       u8      sdsr;
-       u8      res1[3];
-       u8      sdmr;
-       u8      res2[739];
-} ccsr_cpm_sdma_t;
-
-/* FCC1 */
-typedef struct ccsr_cpm_fcc1 {
-       u32     gfmr;
-       u32     fpsmr;
-       u16     ftodr;
-       u8      res1[2];
-       u16     fdsr;
-       u8      res2[2];
-       u16     fcce;
-       u8      res3[2];
-       u16     fccm;
-       u8      res4[2];
-       u8      fccs;
-       u8      res5[3];
-       u8      ftirr_phy[4];
-} ccsr_cpm_fcc1_t;
-
-/* FCC2 */
-typedef struct ccsr_cpm_fcc2 {
-       u32     gfmr;
-       u32     fpsmr;
-       u16     ftodr;
-       u8      res1[2];
-       u16     fdsr;
-       u8      res2[2];
-       u16     fcce;
-       u8      res3[2];
-       u16     fccm;
-       u8      res4[2];
-       u8      fccs;
-       u8      res5[3];
-       u8      ftirr_phy[4];
-} ccsr_cpm_fcc2_t;
-
-/* FCC3 */
-typedef struct ccsr_cpm_fcc3 {
-       u32     gfmr;
-       u32     fpsmr;
-       u16     ftodr;
-       u8      res1[2];
-       u16     fdsr;
-       u8      res2[2];
-       u16     fcce;
-       u8      res3[2];
-       u16     fccm;
-       u8      res4[2];
-       u8      fccs;
-       u8      res5[3];
-       u8      res[36];
-} ccsr_cpm_fcc3_t;
-
-/* FCC1 extended */
-typedef struct ccsr_cpm_fcc1_ext {
-       u32     firper;
-       u32     firer;
-       u32     firsr_h;
-       u32     firsr_l;
-       u8      gfemr;
-       u8      res[15];
-
-} ccsr_cpm_fcc1_ext_t;
-
-/* FCC2 extended */
-typedef struct ccsr_cpm_fcc2_ext {
-       u32     firper;
-       u32     firer;
-       u32     firsr_h;
-       u32     firsr_l;
-       u8      gfemr;
-       u8      res[31];
-} ccsr_cpm_fcc2_ext_t;
-
-/* FCC3 extended */
-typedef struct ccsr_cpm_fcc3_ext {
-       u8      gfemr;
-       u8      res[47];
-} ccsr_cpm_fcc3_ext_t;
-
-/* TC layers */
-typedef struct ccsr_cpm_tmp1 {
-       u8      res[496];
-} ccsr_cpm_tmp1_t;
-
-/* BRGs:5,6,7,8 */
-typedef struct ccsr_cpm_brg2 {
-       u32     brgc5;
-       u32     brgc6;
-       u32     brgc7;
-       u32     brgc8;
-       u8      res[608];
-} ccsr_cpm_brg2_t;
-
-/* I2C */
-typedef struct ccsr_cpm_i2c {
-       u8      i2mod;
-       u8      res1[3];
-       u8      i2add;
-       u8      res2[3];
-       u8      i2brg;
-       u8      res3[3];
-       u8      i2com;
-       u8      res4[3];
-       u8      i2cer;
-       u8      res5[3];
-       u8      i2cmr;
-       u8      res6[331];
-} ccsr_cpm_i2c_t;
-
-/* CPM core */
-typedef struct ccsr_cpm_cp {
-       u32     cpcr;
-       u32     rccr;
-       u8      res1[14];
-       u16     rter;
-       u8      res2[2];
-       u16     rtmr;
-       u16     rtscr;
-       u8      res3[2];
-       u32     rtsr;
-       u8      res4[12];
-} ccsr_cpm_cp_t;
-
-/* BRGs:1,2,3,4 */
-typedef struct ccsr_cpm_brg1 {
-       u32     brgc1;
-       u32     brgc2;
-       u32     brgc3;
-       u32     brgc4;
-} ccsr_cpm_brg1_t;
-
-/* SCC1-SCC4 */
-typedef struct ccsr_cpm_scc {
-       u32     gsmrl;
-       u32     gsmrh;
-       u16     psmr;
-       u8      res1[2];
-       u16     todr;
-       u16     dsr;
-       u16     scce;
-       u8      res2[2];
-       u16     sccm;
-       u8      res3;
-       u8      sccs;
-       u8      res4[8];
-} ccsr_cpm_scc_t;
-
-typedef struct ccsr_cpm_tmp2 {
-       u8      res[32];
-} ccsr_cpm_tmp2_t;
-
-/* SPI */
-typedef struct ccsr_cpm_spi {
-       u16     spmode;
-       u8      res1[4];
-       u8      spie;
-       u8      res2[3];
-       u8      spim;
-       u8      res3[2];
-       u8      spcom;
-       u8      res4[82];
-} ccsr_cpm_spi_t;
-
-/* CPM MUX */
-typedef struct ccsr_cpm_mux {
-       u8      cmxsi1cr;
-       u8      res1;
-       u8      cmxsi2cr;
-       u8      res2;
-       u32     cmxfcr;
-       u32     cmxscr;
-       u8      res3[2];
-       u16     cmxuar;
-       u8      res4[16];
-} ccsr_cpm_mux_t;
-
-/* SI,MCC,etc */
-typedef struct ccsr_cpm_tmp3 {
-       u8 res[58592];
-} ccsr_cpm_tmp3_t;
-
-typedef struct ccsr_cpm_iram {
-       u32     iram[8192];
-       u8      res[98304];
-} ccsr_cpm_iram_t;
-
-typedef struct ccsr_cpm {
-       /* Some references are into the unique & known dpram spaces,
-        * others are from the generic base.
-        */
-#define im_dprambase           im_dpram1
-       u8                      im_dpram1[16*1024];
-       u8                      res1[16*1024];
-       u8                      im_dpram2[16*1024];
-       u8                      res2[16*1024];
-       ccsr_cpm_siu_t          im_cpm_siu; /* SIU Configuration */
-       ccsr_cpm_intctl_t       im_cpm_intctl; /* IRQ Controller */
-       ccsr_cpm_iop_t          im_cpm_iop; /* IO Port control/status */
-       ccsr_cpm_timer_t        im_cpm_timer; /* CPM timers */
-       ccsr_cpm_sdma_t         im_cpm_sdma; /* SDMA control/status */
-       ccsr_cpm_fcc1_t         im_cpm_fcc1;
-       ccsr_cpm_fcc2_t         im_cpm_fcc2;
-       ccsr_cpm_fcc3_t         im_cpm_fcc3;
-       ccsr_cpm_fcc1_ext_t     im_cpm_fcc1_ext;
-       ccsr_cpm_fcc2_ext_t     im_cpm_fcc2_ext;
-       ccsr_cpm_fcc3_ext_t     im_cpm_fcc3_ext;
-       ccsr_cpm_tmp1_t         im_cpm_tmp1;
-       ccsr_cpm_brg2_t         im_cpm_brg2;
-       ccsr_cpm_i2c_t          im_cpm_i2c;
-       ccsr_cpm_cp_t           im_cpm_cp;
-       ccsr_cpm_brg1_t         im_cpm_brg1;
-       ccsr_cpm_scc_t          im_cpm_scc[4];
-       ccsr_cpm_tmp2_t         im_cpm_tmp2;
-       ccsr_cpm_spi_t          im_cpm_spi;
-       ccsr_cpm_mux_t          im_cpm_mux;
-       ccsr_cpm_tmp3_t         im_cpm_tmp3;
-       ccsr_cpm_iram_t         im_cpm_iram;
-} ccsr_cpm_t;
-#endif
-
 #ifdef CONFIG_SYS_SRIO
 /* Architectural regsiters */
 struct rio_arch {
@@ -2888,7 +2564,6 @@ struct ccsr_pman {
 #define CONFIG_SYS_MPC85xx_SERDES1_OFFSET      0xE3000
 #define CONFIG_SYS_SEC_MON_OFFSET              0xE6000
 #define CONFIG_SYS_SFP_OFFSET                  0xE7000
-#define CONFIG_SYS_MPC85xx_CPM_OFFSET          0x80000
 #define CONFIG_SYS_FSL_QMAN_OFFSET             0x88000
 #define CONFIG_SYS_FSL_BMAN_OFFSET             0x8a000
 #define CONFIG_SYS_FSL_FM1_OFFSET              0x100000
@@ -2965,8 +2640,6 @@ struct ccsr_pman {
        (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_ESDHC_OFFSET)
 #define CONFIG_SYS_MPC8xxx_PIC_ADDR \
        (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_PIC_OFFSET)
-#define CONFIG_SYS_MPC85xx_CPM_ADDR \
-       (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_CPM_OFFSET)
 #define CONFIG_SYS_MPC85xx_SERDES1_ADDR \
        (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_SERDES1_OFFSET)
 #define CONFIG_SYS_MPC85xx_SERDES2_ADDR \
index d2e5e6057b34b3e2d8ac05071fe11024ee9092ff..55dcad5df8e9888a2e2602953a6c066a9a7acc39 100644 (file)
@@ -27,13 +27,6 @@ int arch_setup_bdinfo(void)
        bd->bi_intfreq = gd->cpu_clk;   /* Internal Freq, in Hz */
        bd->bi_busfreq = gd->bus_clk;   /* Bus Freq,      in Hz */
 
-#if defined(CONFIG_CPM2)
-       bd->bi_cpmfreq = gd->arch.cpm_clk;
-       bd->bi_brgfreq = gd->arch.brg_clk;
-       bd->bi_sccfreq = gd->arch.scc_clk;
-       bd->bi_vco = gd->arch.vco_out;
-#endif /* CONFIG_CPM2 */
-
        return 0;
 }
 
@@ -59,10 +52,4 @@ void arch_print_bdinfo(void)
                puts("addressing  = 32-bit\n");
 #endif
        board_detail();
-#if defined(CONFIG_CPM2)
-       bdinfo_print_mhz("cpmfreq", bd->bi_cpmfreq);
-       bdinfo_print_mhz("vco", bd->bi_vco);
-       bdinfo_print_mhz("sccfreq", bd->bi_sccfreq);
-       bdinfo_print_mhz("brgfreq", bd->bi_brgfreq);
-#endif
 }
index 8d65047aa4d48aa01bd73dba19b823d1a7aab082..3b43066bb4f21c8e67ce1a4e1895d5a4a6b769c5 100644 (file)
@@ -266,12 +266,6 @@ static void set_clocks_in_mhz (struct bd_info *kbd)
                /* convert all clock information to MHz */
                kbd->bi_intfreq /= 1000000L;
                kbd->bi_busfreq /= 1000000L;
-#if defined(CONFIG_CPM2)
-               kbd->bi_cpmfreq /= 1000000L;
-               kbd->bi_brgfreq /= 1000000L;
-               kbd->bi_sccfreq /= 1000000L;
-               kbd->bi_vco     /= 1000000L;
-#endif
        }
 }
 
index 8d90c5e6b8aa5ba8d5bd716727ef82705e0eca6f..3ffcbbd23fa62f4b198ccfd2531fbed0139fe5fa 100644 (file)
@@ -7,9 +7,11 @@
 #include <cpu.h>
 #include <dm.h>
 #include <dm/lists.h>
+#include <event.h>
 #include <init.h>
 #include <log.h>
 #include <asm/encoding.h>
+#include <asm/system.h>
 #include <dm/uclass-internal.h>
 #include <linux/bitops.h>
 
@@ -81,7 +83,7 @@ static void dummy_pending_ipi_clear(ulong hart, ulong arg0, ulong arg1)
 }
 #endif
 
-int arch_cpu_init_dm(void)
+int riscv_cpu_setup(void *ctx, struct event *event)
 {
        int ret;
 
@@ -133,6 +135,7 @@ int arch_cpu_init_dm(void)
 
        return 0;
 }
+EVENT_SPY(EVT_DM_POST_INIT, riscv_cpu_setup);
 
 int arch_early_init_r(void)
 {
index a3404758235a30d9aa7bff542413943c6c4f7e48..9d8e43e394269883bec2883bb1e0e94334473419 100644 (file)
@@ -7,6 +7,8 @@
 #ifndef __ASM_RISCV_SYSTEM_H
 #define __ASM_RISCV_SYSTEM_H
 
+struct event;
+
 /*
  * Interrupt configuring macros.
  *
@@ -14,4 +16,7 @@
  *
  */
 
+/* Hook to set up the CPU (called from SPL too) */
+int riscv_cpu_setup(void *ctx, struct event *event);
+
 #endif /* __ASM_RISCV_SYSTEM_H */
index 8baee07beac1eceb33c45b9021a796fc7113ce2f..f4d3b67e5dd08c7e4d6a95edeae7bf5770bc6098 100644 (file)
@@ -11,6 +11,7 @@
 #include <spl.h>
 #include <asm/global_data.h>
 #include <asm/smp.h>
+#include <asm/system.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -27,7 +28,7 @@ __weak void board_init_f(ulong dummy)
        if (ret)
                panic("spl_early_init() failed: %d\n", ret);
 
-       arch_cpu_init_dm();
+       riscv_cpu_setup(NULL, NULL);
 
        preloader_console_init();
 
index 650bdb0a7014ecd7c764d0097f036e5b45f8c06f..3f107b8acbdb1295df4e0064e4286f17cf28f080 100644 (file)
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <dm.h>
 #include <hang.h>
+#include <handoff.h>
 #include <init.h>
 #include <log.h>
 #include <os.h>
index 13b0731ec3a2bda903bb3fce027ad362540c915e..0f5a87309d2a2e42cfd60d40183bf6662dbaf172 100644 (file)
@@ -4,14 +4,14 @@
  */
 
 #include <common.h>
+#include <cli.h>
 #include <command.h>
-#include <dm/root.h>
 #include <efi_loader.h>
 #include <errno.h>
+#include <event.h>
 #include <init.h>
 #include <log.h>
 #include <os.h>
-#include <cli.h>
 #include <sort.h>
 #include <asm/getopt.h>
 #include <asm/global_data.h>
@@ -19,6 +19,7 @@
 #include <asm/malloc.h>
 #include <asm/sections.h>
 #include <asm/state.h>
+#include <dm/root.h>
 #include <linux/ctype.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -119,10 +120,11 @@ int sandbox_early_getopt_check(void)
        os_exit(0);
 }
 
-int misc_init_f(void)
+static int sandbox_misc_init_f(void *ctx, struct event *event)
 {
        return sandbox_early_getopt_check();
 }
+EVENT_SPY(EVT_MISC_INIT_F, sandbox_misc_init_f);
 
 static int sandbox_cmdline_cb_help(struct sandbox_state *state, const char *arg)
 {
index ce904b1740aabd703fba407b41835342fd40cbad..e0d01125bb550f01c0edfc8eb4832d38be4ba125 100644 (file)
@@ -421,7 +421,8 @@ int state_uninit(void)
 {
        int err;
 
-       log_info("Writing sandbox state\n");
+       if (state->write_ram_buf || state->write_state)
+               log_info("Writing sandbox state\n");
        state = &main_state;
 
        /* Finish the bloblist, so that it is correct before writing memory */
index 48ca3e1e472122645586b6e8b864b3789ee9e032..3d206fdb3cf8080f15441ef311247020dbe3cf35 100644 (file)
                        compatible = "sandbox,firmware";
                };
 
-               sandbox-scmi-agent@0 {
+               scmi {
                        compatible = "sandbox,scmi-agent";
                        #address-cells = <1>;
                        #size-cells = <0>;
 
-                       clk_scmi0: protocol@14 {
+                       protocol@10 {
+                               reg = <0x10>;
+                       };
+
+                       clk_scmi: protocol@14 {
                                reg = <0x14>;
                                #clock-cells = <1>;
                        };
 
-                       reset_scmi0: protocol@16 {
+                       reset_scmi: protocol@16 {
                                reg = <0x16>;
                                #reset-cells = <1>;
                        };
                                        #address-cells = <1>;
                                        #size-cells = <0>;
 
-                                       regul0_scmi0: reg@0 {
+                                       regul0_scmi: reg@0 {
                                                reg = <0>;
                                                regulator-name = "sandbox-voltd0";
                                                regulator-min-microvolt = <1100000>;
                                                regulator-max-microvolt = <3300000>;
                                        };
-                                       regul1_scmi0: reg@1 {
+                                       regul1_scmi: reg@1 {
                                                reg = <0x1>;
                                                regulator-name = "sandbox-voltd1";
                                                regulator-min-microvolt = <1800000>;
                                };
                        };
                };
-
-               sandbox-scmi-agent@1 {
-                       compatible = "sandbox,scmi-agent";
-                       #address-cells = <1>;
-                       #size-cells = <0>;
-
-                       clk_scmi1: protocol@14 {
-                               reg = <0x14>;
-                               #clock-cells = <1>;
-                       };
-
-                       protocol@10 {
-                               reg = <0x10>;
-                       };
-               };
        };
 
        pinctrl-gpio {
 
        sandbox_scmi {
                compatible = "sandbox,scmi-devices";
-               clocks = <&clk_scmi0 7>, <&clk_scmi0 3>, <&clk_scmi1 1>;
-               resets = <&reset_scmi0 3>;
-               regul0-supply = <&regul0_scmi0>;
-               regul1-supply = <&regul1_scmi0>;
+               clocks = <&clk_scmi 2>, <&clk_scmi 0>;
+               resets = <&reset_scmi 3>;
+               regul0-supply = <&regul0_scmi>;
+               regul1-supply = <&regul1_scmi>;
        };
 
        pinctrl {
index 2930e686d72a31b14f0fa7830f85e61a8d363bba..c72ec1e1cb2550044b7ab8a4a64a848cfe8c4f98 100644 (file)
@@ -17,7 +17,6 @@ struct sandbox_scmi_service;
  * @rate:      Clock rate in Hertz
  */
 struct sandbox_scmi_clk {
-       uint id;
        bool enabled;
        ulong rate;
 };
@@ -46,7 +45,6 @@ struct sandbox_scmi_voltd {
 
 /**
  * struct sandbox_scmi_agent - Simulated SCMI service seen by SCMI agent
- * @idx:       Identifier for the SCMI agent, its index
  * @clk:       Simulated clocks
  * @clk_count: Simulated clocks array size
  * @reset:     Simulated reset domains
@@ -55,7 +53,6 @@ struct sandbox_scmi_voltd {
  * @voltd_count: Simulated voltage domains array size
  */
 struct sandbox_scmi_agent {
-       uint idx;
        struct sandbox_scmi_clk *clk;
        size_t clk_count;
        struct sandbox_scmi_reset *reset;
@@ -66,12 +63,10 @@ struct sandbox_scmi_agent {
 
 /**
  * struct sandbox_scmi_service - Reference to simutaed SCMI agents/services
- * @agent:             Pointer to SCMI sandbox agent pointers array
- * @agent_count:       Number of emulated agents exposed in array @agent.
+ * @agent:             Pointer to SCMI sandbox agent or NULL if not probed
  */
 struct sandbox_scmi_service {
-       struct sandbox_scmi_agent **agent;
-       size_t agent_count;
+       struct sandbox_scmi_agent *agent;
 };
 
 /**
@@ -94,13 +89,13 @@ struct sandbox_scmi_devices {
 
 #ifdef CONFIG_SCMI_FIRMWARE
 /**
- * sandbox_scmi_service_context - Get the simulated SCMI services context
+ * sandbox_scmi_service_ctx - Get the simulated SCMI services context
  * @return:    Reference to backend simulated resources state
  */
 struct sandbox_scmi_service *sandbox_scmi_service_ctx(void);
 
 /**
- * sandbox_scmi_devices_get_ref - Get references to devices accessed through SCMI
+ * sandbox_scmi_devices_ctx - Get references to devices accessed through SCMI
  * @dev:       Reference to the test device used get test resources
  * @return:    Reference to the devices probed by the SCMI test
  */
index 0d83f4dc1bcb35cc97aa917a28cddcca4406d6e0..015e96d53f873e91f5b5486bc6fcbd00ff8db86c 100644 (file)
@@ -9,6 +9,7 @@
 #define __ASM_TEST_H
 
 #include <video.h>
+#include <pci_ids.h>
 
 /* The sandbox driver always permits an I2C device with this address */
 #define SANDBOX_I2C_TEST_ADDR          0x59
@@ -17,8 +18,8 @@
 #define SANDBOX_PCI_SWAP_CASE_EMUL_ID  0x5678
 #define SANDBOX_PCI_PMC_EMUL_ID                0x5677
 #define SANDBOX_PCI_P2SB_EMUL_ID       0x5676
-#define SANDBOX_PCI_CLASS_CODE         PCI_CLASS_CODE_COMM
-#define SANDBOX_PCI_CLASS_SUB_CODE     PCI_CLASS_SUB_CODE_COMM_SERIAL
+#define SANDBOX_PCI_CLASS_CODE         (PCI_CLASS_COMMUNICATION_SERIAL >> 8)
+#define SANDBOX_PCI_CLASS_SUB_CODE     (PCI_CLASS_COMMUNICATION_SERIAL & 0xff)
 
 #define PCI_CAP_ID_PM_OFFSET           0x50
 #define PCI_CAP_ID_EXP_OFFSET          0x60
index 9618da1cb36cddb1163e26d474c31f1a6399b46a..e7520a328d5427f70e55b501278e1a6a0b80f758 100644 (file)
@@ -12,7 +12,7 @@ obj-$(CONFIG_CMD_SH_ZIMAGEBOOT) += zimageboot.o
 
 udivsi3-y                      := udivsi3_i4i-Os.o
 
-ifneq ($(CONFIG_CC_OPTIMIZE_FOR_SIZE),y)
+ifeq ($(CONFIG_CC_OPTIMIZE_FOR_SPEED),y)
 udivsi3-$(CONFIG_CPU_SH4)      := udivsi3_i4i.o
 endif
 udivsi3-y                      += udivsi3.o
index 309a50a11611d716b4ab866210f0ae285d0704c6..68bf40ba8e818d7240bece418c1136c7fe570301 100644 (file)
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <cpu.h>
 #include <dm.h>
+#include <event.h>
 #include <init.h>
 #include <log.h>
 #include <pci.h>
@@ -44,7 +45,7 @@ static void hsuart_clock_set(void *base)
  * Configure the internal clock of both SIO HS-UARTs, if they are enabled
  * via FSP
  */
-int arch_cpu_init_dm(void)
+static int baytrail_uart_init(void *ctx, struct event *event)
 {
        struct udevice *dev;
        void *base;
@@ -63,6 +64,7 @@ int arch_cpu_init_dm(void)
 
        return 0;
 }
+EVENT_SPY(EVT_DM_POST_INIT, baytrail_uart_init);
 
 static void set_max_freq(void)
 {
index 3832a97f2c7311181b8a25ce116dae8909a376bc..2adcf4b242c5a37e94b298566cc3512dd8cac95a 100644 (file)
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <dm.h>
 #include <cpu.h>
+#include <event.h>
 #include <init.h>
 #include <log.h>
 #include <asm/cpu.h>
@@ -24,7 +25,7 @@
 #include <asm/arch/pch.h>
 #include <asm/arch/rcb.h>
 
-int arch_cpu_init_dm(void)
+static int broadwell_init_cpu(void *ctx, struct event *event)
 {
        struct udevice *dev;
        int ret;
@@ -41,6 +42,7 @@ int arch_cpu_init_dm(void)
 
        return 0;
 }
+EVENT_SPY(EVT_DM_POST_INIT, broadwell_init_cpu);
 
 void set_max_freq(void)
 {
index a02f4f9600eff28b7ea8c597bae0edf066de9c6c..cffc5d5b1d861c14c79d1b0fe0557fe3abfa5cca 100644 (file)
@@ -14,6 +14,7 @@
 #include <cpu_func.h>
 #include <dm.h>
 #include <errno.h>
+#include <event.h>
 #include <fdtdec.h>
 #include <init.h>
 #include <log.h>
@@ -53,7 +54,7 @@ int arch_cpu_init(void)
        return x86_cpu_init_f();
 }
 
-int arch_cpu_init_dm(void)
+static int ivybridge_cpu_init(void *ctx, struct event *ev)
 {
        struct pci_controller *hose;
        struct udevice *bus, *dev;
@@ -85,6 +86,7 @@ int arch_cpu_init_dm(void)
 
        return 0;
 }
+EVENT_SPY(EVT_DM_POST_INIT, ivybridge_cpu_init);
 
 #define PCH_EHCI0_TEMP_BAR0 0xe8000000
 #define PCH_EHCI1_TEMP_BAR0 0xe8000400
index 30b4711b9a59569d73f68c50d03607978d1e2117..e016fae04f9668b79168874e4e880b7a123aa307 100644 (file)
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <cpu_func.h>
+#include <event.h>
 #include <init.h>
 #include <mmc.h>
 #include <asm/cache.h>
@@ -247,7 +248,7 @@ int arch_cpu_init(void)
        return 0;
 }
 
-int arch_cpu_init_dm(void)
+static int quark_init_pcie(void *ctx, struct event *event)
 {
        /*
         * Initialize PCIe controller
@@ -262,6 +263,7 @@ int arch_cpu_init_dm(void)
 
        return 0;
 }
+EVENT_SPY(EVT_DM_POST_INIT, quark_init_pcie);
 
 int checkcpu(void)
 {
index dccbfa45a1b043a9a9be888800a6fe66faa97c29..ca3f6848b61b6653633aacb0e867e515a55efab5 100644 (file)
@@ -60,4 +60,12 @@ int fsp_silicon_init(bool s3wake, bool use_spi_flash);
 
 typedef asmlinkage int (*fsp_silicon_init_func)(struct fsps_upd *params);
 
+/**
+ *  fsp_setup_pinctrl() - Set up the pinctrl for FSP
+ *
+ * @ctx: Event context (not used)
+ * @event: Event information (not used)
+ */
+int fsp_setup_pinctrl(void *ctx, struct event *event);
+
 #endif
index 5afdce1e0d468c48e527ccc372ac652b207ded53..b15926e8247b85c9cdc956a80a0ccbb7f7b74d54 100644 (file)
@@ -9,6 +9,7 @@
 #include <bootstage.h>
 #include <cbfs.h>
 #include <dm.h>
+#include <event.h>
 #include <init.h>
 #include <log.h>
 #include <spi.h>
@@ -18,7 +19,7 @@
 #include <dm/uclass-internal.h>
 #include <asm/fsp2/fsp_internal.h>
 
-int arch_cpu_init_dm(void)
+int fsp_setup_pinctrl(void *ctx, struct event *event)
 {
        struct udevice *dev;
        ofnode node;
@@ -41,6 +42,7 @@ int arch_cpu_init_dm(void)
 
        return ret;
 }
+EVENT_SPY(EVT_DM_POST_INIT, fsp_setup_pinctrl);
 
 #if !defined(CONFIG_TPL_BUILD)
 binman_sym_declare(ulong, intel_fsp_m, image_pos);
index b18c1cd6092126eb2f4ee6b61a8a5f4cff72d63d..2d50c62964cf2828f706b0b21166a853da51884a 100644 (file)
@@ -17,6 +17,7 @@
 #include <syscon.h>
 #include <asm/cpu.h>
 #include <asm/cpu_common.h>
+#include <asm/fsp2/fsp_api.h>
 #include <asm/global_data.h>
 #include <asm/mrccache.h>
 #include <asm/mtrr.h>
@@ -27,7 +28,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-__weak int arch_cpu_init_dm(void)
+__weak int fsp_setup_pinctrl(void *ctx, struct event *event)
 {
        return 0;
 }
@@ -89,7 +90,7 @@ static int x86_spl_init(void)
                return ret;
        }
 #ifndef CONFIG_TPL
-       ret = arch_cpu_init_dm();
+       ret = fsp_setup_pinctrl(NULL, NULL);
        if (ret) {
                debug("%s: arch_cpu_init_dm() failed\n", __func__);
                return ret;
index 5b57e53c2ddf1b1db37e41b25f8f7519777eb5af..18b05b2f67208de0e2561cdd94036619c5ed8257 100644 (file)
 
 DECLARE_GLOBAL_DATA_PTR;
 
-__weak int arch_cpu_init_dm(void)
-{
-       return 0;
-}
-
 static int x86_tpl_init(void)
 {
        int ret;
@@ -44,11 +39,6 @@ static int x86_tpl_init(void)
                debug("%s: arch_cpu_init() failed\n", __func__);
                return ret;
        }
-       ret = arch_cpu_init_dm();
-       if (ret) {
-               debug("%s: arch_cpu_init_dm() failed\n", __func__);
-               return ret;
-       }
        preloader_console_init();
 
        return 0;
index 35e5b89dda047fcd5e059ba65c1ae36cff4a84fe..8f668cc67ed07e57988323650f6d43dd228c20a3 100644 (file)
@@ -13,6 +13,7 @@ choice
 
 config TARGET_XTFPGA
        bool "Support XTFPGA"
+       select BOARD_POSTCLK_INIT
 
 endchoice
 
index 1e74158630b5e9b9a7dc557b28060842c4947cb3..e553da86e0e04feb7a1324630ded77f81d7755da 100644 (file)
@@ -150,7 +150,7 @@ static void xr3pci_init(void)
        /* allow ECRC */
        writel(0x6006, XR3_CONFIG_BASE + XR3PCI_PEX_SPC2);
        /* setup the correct class code for the host bridge */
-       writel(PCI_CLASS_BRIDGE_PCI << 16, XR3_CONFIG_BASE + XR3PCI_BRIDGE_PCI_IDS);
+       writel(PCI_CLASS_BRIDGE_PCI_NORMAL << 8, XR3_CONFIG_BASE + XR3PCI_BRIDGE_PCI_IDS);
 
        /* reset phy and root complex */
        writel(JUNO_RESET_CTRL_PHY | JUNO_RESET_CTRL_RC,
index 3844f086b4c1460ce65e35894cabbba34cfab165..40db313ba8aa0f4834bb6eedc1741f9539d76113 100644 (file)
@@ -9,4 +9,19 @@ config SYS_VENDOR
 config SYS_CONFIG_NAME
        default "at91sam9260ek"
 
+choice
+       prompt "Evaluation board"
+
+config AT91SAM9G20EK
+       bool "Atmel AT91SAM9G20 EK"
+
+config AT91SAM9260EK
+       bool "Atmel AT91SAM9260 EK"
+
+endchoice
+
+config AT91SAM9G20EK_2MMC
+       bool "Atmel AT91SAM9G20 EK 2MMC variant"
+       depends on AT91SAM9260EK
+
 endif
index 2971b3cf9fb4e4ae70fcb0d24a742d01e738cd45..6133efe23e8a00113cf4a210a0db837a5461174f 100644 (file)
@@ -9,4 +9,18 @@ config SYS_VENDOR
 config SYS_CONFIG_NAME
        default "at91sam9261ek"
 
+choice
+       prompt "Evaluation board"
+
+config AT91SAM9G10EK
+       bool "Atmel AT91SAM9G10 EK"
+
+config AT91SAM9261EK
+       bool "Atmel AT91SAM9261 EK"
+
+config AT91SAM9G10
+       bool "Atmel AT91SAM9G10 EK"
+
+endchoice
+
 endif
index 8cb2808e058afa63085449f864b7669a25708b0d..fcca8923e38f555eae54157f829cd6708210533c 100644 (file)
@@ -214,7 +214,8 @@ static void at91sam9m10g45ek_lcd_hw_init(void)
 
        at91_periph_clk_enable(ATMEL_ID_LCDC);
 
-       gd->fb_base = CONFIG_AT91SAM9G45_LCD_BASE;
+       /* board specific(not enough SRAM) */
+       gd->fb_base = 0x73E00000;
 }
 
 #ifdef CONFIG_LCD_INFO
@@ -267,11 +268,7 @@ int board_early_init_f(void)
 int board_init(void)
 {
        /* arch number of AT91SAM9M10G45EK-Board */
-#ifdef CONFIG_AT91SAM9M10G45EK
        gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9M10G45EK;
-#elif defined CONFIG_AT91SAM9G45EKES
-       gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9G45EKES;
-#endif
 
        /* adress of boot parameters */
        gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
index e2cd9f00df8e6d8fa7d1e9bc6b0fa5403371963e..41ecbf7e22f50c1b5d42355ddcb1b2b5be8ecdbe 100644 (file)
@@ -1,5 +1,8 @@
 if TARGET_GURNARD
 
+config GURNARD_SPLASH
+       def_bool y
+
 config SYS_BOARD
        default "gurnard"
 
index 84e14d1124fc663b5d9cd2c73bcc7e705c1c9ba0..8566c22a98f7f67944909918f104c5bd7a1362c5 100644 (file)
@@ -356,10 +356,6 @@ int board_eth_init(struct bd_info *bis)
                goto free_phydev;
 #endif
 
-#ifdef CONFIG_CI_UDC
-       /* For otg ethernet*/
-       usb_eth_initialize(bis);
-#endif
        return 0;
 
 free_phydev:
diff --git a/board/broadcom/bcm96753ref/Kconfig b/board/broadcom/bcm96753ref/Kconfig
new file mode 100644 (file)
index 0000000..479e790
--- /dev/null
@@ -0,0 +1,16 @@
+if TARGET_BCM96753REF
+
+config SYS_VENDOR
+       default "broadcom"
+
+config SYS_BOARD
+       default "bcm96753ref"
+
+config SYS_CONFIG_NAME
+       default "broadcom_bcm96753ref"
+
+endif
+
+config TARGET_BCM96753REF
+       bool "Support Broadcom bcm96753ref"
+       depends on ARCH_BCM6753
diff --git a/board/broadcom/bcm96753ref/MAINTAINERS b/board/broadcom/bcm96753ref/MAINTAINERS
new file mode 100644 (file)
index 0000000..be060f5
--- /dev/null
@@ -0,0 +1,6 @@
+BROADCOM BCM96753REF
+M:     Philippe Reynes <philippe.reynes@softathome.com>
+S:     Maintained
+F:     board/broadcom/bcm96753ref
+F:     include/configs/broadcom_bcm96753ref.h
+F:     configs/bcm96753ref_ram_defconfig
diff --git a/board/broadcom/bcm96753ref/Makefile b/board/broadcom/bcm96753ref/Makefile
new file mode 100644 (file)
index 0000000..a1fa2bf
--- /dev/null
@@ -0,0 +1,3 @@
+# SPDX-License-Identifier: GPL-2.0+
+
+obj-y  += bcm96753ref.o
diff --git a/board/broadcom/bcm96753ref/bcm96753ref.c b/board/broadcom/bcm96753ref/bcm96753ref.c
new file mode 100644 (file)
index 0000000..bf78d84
--- /dev/null
@@ -0,0 +1,40 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2022 Philippe Reynes <philippe.reynes@softathome.com>
+ */
+
+#include <common.h>
+#include <fdtdec.h>
+#include <linux/io.h>
+#include <cpu_func.h>
+
+int board_init(void)
+{
+       return 0;
+}
+
+int dram_init(void)
+{
+       if (fdtdec_setup_mem_size_base() != 0)
+               printf("fdtdec_setup_mem_size_base() has failed\n");
+
+       return 0;
+}
+
+int dram_init_banksize(void)
+{
+       fdtdec_setup_memory_banksize();
+
+       return 0;
+}
+
+int print_cpuinfo(void)
+{
+       return 0;
+}
+
+void enable_caches(void)
+{
+       icache_enable();
+       dcache_enable();
+}
index 4450a5df79fcff4d2fb23f6e6a56fad4ec86d27f..cbf8134346d5c4ba8013b02157fc8ce96f2d548e 100644 (file)
@@ -50,7 +50,7 @@ skip_smp_setup:
 #endif
 
 #ifdef CONFIG_ARMV8_MULTIENTRY
-       branch_if_master x0, x1, 2f
+       branch_if_master x0, 2f
 
        /*
         * Slave should wait for master clearing spin table.
index 22c4be392f7e77ed714698447e7ec2005cfcfe5f..c57e518c33fe6114d7fa2533cd15e4b83d3a40db 100644 (file)
@@ -4,12 +4,16 @@
 
 if VENDOR_GOOGLE
 
+config BIOSEMU
+       bool
+
 choice
        prompt "Mainboard model"
        optional
 
 config TARGET_CHROMEBOOK_CORAL
        bool "Chromebook coral"
+       select BIOSEMU
        help
          This is a range of Intel-based laptops released in 2018. They use an
          Intel Apollo Lake SoC. The design supports WiFi, 4GB to 16GB of
@@ -24,6 +28,7 @@ config TARGET_CHROMEBOOK_CORAL
 
 config TARGET_CHROMEBOOK_LINK
        bool "Chromebook link"
+       select BIOSEMU
        help
          This is the Chromebook Pixel released in 2013. It uses an Intel
          i5 Ivybridge which is a die-shrink of Sandybridge, with 4GB of
@@ -36,6 +41,7 @@ config TARGET_CHROMEBOOK_LINK
 
 config TARGET_CHROMEBOOK_LINK64
        bool "Chromebook link 64-bit"
+       select BIOSEMU
        help
          This is the Chromebook Pixel released in 2013. With this config
          U-Boot is built as a 64-bit binary. This allows testing while this
@@ -43,6 +49,7 @@ config TARGET_CHROMEBOOK_LINK64
 
 config TARGET_CHROMEBOX_PANTHER
        bool "Chromebox panther (not available)"
+       select BIOSEMU
        help
          Note: At present this must be used with coreboot. See README.x86
          for instructions.
index 182cf7517a942c90e1a5336172cfbfb6f3c631c1..9e23f5cd31e756dc9bb89e4624a81d490627ba12 100644 (file)
@@ -10,6 +10,7 @@
 #include <command.h>
 #include <cros_ec.h>
 #include <dm.h>
+#include <event.h>
 #include <init.h>
 #include <log.h>
 #include <sysinfo.h>
@@ -32,11 +33,12 @@ struct cros_gpio_info {
        int flags;
 };
 
-int misc_init_f(void)
+static int coral_check_ll_boot(void *ctx, struct event *event)
 {
        if (!ll_boot_init()) {
                printf("Running as secondary loader");
-               if (gd->arch.coreboot_table) {
+               if (CONFIG_IS_ENABLED(COREBOOT_SYSINFO) &&
+                   gd->arch.coreboot_table) {
                        int ret;
 
                        printf(" (found coreboot table at %lx)",
@@ -55,6 +57,7 @@ int misc_init_f(void)
 
        return 0;
 }
+EVENT_SPY(EVT_MISC_INIT_F, coral_check_ll_boot);
 
 int arch_misc_init(void)
 {
index ca24b960c7624babb29ca700550f018158531c72..44865384f653dc4b499bff58a013fa0aae3da315 100644 (file)
@@ -6,6 +6,7 @@
  * Copyright 2013 Freescale Semiconductor, Inc.
  */
 
+#include <event.h>
 #include <asm/cache.h>
 #include <asm/fsl_fdt.h>
 #include <asm/fsl_law.h>
@@ -181,7 +182,7 @@ unsigned long get_serial_clock(unsigned long dummy)
        return (gd->bus_clk / 2);
 }
 
-int misc_init_f(void)
+static int kmcent2_misc_init_f(void *ctx, struct event *event)
 {
        /* configure QRIO pis for i2c deblocking */
        i2c_deblock_gpio_cfg();
@@ -209,6 +210,7 @@ int misc_init_f(void)
 
        return 0;
 }
+EVENT_SPY(EVT_MISC_INIT_F, kmcent2_misc_init_f);
 
 #define USED_SRDS_BANK 0
 #define EXPECTED_SRDS_RFCK SRDS_PLLCR0_RFCK_SEL_100
index 467f1109517b45351381c2b50daba5ff8a1c8e2c..ed8142d868f9ba9e3fd5dfb92b7f78d86b455ff2 100644 (file)
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <event.h>
 #include <i2c.h>
 #include <asm/io.h>
 #include <asm/arch/immap_ls102xa.h>
@@ -109,12 +110,14 @@ int board_early_init_f(void)
        return 0;
 }
 
-int misc_init_f(void)
+static int pg_wcom_misc_init_f(void *ctx, struct event *event)
 {
        if (IS_ENABLED(CONFIG_PG_WCOM_UBOOT_UPDATE_SUPPORTED))
                check_for_uboot_update();
+
        return 0;
 }
+EVENT_SPY(EVT_MISC_INIT_F, pg_wcom_misc_init_f);
 
 int board_init(void)
 {
index f0141659282a8c5ff8ba06e3b94f09933f306868..e787441c746af1e6ff28f74bb3243a5c1f3d7eda 100644 (file)
@@ -117,17 +117,10 @@ static void am3517_evm_musb_init(void)
  */
 int misc_init_r(void)
 {
-       u32 reset;
-
        omap_die_id_display();
 
        am3517_evm_musb_init();
 
-       /* ensure that the Ethernet module is out of reset */
-       reset = readl(AM3517_IP_SW_RESET);
-       reset &= (~CPGMACSS_SW_RST);
-       writel(reset, AM3517_IP_SW_RESET);
-
        return 0;
 }
 
@@ -142,7 +135,6 @@ void set_muxconf_regs(void)
        MUX_AM3517EVM();
 }
 
-
 #if defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET)
 int board_eth_init(struct bd_info *bis)
 {
index db2134bb9d40e70e16731d06ccae598bd17e474a..aec2b410c88278ffa371ccf6eff8f2ca18a065cb 100644 (file)
@@ -122,64 +122,7 @@ const omap3_sysinfo sysinfo = {
        MUX_VAL(CP(GPMC_NWP),           (IEN  | PTD | DIS | M0)) \
        MUX_VAL(CP(GPMC_WAIT0),         (IEN  | PTU | EN  | M0)) \
        MUX_VAL(CP(GPMC_WAIT1),         (IEN  | PTU | EN  | M0)) \
-       MUX_VAL(CP(GPMC_WAIT2),         (IEN  | PTU | EN  | M4)) /*GPIO_64*/\
-                                                        /* - ETH_nRESET*/\
        MUX_VAL(CP(GPMC_WAIT3),         (IEN  | PTU | EN  | M0)) \
-       /* DSS */\
-       MUX_VAL(CP(DSS_PCLK),           (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_HSYNC),          (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_VSYNC),          (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_ACBIAS),         (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA0),          (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA1),          (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA2),          (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA3),          (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA4),          (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA5),          (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA6),          (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA7),          (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA8),          (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA9),          (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA10),         (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA11),         (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA12),         (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA13),         (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA14),         (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA15),         (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA16),         (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA17),         (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA18),         (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA19),         (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA20),         (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA21),         (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA22),         (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(DSS_DATA23),         (IDIS | PTD | DIS | M0)) \
-       /* CAMERA */\
-       MUX_VAL(CP(CAM_HS),             (IEN  | PTU | EN  | M0)) \
-       MUX_VAL(CP(CAM_VS),             (IEN  | PTU | EN  | M0)) \
-       MUX_VAL(CP(CAM_XCLKA),          (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(CAM_PCLK),           (IEN  | PTU | EN  | M0)) \
-       MUX_VAL(CP(CAM_FLD),            (IDIS | PTD | DIS | M4)) /*GPIO_98*/\
-                                                        /* - CAM_RESET*/\
-       MUX_VAL(CP(CAM_D0),             (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CAM_D1),             (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CAM_D2),             (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CAM_D3),             (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CAM_D4),             (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CAM_D5),             (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CAM_D6),             (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CAM_D7),             (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CAM_D8),             (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CAM_D9),             (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CAM_D10),            (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CAM_D11),            (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CAM_XCLKB),          (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(CAM_WEN),            (IEN  | PTD | DIS | M4)) /*GPIO_167*/\
-       MUX_VAL(CP(CAM_STROBE),         (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(CSI2_DX0),           (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CSI2_DY0),           (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CSI2_DX1),           (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CSI2_DY1),           (IEN  | PTD | DIS | M0)) \
        /* MMC */\
        MUX_VAL(CP(MMC1_CLK),           (IEN  | PTU | EN  | M0)) \
        MUX_VAL(CP(MMC1_CMD),           (IEN  | PTU | DIS | M0)) \
@@ -187,144 +130,15 @@ const omap3_sysinfo sysinfo = {
        MUX_VAL(CP(MMC1_DAT1),          (IEN  | PTU | DIS | M0)) \
        MUX_VAL(CP(MMC1_DAT2),          (IEN  | PTU | DIS | M0)) \
        MUX_VAL(CP(MMC1_DAT3),          (IEN  | PTU | DIS | M0)) \
-       /* WriteProtect */\
-       MUX_VAL(CP(MMC1_DAT4),          (IEN  | PTU | EN  | M4)) \
-       MUX_VAL(CP(MMC1_DAT5),          (IEN  | PTU | EN  | M4)) /*CardDetect*/\
-       MUX_VAL(CP(MMC1_DAT6),          (IEN  | PTU | EN  | M4)) \
-       MUX_VAL(CP(MMC1_DAT7),          (IEN  | PTU | EN  | M4)) \
-       \
-       MUX_VAL(CP(MMC2_CLK),           (IEN  | PTD | EN  | M0)) \
-       MUX_VAL(CP(MMC2_CMD),           (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(MMC2_DAT0),          (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(MMC2_DAT1),          (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(MMC2_DAT2),          (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(MMC2_DAT3),          (IEN  | PTD | DIS | M0)) \
-       /* McBSP */\
-       MUX_VAL(CP(MCBSP_CLKS),         (IEN  | PTU | DIS | M0)) \
-       MUX_VAL(CP(MCBSP1_CLKR),        (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(MCBSP1_FSR),         (IDIS | PTU | EN  | M0)) \
-       MUX_VAL(CP(MCBSP1_DX),          (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(MCBSP1_DR),          (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(MCBSP1_FSX),         (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(MCBSP1_CLKX),        (IEN  | PTD | DIS | M0)) \
-       \
-       MUX_VAL(CP(MCBSP2_FSX),         (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(MCBSP2_CLKX),        (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(MCBSP2_DR),          (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(MCBSP2_DX),          (IDIS | PTD | DIS | M0)) \
-       \
-       MUX_VAL(CP(MCBSP3_DX),          (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(MCBSP3_DR),          (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(MCBSP3_CLKX),        (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(MCBSP3_FSX),         (IEN  | PTD | DIS | M0)) \
-       \
-       MUX_VAL(CP(MCBSP4_CLKX),        (IDIS | PTD | DIS | M4)) /*GPIO_152*/\
-                                                        /* - LCD_INI*/\
-       MUX_VAL(CP(MCBSP4_DR),          (IDIS | PTD | DIS | M4)) /*GPIO_153*/\
-                                                        /* - LCD_ENVDD */\
-       MUX_VAL(CP(MCBSP4_DX),          (IDIS | PTD | DIS | M4)) /*GPIO_154*/\
-                                                        /* - LCD_QVGA/nVGA */\
-       MUX_VAL(CP(MCBSP4_FSX),         (IDIS | PTD | DIS | M4)) /*GPIO_155*/\
-                                                        /* - LCD_RESB */\
        /* UART */\
-       MUX_VAL(CP(UART1_TX),           (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(UART1_RTS),          (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(UART1_CTS),          (IEN  | PTU | DIS | M0)) \
-       \
-       MUX_VAL(CP(UART1_RX),           (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(UART2_CTS),          (IEN  | PTU | EN  | M0)) \
-       MUX_VAL(CP(UART2_RTS),          (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(UART2_TX),           (IDIS | PTD | DIS | M0)) \
-       MUX_VAL(CP(UART2_RX),           (IEN  | PTD | DIS | M0)) \
-       \
        MUX_VAL(CP(UART3_CTS_RCTX),     (IEN  | PTU | DIS | M0)) \
        MUX_VAL(CP(UART3_RTS_SD),       (IDIS | PTD | DIS | M0)) \
        MUX_VAL(CP(UART3_RX_IRRX),      (IEN  | PTD | DIS | M0)) \
        MUX_VAL(CP(UART3_TX_IRTX),      (IDIS | PTD | DIS | M0)) \
-       /* I2C */\
-       MUX_VAL(CP(I2C1_SCL),           (IEN  | PTU | EN  | M0)) \
-       MUX_VAL(CP(I2C1_SDA),           (IEN  | PTU | EN  | M0)) \
-       MUX_VAL(CP(I2C2_SCL),           (IEN  | PTU | EN  | M0)) \
-       MUX_VAL(CP(I2C2_SDA),           (IEN  | PTU | EN  | M0)) \
-       MUX_VAL(CP(I2C3_SCL),           (IEN  | PTU | EN  | M0)) \
-       MUX_VAL(CP(I2C3_SDA),           (IEN  | PTU | EN  | M0)) \
-       MUX_VAL(CP(I2C4_SCL),           (IEN  | PTU | EN  | M0)) \
-       MUX_VAL(CP(I2C4_SDA),           (IEN  | PTU | EN  | M0)) \
-       /* McSPI */\
-       MUX_VAL(CP(MCSPI1_CLK),         (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(MCSPI1_SIMO),        (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(MCSPI1_SOMI),        (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(MCSPI1_CS0),         (IEN  | PTD | EN  | M0)) \
-       MUX_VAL(CP(MCSPI1_CS1),         (IEN  | PTD | EN  | M4)) /*GPIO_175*/\
-       MUX_VAL(CP(MCSPI1_CS2),         (IEN  | PTU | DIS | M4)) /*GPIO_176*/\
-                                                        /* - LAN_INTR*/\
-       MUX_VAL(CP(MCSPI1_CS3),         (IEN  | PTD | EN  | M0)) \
-       \
-       MUX_VAL(CP(MCSPI2_CLK),         (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(MCSPI2_SIMO),        (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(MCSPI2_SOMI),        (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(MCSPI2_CS0),         (IEN  | PTD | EN  | M4)) \
-       MUX_VAL(CP(MCSPI2_CS1),         (IEN  | PTD | EN  | M4)) \
-       /* CCDC */\
-       MUX_VAL(CP(CCDC_PCLK),          (IEN  | PTU | EN  | M0)) \
-       MUX_VAL(CP(CCDC_FIELD),         (IEN  | PTD | DIS | M1)) \
-       MUX_VAL(CP(CCDC_HD),            (IEN  | PTU | EN  | M0)) \
-       MUX_VAL(CP(CCDC_VD),            (IEN  | PTU | EN  | M0)) \
-       MUX_VAL(CP(CCDC_WEN),           (IEN  | PTD | DIS | M1)) \
-       MUX_VAL(CP(CCDC_DATA0),         (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CCDC_DATA1),         (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CCDC_DATA2),         (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CCDC_DATA3),         (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CCDC_DATA4),         (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CCDC_DATA5),         (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CCDC_DATA6),         (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(CCDC_DATA7),         (IEN  | PTD | DIS | M0)) \
-       /* RMII */\
-       MUX_VAL(CP(RMII_MDIO_DATA),     (IEN  |  M0)) \
-       MUX_VAL(CP(RMII_MDIO_CLK),      (M0)) \
-       MUX_VAL(CP(RMII_RXD0)   ,       (IEN  | PTD | M0)) \
-       MUX_VAL(CP(RMII_RXD1),          (IEN  | PTD | M0)) \
-       MUX_VAL(CP(RMII_CRS_DV),        (IEN  | PTD | M0)) \
-       MUX_VAL(CP(RMII_RXER),          (PTD | M0)) \
-       MUX_VAL(CP(RMII_TXD0),          (PTD | M0)) \
-       MUX_VAL(CP(RMII_TXD1),          (PTD | M0)) \
-       MUX_VAL(CP(RMII_TXEN),          (PTD | M0)) \
-       MUX_VAL(CP(RMII_50MHZ_CLK),     (IEN  | PTD | EN  | M0)) \
-       /* HECC */\
-       MUX_VAL(CP(HECC1_TXD),          (IEN  | PTU | EN  | M0)) \
-       MUX_VAL(CP(HECC1_RXD),          (IEN  | PTU | EN  | M0)) \
-       /* HSUSB */\
-       MUX_VAL(CP(HSUSB0_CLK),         (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(HSUSB0_STP),         (IDIS | PTU | EN  | M0)) \
-       MUX_VAL(CP(HSUSB0_DIR),         (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(HSUSB0_NXT),         (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(HSUSB0_DATA0),       (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(HSUSB0_DATA1),       (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(HSUSB0_DATA2),       (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(HSUSB0_DATA3),       (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(HSUSB0_DATA4),       (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(HSUSB0_DATA5),       (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(HSUSB0_DATA6),       (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(HSUSB0_DATA7),       (IEN  | PTD | DIS | M0)) \
-       MUX_VAL(CP(USB0_DRVBUS),        (IEN  | PTD | EN  | M0)) \
-       /* HDQ */\
-       MUX_VAL(CP(HDQ_SIO),            (IEN  | PTU | EN  | M0)) \
        /* Control and debug */\
        MUX_VAL(CP(SYS_32K),            (IEN  | PTD | DIS | M0)) \
        MUX_VAL(CP(SYS_CLKREQ),         (IEN  | PTD | DIS | M0)) \
        MUX_VAL(CP(SYS_NIRQ),           (IEN  | PTU | EN  | M0)) \
-       /*SYS_nRESWARM */\
-       MUX_VAL(CP(SYS_NRESWARM),       (IDIS | PTU | EN | M4)) \
-                                                       /* - GPIO30 */\
-       MUX_VAL(CP(SYS_BOOT0),          (IEN  | PTD | DIS | M4)) /*GPIO_2*/\
-                                                        /* - PEN_IRQ */\
-       MUX_VAL(CP(SYS_BOOT1),          (IEN  | PTD | DIS | M4)) /*GPIO_3 */\
-       MUX_VAL(CP(SYS_BOOT2),          (IEN  | PTD | DIS | M4)) /*GPIO_4*/\
-       MUX_VAL(CP(SYS_BOOT3),          (IEN  | PTD | DIS | M4)) /*GPIO_5*/\
-       MUX_VAL(CP(SYS_BOOT4),          (IEN  | PTD | DIS | M4)) /*GPIO_6*/\
-       MUX_VAL(CP(SYS_BOOT5),          (IEN  | PTD | DIS | M4)) /*GPIO_7*/\
-       MUX_VAL(CP(SYS_BOOT6),          (IDIS | PTD | DIS | M4)) /*GPIO_8*/\
-                                                        /* - VIO_1V8*/\
        MUX_VAL(CP(SYS_BOOT7),          (IEN  | PTD | EN  | M0)) \
        MUX_VAL(CP(SYS_BOOT8),          (IEN  | PTD | EN  | M0)) \
        \
@@ -339,18 +153,6 @@ const omap3_sysinfo sysinfo = {
        MUX_VAL(CP(JTAG_EMU0),          (IEN  | PTD | DIS | M0)) \
        MUX_VAL(CP(JTAG_EMU1),          (IEN  | PTD | DIS | M0)) \
        /* ETK (ES2 onwards) */\
-       MUX_VAL(CP(ETK_CLK_ES2),        (IDIS | PTU | EN  | M3)) /*HSUSB1_STP*/\
-       MUX_VAL(CP(ETK_CTL_ES2),        (IDIS | PTU | DIS | M3)) /*HSUSB1_CLK*/\
-       MUX_VAL(CP(ETK_D0_ES2),         (IEN  | PTU | DIS | M3)) /*HSUSB1_DATA0*/\
-       MUX_VAL(CP(ETK_D1_ES2),         (IEN  | PTU | DIS | M3)) /*HSUSB1_DATA1*/\
-       MUX_VAL(CP(ETK_D2_ES2),         (IEN  | PTU | DIS | M3)) /*HSUSB1_DATA2*/\
-       MUX_VAL(CP(ETK_D3_ES2),         (IEN  | PTU | DIS | M3)) /*HSUSB1_DATA7*/\
-       MUX_VAL(CP(ETK_D4_ES2),         (IEN  | PTU | DIS | M3)) /*HSUSB1_DATA4*/\
-       MUX_VAL(CP(ETK_D5_ES2),         (IEN  | PTU | DIS | M3)) /*HSUSB1_DATA5*/\
-       MUX_VAL(CP(ETK_D6_ES2),         (IEN  | PTU | DIS | M3)) /*HSUSB1_DATA6*/\
-       MUX_VAL(CP(ETK_D7_ES2),         (IEN  | PTU | DIS | M3)) /*HSUSB1_DATA3*/\
-       MUX_VAL(CP(ETK_D8_ES2),         (IEN  | PTU | DIS | M3)) /*HSUSB1_DIR*/\
-       MUX_VAL(CP(ETK_D9_ES2),         (IEN  | PTU | DIS | M3)) /*HSUSB1_NXT*/\
        MUX_VAL(CP(ETK_D10_ES2),        (IEN  | PTD | DIS | M0)) \
        MUX_VAL(CP(ETK_D11_ES2),        (IEN  | PTD | DIS | M0)) \
        MUX_VAL(CP(ETK_D12_ES2),        (IEN  | PTD | DIS | M0)) \
index 3a6f6c1f4eec9f6ef38c4df80e2f595808dcbb7d..ba63aa04c34f52eba9a0bc8fb22740dfd31b7298 100644 (file)
@@ -233,23 +233,6 @@ void set_muxconf_regs(void)
        MUX_VAL(CP(D2D_SREAD), (IEN  | PTD | DIS | M0)) /*d2d_sread*/
        MUX_VAL(CP(D2D_MBUSFLAG), (IEN  | PTD | DIS | M0)) /*d2d_mbusflag*/
        MUX_VAL(CP(D2D_SBUSFLAG), (IEN  | PTD | DIS | M0)) /*d2d_sbusflag*/
-
-#ifdef CONFIG_USB_EHCI_OMAP /* SOM-LV Uses EHCI-OMAP */
-       MUX_VAL(CP(ETK_D14_ES2), (IEN  | PTD | DIS | M3)) /*HSUSB2_DATA0*/
-       MUX_VAL(CP(ETK_D15_ES2), (IEN  | PTD | DIS | M3)) /*HSUSB2_DATA1*/
-       MUX_VAL(CP(MCSPI1_CS3), (IEN  | PTD | EN  | M0)) /*HSUSB2_DATA2*/
-       MUX_VAL(CP(MCSPI2_CS1), (IEN  | PTD | EN  | M0)) /*HSUSB2_DATA3*/
-       MUX_VAL(CP(MCSPI2_SIMO), (IEN  | PTD | DIS | M0)) /*HSUSB2_DATA4*/
-       MUX_VAL(CP(MCSPI2_SOMI), (IEN  | PTD | DIS | M0)) /*HSUSB2_DATA5*/
-       MUX_VAL(CP(MCSPI2_CS0), (IEN  | PTD | EN  | M0)) /*HSUSB2_DATA6*/
-       MUX_VAL(CP(MCSPI2_CLK), (IEN  | PTD | DIS | M0)) /*HSUSB2_DATA7*/
-       MUX_VAL(CP(SYS_BOOT2),  (IEN  | PTD | DIS | M4)) /* GPIO_4 */
-       MUX_VAL(CP(ETK_D10_ES2), (IDIS | PTU | DIS | M3)) /*HSUSB2_CLK*/
-       MUX_VAL(CP(ETK_D11_ES2), (IDIS | PTU | DIS | M3)) /*HSUSB2_STP*/
-       MUX_VAL(CP(ETK_D12_ES2), (IEN  | PTU | DIS | M3)) /*HSUSB2_DIR*/
-       MUX_VAL(CP(ETK_D13_ES2), (IEN  | PTD | DIS | M3)) /*HSUSB2_NXT*/
-#endif
-
 }
 
 #endif
diff --git a/board/phytium/pomelo/Kconfig b/board/phytium/pomelo/Kconfig
new file mode 100644 (file)
index 0000000..281aa8f
--- /dev/null
@@ -0,0 +1,12 @@
+if TARGET_POMELO
+
+config SYS_BOARD
+       default "pomelo"
+
+config SYS_VENDOR
+       default "phytium"
+
+config SYS_CONFIG_NAME
+       default "pomelo"
+
+endif
diff --git a/board/phytium/pomelo/MAINTAINERS b/board/phytium/pomelo/MAINTAINERS
new file mode 100644 (file)
index 0000000..d76a4a0
--- /dev/null
@@ -0,0 +1,8 @@
+POMELO BOARD
+M:     lixinde <lixinde@phytium.com.cn>
+M:     weichangzheng <weichangzheng@phytium.com.cn>
+S:     Maintained
+F:     board/phytium/pomelo/*
+F:     include/configs/pomelo.h
+F:     configs/pomelo_defconfig
+F:     arch/arm/dts/phytium-pomelo.dts
diff --git a/board/phytium/pomelo/Makefile b/board/phytium/pomelo/Makefile
new file mode 100644 (file)
index 0000000..b9cb360
--- /dev/null
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: GPL-2.0+
+#
+# Copyright (C) 2021
+# lixinde         <lixinde@phytium.com.cn>
+# weichangzheng   <weichangzheng@phytium.com.cn>
+#
+
+obj-y += pomelo.o
+obj-y += pll.o
+obj-y += pcie.o
+obj-y += ddr.o
+obj-y += sec.o
+
+
diff --git a/board/phytium/pomelo/cpu.h b/board/phytium/pomelo/cpu.h
new file mode 100644 (file)
index 0000000..005ea59
--- /dev/null
@@ -0,0 +1,73 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * (C) Copyright 2021
+ * Phytium Technology Ltd <www.phytium.com>
+ * lixinde         <lixinde@phytium.com.cn>
+ * weichangzheng   <weichangzheng@phytium.com.cn>
+ */
+
+#ifndef _FT_POMELO_H
+#define _FT_POMELO_H
+
+/* SMCCC ID */
+#define CPU_SVC_VERSION                        0xC2000F00
+#define CPU_GET_RST_SOURCE             0xC2000F01
+#define CPU_INIT_PLL                   0xC2000F02
+#define CPU_INIT_PCIE                  0xC2000F03
+#define CPU_INIT_MEM                   0xC2000F04
+#define CPU_INIT_SEC_SVC               0xC2000F05
+
+/*CPU RESET*/
+#define CPU_RESET_POWER_ON             0x1
+#define CPU_RESET_PLL                  0x4
+#define CPU_RESET_WATCH_DOG            0x8
+
+/* PLL */
+#define PARAMETER_PLL_MAGIC            0x54460010
+
+/* PCIE */
+#define PARAMETER_PCIE_MAGIC           0x54460011
+#define CFG_INDEPENDENT_TREE           0x0
+#define PCI_PEU0                       0x1
+#define PCI_PEU1                       0x1
+#define PEU1_OFFSET                    16
+#define PEU_C_OFFSET_MODE              16
+#define PEU_C_OFFSET_SPEED             0
+#define RC_MODE                                0x1
+#define X8X8                           0x1
+#define GEN3                           3
+
+/* DDR */
+#define PARAMETER_MCU_MAGIC            0x54460014
+#define PARAM_MCU_VERSION              0x1
+#define PARAM_MCU_SIZE                 0x100
+#define PARAM_CH_ENABLE                        0x3
+#define PARAM_ECC_ENABLE               0x3
+#define PARAM_FORCE_SPD_DISABLE                0x0
+#define PARAM_MCU_MISC_ENABLE          0x0
+
+#define UDIMM_TYPE                     0x2
+#define DIMM_X8                                0x1
+#define NO_MIRROR                      0x0
+#define NO_ECC_TYPE                    0
+#define DDR4_TYPE                      0xC
+
+/* SEC */
+#define PARAMETER_COMMON_MAGIC         0x54460013
+
+/* FLUSH L3 CASHE */
+#define HNF_COUNT                      0x8
+#define HNF_PSTATE_REQ                 (HNF_BASE + 0x10)
+#define HNF_PSTATE_STAT                        (HNF_BASE + 0x18)
+#define HNF_PSTATE_OFF                 0x0
+#define HNF_PSTATE_SFONLY              0x1
+#define HNF_PSTATE_HALF                        0x2
+#define HNF_PSTATE_FULL                        0x3
+#define HNF_STRIDE                     0x10000
+#define HNF_BASE                       (unsigned long)(0x3A200000)
+void ddr_init(void);
+void sec_init(void);
+void check_reset(void);
+void pcie_init(void);
+
+#endif /* _FT_POMELO_H */
diff --git a/board/phytium/pomelo/ddr.c b/board/phytium/pomelo/ddr.c
new file mode 100644 (file)
index 0000000..c6dbed9
--- /dev/null
@@ -0,0 +1,161 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2021
+ * lixinde         <lixinde@phytium.com.cn>
+ * weichangzheng   <weichangzheng@phytium.com.cn>
+ */
+
+#include <stdio.h>
+#include <linux/arm-smccc.h>
+#include <init.h>
+#include "cpu.h"
+
+struct ddr_spd {
+       /******************* read from spd *****************/
+       u8  dimm_type;  /* 1: RDIMM;2: UDIMM;3: SODIMM;4: LRDIMM */
+       u8  data_width; /* 0: x4; 1: x8; 2: x16 */
+       u8  mirror_type;/* 0: stardard; 1: mirror */
+       u8  ecc_type;   /* 0: no-ecc; 1:ecc */
+       u8  dram_type;  /* 0xB: DDR3; 0xC: DDR4 */
+       u8  rank_num;
+       u8  row_num;
+       u8  col_num;
+
+       u8  bg_num;     /*only DDR4*/
+       u8  bank_num;
+       u16 module_manufacturer_id;
+       u16 taamin;
+       u16 trcdmin;
+
+       u16 trpmin;
+       u16 trasmin;
+       u16 trcmin;
+       u16 tfawmin;
+
+       u16 trrd_smin;  /*only DDR4*/
+       u16 trrd_lmin;  /*only DDR4*/
+       u16 tccd_lmin;  /*only DDR4*/
+       u16 twrmin;
+
+       u16 twtr_smin;  /*only DDR4*/
+       u16 twtr_lmin;  /*only DDR4*/
+       u16 twtrmin;    /*only DDR3*/
+       u16 trrdmin;    /*only DDR3*/
+
+       /******************* RCD control words *****************/
+       u8  f0rc03; /*bit[3:2]:CS               bit[1:0]:CA  */
+       u8  f0rc04; /*bit[3:2]:ODT              bit[1:0]:CKE */
+       u8  f0rc05; /*bit[3:2]:CLK-A side       bit[1:0]:CLK-B side */
+       u8  bc00;
+       u8  bc01;
+       u8  bc02;
+       u8  bc03;
+       u8  bc04;
+
+       u8  bc05;
+       u8  f5bc5x;
+       u8  f5bc6x;
+       /******************* LRDIMM special *****************/
+       u8  vrefdq_pr0;
+       u8  vrefdq_mdram;
+       u8  rtt_mdram_1866;
+       u8  rtt_mdram_2400;
+       u8  rtt_mdram_3200;
+
+       u8  drive_dram;
+       u8  odt_dram_1866;
+       u8  odt_dram_2400;
+       u8  odt_dram_3200;
+       u8  park_dram_1866;
+       u8  park_dram_2400;
+       u8  park_dram_3200;
+       u8  rcd_num;
+} __attribute((aligned(4)));
+
+struct mcu_config {
+       u32 magic;
+       u32 version;
+       u32 size;
+       u8 rev1[4];
+
+       u8 ch_enable;
+       u8 misc1_enable;
+       u8 misc2_enable;
+       u8 force_spd_enable;
+       u8 misc3_enable;
+       u8 train_debug;
+       u8 train_recover;
+       u8 rev2[9];
+
+       struct ddr_spd ddr_spd_info[2];
+} __attribute((aligned(4)));
+
+static void get_mcu_up_info_default(struct mcu_config *pm)
+{
+       pm->magic               = PARAMETER_MCU_MAGIC;
+       pm->version             = PARAM_MCU_VERSION;
+       pm->size                = PARAM_MCU_SIZE;
+       pm->ch_enable           = PARAM_CH_ENABLE;
+       pm->misc1_enable        = PARAM_ECC_ENABLE;
+       pm->force_spd_enable    = PARAM_FORCE_SPD_DISABLE;
+       pm->misc3_enable        = PARAM_MCU_MISC_ENABLE;
+       pm->train_recover       = 0x0;
+}
+
+static u8 init_dimm_param(u8 ch, struct mcu_config *pm)
+{
+       debug("manual config dimm info...\n");
+       pm->ddr_spd_info[ch].dimm_type = UDIMM_TYPE;
+       pm->ddr_spd_info[ch].data_width = DIMM_X8;
+       pm->ddr_spd_info[ch].mirror_type = NO_MIRROR;
+       pm->ddr_spd_info[ch].ecc_type = NO_ECC_TYPE;
+       pm->ddr_spd_info[ch].dram_type = DDR4_TYPE;
+       pm->ddr_spd_info[ch].rank_num = 1;
+       pm->ddr_spd_info[ch].row_num  = 16;
+       pm->ddr_spd_info[ch].col_num = 10;
+       pm->ddr_spd_info[ch].bg_num = 4;
+       pm->ddr_spd_info[ch].bank_num = 4;
+       pm->ddr_spd_info[ch].taamin = 13750;
+       pm->ddr_spd_info[ch].trcdmin = 13750;
+
+       pm->ddr_spd_info[ch].trpmin = 13750;
+       pm->ddr_spd_info[ch].trasmin = 32000;
+       pm->ddr_spd_info[ch].trcmin =  45750;
+       pm->ddr_spd_info[ch].tfawmin = 21000;
+
+       pm->ddr_spd_info[ch].trrd_smin = 3000;
+       pm->ddr_spd_info[ch].trrd_lmin = 4900;
+       pm->ddr_spd_info[ch].tccd_lmin = 5000;
+       pm->ddr_spd_info[ch].twrmin = 15000;
+
+       pm->ddr_spd_info[ch].twtr_smin = 2500;
+       pm->ddr_spd_info[ch].twtr_lmin = 7500;
+
+       return 0;
+}
+
+void get_default_mcu_info(u8 *data)
+{
+       get_mcu_up_info_default((struct mcu_config *)data);
+}
+
+void fix_mcu_info(u8 *data)
+{
+       struct mcu_config *mcu_info = (struct mcu_config *)data;
+
+       for (int ch = 0; ch < 2; ch++)
+               init_dimm_param(ch, mcu_info);
+}
+
+void ddr_init(void)
+{
+       u8 buffer[0x100];
+       struct arm_smccc_res res;
+
+       get_default_mcu_info(buffer);
+       fix_mcu_info(buffer);
+
+       arm_smccc_smc(CPU_INIT_MEM, 0, (u64)buffer, 0, 0, 0, 0, 0, &res);
+       if (res.a0 != 0)
+               panic("DRAM init failed :0x%lx\n", res.a0);
+}
diff --git a/board/phytium/pomelo/pcie.c b/board/phytium/pomelo/pcie.c
new file mode 100644 (file)
index 0000000..698d82f
--- /dev/null
@@ -0,0 +1,60 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2021
+ * lixinde         <lixinde@phytium.com.cn>
+ * weichangzheng   <weichangzheng@phytium.com.cn>
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <linux/arm-smccc.h>
+#include <init.h>
+#include "cpu.h"
+
+struct pcu_ctr {
+       u32 base_config[3];
+       u32 equalization[3];
+       u8 rev[80];
+} __attribute((aligned(4)));
+
+struct pcu_config {
+       u32 magic;
+       u32 version;
+       u32 size;
+       u8 rev1[4];
+       u32 independent_tree;
+       u32 base_cfg;
+       u8 rev2[16];
+       struct pcu_ctr ctr_cfg[2];
+} __attribute((aligned(4)));
+
+struct pcu_config const peu_base_info = {
+       .magic = PARAMETER_PCIE_MAGIC,
+       .version = 0x2,
+       .size = 0x100,
+       .independent_tree = CFG_INDEPENDENT_TREE,
+       .base_cfg = ((PCI_PEU1 | (X8X8 << 1)) << PEU1_OFFSET | (PCI_PEU0 | (X8X8 << 1))),
+       .ctr_cfg[0].base_config[0] = (RC_MODE << PEU_C_OFFSET_MODE) | (GEN3 << PEU_C_OFFSET_SPEED),
+       .ctr_cfg[0].base_config[1] = (RC_MODE << PEU_C_OFFSET_MODE) | (GEN3 << PEU_C_OFFSET_SPEED),
+       .ctr_cfg[0].base_config[2] = (RC_MODE << PEU_C_OFFSET_MODE) | (GEN3 << PEU_C_OFFSET_SPEED),
+       .ctr_cfg[1].base_config[0] = (RC_MODE << PEU_C_OFFSET_MODE) | (GEN3 << PEU_C_OFFSET_SPEED),
+       .ctr_cfg[1].base_config[1] = (RC_MODE << PEU_C_OFFSET_MODE) | (GEN3 << PEU_C_OFFSET_SPEED),
+       .ctr_cfg[1].base_config[2] = (RC_MODE << PEU_C_OFFSET_MODE) | (GEN3 << PEU_C_OFFSET_SPEED),
+       .ctr_cfg[0].equalization[0] = 0x7,
+       .ctr_cfg[0].equalization[1] = 0x7,
+       .ctr_cfg[0].equalization[2] = 0x7,
+       .ctr_cfg[1].equalization[0] = 0x7,
+       .ctr_cfg[1].equalization[1] = 0x7,
+       .ctr_cfg[1].equalization[2] = 0x7,
+};
+
+void pcie_init(void)
+{
+       u8 buffer[0x100];
+       struct arm_smccc_res res;
+
+       memcpy(buffer, &peu_base_info, sizeof(peu_base_info));
+       arm_smccc_smc(CPU_INIT_PCIE, 0, (u64)buffer, 0, 0, 0, 0, 0, &res);
+       if (res.a0 != 0)
+               panic("PCIE init failed :0x%lx\n", res.a0);
+}
diff --git a/board/phytium/pomelo/pll.c b/board/phytium/pomelo/pll.c
new file mode 100644 (file)
index 0000000..a66ffdd
--- /dev/null
@@ -0,0 +1,73 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2021
+ * lixinde         <lixinde@phytium.com.cn>
+ * weichangzheng   <weichangzheng@phytium.com.cn>
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <asm/io.h>
+#include <linux/arm-smccc.h>
+#include <init.h>
+#include "cpu.h"
+
+struct pll_config {
+       u32 magic;
+       u32 version;
+       u32 size;
+       u8 rev1[4];
+       u32 core_pll;
+       u32 res1;
+       u32 lmu_pll;
+       u32 res2;
+       u32 res3;
+       u32 res4;
+       u32 res5;
+} __attribute((aligned(4)));
+
+struct pll_config const pll_base_info = {
+       .magic = PARAMETER_PLL_MAGIC,
+       .version = 0x1,
+       .size = 0x30,
+       .core_pll = 2300,       /*MHz*/
+       .lmu_pll = 667,         /*MHz*/
+};
+
+u32 get_reset_source(void)
+{
+       struct arm_smccc_res res;
+
+       arm_smccc_smc(CPU_GET_RST_SOURCE, 0, 0, 0, 0, 0, 0, 0, &res);
+       return res.a0;
+}
+
+void pll_init(void)
+{
+       u8 buffer[0x100];
+       struct arm_smccc_res res;
+
+       memcpy(buffer, &pll_base_info, sizeof(pll_base_info));
+       arm_smccc_smc(CPU_INIT_PLL, 0, (u64)buffer, 0, 0, 0, 0, 0, &res);
+       if (res.a0 != 0)
+               panic("PLL init failed :0x%lx\n", res.a0);
+}
+
+void check_reset(void)
+{
+       u32 rst;
+
+       rst = get_reset_source();
+
+       switch (rst) {
+       case CPU_RESET_POWER_ON:
+               pll_init();
+               break;
+       case CPU_RESET_PLL:
+               break;
+       case CPU_RESET_WATCH_DOG:
+               break;
+       default:
+               panic("other reset source\n");
+       }
+}
diff --git a/board/phytium/pomelo/pomelo.c b/board/phytium/pomelo/pomelo.c
new file mode 100644 (file)
index 0000000..4fbe1e5
--- /dev/null
@@ -0,0 +1,118 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2021
+ * lixinde         <lixinde@phytium.com.cn>
+ * weichangzheng   <weichangzheng@phytium.com.cn>
+ */
+
+#include <stdio.h>
+#include <command.h>
+#include <init.h>
+#include <asm/armv8/mmu.h>
+#include <asm/io.h>
+#include <linux/arm-smccc.h>
+#include <scsi.h>
+#include <init.h>
+#include <asm/u-boot.h>
+#include "cpu.h"
+
+DECLARE_GLOBAL_DATA_PTR;
+
+int dram_init(void)
+{
+       debug("Phytium ddr init\n");
+       ddr_init();
+
+       gd->mem_clk = 0;
+       gd->ram_size = get_ram_size((void *)CONFIG_SYS_SDRAM_BASE, 0x7b000000);
+
+       sec_init();
+       debug("PBF relocate done\n");
+
+       return 0;
+}
+
+int board_init(void)
+{
+       return 0;
+}
+
+void reset_cpu(void)
+{
+       struct arm_smccc_res res;
+
+       debug("run in reset cpu\n");
+       arm_smccc_smc(0x84000009, 0, 0, 0, 0, 0, 0, 0, &res);
+       if (res.a0 != 0)
+               panic("reset cpu error, %lx\n", res.a0);
+}
+
+int mach_cpu_init(void)
+{
+       check_reset();
+       return 0;
+}
+
+int board_early_init_f(void)
+{
+       pcie_init();
+       return 0;
+}
+
+static struct mm_region pomelo_mem_map[] = {
+       {
+               .virt = 0x0UL,
+               .phys = 0x0UL,
+               .size = 0x80000000UL,
+               .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
+                                PTE_BLOCK_NON_SHARE |
+                                PTE_BLOCK_PXN |
+                                PTE_BLOCK_UXN
+       },
+       {
+               .virt = 0x80000000UL,
+               .phys = 0x80000000UL,
+               .size = 0x7b000000UL,
+               .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
+                                PTE_BLOCK_NS |
+                                PTE_BLOCK_INNER_SHARE
+       },
+       {
+               0,
+       }
+};
+
+struct mm_region *mem_map = pomelo_mem_map;
+
+int __asm_flush_l3_dcache(void)
+{
+       int i, pstate;
+
+       for (i = 0; i < HNF_COUNT; i++)
+               writeq(HNF_PSTATE_SFONLY, HNF_PSTATE_REQ + i * HNF_STRIDE);
+       for (i = 0; i < HNF_COUNT; i++) {
+               do {
+                       pstate = readq(HNF_PSTATE_STAT + i * HNF_STRIDE);
+               } while ((pstate & 0xf) != (HNF_PSTATE_SFONLY << 2));
+       }
+
+       for (i = 0; i < HNF_COUNT; i++)
+               writeq(HNF_PSTATE_FULL, HNF_PSTATE_REQ + i * HNF_STRIDE);
+
+       return 0;
+}
+
+int last_stage_init(void)
+{
+       int ret;
+
+       /* pci e */
+       pci_init();
+       /* scsi scan */
+       ret = scsi_scan(true);
+       if (ret) {
+               printf("scsi scan failed\n");
+               return CMD_RET_FAILURE;
+       }
+       return ret;
+}
diff --git a/board/phytium/pomelo/sec.c b/board/phytium/pomelo/sec.c
new file mode 100644 (file)
index 0000000..aeb3983
--- /dev/null
@@ -0,0 +1,37 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2021
+ * lixinde         <lixinde@phytium.com.cn>
+ * weichangzheng   <weichangzheng@phytium.com.cn>
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <linux/arm-smccc.h>
+#include <init.h>
+#include "cpu.h"
+
+struct common_config {
+       u32 magic;
+       u32 version;
+       u32 size;
+       u8 rev1[4];
+       u64  core_bit_map;
+} __attribute((aligned(4)));
+
+struct common_config const common_base_info = {
+       .magic = PARAMETER_COMMON_MAGIC,
+       .version = 0x1,
+       .core_bit_map = 0x3333,
+};
+
+void sec_init(void)
+{
+       u8 buffer[0x100];
+       struct arm_smccc_res res;
+
+       memcpy(buffer, &common_base_info, sizeof(common_base_info));
+       arm_smccc_smc(CPU_INIT_SEC_SVC, 0, (u64)buffer, 0, 0, 0, 0, 0, &res);
+       if (res.a0 != 0)
+               panic("SEC init failed :0x%lx\n", res.a0);
+}
index 5b47d3484503afdf0e7fa10216249269c4c586cf..d6b8cacef553d744ad071c2de5c9eafaaf682413 100644 (file)
@@ -1,5 +1,8 @@
 if TARGET_PM9263
 
+config LCD_IN_PSRAM
+       def_bool y
+
 config SYS_BOARD
        default "pm9263"
 
index 69fe0f072344276f421d9dbf6ea67a6fb567a5c5..77974133ccf3a9da83e31566436a96e59934f563 100644 (file)
@@ -1,5 +1,8 @@
 if TARGET_CORVUS
 
+config AT91_LED
+       def_bool y
+
 config SYS_BOARD
        default "corvus"
 
index 888a958491908e3c0e1ec6046fc2120b13ef472c..847d596646e3312328e0d012037eb92c4872f672 100644 (file)
@@ -447,6 +447,8 @@ int misc_init_r(void)
                env_set(expansion_config.env_var, expansion_config.env_setting);
 
        twl4030_power_init();
+       twl4030_power_mmc_init(0);
+
        switch (get_board_revision()) {
        case REVISION_XM_AB:
                twl4030_led_init(TWL4030_LED_LEDEN_LEDBON);
@@ -499,17 +501,3 @@ void set_muxconf_regs(void)
 {
        MUX_BEAGLE();
 }
-
-#if defined(CONFIG_MMC)
-int board_mmc_init(struct bd_info *bis)
-{
-       return omap_mmc_init(0, 0, 0, -1, -1);
-}
-#endif
-
-#if defined(CONFIG_MMC)
-void board_mmc_power_init(void)
-{
-       twl4030_power_mmc_init(0);
-}
-#endif
index 0068cb879263f467e1f4eae6745aa10eea7b474d..0769189dcf215a84a701292cb17ef2126fb696d7 100644 (file)
@@ -171,6 +171,7 @@ static int xilinx_read_eeprom_fru(struct udevice *dev, char *name,
 {
        int i, ret, eeprom_size;
        u8 *fru_content;
+       u8 id = 0;
 
        /* FIXME this is shortcut - if eeprom type is wrong it will fail */
        eeprom_size = i2c_eeprom_size(dev);
@@ -218,6 +219,14 @@ static int xilinx_read_eeprom_fru(struct udevice *dev, char *name,
                sizeof(desc->revision));
        strncpy(desc->serial, (char *)fru_data.brd.serial_number,
                sizeof(desc->serial));
+
+       while (id < EEPROM_HDR_NO_OF_MAC_ADDR) {
+               if (is_valid_ethaddr((const u8 *)fru_data.mac.macid[id]))
+                       memcpy(&desc->mac_addr[id],
+                              (char *)fru_data.mac.macid[id], ETH_ALEN);
+               id++;
+       }
+
        desc->header = EEPROM_HEADER_MAGIC;
 
 end:
@@ -416,7 +425,7 @@ int board_late_init_xilinx(void)
 
                        for (i = 0; i < EEPROM_HDR_NO_OF_MAC_ADDR; i++) {
                                if (!desc->mac_addr[i])
-                                       continue;
+                                       break;
 
                                if (is_valid_ethaddr((const u8 *)desc->mac_addr[i]))
                                        ret |= eth_env_set_enetaddr_by_index("eth",
index e7284709ddea161067e90a9b0bf8cdb085f4b681..59f6b722cf12033a27530f8201ae089748eea179 100644 (file)
@@ -6,6 +6,7 @@
 
 #ifndef __FRU_H
 #define __FRU_H
+#include <net.h>
 
 struct fru_common_hdr {
        u8 version;
@@ -19,6 +20,7 @@ struct fru_common_hdr {
 };
 
 #define FRU_BOARD_MAX_LEN      32
+#define FRU_MAX_NO_OF_MAC_ADDR 4
 
 struct __packed fru_board_info_header {
        u8 ver;
@@ -56,9 +58,24 @@ struct fru_board_data {
        u8 uuid[FRU_BOARD_MAX_LEN];
 };
 
+struct fru_multirec_hdr {
+       u8 rec_type;
+       u8 type;
+       u8 len;
+       u8 csum;
+       u8 hdr_csum;
+};
+
+struct fru_multirec_mac {
+       u8 xlnx_iana_id[3];
+       u8 ver;
+       u8 macid[FRU_MAX_NO_OF_MAC_ADDR][ETH_ALEN];
+};
+
 struct fru_table {
        struct fru_common_hdr hdr;
        struct fru_board_data brd;
+       struct fru_multirec_mac mac;
        bool captured;
 };
 
@@ -69,6 +86,10 @@ struct fru_table {
 #define FRU_LANG_CODE_ENGLISH          0
 #define FRU_LANG_CODE_ENGLISH_1                25
 #define FRU_TYPELEN_EOF                        0xC1
+#define FRU_MULTIREC_TYPE_OEM          0xD2
+#define FRU_MULTIREC_MAC_OFFSET                4
+#define FRU_LAST_REC                   BIT(7)
+#define FRU_DUT_MACID                  0x31
 
 /* This should be minimum of fields */
 #define FRU_BOARD_AREA_TOTAL_FIELDS    5
index 6ed63bb7ee111103bc34f620425db1d1e4b57af3..49846ae3d660c213926b3ce2660be6e9b9c87cb6 100644 (file)
@@ -9,6 +9,7 @@
 #include <fdtdec.h>
 #include <log.h>
 #include <malloc.h>
+#include <net.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 
@@ -39,12 +40,20 @@ static int fru_check_language(u8 code)
 u8 fru_checksum(u8 *addr, u8 len)
 {
        u8 checksum = 0;
+       u8 cnt = len;
 
        while (len--) {
+               if (*addr == 0)
+                       cnt--;
+
                checksum += *addr;
                addr++;
        }
 
+       /* If all data bytes are 0's return error */
+       if (!cnt)
+               return EINVAL;
+
        return checksum;
 }
 
@@ -210,10 +219,43 @@ static int fru_parse_board(unsigned long addr)
        return 0;
 }
 
+static int fru_parse_multirec(unsigned long addr)
+{
+       struct fru_multirec_hdr mrc;
+       u8 checksum = 0;
+       u8 hdr_len = sizeof(struct fru_multirec_hdr);
+       int mac_len = 0;
+
+       debug("%s: multirec addr %lx\n", __func__, addr);
+
+       do {
+               memcpy(&mrc.rec_type, (void *)addr, hdr_len);
+
+               checksum = fru_checksum((u8 *)addr, hdr_len);
+               if (checksum) {
+                       debug("%s header CRC error\n", __func__);
+                       return -EINVAL;
+               }
+
+               if (mrc.rec_type == FRU_MULTIREC_TYPE_OEM) {
+                       struct fru_multirec_mac *mac = (void *)addr + hdr_len;
+
+                       if (mac->ver == FRU_DUT_MACID) {
+                               mac_len = mrc.len - FRU_MULTIREC_MAC_OFFSET;
+                               memcpy(&fru_data.mac.macid, mac->macid, mac_len);
+                       }
+               }
+               addr += mrc.len + hdr_len;
+       } while (!(mrc.type & FRU_LAST_REC));
+
+       return 0;
+}
+
 int fru_capture(unsigned long addr)
 {
        struct fru_common_hdr *hdr;
        u8 checksum = 0;
+       unsigned long multirec_addr = addr;
 
        checksum = fru_checksum((u8 *)addr, sizeof(struct fru_common_hdr));
        if (checksum) {
@@ -222,7 +264,7 @@ int fru_capture(unsigned long addr)
        }
 
        hdr = (struct fru_common_hdr *)addr;
-
+       memset((void *)&fru_data, 0, sizeof(fru_data));
        memcpy((void *)&fru_data, (void *)hdr,
               sizeof(struct fru_common_hdr));
 
@@ -235,6 +277,11 @@ int fru_capture(unsigned long addr)
 
        env_set_hex("fru_addr", addr);
 
+       if (hdr->off_multirec) {
+               multirec_addr += fru_cal_area_len(hdr->off_multirec);
+               fru_parse_multirec(multirec_addr);
+       }
+
        return 0;
 }
 
index a427ac94a1703ee3478787a2df5a40ea60888a77..f58ecd1590c91d99c383cd94b5b004e741b3bcd9 100644 (file)
@@ -14,6 +14,8 @@
 #include <config.h>
 #include <env.h>
 #include <init.h>
+#include <image.h>
+#include <lmb.h>
 #include <log.h>
 #include <asm/global_data.h>
 #include <dm/lists.h>
@@ -36,6 +38,25 @@ int dram_init(void)
        return 0;
 };
 
+ulong board_get_usable_ram_top(ulong total_size)
+{
+       phys_size_t size;
+       phys_addr_t reg;
+       struct lmb lmb;
+
+       /* found enough not-reserved memory to relocated U-Boot */
+       lmb_init(&lmb);
+       lmb_add(&lmb, gd->ram_base, gd->ram_size);
+       boot_fdt_add_mem_rsv_regions(&lmb, (void *)gd->fdt_blob);
+       size = ALIGN(CONFIG_SYS_MALLOC_LEN + total_size, MMU_SECTION_SIZE);
+       reg = lmb_alloc(&lmb, size, MMU_SECTION_SIZE);
+
+       if (!reg)
+               reg = gd->ram_top - size;
+
+       return reg + size;
+}
+
 int board_late_init(void)
 {
        ulong max_size;
diff --git a/board/xilinx/zynqmp/zynqmp-zcu106-rev1.0/psu_init_gpl.c b/board/xilinx/zynqmp/zynqmp-zcu106-rev1.0/psu_init_gpl.c
new file mode 100644 (file)
index 0000000..2ac4e03
--- /dev/null
@@ -0,0 +1,842 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * (c) Copyright 2015 Xilinx, Inc. All rights reserved.
+ */
+
+#include <asm/arch/psu_init_gpl.h>
+#include <xil_io.h>
+
+static unsigned long psu_pll_init_data(void)
+{
+       psu_mask_write(0xFF5E0034, 0xFE7FEDEFU, 0x7E4E2C62U);
+       psu_mask_write(0xFF5E0030, 0x00717F00U, 0x00014600U);
+       psu_mask_write(0xFF5E0030, 0x00000008U, 0x00000008U);
+       psu_mask_write(0xFF5E0030, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFF5E0030, 0x00000001U, 0x00000000U);
+       mask_poll(0xFF5E0040, 0x00000002U);
+       psu_mask_write(0xFF5E0030, 0x00000008U, 0x00000000U);
+       psu_mask_write(0xFF5E0048, 0x00003F00U, 0x00000200U);
+       psu_mask_write(0xFF5E0024, 0xFE7FEDEFU, 0x7E4B0C82U);
+       psu_mask_write(0xFF5E0020, 0x00717F00U, 0x00015A00U);
+       psu_mask_write(0xFF5E0020, 0x00000008U, 0x00000008U);
+       psu_mask_write(0xFF5E0020, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFF5E0020, 0x00000001U, 0x00000000U);
+       mask_poll(0xFF5E0040, 0x00000001U);
+       psu_mask_write(0xFF5E0020, 0x00000008U, 0x00000000U);
+       psu_mask_write(0xFF5E0044, 0x00003F00U, 0x00000300U);
+       psu_mask_write(0xFD1A0024, 0xFE7FEDEFU, 0x7E4B0C62U);
+       psu_mask_write(0xFD1A0020, 0x00717F00U, 0x00014800U);
+       psu_mask_write(0xFD1A0020, 0x00000008U, 0x00000008U);
+       psu_mask_write(0xFD1A0020, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFD1A0020, 0x00000001U, 0x00000000U);
+       mask_poll(0xFD1A0044, 0x00000001U);
+       psu_mask_write(0xFD1A0020, 0x00000008U, 0x00000000U);
+       psu_mask_write(0xFD1A0048, 0x00003F00U, 0x00000300U);
+       psu_mask_write(0xFD1A0030, 0xFE7FEDEFU, 0x7E4B0C62U);
+       psu_mask_write(0xFD1A002C, 0x00717F00U, 0x00014000U);
+       psu_mask_write(0xFD1A002C, 0x00000008U, 0x00000008U);
+       psu_mask_write(0xFD1A002C, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFD1A002C, 0x00000001U, 0x00000000U);
+       mask_poll(0xFD1A0044, 0x00000002U);
+       psu_mask_write(0xFD1A002C, 0x00000008U, 0x00000000U);
+       psu_mask_write(0xFD1A004C, 0x00003F00U, 0x00000200U);
+       psu_mask_write(0xFD1A003C, 0xFE7FEDEFU, 0x7E4B0C82U);
+       psu_mask_write(0xFD1A0038, 0x00717F00U, 0x00015900U);
+       psu_mask_write(0xFD1A0038, 0x00000008U, 0x00000008U);
+       psu_mask_write(0xFD1A0038, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFD1A0038, 0x00000001U, 0x00000000U);
+       mask_poll(0xFD1A0044, 0x00000004U);
+       psu_mask_write(0xFD1A0038, 0x00000008U, 0x00000000U);
+       psu_mask_write(0xFD1A0050, 0x00003F00U, 0x00000300U);
+       psu_mask_write(0xFD1A0040, 0x8000FFFFU, 0x80008E69U);
+
+       return 1;
+}
+
+static unsigned long psu_clock_init_data(void)
+{
+       psu_mask_write(0xFF5E005C, 0x063F3F07U, 0x06010C00U);
+       psu_mask_write(0xFF5E0060, 0x023F3F07U, 0x02010600U);
+       psu_mask_write(0xFF5E004C, 0x023F3F07U, 0x02031900U);
+       psu_mask_write(0xFF5E0068, 0x013F3F07U, 0x01010500U);
+       psu_mask_write(0xFF5E0070, 0x013F3F07U, 0x01010502U);
+       psu_mask_write(0xFF18030C, 0x00020000U, 0x00000000U);
+       psu_mask_write(0xFF5E0074, 0x013F3F07U, 0x01010F00U);
+       psu_mask_write(0xFF5E0078, 0x013F3F07U, 0x01010F00U);
+       psu_mask_write(0xFF5E0120, 0x013F3F07U, 0x01010F00U);
+       psu_mask_write(0xFF5E0124, 0x013F3F07U, 0x01010F00U);
+       psu_mask_write(0xFF5E0088, 0x013F3F07U, 0x01010F00U);
+       psu_mask_write(0xFF5E0090, 0x01003F07U, 0x01000302U);
+       psu_mask_write(0xFF5E009C, 0x01003F07U, 0x01000602U);
+       psu_mask_write(0xFF5E00A4, 0x01003F07U, 0x01000602U);
+       psu_mask_write(0xFF5E00A8, 0x01003F07U, 0x01000302U);
+       psu_mask_write(0xFF5E00AC, 0x01003F07U, 0x01000F02U);
+       psu_mask_write(0xFF5E00B0, 0x01003F07U, 0x01000602U);
+       psu_mask_write(0xFF5E00B8, 0x01003F07U, 0x01000302U);
+       psu_mask_write(0xFF5E00C0, 0x013F3F07U, 0x01010A02U);
+       psu_mask_write(0xFF5E00C4, 0x013F3F07U, 0x01010F00U);
+       psu_mask_write(0xFF5E00C8, 0x013F3F07U, 0x01010A02U);
+       psu_mask_write(0xFF5E00CC, 0x013F3F07U, 0x01010A02U);
+       psu_mask_write(0xFF5E0108, 0x013F3F07U, 0x01011D02U);
+       psu_mask_write(0xFF5E0104, 0x00000007U, 0x00000000U);
+       psu_mask_write(0xFF5E0128, 0x01003F07U, 0x01000F00U);
+       psu_mask_write(0xFD1A00A0, 0x01003F07U, 0x01000200U);
+       psu_mask_write(0xFD1A0070, 0x013F3F07U, 0x01010203U);
+       psu_mask_write(0xFD1A0074, 0x013F3F07U, 0x01013C00U);
+       psu_mask_write(0xFD1A007C, 0x013F3F07U, 0x01011303U);
+       psu_mask_write(0xFD1A0060, 0x03003F07U, 0x03000100U);
+       psu_mask_write(0xFD1A0068, 0x01003F07U, 0x01000200U);
+       psu_mask_write(0xFD1A0080, 0x00003F07U, 0x00000200U);
+       psu_mask_write(0xFD1A0084, 0x07003F07U, 0x07000100U);
+       psu_mask_write(0xFD1A00B8, 0x01003F07U, 0x01000200U);
+       psu_mask_write(0xFD1A00BC, 0x01003F07U, 0x01000200U);
+       psu_mask_write(0xFD1A00C0, 0x01003F07U, 0x01000302U);
+       psu_mask_write(0xFD1A00C4, 0x01003F07U, 0x01000502U);
+       psu_mask_write(0xFD1A00F8, 0x00003F07U, 0x00000200U);
+       psu_mask_write(0xFF180380, 0x000000FFU, 0x00000000U);
+       psu_mask_write(0xFD610100, 0x00000001U, 0x00000000U);
+       psu_mask_write(0xFF180300, 0x00000001U, 0x00000000U);
+       psu_mask_write(0xFF410050, 0x00000001U, 0x00000000U);
+
+       return 1;
+}
+
+static unsigned long psu_ddr_init_data(void)
+{
+       psu_mask_write(0xFD1A0108, 0x00000008U, 0x00000008U);
+       psu_mask_write(0xFD070000, 0xE30FBE3DU, 0x81040010U);
+       psu_mask_write(0xFD070010, 0x8000F03FU, 0x00000030U);
+       psu_mask_write(0xFD070020, 0x000003F3U, 0x00000200U);
+       psu_mask_write(0xFD070024, 0xFFFFFFFFU, 0x00800000U);
+       psu_mask_write(0xFD070030, 0x0000007FU, 0x00000000U);
+       psu_mask_write(0xFD070034, 0x00FFFF1FU, 0x00408410U);
+       psu_mask_write(0xFD070050, 0x00F1F1F4U, 0x00210000U);
+       psu_mask_write(0xFD070054, 0x0FFF0FFFU, 0x00000000U);
+       psu_mask_write(0xFD070060, 0x00000073U, 0x00000001U);
+       psu_mask_write(0xFD070064, 0x0FFF83FFU, 0x008180BBU);
+       psu_mask_write(0xFD070070, 0x00000017U, 0x00000010U);
+       psu_mask_write(0xFD070074, 0x00000003U, 0x00000000U);
+       psu_mask_write(0xFD0700C4, 0x3F000391U, 0x10000200U);
+       psu_mask_write(0xFD0700C8, 0x01FF1F3FU, 0x0040051FU);
+       psu_mask_write(0xFD0700D0, 0xC3FF0FFFU, 0x00020106U);
+       psu_mask_write(0xFD0700D4, 0x01FF7F0FU, 0x00020000U);
+       psu_mask_write(0xFD0700D8, 0x0000FF0FU, 0x00002305U);
+       psu_mask_write(0xFD0700DC, 0xFFFFFFFFU, 0x07300301U);
+       psu_mask_write(0xFD0700E0, 0xFFFFFFFFU, 0x00200200U);
+       psu_mask_write(0xFD0700E4, 0x00FF03FFU, 0x00210004U);
+       psu_mask_write(0xFD0700E8, 0xFFFFFFFFU, 0x000006C0U);
+       psu_mask_write(0xFD0700EC, 0xFFFF0000U, 0x08190000U);
+       psu_mask_write(0xFD0700F0, 0x0000003FU, 0x00000010U);
+       psu_mask_write(0xFD0700F4, 0x00000FFFU, 0x0000066FU);
+       psu_mask_write(0xFD070100, 0x7F3F7F3FU, 0x11102412U);
+       psu_mask_write(0xFD070104, 0x001F1F7FU, 0x0004041AU);
+       psu_mask_write(0xFD070108, 0x3F3F3F3FU, 0x0708060EU);
+       psu_mask_write(0xFD07010C, 0x3FF3F3FFU, 0x0050400CU);
+       psu_mask_write(0xFD070110, 0x1F0F0F1FU, 0x08030409U);
+       psu_mask_write(0xFD070114, 0x0F0F3F1FU, 0x06060403U);
+       psu_mask_write(0xFD070118, 0x0F0F000FU, 0x01010004U);
+       psu_mask_write(0xFD07011C, 0x00000F0FU, 0x00000606U);
+       psu_mask_write(0xFD070120, 0x7F7F7F7FU, 0x04040D07U);
+       psu_mask_write(0xFD070124, 0x40070F3FU, 0x0002030BU);
+       psu_mask_write(0xFD07012C, 0x7F1F031FU, 0x1207010EU);
+       psu_mask_write(0xFD070130, 0x00030F1FU, 0x00020608U);
+       psu_mask_write(0xFD070180, 0xF7FF03FFU, 0x81000040U);
+       psu_mask_write(0xFD070184, 0x3FFFFFFFU, 0x020196DCU);
+       psu_mask_write(0xFD070190, 0x1FBFBF3FU, 0x048B820BU);
+       psu_mask_write(0xFD070194, 0xF31F0F0FU, 0x00030304U);
+       psu_mask_write(0xFD070198, 0x0FF1F1F1U, 0x07000101U);
+       psu_mask_write(0xFD07019C, 0x000000F1U, 0x00000021U);
+       psu_mask_write(0xFD0701A0, 0xC3FF03FFU, 0x00400003U);
+       psu_mask_write(0xFD0701A4, 0x00FF00FFU, 0x00C800FFU);
+       psu_mask_write(0xFD0701B0, 0x00000007U, 0x00000000U);
+       psu_mask_write(0xFD0701B4, 0x00003F3FU, 0x00000909U);
+       psu_mask_write(0xFD0701C0, 0x00000007U, 0x00000001U);
+       psu_mask_write(0XFD070200, 0x0000001FU, 0x0000001FU);
+       psu_mask_write(0XFD070204, 0x001F1F1FU, 0x001F0909U);
+       psu_mask_write(0XFD070208, 0x0F0F0F0FU, 0x01010100U);
+       psu_mask_write(0XFD07020C, 0x0F0F0F0FU, 0x01010101U);
+       psu_mask_write(0XFD070210, 0x00000F0FU, 0x00000F0FU);
+       psu_mask_write(0XFD070214, 0x0F0F0F0FU, 0x070F0707U);
+       psu_mask_write(0XFD070218, 0x8F0F0F0FU, 0x07070707U);
+       psu_mask_write(0XFD07021C, 0x00000F0FU, 0x00000F0FU);
+       psu_mask_write(0XFD070220, 0x00001F1FU, 0x00001F01U);
+       psu_mask_write(0XFD070224, 0x0F0F0F0FU, 0x07070707U);
+       psu_mask_write(0XFD070228, 0x0F0F0F0FU, 0x07070707U);
+       psu_mask_write(0XFD07022C, 0x0000000FU, 0x00000007U);
+       psu_mask_write(0xFD070240, 0x0F1F0F7CU, 0x06000600U);
+       psu_mask_write(0xFD070244, 0x00003333U, 0x00000001U);
+       psu_mask_write(0xFD070250, 0x7FFF3F07U, 0x01002001U);
+       psu_mask_write(0xFD070264, 0xFF00FFFFU, 0x08000040U);
+       psu_mask_write(0xFD07026C, 0xFF00FFFFU, 0x08000040U);
+       psu_mask_write(0xFD070280, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD070284, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD070288, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD07028C, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD070290, 0x0000FFFFU, 0x00000000U);
+       psu_mask_write(0xFD070294, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFD070300, 0x00000011U, 0x00000000U);
+       psu_mask_write(0xFD07030C, 0x80000033U, 0x00000000U);
+       psu_mask_write(0xFD070320, 0x00000001U, 0x00000000U);
+       psu_mask_write(0xFD070400, 0x00000111U, 0x00000001U);
+       psu_mask_write(0xFD070404, 0x000073FFU, 0x0000200FU);
+       psu_mask_write(0xFD070408, 0x000073FFU, 0x0000200FU);
+       psu_mask_write(0xFD070490, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFD070494, 0x0033000FU, 0x0020000BU);
+       psu_mask_write(0xFD070498, 0x07FF07FFU, 0x00000000U);
+       psu_mask_write(0xFD0704B4, 0x000073FFU, 0x0000200FU);
+       psu_mask_write(0xFD0704B8, 0x000073FFU, 0x0000200FU);
+       psu_mask_write(0xFD070540, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFD070544, 0x03330F0FU, 0x02000B03U);
+       psu_mask_write(0xFD070548, 0x07FF07FFU, 0x00000000U);
+       psu_mask_write(0xFD070564, 0x000073FFU, 0x0000200FU);
+       psu_mask_write(0xFD070568, 0x000073FFU, 0x0000200FU);
+       psu_mask_write(0xFD0705F0, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFD0705F4, 0x03330F0FU, 0x02000B03U);
+       psu_mask_write(0xFD0705F8, 0x07FF07FFU, 0x00000000U);
+       psu_mask_write(0xFD070614, 0x000073FFU, 0x0000200FU);
+       psu_mask_write(0xFD070618, 0x000073FFU, 0x0000200FU);
+       psu_mask_write(0xFD0706A0, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFD0706A4, 0x0033000FU, 0x00100003U);
+       psu_mask_write(0xFD0706A8, 0x07FF07FFU, 0x0000004FU);
+       psu_mask_write(0xFD0706AC, 0x0033000FU, 0x00100003U);
+       psu_mask_write(0xFD0706B0, 0x000007FFU, 0x0000004FU);
+       psu_mask_write(0xFD0706C4, 0x000073FFU, 0x0000200FU);
+       psu_mask_write(0xFD0706C8, 0x000073FFU, 0x0000200FU);
+       psu_mask_write(0xFD070750, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFD070754, 0x0033000FU, 0x00100003U);
+       psu_mask_write(0xFD070758, 0x07FF07FFU, 0x0000004FU);
+       psu_mask_write(0xFD07075C, 0x0033000FU, 0x00100003U);
+       psu_mask_write(0xFD070760, 0x000007FFU, 0x0000004FU);
+       psu_mask_write(0xFD070774, 0x000073FFU, 0x0000200FU);
+       psu_mask_write(0xFD070778, 0x000073FFU, 0x0000200FU);
+       psu_mask_write(0xFD070800, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFD070804, 0x0033000FU, 0x00100003U);
+       psu_mask_write(0xFD070808, 0x07FF07FFU, 0x0000004FU);
+       psu_mask_write(0xFD07080C, 0x0033000FU, 0x00100003U);
+       psu_mask_write(0xFD070810, 0x000007FFU, 0x0000004FU);
+       psu_mask_write(0xFD070F04, 0x000001FFU, 0x00000000U);
+       psu_mask_write(0xFD070F08, 0x000000FFU, 0x00000000U);
+       psu_mask_write(0xFD070F0C, 0x000001FFU, 0x00000010U);
+       psu_mask_write(0xFD070F10, 0x000000FFU, 0x0000000FU);
+       psu_mask_write(0xFD072190, 0x1FBFBF3FU, 0x07828002U);
+       psu_mask_write(0xFD1A0108, 0x00000008U, 0x00000000U);
+       psu_mask_write(0xFD080010, 0xFFFFFFFFU, 0x07001E00U);
+       psu_mask_write(0xFD080018, 0xFFFFFFFFU, 0x00F10010U);
+       psu_mask_write(0xFD08001C, 0xFFFFFFFFU, 0x55AA5480U);
+       psu_mask_write(0xFD080024, 0xFFFFFFFFU, 0x010100F4U);
+       psu_mask_write(0xFD080040, 0xFFFFFFFFU, 0x42C21590U);
+       psu_mask_write(0xFD080044, 0xFFFFFFFFU, 0xD05112C0U);
+       psu_mask_write(0xFD080068, 0xFFFFFFFFU, 0x01100000U);
+       psu_mask_write(0xFD080090, 0xFFFFFFFFU, 0x02A04161U);
+       psu_mask_write(0XFD0800C0, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD0800C4, 0xFFFFFFFFU, 0x000000E5U);
+       psu_mask_write(0xFD080100, 0xFFFFFFFFU, 0x0800040CU);
+       psu_mask_write(0xFD080110, 0xFFFFFFFFU, 0x07240F08U);
+       psu_mask_write(0xFD080114, 0xFFFFFFFFU, 0x28200008U);
+       psu_mask_write(0xFD080118, 0xFFFFFFFFU, 0x000F0300U);
+       psu_mask_write(0xFD08011C, 0xFFFFFFFFU, 0x83000800U);
+       psu_mask_write(0xFD080120, 0xFFFFFFFFU, 0x01762B07U);
+       psu_mask_write(0xFD080124, 0xFFFFFFFFU, 0x00330F08U);
+       psu_mask_write(0xFD080128, 0xFFFFFFFFU, 0x00000E0FU);
+       psu_mask_write(0xFD080140, 0xFFFFFFFFU, 0x08400020U);
+       psu_mask_write(0xFD080144, 0xFFFFFFFFU, 0x00000C80U);
+       psu_mask_write(0xFD080150, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD080154, 0xFFFFFFFFU, 0x00000300U);
+       psu_mask_write(0xFD080180, 0xFFFFFFFFU, 0x00000630U);
+       psu_mask_write(0xFD080184, 0xFFFFFFFFU, 0x00000301U);
+       psu_mask_write(0xFD080188, 0xFFFFFFFFU, 0x00000020U);
+       psu_mask_write(0xFD08018C, 0xFFFFFFFFU, 0x00000200U);
+       psu_mask_write(0xFD080190, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD080194, 0xFFFFFFFFU, 0x000006C0U);
+       psu_mask_write(0xFD080198, 0xFFFFFFFFU, 0x00000819U);
+       psu_mask_write(0xFD0801AC, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD0801B0, 0xFFFFFFFFU, 0x0000004DU);
+       psu_mask_write(0xFD0801B4, 0xFFFFFFFFU, 0x00000008U);
+       psu_mask_write(0xFD0801B8, 0xFFFFFFFFU, 0x0000004DU);
+       psu_mask_write(0xFD0801D8, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD080200, 0xFFFFFFFFU, 0x800091C7U);
+       psu_mask_write(0xFD080204, 0xFFFFFFFFU, 0x00010236U);
+       psu_mask_write(0xFD080240, 0xFFFFFFFFU, 0x00141054U);
+       psu_mask_write(0xFD080250, 0xFFFFFFFFU, 0x00088000U);
+       psu_mask_write(0xFD080414, 0xFFFFFFFFU, 0x12341000U);
+       psu_mask_write(0xFD0804F4, 0xFFFFFFFFU, 0x00000005U);
+       psu_mask_write(0xFD080500, 0xFFFFFFFFU, 0x30000028U);
+       psu_mask_write(0xFD080508, 0xFFFFFFFFU, 0x0A000000U);
+       psu_mask_write(0xFD08050C, 0xFFFFFFFFU, 0x00000009U);
+       psu_mask_write(0xFD080510, 0xFFFFFFFFU, 0x0A000000U);
+       psu_mask_write(0xFD080520, 0xFFFFFFFFU, 0x0300B0CEU);
+       psu_mask_write(0xFD080528, 0xFFFFFFFFU, 0xF9032019U);
+       psu_mask_write(0xFD08052C, 0xFFFFFFFFU, 0x07F001E3U);
+       psu_mask_write(0xFD080544, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD080548, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD080558, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD08055C, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD080560, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD080564, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD080680, 0xFFFFFFFFU, 0x008AAA58U);
+       psu_mask_write(0xFD080684, 0xFFFFFFFFU, 0x000079DDU);
+       psu_mask_write(0xFD080694, 0xFFFFFFFFU, 0x01E10210U);
+       psu_mask_write(0xFD080698, 0xFFFFFFFFU, 0x01E10000U);
+       psu_mask_write(0xFD0806A4, 0xFFFFFFFFU, 0x00087BDBU);
+       psu_mask_write(0xFD080700, 0xFFFFFFFFU, 0x40800604U);
+       psu_mask_write(0xFD080704, 0xFFFFFFFFU, 0x00007FFFU);
+       psu_mask_write(0xFD08070C, 0xFFFFFFFFU, 0x3F000008U);
+       psu_mask_write(0xFD080710, 0xFFFFFFFFU, 0x0E00B03CU);
+       psu_mask_write(0xFD080714, 0xFFFFFFFFU, 0x09095555U);
+       psu_mask_write(0xFD080718, 0xFFFFFFFFU, 0x09092B2BU);
+       psu_mask_write(0xFD080800, 0xFFFFFFFFU, 0x40800604U);
+       psu_mask_write(0xFD080804, 0xFFFFFFFFU, 0x00007FFFU);
+       psu_mask_write(0xFD08080C, 0xFFFFFFFFU, 0x3F000008U);
+       psu_mask_write(0xFD080810, 0xFFFFFFFFU, 0x0E00B03CU);
+       psu_mask_write(0xFD080814, 0xFFFFFFFFU, 0x09095555U);
+       psu_mask_write(0xFD080818, 0xFFFFFFFFU, 0x09092B2BU);
+       psu_mask_write(0xFD080900, 0xFFFFFFFFU, 0x40800604U);
+       psu_mask_write(0xFD080904, 0xFFFFFFFFU, 0x00007FFFU);
+       psu_mask_write(0xFD08090C, 0xFFFFFFFFU, 0x3F000008U);
+       psu_mask_write(0xFD080910, 0xFFFFFFFFU, 0x0E00B004U);
+       psu_mask_write(0xFD080914, 0xFFFFFFFFU, 0x09095555U);
+       psu_mask_write(0xFD080918, 0xFFFFFFFFU, 0x09092B2BU);
+       psu_mask_write(0xFD080A00, 0xFFFFFFFFU, 0x40800604U);
+       psu_mask_write(0xFD080A04, 0xFFFFFFFFU, 0x00007FFFU);
+       psu_mask_write(0xFD080A0C, 0xFFFFFFFFU, 0x3F000008U);
+       psu_mask_write(0xFD080A10, 0xFFFFFFFFU, 0x0E00B004U);
+       psu_mask_write(0xFD080A14, 0xFFFFFFFFU, 0x09095555U);
+       psu_mask_write(0xFD080A18, 0xFFFFFFFFU, 0x09092B2BU);
+       psu_mask_write(0xFD080B00, 0xFFFFFFFFU, 0x40800604U);
+       psu_mask_write(0xFD080B04, 0xFFFFFFFFU, 0x00007FFFU);
+       psu_mask_write(0XFD080B08, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD080B0C, 0xFFFFFFFFU, 0x3F000008U);
+       psu_mask_write(0xFD080B10, 0xFFFFFFFFU, 0x0E00B004U);
+       psu_mask_write(0xFD080B14, 0xFFFFFFFFU, 0x09095555U);
+       psu_mask_write(0xFD080B18, 0xFFFFFFFFU, 0x09092B2BU);
+       psu_mask_write(0xFD080C00, 0xFFFFFFFFU, 0x40800604U);
+       psu_mask_write(0xFD080C04, 0xFFFFFFFFU, 0x00007FFFU);
+       psu_mask_write(0XFD080C08, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD080C0C, 0xFFFFFFFFU, 0x3F000008U);
+       psu_mask_write(0xFD080C10, 0xFFFFFFFFU, 0x0E00B03CU);
+       psu_mask_write(0xFD080C14, 0xFFFFFFFFU, 0x09095555U);
+       psu_mask_write(0xFD080C18, 0xFFFFFFFFU, 0x09092B2BU);
+       psu_mask_write(0xFD080D00, 0xFFFFFFFFU, 0x40800604U);
+       psu_mask_write(0xFD080D04, 0xFFFFFFFFU, 0x00007FFFU);
+       psu_mask_write(0XFD080D08, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD080D0C, 0xFFFFFFFFU, 0x3F000008U);
+       psu_mask_write(0xFD080D10, 0xFFFFFFFFU, 0x0E00B004U);
+       psu_mask_write(0xFD080D14, 0xFFFFFFFFU, 0x09095555U);
+       psu_mask_write(0xFD080D18, 0xFFFFFFFFU, 0x09092B2BU);
+       psu_mask_write(0xFD080E00, 0xFFFFFFFFU, 0x40800604U);
+       psu_mask_write(0xFD080E04, 0xFFFFFFFFU, 0x00007FFFU);
+       psu_mask_write(0XFD080E08, 0xFFFFFFFFU, 0x00000000U);
+       psu_mask_write(0xFD080E0C, 0xFFFFFFFFU, 0x3F000008U);
+       psu_mask_write(0xFD080E10, 0xFFFFFFFFU, 0x0E00B03CU);
+       psu_mask_write(0xFD080E14, 0xFFFFFFFFU, 0x09095555U);
+       psu_mask_write(0xFD080E18, 0xFFFFFFFFU, 0x09092B2BU);
+       psu_mask_write(0xFD080F00, 0xFFFFFFFFU, 0x80803660U);
+       psu_mask_write(0xFD080F04, 0xFFFFFFFFU, 0x55556000U);
+       psu_mask_write(0xFD080F08, 0xFFFFFFFFU, 0xAAAAAAAAU);
+       psu_mask_write(0xFD080F0C, 0xFFFFFFFFU, 0x0029A4A4U);
+       psu_mask_write(0xFD080F10, 0xFFFFFFFFU, 0x0C00B000U);
+       psu_mask_write(0xFD080F14, 0xFFFFFFFFU, 0x09095555U);
+       psu_mask_write(0xFD080F18, 0xFFFFFFFFU, 0x09092B2BU);
+       psu_mask_write(0xFD081400, 0xFFFFFFFFU, 0x2A019FFEU);
+       psu_mask_write(0xFD081404, 0xFFFFFFFFU, 0x01100000U);
+       psu_mask_write(0xFD08141C, 0xFFFFFFFFU, 0x01264300U);
+       psu_mask_write(0xFD08142C, 0xFFFFFFFFU, 0x00041800U);
+       psu_mask_write(0xFD081430, 0xFFFFFFFFU, 0x70800000U);
+       psu_mask_write(0xFD081440, 0xFFFFFFFFU, 0x2A019FFEU);
+       psu_mask_write(0xFD081444, 0xFFFFFFFFU, 0x01100000U);
+       psu_mask_write(0xFD08145C, 0xFFFFFFFFU, 0x01264300U);
+       psu_mask_write(0xFD08146C, 0xFFFFFFFFU, 0x00041800U);
+       psu_mask_write(0xFD081470, 0xFFFFFFFFU, 0x70800000U);
+       psu_mask_write(0xFD081480, 0xFFFFFFFFU, 0x2A019FFEU);
+       psu_mask_write(0xFD081484, 0xFFFFFFFFU, 0x01100000U);
+       psu_mask_write(0xFD08149C, 0xFFFFFFFFU, 0x01264300U);
+       psu_mask_write(0xFD0814AC, 0xFFFFFFFFU, 0x00041800U);
+       psu_mask_write(0xFD0814B0, 0xFFFFFFFFU, 0x70800000U);
+       psu_mask_write(0xFD0814C0, 0xFFFFFFFFU, 0x2A019FFEU);
+       psu_mask_write(0xFD0814C4, 0xFFFFFFFFU, 0x01100000U);
+       psu_mask_write(0xFD0814DC, 0xFFFFFFFFU, 0x01264300U);
+       psu_mask_write(0xFD0814EC, 0xFFFFFFFFU, 0x00041800U);
+       psu_mask_write(0xFD0814F0, 0xFFFFFFFFU, 0x70800000U);
+       psu_mask_write(0xFD081500, 0xFFFFFFFFU, 0x15019FFEU);
+       psu_mask_write(0xFD081504, 0xFFFFFFFFU, 0x21100000U);
+       psu_mask_write(0xFD08151C, 0xFFFFFFFFU, 0x01266300U);
+       psu_mask_write(0xFD08152C, 0xFFFFFFFFU, 0x00041800U);
+       psu_mask_write(0xFD081530, 0xFFFFFFFFU, 0x70400000U);
+       psu_mask_write(0xFD0817C4, 0xFFFFFFFFU, 0x01100000U);
+       psu_mask_write(0xFD0817DC, 0xFFFFFFFFU, 0x012643C4U);
+
+       return 1;
+}
+
+static unsigned long psu_mio_init_data(void)
+{
+       psu_mask_write(0xFF180000, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180004, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180008, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF18000C, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180010, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180014, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180018, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF18001C, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180020, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180024, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180028, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF18002C, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180030, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180034, 0x000000FEU, 0x00000000U);
+       psu_mask_write(0xFF180038, 0x000000FEU, 0x00000040U);
+       psu_mask_write(0xFF18003C, 0x000000FEU, 0x00000040U);
+       psu_mask_write(0xFF180040, 0x000000FEU, 0x00000040U);
+       psu_mask_write(0xFF180044, 0x000000FEU, 0x00000040U);
+       psu_mask_write(0xFF180048, 0x000000FEU, 0x000000C0U);
+       psu_mask_write(0xFF18004C, 0x000000FEU, 0x000000C0U);
+       psu_mask_write(0xFF180050, 0x000000FEU, 0x000000C0U);
+       psu_mask_write(0xFF180054, 0x000000FEU, 0x000000C0U);
+       psu_mask_write(0xFF180058, 0x000000FEU, 0x00000000U);
+       psu_mask_write(0xFF18005C, 0x000000FEU, 0x00000000U);
+       psu_mask_write(0xFF180060, 0x000000FEU, 0x00000020U);
+       psu_mask_write(0xFF180064, 0x000000FEU, 0x00000020U);
+       psu_mask_write(0xFF180068, 0x000000FEU, 0x00000000U);
+       psu_mask_write(0xFF18006C, 0x000000FEU, 0x00000018U);
+       psu_mask_write(0xFF180070, 0x000000FEU, 0x00000018U);
+       psu_mask_write(0xFF180074, 0x000000FEU, 0x00000018U);
+       psu_mask_write(0xFF180078, 0x000000FEU, 0x00000018U);
+       psu_mask_write(0xFF18007C, 0x000000FEU, 0x00000000U);
+       psu_mask_write(0xFF180080, 0x000000FEU, 0x00000008U);
+       psu_mask_write(0xFF180084, 0x000000FEU, 0x00000008U);
+       psu_mask_write(0xFF180088, 0x000000FEU, 0x00000008U);
+       psu_mask_write(0xFF18008C, 0x000000FEU, 0x00000008U);
+       psu_mask_write(0xFF180090, 0x000000FEU, 0x00000008U);
+       psu_mask_write(0xFF180094, 0x000000FEU, 0x00000008U);
+       psu_mask_write(0xFF180098, 0x000000FEU, 0x00000000U);
+       psu_mask_write(0xFF18009C, 0x000000FEU, 0x00000010U);
+       psu_mask_write(0xFF1800A0, 0x000000FEU, 0x00000010U);
+       psu_mask_write(0xFF1800A4, 0x000000FEU, 0x00000010U);
+       psu_mask_write(0xFF1800A8, 0x000000FEU, 0x00000010U);
+       psu_mask_write(0xFF1800AC, 0x000000FEU, 0x00000010U);
+       psu_mask_write(0xFF1800B0, 0x000000FEU, 0x00000010U);
+       psu_mask_write(0xFF1800B4, 0x000000FEU, 0x00000010U);
+       psu_mask_write(0xFF1800B8, 0x000000FEU, 0x00000010U);
+       psu_mask_write(0xFF1800BC, 0x000000FEU, 0x00000010U);
+       psu_mask_write(0xFF1800C0, 0x000000FEU, 0x00000010U);
+       psu_mask_write(0xFF1800C4, 0x000000FEU, 0x00000010U);
+       psu_mask_write(0xFF1800C8, 0x000000FEU, 0x00000010U);
+       psu_mask_write(0xFF1800CC, 0x000000FEU, 0x00000010U);
+       psu_mask_write(0xFF1800D0, 0x000000FEU, 0x00000004U);
+       psu_mask_write(0xFF1800D4, 0x000000FEU, 0x00000004U);
+       psu_mask_write(0xFF1800D8, 0x000000FEU, 0x00000004U);
+       psu_mask_write(0xFF1800DC, 0x000000FEU, 0x00000004U);
+       psu_mask_write(0xFF1800E0, 0x000000FEU, 0x00000004U);
+       psu_mask_write(0xFF1800E4, 0x000000FEU, 0x00000004U);
+       psu_mask_write(0xFF1800E8, 0x000000FEU, 0x00000004U);
+       psu_mask_write(0xFF1800EC, 0x000000FEU, 0x00000004U);
+       psu_mask_write(0xFF1800F0, 0x000000FEU, 0x00000004U);
+       psu_mask_write(0xFF1800F4, 0x000000FEU, 0x00000004U);
+       psu_mask_write(0xFF1800F8, 0x000000FEU, 0x00000004U);
+       psu_mask_write(0xFF1800FC, 0x000000FEU, 0x00000004U);
+       psu_mask_write(0xFF180100, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180104, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180108, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF18010C, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180110, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180114, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180118, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF18011C, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180120, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180124, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180128, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF18012C, 0x000000FEU, 0x00000002U);
+       psu_mask_write(0xFF180130, 0x000000FEU, 0x000000C0U);
+       psu_mask_write(0xFF180134, 0x000000FEU, 0x000000C0U);
+       psu_mask_write(0xFF180204, 0xFFFFFFFFU, 0x52240000U);
+       psu_mask_write(0xFF180208, 0xFFFFFFFFU, 0x00B03000U);
+       psu_mask_write(0xFF18020C, 0x00003FFFU, 0x00000FC0U);
+       psu_mask_write(0xFF180138, 0x03FFFFFFU, 0x03FFFFFFU);
+       psu_mask_write(0xFF18013C, 0x03FFFFFFU, 0x03FFFFFFU);
+       psu_mask_write(0xFF180140, 0x03FFFFFFU, 0x00000000U);
+       psu_mask_write(0xFF180144, 0x03FFFFFFU, 0x03FFFFFFU);
+       psu_mask_write(0xFF180148, 0x03FFFFFFU, 0x03FFFFFFU);
+       psu_mask_write(0xFF18014C, 0x03FFFFFFU, 0x00000000U);
+       psu_mask_write(0xFF180154, 0x03FFFFFFU, 0x03FFFFFFU);
+       psu_mask_write(0xFF180158, 0x03FFFFFFU, 0x03FFFFFFU);
+       psu_mask_write(0xFF18015C, 0x03FFFFFFU, 0x00000000U);
+       psu_mask_write(0xFF180160, 0x03FFFFFFU, 0x03FFFFFFU);
+       psu_mask_write(0xFF180164, 0x03FFFFFFU, 0x03FFFFFFU);
+       psu_mask_write(0xFF180168, 0x03FFFFFFU, 0x00000000U);
+       psu_mask_write(0xFF180170, 0x03FFFFFFU, 0x03FFFFFFU);
+       psu_mask_write(0xFF180174, 0x03FFFFFFU, 0x03FFFFFFU);
+       psu_mask_write(0xFF180178, 0x03FFFFFFU, 0x00000000U);
+       psu_mask_write(0xFF18017C, 0x03FFFFFFU, 0x03FFFFFFU);
+       psu_mask_write(0xFF180180, 0x03FFFFFFU, 0x03FFFFFFU);
+       psu_mask_write(0xFF180184, 0x03FFFFFFU, 0x00000000U);
+       psu_mask_write(0xFF180200, 0x0000000FU, 0x00000000U);
+
+       return 1;
+}
+
+static unsigned long psu_peripherals_init_data(void)
+{
+       psu_mask_write(0xFF5E0238, 0x00100000U, 0x00000000U);
+       psu_mask_write(0xFF5E0230, 0x00000008U, 0x00000000U);
+       psu_mask_write(0xFF5E0238, 0x00000001U, 0x00000000U);
+       psu_mask_write(0xFF180390, 0x00000004U, 0x00000000U);
+       psu_mask_write(0xFF5E023C, 0x00000540U, 0x00000000U);
+       psu_mask_write(0xFD1A0100, 0x0001807EU, 0x00000000U);
+       psu_mask_write(0xFF5E0238, 0x00000040U, 0x00000000U);
+       psu_mask_write(0xFF180310, 0x00008000U, 0x00000000U);
+       psu_mask_write(0xFF180320, 0x33800000U, 0x02800000U);
+       psu_mask_write(0xFF18031C, 0x7F800000U, 0x63800000U);
+       psu_mask_write(0xFF180358, 0x00000008U, 0x00000008U);
+       psu_mask_write(0xFF180324, 0x03C00000U, 0x00000000U);
+       psu_mask_write(0xFF5E0238, 0x00000100U, 0x00000000U);
+       psu_mask_write(0xFF5E0238, 0x00000600U, 0x00000000U);
+       psu_mask_write(0xFF5E0238, 0x00008000U, 0x00000000U);
+       psu_mask_write(0xFF5E0238, 0x00007800U, 0x00000000U);
+       psu_mask_write(0xFF5E0238, 0x00000006U, 0x00000000U);
+       psu_mask_write(0xFF4B0024, 0x000000FFU, 0x000000FFU);
+       psu_mask_write(0xFFCA5000, 0x00001FFFU, 0x00000000U);
+       psu_mask_write(0xFD5C0060, 0x000F000FU, 0x00000000U);
+       psu_mask_write(0xFFA60040, 0x80000000U, 0x80000000U);
+       psu_mask_write(0xFF260020, 0xFFFFFFFFU, 0x05F5E100U);
+       psu_mask_write(0xFF260000, 0x00000001U, 0x00000001U);
+
+       return 1;
+}
+
+static unsigned long psu_serdes_init_data(void)
+{
+       psu_mask_write(0xFD410000, 0x0000001FU, 0x00000009U);
+       psu_mask_write(0xFD410004, 0x0000001FU, 0x00000009U);
+       psu_mask_write(0xFD410008, 0x0000001FU, 0x00000008U);
+       psu_mask_write(0xFD41000C, 0x0000001FU, 0x0000000FU);
+       psu_mask_write(0xFD402860, 0x00000088U, 0x00000008U);
+       psu_mask_write(0xFD402864, 0x00000088U, 0x00000008U);
+       psu_mask_write(0xFD402868, 0x00000080U, 0x00000080U);
+       psu_mask_write(0xFD40286C, 0x00000082U, 0x00000002U);
+       psu_mask_write(0xFD40A094, 0x00000010U, 0x00000010U);
+       psu_mask_write(0xFD40A368, 0x000000FFU, 0x00000038U);
+       psu_mask_write(0xFD40A36C, 0x00000007U, 0x00000003U);
+       psu_mask_write(0xFD40E368, 0x000000FFU, 0x000000E0U);
+       psu_mask_write(0xFD40E36C, 0x00000007U, 0x00000003U);
+       psu_mask_write(0xFD402368, 0x000000FFU, 0x00000058U);
+       psu_mask_write(0xFD40236C, 0x00000007U, 0x00000003U);
+       psu_mask_write(0xFD406368, 0x000000FFU, 0x00000058U);
+       psu_mask_write(0xFD40636C, 0x00000007U, 0x00000003U);
+       psu_mask_write(0xFD402370, 0x000000FFU, 0x0000007CU);
+       psu_mask_write(0xFD402374, 0x000000FFU, 0x00000033U);
+       psu_mask_write(0xFD402378, 0x000000FFU, 0x00000002U);
+       psu_mask_write(0xFD40237C, 0x00000033U, 0x00000030U);
+       psu_mask_write(0xFD406370, 0x000000FFU, 0x0000007CU);
+       psu_mask_write(0xFD406374, 0x000000FFU, 0x00000033U);
+       psu_mask_write(0xFD406378, 0x000000FFU, 0x00000002U);
+       psu_mask_write(0xFD40637C, 0x00000033U, 0x00000030U);
+       psu_mask_write(0xFD40A370, 0x000000FFU, 0x000000F4U);
+       psu_mask_write(0xFD40A374, 0x000000FFU, 0x00000031U);
+       psu_mask_write(0xFD40A378, 0x000000FFU, 0x00000002U);
+       psu_mask_write(0xFD40A37C, 0x00000033U, 0x00000030U);
+       psu_mask_write(0xFD40E370, 0x000000FFU, 0x000000C9U);
+       psu_mask_write(0xFD40E374, 0x000000FFU, 0x000000D2U);
+       psu_mask_write(0xFD40E378, 0x000000FFU, 0x00000001U);
+       psu_mask_write(0xFD40E37C, 0x000000B3U, 0x000000B0U);
+       psu_mask_write(0xFD40906C, 0x00000003U, 0x00000003U);
+       psu_mask_write(0xFD4080F4, 0x00000003U, 0x00000003U);
+       psu_mask_write(0xFD40E360, 0x00000040U, 0x00000040U);
+       psu_mask_write(0xFD40D06C, 0x0000000FU, 0x0000000FU);
+       psu_mask_write(0xFD40C0F4, 0x0000000BU, 0x0000000BU);
+       psu_mask_write(0xFD40CB00, 0x000000F0U, 0x000000F0U);
+       psu_mask_write(0xFD4090CC, 0x00000020U, 0x00000020U);
+       psu_mask_write(0xFD401074, 0x00000010U, 0x00000010U);
+       psu_mask_write(0xFD405074, 0x00000010U, 0x00000010U);
+       psu_mask_write(0xFD409074, 0x00000010U, 0x00000010U);
+       psu_mask_write(0xFD40D074, 0x00000010U, 0x00000010U);
+       psu_mask_write(0xFD401994, 0x00000007U, 0x00000007U);
+       psu_mask_write(0xFD405994, 0x00000007U, 0x00000007U);
+       psu_mask_write(0xFD40989C, 0x00000080U, 0x00000080U);
+       psu_mask_write(0xFD4098F8, 0x000000FFU, 0x0000001AU);
+       psu_mask_write(0xFD4098FC, 0x000000FFU, 0x0000001AU);
+       psu_mask_write(0xFD409990, 0x000000FFU, 0x00000010U);
+       psu_mask_write(0xFD409924, 0x000000FFU, 0x000000FEU);
+       psu_mask_write(0xFD409928, 0x000000FFU, 0x00000000U);
+       psu_mask_write(0xFD409900, 0x000000FFU, 0x0000001AU);
+       psu_mask_write(0xFD40992C, 0x000000FFU, 0x00000000U);
+       psu_mask_write(0xFD409980, 0x000000FFU, 0x000000FFU);
+       psu_mask_write(0xFD409914, 0x000000FFU, 0x000000F7U);
+       psu_mask_write(0xFD409918, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFD409940, 0x000000FFU, 0x000000F7U);
+       psu_mask_write(0xFD409944, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFD409994, 0x00000007U, 0x00000007U);
+       psu_mask_write(0xFD40D89C, 0x00000080U, 0x00000080U);
+       psu_mask_write(0xFD40D8F8, 0x000000FFU, 0x0000007DU);
+       psu_mask_write(0xFD40D8FC, 0x000000FFU, 0x0000007DU);
+       psu_mask_write(0xFD40D990, 0x000000FFU, 0x00000001U);
+       psu_mask_write(0xFD40D924, 0x000000FFU, 0x0000009CU);
+       psu_mask_write(0xFD40D928, 0x000000FFU, 0x00000039U);
+       psu_mask_write(0xFD40D98C, 0x000000F0U, 0x00000020U);
+       psu_mask_write(0xFD40D900, 0x000000FFU, 0x0000007DU);
+       psu_mask_write(0xFD40D92C, 0x000000FFU, 0x00000064U);
+       psu_mask_write(0xFD40D980, 0x000000FFU, 0x000000FFU);
+       psu_mask_write(0xFD40D914, 0x000000FFU, 0x000000F7U);
+       psu_mask_write(0xFD40D918, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFD40D940, 0x000000FFU, 0x000000F7U);
+       psu_mask_write(0xFD40D944, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFD40D994, 0x00000007U, 0x00000007U);
+       psu_mask_write(0xFD40107C, 0x0000000FU, 0x00000001U);
+       psu_mask_write(0xFD40507C, 0x0000000FU, 0x00000001U);
+       psu_mask_write(0xFD40907C, 0x0000000FU, 0x00000001U);
+       psu_mask_write(0xFD40D07C, 0x0000000FU, 0x00000001U);
+       psu_mask_write(0xFD4019A4, 0x000000FFU, 0x000000FFU);
+       psu_mask_write(0xFD401038, 0x00000040U, 0x00000040U);
+       psu_mask_write(0xFD40102C, 0x00000040U, 0x00000040U);
+       psu_mask_write(0xFD4059A4, 0x000000FFU, 0x000000FFU);
+       psu_mask_write(0xFD405038, 0x00000040U, 0x00000040U);
+       psu_mask_write(0xFD40502C, 0x00000040U, 0x00000040U);
+       psu_mask_write(0xFD4099A4, 0x000000FFU, 0x000000FFU);
+       psu_mask_write(0xFD409038, 0x00000040U, 0x00000040U);
+       psu_mask_write(0xFD40902C, 0x00000040U, 0x00000040U);
+       psu_mask_write(0xFD40D9A4, 0x000000FFU, 0x000000FFU);
+       psu_mask_write(0xFD40D038, 0x00000040U, 0x00000040U);
+       psu_mask_write(0xFD40D02C, 0x00000040U, 0x00000040U);
+       psu_mask_write(0xFD4019AC, 0x00000003U, 0x00000000U);
+       psu_mask_write(0xFD4059AC, 0x00000003U, 0x00000000U);
+       psu_mask_write(0xFD4099AC, 0x00000003U, 0x00000000U);
+       psu_mask_write(0xFD40D9AC, 0x00000003U, 0x00000000U);
+       psu_mask_write(0xFD401978, 0x00000080U, 0x00000080U);
+       psu_mask_write(0xFD405978, 0x00000080U, 0x00000080U);
+       psu_mask_write(0xFD409978, 0x00000080U, 0x00000080U);
+       psu_mask_write(0xFD40D978, 0x00000080U, 0x00000080U);
+       psu_mask_write(0xFD410010, 0x00000077U, 0x00000044U);
+       psu_mask_write(0xFD410014, 0x00000077U, 0x00000023U);
+       psu_mask_write(0xFD400CB4, 0x00000037U, 0x00000037U);
+       psu_mask_write(0xFD404CB4, 0x00000037U, 0x00000037U);
+       psu_mask_write(0xFD4001D8, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFD4041D8, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFD40C1D8, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFD40DC14, 0x000000FFU, 0x000000E6U);
+       psu_mask_write(0xFD40DC40, 0x0000001FU, 0x0000000CU);
+       psu_mask_write(0xFD40D94C, 0x00000020U, 0x00000020U);
+       psu_mask_write(0xFD40D950, 0x00000007U, 0x00000006U);
+       psu_mask_write(0xFD404CC0, 0x0000001FU, 0x00000000U);
+       psu_mask_write(0xFD400CC0, 0x0000001FU, 0x00000000U);
+       psu_mask_write(0xFD404048, 0x000000FFU, 0x00000000U);
+       psu_mask_write(0xFD400048, 0x000000FFU, 0x00000000U);
+       psu_mask_write(0xFD40C048, 0x000000FFU, 0x00000001U);
+
+       return 1;
+}
+
+static unsigned long psu_resetout_init_data(void)
+{
+       psu_mask_write(0xFF5E023C, 0x00000400U, 0x00000000U);
+       psu_mask_write(0xFF9D0080, 0x00000001U, 0x00000001U);
+       psu_mask_write(0xFF9D007C, 0x00000001U, 0x00000000U);
+       psu_mask_write(0xFF5E023C, 0x00000140U, 0x00000000U);
+       psu_mask_write(0xFF5E0230, 0x00000008U, 0x00000000U);
+       psu_mask_write(0xFD3D0100, 0x00000003U, 0x00000003U);
+       psu_mask_write(0xFD1A0100, 0x00000002U, 0x00000000U);
+       psu_mask_write(0xFD1A0100, 0x00010000U, 0x00000000U);
+       psu_mask_write(0xFD4A0200, 0x00000002U, 0x00000000U);
+       psu_mask_write(0xFD4A0238, 0x0000000FU, 0x00000000U);
+       psu_mask_write(0xFE20C200, 0x00003FFFU, 0x00002457U);
+       psu_mask_write(0xFE20C630, 0x003FFF00U, 0x00000000U);
+       psu_mask_write(0xFE20C11C, 0x00000400U, 0x00000400U);
+       psu_mask_write(0xFD480064, 0x00000200U, 0x00000200U);
+       mask_poll(0xFD4063E4, 0x00000010U);
+       mask_poll(0xFD40A3E4, 0x00000010U);
+       mask_poll(0xFD40E3E4, 0x00000010U);
+       psu_mask_write(0xFD0C00AC, 0xFFFFFFFFU, 0x28184018U);
+       psu_mask_write(0xFD0C00B0, 0xFFFFFFFFU, 0x0E081406U);
+       psu_mask_write(0xFD0C00B4, 0xFFFFFFFFU, 0x064A0813U);
+       psu_mask_write(0xFD0C00B8, 0xFFFFFFFFU, 0x3FFC96A4U);
+
+       return 1;
+}
+
+static unsigned long psu_resetin_init_data(void)
+{
+       psu_mask_write(0xFF5E023C, 0x00000540U, 0x00000540U);
+       psu_mask_write(0xFF5E0230, 0x00000008U, 0x00000008U);
+       psu_mask_write(0xFD1A0100, 0x00000002U, 0x00000002U);
+       psu_mask_write(0xFD4A0238, 0x0000000FU, 0x0000000AU);
+       psu_mask_write(0xFD4A0200, 0x00000002U, 0x00000002U);
+       psu_mask_write(0xFD1A0100, 0x00010000U, 0x00010000U);
+
+       return 1;
+}
+
+static unsigned long psu_ddr_phybringup_data(void)
+{
+       unsigned int regval = 0;
+       unsigned int pll_retry = 10;
+       unsigned int pll_locked = 0;
+
+       while ((pll_retry > 0) && (!pll_locked)) {
+               Xil_Out32(0xFD080004, 0x00040010);
+               Xil_Out32(0xFD080004, 0x00040011);
+
+               while ((Xil_In32(0xFD080030) & 0x1) != 1)
+                       ;
+
+               pll_locked = (Xil_In32(0xFD080030) & 0x80000000) >> 31;
+               pll_locked &= (Xil_In32(0xFD0807E0) & 0x10000) >> 16;
+               pll_locked &= (Xil_In32(0xFD0809E0) & 0x10000) >> 16;
+               pll_locked &= (Xil_In32(0xFD080BE0) & 0x10000) >> 16;
+               pll_locked &= (Xil_In32(0xFD080DE0) & 0x10000) >> 16;
+               pll_retry--;
+       }
+       Xil_Out32(0xFD0800C4, Xil_In32(0xFD0800C4) | (pll_retry << 16));
+       Xil_Out32(0xFD080004U, 0x00040063U);
+
+       while ((Xil_In32(0xFD080030U) & 0x0000000FU) != 0x0000000FU)
+               ;
+       prog_reg(0xFD080004U, 0x00000001U, 0x00000000U, 0x00000001U);
+
+       while ((Xil_In32(0xFD080030U) & 0x000000FFU) != 0x0000001FU)
+               ;
+
+       Xil_Out32(0xFD0701B0U, 0x00000001U);
+       Xil_Out32(0xFD070320U, 0x00000001U);
+       while ((Xil_In32(0xFD070004U) & 0x0000000FU) != 0x00000001U)
+               ;
+       prog_reg(0xFD080014U, 0x00000040U, 0x00000006U, 0x00000001U);
+       Xil_Out32(0xFD080004, 0x0004FE01);
+       regval = Xil_In32(0xFD080030);
+       while (regval != 0x80000FFF)
+               regval = Xil_In32(0xFD080030);
+
+       Xil_Out32(0xFD080200U, 0x100091C7U);
+       Xil_Out32(0xFD080018U, 0x00F01EF2U);
+       prog_reg(0xFD08001CU, 0x00000018U, 0x00000003U, 0x00000003U);
+       prog_reg(0xFD08142CU, 0x00000030U, 0x00000004U, 0x00000003U);
+       prog_reg(0xFD08146CU, 0x00000030U, 0x00000004U, 0x00000003U);
+       prog_reg(0xFD0814ACU, 0x00000030U, 0x00000004U, 0x00000003U);
+       prog_reg(0xFD0814ECU, 0x00000030U, 0x00000004U, 0x00000003U);
+       prog_reg(0xFD08152CU, 0x00000030U, 0x00000004U, 0x00000003U);
+
+       Xil_Out32(0xFD080004, 0x00060001);
+       regval = Xil_In32(0xFD080030);
+       while ((regval & 0x80004001) != 0x80004001)
+               regval = Xil_In32(0xFD080030);
+
+       prog_reg(0xFD08001CU, 0x00000018U, 0x00000003U, 0x00000000U);
+       prog_reg(0xFD08142CU, 0x00000030U, 0x00000004U, 0x00000000U);
+       prog_reg(0xFD08146CU, 0x00000030U, 0x00000004U, 0x00000000U);
+       prog_reg(0xFD0814ACU, 0x00000030U, 0x00000004U, 0x00000000U);
+       prog_reg(0xFD0814ECU, 0x00000030U, 0x00000004U, 0x00000000U);
+       prog_reg(0xFD08152CU, 0x00000030U, 0x00000004U, 0x00000000U);
+
+       Xil_Out32(0xFD080200U, 0x800091C7U);
+       Xil_Out32(0xFD080018U, 0x00F12302U);
+
+       Xil_Out32(0xFD080004, 0x0000C001);
+       regval = Xil_In32(0xFD080030);
+       while ((regval & 0x80000C01) != 0x80000C01)
+               regval = Xil_In32(0xFD080030);
+
+       Xil_Out32(0xFD070180U, 0x01000040U);
+       Xil_Out32(0xFD070060U, 0x00000000U);
+       prog_reg(0xFD080014U, 0x00000040U, 0x00000006U, 0x00000000U);
+
+       return 1;
+}
+
+static int serdes_fixcal_code(void)
+{
+       int maskstatus = 1;
+       unsigned int tmp_0_1, tmp_0_2, tmp_0_3, tmp_0_2_mod;
+
+       Xil_Out32(0xFD40EC4C, 0x00000020);
+
+       Xil_Out32(0xFD410010, 0x00000001);
+
+       maskstatus = mask_poll(0xFD40EF14, 0x2);
+
+       if (maskstatus == 0) {
+               xil_printf("SERDES initialization timed out\n\r");
+               return maskstatus;
+       }
+
+       tmp_0_1 = mask_read(0xFD400B0C, 0x3F);
+
+       tmp_0_2 = tmp_0_1 & (0x7);
+       tmp_0_3 = tmp_0_1 & (0x38);
+
+       Xil_Out32(0xFD410010, 0x00000000);
+       Xil_Out32(0xFD410014, 0x00000000);
+
+       tmp_0_2_mod = (tmp_0_2 << 1) | (0x1);
+       tmp_0_2_mod = (tmp_0_2_mod << 4);
+
+       tmp_0_3 = tmp_0_3 >> 3;
+       Xil_Out32(0xFD40EC4C, tmp_0_3);
+
+       Xil_Out32(0xFD40EC48, tmp_0_2_mod);
+       return maskstatus;
+}
+
+static int serdes_enb_coarse_saturation(void)
+{
+       Xil_Out32(0xFD402094, 0x00000010);
+       Xil_Out32(0xFD406094, 0x00000010);
+       Xil_Out32(0xFD40A094, 0x00000010);
+       Xil_Out32(0xFD40E094, 0x00000010);
+       return 1;
+}
+
+static int init_serdes(void)
+{
+       int status = 1;
+
+       status &= psu_resetin_init_data();
+
+       status &= serdes_fixcal_code();
+       status &= serdes_enb_coarse_saturation();
+
+       status &= psu_serdes_init_data();
+       status &= psu_resetout_init_data();
+
+       return status;
+}
+
+static void init_peripheral(void)
+{
+       unsigned int regvalue;
+       unsigned int tmp_regval;
+
+       Xil_Out32(((0xFF5E0000U) + 0x00000230U), 0x00000000);
+       Xil_Out32(((0xFF5E0000U) + 0x00000234U), 0x00000000);
+       Xil_Out32(((0xFF5E0000U) + 0x00000238U), 0x00000000);
+
+       regvalue = Xil_In32(((0xFF5E0000U) + 0x0000023CU));
+       regvalue &= 0x7;
+       Xil_Out32(((0xFF5E0000U) + 0x0000023CU), regvalue);
+
+       Xil_Out32(((0xFD1A0000U) + 0x00000100U), 0x00000000);
+
+       tmp_regval = Xil_In32(0xFD690040);
+       tmp_regval &= ~0x00000001;
+       Xil_Out32(0xFD690040, tmp_regval);
+
+       tmp_regval = Xil_In32(0xFD690030);
+       tmp_regval &= ~0x00000001;
+       Xil_Out32(0xFD690030, tmp_regval);
+}
+
+int psu_init(void)
+{
+       int status = 1;
+
+       status &= psu_mio_init_data();
+       status &= psu_pll_init_data();
+       status &= psu_clock_init_data();
+
+       status &= psu_ddr_init_data();
+       status &= psu_ddr_phybringup_data();
+       status &= psu_peripherals_init_data();
+
+       status &= init_serdes();
+       init_peripheral();
+
+       if (status == 0)
+               return 1;
+       return 0;
+}
index 70b3c81f128426a91e7c72c6a15980f84531078c..bc2090941d90f7e5a3206b67b3d7ca52fd958be8 100644 (file)
@@ -399,9 +399,6 @@ static void print_secure_boot(void)
               status & ZYNQMP_CSU_STATUS_ENCRYPTED ? "" : "not ");
 }
 
-#define PS_SYSMON_ANALOG_BUS_VAL       0x3210
-#define PS_SYSMON_ANALOG_BUS_REG       0xFFA50914
-
 int board_init(void)
 {
 #if defined(CONFIG_ZYNQMP_FIRMWARE)
@@ -429,9 +426,6 @@ int board_init(void)
 
        printf("EL Level:\tEL%d\n", current_el());
 
-       /* Bug in ROM sets wrong value in this register */
-       writel(PS_SYSMON_ANALOG_BUS_VAL, PS_SYSMON_ANALOG_BUS_REG);
-
 #if CONFIG_IS_ENABLED(FPGA) && defined(CONFIG_FPGA_ZYNQMPPL)
        zynqmppl.name = zynqmp_get_silicon_idcode_name();
        printf("Chip ID:\t%s\n", zynqmppl.name);
index b83a4e840002e2414ca6373754b4ac96e4f9b669..a395529b1f7c411b2b6d94418849db7373418507 100644 (file)
@@ -991,6 +991,36 @@ config AUTOBOOT_MENU_SHOW
          environmnent variable (if enabled) and before handling the boot delay.
          See README.bootmenu for more details.
 
+config BOOT_RETRY
+       bool "Boot retry feature"
+       help
+         Allow for having the U-Boot command prompt time out and attempt
+         to boot again.  If the environment variable "bootretry" is found then
+         its value is used, otherwise the retry timeout is
+         CONFIG_BOOT_RETRY_TIME.  CONFIG_BOOT_RETRY_MIN is optional and
+         defaults to CONFIG_BOOT_RETRY_TIME. All times are in seconds.
+
+config BOOT_RETRY_TIME
+       int "Timeout in seconds before attempting to boot again"
+       depends on BOOT_RETRY
+       help
+         Time in seconds before the U-Boot prompt will timeout and boot will
+         be attempted again.
+
+config BOOT_RETRY_MIN
+       int "Minimum timeout in seconds for 'bootretry'"
+       depends on BOOT_RETRY
+       default BOOT_RETRY_TIME
+       help
+         The minimum time in seconds that "bootretry" can be set to.
+
+config RESET_TO_RETRY
+       bool "Reset the board to retry autoboot"
+       depends on BOOT_RETRY
+       help
+         After the countdown timed out, the board will be reset to restart
+         again.
+
 endmenu
 
 config USE_BOOTARGS
index 2938c3f145830cbdcf6f3595bba97fd34dc2e8c7..75366c85c6578bdd6683539766993ca55038af76 100644 (file)
@@ -5,11 +5,7 @@
 
 ifndef CONFIG_SPL_BUILD
 
-# This option is not just y/n - it can have a numeric value
-ifdef CONFIG_BOOT_RETRY_TIME
-obj-y += bootretry.o
-endif
-
+obj-$(CONFIG_BOOT_RETRY) += bootretry.o
 obj-$(CONFIG_CMD_BOOTM) += bootm.o bootm_os.o
 obj-$(CONFIG_CMD_BOOTZ) += bootm.o bootm_os.o
 obj-$(CONFIG_CMD_BOOTI) += bootm.o bootm_os.o
index dac891fbc5e3fa0cc01a15e811a2442518eee50c..2bc9c6866e03940365e77eb21fde1c9c821e3400 100644 (file)
 #include <time.h>
 #include <watchdog.h>
 
-#ifndef CONFIG_BOOT_RETRY_MIN
-#define CONFIG_BOOT_RETRY_MIN CONFIG_BOOT_RETRY_TIME
-#endif
-
 static uint64_t endtime;  /* must be set, default is instant timeout */
 static int      retry_time = -1; /* -1 so can call readline before main_loop */
 
index 5e25e45fd288ed5f0bc5e33a2ec0995dda691c61..25c9fde4a7b3b95ba207f2d46ad26252486a7708 100644 (file)
@@ -1485,6 +1485,15 @@ config CMD_DHCP
        help
          Boot image via network using DHCP/TFTP protocol
 
+config BOOTP_MAY_FAIL
+       bool "Allow for the BOOTP/DHCP server to not be found"
+       depends on CMD_BOOTP
+       help
+         If the DHCP server is not found after the configured retry count, the
+         call will fail instead of starting over.  This can be used to fail
+         over to Link-local IP address configuration if the DHCP server is not
+         available.
+
 config BOOTP_BOOTPATH
        bool "Request & store 'rootpath' from BOOTP/DHCP server"
        default y
@@ -1493,6 +1502,14 @@ config BOOTP_BOOTPATH
          Even though the config is called BOOTP_BOOTPATH, it stores the
          path in the variable 'rootpath'.
 
+config BOOTP_VENDOREX
+       bool "Support vendor extensions from BOOTP/DHCP server"
+       depends on CMD_BOOTP
+
+config BOOTP_BOOTFILESIZE
+       bool "Request & store 'bootfilesize' from BOOTP/DHCP server"
+       depends on CMD_BOOTP
+
 config BOOTP_DNS
        bool "Request & store 'dnsip' from BOOTP/DHCP server"
        default y
@@ -1540,10 +1557,18 @@ config BOOTP_SUBNETMASK
        default y
        depends on CMD_BOOTP
 
+config BOOTP_NISDOMAIN
+       bool "Request & store 'nisdomain' from BOOTP/DHCP server"
+       depends on CMD_BOOTP
+
 config BOOTP_NTPSERVER
        bool "Request & store 'ntpserverip' from BOOTP/DHCP server"
        depends on CMD_BOOTP
 
+config BOOTP_TIMEOFFSET
+       bool "Request & store 'timeoffset' from BOOTP/DHCP server"
+       depends on CMD_BOOTP && CMD_SNTP
+
 config CMD_PCAP
        bool "pcap capture"
        help
@@ -1613,6 +1638,15 @@ config CMD_NFS
        help
          Boot image via network using NFS protocol.
 
+config NFS_TIMEOUT
+       int "Timeout in milliseconds for NFS mounts"
+       depends on CMD_NFS
+       default 2000
+       help
+         Timeout in milliseconds used in NFS protocol.  If you encounter
+         "ERROR: Cannot umount" in nfs command, try longer timeout such as
+         10000.
+
 config CMD_MII
        bool "mii"
        imply CMD_MDIO
@@ -1624,6 +1658,10 @@ config CMD_MII
          to management parameters and services.
          The interface is referred to as the MII management interface.
 
+config MII_INIT
+       bool "Call mii_init() in the mii command"
+       depends on CMD_MII && (MPC8XX_FEC || FSLDMAFE || MCFFEC)
+
 config CMD_MDIO
        bool "mdio"
        depends on PHYLIB
@@ -2176,6 +2214,12 @@ config CMD_CRAMFS
             cramfsls   - lists files in a cramfs image
             cramfsload - loads a file from a cramfs image
 
+config CMD_EROFS
+       bool "EROFS command support"
+       select FS_EROFS
+       help
+         Support for the EROFS fs
+
 config CMD_EXT2
        bool "ext2 command support"
        select FS_EXT4
@@ -2342,6 +2386,14 @@ config CMD_DIAG
          available tests and running either all the tests, or specific tests
          identified by name.
 
+config CMD_EVENT
+       bool "event - Show information about events"
+       default y if EVENT_DEBUG
+       help
+         This enables the 'event' command which provides information about
+         events and event-handler routines. This can help to device event
+         hadling.
+
 config CMD_IRQ
        bool "irq - Show information about interrupts"
        depends on !ARM && !MIPS && !RISCV && !SH
index 166c652d9825e77f62d76f7cb3bd6fdf98d286da..ede634d731cdb0076be1daa8a6c935e32875a9c5 100644 (file)
@@ -53,6 +53,7 @@ obj-$(CONFIG_CMD_DIAG) += diag.o
 endif
 obj-$(CONFIG_CMD_ADTIMG) += adtimg.o
 obj-$(CONFIG_CMD_ABOOTIMG) += abootimg.o
+obj-$(CONFIG_CMD_EVENT) += event.o
 obj-$(CONFIG_CMD_EXTENSION) += extension_board.o
 obj-$(CONFIG_CMD_ECHO) += echo.o
 obj-$(CONFIG_ENV_IS_IN_EEPROM) += eeprom.o
@@ -60,6 +61,7 @@ obj-$(CONFIG_CMD_EEPROM) += eeprom.o
 obj-$(CONFIG_EFI) += efi.o
 obj-$(CONFIG_CMD_EFIDEBUG) += efidebug.o
 obj-$(CONFIG_CMD_ELF) += elf.o
+obj-$(CONFIG_CMD_EROFS) += erofs.o
 obj-$(CONFIG_HUSH_PARSER) += exit.o
 obj-$(CONFIG_CMD_EXT4) += ext4.o
 obj-$(CONFIG_CMD_EXT2) += ext2.o
index d5de50a08030dd14e2a70f0bd4d0607c87304187..589a23115b0481f8167fc93c71cc4b5fcb2c6f52 100644 (file)
@@ -7,19 +7,73 @@
 
 #include <common.h>
 #include <command.h>
+#include <linux/bitops.h>
 
 static int do_undefined(struct cmd_tbl *cmdtp, int flag, int argc,
                        char *const argv[])
 {
        /*
-        * 0xe7f...f.   is undefined in ARM mode
-        * 0xde..       is undefined in Thumb mode
+        * Instructions starting with the upper 16 bits all 0 are permanently
+        * undefined. The lower 16 bits can be used for some kind of immediate.
+        * --- ARMv8 ARM (ARM DDI 0487G.a C6.2.339: "UDF")
         */
-       asm volatile (".word 0xe7f7defb\n");
+       asm volatile (".word 0x00001234\n");
+
+       return CMD_RET_FAILURE;
+}
+
+/*
+ * The ID_AA64MMFR2_EL1 register name is only know to binutils for ARMv8.2
+ * and later architecture revisions. However the register is valid regardless
+ * of binutils architecture support or the core the code is running on, so
+ * just use the generic encoding.
+ */
+#define ID_AA64MMFR2_EL1 "S3_0_C0_C7_2"
+
+static int do_unaligned(struct cmd_tbl *cmdtp, int flag, int argc,
+                       char *const argv[])
+{
+       uint64_t reg;
+
+       /*
+        * The unaligned LDAR access below is only guaranteed to generate an
+        * alignment fault on cores not implementing FEAT_LSE2. To avoid false
+        * negatives, check this condition before we exectute LDAR.
+        */
+       asm ("mrs %0, "ID_AA64MMFR2_EL1"\n" : "=r" (reg));
+       if (reg & GENMASK(35, 32)) {
+               printf("unaligned access check only supported on pre-v8.4 cores\n");
+               return CMD_RET_FAILURE;
+       }
+
+       /*
+        * The load acquire instruction requires the data source to be
+        * naturally aligned, and will fault even if strict alignment fault
+        * checking is disabled (but only without FEAT_LSE2).
+        * --- ARMv8 ARM (ARM DDI 0487G.a B2.5.2: "Alignment of data accesses")
+        */
+       asm volatile (
+               "mov    x1, sp\n\t"
+               "orr    x1, x1, #3\n\t"
+               "ldar   x0, [x1]\n"
+               ::: "x0", "x1" );
+
+       return CMD_RET_FAILURE;
+}
+
+static int do_breakpoint(struct cmd_tbl *cmdtp, int flag, int argc,
+                        char *const argv[])
+{
+       asm volatile ("brk      #123\n");
+
        return CMD_RET_FAILURE;
 }
 
 static struct cmd_tbl cmd_sub[] = {
+       U_BOOT_CMD_MKENT(breakpoint, CONFIG_SYS_MAXARGS, 1, do_breakpoint,
+                        "", ""),
+       U_BOOT_CMD_MKENT(unaligned, CONFIG_SYS_MAXARGS, 1, do_unaligned,
+                        "", ""),
        U_BOOT_CMD_MKENT(undefined, CONFIG_SYS_MAXARGS, 1, do_undefined,
                         "", ""),
 };
@@ -27,7 +81,9 @@ static struct cmd_tbl cmd_sub[] = {
 static char exception_help_text[] =
        "<ex>\n"
        "  The following exceptions are available:\n"
-       "  undefined  - undefined instruction\n"
+       "  breakpoint - breakpoint instruction exception\n"
+       "  unaligned  - unaligned LDAR data abort\n"
+       "  undefined  - undefined instruction exception\n"
        ;
 
 #include <exception.h>
diff --git a/cmd/erofs.c b/cmd/erofs.c
new file mode 100644 (file)
index 0000000..add80b8
--- /dev/null
@@ -0,0 +1,42 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2022 Huang Jianan <jnhuang95@gmail.com>
+ *
+ * Author: Huang Jianan <jnhuang95@gmail.com>
+ *
+ * erofs.c:    implements EROFS related commands
+ */
+
+#include <command.h>
+#include <fs.h>
+#include <erofs.h>
+
+static int do_erofs_ls(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[])
+{
+       return do_ls(cmdtp, flag, argc, argv, FS_TYPE_EROFS);
+}
+
+U_BOOT_CMD(erofsls, 4, 1, do_erofs_ls,
+          "List files in directory. Default: root (/).",
+          "<interface> [<dev[:part]>] [directory]\n"
+          "    - list files from 'dev' on 'interface' in 'directory'\n"
+);
+
+static int do_erofs_load(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[])
+{
+       return do_load(cmdtp, flag, argc, argv, FS_TYPE_EROFS);
+}
+
+U_BOOT_CMD(erofsload, 7, 0, do_erofs_load,
+          "load binary file from a EROFS filesystem",
+          "<interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]]\n"
+          "    - Load binary file 'filename' from 'dev' on 'interface'\n"
+          "      to address 'addr' from EROFS filesystem.\n"
+          "      'pos' gives the file position to start loading from.\n"
+          "      If 'pos' is omitted, 0 is used. 'pos' requires 'bytes'.\n"
+          "      'bytes' gives the size to load. If 'bytes' is 0 or omitted,\n"
+          "      the load stops on end of file.\n"
+          "      If either 'pos' or 'bytes' are not aligned to\n"
+          "      ARCH_DMA_MINALIGN then a misaligned buffer warning will\n"
+          "      be printed and performance will suffer for the load."
+);
diff --git a/cmd/event.c b/cmd/event.c
new file mode 100644 (file)
index 0000000..9cac202
--- /dev/null
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Command-line access to events
+ *
+ * Copyright 2021 Google LLC
+ * Written by Simon Glass <sjg@chromium.org>
+ */
+
+#include <common.h>
+#include <command.h>
+#include <event.h>
+
+static int do_event_list(struct cmd_tbl *cmdtp, int flag, int argc,
+                        char *const argv[])
+{
+       event_show_spy_list();
+
+       return 0;
+}
+
+#ifdef CONFIG_SYS_LONGHELP
+static char event_help_text[] =
+       "event list   - list event spies";
+#endif
+
+U_BOOT_CMD_WITH_SUBCMDS(event, "Events", event_help_text,
+       U_BOOT_SUBCMD_MKENT(list, 1, 1, do_event_list));
index 82cd864baf9362a321088bc291779acdaadcf126..383eb4d562759cc91a74cbc11fe8c14a82006751 100644 (file)
@@ -492,6 +492,37 @@ config DISPLAY_BOARDINFO_LATE
 
 menu "Start-up hooks"
 
+config EVENT
+       bool "General-purpose event-handling mechanism"
+       default y if SANDBOX
+       help
+         This enables sending and processing of events, to allow interested
+         parties to be alerted when something happens. This is an attempt to
+         step the flow of weak functions, hooks, functions in board_f.c
+         and board_r.c and the Kconfig options below.
+
+         See doc/develop/event.rst for more information.
+
+if EVENT
+
+config EVENT_DYNAMIC
+       bool "Support event registration at runtime"
+       default y if SANDBOX
+       help
+         Enable this to support adding an event spy at runtime, without adding
+         it to the EVENT_SPy() linker list. This increases code size slightly
+         but provides more flexibility for boards and subsystems that need it.
+
+config EVENT_DEBUG
+       bool "Enable event debugging assistance"
+       default y if SANDBOX
+       help
+         Enable this get usefui features for seeing what is happening with
+         events, such as event-type names. This adds to the code size of
+         U-Boot so can be turned off for production builds.
+
+endif # EVENT
+
 config ARCH_EARLY_INIT_R
        bool "Call arch-specific init soon after relocation"
        help
@@ -524,6 +555,12 @@ config BOARD_EARLY_INIT_R
          relocation. With this option, U-Boot calls board_early_init_r()
          in the post-relocation init sequence.
 
+config BOARD_POSTCLK_INIT
+       bool "Call board_postclk_init"
+       help
+         Some boards need this to initialize select items, after clocks /
+         timebase and before env / serial.
+
 config BOARD_LATE_INIT
        bool "Execute Board late init"
        help
@@ -552,12 +589,6 @@ config LAST_STAGE_INIT
          U-Boot calls last_stage_init() before the command-line interpreter is
          started.
 
-config MISC_INIT_F
-       bool "Execute pre-relocation misc init"
-       help
-         Enabling this option calls the 'misc_init_f' function in the init
-         sequence just before DRAM is inited.
-
 config MISC_INIT_R
        bool "Execute Misc Init"
        default y if ARCH_KEYSTONE || ARCH_SUNXI || MPC85xx
@@ -580,6 +611,12 @@ config PCI_INIT_R
          case of DM PCI-based Ethernet devices, which will not be detected
          without having the enumeration performed earlier.
 
+config RESET_PHY_R
+       bool "Reset ethernet PHY during init"
+       help
+         Implement reset_phy() in board code if required to reset the ethernet
+         PHY.
+
 endmenu
 
 endmenu                # Init options
index 3eff71960160076cd2b7658fd6f03b88be085422..cc2ba30c631f65f8a7fff4eb9fd0871b1cbf5522 100644 (file)
@@ -89,6 +89,8 @@ obj-y += malloc_simple.o
 endif
 endif
 
+obj-$(CONFIG_$(SPL_TPL_)EVENT) += event.o
+
 obj-$(CONFIG_$(SPL_TPL_)HASH) += hash.o
 obj-$(CONFIG_IO_TRACE) += iotrace.o
 obj-y += memsize.o
index a68760092ac1afacc4b2be9c88e29285c88d0b9e..5b655ad6efe4ce36a895c17918e9aa5f51915795 100644 (file)
@@ -19,6 +19,7 @@
 #include <dm.h>
 #include <env.h>
 #include <env_internal.h>
+#include <event.h>
 #include <fdtdec.h>
 #include <fs.h>
 #include <hang.h>
@@ -802,19 +803,19 @@ __weak int reserve_arch(void)
        return 0;
 }
 
-__weak int arch_cpu_init_dm(void)
+__weak int checkcpu(void)
 {
        return 0;
 }
 
-__weak int checkcpu(void)
+__weak int clear_bss(void)
 {
        return 0;
 }
 
-__weak int clear_bss(void)
+static int misc_init_f(void)
 {
-       return 0;
+       return event_notify_null(EVT_MISC_INIT_F);
 }
 
 static const init_fnc_t init_sequence_f[] = {
@@ -828,6 +829,7 @@ static const init_fnc_t init_sequence_f[] = {
        initf_malloc,
        log_init,
        initf_bootstage,        /* uses its own timer, so does not need DM */
+       event_init,
 #ifdef CONFIG_BLOBLIST
        bloblist_init,
 #endif
@@ -841,7 +843,6 @@ static const init_fnc_t init_sequence_f[] = {
        arch_cpu_init,          /* basic arch cpu dependent setup */
        mach_cpu_init,          /* SoC/machine dependent CPU setup */
        initf_dm,
-       arch_cpu_init_dm,
 #if defined(CONFIG_BOARD_EARLY_INIT_F)
        board_early_init_f,
 #endif
@@ -875,9 +876,7 @@ static const init_fnc_t init_sequence_f[] = {
        show_board_info,
 #endif
        INIT_FUNC_WATCHDOG_INIT
-#if defined(CONFIG_MISC_INIT_F)
        misc_init_f,
-#endif
        INIT_FUNC_WATCHDOG_RESET
 #if CONFIG_IS_ENABLED(SYS_I2C_LEGACY)
        init_func_i2c,
index c24d9b4e220b83221760ada758524dd64fe48b4d..b92c1bb0be1b5ff3fd168574ee6bbb5e1078b744 100644 (file)
@@ -594,6 +594,7 @@ static int run_main_loop(void)
 static init_fnc_t init_sequence_r[] = {
        initr_trace,
        initr_reloc,
+       event_init,
        /* TODO: could x86/PPC have this also perhaps? */
 #if defined(CONFIG_ARM) || defined(CONFIG_RISCV)
        initr_caches,
diff --git a/common/event.c b/common/event.c
new file mode 100644 (file)
index 0000000..9d67a06
--- /dev/null
@@ -0,0 +1,196 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Events provide a general-purpose way to react to / subscribe to changes
+ * within U-Boot
+ *
+ * Copyright 2021 Google LLC
+ * Written by Simon Glass <sjg@chromium.org>
+ */
+
+#define LOG_CATEGORY   LOGC_EVENT
+
+#include <common.h>
+#include <event.h>
+#include <event_internal.h>
+#include <log.h>
+#include <linker_lists.h>
+#include <malloc.h>
+#include <asm/global_data.h>
+#include <linux/list.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+#if CONFIG_IS_ENABLED(EVENT_DEBUG)
+const char *const type_name[] = {
+       "none",
+       "test",
+
+       /* Events related to driver model */
+       "dm_post_init",
+       "dm_pre_probe",
+       "dm_post_probe",
+       "dm_pre_remove",
+       "dm_post_remove",
+
+       /* init hooks */
+       "misc_init_f",
+};
+
+_Static_assert(ARRAY_SIZE(type_name) == EVT_COUNT, "event type_name size");
+#endif
+
+static const char *event_type_name(enum event_t type)
+{
+#if CONFIG_IS_ENABLED(EVENT_DEBUG)
+       return type_name[type];
+#else
+       return "(unknown)";
+#endif
+}
+
+static int notify_static(struct event *ev)
+{
+       struct evspy_info *start =
+               ll_entry_start(struct evspy_info, evspy_info);
+       const int n_ents = ll_entry_count(struct evspy_info, evspy_info);
+       struct evspy_info *spy;
+
+       for (spy = start; spy != start + n_ents; spy++) {
+               if (spy->type == ev->type) {
+                       int ret;
+
+                       log_debug("Sending event %x/%s to spy '%s'\n", ev->type,
+                                 event_type_name(ev->type), event_spy_id(spy));
+                       ret = spy->func(NULL, ev);
+
+                       /*
+                        * TODO: Handle various return codes to
+                        *
+                        * - claim an event (no others will see it)
+                        * - return an error from the event
+                        */
+                       if (ret)
+                               return log_msg_ret("spy", ret);
+               }
+       }
+
+       return 0;
+}
+
+static int notify_dynamic(struct event *ev)
+{
+       struct event_state *state = gd_event_state();
+       struct event_spy *spy, *next;
+
+       list_for_each_entry_safe(spy, next, &state->spy_head, sibling_node) {
+               if (spy->type == ev->type) {
+                       int ret;
+
+                       log_debug("Sending event %x/%s to spy '%s'\n", ev->type,
+                                 event_type_name(ev->type), spy->id);
+                       ret = spy->func(spy->ctx, ev);
+
+                       /*
+                        * TODO: Handle various return codes to
+                        *
+                        * - claim an event (no others will see it)
+                        * - return an error from the event
+                        */
+                       if (ret)
+                               return log_msg_ret("spy", ret);
+               }
+       }
+
+       return 0;
+}
+
+int event_notify(enum event_t type, void *data, int size)
+{
+       struct event event;
+       int ret;
+
+       event.type = type;
+       if (size > sizeof(event.data))
+               return log_msg_ret("size", -E2BIG);
+       memcpy(&event.data, data, size);
+
+       ret = notify_static(&event);
+       if (ret)
+               return log_msg_ret("dyn", ret);
+
+       if (CONFIG_IS_ENABLED(EVENT_DYNAMIC)) {
+               ret = notify_dynamic(&event);
+               if (ret)
+                       return log_msg_ret("dyn", ret);
+       }
+
+       return 0;
+}
+
+int event_notify_null(enum event_t type)
+{
+       return event_notify(type, NULL, 0);
+}
+
+void event_show_spy_list(void)
+{
+       struct evspy_info *start =
+               ll_entry_start(struct evspy_info, evspy_info);
+       const int n_ents = ll_entry_count(struct evspy_info, evspy_info);
+       struct evspy_info *spy;
+       const int size = sizeof(ulong) * 2;
+
+       printf("Seq  %-24s  %*s  %s\n", "Type", size, "Function", "ID");
+       for (spy = start; spy != start + n_ents; spy++) {
+               printf("%3x  %-3x %-20s  %*p  %s\n", (uint)(spy - start),
+                      spy->type, event_type_name(spy->type), size, spy->func,
+                      event_spy_id(spy));
+       }
+}
+
+#if CONFIG_IS_ENABLED(EVENT_DYNAMIC)
+static void spy_free(struct event_spy *spy)
+{
+       list_del(&spy->sibling_node);
+}
+
+int event_register(const char *id, enum event_t type, event_handler_t func, void *ctx)
+{
+       struct event_state *state = gd_event_state();
+       struct event_spy *spy;
+
+       if (!CONFIG_IS_ENABLED(EVENT_DYNAMIC))
+               return -ENOSYS;
+       spy = malloc(sizeof(*spy));
+       if (!spy)
+               return log_msg_ret("alloc", -ENOMEM);
+
+       spy->id = id;
+       spy->type = type;
+       spy->func = func;
+       spy->ctx = ctx;
+       list_add_tail(&spy->sibling_node, &state->spy_head);
+
+       return 0;
+}
+
+int event_uninit(void)
+{
+       struct event_state *state = gd_event_state();
+       struct event_spy *spy, *next;
+
+       list_for_each_entry_safe(spy, next, &state->spy_head, sibling_node)
+               spy_free(spy);
+
+       return 0;
+}
+
+int event_init(void)
+{
+       struct event_state *state = gd_event_state();
+
+       INIT_LIST_HEAD(&state->spy_head);
+
+       return 0;
+}
+#endif /* EVENT_DYNAMIC */
index 16a0a7cea8fc95a153da45d6cdc8c24bce3e6771..bd2f020d5dac90d4a45c9a1c1c12d47ae0302ec0 100644 (file)
@@ -90,54 +90,6 @@ static void lcd_stub_puts(struct stdio_dev *dev, const char *s)
        lcd_puts(s);
 }
 
-/* Small utility to check that you got the colours right */
-#ifdef LCD_TEST_PATTERN
-
-#if LCD_BPP == LCD_COLOR8
-#define        N_BLK_VERT      2
-#define        N_BLK_HOR       3
-
-static int test_colors[N_BLK_HOR * N_BLK_VERT] = {
-       CONSOLE_COLOR_RED,      CONSOLE_COLOR_GREEN,    CONSOLE_COLOR_YELLOW,
-       CONSOLE_COLOR_BLUE,     CONSOLE_COLOR_MAGENTA,  CONSOLE_COLOR_CYAN,
-}; /*LCD_BPP == LCD_COLOR8 */
-
-#elif LCD_BPP == LCD_COLOR16
-#define        N_BLK_VERT      2
-#define        N_BLK_HOR       4
-
-static int test_colors[N_BLK_HOR * N_BLK_VERT] = {
-       CONSOLE_COLOR_RED,      CONSOLE_COLOR_GREEN,    CONSOLE_COLOR_YELLOW,   CONSOLE_COLOR_BLUE,
-       CONSOLE_COLOR_MAGENTA,  CONSOLE_COLOR_CYAN,     CONSOLE_COLOR_GREY,     CONSOLE_COLOR_WHITE,
-};
-#endif /*LCD_BPP == LCD_COLOR16 */
-
-static void test_pattern(void)
-{
-       ushort v_max  = panel_info.vl_row;
-       ushort h_max  = panel_info.vl_col;
-       ushort v_step = (v_max + N_BLK_VERT - 1) / N_BLK_VERT;
-       ushort h_step = (h_max + N_BLK_HOR  - 1) / N_BLK_HOR;
-       ushort v, h;
-#if LCD_BPP == LCD_COLOR8
-       uchar *pix = (uchar *)lcd_base;
-#elif LCD_BPP == LCD_COLOR16
-       ushort *pix = (ushort *)lcd_base;
-#endif
-
-       printf("[LCD] Test Pattern: %d x %d [%d x %d]\n",
-               h_max, v_max, h_step, v_step);
-
-       for (v = 0; v < v_max; ++v) {
-               uchar iy = v / v_step;
-               for (h = 0; h < h_max; ++h) {
-                       uchar ix = N_BLK_HOR * iy + h / h_step;
-                       *pix++ = test_colors[ix];
-               }
-       }
-}
-#endif /* LCD_TEST_PATTERN */
-
 /*
  * With most lcd drivers the line length is set up
  * by calculating it from panel_info parameters. Some
@@ -201,9 +153,6 @@ void lcd_clear(void)
        bg_color = CONSOLE_COLOR_BLACK;
 #endif /* CONFIG_SYS_WHITE_ON_BLACK */
 
-#ifdef LCD_TEST_PATTERN
-       test_pattern();
-#else
        /* set framebuffer to background color */
 #if (LCD_BPP != LCD_COLOR32)
        memset((char *)lcd_base, bg_color, lcd_line_length * panel_info.vl_row);
@@ -215,7 +164,6 @@ void lcd_clear(void)
           i++) {
                *ppix++ = bg_color;
        }
-#endif
 #endif
        /* setup text-console */
        debug("[LCD] setting up console...\n");
index f7e0c0fbf556a5cab360bdca052a20b57f87cf5a..7254aa70bfdf30676fb049e1d56cc12abf69bd00 100644 (file)
@@ -28,6 +28,7 @@ static const char *const log_cat_name[] = {
        "devres",
        "acpi",
        "boot",
+       "event",
 };
 
 _Static_assert(ARRAY_SIZE(log_cat_name) == LOGC_COUNT - LOGC_NONE,
index 7d4d15ed9189019631578ac9b88ee1f7ac82ce3d..194c84e7e89d1c2515e6dec34ca55283ec9801fe 100644 (file)
@@ -366,7 +366,7 @@ int miiphy_reset(const char *devname, unsigned char addr)
                debug("PHY reset failed\n");
                return -1;
        }
-#ifdef CONFIG_PHY_RESET_DELAY
+#if CONFIG_PHY_RESET_DELAY > 0
        udelay(CONFIG_PHY_RESET_DELAY); /* Intel LXT971A needs this */
 #endif
        /*
index 9418d37b2e21510cf15e51c89fd78aa7d896c713..dc319adeacd9729ee57dde52c5fcb6002c0cf132 100644 (file)
@@ -1334,16 +1334,16 @@ config TPL_SIZE_LIMIT
          If this value is zero, it is ignored.
 
 config TPL_BINMAN_SYMBOLS
-       bool "Declare binman symbols in SPL"
+       bool "Declare binman symbols in TPL"
        depends on SPL_FRAMEWORK && BINMAN
        default y
        help
-         This enables use of symbols in TPL which refer to U-Boot, enabling SPL
+         This enables use of symbols in TPL which refer to U-Boot, enabling TPL
          to obtain the location of U-Boot simply by calling spl_get_image_pos()
          and spl_get_image_size().
 
          For this to work, you must have a U-Boot image in the binman image, so
-         binman can update SPL with the location of it.
+         binman can update TPL with the location of it.
 
 config TPL_FRAMEWORK
        bool "Support TPL based upon the common SPL framework"
index 7f5ca9adad2d4b08984b7ac4555e96ff2c1a7c18..517c3b016a2438769a7f539eb72037b2f4a78641 100644 (file)
@@ -18,6 +18,7 @@ CONFIG_CMD_CPU=y
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_ITEST is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
@@ -26,6 +27,8 @@ CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xF4080000
 CONFIG_VERSION_VARIABLE=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
+CONFIG_SYS_RX_ETH_BUFFER=0
 CONFIG_ALTERA_PIO=y
 CONFIG_MISC=y
 CONFIG_ALTERA_SYSID=y
index e7911f0a155a3ee6009bc0e99802967f8d0d91dd..0470fb10dbb80696e4e8eb7dcf004d2eed0f92c0 100644 (file)
@@ -18,6 +18,7 @@ CONFIG_CMD_CPU=y
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_ITEST is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
@@ -26,6 +27,8 @@ CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xE2880000
 CONFIG_VERSION_VARIABLE=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
+CONFIG_SYS_RX_ETH_BUFFER=0
 CONFIG_ALTERA_PIO=y
 CONFIG_MISC=y
 CONFIG_ALTERA_SYSID=y
index 8917af3c93ac7d4367f58930d517b70f5ea28405..a66aef0755ad285e481a52d9a1ae69dc4b68917a 100644 (file)
@@ -9,6 +9,7 @@ CONFIG_MMC0_CD_PIN="PH13"
 CONFIG_MMC_SUNXI_SLOT_EXTRA=2
 CONFIG_USB1_VBUS_PIN="PH23"
 CONFIG_USB2_VBUS_PIN="PH23"
+# CONFIG_HAS_ARMV7_SECURE_BASE is not set
 CONFIG_AHCI=y
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL_I2C=y
index b50bae9bbdea555c8f40e9b9270dd5be855d423e..9815348badd113a96374af03756c7a385c61cca1 100644 (file)
@@ -4,4 +4,5 @@ CONFIG_DEFAULT_DEVICE_TREE="sun8i-v3s-licheepi-zero"
 CONFIG_SPL=y
 CONFIG_MACH_SUN8I_V3S=y
 CONFIG_DRAM_CLK=360
+# CONFIG_HAS_ARMV7_SECURE_BASE is not set
 # CONFIG_NETDEVICES is not set
index e79791cdfd0050c11a1cead84ad9a56651dd967e..6d533d6bee82489a2ddc909c156359effdfef94a 100644 (file)
@@ -14,11 +14,14 @@ CONFIG_SYS_PROMPT="-> "
 CONFIG_CMD_IMLS=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_MII=y
+CONFIG_MII_INIT=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0x2000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_UDP_CHECKSUM=y
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SYS_I2C_FSL=y
index abac898723c077fa00ce25040c8b2024993dfa24..7552741395a0a759265cef11ebc2a0d10ab0434c 100644 (file)
@@ -18,12 +18,18 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_PCI=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
+CONFIG_MII_INIT=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xFFE04000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="u-boot.bin"
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SYS_I2C_FSL=y
 CONFIG_SYS_FSL_I2C_OFFSET=0x300
index 8a12e4bd207600128eee0077e11666d857e5266c..1bdb63ad1c6c4c013ad32e925ba2a603a392cfd9 100644 (file)
@@ -18,12 +18,18 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_PCI=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
+CONFIG_MII_INIT=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xFFE04000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="u-boot.bin"
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SYS_I2C_FSL=y
 CONFIG_SYS_FSL_I2C_OFFSET=0x300
index e46b097be0de97ddbdb65b7177faba31aa8dcafd..f0a6aac761253200fb49107b023e14be6044b8e6 100644 (file)
@@ -15,11 +15,15 @@ CONFIG_CMD_IMLS=y
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
+CONFIG_MII_INIT=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_ENV_ADDR=0xFFE04000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xFFE00201
 CONFIG_SYS_OR0_PRELIM=0xFFE00014
index 3cb77b77cf0135ef5f9a0c733234cab457b2074c..809bda0c068714d4df23f9bdc2615ab322fda087 100644 (file)
@@ -19,11 +19,15 @@ CONFIG_CMD_I2C=y
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
+CONFIG_MII_INIT=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_ENV_ADDR=0xFFE04000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SYS_I2C_FSL=y
 CONFIG_SYS_FSL_I2C_OFFSET=0x300
index 0d17cf566d010a5df0188c7d1d9130bea27e6c76..69db87c0da286ca2450eb14c55bbb8844c93eb6f 100644 (file)
@@ -15,11 +15,15 @@ CONFIG_CMD_IMLS=y
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
+CONFIG_MII_INIT=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_ENV_ADDR=0xFFE04000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
 CONFIG_SYS_FLASH_PROTECTION=y
index b8292fdccffc0773554c67dd054e94f650a62aeb..8283b52e626aa5e531f9580a7c9c444b502da37d 100644 (file)
@@ -16,11 +16,14 @@ CONFIG_SYS_PROMPT="-> "
 CONFIG_CMD_IMLS=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_MII=y
+CONFIG_MII_INIT=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_DATE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0x40000
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_UDP_CHECKSUM=y
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SYS_I2C_FSL=y
index a6896650b19d574290bdc1aa418f619781f2f75b..1092a1de51eb13f808d88bd9b6843b5ca5ddb6f3 100644 (file)
@@ -17,11 +17,14 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_NAND=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_MII=y
+CONFIG_MII_INIT=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_DATE=y
 CONFIG_ENV_ADDR=0x4000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_UDP_CHECKSUM=y
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SYS_I2C_FSL=y
index c640a3c38e81fe50797176bce1612203e6b0fe37..66347d5f0962370176f97fe9dcd0f83e54db48aa 100644 (file)
@@ -17,11 +17,14 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_NAND=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_MII=y
+CONFIG_MII_INIT=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_DATE=y
 CONFIG_ENV_ADDR=0x4000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_UDP_CHECKSUM=y
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SYS_I2C_FSL=y
index c5aa3fd5e469e5e4e0112a8705d23c0c42a5480f..38d20023d555da2255ea0856accd4fea1df0d102 100644 (file)
@@ -17,11 +17,14 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_NAND=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_MII=y
+CONFIG_MII_INIT=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_DATE=y
 CONFIG_ENV_ADDR=0x4000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_UDP_CHECKSUM=y
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SYS_I2C_FSL=y
index 04fe75651337dba9282e01fd4139e365604033b4..f174865806c4a0cdf69c950a85b362c2e5948dad 100644 (file)
@@ -42,6 +42,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
+CONFIG_MII_INIT=y
 CONFIG_CMD_PING=y
 # CONFIG_CMD_SLEEP is not set
 CONFIG_OF_CONTROL=y
index eac5b74147ca399bde6f014599a90198a8a7c211..e83097b69a487a4cd37612f55e3d626f6fe83586 100644 (file)
@@ -160,6 +160,7 @@ CONFIG_CMD_PCI=y
 CONFIG_CMD_SATA=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_DATE=y
@@ -168,6 +169,10 @@ CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_ADDR=0xFE080000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="TSEC0"
 CONFIG_DM=y
 CONFIG_FSL_SATA=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
index d6351d5b11b9396a3ee4db0814db93440141bb0f..7eed139e08979dd8888c5413527254cb17ce49ba 100644 (file)
@@ -23,13 +23,19 @@ CONFIG_SYS_I2C_EEPROM_ADDR_LEN=2
 CONFIG_CMD_I2C=y
 CONFIG_CMD_PCI=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 # CONFIG_CMD_HASH is not set
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_ADDR=0xFFF60000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="8548cds/uImage.uboot"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC0"
 CONFIG_DM=y
+CONFIG_CHIP_SELECTS_PER_CTRL=2
 CONFIG_DDR_ECC=y
 CONFIG_ECC_INIT_VIA_DDRCONTROLLER=y
 CONFIG_SYS_BR0_PRELIM_BOOL=y
index da0b80b09d7bc0736c97aaba70fb64fee787d97f..e77de5a7ced3329a3148f2405ce6e3a26740586a 100644 (file)
@@ -22,13 +22,19 @@ CONFIG_SYS_I2C_EEPROM_ADDR_LEN=2
 CONFIG_CMD_I2C=y
 CONFIG_CMD_PCI=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 # CONFIG_CMD_HASH is not set
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_ADDR=0xFFF60000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="8548cds/uImage.uboot"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC0"
 CONFIG_DM=y
+CONFIG_CHIP_SELECTS_PER_CTRL=2
 CONFIG_DDR_ECC=y
 CONFIG_ECC_INIT_VIA_DDRCONTROLLER=y
 CONFIG_SYS_BR0_PRELIM_BOOL=y
index 87d1fd716c95b4de1f5ee4c2950f23ef2419d9b1..123dd20c82f5bcb4da24bc7af5a94f90bfc4eee4 100644 (file)
@@ -22,13 +22,19 @@ CONFIG_CMD_IMLS=y
 CONFIG_SYS_I2C_EEPROM_ADDR_LEN=2
 CONFIG_CMD_I2C=y
 CONFIG_CMD_PCI=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 # CONFIG_CMD_HASH is not set
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_ADDR=0xFFF60000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="8548cds/uImage.uboot"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC0"
 CONFIG_DM=y
+CONFIG_CHIP_SELECTS_PER_CTRL=2
 CONFIG_DDR_ECC=y
 CONFIG_ECC_INIT_VIA_DDRCONTROLLER=y
 CONFIG_SYS_BR0_PRELIM_BOOL=y
index 61fd2a78a4e35eed29953de84f79516c5ba3639d..a27b532df9a42c12abd6096b8eedc5666e4c7fd6 100644 (file)
@@ -53,10 +53,15 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_DM_I2C=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
 CONFIG_TPL_SYS_I2C_LEGACY=y
index 0e537ebb5213c376cc6733fe9982604986c7f639..b9953d78f13de2c48d997e6b42b5c45750b2acb7 100644 (file)
@@ -35,10 +35,15 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_DM_I2C=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
index dc113be28d903a20c821c2a8a3c2c9169cdbc597..41c62fceb072dc36de2841f8afdfdb86b137242f 100644 (file)
@@ -47,10 +47,15 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_DM_I2C=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
index cd5c80c6346c2c45fc438cf1d3fcbc6b2a810a10..cd27bf5e6ec38275e29caccb45f3811e25984885 100644 (file)
@@ -49,10 +49,15 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_DM_I2C=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
index f80a0d929c1368a36082cf785eea1de9deaa8d9e..f99eb140c64384d54d556b2ac0218531b1c984a7 100644 (file)
@@ -52,10 +52,15 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_DM_I2C=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
 CONFIG_TPL_SYS_I2C_LEGACY=y
index 035aac226bb5b3434f11c9effef8ece6be8fbe25..9a4a1b523a36b71829cd3097a069808d5c04e972 100644 (file)
@@ -34,10 +34,15 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_DM_I2C=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
index cd031d218c3880aa542bd63929c43e0e27c5d4fa..c26f71fb28c7fb092f467d0d12a5c150e36626d5 100644 (file)
@@ -46,10 +46,15 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_DM_I2C=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
index f339502637b7f26bdb5aaff3175ed19195b6ee20..fcae768acd3094d8785a737e55843484aea3570c 100644 (file)
@@ -48,10 +48,15 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_DM_I2C=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
index ba64f8818fb828ea67c24edf6a38e0d94b5fe762..f33dcc79b69a42c2424720645e6790404376cbf6 100644 (file)
@@ -54,10 +54,15 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_DM_I2C=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
 CONFIG_TPL_SYS_I2C_LEGACY=y
index a8e95568714d041ec4808a659d4c79458c7b1176..61654ea91bf60333833f24076a755a80494a93a5 100644 (file)
@@ -36,10 +36,15 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_DM_I2C=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
index 871996711db3f3d1e87fe84921b43284812c44e3..032064ebcee9fea1db0bee50b5c900f04c26bc6a 100644 (file)
@@ -48,10 +48,15 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_DM_I2C=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
index 2d646f9f54d9b0e4bfddb19469e36a1c4f912a58..1e2c162c99087475920d1aa598549fbc7eec79e4 100644 (file)
@@ -50,10 +50,15 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_DM_I2C=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
index f8437ff032f94826223743675d430fc93db46059..97e5a53bdbb732161134747ce60ba092d0d94198 100644 (file)
@@ -53,10 +53,15 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_DM_I2C=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
 CONFIG_TPL_SYS_I2C_LEGACY=y
index b99531c4cd90ba54b47ab927d225b4af96cc9af6..deadf0163342a1078da07531471b2276c7a5c90f 100644 (file)
@@ -35,10 +35,15 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_DM_I2C=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
index ebe2af6f4a1d3208466f778d1e23f8edf3a16391..f1aa913c01900499b62fda541087c6969dd2683b 100644 (file)
@@ -47,10 +47,15 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_DM_I2C=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
index 7893782fa44558422f1cbe2ba9e83e3f82045958..9e86cf035b6c0161000446e6885e527c4ac43bc1 100644 (file)
@@ -49,10 +49,15 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_DM_I2C=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
index 30b841d691bd692b681d62b88ab6d5f508e10e6a..5809999a8bf3458981c846c25ec7cbdc77a23589 100644 (file)
@@ -53,8 +53,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xFF800C21
 CONFIG_SYS_OR0_PRELIM=0xFFFF8396
index 79edbf388d4911f1dc26bcc29674126d1dec322a..4d7bbfc10a18ccbe2d7e891325df8776c5ccbae6 100644 (file)
@@ -48,8 +48,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xEF001001
 CONFIG_SYS_OR0_PRELIM=0xFC000FF7
index c5a64de98e08900c11002cd44460f79ac6cf4946..06737886ca6e87d0def8cdded450f29ae712873b 100644 (file)
@@ -50,8 +50,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xEF001001
 CONFIG_SYS_OR0_PRELIM=0xFC000FF7
index 9671a6d33008697a60b9338979cadd6a0d6e15df..991a8d54fe425021710c2521381f14b5e64b293c 100644 (file)
@@ -37,8 +37,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xEF001001
 CONFIG_SYS_OR0_PRELIM=0xFC000FF7
index 0201c51a5d0d26a67489e61c063c7ba6edbbb41f..9d44ea6dae5524f86a56ab8bdca27507380e0163 100644 (file)
@@ -52,8 +52,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xFF800C21
 CONFIG_SYS_OR0_PRELIM=0xFFFF8396
index 371a8b5f8b84cf411e44b2a64067141bff4d007b..98134ed6e7c0ece332bb9797e146d780344a6719 100644 (file)
@@ -47,8 +47,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xEF001001
 CONFIG_SYS_OR0_PRELIM=0xFC000FF7
index 7c8b3c826cd0f328b253e31642ba6a2a21b7cf60..db18e2bc6d3e4b102846324c162be6a424e47d3f 100644 (file)
@@ -49,8 +49,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xEF001001
 CONFIG_SYS_OR0_PRELIM=0xFC000FF7
index 01b4fd363c4028b7125403f5b1e50f2888b2f5bc..2b1c28f9d855311443ac870db366dcb557068aa2 100644 (file)
@@ -36,8 +36,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xEF001001
 CONFIG_SYS_OR0_PRELIM=0xFC000FF7
index e70c1a7cbae6e0ca5fc7ed4fa73f29dd472cfbcd..c684e2825b19d95e1a87b3f08b189044ca1e70f8 100644 (file)
@@ -55,8 +55,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=2
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xFF800C21
 CONFIG_SYS_OR0_PRELIM=0xFFFF8796
index 2596b5255d356d739458b3cd8cf30bee9f472ae2..3cf23f74107156d826b64f35d0c360cd8a2b7b9a 100644 (file)
@@ -50,8 +50,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=2
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xEC001001
 CONFIG_SYS_OR0_PRELIM=0xFC000FF7
index f6f8888c82a7845953cbe1f3efb11037c987cd94..8d34c8bd86900842f4ab3c8d1bb0c018faae2f29 100644 (file)
@@ -52,8 +52,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=2
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xEC001001
 CONFIG_SYS_OR0_PRELIM=0xFC000FF7
index e1a4965caae5f48f90f0305ddc89c385f53905a4..8f3f6087d4d394ff4ba718512be3b5beb5b523a2 100644 (file)
@@ -39,8 +39,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=2
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xEC001001
 CONFIG_SYS_OR0_PRELIM=0xFC000FF7
index 2c302b682168ecaaddc40096b2261b65952aa01c..5d0fb73a4a5287621511a986c223de22c904c93f 100644 (file)
@@ -57,8 +57,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xFF800C21
 CONFIG_SYS_OR0_PRELIM=0xFFFF8396
index 2d080713e7a2b5c9a6775c431b66cdd602b46301..742b49679190e3ab827dce641ec8812a03b1a519 100644 (file)
@@ -52,8 +52,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xEF001001
 CONFIG_SYS_OR0_PRELIM=0xFC000FF7
index 7b53b02517111cf3f392d347e4f2507327c4af4f..def21ab31f68fb39ace254bed9641921c6e7da2b 100644 (file)
@@ -54,8 +54,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xEF001001
 CONFIG_SYS_OR0_PRELIM=0xFC000FF7
index 5e8a474c905a734cb54182a945169d063892a066..3123ed494e50e2a9ba5b48302915a75950f235da 100644 (file)
@@ -41,8 +41,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xEF001001
 CONFIG_SYS_OR0_PRELIM=0xFC000FF7
index 74165dc60aa74e036a3d37017ffc06e40acabd7f..6920f4fbea695d5c6e93b455a70999ec4404e4ac 100644 (file)
@@ -56,8 +56,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xFF800C21
 CONFIG_SYS_OR0_PRELIM=0xFFFF8396
index 0505f40a814802cdb2ecdcb71d2e19a1f229a922..3826d9767bda0d317b308ea7600ce54d2c506563 100644 (file)
@@ -51,8 +51,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xEF001001
 CONFIG_SYS_OR0_PRELIM=0xFC000FF7
index f1085fde470216f8a83b4925eefb3f5eeaaed891..2f14d87f381152f3fc2ac8489d35b19a3013f5e3 100644 (file)
@@ -53,8 +53,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xEF001001
 CONFIG_SYS_OR0_PRELIM=0xFC000FF7
index f933ed42fcedf46f78d96508f8e8733cb587d1d8..40a215e13ec28ef99f349adedbfa5a6a2ce00152 100644 (file)
@@ -40,8 +40,13 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=1
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xEF001001
 CONFIG_SYS_OR0_PRELIM=0xFC000FF7
index 01d61928a3da62166e2865191f80977eb8d27ed7..9c94522f1cd38b0eb63b3832784df4441a2d6a16 100644 (file)
@@ -39,6 +39,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index dc56c791d1fef8cb7f6bebe2d20e5ee4cd354d2f..6e06489f00f708a4255bf57e7badb9cf18a522be 100644 (file)
@@ -40,6 +40,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index 78a24503a495ae0045a1ffdae534fc917d35fa7b..62b6b0f8b24fbc4afe4d2461b2f711a795e934df 100644 (file)
@@ -41,6 +41,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index f6bf4daf23b44ef76df231022561b6434e464bdb..53868b115a5a1b9463b30c7c82ef7bdc21cf5495 100644 (file)
@@ -36,6 +36,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index ec5850017d67221a1d7550f4c6912f98e3df0d05..f8fcc1e4b881db2c4d240fd1c774cae654d4f462 100644 (file)
@@ -37,6 +37,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index 58a3eaea72f5df44eb3bec5ed5b80b80a05af791..7b68f9d1675e462e1b4f5237c37750c2853c7cc6 100644 (file)
@@ -38,6 +38,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index c48976b3d07016b2f2da6e27128b9c7228dcd883..3fc64267e7842bc9a77b7a70eee49f8e4e6693ae 100644 (file)
@@ -39,6 +39,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index fcc73610af82d8ea7a6ee41ee6b38e039765a7ed..63a7aef25979ca6ba672921514f0aed9a5127e33 100644 (file)
@@ -34,6 +34,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index 25f7861791db1e8f8bd98ff9eea50f3412c15984..680cf6c0088963d5e525bd5b1f4b388e691235ef 100644 (file)
@@ -38,6 +38,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC1"
 CONFIG_DM=y
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_ECC=y
index c32c394530b853d1fc8d8e4d471856be0437bc1c..b6c84e0b121d5f9f6b92900144c6eafdb5420e9a 100644 (file)
@@ -39,6 +39,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC1"
 CONFIG_DM=y
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_ECC=y
index e3c41c316f2be31f52738a95e63c600ba8b02f0f..713183ef8df406d19c9f8ee849959ffe66ff9c72 100644 (file)
@@ -34,6 +34,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC1"
 CONFIG_DM=y
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_ECC=y
index 279976c04d40b8a2a64b5b7d515b8ffd4280aef2..0e04acaddadb7058b8d6e5e5d23c51d6d0166c62 100644 (file)
@@ -38,6 +38,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index 34ebc51922ec5b951464ca7628af019d53e13462..02c068999644d2081c0ef91e1eb96399501656a1 100644 (file)
@@ -38,6 +38,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index ea8b67330409868d1605bd6b2b22dac2b6179e35..0fd401a2f9f14482840542603fb247083f43afce 100644 (file)
@@ -39,6 +39,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index e9bf7ff0144cccf1b4ea893df92e6778150804d6..a7ada440390fb7ec0a105d06efe3ad7c3bf17385 100644 (file)
@@ -34,6 +34,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index 77f44f6329edc5432c86071bd5691be56d8eb416..1a7f6cf5262ebb3693f20a0dd5c72ae2361c74e2 100644 (file)
@@ -18,6 +18,7 @@ CONFIG_BOOTDELAY=3
 CONFIG_SILENT_CONSOLE=y
 CONFIG_SILENT_U_BOOT_ONLY=y
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_DM=y
 # CONFIG_CMD_FLASH is not set
index b84e3bd9d6ac402657a35ec50ad0ea9ddbbff8e9..baa4b954943b0efc662fe87659c3fd9ad427c29c 100644 (file)
@@ -18,6 +18,7 @@ CONFIG_BOOTDELAY=3
 CONFIG_SILENT_CONSOLE=y
 CONFIG_SILENT_U_BOOT_ONLY=y
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_DM=y
 # CONFIG_CMD_FLASH is not set
index 20ded48a3515826fe3f9889787eb05c32685b391..3a5db2723fa2c7d86ff79ce2c70451bccc83b2db 100644 (file)
@@ -61,6 +61,10 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),9
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC4"
 CONFIG_DM=y
 CONFIG_FSL_CAAM=y
 CONFIG_SYS_FSL_DDR3=y
index 8a82082968c873a39b017f38ae6a99f48cb01ad7..0ce133e2801f989ee41ecd42e251d2457ae9251b 100644 (file)
@@ -60,6 +60,10 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),9
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC4"
 CONFIG_DM=y
 CONFIG_FSL_CAAM=y
 CONFIG_SYS_FSL_DDR3=y
index 87d40831d9c35be3cc49f898f1cdc15408020a32..0df88ea1a57ddfe784df898b401f5b161248a3dd 100644 (file)
@@ -62,6 +62,10 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),9
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC4"
 CONFIG_DM=y
 CONFIG_FSL_CAAM=y
 CONFIG_SYS_FSL_DDR3=y
index de34ba7a68aec754f0a79009d95f32a2b69786e8..a961763f2248f71ae708d7bf7bc1207987bacb5f 100644 (file)
@@ -45,6 +45,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC4"
 CONFIG_DM=y
 CONFIG_FSL_CAAM=y
 CONFIG_SYS_FSL_DDR3=y
index a755d9c702967c82afc5ce61009dde101b99e1e9..8225e6e822092358ce8c7914d6c711c6877f9640 100644 (file)
@@ -52,9 +52,14 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),9
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC4"
 CONFIG_DM=y
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=2
 CONFIG_DDR_ECC=y
 CONFIG_ECC_INIT_VIA_DDRCONTROLLER=y
 CONFIG_DM_I2C=y
index efb46b3bf2fd5f8507184575b2a0755f54f5bd24..5da685115ef1f6ea746c3d00eaf4f1674dd156f7 100644 (file)
@@ -51,9 +51,14 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),9
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC4"
 CONFIG_DM=y
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=2
 CONFIG_DDR_ECC=y
 CONFIG_ECC_INIT_VIA_DDRCONTROLLER=y
 CONFIG_DM_I2C=y
index 1568c797bf3e6a8af74d0450e9cce320df9aa24a..f6c0a0db44912e3c57e5ff6a6a433e820240f39d 100644 (file)
@@ -53,9 +53,14 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),9
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC4"
 CONFIG_DM=y
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=2
 CONFIG_DDR_ECC=y
 CONFIG_ECC_INIT_VIA_DDRCONTROLLER=y
 CONFIG_DM_I2C=y
index 3abd079dc6889690c430d7cfb60a66d6df083851..21e1c3d00d0e0c3a8971186463ab7adb244703c6 100644 (file)
@@ -36,9 +36,14 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC4"
 CONFIG_DM=y
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=2
 CONFIG_DDR_ECC=y
 CONFIG_ECC_INIT_VIA_DDRCONTROLLER=y
 CONFIG_DM_I2C=y
index 1b6ef8aaa1f28484c5bc418f14aef3c691415628..66883c78b82c1303c9a003c3d93468fcc4a83e4b 100644 (file)
@@ -55,6 +55,10 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),9
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index 8ab1c5d6809fb3e587d52bb0e2b856b0217ed0d6..7d8abc04ac991f55e241d0ec4d1c773778310f79 100644 (file)
@@ -54,6 +54,10 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),9
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index a84b7adab01838863db9922a3292b3b0cb7f2438..a7e62174de67c9139d1aa20f749a9caa50eb8fbd 100644 (file)
@@ -39,6 +39,10 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),9
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_DYNAMIC_DDR_CLK_FREQ=y
index 8fd024848ad6c453d155cf0a133af04455ba596e..8a495b93d1eb3769bbba1e5663ae9e706d67f48a 100644 (file)
@@ -56,6 +56,10 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),9
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index f9dbc84f922d6d6b6069165e841bd4aa26227607..cfc5f80a735f2c83f4b723dce31201a190567e29 100644 (file)
@@ -36,6 +36,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_REMOTE=y
 CONFIG_ENV_ADDR=0xFFE20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index 424b3f2cdb80fc6edfe11c740562e7248809240a..3967269f655b0dcc081707ae82ae4705effecbbe 100644 (file)
@@ -39,6 +39,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index 1c55d30b5e18b61ff1869a03ae3f40f99bff8e50..d0041d75e8c7a50d810b3ce5085238e3c739b480 100644 (file)
@@ -59,6 +59,10 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),9
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index ea9c479825cceb824037a32ada9fa80664cade03..7e9db21b3a1a6f8c020c874f73f790d392b5b446 100644 (file)
@@ -58,6 +58,10 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),9
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index 5e08b82406acd2210fcaa357bbda7daeedc673c9..498b2463bb036c87f6429463979b31f99786b2bb 100644 (file)
@@ -60,6 +60,10 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),9
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index 1c1fea60b58b1223c60ddd18976860c1d660adbf..48657ef7560d5c3827c5d374a9ce47bb1b9c20f8 100644 (file)
@@ -43,6 +43,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index ae924b18173ff75fb98c5942a570f0758e6ef622..08c7e59403a11a173a6f9b49b8744eca0621e366 100644 (file)
@@ -60,6 +60,10 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),9
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index fef08931d0ddee6bedcb7c51aa0f2f34c1251f11..9ae1c9738c009ca27bd53c456ec9d2a1c437dfd6 100644 (file)
@@ -59,6 +59,10 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),9
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index 0b7e71567da5501a09a9d241fb62885c7f6bc166..6eefb99f0c3926d1ccab48ab278f3dde01600d72 100644 (file)
@@ -61,6 +61,10 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),9
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index c78b21dd24528d889bdfcdea0670d6da99881779..c657fd2f481855f9b451eb7ff0ef1134ecce3ead 100644 (file)
@@ -44,6 +44,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index ea6a5284959e57a3b01e51242799e97717424e27..1ab272d3a438927a028627963eb4578df4e2af63 100644 (file)
@@ -50,6 +50,10 @@ CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index e17e8b129fff57e72e2039a769768fd1c1bbeba0..784a45fe2de936b0d42cbc13ca1a0b64e9818143 100644 (file)
@@ -35,6 +35,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xEFF20000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC1"
 CONFIG_DM=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
 CONFIG_FSL_CAAM=y
index 90612e6e2c3e5f01a7bc9eeca978142012a3dcff..5ad078ffaa93832b2e44fca07b7a954024bf9d91 100644 (file)
@@ -49,6 +49,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_SYS_I2C_LEGACY=y
index c79ffde91cba0e874826c93f576e1056a350f049..b9ec32eb461e4c58bf52c9475246063f245e6434 100644 (file)
@@ -43,6 +43,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 # CONFIG_SPL_BLK is not set
 CONFIG_BOOTCOUNT_LIMIT=y
index 33d0fb818fa8ea362d85c4179d87089ffe083774..497127d4065b68d12a08a4b047b80a102a32a633 100644 (file)
@@ -4,6 +4,9 @@ CONFIG_ARCH_OMAP2PLUS=y
 CONFIG_TI_COMMON_CMD_OPTIONS=y
 CONFIG_DEFAULT_DEVICE_TREE="am335x-evm"
 CONFIG_AM33XX=y
+CONFIG_AM335X_USB0=y
+CONFIG_AM335X_USB0_PERIPHERAL=y
+CONFIG_AM335X_USB1=y
 CONFIG_SPL=y
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_TIMESTAMP=y
@@ -47,6 +50,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_SPL_ENV_IS_NOWHERE=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_CLK=y
index f8acb7e1a97cbc8d4e79b3bff78967a57bedbede..50653ab91331f6c8013adec7496cb96259cb9fa2 100644 (file)
@@ -43,6 +43,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_SPL_ENV_IS_NOWHERE=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_CLK=y
index 8b3bd48b6c19b4ebb0d6675f92601430b9d92dfd..f8cc073c2329aa8466a7a70793f2a189664d1a07 100644 (file)
@@ -10,6 +10,9 @@ CONFIG_ENV_OFFSET=0x500000
 CONFIG_DEFAULT_DEVICE_TREE="am335x-guardian"
 CONFIG_AM33XX=y
 CONFIG_TARGET_AM335X_GUARDIAN=y
+CONFIG_AM335X_USB0=y
+CONFIG_AM335X_USB0_PERIPHERAL=y
+CONFIG_AM335X_USB1=y
 CONFIG_SPL_SERIAL=y
 CONFIG_SPL_DRIVERS_MISC=y
 CONFIG_BOOTCOUNT_BOOTLIMIT=3
@@ -68,6 +71,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_SPL_ENV_IS_NOWHERE=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_SPL_DM=y
 CONFIG_REGMAP=y
index 993fbbcd3973b2dca5b96e8f8d4a741cbb28138c..01a4c9ebc10d11958b09a6ac5ba4c5004877c469 100644 (file)
@@ -42,6 +42,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_CLK=y
index ecb0526c338ef04c0ea0bb794f53109c9bf3ca65..0f590500304a1b21560b8589d1d34c192c3d7d1b 100644 (file)
@@ -44,6 +44,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_CLK=y
index 39d354f9e287093263e69a913ab616978359dbfe..3101cf4e602998c9528e1a49ee8158b6f90dee75 100644 (file)
@@ -68,6 +68,7 @@ CONFIG_ENV_UBI_VOLUME_REDUND="config_r"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
index a5b251b35676d551502533d4d25f9f48966a78e7..5953193bc2402852125581560f285b13d63aee6a 100644 (file)
@@ -23,6 +23,9 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Enter 'shc' to enter prompt (times out) %d \nEnter 'noautoboot' to enter prompt without timeout\n"
 CONFIG_AUTOBOOT_DELAY_STR="shc"
 CONFIG_AUTOBOOT_STOP_STR="noautoboot"
+CONFIG_BOOT_RETRY=y
+CONFIG_BOOT_RETRY_TIME=30
+CONFIG_RESET_TO_RETRY=y
 CONFIG_BOOTCOMMAND="if mmc dev 1; mmc rescan; then run emmc_setup; else echo ERROR: eMMC device not detected!; panic; fi; if run loaduimage; then run mmcboot; else echo ERROR Unable to load uImage from eMMC!; echo Performing Rollback!; setenv _active_ ${active_root}; setenv _inactive_ ${inactive_root}; setenv active_root ${_inactive_}; setenv inactive_root ${_active_}; saveenv; reset; fi; "
 CONFIG_DEFAULT_FDT_FILE="am335x-shc"
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
@@ -53,6 +56,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
index 19294a943263e27662c298fe1b39a79a5b02d961..00442d8ca8bee8031e8ff6169cc9f039c53fc613 100644 (file)
@@ -54,6 +54,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
index e1c8e3178f806debe0dbb87652c26180fdcbcfe4..37899df596f88888e0489f783b352ea354948212 100644 (file)
@@ -24,6 +24,9 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Enter 'shc' to enter prompt (times out) %d \nEnter 'noautoboot' to enter prompt without timeout\n"
 CONFIG_AUTOBOOT_DELAY_STR="shc"
 CONFIG_AUTOBOOT_STOP_STR="noautoboot"
+CONFIG_BOOT_RETRY=y
+CONFIG_BOOT_RETRY_TIME=30
+CONFIG_RESET_TO_RETRY=y
 CONFIG_BOOTCOMMAND="run fusecmd; if run netboot; then echo Booting from network; else echo ERROR: Cannot boot from network!; panic; fi; "
 CONFIG_DEFAULT_FDT_FILE="am335x-shc"
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
@@ -54,6 +57,7 @@ CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
index d0e1f965511dcd0ddc6e950b9c3fd452614a364b..c33c94f85037ccd867ec5c105234cbf4e64993ec 100644 (file)
@@ -24,6 +24,9 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Enter 'shc' to enter prompt (times out) %d \nEnter 'noautoboot' to enter prompt without timeout\n"
 CONFIG_AUTOBOOT_DELAY_STR="shc"
 CONFIG_AUTOBOOT_STOP_STR="noautoboot"
+CONFIG_BOOT_RETRY=y
+CONFIG_BOOT_RETRY_TIME=30
+CONFIG_RESET_TO_RETRY=y
 CONFIG_BOOTCOMMAND="if mmc dev 0; mmc rescan; then run sd_setup; else echo ERROR: SD/MMC-Card not detected!; panic; fi; if run loaduimage; then echo Bootable SD/MMC-Card inserted, booting from it!; run mmcboot; else echo ERROR: Unable to load uImage from SD/MMC-Card!; panic; fi; "
 CONFIG_DEFAULT_FDT_FILE="am335x-shc"
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
@@ -53,6 +56,7 @@ CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
index 21c67bd5783f778293e6ce5d2eb51099fbd5df8e..3fab49a4e36056823736a6721518de27403ac73c 100644 (file)
@@ -59,6 +59,7 @@ CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_SYS_MMC_ENV_PART=2
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_SYS_I2C_LEGACY=y
index e287e8e6be4e928fa0ffbe2db772be1638347995..52c2a674988b819a48fb71701c10480d1174c180 100644 (file)
@@ -52,7 +52,10 @@ CONFIG_SPL_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 # CONFIG_ENV_IS_IN_FAT is not set
 CONFIG_ENV_IS_IN_NAND=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_SPL_DM=y
 CONFIG_DM_PCA953X=y
index 716cf3ff2a351317865c53e4df464e5146e61855..ef604e4a5017cd451519de6ae4227f715cee51f0 100644 (file)
@@ -46,7 +46,9 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
+CONFIG_SYS_RX_ETH_BUFFER=64
 CONFIG_DM=y
 CONFIG_REGMAP=y
 CONFIG_SPL_REGMAP=y
index 31b564b7ba9f32bb24069d4d326d4d82dfe251aa..6bbb962639e4ddffc96f217c42e4267c67c2e3d0 100644 (file)
@@ -38,7 +38,9 @@ CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
+CONFIG_SYS_RX_ETH_BUFFER=64
 CONFIG_DM=y
 CONFIG_DFU_MMC=y
 CONFIG_DFU_RAM=y
index a15a1713b8026ec01551dcae5b75792e4a594208..8d3461fb1e139a294302f214158697c0975c1c4b 100644 (file)
@@ -40,7 +40,9 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
+CONFIG_SYS_RX_ETH_BUFFER=64
 CONFIG_DM=y
 CONFIG_DFU_MMC=y
 CONFIG_DFU_RAM=y
index fd0bd25b67a9fafdafa03fd27752dd33ca680ece..be56573142d5defe3980e28b086df8a17770b617 100644 (file)
@@ -52,7 +52,9 @@ CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
+CONFIG_SYS_RX_ETH_BUFFER=64
 CONFIG_DM=y
 CONFIG_REGMAP=y
 CONFIG_SPL_REGMAP=y
index d4bebd2c01e963fb6cd270ac7a4795a342d1af2b..7acc60e1c7186ae7c4af04549023623951a8d016 100644 (file)
@@ -50,7 +50,9 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
+CONFIG_SYS_RX_ETH_BUFFER=64
 CONFIG_DM=y
 CONFIG_REGMAP=y
 CONFIG_SPL_REGMAP=y
index 693766b9467f59b810c6a0b0b73d7dcc02b37cac..0732aa1bdfdf1bde2e168033df7a13217b7c455e 100644 (file)
@@ -59,6 +59,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_DM=y
 CONFIG_SPL_DM=y
index 7d9e2549cea56d0f6ace3d650c6a7d4b4e85aaf6..cdfd437fb93c8cdeb4edaaafe50e12c09fd00f64 100644 (file)
@@ -59,6 +59,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_DM=y
 CONFIG_SPL_DM=y
index 10106ab0238b4b1b0f8e01533da4227b2f3ad951..4277c96a7d90ffb308a5155891da5bebb2ed282e 100644 (file)
@@ -66,6 +66,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_DM=y
 CONFIG_SPL_DM=y
index 25da027f7ecc112daa4dd6f0b4505edc3a95c1b0..a7ce626fad0a4b8ffcaf9c2516e6e4f4948bcf83 100644 (file)
@@ -39,6 +39,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_PART=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eth0"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_IP_DEFRAG=y
index eba3ea81c37d3f0170b7bf61f4d4164a229b4355..7a86698c88cd7903ac81f64cc29ca690a9e4448a 100644 (file)
@@ -62,7 +62,10 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_APPEND=y
 CONFIG_ENV_WRITEABLE_LIST=y
 CONFIG_ENV_ACCESS_IGNORE_FORCE=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_VERSION_VARIABLE=y
+CONFIG_ARP_TIMEOUT=200
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_APBH_DMA=y
 CONFIG_APBH_DMA_BURST=y
index 72a106a435f3a1c8b83f430a61a7c45490b2c864..9019c820751f083f6f8c3d58cdcf421fa2a51fa8 100644 (file)
@@ -62,7 +62,10 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_APPEND=y
 CONFIG_ENV_WRITEABLE_LIST=y
 CONFIG_ENV_ACCESS_IGNORE_FORCE=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_VERSION_VARIABLE=y
+CONFIG_ARP_TIMEOUT=200
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_APBH_DMA=y
 CONFIG_APBH_DMA_BURST=y
index ebcf14daa31fb4e326ed5076d6da148d97889e46..05bbbe539662dfe630ed2bcb255dd1f7ca1a62f4 100644 (file)
@@ -6,6 +6,8 @@ CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x2d000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9260EK=y
+CONFIG_ATMEL_LEGACY=y
+CONFIG_AT91SAM9260EK=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x4200
 CONFIG_ENV_OFFSET=0x4200
@@ -17,7 +19,7 @@ CONFIG_DEBUG_UART_BASE=0xfffff200
 CONFIG_DEBUG_UART_CLOCK=132000000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9260,SYS_USE_DATAFLASH_CS0"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_DATAFLASH_CS0"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=atmel_nand:-(root) rw rootfstype=jffs2"
@@ -33,6 +35,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
index 7b9e0a4928ca127cc002ce9d6bbad5b9a647dff4..09956bf75296a0e27de48beeb94d42fb58d9f7a8 100644 (file)
@@ -6,6 +6,8 @@ CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x2d000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9260EK=y
+CONFIG_ATMEL_LEGACY=y
+CONFIG_AT91SAM9260EK=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x4200
 CONFIG_ENV_OFFSET=0x4200
@@ -17,7 +19,7 @@ CONFIG_DEBUG_UART_BASE=0xfffff200
 CONFIG_DEBUG_UART_CLOCK=132000000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9260,SYS_USE_DATAFLASH_CS1"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_DATAFLASH_CS1"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=atmel_nand:-(root) rw rootfstype=jffs2"
@@ -33,6 +35,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
index 6e7da8595108ffff1e74998e003c35fd6cd868ab..d87cb22138e7c5ea68314a6ccc9a36dffff8f683 100644 (file)
@@ -6,6 +6,8 @@ CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x80000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9260EK=y
+CONFIG_ATMEL_LEGACY=y
+CONFIG_AT91SAM9260EK=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9260ek"
@@ -15,7 +17,7 @@ CONFIG_DEBUG_UART_CLOCK=132000000
 CONFIG_ENV_OFFSET_REDUND=0x100000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9260,SYS_USE_NANDFLASH"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 earlyprintk mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro,256k(env),256k(env_redundant),256k(spare),512k(dtb),6M(kernel)ro,-(rootfs) root=/dev/mtdblock7 rw rootfstype=jffs2"
@@ -31,6 +33,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
index 5ec1e61ebdeba91916ed58be96b5a324332b00a9..5788b9d935f91c06d361a040edb049875f444f6e 100644 (file)
@@ -5,6 +5,8 @@ CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x2d000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9261EK=y
+CONFIG_ATMEL_LEGACY=y
+CONFIG_AT91SAM9261EK=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x4200
 CONFIG_ENV_OFFSET=0x4200
@@ -16,7 +18,7 @@ CONFIG_DEBUG_UART_BASE=0xfffff200
 CONFIG_DEBUG_UART_CLOCK=100000000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9261,SYS_USE_DATAFLASH_CS0"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_DATAFLASH_CS0"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=atmel_nand:-(root) rw rootfstype=jffs2"
@@ -24,6 +26,7 @@ CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="sf probe 0; sf read 0x22000000 0x84000 0x294000; bootm 0x22000000"
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_IMI is not set
@@ -32,12 +35,14 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_SPI_MAX_HZ=15000000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=20
 CONFIG_DM=y
 CONFIG_CLK=y
 CONFIG_CLK_AT91=y
@@ -59,3 +64,4 @@ CONFIG_DM_SPI=y
 CONFIG_TIMER=y
 CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
+CONFIG_ATMEL_LCD_BGR555=y
index 94c283404b1728ea13abac4366b2a5de5335ccec..69d7931763f00fb0751165e7b817fca16be814b7 100644 (file)
@@ -5,6 +5,8 @@ CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x2d000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9261EK=y
+CONFIG_ATMEL_LEGACY=y
+CONFIG_AT91SAM9261EK=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x4200
 CONFIG_ENV_OFFSET=0x4200
@@ -16,7 +18,7 @@ CONFIG_DEBUG_UART_BASE=0xfffff200
 CONFIG_DEBUG_UART_CLOCK=100000000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9261,SYS_USE_DATAFLASH_CS3"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_DATAFLASH_CS3"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=atmel_nand:-(root) rw rootfstype=jffs2"
@@ -24,6 +26,7 @@ CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="sf probe 0:3; sf read 0x22000000 0x84000 0x294000; bootm 0x22000000"
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_IMI is not set
@@ -32,12 +35,14 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_SPI_MAX_HZ=15000000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=20
 CONFIG_DM=y
 CONFIG_CLK=y
 CONFIG_CLK_AT91=y
@@ -59,3 +64,4 @@ CONFIG_DM_SPI=y
 CONFIG_TIMER=y
 CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
+CONFIG_ATMEL_LCD_BGR555=y
index ed2b04b881c75d71476ee6a51d2d6a51ddf1263a..32945796300a9ce0fc4f7e6bbfa9194b4cec1ecc 100644 (file)
@@ -5,6 +5,8 @@ CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x80000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9261EK=y
+CONFIG_ATMEL_LEGACY=y
+CONFIG_AT91SAM9261EK=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9261ek"
@@ -14,7 +16,7 @@ CONFIG_DEBUG_UART_CLOCK=100000000
 CONFIG_ENV_OFFSET_REDUND=0x100000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9261,SYS_USE_NANDFLASH"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 earlyprintk mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro,256k(env),256k(env_redundant),256k(spare),512k(dtb),6M(kernel)ro,-(rootfs) root=/dev/mtdblock7 rw rootfstype=jffs2"
@@ -22,6 +24,7 @@ CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="nand read 0x22000000 0x200000 0x300000; bootm"
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_IMI is not set
@@ -30,12 +33,14 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=20
 CONFIG_DM=y
 CONFIG_CLK=y
 CONFIG_CLK_AT91=y
@@ -57,3 +62,4 @@ CONFIG_DM_SPI=y
 CONFIG_TIMER=y
 CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
+CONFIG_ATMEL_LCD_BGR555=y
index 29b392374f3beebb94f967f3cb6a1529d94d65ae..090ee405983580c1a7e04899d3e334268e952b3c 100644 (file)
@@ -6,6 +6,7 @@ CONFIG_SYS_TEXT_BASE=0x21F00000
 CONFIG_SYS_MALLOC_LEN=0x2d000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9263EK=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x4200
 CONFIG_ENV_OFFSET=0x4200
@@ -17,7 +18,7 @@ CONFIG_DEBUG_UART_BASE=0xffffee00
 CONFIG_DEBUG_UART_CLOCK=100000000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_DATAFLASH"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_DATAFLASH"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=atmel_nand:-(root) rw rootfstype=jffs2"
@@ -25,6 +26,7 @@ CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="sf probe 0; sf read 0x22000000 0x84000 0x294000; bootm 0x22000000"
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
@@ -36,6 +38,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
@@ -65,3 +68,4 @@ CONFIG_DM_SPI=y
 CONFIG_TIMER=y
 CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
+CONFIG_ATMEL_LCD_BGR555=y
index 29b392374f3beebb94f967f3cb6a1529d94d65ae..090ee405983580c1a7e04899d3e334268e952b3c 100644 (file)
@@ -6,6 +6,7 @@ CONFIG_SYS_TEXT_BASE=0x21F00000
 CONFIG_SYS_MALLOC_LEN=0x2d000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9263EK=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x4200
 CONFIG_ENV_OFFSET=0x4200
@@ -17,7 +18,7 @@ CONFIG_DEBUG_UART_BASE=0xffffee00
 CONFIG_DEBUG_UART_CLOCK=100000000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_DATAFLASH"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_DATAFLASH"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=atmel_nand:-(root) rw rootfstype=jffs2"
@@ -25,6 +26,7 @@ CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="sf probe 0; sf read 0x22000000 0x84000 0x294000; bootm 0x22000000"
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
@@ -36,6 +38,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
@@ -65,3 +68,4 @@ CONFIG_DM_SPI=y
 CONFIG_TIMER=y
 CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
+CONFIG_ATMEL_LCD_BGR555=y
index 4551cfdacf51839921922aa94c676bf70d58871e..82d6ecdbc505290bf01e0e32a1d895f92cbdd2f0 100644 (file)
@@ -6,6 +6,7 @@ CONFIG_SYS_TEXT_BASE=0x21F00000
 CONFIG_SYS_MALLOC_LEN=0x80000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9263EK=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9263ek"
@@ -15,7 +16,7 @@ CONFIG_DEBUG_UART_CLOCK=100000000
 CONFIG_ENV_OFFSET_REDUND=0x100000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_NANDFLASH"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 earlyprintk mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro,256k(env),256k(env_redundant),256k(spare),512k(dtb),6M(kernel)ro,-(rootfs) root=/dev/mtdblock7 rw rootfstype=jffs2"
@@ -23,6 +24,7 @@ CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="nand read 0x22000000 0x200000 0x300000; bootm"
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
@@ -34,6 +36,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
@@ -63,3 +66,4 @@ CONFIG_DM_SPI=y
 CONFIG_TIMER=y
 CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
+CONFIG_ATMEL_LCD_BGR555=y
index ae69c54696aeda072758104cfb2d585890207b29..0e96b3a9c13c1b1b64e8daedf32ed46acef5f1e0 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x0000000
 CONFIG_SYS_MALLOC_LEN=0x50000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9263EK=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x10000
 CONFIG_ENV_SECT_SIZE=0x10000
@@ -15,10 +16,11 @@ CONFIG_DEBUG_UART_BASE=0xffffee00
 CONFIG_DEBUG_UART_CLOCK=100000000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_BOOT_NORFLASH"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_BOOT_NORFLASH"
 CONFIG_BOOTDELAY=3
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
@@ -30,6 +32,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
@@ -63,3 +66,4 @@ CONFIG_DM_SPI=y
 CONFIG_TIMER=y
 CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
+CONFIG_ATMEL_LCD_BGR555=y
index 21ed22a39746decfd86c3b2f40668bfbbe9235f5..20a105085cea5deb9dbb246e66980a2adebe0068 100644 (file)
@@ -6,6 +6,7 @@ CONFIG_SYS_TEXT_BASE=0x21F00000
 CONFIG_SYS_MALLOC_LEN=0x50000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9263EK=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x10000
 CONFIG_ENV_SECT_SIZE=0x10000
@@ -16,10 +17,11 @@ CONFIG_DEBUG_UART_BASE=0xffffee00
 CONFIG_DEBUG_UART_CLOCK=100000000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_NORFLASH"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_NORFLASH"
 CONFIG_BOOTDELAY=3
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
@@ -31,6 +33,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
@@ -64,3 +67,4 @@ CONFIG_DM_SPI=y
 CONFIG_TIMER=y
 CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
+CONFIG_ATMEL_LCD_BGR555=y
index f4d5dba4a46856c38594bff4e4a246302b1a8c67..60cb4dcc7c3ea87397320a6bfaf2ab9795edd210 100644 (file)
@@ -5,6 +5,8 @@ CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x2d000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9261EK=y
+CONFIG_ATMEL_LEGACY=y
+CONFIG_AT91SAM9G10=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x4200
 CONFIG_ENV_OFFSET=0x4200
@@ -16,7 +18,7 @@ CONFIG_DEBUG_UART_BASE=0xfffff200
 CONFIG_DEBUG_UART_CLOCK=100000000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G10,SYS_USE_DATAFLASH_CS0"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_DATAFLASH_CS0"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=atmel_nand:-(root) rw rootfstype=jffs2"
@@ -24,6 +26,7 @@ CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="sf probe 0; sf read 0x22000000 0x84000 0x294000; bootm 0x22000000"
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_IMI is not set
@@ -32,12 +35,14 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_SPI_MAX_HZ=15000000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=20
 CONFIG_DM=y
 CONFIG_CLK=y
 CONFIG_CLK_AT91=y
index 72228b559712d7794c09eecce6e145498e683c98..014412feeb4cb98f37273c9556d9b3df0a56d763 100644 (file)
@@ -5,6 +5,8 @@ CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x2d000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9261EK=y
+CONFIG_ATMEL_LEGACY=y
+CONFIG_AT91SAM9G10=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x4200
 CONFIG_ENV_OFFSET=0x4200
@@ -16,7 +18,7 @@ CONFIG_DEBUG_UART_BASE=0xfffff200
 CONFIG_DEBUG_UART_CLOCK=100000000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G10,SYS_USE_DATAFLASH_CS3"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_DATAFLASH_CS3"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=atmel_nand:-(root) rw rootfstype=jffs2"
@@ -24,6 +26,7 @@ CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="sf probe 0:3; sf read 0x22000000 0x84000 0x294000; bootm 0x22000000"
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_IMI is not set
@@ -32,12 +35,14 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_SPI_MAX_HZ=15000000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=20
 CONFIG_DM=y
 CONFIG_CLK=y
 CONFIG_CLK_AT91=y
index 293683cec9ceee0f806d90fb9433b3faa3cc8ee4..4ad3bc7de90898e7e8b9d09136c3d78ac6cb157b 100644 (file)
@@ -5,6 +5,8 @@ CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x80000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9261EK=y
+CONFIG_ATMEL_LEGACY=y
+CONFIG_AT91SAM9G10=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9261ek"
@@ -14,7 +16,7 @@ CONFIG_DEBUG_UART_CLOCK=100000000
 CONFIG_ENV_OFFSET_REDUND=0x100000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G10,SYS_USE_NANDFLASH"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 earlyprintk mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro,256k(env),256k(env_redundant),256k(spare),512k(dtb),6M(kernel)ro,-(rootfs) root=/dev/mtdblock7 rw rootfstype=jffs2"
@@ -22,6 +24,7 @@ CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="nand read 0x22000000 0x200000 0x300000; bootm"
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_IMI is not set
@@ -30,12 +33,14 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=20
 CONFIG_DM=y
 CONFIG_CLK=y
 CONFIG_CLK_AT91=y
index 97057b5edf251ceb82f104fe4aed93795627f840..bb1908e580f2febef4c83b909aa8da128ea0c986 100644 (file)
@@ -6,6 +6,9 @@ CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x23000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9260EK=y
+CONFIG_ATMEL_LEGACY=y
+CONFIG_AT91SAM9260EK=y
+CONFIG_AT91SAM9G20EK_2MMC=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x1000
 CONFIG_ENV_OFFSET=0x2000
@@ -16,7 +19,7 @@ CONFIG_DEBUG_UART_BASE=0xfffff200
 CONFIG_DEBUG_UART_CLOCK=132000000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,AT91SAM9G20EK_2MMC,SYS_USE_MMC"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_MMC"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 earlyprintk mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro,256k(env),256k(env_redundant),256k(spare),512k(dtb),6M(kernel)ro,-(rootfs) root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait"
@@ -33,6 +36,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
index cb381e2d8cb4ff33814c771e839d9aa26a736f25..95da2ca6ab3433d3e061a54c06739372ab2c8143 100644 (file)
@@ -6,6 +6,9 @@ CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x80000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9260EK=y
+CONFIG_ATMEL_LEGACY=y
+CONFIG_AT91SAM9260EK=y
+CONFIG_AT91SAM9G20EK_2MMC=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9g20ek_2mmc"
@@ -15,7 +18,7 @@ CONFIG_DEBUG_UART_CLOCK=132000000
 CONFIG_ENV_OFFSET_REDUND=0x100000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,AT91SAM9G20EK_2MMC,SYS_USE_NANDFLASH"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 earlyprintk mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro,256k(env),256k(env_redundant),256k(spare),512k(dtb),6M(kernel)ro,-(rootfs) root=/dev/mtdblock7 rw rootfstype=jffs2"
@@ -32,6 +35,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
index cff3b1ae026e62a4516433594d8c9ae6540539bf..d8531a8af753a92e57d20ed786cae8422952df9f 100644 (file)
@@ -6,6 +6,8 @@ CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x2d000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9260EK=y
+CONFIG_ATMEL_LEGACY=y
+CONFIG_AT91SAM9260EK=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x4200
 CONFIG_ENV_OFFSET=0x4200
@@ -17,7 +19,7 @@ CONFIG_DEBUG_UART_BASE=0xfffff200
 CONFIG_DEBUG_UART_CLOCK=132000000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,SYS_USE_DATAFLASH_CS0"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_DATAFLASH_CS0"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=atmel_nand:-(root) rw rootfstype=jffs2"
@@ -33,6 +35,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
index 350faaf5f2836887976e280d23dcdb71ac7e0e88..27bdb1eb9e98d8a7489e00f25e051d49a2c1c2a6 100644 (file)
@@ -6,6 +6,8 @@ CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x2d000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9260EK=y
+CONFIG_ATMEL_LEGACY=y
+CONFIG_AT91SAM9260EK=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x4200
 CONFIG_ENV_OFFSET=0x4200
@@ -17,7 +19,7 @@ CONFIG_DEBUG_UART_BASE=0xfffff200
 CONFIG_DEBUG_UART_CLOCK=132000000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,SYS_USE_DATAFLASH_CS1"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_DATAFLASH_CS1"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=atmel_nand:-(root) rw rootfstype=jffs2"
@@ -33,6 +35,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
index ef376951d264928f3caede0ee52eea200b904ea6..c273357e600d248fd4bf6cd816c47f8f55c6e557 100644 (file)
@@ -6,6 +6,8 @@ CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x80000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9260EK=y
+CONFIG_ATMEL_LEGACY=y
+CONFIG_AT91SAM9260EK=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9g20ek"
@@ -15,7 +17,7 @@ CONFIG_DEBUG_UART_CLOCK=132000000
 CONFIG_ENV_OFFSET_REDUND=0x100000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,SYS_USE_NANDFLASH"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 earlyprintk mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro,256k(env),256k(env_redundant),256k(spare),512k(dtb),6M(kernel)ro,-(rootfs) root=/dev/mtdblock7 rw rootfstype=jffs2"
@@ -31,6 +33,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
index 21ad96224bd35cf4ed25f1efe116e7ca25a2ff20..1f17336e9436d613c58d26e32b7d821b99e81757 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x73f00000
 CONFIG_SYS_MALLOC_LEN=0x2c000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9M10G45EK=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x4000
 CONFIG_DM_GPIO=y
@@ -22,6 +23,7 @@ CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="fatload mmc 0:1 0x71000000 dtb; fatload mmc 0:1 0x72000000 zImage; bootz 0x72000000 - 0x71000000"
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
@@ -34,6 +36,7 @@ CONFIG_CMD_NAND=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
index 695b4c501a31eac6776f94b42597bb7805eb242d..c595b9edadf39372754a09e5a33d62dc85353b75 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x73f00000
 CONFIG_SYS_MALLOC_LEN=0x80000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9M10G45EK=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9m10g45ek"
@@ -22,6 +23,7 @@ CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="nand read 0x70000000 0x200000 0x300000;bootm 0x70000000"
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
@@ -34,6 +36,7 @@ CONFIG_CMD_NAND=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
index 998bacf276d59c9afb4195bce8a54d5bb1bfd9be..b84f924a5d987bfcc34e3b81cda9aa4d87ba3e3c 100644 (file)
@@ -28,6 +28,7 @@ CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_MTDPARTS=y
index 90a832a3985e1f2de7c91cd348b040be32f3eec2..b5964deb661dd7b5f3233a0cebda8fca4e05354b 100644 (file)
@@ -28,6 +28,7 @@ CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_MTDPARTS=y
index e704ee0ebd05c6bc13d94d19e8ee6400bb2bc5da..852d6354d3ca11047a81f33e851f3e8b8a0b22fa 100644 (file)
@@ -30,6 +30,7 @@ CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_MTDPARTS=y
index 9943b868c0da07ad662e44c389304cd89338d5bc..861724f82ce1b7524062f40fda14bab3fd811be3 100644 (file)
@@ -6,6 +6,7 @@ CONFIG_SYS_TEXT_BASE=0x21F00000
 CONFIG_SYS_MALLOC_LEN=0x2d000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9RLEK=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x4200
 CONFIG_ENV_OFFSET=0x4200
@@ -17,7 +18,7 @@ CONFIG_DEBUG_UART_BASE=0xfffff200
 CONFIG_DEBUG_UART_CLOCK=100000000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9RL,SYS_USE_DATAFLASH"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_DATAFLASH"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=atmel_nand:-(root) rw rootfstype=jffs2"
index 9fd20428afe1dfc0821792243707c5462dbb1573..6b6ee626b34b6d3f76558fafc807ad3361c89d59 100644 (file)
@@ -6,6 +6,7 @@ CONFIG_SYS_TEXT_BASE=0x21F00000
 CONFIG_SYS_MALLOC_LEN=0x2c000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9RLEK=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x4000
 CONFIG_DM_GPIO=y
@@ -15,7 +16,7 @@ CONFIG_DEBUG_UART_BASE=0xfffff200
 CONFIG_DEBUG_UART_CLOCK=100000000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9RL,SYS_USE_MMC"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_MMC"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 mtdparts=atmel_nand:8M(bootstrap/uboot/kernel)ro,-(rootfs) root=/dev/mmcblk0p2 rw rootwait"
index a922780eaee1f9375946c5d392dda60fdc4a1d4c..f77dafe61a7631b4b71c9c60a955782789e88caf 100644 (file)
@@ -6,6 +6,7 @@ CONFIG_SYS_TEXT_BASE=0x21F00000
 CONFIG_SYS_MALLOC_LEN=0x80000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9RLEK=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9rlek"
@@ -15,7 +16,7 @@ CONFIG_DEBUG_UART_CLOCK=100000000
 CONFIG_ENV_OFFSET_REDUND=0x100000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9RL,SYS_USE_NANDFLASH"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 earlyprintk mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro,256K(env),256k(env_redundant),256k(spare),512k(dtb),6M(kernel)ro,-(rootfs) rootfstype=ubifs ubi.mtd=7 root=ubi0:rootfs"
index f00f3c8af43ff55ee925959a5eaf7641d6fb2300..f3c7637567707a606b7505924d78e53558e3be39 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x26f00000
 CONFIG_SYS_MALLOC_LEN=0x81000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9X5EK=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x4200
 CONFIG_ENV_OFFSET=0x4200
@@ -36,6 +37,7 @@ CONFIG_CMD_NAND_TRIMFFS=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_MTDPARTS=y
index 1b89828b66a0e9d130877b8a2448416d1ec99ade..5922f6c0f5106522f1c4d873889731b2a08143ae 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x26f00000
 CONFIG_SYS_MALLOC_LEN=0x81000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9X5EK=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x4000
 CONFIG_DM_GPIO=y
@@ -32,6 +33,7 @@ CONFIG_CMD_NAND_TRIMFFS=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_MTDPARTS=y
index 124c58d331bdfb9be3c91ab6bf3682adce0a940d..91a654d2589104bf5c8f88754315027ee47f79a3 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x26f00000
 CONFIG_SYS_MALLOC_LEN=0x81000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9X5EK=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9g35ek"
@@ -34,6 +35,7 @@ CONFIG_CMD_NAND_TRIMFFS=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_MTDPARTS=y
index 4eecdf3b6ef3d45556385b8720ce2613eab7217f..59b010d0d858bafc871036ffa090fbf97c08f5d1 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x26f00000
 CONFIG_SYS_MALLOC_LEN=0x81000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9X5EK=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x3000
 CONFIG_ENV_OFFSET=0x5000
@@ -36,6 +37,7 @@ CONFIG_CMD_NAND_TRIMFFS=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_MTDPARTS=y
index 28479b92c7ca7c8908d7884d38cb16e8456deb35..05bbbe539662dfe630ed2bcb255dd1f7ca1a62f4 100644 (file)
@@ -6,6 +6,8 @@ CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x2d000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9260EK=y
+CONFIG_ATMEL_LEGACY=y
+CONFIG_AT91SAM9260EK=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x4200
 CONFIG_ENV_OFFSET=0x4200
@@ -17,7 +19,7 @@ CONFIG_DEBUG_UART_BASE=0xfffff200
 CONFIG_DEBUG_UART_CLOCK=132000000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9XE,SYS_USE_DATAFLASH_CS0"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_DATAFLASH_CS0"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=atmel_nand:-(root) rw rootfstype=jffs2"
@@ -33,6 +35,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
index 5072a9bcd213a77ea022f6354e1b8ad4a3b31d6f..09956bf75296a0e27de48beeb94d42fb58d9f7a8 100644 (file)
@@ -6,6 +6,8 @@ CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x2d000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9260EK=y
+CONFIG_ATMEL_LEGACY=y
+CONFIG_AT91SAM9260EK=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x4200
 CONFIG_ENV_OFFSET=0x4200
@@ -17,7 +19,7 @@ CONFIG_DEBUG_UART_BASE=0xfffff200
 CONFIG_DEBUG_UART_CLOCK=132000000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9XE,SYS_USE_DATAFLASH_CS1"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_DATAFLASH_CS1"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=atmel_nand:-(root) rw rootfstype=jffs2"
@@ -33,6 +35,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
index fa7f0525753142a9656722e341175bfa07cf76e5..d87cb22138e7c5ea68314a6ccc9a36dffff8f683 100644 (file)
@@ -6,6 +6,8 @@ CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x80000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_AT91SAM9260EK=y
+CONFIG_ATMEL_LEGACY=y
+CONFIG_AT91SAM9260EK=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9260ek"
@@ -15,7 +17,7 @@ CONFIG_DEBUG_UART_CLOCK=132000000
 CONFIG_ENV_OFFSET_REDUND=0x100000
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9XE,SYS_USE_NANDFLASH"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 earlyprintk mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro,256k(env),256k(env_redundant),256k(spare),512k(dtb),6M(kernel)ro,-(rootfs) root=/dev/mtdblock7 rw rootfstype=jffs2"
@@ -31,6 +33,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
index f89b7134d8a63fe91fff7709de5b88ad03dd42ab..f47a3973733d20d1597ba963cb3a30dc6e294006 100644 (file)
@@ -31,12 +31,15 @@ CONFIG_CMD_FPGA_LOADBP=y
 CONFIG_CMD_FPGA_LOADP=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_SPI=y
+CONFIG_BOOTP_MAY_FAIL=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_TIMER=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_CLK_ZYNQMP=y
 CONFIG_FPGA_XILINX=y
index 518e6d44c08d1477d3526093ac83fc5720a49897..c4ef342fa181eeeb509e78c7816fa8711e8ca41a 100644 (file)
@@ -12,6 +12,8 @@ CONFIG_SYS_TEXT_BASE=0x21000000
 CONFIG_SYS_MALLOC_LEN=0x460000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_TAURUS=y
+CONFIG_AT91_GPIO_PULLUP=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_SPL_GPIO=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
@@ -28,7 +30,6 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
 CONFIG_SPL_SPI=y
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="run flash_self"
@@ -82,6 +83,7 @@ CONFIG_SYS_NAND_U_BOOT_OFFS=0x20000
 CONFIG_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_MACB=y
+CONFIG_RMII=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_SPECIFY_CONSOLE_INDEX=y
index 5dd323dc45646c341521fa5447f6ffedfbc490fc..ff2e5e4b246303ab165df0adc268775969a6de44 100644 (file)
@@ -32,6 +32,8 @@ CONFIG_OF_EMBED=y
 CONFIG_ENV_IS_IN_FAT=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_HSDK_CREG_GPIO=y
 CONFIG_MMC=y
index 698dbdafe4d1c7d693c5f4cb784a720a373a6eb3..82bac6266021ba7fb30f5b9918a7959eb466f9ca 100644 (file)
@@ -32,6 +32,8 @@ CONFIG_OF_EMBED=y
 CONFIG_ENV_IS_IN_FAT=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_HSDK_CREG_GPIO=y
 CONFIG_MMC=y
index 2d65d0fd1989659cdc565d7fda1130c76aee8227..a35fcdb64e8ddae7d02d81ba5be21579b4cee3e1 100644 (file)
@@ -6,6 +6,7 @@ CONFIG_MACH_SUN8I_R40=y
 CONFIG_DRAM_CLK=576
 CONFIG_MMC0_CD_PIN="PH13"
 CONFIG_USB1_VBUS_PIN="PH23"
+# CONFIG_HAS_ARMV7_SECURE_BASE is not set
 CONFIG_AHCI=y
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL_I2C=y
index 1f72c53813bf4184fa67033f6805f259acac8ca8..667240bff1ca8af4ee7ea042eca4cb870d8141af 100644 (file)
@@ -34,6 +34,7 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
@@ -48,6 +49,8 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
diff --git a/configs/bcm96753ref_ram_defconfig b/configs/bcm96753ref_ram_defconfig
new file mode 100644 (file)
index 0000000..2c44083
--- /dev/null
@@ -0,0 +1,82 @@
+CONFIG_ARM=y
+CONFIG_SKIP_LOWLEVEL_INIT=y
+CONFIG_SKIP_LOWLEVEL_INIT_ONLY=y
+CONFIG_SYS_ARCH_TIMER=y
+CONFIG_ARCH_BCM6753=y
+CONFIG_SYS_TEXT_BASE=0x1000000
+CONFIG_SYS_MALLOC_F_LEN=0x1000
+CONFIG_NR_DRAM_BANKS=1
+CONFIG_ENV_SIZE=0x20000
+CONFIG_DM_GPIO=y
+CONFIG_DEFAULT_DEVICE_TREE="bcm96753ref"
+CONFIG_ARMV7_LPAE=y
+CONFIG_TARGET_BCM96753REF=y
+CONFIG_ENV_VARS_UBOOT_CONFIG=y
+CONFIG_SYS_LOAD_ADDR=0x1000000
+CONFIG_FIT=y
+CONFIG_FIT_SIGNATURE=y
+CONFIG_FIT_CIPHER=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_LEGACY_IMAGE_FORMAT=y
+CONFIG_SUPPORT_RAW_INITRD=y
+CONFIG_OF_STDOUT_VIA_ALIAS=y
+# CONFIG_AUTOBOOT is not set
+CONFIG_SYS_CONSOLE_IS_IN_ENV=y
+CONFIG_HUSH_PARSER=y
+# CONFIG_CMD_BOOTD is not set
+# CONFIG_BOOTM_NETBSD is not set
+# CONFIG_BOOTM_PLAN9 is not set
+# CONFIG_BOOTM_RTEMS is not set
+# CONFIG_BOOTM_VXWORKS is not set
+# CONFIG_CMD_ELF is not set
+# CONFIG_CMD_XIMG is not set
+# CONFIG_CMD_EXPORTENV is not set
+# CONFIG_CMD_IMPORTENV is not set
+# CONFIG_CMD_EDITENV is not set
+# CONFIG_CMD_SAVEENV is not set
+# CONFIG_CMD_ENV_EXISTS is not set
+# CONFIG_CMD_CRC32 is not set
+CONFIG_CMD_MEMINFO=y
+CONFIG_CMD_CLK=y
+CONFIG_CMD_GPIO=y
+# CONFIG_CMD_LOADS is not set
+CONFIG_CMD_MTD=y
+CONFIG_CMD_NAND=y
+CONFIG_CMD_SPI=y
+CONFIG_CMD_WDT=y
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_CACHE=y
+CONFIG_CMD_MTDPARTS=y
+CONFIG_CMD_UBI=y
+# CONFIG_CMD_UBIFS is not set
+# CONFIG_NET is not set
+CONFIG_REGMAP=y
+CONFIG_SYSCON=y
+CONFIG_BUTTON=y
+CONFIG_BUTTON_GPIO=y
+CONFIG_CLK=y
+CONFIG_BCM6345_GPIO=y
+# CONFIG_INPUT is not set
+CONFIG_LED=y
+CONFIG_LED_BCM6753=y
+CONFIG_LED_BLINK=y
+CONFIG_LED_GPIO=y
+CONFIG_MISC=y
+# CONFIG_MMC is not set
+CONFIG_MTD=y
+CONFIG_DM_MTD=y
+CONFIG_MTD_RAW_NAND=y
+CONFIG_NAND_BRCMNAND=y
+CONFIG_NAND_BRCMNAND_6753=y
+CONFIG_PINCTRL=y
+CONFIG_PINCONF=y
+CONFIG_SPECIFY_CONSOLE_INDEX=y
+CONFIG_DM_SERIAL=y
+CONFIG_PL01X_SERIAL=y
+CONFIG_SPI=y
+CONFIG_DM_SPI=y
+CONFIG_SPI_MEM=y
+CONFIG_SYSRESET=y
+CONFIG_SYSRESET_WATCHDOG=y
+CONFIG_WDT_BCM6345=y
+CONFIG_REGEX=y
index 7eb23bdc62b72b6dcc8079e41fec952cee077fcf..95cce92e9263e000e40d6bdec5b5a1963a2a674d 100644 (file)
@@ -49,6 +49,7 @@ CONFIG_MTD_RAW_NAND=y
 CONFIG_NAND_BRCMNAND=y
 CONFIG_NAND_BRCMNAND_6838=y
 CONFIG_SYS_NAND_ONFI_DETECTION=y
+CONFIG_PHY_RESET_DELAY=20
 CONFIG_PHY=y
 CONFIG_BCM6368_USBH_PHY=y
 CONFIG_PINCTRL=y
index 7b42b7a9673ad33818c4082f4c745a75f09246ca..1c7657815f57dff4c3fb95a4a4a3fdf1253f1ba7 100644 (file)
@@ -43,6 +43,7 @@ CONFIG_CMD_NAND_LOCK_UNLOCK=y
 CONFIG_CMD_PART=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_MAY_FAIL=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
@@ -58,6 +59,7 @@ CONFIG_ENV_IS_IN_FAT=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_BOOTP_SERVERIP=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_BOOTCOUNT_LIMIT=y
index 1cee1308cb69088dd52053f3d0e66f3dfcce3655..5b46a13ad5be4f04f1d41869232f59d21569311b 100644 (file)
@@ -49,6 +49,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=500
 CONFIG_NETCONSOLE=y
 CONFIG_DM=y
 CONFIG_BOOTCOUNT_LIMIT=y
index 1e117c9e8f4c78dc9d3c7d8d4af3c27d6d0e2c0a..82d54debb3dbf8851a0f3641baa11c4666865bcc 100644 (file)
@@ -53,6 +53,7 @@ CONFIG_RENESAS_SDHI=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
index 6e96ed55c4937444623f9aff453bdd8090ef2d3a..ac0fbd5c3fa84d3ad9c7a781b1c0e599558bcfb8 100644 (file)
@@ -53,6 +53,7 @@ CONFIG_CMD_PART=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_ITEST is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_MAY_FAIL=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
@@ -74,6 +75,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_SYS_MMC_ENV_PART=2
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
index 551eda8bd1c571bb516b7b3057d8fc2d2164c538..9df5121964d23ea54938d5d6a124d2fcf51afc48 100644 (file)
@@ -54,6 +54,7 @@ CONFIG_CMD_PART=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_ITEST is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_MAY_FAIL=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
@@ -75,6 +76,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
index ad6cc44525b6cf7dc5b7920935585fc38e9e755c..11d7d7bcde219084c74ff38c20d2329156d60bc9 100644 (file)
@@ -62,6 +62,7 @@ CONFIG_CMD_PART=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_ITEST is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_MAY_FAIL=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
@@ -81,6 +82,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
index ddcf8ee7f0cccb6bdde0435c0e20867c93b54e02..38eedb4de48da016d53cf4090a0fad28dc5cd8e5 100644 (file)
@@ -52,6 +52,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_MAY_FAIL=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_MII=y
 CONFIG_CMD_CACHE=y
@@ -65,6 +66,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_ARP_TIMEOUT=1500
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
index 343d75a34522290eabd2d4d0073baab11249a331..771a42f6388b3c36e59a5cb5f0a06a167956fc97 100644 (file)
@@ -65,6 +65,7 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_ITEST is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_MAY_FAIL=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
@@ -81,6 +82,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
index a30c1b8236cf4f77bc61bc325ca2c18f5e595cd8..35b2b6545e66e0c641bf7ef2cbbea79f75968657 100644 (file)
@@ -56,6 +56,7 @@ CONFIG_CMD_PART=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_ITEST is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_MAY_FAIL=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
@@ -73,6 +74,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_SYS_MMC_ENV_PART=2
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
index 7bfbcf650ae51aebd67bfa37820afba48b118c16..38302ddc2f282c91520a3ace29030178f34749d5 100644 (file)
@@ -25,6 +25,7 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
@@ -37,6 +38,8 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index a50e732aef357841c6d699c1fa299c8171bba039..ae101da9c2f46e09d480f2cca8b8c5644d57f89b 100644 (file)
@@ -46,6 +46,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_SYS_I2C_LEGACY=y
index 0cd8f39aa37480d012a8d378b6bf35b7e23b923b..70d62c0f068d087aa48fdcc0b21447a017c7d246 100644 (file)
@@ -59,6 +59,7 @@ CONFIG_CMD_READ=y
 CONFIG_CMD_SATA=y
 CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_SOUND=y
 CONFIG_CMD_BOOTSTAGE=y
@@ -77,6 +78,8 @@ CONFIG_EFI_PARTITION=y
 # CONFIG_SPL_EFI_PARTITION is not set
 CONFIG_OF_SPL_REMOVE_PROPS="clocks clock-names interrupt-parent interrupts linux-name acpi,name acpi,path u-boot,acpi-dsdt-order u-boot,acpi-ssdt-order"
 CONFIG_ENV_OVERWRITE=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index a57543734257bd53cc547cc9b8fc8a0878a0b327..b29c5ccd7a4d2a9816ac95b699c39ecae72618d8 100644 (file)
@@ -48,6 +48,7 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
@@ -61,6 +62,8 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index 4bb52b6ae55b120f86086cbe2843021589dc0584..9186621f8d0c8200e27ed270a535453bc6119f41 100644 (file)
@@ -35,6 +35,7 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
@@ -52,6 +53,8 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index fc1292b2e2336feca92a1ce999ad3c75e522280e..93f1d403fa2aaa7eb670b6091d5b8e15061bfb44 100644 (file)
@@ -37,6 +37,7 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
@@ -54,6 +55,8 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index 6839d8c151ad9d6b6a1c1303c8743c8e6516c668..ef1d7701fee346772614f4930472e540e1f1a725 100644 (file)
@@ -71,6 +71,8 @@ CONFIG_EFI_PARTITION=y
 # CONFIG_SPL_EFI_PARTITION is not set
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 # CONFIG_NET is not set
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index 748a0e70a5209739fde343bb56402953ae245c59..363b5f39f019e87a246b48d7bf0c97afd25eedad 100644 (file)
@@ -30,6 +30,7 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
@@ -46,6 +47,8 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index 3de52843a8cf25cfbe05f6bab83863800ab78dae..7c708257b4862de7cec92e0aaf0c747ba52ca683 100644 (file)
@@ -61,6 +61,8 @@ CONFIG_ENV_OVERWRITE=y
 # CONFIG_ENV_IS_IN_MMC is not set
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_SPL_DM=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_CMD_PCA953X=y
@@ -82,6 +84,7 @@ CONFIG_SPI_FLASH_SST=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_ATHEROS=y
+CONFIG_DM_ETH=y
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_POWER_LEGACY=y
index 335adc969a39512d3b8a69e89aeb5c0c4cd427c6..5a97ef563f815bd463509fba543a2195f3fec555 100644 (file)
@@ -42,6 +42,8 @@ CONFIG_CMD_TIME=y
 CONFIG_CMD_MVEBU_BUBT=y
 # CONFIG_SPL_PARTITION_UUIDS is not set
 CONFIG_ENV_OVERWRITE=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_OF_TRANSLATE=y
 CONFIG_AHCI_MVEBU=y
index 6dcd70fe12f14b9a4b0ca1a967c56953a3dadb4e..f5c960b9654130ee58e1def777619c2bfc484b3b 100644 (file)
@@ -41,6 +41,8 @@ CONFIG_MAC_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_AHCI_MVEBU=y
 CONFIG_DM_I2C=y
index 61067940cc4649d525cc7e76a73fd4172de469f5..cfa328157488869a1a687666d915f5ae8cbaa55c 100644 (file)
@@ -65,6 +65,9 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC0"
+CONFIG_ARP_TIMEOUT=200
 CONFIG_SPL_DM=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DWC_AHSATA=y
index 7a65683a418bfabb1c1774c676eb7e2d9148474b..0b4912bba3dcf0dc826fefa65b15b884b145cb52 100644 (file)
@@ -48,6 +48,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_CMD_PCA953X=y
 CONFIG_SYS_I2C_LEGACY=y
index d8aab5853ec1aae1a8362f36c544567123993902..46c3eb62a8297dc32eafe3eba4f277fb9dc7da3a 100644 (file)
@@ -63,6 +63,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOOTP_SEND_HOSTNAME=y
+CONFIG_SYS_RX_ETH_BUFFER=64
 CONFIG_DM=y
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
index 4fc3b0a541fb44baa1c3edd17c7100c3a34aaf9e..39661211b109ec6f477dbda6b43540f0e7a9e856 100644 (file)
@@ -15,9 +15,12 @@ CONFIG_CMD_IMLS=y
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_ENV_ADDR=0xFFE04000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xFFE00201
 CONFIG_SYS_OR0_PRELIM=0xFFE00014
index 0116cfa6f857e12b5f588967debd82328da052ac..e8ebe8511832f8529ff894922942807b6422715f 100644 (file)
@@ -31,6 +31,7 @@ CONFIG_CMD_DM=y
 CONFIG_CMD_MMC=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
@@ -38,6 +39,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0x80000
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_DM=y
 CONFIG_PXA_MMC_GENERIC=y
 CONFIG_MTD_NOR_FLASH=y
index ed2509938d789fdd01417fb4b82e2d973e8c7bd3..9268aea02ab17bff40976b2ad92edad5b4e96d56 100644 (file)
@@ -40,6 +40,7 @@ CONFIG_CMD_PING=y
 # CONFIG_CMD_SLEEP is not set
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SYS_RX_ETH_BUFFER=6
 # CONFIG_DM_DEVICE_REMOVE is not set
 CONFIG_BCM6348_IUDMA=y
 CONFIG_LED=y
@@ -49,6 +50,7 @@ CONFIG_MTD=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_SPI_FLASH_MTD=y
+CONFIG_PHY_RESET_DELAY=20
 CONFIG_DM_ETH=y
 CONFIG_BCM6368_ETH=y
 CONFIG_PHY=y
index ea7d7b9a3da182aff372af0a27070e08ea4ddebc..9d2fc0cbf1c3603ef5aefc84117c5fc5f6c3b8b5 100644 (file)
@@ -40,6 +40,7 @@ CONFIG_CMD_PING=y
 # CONFIG_CMD_SLEEP is not set
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SYS_RX_ETH_BUFFER=6
 # CONFIG_DM_DEVICE_REMOVE is not set
 CONFIG_BCM6348_IUDMA=y
 CONFIG_LED=y
@@ -49,6 +50,7 @@ CONFIG_MTD=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_MTD=y
+CONFIG_PHY_RESET_DELAY=20
 CONFIG_DM_ETH=y
 CONFIG_BCM6368_ETH=y
 CONFIG_PHY=y
index 71b4d897028cc6e488f64884009937b394057054..ddb12508bf803bd367f05f21dd603614c6e1f300 100644 (file)
@@ -38,6 +38,7 @@ CONFIG_CMD_PING=y
 # CONFIG_CMD_SLEEP is not set
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SYS_RX_ETH_BUFFER=6
 # CONFIG_DM_DEVICE_REMOVE is not set
 CONFIG_BCM6348_IUDMA=y
 CONFIG_BCM6345_GPIO=y
@@ -50,6 +51,7 @@ CONFIG_SYS_FLASH_PROTECTION=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_MAX_FLASH_BANKS_DETECT=y
 CONFIG_PHY_FIXED=y
+CONFIG_PHY_RESET_DELAY=20
 CONFIG_DM_ETH=y
 CONFIG_BCM6348_ETH=y
 CONFIG_PHY=y
index 151c623c04992eb4103274cf37992ba39b72bcaa..b2973fa0f34020ddbe288ca078c4b260646a7774 100644 (file)
@@ -40,6 +40,7 @@ CONFIG_CMD_PING=y
 # CONFIG_CMD_SLEEP is not set
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SYS_RX_ETH_BUFFER=6
 # CONFIG_DM_DEVICE_REMOVE is not set
 CONFIG_BCM6348_IUDMA=y
 CONFIG_LED=y
@@ -51,6 +52,7 @@ CONFIG_MTD_RAW_NAND=y
 CONFIG_NAND_BRCMNAND=y
 CONFIG_NAND_BRCMNAND_6368=y
 CONFIG_SYS_NAND_ONFI_DETECTION=y
+CONFIG_PHY_RESET_DELAY=20
 CONFIG_DM_ETH=y
 CONFIG_BCM6368_ETH=y
 CONFIG_PHY=y
index 722b7194477ff27c08bfeb818c0db413a75bcff1..5ad85b10f500c7bc130d25959d5c1a3042f6569e 100644 (file)
@@ -38,6 +38,7 @@ CONFIG_CMD_PING=y
 # CONFIG_CMD_SLEEP is not set
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SYS_RX_ETH_BUFFER=6
 # CONFIG_DM_DEVICE_REMOVE is not set
 CONFIG_BCM6348_IUDMA=y
 CONFIG_BCM6345_GPIO=y
@@ -49,6 +50,7 @@ CONFIG_CFI_FLASH=y
 CONFIG_SYS_FLASH_PROTECTION=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_MAX_FLASH_BANKS_DETECT=y
+CONFIG_PHY_RESET_DELAY=20
 CONFIG_DM_ETH=y
 CONFIG_PHY_GIGE=y
 CONFIG_BCM6368_ETH=y
index c1cf8ccad31c36ecf0ae43802a35ec7d229c639e..1c5efec707fd2c1eca792a7daead25362f0156e0 100644 (file)
@@ -41,6 +41,7 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
@@ -55,6 +56,8 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index 5cad4d78f2d8a42015dd8a70757e52876fdcdcad..5aba0e2f7f7790fa0be6769d5b675b9210f1bc94 100644 (file)
@@ -37,6 +37,7 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
@@ -51,6 +52,8 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index fa41c5e7a70d1e22230d1d6d6281691ed0c0213b..abbb5cc3d93446da6fcfcf6f6a904c19efc38150 100644 (file)
@@ -57,6 +57,10 @@ CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_SPI_MAX_HZ=50000000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="ccdc.img"
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_SPL_OF_TRANSLATE=y
 CONFIG_SCSI_AHCI=y
 CONFIG_DM_PCA953X=y
index 933bea61162f4742190e68da49afd3e9c5c75c49..79b42a8c4fc8aa1f24061bbc119d4a3a2eb341e1 100644 (file)
@@ -26,6 +26,7 @@ CONFIG_CMD_PART=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
@@ -43,6 +44,8 @@ CONFIG_EFI_PARTITION=y
 # CONFIG_SPL_EFI_PARTITION is not set
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index dcf8ab38a6601a035b0fee6cca65f2cbbb9af4fc..5a0bf1f76ce57aff788757fcc9fee14a26978b5b 100644 (file)
@@ -24,6 +24,7 @@ CONFIG_CMD_PART=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
@@ -38,6 +39,8 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index cbabdab573c18bf5123eb26b2d271c2638ae971d..00ea238162e58902ab323e053172855bfef0eb64 100644 (file)
@@ -20,6 +20,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_PART=y
 CONFIG_CMD_WDT=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_TIMER=y
 CONFIG_CMD_SMC=y
index d4481131087b2927da3b974c92eb9e81ded7a585..3dd55c08bb15e34371896d9d857c98b2a891776f 100644 (file)
@@ -9,6 +9,8 @@ CONFIG_SYS_TEXT_BASE=0x72000000
 CONFIG_SYS_MALLOC_LEN=0x460000
 CONFIG_SYS_MALLOC_F_LEN=0x800
 CONFIG_TARGET_CORVUS=y
+CONFIG_AT91_GPIO_PULLUP=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_SPL_GPIO=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
@@ -20,7 +22,7 @@ CONFIG_SPL_SERIAL=y
 CONFIG_SPL=y
 CONFIG_ENV_OFFSET_REDUND=0x180000
 CONFIG_SYS_LOAD_ADDR=0x70000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9M10G45,SYS_USE_NANDFLASH"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 earlyprintk mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro,256k(env),256k(env_redundant),256k(spare),512k(dtb),6M(kernel)ro,-(rootfs) root=/dev/mtdblock7 rw rootfstype=jffs2"
@@ -46,6 +48,7 @@ CONFIG_CMD_USB=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_MTDPARTS=y
 CONFIG_DOS_PARTITION=y
@@ -53,6 +56,7 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=20
 CONFIG_CLK=y
 CONFIG_CLK_AT91=y
 CONFIG_DFU_NAND=y
@@ -71,6 +75,7 @@ CONFIG_SYS_NAND_OOBSIZE=0x40
 CONFIG_SYS_NAND_U_BOOT_LOCATIONS=y
 CONFIG_SYS_NAND_U_BOOT_OFFS=0x20000
 CONFIG_MACB=y
+CONFIG_RMII=y
 CONFIG_ATMEL_USART=y
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
index 073807b1d0776c98f4039120c5326e1e5d7c4aec..9226c780d9a620ac3ca0b24a1f9c43123fd3dbcf 100644 (file)
@@ -28,6 +28,7 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
@@ -41,6 +42,8 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index f7dc932684446b788bd096492c6d22f4b21429d7..590fee97942db69499b521a05c0ce312c2b33697 100644 (file)
@@ -31,6 +31,7 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
@@ -45,6 +46,8 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index ff8f413810fd05599e0a88229f39fef87743c9d8..a5f0a218e13fb2ff2b6e920d2fe8302e2ca88697 100644 (file)
@@ -32,6 +32,8 @@ CONFIG_CMD_MTDPARTS=y
 CONFIG_CMD_UBI=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_BLK=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
index a71b6425ea5b32072f2dbf9bf77d3497d2d4c334..b75c9f26d36b9e6b2db60fd4a33c3e46bea1db09 100644 (file)
@@ -33,6 +33,8 @@ CONFIG_CMD_UBI=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_BLK=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
index c0746be76427391de41e8155f996282a9fa31b2e..98a23d243e22d603d4b1cce074b04ce6e2a3a40d 100644 (file)
@@ -32,6 +32,8 @@ CONFIG_CMD_MTDPARTS=y
 CONFIG_CMD_UBI=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_BLK=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
index 344f1b08245390401f62848e57362793ef0c15d8..adaa1fc34b900f78779e774cb8bd166001adae8f 100644 (file)
@@ -32,6 +32,8 @@ CONFIG_CMD_MTDPARTS=y
 CONFIG_CMD_UBI=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_BLK=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
index edfd0a4faf9322410c0c46780fa47831459d7a2c..7ec902ee986877064c69fd4f17ad9146e16225b3 100644 (file)
@@ -32,6 +32,8 @@ CONFIG_CMD_MTDPARTS=y
 CONFIG_CMD_UBI=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_BLK=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
index d6f93534dd9dbd653c92730a0e9cd6ed15ae7dda..18e3082213225b1818714996f67dba7c928b8f17 100644 (file)
@@ -32,6 +32,8 @@ CONFIG_CMD_MTDPARTS=y
 CONFIG_CMD_UBI=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_BLK=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
index 5e2122a4c6ca42bf476a1dd05235b0f409d14250..3f0546e5056fb6d7a5b4cadc5a080c0383de1cef 100644 (file)
@@ -23,6 +23,7 @@ CONFIG_USE_PREBOOT=y
 CONFIG_CONSOLE_MUX=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="d2v2> "
 CONFIG_CMD_EEPROM=y
@@ -45,6 +46,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_SPI_MAX_HZ=20000000
 CONFIG_ENV_ADDR=0x70000
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SATA_MV=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
index 0c276775470e77544d4e8949b588471586c21cc8..09b39309e4e2be9719a6326312088518fec5c268 100644 (file)
@@ -61,7 +61,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_DM=y
 CONFIG_SPL_DM=y
index 694e17c1847933966932b89e667a9307bec8bc35..7e0678279292b764f7c353430f4e281e273ef8e9 100644 (file)
@@ -47,7 +47,10 @@ CONFIG_CMD_DIAG=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0x60100000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_DM=y
 CONFIG_DA8XX_GPIO=y
index aeb9c35b5dcf1f198e54a881d8883409d7c43ba2..cdd69f4b8c1c1fc6b78ae87ab863003f61d3969a 100644 (file)
@@ -58,7 +58,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_DM=y
 CONFIG_SPL_DM=y
index 2e8f4c00de50a59e769912596801d5dd22ff52b5..363674594d8da20280a0304f1037a8a8749bd536 100644 (file)
@@ -43,6 +43,8 @@ CONFIG_CMD_FS_GENERIC=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_SPI_MAX_HZ=50000000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_OF_TRANSLATE=y
 CONFIG_SYS_I2C_LEGACY=y
index 9c54e7fe8048d1a2147dd2e45b495872318bca6c..000e7f0667908fcf8ce7c64170d8713579f30cfb 100644 (file)
@@ -47,6 +47,8 @@ CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_SPI_MAX_HZ=50000000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_SPL_OF_TRANSLATE=y
 # CONFIG_SPL_BLK is not set
 # CONFIG_BLOCK_CACHE is not set
index 90fd8e82988eb7434f11386fe6fc423812117227..e7fd1a2fccbe4bf9a76a88fd55f36a2a650acfca 100644 (file)
@@ -46,6 +46,8 @@ CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_SPI_MAX_HZ=50000000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_SPL_OF_TRANSLATE=y
 CONFIG_AHCI_MVEBU=y
 CONFIG_SYS_I2C_LEGACY=y
index c42bda292d04e8b6ffff1a35ce3ced5fc55caf7d..594555c5a953a5f6d762e297adf4f8be023eb7db 100644 (file)
@@ -47,6 +47,8 @@ CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_SPI_MAX_HZ=50000000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_SPL_OF_TRANSLATE=y
 CONFIG_SATA_MV=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
index 3c0b045a21fa737d905b7254e490bde3344b440a..dd087ffcdcfa74331bb28df313c90395056b4fbb 100644 (file)
@@ -39,6 +39,8 @@ CONFIG_CMD_UBI=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_MVTWSI=y
 # CONFIG_MMC is not set
index 3f6d90ef8ae1dba1b20dcc2cdf04772d2a394bba..adf4755275284dd70e33c3ab884b03d46a623e99 100644 (file)
@@ -69,6 +69,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_MMC_ENV_PART=2
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eth1"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM=y
 CONFIG_BOOTCOUNT_LIMIT=y
index af17900a78924d4a39f8831b87711df93f6bb888..df8d0d15704bd9ba344644a8a5255cb33ffe7d3b 100644 (file)
@@ -41,7 +41,10 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_JFFS2=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_VERSION_VARIABLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DMA_LPC32XX=y
 CONFIG_LPC32XX_GPIO=y
 CONFIG_SYS_I2C_LEGACY=y
@@ -67,6 +70,7 @@ CONFIG_PHYLIB=y
 CONFIG_PHY_ADDR_ENABLE=y
 CONFIG_PHY_ADDR=31
 CONFIG_PHY_SMSC=y
+CONFIG_RMII=y
 CONFIG_SPECIFY_CONSOLE_INDEX=y
 CONFIG_CONS_INDEX=5
 CONFIG_SYS_NS16550=y
index 6f03714921d5782c0d9268cb9f28a8a1c411906e..e009f21ecd6caa45af1561544f45bdbe21ffd536 100644 (file)
@@ -26,7 +26,9 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_LOCK_UNLOCK=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_BOOTP_DNS2=y
+CONFIG_BOOTP_NISDOMAIN=y
 CONFIG_BOOTP_NTPSERVER=y
 CONFIG_CMD_JFFS2=y
 CONFIG_JFFS2_DEV="nand0"
@@ -39,6 +41,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=20
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
index 60077edd6707b9deec19ebaca54f762bcd754dfe..0dfb7bbe02579ea81b923c0c9c66ffb8f44a9cfb 100644 (file)
@@ -35,6 +35,7 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
@@ -49,6 +50,8 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index d62bd961decc2f3509040954277816ae7755f561..8c672174ab62b5223eeb13be57a4e1ea67483658 100644 (file)
@@ -59,6 +59,9 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
+CONFIG_ARP_TIMEOUT=200
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DWC_AHSATA=y
 CONFIG_BOOTCOUNT_LIMIT=y
index 1d6a24abedff428c86983f7eb5d39fe2e21d0ad3..b8dec683e2b6588aec3fdf2e899b8a0268b40920 100644 (file)
@@ -19,6 +19,7 @@ CONFIG_BOOTCOMMAND="if test -n ${bootenv} && usb start; then if run loadbootenv;
 CONFIG_USE_PREBOOT=y
 CONFIG_CONSOLE_MUX=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_IDE=y
@@ -40,6 +41,7 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SYS_ATA_STRIDE=4
 CONFIG_SYS_ATA_DATA_OFFSET=0x100
index cbc2bf6f8075261d01fe37c195a41486a05a62c0..683c7a5e6014eba4d59ac235843fe9dbec5f18e9 100644 (file)
@@ -40,6 +40,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 # CONFIG_MMC is not set
 CONFIG_MTD=y
index fdc9826d700e1c7e7a0c466aee40825f3e23d351..1aee9d742c4d85a6634881fe67654d0309a93269 100644 (file)
@@ -64,6 +64,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_DM=y
 CONFIG_SPL_DM=y
index db8716e2d156ed737ec9be1cbc1641b6ba54df2e..728515d433b9004bb9821459e995af9bc8e05cbf 100644 (file)
@@ -65,6 +65,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_DM=y
 CONFIG_SPL_DM=y
index 169b57004828bac0522b64573ec5e50ed768c72d..9ebe45463cf86df78fd0fdc936fcd2593c100fa2 100644 (file)
@@ -61,6 +61,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_DM=y
 CONFIG_SPL_DM=y
index 16d2c6c6b83776ac207b636d56adbdbbad4eaf80..096224f0f070d491af77e7a7d6affde0c77c33a1 100644 (file)
@@ -28,6 +28,9 @@ CONFIG_BOOTDELAY=3
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc><Esc>\" to stop\n"
 CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
+CONFIG_BOOT_RETRY=y
+CONFIG_BOOT_RETRY_TIME=60
+CONFIG_RESET_TO_RETRY=y
 CONFIG_USE_PREBOOT=y
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 # CONFIG_DISPLAY_BOARDINFO is not set
@@ -71,6 +74,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_SPL_DM=y
 # CONFIG_SPL_BLK is not set
index a6a0c6679a3416252a8e6f1a0cee0e31acbd222c..ce90b7fe02b1af02619019f9b22b8736569f829b 100644 (file)
@@ -25,6 +25,7 @@ CONFIG_CMD_GPIO=y
 CONFIG_CMD_GPT=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_TIMER=y
 CONFIG_ENV_IS_IN_MMC=y
index 7a9771eed984e06e72854e82a5f436480e5fe0f5..b780a32710c6bed07c6f034ce34d6fae6dba7bc8 100644 (file)
@@ -21,6 +21,7 @@ CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_GPT=y
 CONFIG_CMD_MMC=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_TIMER=y
 CONFIG_CMD_PMIC=y
index 72ab6956ee9477860c3e158deb9f671b9617ce08..962a166b720aabaac93aece0204a54a7c155701f 100644 (file)
@@ -39,6 +39,7 @@ CONFIG_ENV_SPI_MAX_HZ=50000000
 CONFIG_ENV_ADDR=0x100000
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SATA_MV=y
 CONFIG_SYS_SATA_MAX_DEVICE=1
index 130a92780c3f55f0b07894ad440e66294b072807..8152964838619176c51d304d07a1609b9d0ddbcd 100644 (file)
@@ -21,6 +21,7 @@ CONFIG_SYS_LOAD_ADDR=0x800000
 CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="setenv ethact egiga0; ${x_bootcmd_ethernet}; ${x_bootcmd_usb}; ${x_bootcmd_kernel}; setenv bootargs ${x_bootargs} ${x_bootargs_root}; bootm 0x6400000;"
 CONFIG_USE_PREBOOT=y
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_IDE=y
@@ -38,6 +39,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_SPI_MAX_HZ=50000000
 CONFIG_ENV_ADDR=0x3D0000
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SYS_ATA_STRIDE=4
 CONFIG_SYS_ATA_DATA_OFFSET=0x100
index d33246786cc5d1e5edce4745e424481137a1301f..41fa2cd7fe2d6519698f5b2bc0805767627fa0d7 100644 (file)
@@ -53,6 +53,8 @@ CONFIG_ISO_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_SPI_MAX_HZ=50000000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_SPL_OF_TRANSLATE=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_MVTWSI=y
index f6954291e0c4f9b500a14fd1d4cc0ba2344d7b2b..ae1329c78a01e8b80ad913f51ec6a2899d1288d5 100644 (file)
@@ -7,6 +7,9 @@ CONFIG_TARGET_EB_CPU5282=y
 CONFIG_SYS_LOAD_ADDR=0x20000
 CONFIG_SYS_EXTRA_OPTIONS="SYS_MONITOR_BASE=0xFF000400"
 CONFIG_BOOTDELAY=5
+CONFIG_BOOT_RETRY=y
+CONFIG_BOOT_RETRY_TIME=-1
+CONFIG_RESET_TO_RETRY=y
 CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="printenv"
 # CONFIG_DISPLAY_BOARDINFO is not set
@@ -18,9 +21,13 @@ CONFIG_CMD_I2C=y
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
+CONFIG_MII_INIT=y
 CONFIG_CMD_DATE=y
 CONFIG_ENV_ADDR=0xFF040000
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SYS_I2C_FSL=y
 CONFIG_SYS_FSL_I2C_OFFSET=0x300
index 0c00ead852404e1c468aaed6dfcd070035563034..02a9bb4646e8658e519de1cce5614cae92693879 100644 (file)
@@ -7,6 +7,9 @@ CONFIG_TARGET_EB_CPU5282=y
 CONFIG_SYS_LOAD_ADDR=0x20000
 CONFIG_SYS_EXTRA_OPTIONS="SYS_MONITOR_BASE=0xF0000418"
 CONFIG_BOOTDELAY=5
+CONFIG_BOOT_RETRY=y
+CONFIG_BOOT_RETRY_TIME=-1
+CONFIG_RESET_TO_RETRY=y
 CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="printenv"
 # CONFIG_DISPLAY_BOARDINFO is not set
@@ -17,9 +20,13 @@ CONFIG_CMD_I2C=y
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
+CONFIG_MII_INIT=y
 CONFIG_CMD_DATE=y
 CONFIG_ENV_ADDR=0xFF040000
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SYS_I2C_FSL=y
 CONFIG_SYS_FSL_I2C_OFFSET=0x300
index 1108d7cf229cb45f4eeb2935e20ec2db0ccba0d7..bbc7b41c57ab6167b351a0a30c2090717f5957b6 100644 (file)
@@ -18,6 +18,7 @@ CONFIG_SYS_LOAD_ADDR=0x800000
 CONFIG_BOOTDELAY=3
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_ARCH_MISC_INIT=y
+CONFIG_RESET_PHY_R=y
 CONFIG_SPL_BOARD_INIT=y
 CONFIG_SPL_NOR_SUPPORT=y
 CONFIG_HUSH_PARSER=y
@@ -33,6 +34,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xFFF84000
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_SYS_IDE_MAXBUS=1
 CONFIG_SYS_IDE_MAXDEVICE=1
 CONFIG_SYS_ATA_BASE_ADDR=0xf1080000
index bb4c4050223ad39e582fc85d934d0973137b536b..228643a1bd6ad3e386c8343a4a5993f5c14d3c1c 100644 (file)
@@ -32,6 +32,8 @@ CONFIG_EFI_PARTITION=y
 CONFIG_OF_EMBED=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
 # CONFIG_REGEX is not set
index 3a2e7896339bc171f9a12bbd1acac7d1aaa18231..1ed2f130509f22ebd458747c102975c84425d31d 100644 (file)
@@ -32,6 +32,8 @@ CONFIG_EFI_PARTITION=y
 CONFIG_OF_EMBED=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
 # CONFIG_REGEX is not set
index 04573fc4dfa4cbe71354e6f7307b2bbfabf5f05d..ceadd8290d06289bb0bec003c1af8d05535eabc7 100644 (file)
@@ -23,6 +23,7 @@ CONFIG_CMD_PART=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
@@ -36,6 +37,8 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index df904c86916313cf667c1f2196273087f7824906..b5d1cf12435294da302d6759d4a21e5f57c4e97f 100644 (file)
@@ -23,6 +23,7 @@ CONFIG_CMD_PART=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
@@ -36,6 +37,8 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index 75a3d93f805ed097f7294fa8694bbbf82c4c7e5b..28fce77862b698c2990225645f9b608658a73741 100644 (file)
@@ -22,6 +22,8 @@ CONFIG_OF_EMBED=y
 CONFIG_ENV_IS_IN_FAT=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="app.bin"
 CONFIG_VERSION_VARIABLE=y
 # CONFIG_NET is not set
 CONFIG_MMC=y
index 15a43e762763678f873a1d67b6517b3cc69771d4..8bb4ce0629bf239a3841bf4e3b8a94eb1802ecd1 100644 (file)
@@ -29,6 +29,9 @@ CONFIG_BOOTDELAY=3
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc><Esc>\" to stop\n"
 CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
+CONFIG_BOOT_RETRY=y
+CONFIG_BOOT_RETRY_TIME=60
+CONFIG_RESET_TO_RETRY=y
 CONFIG_USE_PREBOOT=y
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 # CONFIG_DISPLAY_BOARDINFO is not set
@@ -72,6 +75,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_SPL_DM=y
 # CONFIG_SPL_BLK is not set
index 658fbfee83c01b5e2d5c326a401bb32e95462b4f..4a52228b923c0cfe6c9252dcf31a9b96fe03859c 100644 (file)
@@ -14,7 +14,6 @@ CONFIG_ENV_SECT_SIZE=0x21000
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="ethernut5"
 CONFIG_SYS_LOAD_ADDR=0x020000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9XE"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=atmel_nand:-(root) rw rootfstype=jffs2"
@@ -35,6 +34,7 @@ CONFIG_CMD_NAND=y
 CONFIG_CMD_SAVES=y
 CONFIG_CMD_SPI=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_RARP=y
 CONFIG_CMD_MII=y
 # CONFIG_CMD_MDIO is not set
@@ -57,6 +57,7 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_SPI_MAX_HZ=15000000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=20
 CONFIG_DM=y
 CONFIG_CLK=y
 CONFIG_CLK_AT91=y
@@ -74,6 +75,7 @@ CONFIG_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_ATMEL=y
 CONFIG_SPI_FLASH_DATAFLASH=y
 CONFIG_MACB=y
+CONFIG_RMII=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_RTC_PCF8563=y
index ea001851cac1a560c41ee73055dd8aa04856b7e0..53fe7776e90692f53b54cd3d976ab26c96083f49 100644 (file)
@@ -7,6 +7,7 @@ CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_EVB_AST2500=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x20000
+CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="ast2500-evb"
 CONFIG_PRE_CON_BUF_ADDR=0x1e720000
 CONFIG_SYS_LOAD_ADDR=0x83000000
@@ -18,9 +19,11 @@ CONFIG_PRE_CONSOLE_BUFFER=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_HUSH_PARSER=y
 # CONFIG_AUTO_COMPLETE is not set
+CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_ENV_OVERWRITE=y
@@ -28,6 +31,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_REGMAP=y
 CONFIG_CLK=y
+CONFIG_ASPEED_GPIO=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_ASPEED=y
 CONFIG_MMC_SDHCI=y
index 172b08e63ccbd560fbf02dea70573190853c7c00..f541c69b3b4ad57fb6136629ff02a82c53c47f3a 100644 (file)
@@ -11,6 +11,7 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x10000
+CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="ast2600-evb"
 CONFIG_SPL_SERIAL=y
 CONFIG_SPL_STACK_R_ADDR=0x83000000
@@ -39,9 +40,11 @@ CONFIG_SPL_DM_RESET=y
 CONFIG_SPL_RAM_SUPPORT=y
 CONFIG_SPL_RAM_DEVICE=y
 CONFIG_HUSH_PARSER=y
+CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_SPL_OF_CONTROL=y
@@ -57,6 +60,7 @@ CONFIG_SPL_CLK=y
 CONFIG_DM_HASH=y
 CONFIG_HASH_ASPEED=y
 CONFIG_ASPEED_ACRY=y
+CONFIG_ASPEED_GPIO=y
 CONFIG_DM_I2C=y
 CONFIG_MISC=y
 CONFIG_SPL_MISC=y
index 0a4c207ef9d6ba94d04afb2baef4cf3f0e6a35df..58c8bb9040b9ceb6e8183d3d482a9aa94d3376b1 100644 (file)
@@ -27,6 +27,7 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
@@ -40,6 +41,8 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
index 97ed6709b3f0e35fed5ed97f3589169dc4c180bc..450ff86a370b739a43621cb9401d12c7c3663d10 100644 (file)
@@ -7,6 +7,7 @@ CONFIG_SYS_TEXT_BASE=0x22900000
 CONFIG_SYS_MALLOC_LEN=0x1000000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_GARDENA_SMART_GATEWAY_AT91SAM=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_SPL_GPIO=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
index 199afb4d1604870eaff0abd9a9da97b52bf3624e..03cad403e0a230a9c86ad26944b70f9bb4886c80 100644 (file)
@@ -152,6 +152,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_ENV_ADDR=0xFE080000
 CONFIG_ENV_ADDR_REDUND=0xFE090000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_DM=y
 CONFIG_REGMAP=y
 CONFIG_AXI=y
index 6c180b02737b6db32f936f96629d9079144033b0..1abe7686e5f456adbc55a6a31230161a7f2cf35d 100644 (file)
@@ -69,6 +69,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_MMC_ENV_PART=2
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eth1"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM=y
 CONFIG_BOOTCOUNT_LIMIT=y
index 8d4cd24e1d7857e816a876e222fdc9a6246f9715..a1bbe17d4a88f09810004075f7781d27b5757380 100644 (file)
@@ -43,6 +43,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SATA_MV=y
 CONFIG_SYS_SATA_MAX_DEVICE=1
index 05e9d18505329d92b0e79719cf5ab86c712c5824..20be0e3c29d7784eaa17bc3b8d7719d1f84319bf 100644 (file)
@@ -4,16 +4,18 @@ CONFIG_ARCH_AT91=y
 CONFIG_SYS_TEXT_BASE=0x73f00000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_TARGET_GURNARD=y
+CONFIG_AT91_GPIO_PULLUP=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x40000
 CONFIG_ENV_OFFSET=0x80000
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9g45-gurnard"
 CONFIG_SYS_LOAD_ADDR=0x23000000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G45"
 CONFIG_BOOTDELAY=3
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_BOARD_EARLY_INIT_F=y
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_IMI is not set
@@ -27,6 +29,7 @@ CONFIG_CMD_USB=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 # CONFIG_CMD_MDIO is not set
 CONFIG_CMD_PING=y
@@ -36,6 +39,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=20
+CONFIG_TFTP_PORT=y
 CONFIG_TFTP_TSIZE=y
 CONFIG_AT91_GPIO=y
 CONFIG_GENERIC_ATMEL_MCI=y
@@ -45,6 +50,7 @@ CONFIG_MTD_RAW_NAND=y
 CONFIG_NAND_ATMEL=y
 CONFIG_ATMEL_NAND_HWECC=y
 CONFIG_MACB=y
+CONFIG_RMII=y
 CONFIG_ATMEL_USART=y
 CONFIG_TIMER=y
 CONFIG_ATMEL_PIT_TIMER=y
@@ -53,4 +59,6 @@ CONFIG_USB_EHCI_HCD=y
 CONFIG_DM_VIDEO=y
 # CONFIG_VIDEO_LOGO is not set
 # CONFIG_VIDEO_BPP32 is not set
+CONFIG_ATMEL_LCD=y
+CONFIG_LCD=y
 CONFIG_CMD_DHRYSTONE=y
index e30467557c0b76aa7637a6595ccc82d0a1239f59..7116c77cd58a427a434ff085ca1fba161b9374e5 100644 (file)
@@ -18,6 +18,7 @@ CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="setenv bootargs ${console} ${mtdparts} ${bootargs_root}; ubi part root; ubifsmount ubi:rootfs; ubifsload 0x800000 ${kernel}; ubifsload 0x700000 ${fdt}; ubifsumount; fdt addr 0x700000; fdt resize; fdt chosen; bootz 0x800000 - 0x700000"
 CONFIG_USE_PREBOOT=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_FLASH is not set
@@ -42,6 +43,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SYS_ATA_STRIDE=4
 CONFIG_SYS_ATA_DATA_OFFSET=0x100
index 822b0e1b3ccdc0f68a2e5bf071e0edaa219292a1..62965a41fd42a04d963bd13b38fa77e75917db41 100644 (file)
@@ -42,6 +42,8 @@ CONFIG_CMD_TIME=y
 CONFIG_CMD_MVEBU_BUBT=y
 # CONFIG_SPL_PARTITION_UUIDS is not set
 CONFIG_ENV_OVERWRITE=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_OF_TRANSLATE=y
 CONFIG_AHCI_MVEBU=y
index 61a25c234dd0b53a82738e756d72b39b2f33a126..f8cf18e6d3b8e85b1b275ae3bd82a69b00666941 100644 (file)
@@ -17,6 +17,9 @@ CONFIG_OF_BOARD_SETUP=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds...\nPress <s> to stop or <d> to delay\n"
 CONFIG_AUTOBOOT_KEYED_CTRLC=y
+CONFIG_BOOT_RETRY=y
+CONFIG_BOOT_RETRY_TIME=-1
+CONFIG_RESET_TO_RETRY=y
 # CONFIG_USE_BOOTCOMMAND is not set
 # CONFIG_DISPLAY_CPUINFO is not set
 # CONFIG_DISPLAY_BOARDINFO is not set
index 9f1ce4e4b2f4927a2b2c1a2410cf4efca6171b51..3bf235d3b11e02154e79c71e16687ba5829b9dcc 100644 (file)
@@ -20,6 +20,7 @@ CONFIG_MISC_INIT_R=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_CACHE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
index 792cc1a99d5951dc5756dc68de7cdab7eb7ad275..d78261f423d4dbf0fc889b204dfd197475cc973b 100644 (file)
@@ -36,6 +36,8 @@ CONFIG_OF_EMBED=y
 CONFIG_ENV_IS_IN_FAT=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_CLK_HSDK=y
 CONFIG_HSDK_CREG_GPIO=y
index c72ad9f6f778eb905b280acb0334cb23f2134115..cd9f69721bc859a1ed6421d0bdcd6d19a41955fa 100644 (file)
@@ -35,6 +35,8 @@ CONFIG_OF_EMBED=y
 CONFIG_ENV_IS_IN_FAT=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_CLK_HSDK=y
 CONFIG_HSDK_CREG_GPIO=y
index 9201a00e71f3e42ae24992dc94ea2fa99920f522..261e1bf693df5752184572d5bfbe4f2de6ad5438 100644 (file)
@@ -38,6 +38,7 @@ CONFIG_CMD_PING=y
 # CONFIG_CMD_SLEEP is not set
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SYS_RX_ETH_BUFFER=6
 # CONFIG_DM_DEVICE_REMOVE is not set
 CONFIG_BCM6348_IUDMA=y
 CONFIG_BCM6345_GPIO=y
@@ -50,6 +51,7 @@ CONFIG_SYS_FLASH_PROTECTION=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_MAX_FLASH_BANKS_DETECT=y
 CONFIG_PHY_FIXED=y
+CONFIG_PHY_RESET_DELAY=20
 CONFIG_DM_ETH=y
 CONFIG_BCM6348_ETH=y
 CONFIG_PHY=y
index 2655124f80692456fa658e78ddf795ba467b9d0a..40be266556f02a2b03a74886cd807f36f63f10e4 100644 (file)
@@ -41,6 +41,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SYS_ATA_STRIDE=4
 CONFIG_SYS_ATA_DATA_OFFSET=0x100
index 336fae270af7da96f134b2fa011b6a85c6b69f23..1849732d31479764563da440cd7c0bd6b692f857 100644 (file)
@@ -42,6 +42,7 @@ CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 # CONFIG_MMC is not set
 CONFIG_MTD=y
index 246cc3d045f894c4878b5374ec6d7bce4e6baab7..e2785cb96f840bb48dd4abd7ca6f94114940c8a1 100644 (file)
@@ -127,6 +127,10 @@ CONFIG_BOOTDELAY=1
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Enter password - autoboot in %d seconds...\n"
 CONFIG_AUTOBOOT_DELAY_STR="ids"
+CONFIG_BOOT_RETRY=y
+CONFIG_BOOT_RETRY_TIME=900
+CONFIG_BOOT_RETRY_MIN=30
+CONFIG_RESET_TO_RETRY=y
 CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="run boot_cramfs"
 CONFIG_USE_PREBOOT=y
@@ -142,6 +146,7 @@ CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_SNTP=y
@@ -154,6 +159,10 @@ CONFIG_CMD_UBI=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_ENV_ADDR=0xFFFC0000
 CONFIG_ENV_ADDR_REDUND=0xFFFE0000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="ids8313/uImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="TSEC1"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_I2C=y
index 4273b4b579903a5653f6514e733fbef2482167b5..418bd06836a9d22eac1ef13cb70ae58d152d66ba 100644 (file)
@@ -74,6 +74,8 @@ CONFIG_SPL_OF_PLATDATA=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SPL_DM=y
index 332ff3f85d2799e2ea6bdc3cdbd4eeaf2255d066..7c777a579d72a5c46cee86a2ede5f3524646f86c 100644 (file)
@@ -60,6 +60,8 @@ CONFIG_SPL_OF_PLATDATA=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SPL_DM=y
index bd5853c2fd68f87b17bc6c89493cf6912528321a..5d4e011b70854da9e129b96870525e86180c53ca 100644 (file)
@@ -69,6 +69,9 @@ CONFIG_ENV_IS_IN_NAND=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
+CONFIG_ARP_TIMEOUT=200
 CONFIG_SPL_DM=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_SPL_OF_TRANSLATE=y
index a1aa6804ae32d0d36dc10a808c31d0c97eaffad6..c22c4d570d405e9c2e023c13735697a882902364 100644 (file)
@@ -52,6 +52,8 @@ CONFIG_CMD_EXT4_WRITE=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DFU_MMC=y
index 830ab69bb2e1e4dca6376446162be9a8250d8e51..064cc160e20241dcca503f6ac972cdf5f98f2fbe 100644 (file)
@@ -65,6 +65,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=2
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM=y
 CONFIG_SPL_CLK_COMPOSITE_CCF=y
index b72f219c786cc77eb359235f629a9b442d04bc2d..98c1d420a9c7bb30c7e676d588124c4de506b66e 100644 (file)
@@ -66,6 +66,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=2
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM=y
 CONFIG_SPL_CLK_COMPOSITE_CCF=y
index 14b34e651689efa327204533731cc441af1169e8..8c2c22edc5a568fd9fe6088c8198c47b51e117a7 100644 (file)
@@ -64,6 +64,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM=y
 CONFIG_SPL_CLK_COMPOSITE_CCF=y
index 01395fc7eb7a1fcf6b57db94049e110fcca5a9df..b865a31f3ed3b4d3090101ed0de25d20e631d037 100644 (file)
@@ -50,6 +50,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_SPL_DM=y
 CONFIG_SPL_CLK_COMPOSITE_CCF=y
 CONFIG_CLK_COMPOSITE_CCF=y
index 02a65c5abf0baa7ec5fca723cb0aed7158413f53..7cb4a9a18ac63297e0441a5257ab89484e47d8b0 100644 (file)
@@ -62,6 +62,8 @@ CONFIG_OF_LIST="imx8mm-venice imx8mm-venice-gw71xx-0x imx8mm-venice-gw72xx-0x im
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eth0"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_IP_DEFRAG=y
 CONFIG_TFTP_BLOCKSIZE=4096
index 5e92cb597b6a66f3f6a9b12d6d53350bf0482860..72b6ec3bdc90a3ce794198e474386675bb0cea67 100644 (file)
@@ -73,6 +73,8 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=2
 CONFIG_SYS_MMC_ENV_PART=2
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM=y
 CONFIG_REGMAP=y
index a69977d03353a60b3301740dbdcd4e6aa46b64db..57a68f63214756a509aa5c99bbadc31c0373b166 100644 (file)
@@ -73,6 +73,8 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=2
 CONFIG_SYS_MMC_ENV_PART=2
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM=y
 CONFIG_REGMAP=y
index 34b31d764b8e878190235363e2ca08a582d22d37..56c75400f8da0351c0473011d97a1183f910c187 100644 (file)
@@ -31,6 +31,8 @@ CONFIG_ARCH_MISC_INIT=y
 CONFIG_SPL_BOARD_INIT=y
 CONFIG_SPL_BOOTROM_SUPPORT=y
 CONFIG_SPL_SEPARATE_BSS=y
+CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
+CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x300
 CONFIG_SPL_I2C=y
 CONFIG_SPL_POWER=y
 CONFIG_SPL_WATCHDOG=y
@@ -46,6 +48,8 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=2
 CONFIG_SYS_MMC_ENV_PART=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM=y
 CONFIG_REGMAP=y
index 3eaad82cd7e33360cd3b9318e7f20b46fff1c539..b4a7b55ee6d2f1a1c33a2f1089b9c6f8882e080d 100644 (file)
@@ -62,6 +62,8 @@ CONFIG_OF_LIST="imx8mn-venice imx8mn-venice-gw7902"
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eth0"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_IP_DEFRAG=y
 CONFIG_TFTP_BLOCKSIZE=4096
index 0ff549f0bebfa182910d371de32024cad268dd0f..9a8bd0203436e3edcaa306c26887432b2e6ff43a 100644 (file)
@@ -58,6 +58,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eth1"
 CONFIG_SPL_DM=y
 CONFIG_CLK_COMPOSITE_CCF=y
 CONFIG_CLK_IMX8MP=y
index b9480bb2eaa105ca7fa2dfce218f726ccdb85405..a035cbdafdf560e9fa7743770e5ccedb4d613d01 100644 (file)
@@ -21,8 +21,10 @@ CONFIG_SPL_MMC=y
 CONFIG_SPL_SERIAL=y
 CONFIG_SPL_DRIVERS_MISC=y
 CONFIG_SPL=y
+CONFIG_IMX_BOOTAUX=y
 CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x48000000
 CONFIG_DISTRO_DEFAULTS=y
+CONFIG_REMAKE_ELF=y
 CONFIG_SYS_LOAD_ADDR=0x40480000
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
@@ -78,6 +80,8 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=2
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eth1"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM=y
 CONFIG_REGMAP=y
index fe60b819e7d0fe2cc89bb9ff327a99592aee24de..e9d4fbf366be4bb7feb74d94c2f8f2f253823bf8 100644 (file)
@@ -21,8 +21,10 @@ CONFIG_SPL_MMC=y
 CONFIG_SPL_SERIAL=y
 CONFIG_SPL_DRIVERS_MISC=y
 CONFIG_SPL=y
+CONFIG_IMX_BOOTAUX=y
 CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x48000000
 CONFIG_DISTRO_DEFAULTS=y
+CONFIG_REMAKE_ELF=y
 CONFIG_SYS_LOAD_ADDR=0x40480000
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
@@ -78,6 +80,8 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=2
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eth1"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM=y
 CONFIG_REGMAP=y
index b272070686760edea5875e4f1729c04b84163369..04edd54d2b49ada3658a0ea38b07a359185d967f 100644 (file)
@@ -47,6 +47,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SAVED_DRAM_TIMING_BASE=0x40000000
 CONFIG_MXC_GPIO=y
index 323a0f3996d3402acf17ad28431231930014d4d5..7e928c2e5c6a2368bf4ee6b946db3580d378fecc 100644 (file)
@@ -54,6 +54,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_SAVED_DRAM_TIMING_BASE=0x40000000
 CONFIG_MXC_GPIO=y
 CONFIG_DM_I2C=y
index a30617dbea6e3964c0217e03333f0edb5dbc21d3..4adf7e4f1a89f7ca3f477dd03adeb14d918769f6 100644 (file)
@@ -60,6 +60,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_SAVED_DRAM_TIMING_BASE=0x40000000
 CONFIG_MXC_GPIO=y
 CONFIG_DM_I2C=y
index 0e2a646ebf131d079eea080118fb9cfeafd31306..dafb817f9f3e5b3b21828055b3bfe1b22f41590a 100644 (file)
@@ -47,6 +47,8 @@ CONFIG_SPL_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM=y
 CONFIG_IMX_RGPIO2P=y
index c45156c8513fdc64d44ec100fdbb1c21c0b704e3..1082444cf3d9c289443541cc58f09dd4e0c610a8 100644 (file)
@@ -23,6 +23,7 @@ CONFIG_USE_PREBOOT=y
 CONFIG_CONSOLE_MUX=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ns2> "
 CONFIG_CMD_EEPROM=y
@@ -45,6 +46,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_SPI_MAX_HZ=20000000
 CONFIG_ENV_ADDR=0x70000
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SATA_MV=y
 CONFIG_SYS_SATA_MAX_DEVICE=1
index 420aae6cd719f1d9988dea8c2e0e30526e0db817..c33ef94d2c98728f9f23f9c63e4369d77b74f039 100644 (file)
@@ -20,7 +20,9 @@ CONFIG_SYS_PROMPT="Integrator-AP # "
 CONFIG_CMD_IMLS=y
 CONFIG_CMD_ARMFLASH=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
index 3ff47e1ebee1226325050486a40a50896fc4d775..a3e6b8d8e8e553d9791f6cc2553e2701e33eb81f 100644 (file)
@@ -20,7 +20,9 @@ CONFIG_SYS_PROMPT="Integrator-AP # "
 CONFIG_CMD_IMLS=y
 CONFIG_CMD_ARMFLASH=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
index 216088773379e2b81171f9de4951200d42f6bb50..af0d73b4f874400981cd4b0fc53dfbf507c5f65f 100644 (file)
@@ -20,7 +20,9 @@ CONFIG_SYS_PROMPT="Integrator-AP # "
 CONFIG_CMD_IMLS=y
 CONFIG_CMD_ARMFLASH=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
index b384dc6b03f42ccab96103d94c2f6e4336372391..52846913b69d87f3da2204bab79e46fdfd067ffc 100644 (file)
@@ -20,7 +20,9 @@ CONFIG_SYS_PROMPT="Integrator-AP # "
 CONFIG_CMD_IMLS=y
 CONFIG_CMD_ARMFLASH=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
index ba6450b11eea8b8c57bb87209536bf215e17b88d..4cfe0bd55f33c8df5881cbfdaba5cca35b3dd9c8 100644 (file)
@@ -23,6 +23,8 @@ CONFIG_CMD_IMLS=y
 CONFIG_CMD_ARMFLASH=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_ENV_ADDR=0x24F00000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
index 06bfdff663c40ae66383d3eda105b1d779e023d9..ddff8ac86839e733452b6959a461a4812afecf78 100644 (file)
@@ -23,6 +23,8 @@ CONFIG_CMD_IMLS=y
 CONFIG_CMD_ARMFLASH=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_ENV_ADDR=0x24F00000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
index 3d158874acea76634b6c2074e0fd0aac1489e155..87e2a978b825a3114174f0af5155501ff22bf942 100644 (file)
@@ -23,6 +23,8 @@ CONFIG_CMD_IMLS=y
 CONFIG_CMD_ARMFLASH=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_ENV_ADDR=0x24F00000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
index 8d49ef49705f67c5e28f156ec969639c46302caf..c1868fbd31d7fdb95a8f152257e2acfcf71c4936 100644 (file)
@@ -23,6 +23,8 @@ CONFIG_CMD_IMLS=y
 CONFIG_CMD_ARMFLASH=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_ENV_ADDR=0x24F00000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
index 431491edfa2186488fe1507a1eab54e8d09e7f4e..14a30e3b1b7b5e8548f28c2785274bd01ea7fae8 100644 (file)
@@ -27,6 +27,8 @@ CONFIG_OF_EMBED=y
 CONFIG_ENV_IS_IN_FAT=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="app.bin"
 # CONFIG_NET is not set
 CONFIG_MMC=y
 CONFIG_MMC_DW=y
index 045b6c99570b83e762d6466054f48cf930ff9528..447967add2f27d620e38c3d203ead3b3ab475c9f 100644 (file)
@@ -27,7 +27,7 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
 # CONFIG_USE_SPL_FIT_GENERATOR is not set
-CONFIG_BOOTCOMMAND="run findfdt; run distro_bootcmd; run init_${boot}; run main_cpsw0_qsgmii_phyinit; run get_kern_${boot}; run get_fdt_${boot}; run get_overlay_${boot}; run run_kern"
+CONFIG_BOOTCOMMAND="run findfdt; run distro_bootcmd; run init_${boot}; run main_cpsw0_qsgmii_phyinit; run boot_rprocs; run get_kern_${boot}; run get_fdt_${boot}; run get_overlay_${boot}; run run_kern"
 CONFIG_LOGLEVEL=7
 CONFIG_SPL_BOARD_INIT=y
 CONFIG_SPL_SYS_MALLOC_SIMPLE=y
index 6f154ed3b105c3cb0edd38410ccbb689bd4d0813..b468a4438eb53fa5fa8c6a102cadab942df25c74 100644 (file)
@@ -30,7 +30,7 @@ CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
 CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
 # CONFIG_USE_SPL_FIT_GENERATOR is not set
-CONFIG_BOOTCOMMAND="run findfdt; run envboot; run init_${boot}; run boot_rprocs; run get_fit_${boot}; run get_overlaystring; run run_fit"
+CONFIG_BOOTCOMMAND="run findfdt; run envboot; run init_${boot}; run main_cpsw0_qsgmii_phyinit; run boot_rprocs; run get_fit_${boot}; run get_overlaystring; run run_fit"
 CONFIG_LOGLEVEL=7
 CONFIG_SPL_BOARD_INIT=y
 CONFIG_SPL_SYS_MALLOC_SIMPLE=y
index f4dc095ba3bd743107983fcf284480af5934a9f0..7e2bbc482d1d99e8a8adef9da7172ab5ad33ebfb 100644 (file)
@@ -135,6 +135,7 @@ CONFIG_CFI_FLASH=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_FLASH_CFI_MTD=y
 CONFIG_SYS_FLASH_CFI=y
+CONFIG_SYS_MAX_FLASH_BANKS_DETECT=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_SFDP_SUPPORT=y
 CONFIG_SPI_FLASH_SOFT_RESET=y
index 09f832e67f82bc3bf60d0af0f2b9aafba9db4e1d..996efd4db2690bdb54b5c52ee8c6ea18ff9ed996 100644 (file)
@@ -111,6 +111,7 @@ CONFIG_CFI_FLASH=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_FLASH_CFI_MTD=y
 CONFIG_SYS_FLASH_CFI=y
+CONFIG_SYS_MAX_FLASH_BANKS_DETECT=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_SFDP_SUPPORT=y
 CONFIG_SPI_FLASH_SOFT_RESET=y
index eb8b945fa4877d562b079481a012beea2d1f76f1..05cc3d70831696c5df9d832b623780e79ec2607e 100644 (file)
@@ -53,6 +53,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=32
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
index 45b6644f69888ae738ffa04a10e497a9ae55ef87..c8ea0bec89c532b002263080aa0837e94a556157 100644 (file)
@@ -38,6 +38,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=32
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
index 81fbf1da2b88a22ebf6333e676266fed45814d1b..440a76f443cca6ac67cad434ef7778c09bcab438 100644 (file)
@@ -54,6 +54,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=32
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_DM=y
 CONFIG_SPL_DM=y
index c91f5c27035bcf0f04fbafa45ed29160cac8d9c2..4137733c0fef379daa16c45da6f08bc77c915f4c 100644 (file)
@@ -40,6 +40,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=32
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_DM=y
 CONFIG_DFU_MMC=y
index dfe0291ab6acdcb79bcfb9eeb527ac9e69497594..c66c36adf74676fb2bed813a663f6a04ef024c28 100644 (file)
@@ -53,6 +53,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=32
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
index e1b98a612e168de8653f391a94a8c3e9be4bd533..c405e1e3d90e24fc96643a3564f53612768f47fb 100644 (file)
@@ -38,6 +38,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=32
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
index d800ea15d8a3a3b71be9eccba8c90f6a2d1f9b2b..d7bdf8ed24df9824236175177495caade5b2ed4b 100644 (file)
@@ -53,6 +53,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=32
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
index 1776217e9426dff422f1f63d08f878626447c608..493fdb1faba404a05f57d363a9f4d189b6509d75 100644 (file)
@@ -41,6 +41,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=32
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
index f4b1abfd6a9d6aa26f4bb77afbedabc7f575fda2..470c6e69e8bed611e24eef07aa5143e1aa694e70 100644 (file)
@@ -19,6 +19,7 @@ CONFIG_AUTOBOOT_PROMPT="Hit <SPACE> key to stop autoboot in %2ds\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_BOOTM_NETBSD is not set
 # CONFIG_BOOTM_PLAN9 is not set
@@ -33,6 +34,7 @@ CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=10
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_I2C=y
 CONFIG_CMD_NAND=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_MTDPARTS=y
@@ -47,6 +49,7 @@ CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_RAM=y
 CONFIG_KIRKWOOD_GPIO=y
index eba4f097775d3d703d5e2b57f607a2792f8c7df8..7caa9edae207bcf94ddd14d21d8f30bbf87ad2a7 100644 (file)
@@ -19,6 +19,7 @@ CONFIG_AUTOBOOT_PROMPT="Hit <SPACE> key to stop autoboot in %2ds\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_BOOTM_NETBSD is not set
 # CONFIG_BOOTM_PLAN9 is not set
@@ -33,6 +34,7 @@ CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=10
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_I2C=y
 CONFIG_CMD_NAND=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_MTDPARTS=y
@@ -47,6 +49,7 @@ CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_RAM=y
 CONFIG_KIRKWOOD_GPIO=y
index 5d19c51176021ef06d945a739f59f438f4a2ecc3..db2d532af2c459730dbb31caa0d48bff6ec4400e 100644 (file)
@@ -20,6 +20,7 @@ CONFIG_AUTOBOOT_PROMPT="Hit <SPACE> key to stop autoboot in %2ds\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_BOOTM_NETBSD is not set
 # CONFIG_BOOTM_PLAN9 is not set
@@ -34,6 +35,7 @@ CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=10
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_I2C=y
 CONFIG_CMD_NAND=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_MTDPARTS=y
@@ -48,6 +50,7 @@ CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_RAM=y
 CONFIG_KIRKWOOD_GPIO=y
index cf0748c49e397dc730001728e90e23fd749e0ffd..0bade41dcb6201706670286a2b84dd71ee6fb676 100644 (file)
@@ -16,10 +16,10 @@ CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_STDOUT_VIA_ALIAS=y
+CONFIG_EVENT=y
 CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_BOARD_EARLY_INIT_R=y
 CONFIG_LAST_STAGE_INIT=y
-CONFIG_MISC_INIT_F=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_DM=y
 CONFIG_CMD_I2C=y
@@ -27,6 +27,7 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_MTD=y
 CONFIG_CMD_NAND_TRIMFFS=y
 CONFIG_CMD_SPI=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_ETHSW=y
 CONFIG_CMD_CRAMFS=y
@@ -43,10 +44,13 @@ CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_ENV_ADDR=0xebf20000
 CONFIG_ENV_ADDR_REDUND=0xebf00000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="fm1-mac5"
 CONFIG_DM=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_FSL_CAAM=y
 CONFIG_DDR_CLK_FREQ=66666666
+CONFIG_CHIP_SELECTS_PER_CTRL=2
 CONFIG_SYS_FSL_DDR3=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_FSL=y
index 53f7abc3fd098f379854a31108704aeaf3268a3c..0c2e5488fb077113341c5ce669010e9b7cdd9ced 100644 (file)
@@ -178,6 +178,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_NAND=y
 # CONFIG_CMD_PINMUX is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_JFFS2=y
@@ -190,6 +191,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_ENV_ADDR=0xF00C0000
 CONFIG_ENV_ADDR_REDUND=0xF00E0000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="UEC0"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_DM_BOOTCOUNT=y
index 9124504e3232a6af74481af2347f3675f96946c3..25db57fc16d8876dc8c8cb873f05dbeac4887bde 100644 (file)
@@ -23,6 +23,7 @@ CONFIG_AUTOBOOT_PROMPT="Hit <SPACE> key to stop autoboot in %2ds\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_BOOTM_NETBSD is not set
 # CONFIG_BOOTM_PLAN9 is not set
@@ -37,6 +38,7 @@ CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=10
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_I2C=y
 CONFIG_CMD_NAND=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_MTDPARTS=y
@@ -51,6 +53,7 @@ CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_RAM=y
 CONFIG_KIRKWOOD_GPIO=y
index 228bbe6e8401a59be6fe8e53a921db4195cc497a..eaa791ee9923552c3aabd4dff6148f0a2ce51f98 100644 (file)
@@ -147,6 +147,7 @@ CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=10
 CONFIG_CMD_I2C=y
 # CONFIG_CMD_PINMUX is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_JFFS2=y
@@ -159,6 +160,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_ENV_ADDR=0xF00C0000
 CONFIG_ENV_ADDR_REDUND=0xF00E0000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="UEC0"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_DM_BOOTCOUNT=y
index d81c7876120203c7c2526d542a59a3eb8d559097..690cb3cfa5489a39e2d6dc6b91c17cbd059acb72 100644 (file)
@@ -23,6 +23,7 @@ CONFIG_AUTOBOOT_PROMPT="Hit <SPACE> key to stop autoboot in %2ds\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_BOOTM_NETBSD is not set
 # CONFIG_BOOTM_PLAN9 is not set
@@ -37,6 +38,7 @@ CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=10
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_I2C=y
 CONFIG_CMD_NAND=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_MTDPARTS=y
@@ -51,6 +53,7 @@ CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_RAM=y
 CONFIG_KIRKWOOD_GPIO=y
index d230638548b89b17118f8d9412f6ca522e7cd7cd..254c9fe3b6f1d820fb06492a43cbbb6d987aaa05 100644 (file)
@@ -159,6 +159,7 @@ CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=10
 CONFIG_CMD_I2C=y
 # CONFIG_CMD_PINMUX is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_JFFS2=y
@@ -171,6 +172,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_ENV_ADDR=0xF00C0000
 CONFIG_ENV_ADDR_REDUND=0xF00E0000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="UEC0"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_DM_BOOTCOUNT=y
index b0b59262dec34f87c90cacd25868c31a5db86d2e..c041ac0db1e30c8297413161921b91ea69f261fb 100644 (file)
@@ -138,6 +138,7 @@ CONFIG_SYS_EEPROM_PAGE_WRITE_BITS=3
 CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=10
 CONFIG_CMD_I2C=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_JFFS2=y
@@ -150,6 +151,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_ENV_ADDR=0xF00C0000
 CONFIG_ENV_ADDR_REDUND=0xF00E0000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="UEC0"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_DM_BOOTCOUNT=y
index d274c9576414ce1d09e2a1403e63267041e03d3d..409eb456e090ee675f778cb1c99f5544733d93c3 100644 (file)
@@ -24,6 +24,7 @@ CONFIG_AUTOBOOT_PROMPT="Hit <SPACE> key to stop autoboot in %2ds\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_BOOTM_NETBSD is not set
 # CONFIG_BOOTM_PLAN9 is not set
@@ -38,6 +39,7 @@ CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=10
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_I2C=y
 CONFIG_CMD_NAND=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_MTDPARTS=y
@@ -52,6 +54,7 @@ CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_RAM=y
 CONFIG_KIRKWOOD_GPIO=y
index 53aaf6caa25c8e7f9b449d909fa5e1d4174db07d..d6bcc2f38b4e451f91bf0063836815b00cc6b647 100644 (file)
@@ -139,6 +139,7 @@ CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=10
 CONFIG_CMD_I2C=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_JFFS2=y
@@ -152,6 +153,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_ENV_ADDR=0xF0100000
 CONFIG_ENV_ADDR_REDUND=0xF0120000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="UEC0"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_DM_BOOTCOUNT=y
index b333769dc4f540913abe7d98b2a9ea9970546470..48c1a720f960f1f2c854757b7fa0cc1731ea86b7 100644 (file)
@@ -158,6 +158,7 @@ CONFIG_SYS_EEPROM_PAGE_WRITE_BITS=3
 CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=10
 CONFIG_CMD_I2C=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_JFFS2=y
@@ -170,6 +171,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_ENV_ADDR=0xF00C0000
 CONFIG_ENV_ADDR_REDUND=0xF00E0000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="UEC0"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_DM_BOOTCOUNT=y
index 6d67475dc6ad2327e2cef45d854dd55443a84c26..6b2d36c43ce435f039cc7a79123b7c96176e03a1 100644 (file)
@@ -55,6 +55,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_SPI_BUS=2
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eth0"
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
 CONFIG_DM_I2C=y
index 76430213e3d3b596926e45af607c4c85f59bc45c..eaf838944737a4ba84420e2410834a516edb1c7f 100644 (file)
@@ -20,14 +20,18 @@ CONFIG_SPL_DRIVERS_MISC=y
 CONFIG_SPL=y
 CONFIG_IMX_BOOTAUX=y
 CONFIG_DISTRO_DEFAULTS=y
+CONFIG_REMAKE_ELF=y
 CONFIG_SYS_LOAD_ADDR=0x40480000
 CONFIG_FIT=y
 CONFIG_SPL_FIT_PRINT=y
 CONFIG_SPL_LOAD_FIT=y
 # CONFIG_USE_SPL_FIT_GENERATOR is not set
+CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_BOARD_LATE_INIT=y
 CONFIG_MISC_INIT_R=y
+CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
+CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x300
 CONFIG_SPL_I2C=y
 CONFIG_SPL_POWER=y
 CONFIG_SPL_WATCHDOG=y
@@ -56,6 +60,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_SAVED_DRAM_TIMING_BASE=0x40000000
 CONFIG_DFU_MMC=y
 CONFIG_MXC_GPIO=y
index cf8aedfdfd7160f2dc65f1cb23e9bccbf5598c43..2ee1a17cf558aeb61f94a1478c7e2da836bc8055 100644 (file)
@@ -59,6 +59,7 @@ CONFIG_OF_LIST="fsl-ls1028a-kontron-sl28 fsl-ls1028a-kontron-sl28-var1 fsl-ls102
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_SATA=y
 CONFIG_SCSI_AHCI=y
index d2e09ac6977c8a2c0dfd8e50778ab9f9e6ec5cff..3ec33477208782e7df93e866d8d802db55968e54 100644 (file)
@@ -39,6 +39,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
 CONFIG_I2C_DEFAULT_BUS_NUMBER=0x1
 CONFIG_SYS_I2C_MXC=y
index e5504f2aeab9278d58b152c1dd7c2459fd93bc44..9c9aac369d6bac58b4237e43e7ca5bf2208092b6 100644 (file)
@@ -47,6 +47,7 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
+CONFIG_ARP_TIMEOUT=200
 CONFIG_BOUNCE_BUFFER=y
 # CONFIG_BLOCK_CACHE is not set
 CONFIG_SPL_CLK_IMX6Q=y
index 867673f5735803cfdea62e2384120c5814223e5c..e790072e539f541f24c2b2c0502060e30f8a3125 100644 (file)
@@ -21,6 +21,7 @@ CONFIG_CMD_IMLS=y
 CONFIG_CMD_I2C=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_NFS_TIMEOUT=10000
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_ENV_IS_IN_FLASH=y
index 87890cd6a7e96a7a6fc3f9d6f77f7557a40ded56..d61661078937c958f7800332607dfcdb3e9d85fc 100644 (file)
@@ -36,6 +36,8 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_DIAG=y
 CONFIG_OF_CONTROL=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_VERSION_VARIABLE=y
 # CONFIG_NET is not set
 CONFIG_DM=y
index 041495f57f2943b66ee302df5cf28ffa093a0ed8..dc40c520c07d76823fd6aeba6b4869a0241d9a6d 100644 (file)
@@ -43,6 +43,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DM_I2C=y
index 911b4dba3a25721496dd29bb9f4329f854b32b21..eac666dedbaab301fa26f5df792219c1ba057a38 100644 (file)
@@ -36,6 +36,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC2"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
index f72f2b1bb5092bb264f91d54a5483acbbf6202d8..407b693a18109afef86860c29f43b6625ebef0f7 100644 (file)
@@ -53,6 +53,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC2"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
index 925d68db8e1e7dd7382718cb45f927b6bf8af5d9..41ac7151dc8a51dd96a47d4d74fc4df744f40c60 100644 (file)
@@ -49,6 +49,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0x60300000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
@@ -65,6 +67,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_MAX_FLASH_BANKS=2
index c71c8649d92e5c48446e5baad293449d9cb5b27e..aedc12a46939ce2be2a27315c7c5068015e38096 100644 (file)
@@ -50,6 +50,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0x60300000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
@@ -66,6 +68,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_MAX_FLASH_BANKS=2
index 58629beb0c714321681cd41903c00b3b8d9eb849..e7cd54bf3a7ddfd5f7010cb60f22be65b6be9087 100644 (file)
@@ -70,6 +70,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
@@ -87,6 +89,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_MAX_FLASH_BANKS=2
index d252ed49e95d711c29c3e6190991c1e07a11cffe..288e41445476313e05894aa0746dc213d58f5478 100644 (file)
@@ -48,6 +48,8 @@ CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
@@ -64,6 +66,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_MAX_FLASH_BANKS=2
index fb9f457b74d11afa291cd68e9a17b2c0d6ceb7b6..b0c55a5ab4771fc679396adeaf3a33de6b20853a 100644 (file)
@@ -49,6 +49,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0x60300000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
@@ -66,6 +68,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_MAX_FLASH_BANKS=2
index 1d6d88ff3724ac26695419c0d37719bf4dea5700..56e00a70b116f7b9b17a1fb349f797c257032607 100644 (file)
@@ -50,6 +50,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0x60300000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
@@ -67,6 +69,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_MAX_FLASH_BANKS=2
index f629080be23cc8810f84e9a8d9fadd0d2d54822b..cf023c82dd237e105a7a383f94b1d77e60648d01 100644 (file)
@@ -48,6 +48,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
index 38b17048c4f3c32a5cadcee24d409361c98c8c26..c390b6bd18bfae102b9efffa6cf6e00e5e4b4ea1 100644 (file)
@@ -67,6 +67,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
@@ -84,6 +86,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_MAX_FLASH_BANKS=2
index eb97c18fdd6f9e266be2468aacebb1aeb9b41262..d44b07b6f987915c18b4cfdd19c27889ed469bf4 100644 (file)
@@ -65,6 +65,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eTSEC1"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
index 2f66d833a31fb8b06bdb15a5719cbf129708f4d5..634a618f5d190cbda964a40c1e4220f04d472b04 100644 (file)
@@ -42,6 +42,8 @@ CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="ethernet@2d10000"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
@@ -54,6 +56,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_PHY_ATHEROS=y
index c1adc6e23fabc46d5f9a2ad8138649ba7bc12b89..a8dde25eae432f8e89d1ee8be67705cd8cc3f704 100644 (file)
@@ -43,6 +43,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0x60300000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="ethernet@2d10000"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
@@ -56,6 +58,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_PHY_ATHEROS=y
index 150179d6334c982b5eef394bb52e6653f28a04b7..5bb3175df41ab9dbab26f77bed7c759cef6b0c19 100644 (file)
@@ -44,6 +44,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0x60300000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="ethernet@2d10000"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
@@ -57,6 +59,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_PHY_ATHEROS=y
index 016771a8f6d136af3a3fa6f910a34e374cb4532e..08b3667a53ad4e89e0732a6f4ee9d4e4455ad508 100644 (file)
@@ -44,6 +44,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="ethernet@2d10000"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
index a8288e9fb6a84ddc1e7b40790f42075dc63bebac..e665d2d4fec117505ff5a5f6a37a5903c1f46e63 100644 (file)
@@ -60,6 +60,8 @@ CONFIG_CMD_USB=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="ethernet@2d10000"
 CONFIG_DM=y
 CONFIG_SPL_DM=y
 # CONFIG_SPL_BLK is not set
@@ -74,6 +76,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_PHY_ATHEROS=y
index 695505a9752c1ba268a1aedde25a7b8dbfb67357..9e59c7c2473065b560e575f3db9d455f5e775795 100644 (file)
@@ -61,6 +61,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="ethernet@2d10000"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
@@ -74,6 +76,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_PHY_ATHEROS=y
index 19e7751e785016cbfe521758fa0486e39614303d..8e045d21fb3295e4e732421989f7821369e7234f 100644 (file)
@@ -61,6 +61,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="ethernet@2d10000"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
index af65bcad84084f8e978ae157a51ffbeb79537372..94a1bd35e613ffb1bf8bcf57d5b9fc2f290076ca 100644 (file)
@@ -43,6 +43,7 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SCSI_AHCI=y
index bc473ae143d69f4e00f61970f0485b434bee0b78..c4e3c89e5d7aeb26540a746aa699cfd2f332433a 100644 (file)
@@ -48,6 +48,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_ADDR=0x20500000
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SCSI_AHCI=y
index 417c8481241c781007b305ab638caba152997f46..1d0e303da2e1915deca2b00e83704fcc0ef94335 100644 (file)
@@ -48,6 +48,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_ADDR=0x20500000
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SCSI_AHCI=y
index 8b5bb130f67d033088ac3038053158463ab2c11f..16c32c4cfaabf054aff205e71ff4d94a6e28f571 100644 (file)
@@ -42,6 +42,7 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SCSI_AHCI=y
index 2018d15a837b52600d652c720b02ecf85f3db6bb..87a03add4db9a71c7eed172b7a01104a8b499010 100644 (file)
@@ -47,6 +47,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_ADDR=0x20500000
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SCSI_AHCI=y
index ef1a591ec09a66d83885cb80ab46c6fb40d1194c..ad59689c6ce3432b5c1fe459d379b65f6ea12aa7 100644 (file)
@@ -65,6 +65,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_MTD_RAW_NAND=y
index 8dd6ce41d6ce4598929591e506f190065fe630e2..d583573f17949fed5cd15bdaf60767376c3d4e5d 100644 (file)
@@ -66,6 +66,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_MTD_RAW_NAND=y
index 3e548031071a16e1031fa879a089abe76a99a79c..8027b019568ba65c48201eea646a473435e20b2a 100644 (file)
@@ -85,6 +85,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_NAND_FSL_IFC=y
index 97fe2ce8bd6d66d130c2f1a98ace6774a360f3d6..5be7e4c8e59f294748d3afc93bd0173cd910b3c1 100644 (file)
@@ -66,6 +66,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_MTD_RAW_NAND=y
index be40f49f6e1bd1437e55ff174c78706c7d29647d..dd36d811b3a35823be7cd5c2691131ca684bedf9 100644 (file)
@@ -84,6 +84,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_MTD_RAW_NAND=y
index e196c4428f4d1344c606f0bdd4c23faa6338b1c7..7fadadb5694c7bd468bb171fe35a67fb67845be2 100644 (file)
@@ -65,6 +65,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_MTD_RAW_NAND=y
index 6a8979488508dc35abb6e27d96d4749bbde59033..5510d50a3c861fcfc1c19c482ef7f0dece41240f 100644 (file)
@@ -74,6 +74,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_MTD_RAW_NAND=y
index e7c277d6c629e62ea74cfdbe63b7d7f18c283387..6839a0213d46356b97363bf51886f9cc8954f5b0 100644 (file)
@@ -35,6 +35,8 @@ CONFIG_CMD_CACHE=y
 CONFIG_MTDPARTS_DEFAULT="mtdparts=60000000.nor:2m@0x100000(nor_bank0_uboot),40m@0x1100000(nor_bank0_fit),7m(nor_bank0_user),2m@0x4100000(nor_bank4_uboot),40m@0x5100000(nor_bank4_fit),-(nor_bank4_user);7e800000.flash:1m(nand_uboot),1m(nand_uboot_env),20m(nand_fit);spi0.0:1m(uboot),5m(kernel),1m(dtb),9m(file_system)"
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 # CONFIG_DDR_SPD is not set
 CONFIG_ECC_INIT_VIA_DDRCONTROLLER=y
@@ -47,6 +49,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_MTD_RAW_NAND=y
index 94daa1f10ba61c36871b7361983c056a9693cabe..3fa35c5b77075672523962a6341da98eedcdea5e 100644 (file)
@@ -37,6 +37,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0x60300000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_FSL_CAAM=y
 # CONFIG_DDR_SPD is not set
@@ -50,6 +52,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_MTD_RAW_NAND=y
index a86138f1798a9fe153f83b17ba7d2fb2ae63c419..369981f70c7904cfeaa4cd53b7f89bd887f5c04e 100644 (file)
@@ -51,6 +51,8 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=60000000.nor:2m@0x100000(nor_bank0_uboot),40m@
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SPL_DM=y
 CONFIG_MPC8XXX_GPIO=y
@@ -61,6 +63,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_NAND_FSL_IFC=y
index 19a54d1ea2e6ea6006652808495cf758bcb5f560..eefd248976c1d3c3b7d93fa618f750c95490729f 100644 (file)
@@ -58,6 +58,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_FSL_CAAM=y
 CONFIG_MPC8XXX_GPIO=y
@@ -69,6 +71,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_NAND_FSL_IFC=y
index 61e348291e811de0be57ed6f7e5f99a5fb0df85a..4b0b5f9df7810e6f1cba52eea22c9e32aa2ce7d3 100644 (file)
@@ -51,6 +51,8 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=60000000.nor:2m@0x100000(nor_bank0_uboot),40m@
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SPL_DM=y
 # CONFIG_SPL_BLK is not set
@@ -63,6 +65,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_MTD_RAW_NAND=y
index ef82842b6499db13751be8c1e48cf1e11b6c4ff1..6c415ac187fbbcdd556dca35142b23994aa0bee9 100644 (file)
@@ -57,6 +57,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_FSL_CAAM=y
 CONFIG_MPC8XXX_GPIO=y
@@ -68,6 +70,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_MTD_RAW_NAND=y
index 6ff5614cb53ddc470d9cd377b161434c027db9bf..41a285e3a56873242f6ffc6473711c684bd85670 100644 (file)
@@ -36,6 +36,8 @@ CONFIG_CMD_CACHE=y
 CONFIG_MTDPARTS_DEFAULT="mtdparts=60000000.nor:2m@0x100000(nor_bank0_uboot),40m@0x1100000(nor_bank0_fit),7m(nor_bank0_user),2m@0x4100000(nor_bank4_uboot),40m@0x5100000(nor_bank4_fit),-(nor_bank4_user);7e800000.flash:1m(nand_uboot),1m(nand_uboot_env),20m(nand_fit);spi0.0:1m(uboot),5m(kernel),1m(dtb),9m(file_system)"
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 # CONFIG_DDR_SPD is not set
 CONFIG_ECC_INIT_VIA_DDRCONTROLLER=y
@@ -48,6 +50,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_MTD_RAW_NAND=y
index 551807e879d078698282b94f58907184745154f6..ecb5dfbea6aeea5f8258fd4a4f1595fdc43d33f2 100644 (file)
@@ -41,6 +41,8 @@ CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_ENV_ADDR=0x60500000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_FSL_CAAM=y
 # CONFIG_DDR_SPD is not set
@@ -54,6 +56,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_MTD_RAW_NAND=y
index ba381bbeaa490917e1fd696d80ade824398a5985..93d323d3bafd1a35391a6f085106ae78feeeaaa6 100644 (file)
@@ -33,6 +33,8 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=1550000.spi:1m(rcw),15m(u-boot),48m(kernel.itb
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
index 30daa5c6d0f2770ad2e6bc903725062d8c82c710..f09d999e9ec60254d8d9c9297301dc58dc2132ef 100644 (file)
@@ -38,6 +38,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_ADDR=0x40500000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
index c15302c753c80287bdcb5c14095117c48c6cb2fb..bbeea5a9403a784451a0ea60d30e043c3e243bfc 100644 (file)
@@ -62,6 +62,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_MAX_FLASH_BANKS=2
index bc326114cd11766d58f402afb1bd6a77f7e65260..f1f82d7a9004fc91bdae852a40289187a1ef99da 100644 (file)
@@ -65,6 +65,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_MAX_FLASH_BANKS=2
index 52855d12e51c675dea303086d926f8e5c5d88ea5..282cb435007dbc44d6654a292a70a1760b7cfd25 100644 (file)
@@ -66,6 +66,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_MAX_FLASH_BANKS=2
index ab780c16221dfbcf7d76302d22e5a1448d322c8b..9f158aa94a91b0dc9a39f50cf8437c18094e0243 100644 (file)
@@ -84,6 +84,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_MAX_FLASH_BANKS=2
index b5b501c9a9516365488223a62a0e2872e1c22f3d..f906202cbffacf44d765cf71835790cc6a5942a8 100644 (file)
@@ -85,6 +85,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_MAX_FLASH_BANKS=2
index 740838baa1028ebefa2baf7b06a827ecda8acc09..5d71bbe860a6d49da8b85c5c1f249749eb3aa263 100644 (file)
@@ -65,6 +65,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_MAX_FLASH_BANKS=2
index 11de0d40afa1be88b4e233759971f956151ad418..b817907d83fc202418bc5dd5043e23d919fdd44b 100644 (file)
@@ -74,6 +74,7 @@ CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_MAX_FLASH_BANKS=2
index a319bf39fc75a7b779f3258ddf399c4a0b486038..dd3b4032af1a319e0b7f791adb40063ee952cc89 100644 (file)
@@ -59,6 +59,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
index 92769655d5830da3362f251c8f755ae77c30773d..a4fa4ea3296b1ce1986a613cc75c7b5dcec3bcc5 100644 (file)
@@ -42,6 +42,8 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=1550000.spi-0:1m(rcw),15m(u-boot),48m(kernel.i
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
index 506b32c248705ad0a27bbc859e7a59a3db6ba198..d4ed56a9f24f579230416efd730b42c268b66739 100644 (file)
@@ -45,6 +45,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_ADDR=0x40300000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
index 87ab8ac4215be0b9a67d3db00e2d7a8573750977..49e5fb283b547a3d358ccc06993fdce63e82332b 100644 (file)
@@ -64,6 +64,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SPL_ENV_IS_NOWHERE=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
index a8d02313b940da8cf9b87cc3e3064666e081470a..c6eb31e00ac54ee3d45c706091d7c65d198cf75f 100644 (file)
@@ -55,6 +55,8 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=1550000.spi-0:1m(rcw),15m(u-boot),48m(kernel.i
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SPL_DM=y
 # CONFIG_SPL_BLK is not set
index 033ccc24e69cac79ccf267c0dac1ac8d3f311857..d4c4a6a5b3c1df7fa29f09ade3bcfdb20b63d0ae 100644 (file)
@@ -58,6 +58,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
index f841053fd8f1fb025a1cabcfcbbbe4791e43f879..4d23458602aaf6f4993b289f80b055fb4b3cf1c5 100644 (file)
@@ -38,6 +38,8 @@ CONFIG_CMD_CACHE=y
 CONFIG_MTDPARTS_DEFAULT="mtdparts=1550000.spi-0:1m(rcw),15m(u-boot),48m(kernel.itb);7e800000.flash:16m(nand_uboot),48m(nand_kernel),448m(nand_free)"
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
index 2a3f6cb3282c1e99913e6adef1daa5f56d1dc048..3712c5eccc9607663dc647c3d5189b097ec6e896 100644 (file)
@@ -43,6 +43,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_ADDR=0x40500000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FM1@DTSEC3"
 CONFIG_DM=y
 CONFIG_SATA=y
 CONFIG_SATA_CEVA=y
index 094f11363f28dcbb7ee9d0f40090bfd93e42b265..f79505620c4d77af23ca9b878f3753461d7dcfff 100644 (file)
@@ -31,6 +31,7 @@ CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="fsl_mc lazyapply dpl 0x580d00000 && cp.b $kernel_start $kernel_load $kernel_size && bootm $kernel_load"
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_GREPENV=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=5
@@ -50,6 +51,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0x80300000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index 9b51ee98f30214381930688d480af2ad8a58788f..7a0959cd876a2a369317eadbee08c82125ed8502 100644 (file)
@@ -32,6 +32,7 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 CONFIG_BOOTCOMMAND="sf probe 0:0;sf read 0x80001000 0xd00000 0x100000; fsl_mc lazyapply dpl 0x80001000 && sf read $kernel_load $kernel_start $kernel_size && bootm $kernel_load"
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=5
 CONFIG_CMD_MEMINFO=y
@@ -46,6 +47,8 @@ CONFIG_CMD_USB=y
 CONFIG_CMD_CACHE=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index 4187ff75641ca4de303da015eb0ead516f5dc064..98c36ff5870aad07b26679d2206cccc925d2ee37 100644 (file)
@@ -33,6 +33,7 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 CONFIG_BOOTCOMMAND="sf probe 0:0;sf read 0x80001000 0xd00000 0x100000; fsl_mc lazyapply dpl 0x80001000 && sf read $kernel_load $kernel_start $kernel_size && bootm $kernel_load"
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=5
 CONFIG_CMD_MEMINFO=y
@@ -49,6 +50,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_ADDR=0x20300000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index c594d783ed90e23bc9a1144e9c5a9726a6b8193f..ab5a57bb4e2e1439e4288ee808a2b3becb924ab2 100644 (file)
@@ -37,6 +37,7 @@ CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="mmcinfo;mmc read 0x80001000 0x6800 0x800; fsl_mc lazyapply dpl 0x80001000 && mmc read $kernel_load $kernel_start $kernel_size && bootm $kernel_load"
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_RESET_PHY_R=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x8b0
 CONFIG_SPL_ENV_SUPPORT=y
@@ -61,6 +62,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index 1e83ab444bee387642fab62d21c8339cc9015d0d..2dd6f8fcd4d4f0c2c9554585a7f902f6ba22e208 100644 (file)
@@ -38,6 +38,7 @@ CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21
 CONFIG_BOOTCOMMAND="mmcinfo;mmc read 0x80001000 0x6800 0x800; fsl_mc lazyapply dpl 0x80001000 && mmc read $kernel_load $kernel_start $kernel_size && bootm $kernel_load"
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_RESET_PHY_R=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x8b0
 CONFIG_SPL_ENV_SUPPORT=y
@@ -59,6 +60,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index 56b6da647cf434e4dfdee5eef053d2f37daef4f8..f0f53e924ccebacb8b3759bb04555a7d94fd19c2 100644 (file)
@@ -35,6 +35,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_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=5
 CONFIG_CMD_MEMINFO=y
@@ -58,6 +59,8 @@ CONFIG_ENV_IS_IN_NAND=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_ADDR=0x20500000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index f84a63bd2965ddeaa2e3b70284ef240b453c4cc3..e500658bba7277749724ed26812ed65d759128e5 100644 (file)
@@ -33,6 +33,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_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=5
 CONFIG_CMD_MEMINFO=y
@@ -48,6 +49,8 @@ CONFIG_CMD_USB=y
 CONFIG_CMD_CACHE=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index 976d65bfbf2412bd02173ec7f87c7a9435adad31..903d2ef44be36b8bb684207f9b94097ef5e95786 100644 (file)
@@ -34,6 +34,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_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=5
 CONFIG_CMD_MEMINFO=y
@@ -51,6 +52,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_ADDR=0x20300000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index 96a96f58ee3c893b1eb8bcc7f957d8e46eb7b4d5..361f824c165f27f05a058187c49a5c7adab273a9 100644 (file)
@@ -38,6 +38,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_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x8b0
 CONFIG_SPL_ENV_SUPPORT=y
@@ -59,6 +60,8 @@ CONFIG_CMD_CACHE=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SPL_DM=y
index a0c5d97ac5c13aa7d15fa6670d71d379a210b950..4c166c0e85eb0590abdcb805c92994aac7dc5b4f 100644 (file)
@@ -39,6 +39,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_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x8b0
 CONFIG_SPL_ENV_SUPPORT=y
@@ -61,6 +62,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index 6f983fd753ffaa99b35e2142743a5666a11b8e2e..2ccf790cc06c3afa0efea01545e640e9a20fda36 100644 (file)
@@ -34,6 +34,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_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=5
 CONFIG_CMD_MEMINFO=y
@@ -48,6 +49,8 @@ CONFIG_CMD_USB=y
 CONFIG_CMD_CACHE=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index 4ba4507d344f482984b7330e47100911ffa5d9bf..4aec8ce39c7a712fbb8434876c5ec64257a8f1e2 100644 (file)
@@ -35,6 +35,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_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=5
 CONFIG_CMD_MEMINFO=y
@@ -54,6 +55,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_ADDR=0x20500000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index ace5820f33de7df4e9a59b402a6d9ff83e4ab387..de8605099393243ee6214e1a20bc63e753c03627 100644 (file)
@@ -21,6 +21,7 @@ CONFIG_BOOTDELAY=10
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 ramdisk_size=0x2000000 default_hugepagesz=2m hugepagesz=2m hugepages=256"
 CONFIG_BOOTCOMMAND="fsl_mc apply dpl 0x580d00000 && cp.b $kernel_start $kernel_load $kernel_size && bootm $kernel_load"
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_IMLS=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
@@ -38,6 +39,8 @@ CONFIG_CMD_DATE=y
 # CONFIG_ISO_PARTITION is not set
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index d21a136c20eac720f38eb7cedcbb6a360bec620e..51efbd3c67d0cdad3ad9fb58c494d336ac323692 100644 (file)
@@ -21,6 +21,7 @@ CONFIG_BOOTDELAY=10
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 ramdisk_size=0x2000000 default_hugepagesz=2m hugepagesz=2m hugepages=256"
 CONFIG_BOOTCOMMAND="fsl_mc apply dpl 0x580d00000 && cp.b $kernel_start $kernel_load $kernel_size && bootm $kernel_load"
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_IMLS=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
@@ -40,6 +41,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0x80300000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index 82cd933103f905fc07ddde7394b0a2a2e1265c39..2b42df0930e25876c66aacb0dae812e6b5ca9516 100644 (file)
@@ -27,6 +27,7 @@ CONFIG_BOOTDELAY=10
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 ramdisk_size=0x2000000 default_hugepagesz=2m hugepagesz=2m hugepages=256"
 CONFIG_BOOTCOMMAND="fsl_mc apply dpl 0x580d00000 && cp.b $kernel_start $kernel_load $kernel_size && bootm $kernel_load"
+CONFIG_RESET_PHY_R=y
 CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_I2C=y
 CONFIG_SPL_MPC8XXX_INIT_DDR=y
@@ -51,6 +52,8 @@ CONFIG_OF_EMBED=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index 0ac2b835e95af2311ba1579007b052ed21c0d6c7..ec07a490b7e09a4d39c6c9db7dae74d7c5ca48a5 100644 (file)
@@ -22,6 +22,7 @@ CONFIG_BOOTDELAY=10
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 ramdisk_size=0x2000000 default_hugepagesz=2m hugepagesz=2m hugepages=256"
 CONFIG_BOOTCOMMAND="fsl_mc apply dpl 0x580d00000 && cp.b $kernel_start $kernel_load $kernel_size && bootm $kernel_load"
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_BITS=3
@@ -41,6 +42,8 @@ CONFIG_OF_EMBED=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index 42e0cb22c0971de60a9329c8210858960f66ac4b..bde84ebfc3c93c9df7370e4cb30b221908571274 100644 (file)
@@ -28,6 +28,7 @@ CONFIG_BOOTDELAY=10
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 ramdisk_size=0x2000000 default_hugepagesz=2m hugepagesz=2m hugepages=256"
 CONFIG_BOOTCOMMAND="mmc read 0x80200000 0x6800 0x800; fsl_mc apply dpl 0x80200000 && mmc read $kernel_load $kernel_start $kernel_size && bootm $kernel_load"
+CONFIG_RESET_PHY_R=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x8b0
 CONFIG_SPL_ENV_SUPPORT=y
@@ -48,6 +49,8 @@ CONFIG_OF_EMBED=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index 81cd8b44022e8ddf1ae153b9176598284296387b..67e03b1f33f02b98f167d0ee38a61cacaaf954df 100644 (file)
@@ -26,6 +26,7 @@ CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS1,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0600 ramdisk_size=0x2000000 default_hugepagesz=2m hugepagesz=2m hugepages=256"
 CONFIG_BOOTCOMMAND="env exists mcinitcmd && env exists secureboot && esbc_validate 0x5806C0000; env exists mcinitcmd && fsl_mc lazyapply dpl 0x580d00000;run distro_bootcmd;run nor_bootcmd; env exists secureboot && esbc_halt;"
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_IMLS=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
@@ -42,6 +43,8 @@ CONFIG_CMD_CACHE=y
 CONFIG_CMD_DATE=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index a7491ccb3a91cfc87accc76e8a7b221d8f89d857..102d8b36f7ee19c5fd1e4b5d3f2bcbc61d213e1f 100644 (file)
@@ -26,6 +26,7 @@ CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS1,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0600 ramdisk_size=0x2000000 default_hugepagesz=2m hugepagesz=2m hugepages=256"
 CONFIG_BOOTCOMMAND="env exists mcinitcmd && env exists secureboot && esbc_validate 0x5806C0000; env exists mcinitcmd && fsl_mc lazyapply dpl 0x580d00000;run distro_bootcmd;run nor_bootcmd; env exists secureboot && esbc_halt;"
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_IMLS=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
@@ -44,6 +45,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0x80300000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index bc297e57ef8c73ddb0e4fc6e31eb0089408bf968..5df11e31ab7dc65ff31943a29407364b4ca76bdd 100644 (file)
@@ -32,6 +32,7 @@ CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS1,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0600 ramdisk_size=0x2000000 default_hugepagesz=2m hugepagesz=2m hugepages=256"
 CONFIG_BOOTCOMMAND="env exists mcinitcmd && env exists secureboot && esbc_validate 0x5806C0000; env exists mcinitcmd && fsl_mc lazyapply dpl 0x580d00000;run distro_bootcmd;run nor_bootcmd; env exists secureboot && esbc_halt;"
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_I2C=y
 CONFIG_SPL_MPC8XXX_INIT_DDR=y
@@ -54,6 +55,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index a2a14194b63f5b6127e713c949997de80ce4e10f..7ba18364a86d0da3f2e591d0b89f70bdb3a41fda 100644 (file)
@@ -29,6 +29,7 @@ CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS1,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0600 ramdisk_size=0x2000000 default_hugepagesz=2m hugepagesz=2m hugepages=256"
 CONFIG_BOOTCOMMAND="sf probe 0:0; sf read 0x806c0000 0x6c0000 0x40000; env exists mcinitcmd && env exists secureboot && esbc_validate 0x806C0000; sf read 0x80d00000 0xd00000 0x100000; env exists mcinitcmd && fsl_mc lazyapply dpl 0x80d00000; run distro_bootcmd;run qspi_bootcmd; env exists secureboot && esbc_halt;"
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=5
 CONFIG_CMD_GPT=y
@@ -42,6 +43,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index c8d7e670e371b0941c2e27d6b4544c40db32ae63..016e9c7f1be81896439a70bd79cb5c23f4830f51 100644 (file)
@@ -24,6 +24,7 @@ CONFIG_DYNAMIC_SYS_CLK_FREQ=y
 CONFIG_BOOTDELAY=10
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 ramdisk_size=0x2000000 default_hugepagesz=2m hugepagesz=2m hugepages=256"
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_IMLS=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
@@ -49,6 +50,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_ADDR=0x580500000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index 193990c2a3994d8a32341b383b4f7e57834a1987..5b613012c02c3d1667d465348bfcee10f1ffe66c 100644 (file)
@@ -27,6 +27,7 @@ CONFIG_QSPI_BOOT=y
 CONFIG_BOOTDELAY=10
 CONFIG_BOOTCOMMAND="sf probe 0:0; sf read 0x806c0000 0x6c0000 0x40000; env exists mcinitcmd && env exists secureboot && esbc_validate 0x806C0000; sf read 0x80d00000 0xd00000 0x100000; env exists mcinitcmd && fsl_mc lazyapply dpl 0x80d00000; run distro_bootcmd;run qspi_bootcmd; env exists secureboot && esbc_halt;"
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=5
 CONFIG_CMD_DM=y
@@ -40,6 +41,8 @@ CONFIG_CMD_CACHE=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index ee8510914d6ab15c621f3d7a6f0ff9d9dd50e300..654bdad12093fefa5411cde458632cdbd3447da3 100644 (file)
@@ -30,6 +30,7 @@ CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS1,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0600 ramdisk_size=0x2000000 default_hugepagesz=2m hugepagesz=2m hugepages=256"
 CONFIG_BOOTCOMMAND="sf probe 0:0; sf read 0x806c0000 0x6c0000 0x40000; env exists mcinitcmd && env exists secureboot && esbc_validate 0x806C0000; sf read 0x80d00000 0xd00000 0x100000; env exists mcinitcmd && fsl_mc lazyapply dpl 0x80d00000; run distro_bootcmd;run qspi_bootcmd; env exists secureboot && esbc_halt;"
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=5
 CONFIG_CMD_DM=y
@@ -46,6 +47,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_ADDR=0x20300000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index de37147aaec0f3cda5b38b1562b1b6fe77ad8c84..3b693fa8c061e51fbec78e796994750eb33370d9 100644 (file)
@@ -29,6 +29,7 @@ CONFIG_BOOTDELAY=10
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS1,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0600 ramdisk_size=0x2000000 default_hugepagesz=2m hugepagesz=2m hugepages=256"
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_IMLS=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
@@ -45,6 +46,8 @@ CONFIG_CMD_USB=y
 CONFIG_CMD_CACHE=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index f4902a12fe3781ff6d9fda42563d22e09e153b41..c0f92c6189ae7d03e2f0de1ac69395e955aada33 100644 (file)
@@ -30,6 +30,7 @@ CONFIG_BOOTDELAY=10
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS1,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0600 ramdisk_size=0x2000000 default_hugepagesz=2m hugepagesz=2m hugepages=256"
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_IMLS=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
@@ -51,6 +52,8 @@ CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_ADDR=0x580500000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index df214b323f773fd22648778af3b152b49f160d78..0cfa6d0c7bdf8ff15aa799ce6ac7bc9356fbc40d 100644 (file)
@@ -37,6 +37,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SATA_MV=y
 CONFIG_SYS_SATA_MAX_DEVICE=1
index 6ccc0e775e5786555f728099da4996014de16148..046db90742f787473a0654000f0bab4d0fa29282 100644 (file)
@@ -37,6 +37,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SATA_MV=y
 CONFIG_SYS_SATA_MAX_DEVICE=1
index 17e04c4d225a0b44addab941a68cb9e95f28826a..ed56bfd26024d8ed3f1f1a6f8ca333edd03b39b7 100644 (file)
@@ -32,6 +32,7 @@ CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyAMA0,115200 root=/dev/ram0 earlycon=pl011,mmio32,0x21c0000 ramdisk_size=0x2000000 default_hugepagesz=1024m hugepagesz=1024m hugepages=2 pci=pcie_bus_perf"
 CONFIG_BOARD_EARLY_INIT_R=y
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_BITS=3
@@ -48,6 +49,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_OF_LIST="fsl-lx2160a-qds-3-x-x fsl-lx2160a-qds-7-x-x fsl-lx2160a-qds-19-x-x fsl-lx2160a-qds-20-x-x fsl-lx2160a-qds-3-11-x  fsl-lx2160a-qds-7-11-x fsl-lx2160a-qds-7-11-x fsl-lx2160a-qds-19-11-x fsl-lx2160a-qds-20-11-x"
 CONFIG_MULTI_DTB_FIT=y
 CONFIG_ENV_OVERWRITE=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC17@rgmii-id"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index f12ad8fac3a98e0ea06b991fe804df6628cd495a..7583bff329721256531e1b3323dd824fc6b4072b 100644 (file)
@@ -34,6 +34,7 @@ CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyAMA0,115200 root=/dev/ram0 earlycon=pl011,mmio32,0x21c0000 ramdisk_size=0x2000000 default_hugepagesz=1024m hugepagesz=1024m hugepages=2 pci=pcie_bus_perf"
 CONFIG_BOARD_EARLY_INIT_R=y
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_BITS=3
@@ -54,6 +55,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_ADDR=0x20500000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC17@rgmii-id"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index 52bd909b04ff19691993744aca56a2ac0fb17cdf..cfefd3db85a9bf580d4a7417dc86db56828539f9 100644 (file)
@@ -32,6 +32,7 @@ CONFIG_DYNAMIC_SYS_CLK_FREQ=y
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyAMA0,115200 root=/dev/ram0 earlycon=pl011,mmio32,0x21c0000 ramdisk_size=0x2000000 default_hugepagesz=1024m hugepagesz=1024m hugepages=2 pci=pcie_bus_perf"
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_BITS=3
@@ -46,6 +47,8 @@ CONFIG_CMD_USB=y
 CONFIG_CMD_CACHE=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index 3760fef4a84e61742109ed66225861bca1982f17..933312c63c5cac09986240e748f9d8359d7d185b 100644 (file)
@@ -34,6 +34,7 @@ CONFIG_BOOTDELAY=10
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyAMA0,115200 root=/dev/ram0 earlycon=pl011,mmio32,0x21c0000 ramdisk_size=0x2000000 default_hugepagesz=1024m hugepagesz=1024m hugepages=2 pci=pcie_bus_perf"
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_BITS=3
@@ -53,6 +54,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_ADDR=0x20500000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index db5fda3060aacb6fc219120f099d010bc19fce48..c62c8730c106a0b5161394224b8b67ce3ca1a98a 100644 (file)
@@ -34,6 +34,7 @@ CONFIG_BOOTDELAY=10
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyAMA0,115200 root=/dev/ram0 earlycon=pl011,mmio32,0x21c0000 ramdisk_size=0x2000000 default_hugepagesz=1024m hugepagesz=1024m hugepages=2 pci=pcie_bus_perf"
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_NVEDIT_EFI=y
 CONFIG_CMD_EEPROM=y
@@ -53,6 +54,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_ADDR=0x20500000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC1@xgmii"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index 3158147a1985490e7c19fe45da125b3336af936b..66ffb08de2848e10dc9c3dad558ad314b8a3b126 100644 (file)
@@ -33,6 +33,7 @@ CONFIG_BOOTARGS="console=ttyAMA0,115200 root=/dev/ram0 earlycon=pl011,mmio32,0x2
 CONFIG_BOARD_EARLY_INIT_R=y
 CONFIG_MISC_INIT_R=y
 CONFIG_ID_EEPROM=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_BITS=3
@@ -50,6 +51,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_OF_LIST="fsl-lx2162a-qds-17-x fsl-lx2162a-qds-18-x fsl-lx2162a-qds-20-x"
 CONFIG_MULTI_DTB_FIT=y
 CONFIG_ENV_OVERWRITE=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC17@rgmii-id"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index 183769a0677f10abb7b9a9fe03c91c7454164976..36780d901ce5da78890e9d1222906b1d0bc91739 100644 (file)
@@ -35,6 +35,7 @@ CONFIG_BOOTARGS="console=ttyAMA0,115200 root=/dev/ram0 earlycon=pl011,mmio32,0x2
 CONFIG_BOARD_EARLY_INIT_R=y
 CONFIG_MISC_INIT_R=y
 CONFIG_ID_EEPROM=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_BITS=3
@@ -56,6 +57,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_ADDR=0x20500000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC17@rgmii-id"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index 5d14e31a8ef8fc5103e8d83d440ecf9ae9a5653f..cd82cd33d8a73f33890b313bca7726d993e49f55 100644 (file)
@@ -36,6 +36,7 @@ CONFIG_BOOTARGS="console=ttyAMA0,115200 root=/dev/ram0 earlycon=pl011,mmio32,0x2
 CONFIG_BOARD_EARLY_INIT_R=y
 CONFIG_MISC_INIT_R=y
 CONFIG_ID_EEPROM=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
 CONFIG_SYS_EEPROM_PAGE_WRITE_BITS=3
@@ -57,6 +58,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_ADDR=0x20500000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="DPMAC17@rgmii-id"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA=y
index c713a44adbe895b6b62d7a092de2bba584baa6a1..df4907a82632209c86e7ea26e4b0c45016fce9d4 100644 (file)
@@ -67,6 +67,10 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="boot/fitImage"
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC0"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_DM=y
 CONFIG_BOOTCOUNT_LIMIT=y
index 4b729cf3bfb8b9199f5739003937847599bf491b..f3e83668465d2f447ad6738e54fff2390b1d4232 100644 (file)
@@ -31,6 +31,7 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
 CONFIG_DM=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_SYS_I2C_LEGACY=y
index a69c0351b10954faaf76be5dd93c88aad7084309..b9e133e4ba44bb2e6ae5578cd2442d5240c1f1f8 100644 (file)
@@ -35,6 +35,8 @@ CONFIG_CMD_TIME=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_SPI_MAX_HZ=50000000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_SPL_OF_TRANSLATE=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_MVTWSI=y
index 5d9f783c95f2081dc525827e380f491fb61554a2..54bea29032b29a4d1b5590ea07fa5e8faaff11d2 100644 (file)
@@ -14,7 +14,7 @@ CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9263ek"
 CONFIG_SYS_LOAD_ADDR=0x20100000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_DATAFLASH"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_DATAFLASH"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_PREBOOT=y
 CONFIG_BOARD_EARLY_INIT_F=y
@@ -25,11 +25,13 @@ CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_SPI_MAX_HZ=15000000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=20
 CONFIG_DM=y
 CONFIG_CLK=y
 CONFIG_CLK_AT91=y
@@ -40,6 +42,7 @@ CONFIG_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_ATMEL=y
 CONFIG_SPI_FLASH_DATAFLASH=y
 CONFIG_MACB=y
+CONFIG_RMII=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
index cc7697bb2dda5d4534166d94a7927c66436be64f..312c15f7deba5305197863f397536aeab2264178 100644 (file)
@@ -12,7 +12,7 @@ CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9263ek"
 CONFIG_SYS_LOAD_ADDR=0x20100000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_NANDFLASH"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_PREBOOT=y
 CONFIG_BOARD_EARLY_INIT_F=y
@@ -24,10 +24,12 @@ CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_NAND=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=20
 CONFIG_DM=y
 CONFIG_CLK=y
 CONFIG_CLK_AT91=y
@@ -41,6 +43,7 @@ CONFIG_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_ATMEL=y
 CONFIG_SPI_FLASH_DATAFLASH=y
 CONFIG_MACB=y
+CONFIG_RMII=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
index 5409ca7e0beb0c6dd867ffc989d63cf10fc3cd85..98c4287f0072dedf3e8a5ef4bd44fa528d4c660f 100644 (file)
@@ -35,6 +35,7 @@ CONFIG_CMD_ASKENV=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_SAVES=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_TFTPPUT=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_JFFS2=y
@@ -43,6 +44,7 @@ CONFIG_OF_EMBED=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_SPL_DM=y
 CONFIG_XILINX_GPIO=y
 CONFIG_DM_I2C=y
index c4d37db50dfe296051937b5f734a782bd6f87bae..c051e00a6ab7d72007974c7fa544171d7da20d65 100644 (file)
@@ -40,6 +40,7 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
@@ -54,6 +55,8 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index f1215fa359eb947b2edc1cdae11f928e5fd6dda4..ceb53c764a9b8524512752f32d58e986eea9ae61 100644 (file)
@@ -41,6 +41,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_AHCI_MVEBU=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_MVTWSI=y
index b600217692f1f1d68b96d53ec3708d3e2d21606e..b4434187c0c0e96bc12bb5ce7060d7e3fc19f3e0 100644 (file)
@@ -40,6 +40,8 @@ CONFIG_MAC_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_AHCI_MVEBU=y
 CONFIG_CLK=y
 CONFIG_CLK_MVEBU=y
index 622d687e5d52a15b920470d05d693326f6811c09..7548597619cfbc3ecae2dfcf829136c853691bd7 100644 (file)
@@ -38,6 +38,8 @@ CONFIG_MAC_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_AHCI_MVEBU=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_MVTWSI=y
index 1789838691e06d1763043a0cdb563716e0fce3d1..f9efe482ab14e0b2d3cfdc7a0c529920643770a4 100644 (file)
@@ -42,6 +42,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_AHCI_MVEBU=y
 CONFIG_DM_GPIO_LOOKUP_LABEL=y
 CONFIG_DM_I2C=y
index 4b8206a38f1b0534f44dbd9934e2823e1e9ad697..9dadfc9d44fedf5d6289517c88417f7fbf425789 100644 (file)
@@ -48,6 +48,8 @@ CONFIG_MAC_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_AHCI_PCI=y
 CONFIG_AHCI_MVEBU=y
index f45ce91f6faac6a88b6e94c1c2210be6d65af372..0bc3d7b66dccae886fabdd607e387482bc077102 100644 (file)
@@ -41,6 +41,8 @@ CONFIG_MAC_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_AHCI_MVEBU=y
 CONFIG_DM_I2C=y
index af01e6176a43de0f4bf6901c31c48f1288fcb2ab..9b7902bf30949e878b4dd35ec3b6ea1276459049 100644 (file)
@@ -44,6 +44,8 @@ CONFIG_CMD_EXT4_WRITE=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_AHCI_MVEBU=y
 CONFIG_DM_PCA953X=y
index fc1606a2578112e2e110289139ed99f2d7216c07..062d9226ecbad819e2a35269faea299ff5194ddf 100644 (file)
@@ -35,6 +35,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_DM=y
 CONFIG_MXS_GPIO=y
index f51398c0502120ae11250bda52c8bd3c9515824e..d48ac4cc5ec1a6154c233f264c826665a756e373 100644 (file)
@@ -36,6 +36,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_VERSION_VARIABLE=y
 # CONFIG_NET is not set
 CONFIG_DM=y
index 22310f59291ddfd8ed4961693e18266ebf45b240..0b0459e67cb05f087b8bfb56bad9c6255ca5e99d 100644 (file)
@@ -43,6 +43,8 @@ CONFIG_CMD_UBI=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_MXS_GPIO=y
 CONFIG_MMC_MXS=y
index b7502aa4a287bca87a100ab902b4a57d46d993b5..4bd99827d9406b1ec1f5fd8eaa174e6311821ae8 100644 (file)
@@ -44,6 +44,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_VERSION_VARIABLE=y
 # CONFIG_NET is not set
 CONFIG_DM=y
index 090e5fa06b0f0ba015d7355772d646eb3cd0b24f..7ffdb817e194a9b6bbd328833ab060aab63ef537 100644 (file)
@@ -44,6 +44,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_MXS_GPIO=y
 CONFIG_MMC_MXS=y
index 6cb21b94aca4dc8ecb42daf0a74d501fdb68ef8f..1bac5851435916350d7a24f2da88e6dadba16133 100644 (file)
@@ -40,6 +40,8 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=gpmi-nand:3m(bootloader)ro,512k(environment),5
 CONFIG_CMD_UBI=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_MXS_GPIO=y
 CONFIG_MMC_MXS=y
index 7ee220a8104b2909a8b44de54c218b9b8b5909ee..6cf3c5931c60aa398470bd9e5b33cc4d0eae0c0a 100644 (file)
@@ -33,6 +33,9 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC0"
+CONFIG_ARP_TIMEOUT=200
 CONFIG_DM=y
 CONFIG_FSL_ESDHC_IMX=y
 CONFIG_MTD=y
index ef6bd0f37120bf902dff553f2ba29849c74158e1..4798510352f48bb928eab39cf6d94e8c1b0ddd9e 100644 (file)
@@ -20,6 +20,7 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
 CONFIG_FPGA_ALTERA=y
 CONFIG_FPGA_CYCLON2=y
 CONFIG_FSL_ESDHC_IMX=y
index 2fb44bcde10155b8e9aa4fb97e51a8908629edf6..e7a4797bd0c3ff9ed70ad8c665406e4db00f917d 100644 (file)
@@ -37,6 +37,9 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC0"
+CONFIG_ARP_TIMEOUT=200
 CONFIG_DM=y
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SYS_I2C_MXC=y
index 71db59f70711abe77085a43f45671d30b5e17260..e4eddef15ab69c2475db132ba2a84237d201766d 100644 (file)
@@ -41,6 +41,7 @@ CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
 CONFIG_DM=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_DM_BOOTCOUNT=y
index 2b77a46badd52b21ae3cebee87948c8e856c1988..656ef0d04dab57d95b89cf0234eac4a998a16577 100644 (file)
@@ -46,6 +46,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_NETCONSOLE=y
 CONFIG_DM=y
 CONFIG_BOUNCE_BUFFER=y
@@ -62,6 +64,7 @@ CONFIG_SPI_FLASH_SST=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ90X1=y
+CONFIG_DM_ETH=y
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
index 1bf86d01373a1f01cb8f6f0c4a18ec8c2cdead01..63511796ae799a59b6f1f8d05b112cd75871a8ea 100644 (file)
@@ -70,6 +70,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_ARP_TIMEOUT=200
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DFU_MMC=y
 CONFIG_DFU_SF=y
index 233a1652a6e6d724208dd3c4db60e13b6ccc6ac7..e0a5350755c939298edcdc8bf31da2386d5b8470 100644 (file)
@@ -76,6 +76,7 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_ARP_TIMEOUT=200
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_USB_FUNCTION_FASTBOOT=y
 CONFIG_FASTBOOT_BUF_ADDR=0x12000000
index 6d3895f2d54894d4c412a8ac36b2e8656bada13b..30194a8cde48e5a5b8e5b70ac0b0810b665310f8 100644 (file)
@@ -36,6 +36,8 @@ CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DM_PCA953X=y
 CONFIG_DM_I2C=y
@@ -50,6 +52,7 @@ CONFIG_SF_DEFAULT_SPEED=40000000
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_ATHEROS=y
+CONFIG_DM_ETH=y
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
index 03670c73f8e0207f529c5a56f6833b9f06ab51de..b5b0b374f2e54e9eeb01fe753b1f4d7a38e20e90 100644 (file)
@@ -40,6 +40,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=2
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_MXC=y
@@ -52,6 +54,7 @@ CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_ATHEROS=y
+CONFIG_DM_ETH=y
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PCI=y
index 70a40acffe22880076ffaba5cd02493554afca7b..0bc397685080cda87abb474b54973bb001e796a3 100644 (file)
@@ -57,6 +57,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eth1"
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_USB_FUNCTION_FASTBOOT=y
 CONFIG_DM_74X164=y
index a121e96603710aa5397097836319ab648578c109..577c3b4b90d7add9346293639142b8d31d33dcfe 100644 (file)
@@ -52,6 +52,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eth1"
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DM_I2C=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
index a053d2f7610071d9200390b807e94f0ef0b9c246..d587244c60c465f137c92a0ce55c27626c77bdef 100644 (file)
@@ -35,6 +35,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eth1"
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DM_74X164=y
 CONFIG_DM_I2C=y
index 07e5e2357575eb6b50f2934be924d7e8d312b6a1..c7e69ae2ab11b6460004c60e3b9b19fe4e012613 100644 (file)
@@ -36,6 +36,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eth1"
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DM_74X164=y
 CONFIG_DM_I2C=y
index 4f641471acbcf51d349fb1a8632c1c480b4fa058..192e9df2e49bc31baed4d997d4abc68b99696ccb 100644 (file)
@@ -10,6 +10,7 @@ CONFIG_ENV_OFFSET=0xC0000
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="imx7ulp-evk"
 CONFIG_TARGET_MX7ULP_EVK=y
+# CONFIG_HAS_ARMV7_SECURE_BASE is not set
 CONFIG_SYS_LOAD_ADDR=0x60800000
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_USE_BOOTCOMMAND=y
index 0f8e9e886ed0dbb460414ac2b1b7acf324040eb9..a152c6e93a8ad8f83c99bb79fc1dbd9997fca9e0 100644 (file)
@@ -10,6 +10,7 @@ CONFIG_ENV_OFFSET=0xC0000
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="imx7ulp-evk"
 CONFIG_TARGET_MX7ULP_EVK=y
+# CONFIG_HAS_ARMV7_SECURE_BASE is not set
 CONFIG_SYS_LOAD_ADDR=0x60800000
 CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; fi; fi; fi"
index f6a1dcbee06b4ae47e58f28387cf211020474f70..413e342dc0ea1558a6418212100a6a1eadd92a9b 100644 (file)
@@ -17,6 +17,7 @@ CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTCOMMAND=y
 CONFIG_USE_PREBOOT=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="nas220> "
 # CONFIG_CMD_FLASH is not set
@@ -41,6 +42,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SYS_ATA_STRIDE=4
 CONFIG_SYS_ATA_DATA_OFFSET=0x100
index f55ca673539621c75cbb97abdca8e31bee0b809b..f03832783916ef01ed74f11608fe0216f12a10d2 100644 (file)
@@ -24,6 +24,7 @@ CONFIG_USE_PREBOOT=y
 CONFIG_CONSOLE_MUX=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="2big2> "
 CONFIG_CMD_EEPROM=y
@@ -46,6 +47,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_SPI_MAX_HZ=20000000
 CONFIG_ENV_ADDR=0x70000
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SATA_MV=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
index b961b58ac394f2b29e542961e50f62e2c909da9b..869d4c8e4e33de06c519bd9cd3696ad7346a0240 100644 (file)
@@ -45,6 +45,7 @@ CONFIG_MTD=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_SPI_FLASH_MTD=y
+CONFIG_PHY_RESET_DELAY=20
 CONFIG_DM_RESET=y
 CONFIG_RESET_BCM6345=y
 CONFIG_DM_SERIAL=y
index 1a5492e0eed5232e61f343d7c582ea72b74b80f5..8649f0ecd9ff03945c53a99f9a1acaea6dc8ac76 100644 (file)
@@ -39,6 +39,7 @@ CONFIG_CMD_PING=y
 # CONFIG_CMD_SLEEP is not set
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SYS_RX_ETH_BUFFER=6
 # CONFIG_DM_DEVICE_REMOVE is not set
 CONFIG_BCM6348_IUDMA=y
 CONFIG_BCM6345_GPIO=y
@@ -46,6 +47,7 @@ CONFIG_LED=y
 CONFIG_LED_BCM6328=y
 CONFIG_LED_BLINK=y
 CONFIG_LED_GPIO=y
+CONFIG_PHY_RESET_DELAY=20
 CONFIG_DM_ETH=y
 CONFIG_PHY_GIGE=y
 CONFIG_BCM6368_ETH=y
index 53ff4e217750a02efb33688c17d070dd2efd29a4..0e6b323830f47a34816ae61c1edd26aac1651def 100644 (file)
@@ -24,6 +24,7 @@ CONFIG_USE_PREBOOT=y
 CONFIG_CONSOLE_MUX=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ns2> "
 CONFIG_CMD_EEPROM=y
@@ -46,6 +47,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_SPI_MAX_HZ=20000000
 CONFIG_ENV_ADDR=0x70000
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SATA_MV=y
 CONFIG_SYS_SATA_MAX_DEVICE=1
index 1195cc779b35f45d51e8efba710221fc14933e3b..06cb00dab3ffbc6b237da08aa4d212acb3523c70 100644 (file)
@@ -24,6 +24,7 @@ CONFIG_USE_PREBOOT=y
 CONFIG_CONSOLE_MUX=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ns2> "
 CONFIG_CMD_EEPROM=y
@@ -46,6 +47,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_SPI_MAX_HZ=20000000
 CONFIG_ENV_ADDR=0x70000
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SATA_MV=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
index 47ca1bdfae935791e0edb58cf68a980bcb43c889..f19bf0863cc065a1b20e14b607b1d2bcea3cb08a 100644 (file)
@@ -24,6 +24,7 @@ CONFIG_USE_PREBOOT=y
 CONFIG_CONSOLE_MUX=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ns2> "
 CONFIG_CMD_EEPROM=y
@@ -44,6 +45,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_SPI_MAX_HZ=20000000
 CONFIG_ENV_ADDR=0x70000
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SATA_MV=y
 CONFIG_SYS_SATA_MAX_DEVICE=1
index 2d920ab1d177dd9c7febfbd0f2573b6e15183f4c..bdd438238e50c52ffa766bd21cdaf30e5bc65245 100644 (file)
@@ -24,6 +24,7 @@ CONFIG_USE_PREBOOT=y
 CONFIG_CONSOLE_MUX=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_MISC_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ns2> "
 CONFIG_CMD_EEPROM=y
@@ -46,6 +47,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_SPI_MAX_HZ=20000000
 CONFIG_ENV_ADDR=0x70000
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SATA_MV=y
 CONFIG_SYS_SATA_MAX_DEVICE=1
index 553380e663b7f51d62b3b8f5ad15bd1a308591be..848bafeba1e70436d2d90dad2f84b058e2f0ccbe 100644 (file)
@@ -53,6 +53,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_NETCONSOLE=y
 CONFIG_DM=y
 CONFIG_BOUNCE_BUFFER=y
@@ -68,6 +70,7 @@ CONFIG_SPI_FLASH_SST=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ90X1=y
+CONFIG_DM_ETH=y
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
index 336e3b264b68142d31d566011c2c01fe09e3531f..fa88c0ce289b609220063b40c2e64b5cd63102fa 100644 (file)
@@ -53,6 +53,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_NETCONSOLE=y
 CONFIG_DM=y
 CONFIG_BOUNCE_BUFFER=y
@@ -68,6 +70,7 @@ CONFIG_SPI_FLASH_SST=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ90X1=y
+CONFIG_DM_ETH=y
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
index dbc1818caa466e44b14bed452e563ed986f52465..8401881c632dfd9c9d39683827ca565155663c3d 100644 (file)
@@ -54,6 +54,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_NETCONSOLE=y
 CONFIG_DM=y
 CONFIG_BOUNCE_BUFFER=y
@@ -70,6 +72,7 @@ CONFIG_SPI_FLASH_SST=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ90X1=y
+CONFIG_DM_ETH=y
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
index d88d0719407a158b09595f4c333b9ed73002a497..fe82c0f2f5c4185d50b515d081fb5f49158dd550 100644 (file)
@@ -54,6 +54,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_NETCONSOLE=y
 CONFIG_DM=y
 CONFIG_BOUNCE_BUFFER=y
@@ -70,6 +72,7 @@ CONFIG_SPI_FLASH_SST=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ90X1=y
+CONFIG_DM_ETH=y
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
index 6c7b8b7491106d2a949d2b8185f85762ddeeb796..8743e32afa97c1cd5a6fd88638e9494c66b0a6c2 100644 (file)
@@ -53,6 +53,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_NETCONSOLE=y
 CONFIG_DM=y
 CONFIG_BOUNCE_BUFFER=y
@@ -68,6 +70,7 @@ CONFIG_SPI_FLASH_SST=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ90X1=y
+CONFIG_DM_ETH=y
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
index 440c7733ea6665e8a87977943d09d9e5de750d98..5bf3c16a491b6e62f79187ebf54f02c89c83b905 100644 (file)
@@ -53,6 +53,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_NETCONSOLE=y
 CONFIG_DM=y
 CONFIG_BOUNCE_BUFFER=y
@@ -68,6 +70,7 @@ CONFIG_SPI_FLASH_SST=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ90X1=y
+CONFIG_DM_ETH=y
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
index 664a9b2f0f937da3ec1b8f98adc3b71a685036c9..db33d1153bc278497e528bf15b42f376a45b663a 100644 (file)
@@ -52,6 +52,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="fitImage"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_NETCONSOLE=y
 CONFIG_DM=y
index 05a6761854beadffa474d54fed8118c4bd1a267d..d003b7ee0ae728a342acc21c15c30b06cd20bc44 100644 (file)
@@ -17,6 +17,7 @@ CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="setenv bootargs ${console} ${mtdparts} ${bootargs_root}; ubi part root; ubifsmount ubi:rootfs; ubifsload 0x800000 ${kernel}; ubifsload 0x700000 ${fdt}; ubifsumount; fdt addr 0x700000; fdt resize; fdt chosen; bootz 0x800000 - 0x700000"
 CONFIG_USE_PREBOOT=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="nsa310s => "
 CONFIG_CMD_BOOTZ=y
@@ -41,6 +42,7 @@ CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SATA_MV=y
 CONFIG_SYS_SATA_MAX_DEVICE=1
index 3607583c60b39602927fe26a11a82f4668b597b4..71d6fe5cf38a674a6eb5bee9450f5ab77ece5caa 100644 (file)
@@ -17,6 +17,8 @@ CONFIG_SYS_PROMPT="nsim# "
 CONFIG_OF_CONTROL=y
 CONFIG_OF_EMBED=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 # CONFIG_NET is not set
 CONFIG_DM_SERIAL=y
 CONFIG_DEBUG_UART_SHIFT=2
index 2d8a3e4a06e7a94a44a112b960a11f0f432a2218..954ea42db27affaa7f6416bee0ed6595cc1c642f 100644 (file)
@@ -18,6 +18,8 @@ CONFIG_SYS_PROMPT="nsim# "
 CONFIG_OF_CONTROL=y
 CONFIG_OF_EMBED=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 # CONFIG_NET is not set
 CONFIG_DM_SERIAL=y
 CONFIG_DEBUG_UART_SHIFT=2
index 51ce560c1af657b1b88a2252d07fab280d50be78..60b7a01286dbd6db7a2f8126e737c6c62103ee17 100644 (file)
@@ -21,6 +21,8 @@ CONFIG_CMD_DHCP=y
 CONFIG_OF_CONTROL=y
 CONFIG_OF_EMBED=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_BLK=y
 CONFIG_HAVE_BLOCK_DEVICE=y
 CONFIG_DM_ETH=y
index 60e609481828962b17ea0b3b1a001632e0164fe4..bd1cdf33b51e71fc416bd484e14f5cc34711467b 100644 (file)
@@ -19,6 +19,8 @@ CONFIG_SYS_PROMPT="nsim# "
 CONFIG_OF_CONTROL=y
 CONFIG_OF_EMBED=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 # CONFIG_NET is not set
 CONFIG_DM_SERIAL=y
 CONFIG_DEBUG_UART_SHIFT=2
index d29c850518df3d489ce69bbb464883581fc1452c..5860e736235aa39fadb212d23b03ed47c5e9d5c6 100644 (file)
@@ -22,6 +22,10 @@ CONFIG_FIT_SIGNATURE=y
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTDELAY=5
+CONFIG_BOOT_RETRY=y
+CONFIG_BOOT_RETRY_TIME=-1
+CONFIG_BOOT_RETRY_MIN=30
+CONFIG_RESET_TO_RETRY=y
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyAMA0,115200n8 earlycon=pl011,0x87e028000000 maxcpus=6 rootwait rw root=/dev/mmcblk0p2 coherent_pool=16M"
 # CONFIG_DISPLAY_CPUINFO is not set
@@ -47,6 +51,7 @@ CONFIG_CMD_PCI=y
 CONFIG_CMD_SF_TEST=y
 CONFIG_CMD_WDT=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_TFTPPUT=y
 CONFIG_CMD_TFTPSRV=y
 CONFIG_CMD_RARP=y
index 1ce892d96350470190a18e21b4befdc4856d4b95..0c91ce28cb6e27df681b3539a74fb2b0da9c7470 100644 (file)
@@ -22,6 +22,10 @@ CONFIG_FIT_SIGNATURE=y
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTDELAY=5
+CONFIG_BOOT_RETRY=y
+CONFIG_BOOT_RETRY_TIME=-1
+CONFIG_BOOT_RETRY_MIN=30
+CONFIG_RESET_TO_RETRY=y
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyAMA0,115200n8 earlycon=pl011,0x87e028000000 maxcpus=24 rootwait rw root=/dev/mmcblk0p2 coherent_pool=16M"
 # CONFIG_DISPLAY_CPUINFO is not set
@@ -48,6 +52,7 @@ CONFIG_CMD_SF_TEST=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_WDT=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_TFTPPUT=y
 CONFIG_CMD_TFTPSRV=y
 CONFIG_CMD_RARP=y
index ddb9007bf11bfb13bd47f49ec763d45806be7942..c421e2ad8176e1c669a993cd13e4f6014c525ca9 100644 (file)
@@ -23,6 +23,10 @@ CONFIG_FIT_SIGNATURE=y
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTDELAY=5
+CONFIG_BOOT_RETRY=y
+CONFIG_BOOT_RETRY_TIME=-1
+CONFIG_BOOT_RETRY_MIN=30
+CONFIG_RESET_TO_RETRY=y
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyAMA0,115200n8 earlycon=pl011,0x87e028000000 maxcpus=4 rootwait rw root=/dev/sda2 coherent_pool=16M"
 # CONFIG_DISPLAY_CPUINFO is not set
@@ -48,6 +52,7 @@ CONFIG_CMD_SF_TEST=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_WDT=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_TFTPPUT=y
 CONFIG_CMD_TFTPSRV=y
 CONFIG_CMD_RARP=y
index b8ebc2812e1bc1a60f533433910c749271177c01..6069201fec4ef03727e9894c5c94c3790ccd27b3 100644 (file)
@@ -21,6 +21,10 @@ CONFIG_FIT_SIGNATURE=y
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTDELAY=5
+CONFIG_BOOT_RETRY=y
+CONFIG_BOOT_RETRY_TIME=-1
+CONFIG_BOOT_RETRY_MIN=30
+CONFIG_RESET_TO_RETRY=y
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyAMA0,115200n8 earlycon=pl011,0x87e028000000 maxcpus=24 rootwait rw root=/dev/sda2 coherent_pool=16M"
 # CONFIG_DISPLAY_CPUINFO is not set
@@ -46,6 +50,7 @@ CONFIG_CMD_SF_TEST=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_WDT=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_TFTPPUT=y
 CONFIG_CMD_TFTPSRV=y
 CONFIG_CMD_RARP=y
index 206118e6aff6ea94485563ae5f550d6b98d94a1d..c7111f4e63e3c1af3eb8712a4310caa210d95da5 100644 (file)
@@ -83,6 +83,13 @@ CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
 CONFIG_SYS_NAND_U_BOOT_LOCATIONS=y
 CONFIG_SYS_NAND_U_BOOT_OFFS=0x80000
 CONFIG_DM_ETH=y
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_SINGLE=y
+CONFIG_DM_PMIC=y
+# CONFIG_SPL_PMIC_CHILDREN is not set
+CONFIG_DM_REGULATOR=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_DM_REGULATOR_GPIO=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_OMAP3_SPI=y
index ca1a58178e81872259215a94f34e68d305304a70..3defb58660b96b8160ff8e718eaa296d1a05f105 100644 (file)
@@ -54,7 +54,10 @@ CONFIG_CMD_UBI=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="zImage"
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
index a2fdafd10ee6e0c08a8b65f503e5c94d24b63626..3f0de34850b8eda8aaf507f18300dfc83c80e8e2 100644 (file)
@@ -20,6 +20,7 @@ CONFIG_BOOTCOMMAND="${x_bootcmd_kernel}; setenv bootargs ${x_bootargs} ${x_boota
 CONFIG_USE_PREBOOT=y
 CONFIG_LOGLEVEL=2
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_IDE=y
 CONFIG_CMD_MMC=y
@@ -42,6 +43,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SYS_ATA_STRIDE=4
 CONFIG_SYS_ATA_DATA_OFFSET=0x100
index 208deb4ce145998b591860b00276022a5ca77cdb..50f66c5487f4930f4db7020c106fdffc3bf20df3 100644 (file)
@@ -21,6 +21,7 @@ CONFIG_BOOTCOMMAND="${x_bootcmd_kernel}; setenv bootargs ${x_bootargs} ${x_boota
 CONFIG_USE_PREBOOT=y
 CONFIG_LOGLEVEL=2
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_IDE=y
 CONFIG_CMD_MMC=y
@@ -43,6 +44,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SYS_ATA_STRIDE=4
 CONFIG_SYS_ATA_DATA_OFFSET=0x100
index d7269c40860205b2a91d7ff1f1a7bf6ea84a423d..f552234be0c88fb84c1c0af8248cd4facd332a75 100644 (file)
@@ -21,6 +21,7 @@ CONFIG_BOOTCOMMAND="${x_bootcmd_kernel}; setenv bootargs ${x_bootargs} ${x_boota
 CONFIG_USE_PREBOOT=y
 CONFIG_LOGLEVEL=2
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_IDE=y
 CONFIG_CMD_MMC=y
@@ -43,6 +44,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SYS_ATA_STRIDE=4
 CONFIG_SYS_ATA_DATA_OFFSET=0x100
index f92532faece49e7c11d58f1e9ee97962bcf5cd84..305c27d784cb4b9606e064c9294028c6ee5a7bb6 100644 (file)
@@ -21,6 +21,7 @@ CONFIG_DEFAULT_DEVICE_TREE="ls1021a-pg-wcom-expu1"
 CONFIG_BOOTCOUNT_BOOTLIMIT=3
 CONFIG_SYS_BOOTCOUNT_ADDR=0x70000020
 CONFIG_SYS_CLK_FREQ=66666666
+# CONFIG_HAS_ARMV7_SECURE_BASE is not set
 CONFIG_AHCI=y
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_SYS_LOAD_ADDR=0x82000000
@@ -35,6 +36,7 @@ CONFIG_AUTOBOOT_STOP_STR=" "
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0"
 CONFIG_SILENT_CONSOLE=y
+CONFIG_EVENT=y
 CONFIG_LAST_STAGE_INIT=y
 CONFIG_MISC_INIT_R=y
 CONFIG_CMD_IMLS=y
@@ -45,6 +47,7 @@ CONFIG_CMD_GPT=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_CRAMFS=y
 CONFIG_CMD_MTDPARTS=y
 CONFIG_MTDIDS_DEFAULT="nor0=60000000.nor,nand0=68000000.flash"
@@ -56,6 +59,8 @@ CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_ENV_ADDR=0x60060000
 CONFIG_ENV_ADDR_REDUND=0x60040000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="ethernet@2d90000"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_DM=y
 CONFIG_BOOTCOUNT_LIMIT=y
@@ -66,6 +71,7 @@ CONFIG_SYS_I2C_LEGACY=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_FLASH_CFI_MTD=y
 CONFIG_SYS_FLASH_CFI=y
index 1020b6883a483d652b69601f18d85fe214629358..1823d027d8c5020a127d4531d9241da50e0397f0 100644 (file)
@@ -19,6 +19,7 @@ CONFIG_SYS_I2C_MXC_I2C3=y
 CONFIG_DEFAULT_DEVICE_TREE="ls1021a-pg-wcom-expu1"
 CONFIG_BOOTCOUNT_BOOTLIMIT=3
 CONFIG_SYS_BOOTCOUNT_ADDR=0x70000020
+# CONFIG_HAS_ARMV7_SECURE_BASE is not set
 CONFIG_AHCI=y
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_SYS_LOAD_ADDR=0x82000000
@@ -33,6 +34,7 @@ CONFIG_AUTOBOOT_STOP_STR=" "
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0"
 CONFIG_SILENT_CONSOLE=y
+CONFIG_EVENT=y
 CONFIG_LAST_STAGE_INIT=y
 CONFIG_MISC_INIT_R=y
 CONFIG_CMD_IMLS=y
@@ -43,6 +45,7 @@ CONFIG_CMD_GPT=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_CRAMFS=y
 CONFIG_CMD_MTDPARTS=y
 CONFIG_MTDIDS_DEFAULT="nor0=60000000.nor,nand0=68000000.flash"
@@ -54,6 +57,8 @@ CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_ENV_ADDR=0x60220000
 CONFIG_ENV_ADDR_REDUND=0x60200000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="ethernet@2d90000"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_DM=y
 CONFIG_BOOTCOUNT_LIMIT=y
@@ -64,6 +69,7 @@ CONFIG_SYS_I2C_LEGACY=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_FLASH_CFI_MTD=y
 CONFIG_SYS_FLASH_CFI=y
index 1a2ba8c36c24eb32a588e77229d98d4f7c9b1fe3..ea542ceff68a67907f56c66299c93fbe28348317 100644 (file)
@@ -21,6 +21,7 @@ CONFIG_DEFAULT_DEVICE_TREE="ls1021a-pg-wcom-seli8"
 CONFIG_BOOTCOUNT_BOOTLIMIT=3
 CONFIG_SYS_BOOTCOUNT_ADDR=0x70000020
 CONFIG_SYS_CLK_FREQ=66666666
+# CONFIG_HAS_ARMV7_SECURE_BASE is not set
 CONFIG_AHCI=y
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_SYS_LOAD_ADDR=0x82000000
@@ -35,6 +36,7 @@ CONFIG_AUTOBOOT_STOP_STR=" "
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0"
 CONFIG_SILENT_CONSOLE=y
+CONFIG_EVENT=y
 CONFIG_LAST_STAGE_INIT=y
 CONFIG_MISC_INIT_R=y
 CONFIG_CMD_IMLS=y
@@ -45,6 +47,7 @@ CONFIG_CMD_GPT=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_CRAMFS=y
 CONFIG_CMD_MTDPARTS=y
 CONFIG_MTDIDS_DEFAULT="nor0=60000000.nor,nand0=68000000.flash"
@@ -56,6 +59,8 @@ CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_ENV_ADDR=0x60060000
 CONFIG_ENV_ADDR_REDUND=0x60040000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="ethernet@2d90000"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_DM=y
 CONFIG_BOOTCOUNT_LIMIT=y
@@ -66,6 +71,7 @@ CONFIG_SYS_I2C_LEGACY=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_FLASH_CFI_MTD=y
 CONFIG_SYS_FLASH_CFI=y
index 3a51d4e96c1b4173d08b0127a23656b2de54c0be..f039b783ac57763ac1fa84381f6582a8d1f2c273 100644 (file)
@@ -19,6 +19,7 @@ CONFIG_SYS_I2C_MXC_I2C3=y
 CONFIG_DEFAULT_DEVICE_TREE="ls1021a-pg-wcom-seli8"
 CONFIG_BOOTCOUNT_BOOTLIMIT=3
 CONFIG_SYS_BOOTCOUNT_ADDR=0x70000020
+# CONFIG_HAS_ARMV7_SECURE_BASE is not set
 CONFIG_AHCI=y
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_SYS_LOAD_ADDR=0x82000000
@@ -33,6 +34,7 @@ CONFIG_AUTOBOOT_STOP_STR=" "
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0"
 CONFIG_SILENT_CONSOLE=y
+CONFIG_EVENT=y
 CONFIG_LAST_STAGE_INIT=y
 CONFIG_MISC_INIT_R=y
 CONFIG_CMD_IMLS=y
@@ -43,6 +45,7 @@ CONFIG_CMD_GPT=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_CRAMFS=y
 CONFIG_CMD_MTDPARTS=y
 CONFIG_MTDIDS_DEFAULT="nor0=60000000.nor,nand0=68000000.flash"
@@ -54,6 +57,8 @@ CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_ENV_ADDR=0x60220000
 CONFIG_ENV_ADDR_REDUND=0x60200000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="ethernet@2d90000"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_DM=y
 CONFIG_BOOTCOUNT_LIMIT=y
@@ -64,6 +69,7 @@ CONFIG_SYS_I2C_LEGACY=y
 CONFIG_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_FLASH_CFI_DRIVER=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_FLASH_CFI_MTD=y
 CONFIG_SYS_FLASH_CFI=y
index e2a5731c5e1661553134a712a36d4e3da010e4e5..9e357241a5dd082979cceb7f19d213eb46ade2b1 100644 (file)
@@ -59,6 +59,7 @@ CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_SPL_DM=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
index 9459787992d8db9b8b5630c9089b3323abbc9080..10b5ffd2713fa8da5f05bf2b63a938820e79ac7b 100644 (file)
@@ -59,6 +59,7 @@ CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_SPL_DM=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
index 9d5aa3a4bb860a955ed4d9009c39ef98a93979bc..60e0d477136a03485956ebc289ed748d0abf782b 100644 (file)
@@ -24,13 +24,17 @@ CONFIG_CMD_CLK=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_RARP=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_EXT4_WRITE=y
 # CONFIG_ISO_PARTITION is not set
 # CONFIG_EFI_PARTITION is not set
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=500
+CONFIG_NET_RETRY_COUNT=20
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SYS_RX_ETH_BUFFER=8
 CONFIG_CLK=y
 CONFIG_MMC=y
 CONFIG_MMC_SDHCI=y
index 8d63f16c69e9b1e280e6cd8450500c7ba4670f6c..7bb7cf1edad8b8a97bf683ee34895e81c7a8711b 100644 (file)
@@ -54,6 +54,7 @@ CONFIG_SYS_I2C_MXC=y
 CONFIG_FSL_USDHC=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
+CONFIG_DM_ETH=y
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
index 1ce17e6038359d6e587fc059e5ae786f1d01729b..e5d09368730a4d33d1f5bfbc00112757222d3fd7 100644 (file)
@@ -57,6 +57,7 @@ CONFIG_FSL_USDHC=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ8XXX=y
+CONFIG_DM_ETH=y
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
index ba991e8db386f2e662e18184d421a7fefa23ea74..44d9295444b417f32bb0c97bccb04370f6caeb66 100644 (file)
@@ -56,6 +56,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DFU_MMC=y
 CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
index 6f25fd79d2676d635d6b53fff16d8bb56a23280c..cd005d09f2d08f2a8609681403dee752e1a46ac0 100644 (file)
@@ -59,6 +59,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_SAVED_DRAM_TIMING_BASE=0x40000000
 CONFIG_MXC_GPIO=y
 CONFIG_DM_I2C=y
index 5e18dccc84b37976d4e3600703337d8b8864d6a7..1e540bd484ed36bab8ef8002011576373fc139ac 100644 (file)
@@ -57,6 +57,7 @@ CONFIG_FSL_USDHC=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ8XXX=y
+CONFIG_DM_ETH=y
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
index e779663a0dd4330c17d302e60d312ba40a66f3ec..28e347b4d952307c0a21af3ac6d8c15e1366a787 100644 (file)
@@ -7,6 +7,7 @@ CONFIG_SUNXI_DRAM_DDR3_1333=y
 CONFIG_DRAM_CLK=504
 CONFIG_DRAM_ODT_EN=y
 CONFIG_I2C0_ENABLE=y
+# CONFIG_HAS_ARMV7_SECURE_BASE is not set
 CONFIG_SPL_I2C=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
 CONFIG_SYS_I2C_MVTWSI=y
index eb07b420a3d362c8d139beca3bd446ff3090d067..8e5ebaa50b33aac8a615be49abcffa3d1edd78b6 100644 (file)
@@ -11,7 +11,6 @@ CONFIG_ENV_SECT_SIZE=0x10000
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9261ek"
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9261"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="root=/dev/mtdblock4 rootfstype=jffs2 fbcon=rotate:3 "
@@ -61,5 +60,9 @@ CONFIG_DM_SPI=y
 CONFIG_USB=y
 CONFIG_DM_VIDEO=y
 # CONFIG_VIDEO_BPP32 is not set
+CONFIG_ATMEL_LCD=y
+CONFIG_ATMEL_LCD_BGR555=y
 CONFIG_LCD=y
+CONFIG_LCD_INFO=y
+CONFIG_LCD_LOGO=y
 CONFIG_REGEX=y
index e8a5b4df9bdf368b6aa41c4ba3b29da1f572b56e..2f8380d10a13cc7a2d243d8d49b90affb2064b1a 100644 (file)
@@ -11,7 +11,6 @@ CONFIG_ENV_SECT_SIZE=0x10000
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9263ek"
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="root=/dev/mtdblock4 rootfstype=jffs2 fbcon=rotate:3 "
@@ -28,6 +27,7 @@ CONFIG_SYS_PROMPT="u-boot-pm9263> "
 CONFIG_CMD_NAND=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_JFFS2=y
@@ -64,5 +64,9 @@ CONFIG_DM_SPI=y
 CONFIG_USB=y
 CONFIG_DM_VIDEO=y
 # CONFIG_VIDEO_BPP32 is not set
+CONFIG_ATMEL_LCD=y
+CONFIG_ATMEL_LCD_BGR555=y
 CONFIG_LCD=y
+CONFIG_LCD_INFO=y
+CONFIG_LCD_LOGO=y
 CONFIG_JFFS2_NAND=y
index 7fbbbabf22f757b89a001f1005d40ff03e23eb36..6a347f9b7d1e435e9cf6da86b83721983458173c 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x73f00000
 CONFIG_SYS_MALLOC_LEN=0x80000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_PM9G45=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9m10g45ek"
@@ -21,6 +22,7 @@ CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="nand read 0x70000000 0x200000 0x300000;bootm 0x70000000"
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
@@ -33,6 +35,7 @@ CONFIG_CMD_NAND=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
index 7853cc7b24ed008b26b4286de5d7ff13b42d5737..37397f4ba2247793c2a806249bb23bb51624735f 100644 (file)
@@ -39,6 +39,7 @@ CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 # CONFIG_MMC is not set
 CONFIG_MTD=y
index d05db80abd2a028f7cffb5ef99f5317c7bf139d4..8056200674633b8057f56b68875797ef65dd5df2 100644 (file)
@@ -55,6 +55,7 @@ CONFIG_ENV_IS_IN_NAND=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SATA_MV=y
 CONFIG_SYS_SATA_MAX_DEVICE=1
diff --git a/configs/pomelo_defconfig b/configs/pomelo_defconfig
new file mode 100644 (file)
index 0000000..e10eced
--- /dev/null
@@ -0,0 +1,21 @@
+CONFIG_ARM=y
+CONFIG_TARGET_POMELO=y
+CONFIG_SYS_TEXT_BASE=0x180000
+CONFIG_SYS_MALLOC_LEN=0x101000
+CONFIG_NR_DRAM_BANKS=1
+CONFIG_DEFAULT_DEVICE_TREE="phytium-pomelo"
+CONFIG_SYS_PCI_64BIT=y
+CONFIG_DISTRO_DEFAULTS=y
+CONFIG_SYS_LOAD_ADDR=0x90000000
+CONFIG_USE_BOOTARGS=y
+CONFIG_BOOTARGS="console=ttyAMA0,115200 earlycon=pl011,0x28001000 root=/dev/sda2 rw"
+# CONFIG_DISPLAY_CPUINFO is not set
+CONFIG_BOARD_EARLY_INIT_F=y
+CONFIG_LAST_STAGE_INIT=y
+CONFIG_SYS_PROMPT="pomelo#"
+CONFIG_OF_CONTROL=y
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_DM_PCI_COMPAT=y
+CONFIG_PCIE_ECAM_GENERIC=y
+CONFIG_PCI_PHYTIUM=y
+CONFIG_PL01X_SERIAL=y
index 15c6bb36995777c115b08cf49a702c626d1fb831..5f71e26cbce6e203929ff0ebd7f5978544a96c23 100644 (file)
@@ -27,6 +27,9 @@ CONFIG_BOOTDELAY=3
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc><Esc>\" to stop\n"
 CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
+CONFIG_BOOT_RETRY=y
+CONFIG_BOOT_RETRY_TIME=60
+CONFIG_RESET_TO_RETRY=y
 CONFIG_USE_PREBOOT=y
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 # CONFIG_DISPLAY_CPUINFO is not set
@@ -70,6 +73,7 @@ CONFIG_OF_EMBED=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_SPL_DM=y
 # CONFIG_SPL_BLK is not set
index d1f928d69128b47c45572245ed83c911d9de467a..3b3632f39d7846ec1a25e4b6c7522a532028823b 100644 (file)
@@ -30,11 +30,14 @@ CONFIG_DOS_PARTITION=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SIMPLE_BUS_CORRECT_RANGE=y
 CONFIG_BLK=y
 CONFIG_HAVE_BLOCK_DEVICE=y
+CONFIG_CHIP_SELECTS_PER_CTRL=0
 CONFIG_MPC8XXX_GPIO=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_FSL=y
index 591b31165ffabfdb7b7ae7a6055303407550809e..36214fcb719847bfbf11f521f58d4bdf888d6628 100644 (file)
@@ -44,6 +44,7 @@ CONFIG_CMD_IDE=y
 CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_TIME=y
 CONFIG_CMD_QFW=y
@@ -51,6 +52,8 @@ CONFIG_CMD_BOOTSTAGE=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index 928fa68e2d59c35d32f6debac8f7c895210e6eb3..6010b61d2df7b8539e7e70c8c6e3f14958f9659b 100644 (file)
@@ -26,6 +26,7 @@ CONFIG_CMD_IDE=y
 CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_TIME=y
 CONFIG_CMD_QFW=y
@@ -34,6 +35,8 @@ CONFIG_CMD_EXT4_WRITE=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index 606a7fdee03183060c677481d72f7797ab4a677a..62aa341d6a154aa872e6c1b5aa8f45a29748b688 100644 (file)
@@ -41,6 +41,7 @@ CONFIG_MTD=y
 CONFIG_DM_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_CFI_FLASH=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_FLASH_CFI_MTD=y
 CONFIG_SYS_FLASH_CFI=y
index febf8f2806577a80fc23d277fd07a44ac5160da0..791a26c0e1052a0772720b627e3b0099cb5918ba 100644 (file)
@@ -43,6 +43,7 @@ CONFIG_MTD=y
 CONFIG_DM_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_CFI_FLASH=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_FLASH_CFI_MTD=y
 CONFIG_SYS_FLASH_CFI=y
index 9470beed32a7f6cc598cc809f5f67b4e037f3c16..0d8c9d5457799cc1aa1168c7aab8fbc12253b662 100644 (file)
@@ -68,6 +68,7 @@ CONFIG_MTD=y
 CONFIG_DM_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_CFI_FLASH=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_FLASH_CFI_MTD=y
 CONFIG_SYS_FLASH_PROTECTION=y
 CONFIG_SYS_FLASH_CFI=y
index ea94d5c6ee9a3b00205be1ac29258ac2e7ee7c03..de9cfd9bab1eb0e4d84910c2fe35d999a141dd9c 100644 (file)
@@ -62,6 +62,7 @@ CONFIG_MTD=y
 CONFIG_DM_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_CFI_FLASH=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_FLASH_CFI_MTD=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_RENESAS_RPC_HF=y
index e905561cc3846d854cb26eddc7784acb8173eb93..240304e3438ff1bc25308aad0050e9268f29d92c 100644 (file)
@@ -28,6 +28,9 @@ CONFIG_BOOTDELAY=3
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc><Esc>\" to stop\n"
 CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
+CONFIG_BOOT_RETRY=y
+CONFIG_BOOT_RETRY_TIME=60
+CONFIG_RESET_TO_RETRY=y
 CONFIG_USE_PREBOOT=y
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 # CONFIG_DISPLAY_BOARDINFO is not set
@@ -71,6 +74,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_SPL_DM=y
 # CONFIG_SPL_BLK is not set
index d4dc8ecc51f61e877aa86fff64de048dcca19aa9..5fb27d257af3beec367ffa33b0f93d3a156dfd08 100644 (file)
@@ -69,6 +69,7 @@ CONFIG_MTD=y
 CONFIG_DM_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_CFI_FLASH=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_FLASH_CFI_MTD=y
 CONFIG_SYS_FLASH_PROTECTION=y
 CONFIG_SYS_FLASH_CFI=y
index 3a5e43390ee4edf6d882bfdda5bf30ff1568bc08..ade9286e25d03484fd99c36dee136fbee4d52e17 100644 (file)
@@ -70,6 +70,7 @@ CONFIG_MTD=y
 CONFIG_DM_MTD=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_CFI_FLASH=y
+CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
 CONFIG_FLASH_CFI_MTD=y
 CONFIG_SYS_FLASH_PROTECTION=y
 CONFIG_SYS_FLASH_CFI=y
index 56332708c5579a440843ff7fba0b0e0219d2514b..bdfe51cef81fed257f6cb1236fd01abb348863c2 100644 (file)
@@ -44,6 +44,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=2
+CONFIG_ARP_TIMEOUT=200
 CONFIG_DM=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_SYS_I2C_LEGACY=y
index 6c6be4ab181ec8dde566709b7c4cd4ba792d3936..c3f8dd4b084ba579a1e0562c1e2141c99a3806eb 100644 (file)
@@ -27,6 +27,9 @@ CONFIG_BOOTDELAY=3
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc><Esc>\" to stop\n"
 CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
+CONFIG_BOOT_RETRY=y
+CONFIG_BOOT_RETRY_TIME=60
+CONFIG_RESET_TO_RETRY=y
 CONFIG_USE_PREBOOT=y
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 # CONFIG_DISPLAY_CPUINFO is not set
@@ -71,6 +74,7 @@ CONFIG_OF_EMBED=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_SPL_DM=y
 # CONFIG_SPL_BLK is not set
index 35ce6ae8776d6aac08dfe8a85b53097ce7cf1979..9ac5dbaae14c3589f67d02e42a82c3674ef6bb93 100644 (file)
@@ -38,6 +38,7 @@ CONFIG_CMD_PING=y
 # CONFIG_CMD_SLEEP is not set
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SYS_RX_ETH_BUFFER=6
 # CONFIG_DM_DEVICE_REMOVE is not set
 CONFIG_BCM6348_IUDMA=y
 CONFIG_BCM6345_GPIO=y
@@ -48,6 +49,7 @@ CONFIG_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_SPI_FLASH_MTD=y
 CONFIG_PHY_FIXED=y
+CONFIG_PHY_RESET_DELAY=20
 CONFIG_DM_ETH=y
 CONFIG_BCM6348_ETH=y
 CONFIG_DM_RESET=y
index 59fc4a983d88951fddffff3fc780ac6366d450b7..238397f0ac9d70dfe723a6a4b6d990de04f2e6de 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x23f00000
 CONFIG_SYS_MALLOC_LEN=0x81000
 CONFIG_SYS_MALLOC_F_LEN=0x8000
 CONFIG_TARGET_SAM9X60EK=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=8
 CONFIG_ENV_SIZE=0x4000
 CONFIG_DM_GPIO=y
@@ -36,6 +37,7 @@ CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
index 48b6a6a77468ee56417a8666a04e2b8d853e5873..0d3e9d03880dfe7457035ba5cecb62886d5f6e5d 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x23f00000
 CONFIG_SYS_MALLOC_LEN=0x81000
 CONFIG_SYS_MALLOC_F_LEN=0x8000
 CONFIG_TARGET_SAM9X60EK=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=8
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="sam9x60ek"
@@ -37,6 +38,7 @@ CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
index 4e46e46175afd81574c69e215893465d343249ac..b0f74e61c35b6d0ab544d2a3c07503178f0a7454 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x23f00000
 CONFIG_SYS_MALLOC_LEN=0x81000
 CONFIG_SYS_MALLOC_F_LEN=0x8000
 CONFIG_TARGET_SAM9X60EK=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=8
 CONFIG_ENV_SECT_SIZE=0x1000
 CONFIG_DM_GPIO=y
@@ -38,6 +39,7 @@ CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
index 9ca984c1c95408454f8b5d744d71e841d2bee2ea..7d25474260d34112e2f8bc7d676bf7fd09106669 100644 (file)
@@ -26,7 +26,6 @@ CONFIG_DEBUG_UART=y
 CONFIG_ENV_VARS_UBOOT_CONFIG=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2"
 CONFIG_SD_BOOT=y
 CONFIG_BOOTDELAY=3
 CONFIG_AUTOBOOT_KEYED=y
index afcd41a965558785f7caca1f099ffa97e5ce77b2..1df7ae08976f393799565602c862f56f031dc9d1 100644 (file)
@@ -25,7 +25,6 @@ CONFIG_DEBUG_UART=y
 CONFIG_ENV_VARS_UBOOT_CONFIG=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2"
 CONFIG_SD_BOOT=y
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
@@ -44,6 +43,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
 CONFIG_HASH_VERIFY=y
index 149e4802c9c2e88bf109950645c87ba68d5c1107..adb6580f192c3e8ac3abd831b0716edbe7537c80 100644 (file)
@@ -26,7 +26,6 @@ CONFIG_DEBUG_UART=y
 CONFIG_ENV_VARS_UBOOT_CONFIG=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2"
 CONFIG_SD_BOOT=y
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
@@ -45,6 +44,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
 CONFIG_HASH_VERIFY=y
index 3fb79bed2a6fe6bcb2a1608c89632d22bf2dc998..cd5142521a0d7c1372ca843cd7e745771d6c5412 100644 (file)
@@ -26,7 +26,6 @@ CONFIG_DEBUG_UART=y
 CONFIG_ENV_VARS_UBOOT_CONFIG=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2"
 CONFIG_QSPI_BOOT=y
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
@@ -43,6 +42,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
 CONFIG_HASH_VERIFY=y
index d1dee0226e0dc14e96e48596a0c2d6b0db1e6936..43be6fbeb3215d1686e2cf4efbb7b4b5a38bfe16 100644 (file)
@@ -24,7 +24,6 @@ CONFIG_DEBUG_UART=y
 CONFIG_ENV_VARS_UBOOT_CONFIG=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2"
 CONFIG_SD_BOOT=y
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
@@ -46,6 +45,7 @@ CONFIG_CMD_I2C=y
 # CONFIG_CMD_LOADS is not set
 CONFIG_CMD_MMC=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
index 700aef75ecebeea54ffc7bfb0f0f12d38b7d6051..574a67e07ee66daf1051622d86c08467501007a5 100644 (file)
@@ -24,7 +24,6 @@ CONFIG_DEBUG_UART=y
 CONFIG_ENV_VARS_UBOOT_CONFIG=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2"
 CONFIG_QSPI_BOOT=y
 CONFIG_SPI_BOOT=y
 CONFIG_BOOTDELAY=3
@@ -50,6 +49,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
index 7761a57e0ccb2a1456c20bd4e416a1849e8f64a9..5b530f0da66e7d07c2f337120b36d1369de00ae3 100644 (file)
@@ -24,7 +24,6 @@ CONFIG_DEBUG_UART=y
 CONFIG_ENV_VARS_UBOOT_CONFIG=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2"
 CONFIG_SD_BOOT=y
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
@@ -47,6 +46,7 @@ CONFIG_CMD_I2C=y
 # CONFIG_CMD_LOADS is not set
 CONFIG_CMD_MMC=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
 CONFIG_HASH_VERIFY=y
index 88bbbb4d3fa0a0032938f349a7d815036f2d0d06..e103ae3ddec40dc9d707c2a5b7bdf7c4cde553ae 100644 (file)
@@ -18,7 +18,6 @@ CONFIG_SYS_BOOT_GET_CMDLINE=y
 CONFIG_SYS_BOOT_GET_KBD=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2"
 CONFIG_QSPI_BOOT=y
 CONFIG_SD_BOOT=y
 CONFIG_BOOTDELAY=3
@@ -46,6 +45,7 @@ CONFIG_CMD_SDRAM=y
 CONFIG_CMD_SF_TEST=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_GETTIME=y
 CONFIG_CMD_TIMER=y
index 9f458e100b2319a2fea8cab279a0c62d383b5d0e..609e202c34ded46fa60acd041e4a9d3cf880d63a 100644 (file)
@@ -16,7 +16,6 @@ CONFIG_DEBUG_UART=y
 CONFIG_ENV_VARS_UBOOT_CONFIG=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2"
 CONFIG_SD_BOOT=y
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
@@ -37,6 +36,7 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
 CONFIG_HASH_VERIFY=y
index 6460ff3dad5fda879a045fe753440caf37ce45ca..132f31a3d474bbab4eedf1ac066dd154278bf8e8 100644 (file)
@@ -16,7 +16,6 @@ CONFIG_DEBUG_UART=y
 CONFIG_ENV_VARS_UBOOT_CONFIG=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2"
 CONFIG_NAND_BOOT=y
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
@@ -37,6 +36,7 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
 CONFIG_HASH_VERIFY=y
index 844a9cde64764f3912a860bafaa32f66e6f98f7e..caacbabb7bf24cc1b79a417edcced5fafae800fc 100644 (file)
@@ -25,7 +25,7 @@ CONFIG_DEBUG_UART=y
 CONFIG_ENV_VARS_UBOOT_CONFIG=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2,SYS_USE_MMC"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_MMC"
 CONFIG_SD_BOOT=y
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
@@ -43,6 +43,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
 CONFIG_HASH_VERIFY=y
index 0de063658788b5e26a435d116208243d0800f67b..de9fe9d13b6ca49a0d1b8c999d05b564f5d4f165 100644 (file)
@@ -26,7 +26,7 @@ CONFIG_DEBUG_UART=y
 CONFIG_ENV_VARS_UBOOT_CONFIG=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2,SYS_USE_MMC"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_MMC"
 CONFIG_SD_BOOT=y
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
@@ -45,6 +45,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
 CONFIG_HASH_VERIFY=y
index a6e002e59ef767fb6e12b4642836176f2c85fcb3..24b509d062769d42ffea3e8c4abb961f684d3f05 100644 (file)
@@ -26,7 +26,7 @@ CONFIG_DEBUG_UART=y
 CONFIG_ENV_VARS_UBOOT_CONFIG=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2,SYS_USE_MMC"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_MMC"
 CONFIG_QSPI_BOOT=y
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
@@ -45,6 +45,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
 CONFIG_HASH_VERIFY=y
index 676385fe5585e466c16dcaff4f3743e7b6820803..e4a2e459659893f8a629be10e63b76b655879626 100644 (file)
@@ -49,6 +49,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
 CONFIG_HASH_VERIFY=y
index 19673525f1f4b883d6729fbedf1c60eabeaaeb73..3732b68cce48b7737f8dce79b71f14b6e8cf0685 100644 (file)
@@ -33,6 +33,7 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
index a7cf6b2d9964abe6df2f566cd2af26e6f3d20117..2a261400b7802626281d9c625e17760c8fb2da64 100644 (file)
@@ -33,6 +33,7 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
index 33ce03c9ffed0da574386667bb08240fa84ab280..df62e0e85b466316f03d7c8dc84fd277c40ed341 100644 (file)
@@ -35,6 +35,7 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
index 7660dbede2df8b1e09b9889abaf9446e5087eaed..d89b6f3618f0ce7f2a8b7612a19d3f09f6280511 100644 (file)
@@ -42,6 +42,7 @@ CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
index 97361a0f90145dfe950eff1639f8d2e8837047cb..a06f524d0c2d7ca7055246526bdcb01b3f4adf0e 100644 (file)
@@ -42,6 +42,7 @@ CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
index 7828bfdd42d2416a026fcfc9b3fca3fe570815e1..8bb370607696634f9b220858bfe0cb9b66d3c92b 100644 (file)
@@ -45,6 +45,7 @@ CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_EXT4=y
index 5e2b79e10ee4e93473d1911693741b58f847a26f..b4568cda31702b545ac39154bd833d0830b6acfa 100644 (file)
@@ -45,6 +45,7 @@ CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
index bffcc49e1c35c768d958fd674bef908547a7015b..03c2b208b695a7e6b9d6012cbb2017a14f9b8a26 100644 (file)
@@ -48,6 +48,7 @@ CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_TRIMFFS=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
index c664274bfb8004cef8b4d463943263d0241978fa..878f3a316f1fa031b9d7b86456977e641aee9c8b 100644 (file)
@@ -42,6 +42,7 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
 CONFIG_HASH_VERIFY=y
index c6cb19e43863b4ca15e9305cfcd7de0f5868d580..1061762579219536fd9917e7c4b9df020b11a910 100644 (file)
@@ -42,6 +42,7 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
 CONFIG_HASH_VERIFY=y
index 3a7da73090ff419666239a842f022fc526df1283..21e9fc3bf1e13853de81632840b3547411a7174e 100644 (file)
@@ -47,6 +47,7 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_HASH=y
 CONFIG_HASH_VERIFY=y
index b0689fbe816bd50c94787151584271469bd5f1e4..01b2a587dff0b18c58ebd257acf90c64c0b969fd 100644 (file)
@@ -44,6 +44,7 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
index a8530264157ccb0aa684948381c388b47b8de3e7..25e2b9889374c94698d11c64e7c57f64c2f36c76 100644 (file)
@@ -44,6 +44,7 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
index b36f4b519f44272eef5e7892e7dfa19be525d987..484df6a4c6af0fbf17a766f438ef75ebe3648353 100644 (file)
@@ -47,6 +47,7 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
index 15a5c54e75610cf427e2106a6728699d72606fd0..a4912687340026effb11445a36f13fe7a58d5da7 100644 (file)
@@ -44,6 +44,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_FAT=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="1:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_DM=y
 CONFIG_CLK=y
 CONFIG_CLK_CCF=y
index 7abd5c8a38acf845dfaf1a6e1f830091a6076430..6891baac039cb612f5eb4531e438b43545c34ce8 100644 (file)
@@ -44,6 +44,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_FAT=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_DM=y
 CONFIG_CLK=y
 CONFIG_CLK_CCF=y
index 7c157a23d0fb44b95fd65ffcdec9ff2aa0f8e7d9..40d1422a37822f1589a98b929402746dffa9185f 100644 (file)
@@ -23,7 +23,6 @@ CONFIG_CONSOLE_RECORD=y
 CONFIG_CONSOLE_RECORD_OUT_SIZE=0x1000
 CONFIG_PRE_CONSOLE_BUFFER=y
 CONFIG_DISPLAY_BOARDINFO_LATE=y
-CONFIG_MISC_INIT_F=y
 CONFIG_CMD_CPU=y
 CONFIG_CMD_LICENSE=y
 CONFIG_CMD_BOOTZ=y
index ab0e2defee60eba45e37f8689cc8de5b8d40268d..0f43101ab51baf2bc1de4e882a52dc70e34eff5b 100644 (file)
@@ -32,7 +32,6 @@ CONFIG_CONSOLE_RECORD_OUT_SIZE=0x1000
 CONFIG_PRE_CONSOLE_BUFFER=y
 CONFIG_LOG=y
 CONFIG_DISPLAY_BOARDINFO_LATE=y
-CONFIG_MISC_INIT_F=y
 CONFIG_STACKPROTECTOR=y
 CONFIG_ANDROID_AB=y
 CONFIG_CMD_CPU=y
@@ -105,6 +104,7 @@ CONFIG_CMD_TPM_TEST=y
 CONFIG_CMD_BTRFS=y
 CONFIG_CMD_CBFS=y
 CONFIG_CMD_CRAMFS=y
+CONFIG_CMD_EROFS=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_SQUASHFS=y
 CONFIG_CMD_MTDPARTS=y
@@ -314,7 +314,6 @@ CONFIG_ECDSA=y
 CONFIG_ECDSA_VERIFY=y
 CONFIG_TPM=y
 CONFIG_SHA384=y
-CONFIG_LZ4=y
 CONFIG_ERRNO_STR=y
 CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y
 CONFIG_EFI_CAPSULE_ON_DISK=y
index 217b0647bb586904f544ec29b4442f4987e507d2..7ccee70f42b6d333668126ddb31706e346ab5e6c 100644 (file)
@@ -20,7 +20,6 @@ CONFIG_BOOTSTAGE_STASH_SIZE=0x4096
 CONFIG_CONSOLE_RECORD=y
 CONFIG_CONSOLE_RECORD_OUT_SIZE=0x1000
 CONFIG_DISPLAY_BOARDINFO_LATE=y
-CONFIG_MISC_INIT_F=y
 CONFIG_CMD_CPU=y
 CONFIG_CMD_LICENSE=y
 CONFIG_CMD_BOOTZ=y
index 1687ccf45304230e885369425904ae379b886a1c..31f5aa850211ee31571caa9ef384f08bcc2ed06b 100644 (file)
@@ -30,7 +30,6 @@ CONFIG_BOOTSTAGE_STASH_SIZE=0x4096
 CONFIG_CONSOLE_RECORD=y
 CONFIG_CONSOLE_RECORD_OUT_SIZE=0x1000
 CONFIG_DISPLAY_BOARDINFO_LATE=y
-CONFIG_MISC_INIT_F=y
 CONFIG_HANDOFF=y
 CONFIG_SPL_BOARD_INIT=y
 CONFIG_SPL_ENV_SUPPORT=y
index d417a5c962a8b1deed142ec54d65e16d4fc00d6e..9feaad2691d3df3d4850c3a82d02a6ea5cf4d71f 100644 (file)
@@ -42,6 +42,8 @@ CONFIG_CMD_UBI=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eth0"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_FSL_USDHC=y
 CONFIG_MTD=y
index c9c50bd840736a199beb63124c979b0fc33a23c0..e97c1f06bd7986829e818ec672525bba0bb37cd8 100644 (file)
@@ -39,6 +39,7 @@ CONFIG_CMD_PING=y
 # CONFIG_CMD_SLEEP is not set
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SYS_RX_ETH_BUFFER=6
 # CONFIG_DM_DEVICE_REMOVE is not set
 CONFIG_BCM6348_IUDMA=y
 CONFIG_BCM6345_GPIO=y
@@ -52,6 +53,7 @@ CONFIG_SYS_FLASH_PROTECTION=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_MAX_FLASH_BANKS_DETECT=y
 CONFIG_PHY_FIXED=y
+CONFIG_PHY_RESET_DELAY=20
 CONFIG_DM_ETH=y
 CONFIG_BCM6348_ETH=y
 CONFIG_PHY=y
index 0c5031b2d227f3d18b8349c02b9a36981e48eddc..db941872cfb8c6fb0f9641683779213d9c8f880d 100644 (file)
@@ -19,6 +19,7 @@ CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="${x_bootcmd_kernel}; setenv bootargs ${x_bootargs} ${x_bootargs_root}; bootm 0x6400000;"
 CONFIG_USE_PREBOOT=y
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_FLASH is not set
@@ -44,6 +45,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_DM=y
 CONFIG_SATA_MV=y
 CONFIG_SYS_SATA_MAX_DEVICE=2
index 1597616038f169ff1a05ae55550ec9dcb023ffb1..5988777fb90280cfbb8663dc02c7bf1bbb7cc240 100644 (file)
@@ -15,11 +15,14 @@ CONFIG_LAST_STAGE_INIT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
 CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index 0e99c3662684032d6c5f6b143997a7a3e24997e6..6ff8988935947c32cdaad969fc61517795b86461 100644 (file)
@@ -11,6 +11,8 @@ CONFIG_SYS_TEXT_BASE=0x23000000
 CONFIG_SYS_MALLOC_LEN=0x460000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_SMARTWEB=y
+CONFIG_AT91_GPIO_PULLUP=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_SPL_GPIO=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
@@ -22,7 +24,6 @@ CONFIG_SPL=y
 CONFIG_ENV_OFFSET_REDUND=0x180000
 CONFIG_SYS_LOAD_ADDR=0x22000000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9260"
 CONFIG_BOOTDELAY=3
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc><Esc>\" to stop\n"
@@ -43,6 +44,7 @@ CONFIG_CMD_DFU=y
 CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_MTDPARTS=y
@@ -55,6 +57,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=20
 CONFIG_CLK=y
 CONFIG_CLK_AT91=y
 CONFIG_DFU_NAND=y
@@ -72,6 +75,7 @@ CONFIG_SYS_NAND_OOBSIZE=0x40
 CONFIG_SYS_NAND_U_BOOT_LOCATIONS=y
 CONFIG_SYS_NAND_U_BOOT_OFFS=0x20000
 CONFIG_MACB=y
+CONFIG_RMII=y
 CONFIG_ATMEL_USART=y
 CONFIG_USB=y
 CONFIG_USB_GADGET=y
index 4b3267e504caa515fd9b551038e4b9c70b4ffaa9..04b3f7cdde53476fb7abab00e26b3a684c95e081 100644 (file)
@@ -5,16 +5,18 @@ CONFIG_ARCH_AT91=y
 CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_TARGET_SNAPPER9260=y
+CONFIG_AT91_GPIO_PULLUP=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x40000
 CONFIG_ENV_OFFSET=0x80000
 CONFIG_SYS_LOAD_ADDR=0x23000000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9260"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 ip=any"
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Snapper> "
 # CONFIG_CMD_BDI is not set
@@ -27,6 +29,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 # CONFIG_CMD_MDIO is not set
 CONFIG_CMD_PING=y
@@ -34,6 +37,8 @@ CONFIG_CMD_FAT=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=20
+CONFIG_TFTP_PORT=y
 CONFIG_TFTP_TSIZE=y
 CONFIG_AT91_GPIO=y
 CONFIG_CMD_PCA953X=y
@@ -46,4 +51,5 @@ CONFIG_MTD_RAW_NAND=y
 # CONFIG_SYS_NAND_USE_FLASH_BBT is not set
 CONFIG_NAND_ATMEL=y
 CONFIG_MACB=y
+CONFIG_RMII=y
 CONFIG_ATMEL_USART=y
index 3674c8f2c6f71311b26edb572e6ce8aafdb1d9bd..7eb512d92f6c9b3c62932097a4294c1238293fc7 100644 (file)
@@ -5,16 +5,18 @@ CONFIG_ARCH_AT91=y
 CONFIG_SYS_TEXT_BASE=0x21f00000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_TARGET_SNAPPER9260=y
+CONFIG_AT91_GPIO_PULLUP=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x40000
 CONFIG_ENV_OFFSET=0x80000
 CONFIG_SYS_LOAD_ADDR=0x23000000
 CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 ip=any"
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_RESET_PHY_R=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_IMI is not set
@@ -26,6 +28,7 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 # CONFIG_CMD_MDIO is not set
 CONFIG_CMD_PING=y
@@ -33,6 +36,8 @@ CONFIG_CMD_FAT=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=20
+CONFIG_TFTP_PORT=y
 CONFIG_TFTP_TSIZE=y
 CONFIG_AT91_GPIO=y
 CONFIG_CMD_PCA953X=y
@@ -45,4 +50,5 @@ CONFIG_MTD_RAW_NAND=y
 # CONFIG_SYS_NAND_USE_FLASH_BBT is not set
 CONFIG_NAND_ATMEL=y
 CONFIG_MACB=y
+CONFIG_RMII=y
 CONFIG_ATMEL_USART=y
index f85953f1bd4a17c181f9ecc13d387fc6d7681902..6b15bc373be533f01366cea8899ade46a9c888bc 100644 (file)
@@ -47,6 +47,8 @@ CONFIG_CMD_EXT4=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="kernel.itb"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_SPL_ALTERA_SDRAM=y
index 2e116fb862bcf5c405e81a3709ef9228d46e702b..342a702f42ae8fef508250c3382a8988a304cd19 100644 (file)
@@ -41,6 +41,8 @@ CONFIG_CMD_EXT4=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="Image"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_SPL_ALTERA_SDRAM=y
index b62f5094d1f5e05cbf2f3b9a7bf5ca596961597a..486c88fddd49bdb21a404e7958fdca6d5672da3e 100644 (file)
@@ -48,6 +48,8 @@ CONFIG_CMD_EXT4=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="kernel.itb"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_SPL_ALTERA_SDRAM=y
index 15652a17ea5a933d87d45b971ed5b8fa51e65bbd..24687f103281f9f645ae2c57cbb38524cacb5dab 100644 (file)
@@ -46,6 +46,8 @@ CONFIG_CMD_FS_GENERIC=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="fitImage"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_DFU_MMC=y
 CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
index 2124a08d21ea6c67bd83839bcdb17fce0f3f4df7..9ad37a0cf0ac08a1b95eb16f72066705cc5898df 100644 (file)
@@ -38,7 +38,10 @@ CONFIG_CMD_UBI=y
 # CONFIG_EFI_PARTITION is not set
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="zImage"
 CONFIG_VERSION_VARIABLE=y
+CONFIG_ARP_TIMEOUT=500
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_DWAPB_GPIO=y
index d31c3f5e77e2eb90e470e61d1d91805509e39e26..a6e3a77227bca71e503cc09a26b64646314614bc 100644 (file)
@@ -37,6 +37,8 @@ CONFIG_CMD_EXT4_WRITE=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="fitImage"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_DFU_MMC=y
 CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
index 31346fc4e48addf42b3afe451d697d2b77479b60..d458818f31d3ff7eca713b6098f02ddc1bcf8a7f 100644 (file)
@@ -47,6 +47,8 @@ CONFIG_CMD_EXT4=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="kernel.itb"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_DWAPB_GPIO=y
index 7e7d1ccf7a0cb5c532e48ace40e666a460aee988..57ccf70c3e9f4d57b8d67b1329eea5c80b44072e 100644 (file)
@@ -39,6 +39,8 @@ CONFIG_CMD_EXT4=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="Image"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_DWAPB_GPIO=y
index cf7bf239a79fc4852363670d121a0c2b5285049c..91b05ca714c0ef1f0f3695928f6da1329280f6d5 100644 (file)
@@ -48,6 +48,8 @@ CONFIG_CMD_EXT4=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="kernel.itb"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_DWAPB_GPIO=y
index f7bdb906bca3af593fd951ab2f0616ebd73bd0ba..e5fc9eda56dbc4cc2135162064410d668fa0068f 100644 (file)
@@ -17,6 +17,9 @@ CONFIG_BUILD_TARGET="u-boot-with-nand-spl.sfp"
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_SYS_LOAD_ADDR=0x02000000
 CONFIG_FIT=y
+CONFIG_BOOT_RETRY=y
+CONFIG_BOOT_RETRY_TIME=45
+CONFIG_RESET_TO_RETRY=y
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 ubi.fm_autoconvert=1 uio_pdrv_genirq.of_id=\"idq,regbank\""
 CONFIG_BOOTCOMMAND="setenv bootcmd 'bridge enable; if test ${bootnum} = 'b'; then run _fpga_loadsafe; else if test ${bootcount} -eq 4; then echo 'Switching copy...'; setexpr x $bootnum % 2 && setexpr bootnum $x + 1; saveenv; fi; run _fpga_loaduser; fi;echo 'Booting bank $bootnum' && run userload && run userboot;' && setenv altbootcmd 'setenv bootnum b && saveenv && boot;' && saveenv && saveenv && boot;"
@@ -54,6 +57,8 @@ CONFIG_CMD_UBI=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="zImage"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 # CONFIG_SPL_BLK is not set
index 60e7750fdbf8902c271fc44ab05a59912dc87373..386a773ae7b36650f672c1930f5da8d1c9192406 100644 (file)
@@ -48,6 +48,8 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="kernel.itb"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_SPL_ALTERA_SDRAM=y
index 8249a12b11952fd73faefb4b17f6b12920c58c18..038e0b688438f83975f6629c0f9a301c5a51c191 100644 (file)
@@ -45,6 +45,8 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="Image"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_SPL_ALTERA_SDRAM=y
index 4e2c0c10167ae4cdc026ed568a953d081165e0f1..15848af67d9b7a1fe65a3412725fb748313f72b7 100644 (file)
@@ -50,6 +50,8 @@ CONFIG_CMD_UBI=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="fitImage"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_NET_RANDOM_ETHADDR=y
index bad08e79c9f4d885b35f3de390e99aebffc25955..1eb72d3a5fe2da305b9dfe440795d28fcbbd4c0d 100644 (file)
@@ -32,6 +32,7 @@ CONFIG_CMD_SDRAM=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
@@ -44,7 +45,10 @@ CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_ENV_ADDR=0xFFF40000
 CONFIG_ENV_ADDR_REDUND=0xFFF20000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="TSEC0"
 CONFIG_DM=y
+CONFIG_CHIP_SELECTS_PER_CTRL=2
 CONFIG_SYS_BR0_PRELIM_BOOL=y
 CONFIG_SYS_BR0_PRELIM=0xFE001001
 CONFIG_SYS_OR0_PRELIM=0xFE000030
index 9781b10e8ebf181693554164ea3f9f98e060b043..fb630bddc79f4491eb0e28e613136a1f02c2e489 100644 (file)
@@ -35,6 +35,7 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
@@ -49,6 +50,8 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index 956a6ca427179d3b80c8587f5d8cc8d138448701..42ba380392cbc1f42ad63c69b9326fcf6ee359a4 100644 (file)
@@ -38,6 +38,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eth0"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_FSL_USDHC=y
index 90a4ec4958a4df1e1003bc80352821332f206d3a..e99bb1e443ee56b967a85a86c45e20d44eddd48b 100644 (file)
@@ -25,6 +25,8 @@ CONFIG_CMD_EXT4_WRITE=y
 # CONFIG_ISO_PARTITION is not set
 CONFIG_OF_CONTROL=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
 CONFIG_CLK=y
index fa1ae108385b1b5fa118726ad3482ab336bf8358..7b40329405c97d2d8037f20dd80470b3d20e5e84 100644 (file)
@@ -35,6 +35,7 @@ CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ8XXX=y
+CONFIG_PHY_RESET_DELAY=10000
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_MII=y
 CONFIG_CADENCE_QSPI=y
index 6dbf8c226e37cedcd3dc852962ee755e95e50b35..43684de87fd89bdb4824481317b285c6ea792a29 100644 (file)
@@ -37,11 +37,13 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_BOOTP_MAY_FAIL=y
 CONFIG_CMD_TFTPPUT=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_FPGA_XILINX=y
 CONFIG_FPGA_ZYNQPL=y
index eaede092f853f21fd006a315a35afe8951cc6844..76f902b1fa5e2b6d611bdbd1013c37b5d8de5534 100644 (file)
@@ -13,6 +13,8 @@ CONFIG_SYS_TEXT_BASE=0x21000000
 CONFIG_SYS_MALLOC_LEN=0x460000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_TAURUS=y
+CONFIG_AT91_GPIO_PULLUP=y
+CONFIG_ATMEL_LEGACY=y
 CONFIG_BOARD_TAURUS=y
 CONFIG_SPL_GPIO=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
@@ -30,7 +32,6 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
 CONFIG_SPL_SPI=y
 CONFIG_DEBUG_UART=y
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 earlyprintk mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro,256k(env),256k(env_redundant),256k(spare),512k(dtb),6M(kernel)ro,-(rootfs) root=/dev/mtdblock7 rw rootfstype=jffs2"
@@ -88,6 +89,7 @@ CONFIG_SYS_NAND_U_BOOT_OFFS=0x20000
 CONFIG_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_MACB=y
+CONFIG_RMII=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_SPECIFY_CONSOLE_INDEX=y
index 94ed3fbf1073b365f8ecaf7b1d473d7f333ad471..0adf050d74c48356f9c6ec8cef52a108a1ca1ab0 100644 (file)
@@ -16,6 +16,8 @@ CONFIG_CMD_PING=y
 CONFIG_OF_CONTROL=y
 CONFIG_OF_EMBED=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_PHY_GIGE=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_SERIAL=y
index dbd9b040e40093d24d0977ae5312895662cf0820..fade16134bc7efaaa5f902dd40a157c9581cfa93 100644 (file)
@@ -28,6 +28,7 @@ CONFIG_LOGLEVEL=7
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 # CONFIG_ID_EEPROM is not set
 CONFIG_PCI_INIT_R=y
+CONFIG_RESET_PHY_R=y
 CONFIG_CMD_BOOTEFI_SELFTEST=y
 CONFIG_CMD_BOOTMENU=y
 CONFIG_CMD_GREPENV=y
index 4a9bbef22f0a124d1db771fb67e8c4cc2dc2c37f..25758b434f57c9eacc1f7e31db8241bf62295a96 100644 (file)
@@ -35,6 +35,7 @@ CONFIG_CMD_PART=y
 CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_BMP=y
@@ -51,6 +52,8 @@ CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index 66aab7926be3c2f24ef4a2f2150d1b4686f36d4b..73241aeed09f6892c372f2dfc303a15f8f2ccadd 100644 (file)
@@ -34,6 +34,7 @@ CONFIG_CMD_PART=y
 CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_BMP=y
@@ -50,6 +51,8 @@ CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index 2f87c0879f2b691be235a98aaadb5b33eedd0850..9dd2d4f387d563c2d52be8d89e5d39ca0ed34271 100644 (file)
@@ -32,6 +32,7 @@ CONFIG_CMD_PART=y
 CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_BMP=y
@@ -48,6 +49,8 @@ CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
 CONFIG_TFTP_TSIZE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
index 1c3dbe4a5571cea252398ae09e542cf5b226be93..3b841b0c427a3d936237af35e85537f4016eee3c 100644 (file)
@@ -51,6 +51,8 @@ CONFIG_EFI_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_SPI_MAX_HZ=50000000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_OF_TRANSLATE=y
 CONFIG_SATA_MV=y
index 1e1d19e44bfd4f6d85397e11c63ccf6dbb428c46..4e2229098994f54f1c2a23474fe5bf9a8ba459fd 100644 (file)
@@ -28,6 +28,9 @@ CONFIG_BOOTDELAY=3
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc><Esc>\" to stop\n"
 CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
+CONFIG_BOOT_RETRY=y
+CONFIG_BOOT_RETRY_TIME=60
+CONFIG_RESET_TO_RETRY=y
 CONFIG_USE_PREBOOT=y
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 # CONFIG_DISPLAY_BOARDINFO is not set
@@ -71,6 +74,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_SPL_DM=y
 # CONFIG_SPL_BLK is not set
index 9631395d38c701636911d2d05a4923cef8b1f20f..703f9fdcd0158b91cc3d49e119cf54f22f972318 100644 (file)
@@ -52,6 +52,7 @@ CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RETRY_COUNT=10
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_DM=y
 CONFIG_DM_I2C=y
index 64eb766515356b180875f288aeed77d9f26904cd..211acc77740417d4e21513fee3dceb3388fdce1c 100644 (file)
@@ -9,7 +9,6 @@ CONFIG_TIMESTAMP=y
 CONFIG_FIT_SIGNATURE=y
 CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="run distro_bootcmd"
-CONFIG_MISC_INIT_F=y
 # CONFIG_CMD_BOOTD is not set
 # CONFIG_CMD_BOOTM is not set
 # CONFIG_CMD_ELF is not set
index 3e386c26d466cadcb85a4b8c810895b58b3b37fb..81c30c6fc67791b84af0159a535f0ffe635554f5 100644 (file)
@@ -36,6 +36,9 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
+CONFIG_ARP_TIMEOUT=200
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
 CONFIG_SYS_I2C_MXC=y
index 304d139956c72d416b25fc5c4cf8710f32a7233f..25f231cc1de78b7051eb2bedbae6b10e1d4d1ee3 100644 (file)
@@ -40,6 +40,9 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
+CONFIG_ARP_TIMEOUT=200
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
 CONFIG_SYS_I2C_MXC=y
index b4203da15f4d6d1392ee6961c72ba8a31cfc29d7..b838858c415c443e3f8655a14e04dba2d847b0dd 100644 (file)
@@ -36,6 +36,9 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
+CONFIG_ARP_TIMEOUT=200
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
 CONFIG_SYS_I2C_MXC=y
index 8d96c600fba7222574adaa376c766abcfb931530..a3bca139412cb4dc17bc98174f460a811405dbdb 100644 (file)
@@ -40,6 +40,9 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
+CONFIG_ARP_TIMEOUT=200
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
 CONFIG_SYS_I2C_MXC=y
index 566ecc0c5405cc48fc752c47edf09ec07864aceb..b41ace3d41d19064f2572864d1dbf052702fd50b 100644 (file)
@@ -36,6 +36,9 @@ CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
+CONFIG_ARP_TIMEOUT=200
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
 CONFIG_SYS_I2C_MXC=y
index 78b978f1ad0d83099b27d5b6603f2efb069cf80c..b9a3facdb1b79897d0eb1dccb9632646dea24c2a 100644 (file)
@@ -40,6 +40,9 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
+CONFIG_ARP_TIMEOUT=200
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
 CONFIG_SYS_I2C_MXC=y
index 6078b46410af57951f247315aad23be93fe98c51..e4b4afc9fdc5bbe440e9dbabd0caacef534f4f77 100644 (file)
@@ -138,6 +138,7 @@ CONFIG_SYS_EEPROM_PAGE_WRITE_BITS=3
 CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=10
 CONFIG_CMD_I2C=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_JFFS2=y
@@ -150,6 +151,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_ENV_ADDR=0xF00C0000
 CONFIG_ENV_ADDR_REDUND=0xF00E0000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="UEC0"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_DM_BOOTCOUNT=y
index 84a0b4c2b20ecc0a5aae60048b71f17299dcbf3d..27bf740b4e50de0250c4689a0bb0cfbac2efab31 100644 (file)
@@ -53,6 +53,8 @@ CONFIG_MAC_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_SCSI_AHCI=y
 CONFIG_AHCI_PCI=y
 CONFIG_BUTTON=y
index 5b1fdbfb2d3480a4f2030c8ed8a084ab71f2fd06..ec9f766ab2e9322f13e70268c490aa6da31228f1 100644 (file)
@@ -62,6 +62,8 @@ CONFIG_CMD_FS_UUID=y
 # CONFIG_SPL_PARTITION_UUIDS is not set
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_SPL_OF_TRANSLATE=y
 CONFIG_AHCI_PCI=y
 CONFIG_AHCI_MVEBU=y
index cc9bbab8c6bbc336476bb0fdc9c0f944dc448967..0a2c36c16f792cdc25d27e37281ac570cf1114d7 100644 (file)
@@ -160,6 +160,7 @@ CONFIG_SYS_EEPROM_PAGE_WRITE_BITS=3
 CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=10
 CONFIG_CMD_I2C=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_JFFS2=y
@@ -172,6 +173,8 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_ENV_ADDR=0xF00C0000
 CONFIG_ENV_ADDR_REDUND=0xF00E0000
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="UEC0"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_DM_BOOTCOUNT=y
index b5f2115e6332cdf448e3a3fec2240e9b8eac167a..4bd5ec34148cc363f31d7f1dc3bfdfd0485240fe 100644 (file)
@@ -48,6 +48,8 @@ CONFIG_MAC_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_AHCI_MVEBU=y
 CONFIG_CLK=y
index 304d6a8e547bac8badc8218da76ba3cb02d9c2f9..3c9fee34e60e79a9f6f9bffb0621968aced39ffd 100644 (file)
@@ -38,6 +38,8 @@ CONFIG_CMD_UBI=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="zImage"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_GPIO_UNIPHIER=y
 CONFIG_MISC=y
index 87eb939fe2fb6db71aec0fafbecb3265a15a3220..0bedfe1fc2ba165b33c72100428cc1c0c075002f 100644 (file)
@@ -39,6 +39,8 @@ CONFIG_CMD_UBI=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="zImage"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_GPIO_UNIPHIER=y
 CONFIG_MISC=y
index b9e2d9ba790a6e2f04c986afa00d44aac8725249..8269aab543211d5f2579651892035be08b8cbc82 100644 (file)
@@ -34,6 +34,8 @@ CONFIG_MTDIDS_DEFAULT="nand0=uniphier-nand.0"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=uniphier-nand.0:1m(firmware),-(UBI)"
 CONFIG_CMD_UBI=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="Image"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_GPIO_UNIPHIER=y
 CONFIG_MISC=y
index 5792d78995052d19caae4e57b24112d691926407..b609bbbb3e503904a86a5bb0e5be7685eb69007d 100644 (file)
@@ -13,7 +13,7 @@ CONFIG_ENV_SECT_SIZE=0x2000
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="usb_a9263"
 CONFIG_SYS_LOAD_ADDR=0x22000000
-CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_DATAFLASH"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_USE_DATAFLASH"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mtdblock1 mtdparts=mtdparts=atmel_nand:16m(kernel)ro,120m(root1),-(root2) rw rootfstype=jffs2"
@@ -30,12 +30,14 @@ CONFIG_CMD_NAND=y
 # CONFIG_CMD_ITEST is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_PING=y
 CONFIG_MTDPARTS_DEFAULT="mtdparts=atmel_nand:16m(kernel)ro,120m(root1),-(root2)"
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_SPI_MAX_HZ=15000000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=20
 CONFIG_DM=y
 CONFIG_CLK=y
 CONFIG_CLK_AT91=y
@@ -49,6 +51,7 @@ CONFIG_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_ATMEL=y
 CONFIG_SPI_FLASH_DATAFLASH=y
 CONFIG_MACB=y
+CONFIG_RMII=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
index bcca038f94c8fb7d029720a63cf8e5f816169276..187402a61bdee4b730c16ea8c77eeaeebd2b2ba7 100644 (file)
@@ -33,6 +33,8 @@ CONFIG_CMD_CACHE=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eth0"
 CONFIG_DM_I2C_GPIO=y
 CONFIG_SYS_I2C_MXC=y
 CONFIG_MISC=y
index f2da12e92f650bbd7b8a819e6f7bbcc517255c6b..7f83188a7dfa1636741668bff011ded58f2901ad 100644 (file)
@@ -64,6 +64,8 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_PART=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_IP_DEFRAG=y
 CONFIG_TFTP_BLOCKSIZE=4096
index 4c28f7f55e470355ee58601945c38c228f0c8154..e95dd216ab6c525c667b5e84006f1421c9cf570d 100644 (file)
@@ -25,6 +25,7 @@ CONFIG_SPL=y
 CONFIG_IMX_BOOTAUX=y
 CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x48000000
 CONFIG_DISTRO_DEFAULTS=y
+CONFIG_REMAKE_ELF=y
 CONFIG_SYS_LOAD_ADDR=0x43500000
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
@@ -76,6 +77,8 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=2
 CONFIG_SYS_MMC_ENV_PART=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="eth0"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_IP_DEFRAG=y
 CONFIG_TFTP_BLOCKSIZE=4096
index e02124cc7f54775bd4aa5738c0c46a2492a3dc45..aac4c4c09aed7a4ad8faa924518a300b19947eac 100644 (file)
@@ -30,6 +30,7 @@ CONFIG_CMD_SATA=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_ITEST is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_CACHE=y
 # CONFIG_CMD_SLEEP is not set
index 448d012e1c1b1787fc239f6f3aec16841791dfd0..50715e27fc6f159cb1b0479ff437a6de7fc8af16 100644 (file)
@@ -30,6 +30,7 @@ CONFIG_CMD_ARMFLASH=y
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_ITEST is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_CACHE=y
 # CONFIG_CMD_SLEEP is not set
index dfcaafb83b20a7c8e3963f06314e7518157dbaf4..10e93cff5dbd645d39d9de4d3a5e3e86b711229e 100644 (file)
@@ -22,6 +22,7 @@ CONFIG_DEFAULT_FDT_FILE="vexpress-v2p-ca9.dtb"
 CONFIG_CMD_MMC=y
 # CONFIG_CMD_ITEST is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_BOOTP_BOOTFILESIZE=y
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_SLEEP is not set
 CONFIG_CMD_UBI=y
index 2fb69c1be2f6b5ad685fe6cbfabb23c7c4cfe8cf..1d93ffe53d0e88ce80fc52723e387b986ae6d346 100644 (file)
@@ -53,6 +53,7 @@ CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ8XXX=y
+CONFIG_DM_ETH=y
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_DM_SERIAL=y
index 6af2839f9327f41d52388de4cb685afbcfcfbab9..c9ec55fd9a3d06dc0730f1623aa949187e70acfa 100644 (file)
@@ -53,6 +53,7 @@ CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ8XXX=y
+CONFIG_DM_ETH=y
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_DM_SERIAL=y
index 52d5506495b0392417ef2086f94ac9a995007e44..2eb22829eeb7af56449cdf3613350c55db7cfce8 100644 (file)
@@ -28,12 +28,14 @@ CONFIG_CMD_GPT=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RETRY_COUNT=20
 CONFIG_AT91_GPIO=y
 CONFIG_SUPPORT_EMMC_BOOT=y
 CONFIG_GENERIC_ATMEL_MCI=y
@@ -43,6 +45,7 @@ CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_PHY_SMSC=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_MACB=y
+CONFIG_RMII=y
 CONFIG_ATMEL_USART=y
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
index 097fbc5cea0b841570811ee878d8cf6e1323e1c0..57fd3376bbcc09f276c1130918f2b0ecb0d884ab 100644 (file)
@@ -64,6 +64,8 @@ CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_PART=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_USE_ETHPRIME=y
+CONFIG_ETHPRIME="FEC"
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
index 8b21dc2493e36b022e6af3ded2d27deaa7b09149..83ff91012883cd4b0966dd5da38cca28e04bec15 100644 (file)
@@ -45,7 +45,10 @@ CONFIG_CMD_DATE=y
 CONFIG_DOS_PARTITION=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_VERSION_VARIABLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_LPC32XX_GPIO=y
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
index b12f4922ece37cb31a3cb3757870a235853ff183..d042134578b401b18a62e9cf41584e58f2f32b4c 100644 (file)
@@ -50,6 +50,8 @@ CONFIG_CMD_MTDPARTS=y
 CONFIG_CMD_UBI=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_ADDR=0x100000
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
 CONFIG_SPL_OF_TRANSLATE=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_MVTWSI=y
index adc30a75debbf2dc805a1082fb4aa1989b02d324..8c853ca521bada4197df0866039f71566df75134 100644 (file)
@@ -35,6 +35,8 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_MTD=y
 CONFIG_CMD_SF_TEST=y
 CONFIG_CMD_USB=y
+CONFIG_BOOTP_MAY_FAIL=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_TFTPPUT=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EFIDEBUG=y
@@ -53,6 +55,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
 CONFIG_IP_DEFRAG=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_TFTP_BLOCKSIZE=4096
 CONFIG_CLK_VERSAL=y
 CONFIG_DFU_TIMEOUT=y
index 9122b24ba7c7d65b3c7f493a591e9774598fd71b..5bcd17a1516f3fee9be3732211e2ee777b0e10a7 100644 (file)
@@ -50,6 +50,7 @@ CONFIG_CMD_NAND_LOCK_UNLOCK=y
 CONFIG_CMD_SF_TEST=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_BOOTP_MAY_FAIL=y
 CONFIG_CMD_TFTPPUT=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EFIDEBUG=y
@@ -70,6 +71,7 @@ CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_DFU_TIMEOUT=y
 CONFIG_DFU_MMC=y
index 976cb02c0fa9210d4479537f7002df86aada75e0..b43b90ee3c5e95b25914de218b38336339a7f3c3 100644 (file)
@@ -64,6 +64,8 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_CMD_WDT=y
+CONFIG_BOOTP_MAY_FAIL=y
+CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_TFTPPUT=y
 CONFIG_CMD_BMP=y
 CONFIG_CMD_CACHE=y
@@ -82,7 +84,7 @@ CONFIG_CMD_UBI=y
 CONFIG_PARTITION_TYPE_GUID=y
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_OF_BOARD=y
-CONFIG_OF_LIST="avnet-ultra96-rev1 zynqmp-a2197-revA zynqmp-e-a2197-00-revA zynqmp-g-a2197-00-revA zynqmp-m-a2197-01-revA zynqmp-m-a2197-02-revA zynqmp-m-a2197-03-revA zynqmp-p-a2197-00-revA zynqmp-zc1232-revA zynqmp-zc1254-revA zynqmp-zc1751-xm015-dc1 zynqmp-zc1751-xm016-dc2 zynqmp-zc1751-xm017-dc3 zynqmp-zc1751-xm018-dc4 zynqmp-zc1751-xm019-dc5 zynqmp-zcu100-revC zynqmp-zcu102-rev1.1 zynqmp-zcu102-rev1.0 zynqmp-zcu102-revA zynqmp-zcu102-revB zynqmp-zcu104-revA zynqmp-zcu104-revC zynqmp-zcu106-revA zynqmp-zcu111-revA zynqmp-zcu1275-revA zynqmp-zcu1275-revB zynqmp-zcu1285-revA zynqmp-zcu208-revA zynqmp-zcu216-revA zynqmp-topic-miamimp-xilinx-xdp-v1r1 zynqmp-sm-k26-revA zynqmp-smk-k26-revA zynqmp-dlc21-revA"
+CONFIG_OF_LIST="avnet-ultra96-rev1 zynqmp-a2197-revA zynqmp-e-a2197-00-revA zynqmp-g-a2197-00-revA zynqmp-m-a2197-01-revA zynqmp-m-a2197-02-revA zynqmp-m-a2197-03-revA zynqmp-p-a2197-00-revA zynqmp-zc1232-revA zynqmp-zc1254-revA zynqmp-zc1751-xm015-dc1 zynqmp-zc1751-xm016-dc2 zynqmp-zc1751-xm017-dc3 zynqmp-zc1751-xm018-dc4 zynqmp-zc1751-xm019-dc5 zynqmp-zcu100-revC zynqmp-zcu102-rev1.1 zynqmp-zcu102-rev1.0 zynqmp-zcu102-revA zynqmp-zcu102-revB zynqmp-zcu104-revA zynqmp-zcu104-revC zynqmp-zcu106-revA zynqmp-zcu106-rev1.0 zynqmp-zcu111-revA zynqmp-zcu1275-revA zynqmp-zcu1275-revB zynqmp-zcu1285-revA zynqmp-zcu208-revA zynqmp-zcu216-revA zynqmp-topic-miamimp-xilinx-xdp-v1r1 zynqmp-sm-k26-revA zynqmp-smk-k26-revA zynqmp-dlc21-revA"
 CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names interrupt-parent interrupts iommus power-domains"
 CONFIG_ENV_IS_NOWHERE=y
 CONFIG_ENV_IS_IN_FAT=y
@@ -93,6 +95,7 @@ CONFIG_ENV_FAT_DEVICE_AND_PART=":auto"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
+CONFIG_SYS_FAULT_ECHO_LINK_DOWN=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_SATA=y
 CONFIG_SCSI_AHCI=y
index 1c8d57b555c1a6c76ab1edbae7a63c1e7d756a96..0e1a1932c18b337a3d99ac08affa0e75714a3da4 100644 (file)
@@ -24,6 +24,8 @@ CONFIG_CMD_PING=y
 CONFIG_CMD_DIAG=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_ENV_ADDR=0xF7FE0000
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="uImage"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_DM=y
 # CONFIG_DM_WARN is not set
index cee16a80bc2c3db6a4524659b16062b7f8b06ce1..13700322e976acd52e4eb4959168359d93a9ff37 100644 (file)
@@ -4,10 +4,6 @@ menu "Partition Types"
 config PARTITIONS
        bool "Enable Partition Labels (disklabels) support"
        default y
-       select SPL_SPRINTF if SPL
-       select TPL_SPRINTF if TPL
-       select SPL_STRTO if SPL
-       select TPL_STRTO if TPL
        help
          Partition Labels (disklabels) Supported:
          Zero or more of the following:
@@ -23,6 +19,26 @@ config PARTITIONS
          you must configure support for at least one non-MTD partition type
          as well.
 
+config SPL_PARTITIONS
+       bool "Enable Partition Labels (disklabels) support in SPL"
+       default y if PARTITIONS
+       select SPL_SPRINTF
+       select SPL_STRTO
+       help
+         Enable this for base partition support in SPL. The required
+         partition table types shold be enabled separately. This add a
+         small amount of size to SPL, typically 500 bytes.
+
+config TPL_PARTITIONS
+       bool "Enable Partition Labels (disklabels) support in TPL"
+       default y if PARTITIONS
+       select TPL_SPRINTF
+       select TPL_STRTO
+       help
+         Enable this for base partition support in SPL. The required
+         partition table types shold be enabled separately. This add a
+         small amount of size to SPL, typically 500 bytes.
+
 config MAC_PARTITION
        bool "Enable Apple's MacOS partition table"
        depends on PARTITIONS
index 6ce5a687b36c0f3e46e3adc53a82488b558de7ee..b197692c234605c552c21ac88b3864d42bf795ed 100644 (file)
@@ -5,7 +5,7 @@
 
 #ccflags-y += -DET_DEBUG -DDEBUG
 
-obj-$(CONFIG_PARTITIONS)       += part.o
+obj-$(CONFIG_$(SPL_TPL_)PARTITIONS)  += part.o
 obj-$(CONFIG_$(SPL_)MAC_PARTITION)   += part_mac.o
 obj-$(CONFIG_$(SPL_)DOS_PARTITION)   += part_dos.o
 obj-$(CONFIG_$(SPL_)ISO_PARTITION)   += part_iso.o
index 9ca6ac2fb59d13253af6fdd742e3b36a508d0a39..d17dfb676f79758ea300cc298e5ac959019c132c 100644 (file)
@@ -7,11 +7,6 @@ CONFIG_FEC_MXC
 CONFIG_MII
        Must be defined if CONFIG_FEC_MXC is defined.
 
-CONFIG_FEC_XCV_TYPE
-       Defaults to MII100 for 100 Base-tx.
-       RGMII selects 1000 Base-tx reduced pin count interface.
-       RMII selects 100 Base-tx reduced pin count interface.
-
 CONFIG_FEC_MXC_SWAP_PACKET
        Forced on iff MX28.
        Swaps the bytes order of all words(4 byte units) in the packet.
diff --git a/doc/develop/event.rst b/doc/develop/event.rst
new file mode 100644 (file)
index 0000000..6e144cf
--- /dev/null
@@ -0,0 +1,66 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+Events
+======
+
+U-Boot supports a way for various events to be handled by interested
+subsystems. This provide a generic way to handle 'hooks' like setting up the
+CPUs after driver model is active, or reading a partition table after a new
+block device is probed.
+
+Rather than using weak functions and direct calls across subsystemss, it is
+often easier to use an event.
+
+An event consists of a type (e.g. EVT_DM_POST_INIT) and some optional data,
+in `union event_data`. An event spy can be creasted to watch for events of a
+particular type. When the event is created, it is sent to each spy in turn.
+
+
+Declaring a spy
+---------------
+
+To declare a spy, use something like this::
+
+    static int snow_setup_cpus(void *ctx, struct event *event)
+    {
+        /* do something */
+        return 0;
+    }
+    EVENT_SPY(EVT_DM_POST_INIT, snow_setup_cpus);
+
+Your function is called when EVT_DM_POST_INIT is emitted, i.e. after driver
+model is inited (in SPL, or in U-Boot proper before and after relocation).
+
+
+Debugging
+---------
+
+To assist with debugging events, enable `CONFIG_EVENT_DEBUG` and
+`CONFIG_CMD_EVENT`. The :doc:`../usage/event` command can then be used to
+provide a spy list.
+
+It is also possible to list spy information from the U-Boot executable,, using
+the `event_dump.py` script::
+
+    $ scripts/event_dump.py /tmp/b/sandbox/u-boot
+    Event type            Id                              Source location
+    --------------------  ------------------------------  ------------------------------
+    EVT_MISC_INIT_F       f:sandbox_misc_init_f           arch/sandbox/cpu/start.c:125
+
+This shows each event spy in U-Boot, along with the event type, function name
+(or ID) and source location.
+
+Note that if `CONFIG_EVENT_DEBUG` is not enabled, the event ID is missing, so
+the function is shown instead (with an `f:` prefix as above). Since the ID is
+generally the same as the function name, this does not matter much.
+
+The event type is decoded by the symbol used by U-Boot for the event linker
+list. Symbols have the form::
+
+    _u_boot_list_2_evspy_info_2_EVT_MISC_INIT_F
+
+so the event type can be read from the end. To manually list spy information
+in an image, use $(CROSS_COMPILE)nm::
+
+    nm u-boot |grep evspy |grep list
+    00000000002d6300 D _u_boot_list_2_evspy_info_2_EVT_MISC_INIT_F
index 93ebfa485f5fe7d21bd3b3762206a9a0bd12c142..2e6d6c302a592a18c12ebab5e0bfa5e0baf4d377 100644 (file)
@@ -17,6 +17,7 @@ Implementation
    distro
    driver-model/index
    environment
+   event
    global_data
    logging
    makefiles
index 3f99f1d9c0b6f615f2c7bb10556cbd9c3640c076..1e209ff197d6d1737423a03eb9343895bb1647f3 100644 (file)
@@ -77,4 +77,15 @@ If the pylint version is updated in CI, this may result in needing to regenerate
 `scripts/pylint.base`.
 
 
+Checking for errors
+-------------------
+
+If you only want to check for pylint errors, use::
+
+   PYTHONPATH=/path/to/scripts/dtc/pylibfdt/ make pylint_err
+
+This will show only pylint errors. Note that you must set PYTHONPATH to point
+to the pylibfdt directory build by U-Boot (typically the sandbox_spl board). If
+you have used `make qcheck` then it sill be in `board-sandbox_spl`.
+
 .. _`PEP 8`: https://www.python.org/dev/peps/pep-0008/
index 92572eabb58b972263422c8c5a11924159e2d05d..0a7886da24cb00d4d38657222956f9c3aece7212 100644 (file)
@@ -1,234 +1,2 @@
-System Control and Management Interface (SCMI) Message Protocol
-----------------------------------------------------------
-
-The SCMI is intended to allow agents such as OSPM to manage various functions
-that are provided by the hardware platform it is running on, including power
-and performance functions.
-
-This binding is intended to define the interface the firmware implementing
-the SCMI as described in ARM document number ARM DEN 0056A ("ARM System Control
-and Management Interface Platform Design Document")[0] provide for OSPM in
-the device tree.
-
-Required properties:
-
-The scmi node with the following properties shall be under the /firmware/ node.
-
-- compatible : shall be "arm,scmi" or "arm,scmi-smc" for smc/hvc transports,
-         or "linaro,scmi-optee" for OP-TEE transport.
-- mboxes: List of phandle and mailbox channel specifiers. It should contain
-         exactly one or two mailboxes, one for transmitting messages("tx")
-         and another optional for receiving the notifications("rx") if
-         supported.
-- shmem : List of phandle pointing to the shared memory(SHM) area as per
-         generic mailbox client binding.
-- #address-cells : should be '1' if the device has sub-nodes, maps to
-         protocol identifier for a given sub-node.
-- #size-cells : should be '0' as 'reg' property doesn't have any size
-         associated with it.
-- arm,smc-id : SMC id required when using smc or hvc transports
-- linaro,optee-channel-id : Channel specifier required when using OP-TEE
-         transport.
-
-Optional properties:
-
-- mbox-names: shall be "tx" or "rx" depending on mboxes entries.
-
-See Documentation/devicetree/bindings/mailbox/mailbox.txt for more details
-about the generic mailbox controller and client driver bindings.
-Mailbox doorbell is used as a mechanism to alert the presence of a
-messages and/or notification.
-
-Each protocol supported shall have a sub-node with corresponding compatible
-as described in the following sections. If the platform supports dedicated
-communication channel for a particular protocol, properties shall be present
-in the sub-node corresponding to that protocol. These properties are:
-- mboxes, mbox-names and shmem for mailbox transport
-- arm,smc-id and shmem for smc/hvc transport
-- linaro,optee-channel-id and possibly shmem for OP-TEE transport
-
-Clock/Performance bindings for the clocks/OPPs based on SCMI Message Protocol
-------------------------------------------------------------
-
-This binding uses the common clock binding[1].
-
-Required properties:
-- #clock-cells : Should be 1. Contains the Clock ID value used by SCMI commands.
-
-Power domain bindings for the power domains based on SCMI Message Protocol
-------------------------------------------------------------
-
-This binding for the SCMI power domain providers uses the generic power
-domain binding[2].
-
-Required properties:
- - #power-domain-cells : Should be 1. Contains the device or the power
-                        domain ID value used by SCMI commands.
-
-Regulator bindings for the SCMI Regulator based on SCMI Message Protocol
-------------------------------------------------------------
-An SCMI Regulator is permanently bound to a well defined SCMI Voltage Domain,
-and should be always positioned as a root regulator.
-It does not support any current operation.
-
-SCMI Regulators are grouped under a 'regulators' node which in turn is a child
-of the SCMI Voltage protocol node inside the desired SCMI instance node.
-
-This binding uses the common regulator binding[6].
-
-Required properties:
- - reg : shall identify an existent SCMI Voltage Domain.
-
-Sensor bindings for the sensors based on SCMI Message Protocol
---------------------------------------------------------------
-SCMI provides an API to access the various sensors on the SoC.
-
-Required properties:
-- #thermal-sensor-cells: should be set to 1. This property follows the
-                        thermal device tree bindings[3].
-
-                        Valid cell values are raw identifiers (Sensor ID)
-                        as used by the firmware. Refer to  platform details
-                        for your implementation for the IDs to use.
-
-Reset signal bindings for the reset domains based on SCMI Message Protocol
-------------------------------------------------------------
-
-This binding for the SCMI reset domain providers uses the generic reset
-signal binding[5].
-
-Required properties:
- - #reset-cells : Should be 1. Contains the reset domain ID value used
-                 by SCMI commands.
-
-SRAM and Shared Memory for SCMI
--------------------------------
-
-A small area of SRAM is reserved for SCMI communication between application
-processors and SCP.
-
-The properties should follow the generic mmio-sram description found in [4]
-
-Each sub-node represents the reserved area for SCMI.
-
-Required sub-node properties:
-- reg : The base offset and size of the reserved area with the SRAM
-- compatible : should be "arm,scmi-shmem" for Non-secure SRAM based
-              shared memory
-
-[0] http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/index.html
-[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
-[2] Documentation/devicetree/bindings/power/power-domain.yaml
-[3] Documentation/devicetree/bindings/thermal/thermal.txt
-[4] Documentation/devicetree/bindings/sram/sram.yaml
-[5] Documentation/devicetree/bindings/reset/reset.txt
-[6] Documentation/devicetree/bindings/regulator/regulator.yaml
-
-Example:
-
-sram@50000000 {
-       compatible = "mmio-sram";
-       reg = <0x0 0x50000000 0x0 0x10000>;
-
-       #address-cells = <1>;
-       #size-cells = <1>;
-       ranges = <0 0x0 0x50000000 0x10000>;
-
-       cpu_scp_lpri: scp-shmem@0 {
-               compatible = "arm,scmi-shmem";
-               reg = <0x0 0x200>;
-       };
-
-       cpu_scp_hpri: scp-shmem@200 {
-               compatible = "arm,scmi-shmem";
-               reg = <0x200 0x200>;
-       };
-};
-
-mailbox@40000000 {
-       ....
-       #mbox-cells = <1>;
-       reg = <0x0 0x40000000 0x0 0x10000>;
-};
-
-firmware {
-
-       ...
-
-       scmi {
-               compatible = "arm,scmi";
-               mboxes = <&mailbox 0 &mailbox 1>;
-               mbox-names = "tx", "rx";
-               shmem = <&cpu_scp_lpri &cpu_scp_hpri>;
-               #address-cells = <1>;
-               #size-cells = <0>;
-
-               scmi_devpd: protocol@11 {
-                       reg = <0x11>;
-                       #power-domain-cells = <1>;
-               };
-
-               scmi_dvfs: protocol@13 {
-                       reg = <0x13>;
-                       #clock-cells = <1>;
-               };
-
-               scmi_clk: protocol@14 {
-                       reg = <0x14>;
-                       #clock-cells = <1>;
-               };
-
-               scmi_sensors0: protocol@15 {
-                       reg = <0x15>;
-                       #thermal-sensor-cells = <1>;
-               };
-
-               scmi_reset: protocol@16 {
-                       reg = <0x16>;
-                       #reset-cells = <1>;
-               };
-
-               scmi_voltage: protocol@17 {
-                       reg = <0x17>;
-
-                       regulators {
-                               regulator_devX: regulator@0 {
-                                       reg = <0x0>;
-                                       regulator-max-microvolt = <3300000>;
-                               };
-
-                               regulator_devY: regulator@9 {
-                                       reg = <0x9>;
-                                       regulator-min-microvolt = <500000>;
-                                       regulator-max-microvolt = <4200000>;
-                               };
-
-                               ...
-                       };
-               };
-       };
-};
-
-cpu@0 {
-       ...
-       reg = <0 0>;
-       clocks = <&scmi_dvfs 0>;
-};
-
-hdlcd@7ff60000 {
-       ...
-       reg = <0 0x7ff60000 0 0x1000>;
-       clocks = <&scmi_clk 4>;
-       power-domains = <&scmi_devpd 1>;
-       resets = <&scmi_reset 10>;
-};
-
-thermal-zones {
-       soc_thermal {
-               polling-delay-passive = <100>;
-               polling-delay = <1000>;
-                                       /* sensor ID */
-               thermal-sensors = <&scmi_sensors0 3>;
-               ...
-       };
-};
+See Binding in Linux documentation:
+Documentation/devicetree/bindings/firmware/arm,scmi.yaml
diff --git a/doc/usage/event.rst b/doc/usage/event.rst
new file mode 100644 (file)
index 0000000..c0f8acd
--- /dev/null
@@ -0,0 +1,49 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+event command
+=============
+
+Synopsis
+--------
+
+::
+
+    event list
+
+Description
+-----------
+
+The event command provides spy list.
+
+This shows the following information:
+
+Seq
+    Sequence number of the spy, numbered from 0
+
+Type
+    Type of the spy, both as a number and a label. If `CONFIG_EVENT_DEBUG` is
+    not enabled, the label just shows `(unknown)`.
+
+Function
+    Address of the function to call
+
+ID
+    ID string for this event, if `CONFIG_EVENT_DEBUG` is enabled. Otherwise this
+    just shows `?`.
+
+
+See :doc:`../develop/event` for more information on events.
+
+Example
+-------
+
+::
+
+    => event list
+    Seq  Type                              Function  ID
+      0  7   misc_init_f               55a070517c68  ?
+
+Configuration
+-------------
+
+The event command is only available if CONFIG_CMD_EVENT=y.
index 630a6cb28ab2ac37d87b6265c99c5c2a4008ff68..5b42579dfc644945b6c05848795df108c49d89a5 100644 (file)
@@ -29,6 +29,7 @@ Shell commands
    x86/cbsysinfo
    conitrace
    echo
+   event
    exception
    extension
    exit
index bee1cd6f0d806c86d05b5b5172fafcf7fe8aaadc..f9f05f4e341c93a8924b38d79d7744d526cfd4a6 100644 (file)
@@ -712,7 +712,7 @@ int blk_unbind_all(int if_type)
 
 static int blk_post_probe(struct udevice *dev)
 {
-       if (IS_ENABLED(CONFIG_PARTITIONS) &&
+       if (CONFIG_IS_ENABLED(PARTITIONS) &&
            IS_ENABLED(CONFIG_HAVE_BLOCK_DEVICE)) {
                struct blk_desc *desc = dev_get_uclass_plat(dev);
 
index 53925ce9b6921da543eb06baec519edf61db9df8..1388498a1d34ecce5dad57adf794e811dedfdd69 100644 (file)
@@ -125,9 +125,14 @@ int host_dev_bind(int devnum, char *filename, bool removable)
 
        fd = os_open(filename, OS_O_RDWR);
        if (fd == -1) {
-               printf("Failed to access host backing file '%s'\n", filename);
-               ret = -ENOENT;
-               goto err;
+               printf("Failed to access host backing file '%s', trying read-only\n",
+                      filename);
+               fd = os_open(filename, OS_O_RDONLY);
+               if (fd == -1) {
+                       printf("- still failed\n");
+                       ret = -ENOENT;
+                       goto err;
+               }
        }
        ret = blk_create_device(gd->dm_root, "sandbox_host_blk", str,
                                IF_TYPE_HOST, devnum, 512,
index 65c052fc2e768a5116628954cf37dd959ef17958..66ce4cc29baafffd1b1d949c8dac62cdec3ae898 100644 (file)
@@ -127,6 +127,13 @@ config DM_BOOTCOUNT_I2C_EEPROM
          pointing to the underlying i2c eeprom device) and an optional 'offset'
          property are supported.
 
+config DM_BOOTCOUNT_PMIC_PFUZE100
+       bool "Enable Bootcount driver for PMIC PFUZE100"
+       depends on DM_PMIC_PFUZE100
+       help
+         Enable support for the bootcounter using PMIC PFUZE100 registers.
+         This works only, if the PMIC is not connected.
+
 config DM_BOOTCOUNT_SPI_FLASH
        bool "Support SPI flash devices as a backing store for bootcount"
        depends on DM_SPI_FLASH
index 3a784bb0a6412753b9ceae669482163983880fdc..b65959a384b9cf05d27d58587f75644c56802456 100644 (file)
@@ -11,6 +11,7 @@ obj-$(CONFIG_BOOTCOUNT_EXT)   += bootcount_ext.o
 obj-$(CONFIG_BOOTCOUNT_AM33XX_NVMEM)   += bootcount_nvmem.o
 
 obj-$(CONFIG_DM_BOOTCOUNT)      += bootcount-uclass.o
+obj-$(CONFIG_DM_BOOTCOUNT_PMIC_PFUZE100) += pmic_pfuze100.o
 obj-$(CONFIG_DM_BOOTCOUNT_RTC)  += rtc.o
 obj-$(CONFIG_DM_BOOTCOUNT_I2C_EEPROM)  += i2c-eeprom.o
 obj-$(CONFIG_DM_BOOTCOUNT_SPI_FLASH)   += spi-flash.o
diff --git a/drivers/bootcount/pmic_pfuze100.c b/drivers/bootcount/pmic_pfuze100.c
new file mode 100644 (file)
index 0000000..ad3bc03
--- /dev/null
@@ -0,0 +1,161 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2018-2022 Denx Software Engineering GmbH
+ * Heiko Schocher <hs@denx.de>
+ * Philip Oberfichtner <pro@denx.de>
+ *
+ * A bootcount driver using the registers MEMA - MEMD on the PFUZE100.
+ * This works only, if the PMIC is not connected.
+ */
+
+#include <common.h>
+#include <bootcount.h>
+#include <dm.h>
+#include <power/pmic.h>
+#include <power/pfuze100_pmic.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+#define PFUZE_BC_MAGIC 0xdead
+
+struct bootcount_pmic_priv {
+       struct udevice *pmic;
+};
+
+static int pfuze100_get_magic(struct udevice *dev, u32 *magic)
+{
+       int ret;
+
+       ret = pmic_reg_read(dev, PFUZE100_MEMA);
+       if (ret < 0)
+               return ret;
+       *magic = ret;
+
+       ret = pmic_reg_read(dev, PFUZE100_MEMB);
+       if (ret < 0)
+               return ret;
+       *magic += ret << 8;
+
+       return 0;
+}
+
+static int pfuze100_set_magic(struct udevice *dev)
+{
+       int ret;
+
+       ret = pmic_reg_write(dev, PFUZE100_MEMA, PFUZE_BC_MAGIC & 0xff);
+       if (ret)
+               return ret;
+
+       ret = pmic_reg_write(dev, PFUZE100_MEMB, (PFUZE_BC_MAGIC >> 8) & 0xff);
+       return ret;
+}
+
+static int pfuze100_get_value(struct udevice *dev, u32 *a)
+{
+       int ret;
+
+       ret = pmic_reg_read(dev, PFUZE100_MEMC);
+       if (ret < 0)
+               return ret;
+       *a = ret;
+
+       ret = pmic_reg_read(dev, PFUZE100_MEMD);
+       if (ret < 0)
+               return ret;
+       *a += ret << 8;
+
+       return 0;
+}
+
+static int pfuze100_set_value(struct udevice *dev, u32 val)
+{
+       int ret;
+
+       ret = pmic_reg_write(dev, PFUZE100_MEMC, val & 0xff);
+       if (ret)
+               return ret;
+
+       ret = pmic_reg_write(dev, PFUZE100_MEMD, (val >> 8) & 0xff);
+       return ret;
+}
+
+static int bootcount_pmic_set(struct udevice *dev, const u32 a)
+{
+       struct bootcount_pmic_priv *priv = dev_get_priv(dev);
+
+       if (pfuze100_set_magic(priv->pmic)) {
+               debug("%s: writing magic failed\n", __func__);
+               return -EIO;
+       }
+
+       if (pfuze100_set_value(priv->pmic, a)) {
+               debug("%s: writing value failed\n", __func__);
+               return -EIO;
+       }
+
+       return 0;
+}
+
+static int bootcount_pmic_get(struct udevice *dev, u32 *a)
+{
+       struct bootcount_pmic_priv *priv = dev_get_priv(dev);
+       u32 magic;
+
+       if (pfuze100_get_magic(priv->pmic, &magic)) {
+               debug("%s: reading magic failed\n", __func__);
+               return -EIO;
+       }
+
+       if (magic != PFUZE_BC_MAGIC) {
+               *a = 0;
+               return 0;
+       }
+
+       if (pfuze100_get_value(priv->pmic, a)) {
+               debug("%s: reading value failed\n", __func__);
+               return -EIO;
+       }
+
+       return 0;
+}
+
+static int bootcount_pmic_probe(struct udevice *dev)
+{
+       struct ofnode_phandle_args phandle_args;
+       struct bootcount_pmic_priv *priv = dev_get_priv(dev);
+       struct udevice *pmic;
+
+       if (dev_read_phandle_with_args(dev, "pmic", NULL, 0, 0, &phandle_args)) {
+               debug("%s: pmic backing device not specified\n", dev->name);
+               return -ENOENT;
+       }
+
+       if (uclass_get_device_by_ofnode(UCLASS_PMIC, phandle_args.node, &pmic)) {
+               debug("%s: could not get backing device\n", dev->name);
+               return -ENODEV;
+       }
+
+       priv->pmic = pmic;
+
+       return 0;
+}
+
+static const struct bootcount_ops bootcount_pmic_ops = {
+       .get = bootcount_pmic_get,
+       .set = bootcount_pmic_set,
+};
+
+static const struct udevice_id bootcount_pmic_ids[] = {
+       { .compatible = "u-boot,bootcount-pmic" },
+       { }
+};
+
+U_BOOT_DRIVER(bootcount_pmic) = {
+       .name   = "bootcount-pmic",
+       .id     = UCLASS_BOOTCOUNT,
+       .priv_auto      = sizeof(struct bootcount_pmic_priv),
+       .probe  = bootcount_pmic_probe,
+       .of_match = bootcount_pmic_ids,
+       .ops    = &bootcount_pmic_ops,
+};
index 9a0a6f66434438c682281695dc1c5acc0ac5b459..57022685e23355636602e1934e9d58bd2b9c7510 100644 (file)
 #include <scmi_agent.h>
 #include <scmi_protocols.h>
 #include <asm/types.h>
+#include <linux/clk-provider.h>
+
+static int scmi_clk_get_num_clock(struct udevice *dev, size_t *num_clocks)
+{
+       struct scmi_clk_protocol_attr_out out;
+       struct scmi_msg msg = {
+               .protocol_id = SCMI_PROTOCOL_ID_CLOCK,
+               .message_id = SCMI_PROTOCOL_ATTRIBUTES,
+               .out_msg = (u8 *)&out,
+               .out_msg_sz = sizeof(out),
+       };
+       int ret;
+
+       ret = devm_scmi_process_msg(dev, &msg);
+       if (ret)
+               return ret;
+
+       *num_clocks = out.attributes & SCMI_CLK_PROTO_ATTR_COUNT_MASK;
+
+       return 0;
+}
+
+static int scmi_clk_get_attibute(struct udevice *dev, int clkid, char **name)
+{
+       struct scmi_clk_attribute_in in = {
+               .clock_id = clkid,
+       };
+       struct scmi_clk_attribute_out out;
+       struct scmi_msg msg = {
+               .protocol_id = SCMI_PROTOCOL_ID_CLOCK,
+               .message_id = SCMI_CLOCK_ATTRIBUTES,
+               .in_msg = (u8 *)&in,
+               .in_msg_sz = sizeof(in),
+               .out_msg = (u8 *)&out,
+               .out_msg_sz = sizeof(out),
+       };
+       int ret;
+
+       ret = devm_scmi_process_msg(dev, &msg);
+       if (ret)
+               return ret;
+
+       *name = out.clock_name;
+
+       return 0;
+}
 
 static int scmi_clk_gate(struct clk *clk, int enable)
 {
@@ -24,7 +70,7 @@ static int scmi_clk_gate(struct clk *clk, int enable)
                                          in, out);
        int ret;
 
-       ret = devm_scmi_process_msg(clk->dev->parent, &msg);
+       ret = devm_scmi_process_msg(clk->dev, &msg);
        if (ret)
                return ret;
 
@@ -52,7 +98,7 @@ static ulong scmi_clk_get_rate(struct clk *clk)
                                          in, out);
        int ret;
 
-       ret = devm_scmi_process_msg(clk->dev->parent, &msg);
+       ret = devm_scmi_process_msg(clk->dev, &msg);
        if (ret < 0)
                return ret;
 
@@ -77,7 +123,7 @@ static ulong scmi_clk_set_rate(struct clk *clk, ulong rate)
                                          in, out);
        int ret;
 
-       ret = devm_scmi_process_msg(clk->dev->parent, &msg);
+       ret = devm_scmi_process_msg(clk->dev, &msg);
        if (ret < 0)
                return ret;
 
@@ -88,6 +134,49 @@ static ulong scmi_clk_set_rate(struct clk *clk, ulong rate)
        return scmi_clk_get_rate(clk);
 }
 
+static int scmi_clk_probe(struct udevice *dev)
+{
+       struct clk *clk;
+       size_t num_clocks, i;
+       int ret;
+
+       if (!CONFIG_IS_ENABLED(CLK_CCF))
+               return 0;
+
+       /* register CCF children: CLK UCLASS, no probed again */
+       if (device_get_uclass_id(dev->parent) == UCLASS_CLK)
+               return 0;
+
+       ret = scmi_clk_get_num_clock(dev, &num_clocks);
+       if (ret)
+               return ret;
+
+       for (i = 0; i < num_clocks; i++) {
+               char *name;
+
+               if (!scmi_clk_get_attibute(dev, i, &name)) {
+                       char *clock_name = strdup(name);
+
+                       clk = kzalloc(sizeof(*clk), GFP_KERNEL);
+                       if (!clk || !clock_name)
+                               ret = -ENOMEM;
+                       else
+                               ret = clk_register(clk, dev->driver->name,
+                                                  clock_name, dev->name);
+
+                       if (ret) {
+                               free(clk);
+                               free(clock_name);
+                               return ret;
+                       }
+
+                       clk_dm(i, clk);
+               }
+       }
+
+       return 0;
+}
+
 static const struct clk_ops scmi_clk_ops = {
        .enable = scmi_clk_enable,
        .disable = scmi_clk_disable,
@@ -99,4 +188,5 @@ U_BOOT_DRIVER(scmi_clock) = {
        .name = "scmi_clk",
        .id = UCLASS_CLK,
        .ops = &scmi_clk_ops,
+       .probe = &scmi_clk_probe,
 };
index 8f7703c8b580c972b2f185eb97e9af5e04360230..5c3400417f96dce4e6238ed12ed9027f7c550320 100644 (file)
@@ -77,6 +77,16 @@ config DM_DEVICE_REMOVE
          it causes unplugged devices to linger around in the dm-tree, and it
          causes USB host controllers to not be stopped when booting the OS.
 
+config DM_EVENT
+       bool "Support events with driver model"
+       depends on DM
+       imply EVENT
+       default y if SANDBOX
+       help
+         This enables support for generating events related to driver model
+         operations, such as prbing or removing a device. Subsystems can
+         register a 'spy' function that is called when the event occurs.
+
 config SPL_DM_DEVICE_REMOVE
        bool "Support device removal in SPL"
        depends on SPL_DM
index e6ec6ff42121af3d659902839bee5bc1ca4b948f..73d2e9e4208180a72d3874d1e74c06526552c6dd 100644 (file)
@@ -207,6 +207,10 @@ int device_remove(struct udevice *dev, uint flags)
        if (!(dev_get_flags(dev) & DM_FLAG_ACTIVATED))
                return 0;
 
+       ret = device_notify(dev, EVT_DM_PRE_REMOVE);
+       if (ret)
+               return ret;
+
        /*
         * If the child returns EKEYREJECTED, continue. It just means that it
         * didn't match the flags.
@@ -256,6 +260,10 @@ int device_remove(struct udevice *dev, uint flags)
 
        dev_bic_flags(dev, DM_FLAG_ACTIVATED);
 
+       ret = device_notify(dev, EVT_DM_POST_REMOVE);
+       if (ret)
+               goto err_remove;
+
        return 0;
 
 err_remove:
index 901c1e2f7db3fc8e18b5c4d0e3bd4823ed038fb2..1b356f12dd813a9a6384445d777f997a8d123954 100644 (file)
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <cpu_func.h>
+#include <event.h>
 #include <log.h>
 #include <asm/global_data.h>
 #include <asm/io.h>
@@ -493,6 +494,10 @@ int device_probe(struct udevice *dev)
        if (dev_get_flags(dev) & DM_FLAG_ACTIVATED)
                return 0;
 
+       ret = device_notify(dev, EVT_DM_PRE_PROBE);
+       if (ret)
+               return ret;
+
        drv = dev->driver;
        assert(drv);
 
@@ -597,6 +602,10 @@ int device_probe(struct udevice *dev)
                                  dev->name, ret, errno_str(ret));
        }
 
+       ret = device_notify(dev, EVT_DM_POST_PROBE);
+       if (ret)
+               return ret;
+
        return 0;
 fail_uclass:
        if (device_remove(dev, DM_REMOVE_NORMAL)) {
index 709bea272a6eed0b4ac8256b1e3f62c1a29fc3f4..8042847f3c1483132087fa2afe26d4a9cff07016 100644 (file)
@@ -898,6 +898,42 @@ int ofnode_read_pci_vendev(ofnode node, u16 *vendor, u16 *device)
        return -ENOENT;
 }
 
+int ofnode_read_eth_phy_id(ofnode node, u16 *vendor, u16 *device)
+{
+       const char *list, *end;
+       int len;
+
+       list = ofnode_get_property(node, "compatible", &len);
+
+       if (!list)
+               return -ENOENT;
+
+       end = list + len;
+       while (list < end) {
+               len = strlen(list);
+
+               if (len >= strlen("ethernet-phy-idVVVV,DDDD")) {
+                       char *s = strstr(list, "ethernet-phy-id");
+
+                       /*
+                        * check if the string is something like
+                        * ethernet-phy-idVVVV,DDDD
+                        */
+                       if (s && s[19] == '.') {
+                               s += strlen("ethernet-phy-id");
+                               *vendor = simple_strtol(s, NULL, 16);
+                               s += 5;
+                               *device = simple_strtol(s, NULL, 16);
+
+                               return 0;
+                       }
+               }
+               list += (len + 1);
+       }
+
+       return -ENOENT;
+}
+
 int ofnode_read_addr_cells(ofnode node)
 {
        if (ofnode_is_np(node)) {
index e3f87956d866e1debb0e496843b92669e092a0dd..8efb4256b27e8c83944777531de877f801c5f6ee 100644 (file)
@@ -404,6 +404,11 @@ int dm_init_and_scan(bool pre_reloc_only)
                        return ret;
                }
        }
+       if (CONFIG_IS_ENABLED(DM_EVENT)) {
+               ret = event_notify_null(EVT_DM_POST_INIT);
+               if (ret)
+                       return log_msg_ret("ev", ret);
+       }
 
        return 0;
 }
index b0e6df8be4124e7f181a605adc7330ad0095321a..277167060432cf5421296990c3e81e9bfca04ee7 100644 (file)
@@ -49,6 +49,10 @@ config SYS_NUM_DDR_CTLRS
                        ARCH_LX2162A
        default 1
 
+config CHIP_SELECTS_PER_CTRL
+       int "Number of chip selects per controller"
+       default 4
+
 config SYS_FSL_DDR_VER
        int
        default 50 if SYS_FSL_DDR_VER_50
index 9cacea88d0cb9ebfd94a63fb967ebbcbd5744b6d..0af5460421193b035215ffc693890d72f8e60afe 100644 (file)
@@ -68,6 +68,13 @@ config APBH_DMA
        help
          Enable APBH DMA driver.
 
+config XILINX_DPDMA
+       bool "Enable ZynqMP Display Port DMA driver"
+       depends on DMA && ZYNQMP_POWER_DOMAIN
+       help
+         Enable support for Xilinx ZynqMP Display DMA driver. Currently
+         this file is used as placeholder for driver. The main reason is
+         to record compatible string and calling power domain driver.
 
 if APBH_DMA
 config APBH_DMA_BURST
index afab324461b906c560e139b8e811bacc8ca70cd3..a75572fe5dec31073363f09dbae4ee4bf4b3fdf5 100644 (file)
@@ -13,5 +13,6 @@ obj-$(CONFIG_SANDBOX_DMA) += sandbox-dma-test.o
 obj-$(CONFIG_TI_KSNAV) += keystone_nav.o keystone_nav_cfg.o
 obj-$(CONFIG_TI_EDMA3) += ti-edma3.o
 obj-$(CONFIG_DMA_LPC32XX) += lpc32xx_dma.o
+obj-$(CONFIG_XILINX_DPDMA) += xilinx_dpdma.o
 
 obj-y += ti/
diff --git a/drivers/dma/xilinx_dpdma.c b/drivers/dma/xilinx_dpdma.c
new file mode 100644 (file)
index 0000000..d4ee21d
--- /dev/null
@@ -0,0 +1,43 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2021 Xilinx Inc.
+ */
+
+#include <common.h>
+#include <cpu_func.h>
+#include <dm.h>
+#include <dma.h>
+#include <dma-uclass.h>
+#include <errno.h>
+#include <dm/device_compat.h>
+
+/**
+ * struct zynqmp_dpdma_priv - Private structure
+ * @dev: Device uclass for video_ops
+ */
+struct zynqmp_dpdma_priv {
+       struct udevice *dev;
+};
+
+static int zynqmp_dpdma_probe(struct udevice *dev)
+{
+       /* Only placeholder for power domain driver */
+       return 0;
+}
+
+static const struct dma_ops zynqmp_dpdma_ops = {
+};
+
+static const struct udevice_id zynqmp_dpdma_ids[] = {
+       { .compatible = "xlnx,zynqmp-dpdma" },
+       { }
+};
+
+U_BOOT_DRIVER(zynqmp_dpdma) = {
+       .name = "zynqmp_dpdma",
+       .id = UCLASS_DMA,
+       .of_match = zynqmp_dpdma_ids,
+       .ops = &zynqmp_dpdma_ops,
+       .probe = zynqmp_dpdma_probe,
+       .priv_auto = sizeof(struct zynqmp_dpdma_priv),
+};
index 8d8492d99f7e96fc14705e3d426bd61d4607e3de..8916c558963519f67093767300f55b6d50593d35 100644 (file)
@@ -140,6 +140,57 @@ unsigned int zynqmp_firmware_version(void)
        return pm_api_version;
 };
 
+int zynqmp_pm_set_sd_config(u32 node, enum pm_sd_config_type config, u32 value)
+{
+       int ret;
+
+       ret = xilinx_pm_request(PM_IOCTL, node, IOCTL_SET_SD_CONFIG,
+                               config, value, NULL);
+       if (ret)
+               printf("%s: node %d: set_sd_config %d failed\n",
+                      __func__, node, config);
+
+       return ret;
+}
+
+int zynqmp_pm_is_function_supported(const u32 api_id, const u32 id)
+{
+       int ret;
+       u32 *bit_mask;
+       u32 ret_payload[PAYLOAD_ARG_CNT];
+
+       /* Input arguments validation */
+       if (id >= 64 || (api_id != PM_IOCTL && api_id != PM_QUERY_DATA))
+               return -EINVAL;
+
+       /* Check feature check API version */
+       ret = xilinx_pm_request(PM_FEATURE_CHECK, PM_FEATURE_CHECK, 0, 0, 0,
+                               ret_payload);
+       if (ret)
+               return ret;
+
+       /* Check if feature check version 2 is supported or not */
+       if ((ret_payload[1] & FIRMWARE_VERSION_MASK) == PM_API_VERSION_2) {
+               /*
+                * Call feature check for IOCTL/QUERY API to get IOCTL ID or
+                * QUERY ID feature status.
+                */
+
+               ret = xilinx_pm_request(PM_FEATURE_CHECK, api_id, 0, 0, 0,
+                                       ret_payload);
+               if (ret)
+                       return ret;
+
+               bit_mask = &ret_payload[2];
+               if ((bit_mask[(id / 32)] & BIT((id % 32))) == 0)
+                       return -EOPNOTSUPP;
+       } else {
+               return -ENODATA;
+       }
+
+       return 0;
+}
+
 /**
  * Send a configuration object to the PMU firmware.
  *
index 4b968205c2f8d29b3c3dd425e79dd79481abd880..c555164d1961013164efd7ef4e64ab1ddabfed9c 100644 (file)
  * The sandbox SCMI agent driver simulates to some extend a SCMI message
  * processing. It simulates few of the SCMI services for some of the
  * SCMI protocols embedded in U-Boot. Currently:
- * - SCMI clock protocol: emulate 2 agents each exposing few clocks
- * - SCMI reset protocol: emulate 1 agent exposing a reset controller
- * - SCMI voltage domain protocol: emulate 1 agent exposing 2 regulators
+ * - SCMI clock protocol emulates an agent exposing 2 clocks
+ * - SCMI reset protocol emulates an agent exposing a reset controller
+ * - SCMI voltage domain protocol emulates an agent exposing 2 regulators
  *
- * Agent #0 simulates 2 clocks, 1 reset domain and 1 voltage domain.
- * See IDs in scmi0_clk[]/scmi0_reset[] and "sandbox-scmi-agent@0" in test.dts.
- *
- * Agent #1 simulates 1 clock.
- * See IDs in scmi1_clk[] and "sandbox-scmi-agent@1" in test.dts.
+ * As per DT bindings, the device node name shall be scmi.
  *
  * All clocks and regulators are default disabled and reset controller down.
  *
- * This Driver exports sandbox_scmi_service_ctx() for the test sequence to
+ * This driver exports sandbox_scmi_service_ctx() for the test sequence to
  * get the state of the simulated services (clock state, rate, ...) and
  * check back-end device state reflects the request send through the
  * various uclass devices, as clocks and reset controllers.
  */
 
-#define SANDBOX_SCMI_AGENT_COUNT       2
-
-static struct sandbox_scmi_clk scmi0_clk[] = {
-       { .id = 7, .rate = 1000 },
-       { .id = 3, .rate = 333 },
+static struct sandbox_scmi_clk scmi_clk[] = {
+       { .rate = 333 },
+       { .rate = 200 },
+       { .rate = 1000 },
 };
 
-static struct sandbox_scmi_reset scmi0_reset[] = {
+static struct sandbox_scmi_reset scmi_reset[] = {
        { .id = 3 },
 };
 
-static struct sandbox_scmi_voltd scmi0_voltd[] = {
+static struct sandbox_scmi_voltd scmi_voltd[] = {
        { .id = 0, .voltage_uv = 3300000 },
        { .id = 1, .voltage_uv = 1800000 },
 };
 
-static struct sandbox_scmi_clk scmi1_clk[] = {
-       { .id = 1, .rate = 44 },
-};
-
-/* The list saves to simulted end devices references for test purpose */
-struct sandbox_scmi_agent *sandbox_scmi_agent_list[SANDBOX_SCMI_AGENT_COUNT];
-
-static struct sandbox_scmi_service sandbox_scmi_service_state = {
-       .agent = sandbox_scmi_agent_list,
-       .agent_count = SANDBOX_SCMI_AGENT_COUNT,
-};
+static struct sandbox_scmi_service sandbox_scmi_service_state;
 
 struct sandbox_scmi_service *sandbox_scmi_service_ctx(void)
 {
@@ -74,9 +59,8 @@ static void debug_print_agent_state(struct udevice *dev, char *str)
 {
        struct sandbox_scmi_agent *agent = dev_get_priv(dev);
 
-       dev_dbg(dev, "Dump sandbox_scmi_agent %u: %s\n", agent->idx, str);
-       dev_dbg(dev, " scmi%u_clk   (%zu): %d/%ld, %d/%ld, %d/%ld, ...\n",
-               agent->idx,
+       dev_dbg(dev, "Dump sandbox_scmi_agent: %s\n", str);
+       dev_dbg(dev, " scmi_clk   (%zu): %d/%ld, %d/%ld, %d/%ld, ...\n",
                agent->clk_count,
                agent->clk_count ? agent->clk[0].enabled : -1,
                agent->clk_count ? agent->clk[0].rate : -1,
@@ -84,13 +68,11 @@ static void debug_print_agent_state(struct udevice *dev, char *str)
                agent->clk_count > 1 ? agent->clk[1].rate : -1,
                agent->clk_count > 2 ? agent->clk[2].enabled : -1,
                agent->clk_count > 2 ? agent->clk[2].rate : -1);
-       dev_dbg(dev, " scmi%u_reset (%zu): %d, %d, ...\n",
-               agent->idx,
+       dev_dbg(dev, " scmi_reset (%zu): %d, %d, ...\n",
                agent->reset_count,
                agent->reset_count ? agent->reset[0].asserted : -1,
                agent->reset_count > 1 ? agent->reset[1].asserted : -1);
-       dev_dbg(dev, " scmi%u_voltd (%zu): %u/%d, %u/%d, ...\n",
-               agent->idx,
+       dev_dbg(dev, " scmi_voltd (%zu): %u/%d, %u/%d, ...\n",
                agent->voltd_count,
                agent->voltd_count ? agent->voltd[0].enabled : -1,
                agent->voltd_count ? agent->voltd[0].voltage_uv : -1,
@@ -98,56 +80,32 @@ static void debug_print_agent_state(struct udevice *dev, char *str)
                agent->voltd_count ? agent->voltd[1].voltage_uv : -1);
 };
 
-static struct sandbox_scmi_clk *get_scmi_clk_state(uint agent_id, uint clock_id)
+static struct sandbox_scmi_clk *get_scmi_clk_state(uint clock_id)
 {
-       struct sandbox_scmi_clk *target = NULL;
-       size_t target_count = 0;
-       size_t n;
-
-       switch (agent_id) {
-       case 0:
-               target = scmi0_clk;
-               target_count = ARRAY_SIZE(scmi0_clk);
-               break;
-       case 1:
-               target = scmi1_clk;
-               target_count = ARRAY_SIZE(scmi1_clk);
-               break;
-       default:
-               return NULL;
-       }
-
-       for (n = 0; n < target_count; n++)
-               if (target[n].id == clock_id)
-                       return target + n;
+       if (clock_id < ARRAY_SIZE(scmi_clk))
+               return scmi_clk + clock_id;
 
        return NULL;
 }
 
-static struct sandbox_scmi_reset *get_scmi_reset_state(uint agent_id,
-                                                      uint reset_id)
+static struct sandbox_scmi_reset *get_scmi_reset_state(uint reset_id)
 {
        size_t n;
 
-       if (agent_id == 0) {
-               for (n = 0; n < ARRAY_SIZE(scmi0_reset); n++)
-                       if (scmi0_reset[n].id == reset_id)
-                               return scmi0_reset + n;
-       }
+       for (n = 0; n < ARRAY_SIZE(scmi_reset); n++)
+               if (scmi_reset[n].id == reset_id)
+                       return scmi_reset + n;
 
        return NULL;
 }
 
-static struct sandbox_scmi_voltd *get_scmi_voltd_state(uint agent_id,
-                                                      uint domain_id)
+static struct sandbox_scmi_voltd *get_scmi_voltd_state(uint domain_id)
 {
        size_t n;
 
-       if (agent_id == 0) {
-               for (n = 0; n < ARRAY_SIZE(scmi0_voltd); n++)
-                       if (scmi0_voltd[n].id == domain_id)
-                               return scmi0_voltd + n;
-       }
+       for (n = 0; n < ARRAY_SIZE(scmi_voltd); n++)
+               if (scmi_voltd[n].id == domain_id)
+                       return scmi_voltd + n;
 
        return NULL;
 }
@@ -156,10 +114,58 @@ static struct sandbox_scmi_voltd *get_scmi_voltd_state(uint agent_id,
  * Sandbox SCMI agent ops
  */
 
+static int sandbox_scmi_clock_protocol_attribs(struct udevice *dev,
+                                              struct scmi_msg *msg)
+{
+       struct scmi_clk_protocol_attr_out *out = NULL;
+
+       if (!msg->out_msg || msg->out_msg_sz < sizeof(*out))
+               return -EINVAL;
+
+       out = (struct scmi_clk_protocol_attr_out *)msg->out_msg;
+       out->attributes = ARRAY_SIZE(scmi_clk);
+       out->status = SCMI_SUCCESS;
+
+       return 0;
+}
+
+static int sandbox_scmi_clock_attribs(struct udevice *dev, struct scmi_msg *msg)
+{
+       struct scmi_clk_attribute_in *in = NULL;
+       struct scmi_clk_attribute_out *out = NULL;
+       struct sandbox_scmi_clk *clk_state = NULL;
+       int ret;
+
+       if (!msg->in_msg || msg->in_msg_sz < sizeof(*in) ||
+           !msg->out_msg || msg->out_msg_sz < sizeof(*out))
+               return -EINVAL;
+
+       in = (struct scmi_clk_attribute_in *)msg->in_msg;
+       out = (struct scmi_clk_attribute_out *)msg->out_msg;
+
+       clk_state = get_scmi_clk_state(in->clock_id);
+       if (!clk_state) {
+               dev_err(dev, "Unexpected clock ID %u\n", in->clock_id);
+
+               out->status = SCMI_NOT_FOUND;
+       } else {
+               memset(out, 0, sizeof(*out));
+
+               if (clk_state->enabled)
+                       out->attributes = 1;
+
+               ret = snprintf(out->clock_name, sizeof(out->clock_name),
+                              "clk%u", in->clock_id);
+               assert(ret > 0 && ret < sizeof(out->clock_name));
+
+               out->status = SCMI_SUCCESS;
+       }
+
+       return 0;
+}
 static int sandbox_scmi_clock_rate_set(struct udevice *dev,
                                       struct scmi_msg *msg)
 {
-       struct sandbox_scmi_agent *agent = dev_get_priv(dev);
        struct scmi_clk_rate_set_in *in = NULL;
        struct scmi_clk_rate_set_out *out = NULL;
        struct sandbox_scmi_clk *clk_state = NULL;
@@ -171,7 +177,7 @@ static int sandbox_scmi_clock_rate_set(struct udevice *dev,
        in = (struct scmi_clk_rate_set_in *)msg->in_msg;
        out = (struct scmi_clk_rate_set_out *)msg->out_msg;
 
-       clk_state = get_scmi_clk_state(agent->idx, in->clock_id);
+       clk_state = get_scmi_clk_state(in->clock_id);
        if (!clk_state) {
                dev_err(dev, "Unexpected clock ID %u\n", in->clock_id);
 
@@ -190,7 +196,6 @@ static int sandbox_scmi_clock_rate_set(struct udevice *dev,
 static int sandbox_scmi_clock_rate_get(struct udevice *dev,
                                       struct scmi_msg *msg)
 {
-       struct sandbox_scmi_agent *agent = dev_get_priv(dev);
        struct scmi_clk_rate_get_in *in = NULL;
        struct scmi_clk_rate_get_out *out = NULL;
        struct sandbox_scmi_clk *clk_state = NULL;
@@ -202,7 +207,7 @@ static int sandbox_scmi_clock_rate_get(struct udevice *dev,
        in = (struct scmi_clk_rate_get_in *)msg->in_msg;
        out = (struct scmi_clk_rate_get_out *)msg->out_msg;
 
-       clk_state = get_scmi_clk_state(agent->idx, in->clock_id);
+       clk_state = get_scmi_clk_state(in->clock_id);
        if (!clk_state) {
                dev_err(dev, "Unexpected clock ID %u\n", in->clock_id);
 
@@ -219,7 +224,6 @@ static int sandbox_scmi_clock_rate_get(struct udevice *dev,
 
 static int sandbox_scmi_clock_gate(struct udevice *dev, struct scmi_msg *msg)
 {
-       struct sandbox_scmi_agent *agent = dev_get_priv(dev);
        struct scmi_clk_state_in *in = NULL;
        struct scmi_clk_state_out *out = NULL;
        struct sandbox_scmi_clk *clk_state = NULL;
@@ -231,7 +235,7 @@ static int sandbox_scmi_clock_gate(struct udevice *dev, struct scmi_msg *msg)
        in = (struct scmi_clk_state_in *)msg->in_msg;
        out = (struct scmi_clk_state_out *)msg->out_msg;
 
-       clk_state = get_scmi_clk_state(agent->idx, in->clock_id);
+       clk_state = get_scmi_clk_state(in->clock_id);
        if (!clk_state) {
                dev_err(dev, "Unexpected clock ID %u\n", in->clock_id);
 
@@ -249,7 +253,6 @@ static int sandbox_scmi_clock_gate(struct udevice *dev, struct scmi_msg *msg)
 
 static int sandbox_scmi_rd_attribs(struct udevice *dev, struct scmi_msg *msg)
 {
-       struct sandbox_scmi_agent *agent = dev_get_priv(dev);
        struct scmi_rd_attr_in *in = NULL;
        struct scmi_rd_attr_out *out = NULL;
        struct sandbox_scmi_reset *reset_state = NULL;
@@ -261,7 +264,7 @@ static int sandbox_scmi_rd_attribs(struct udevice *dev, struct scmi_msg *msg)
        in = (struct scmi_rd_attr_in *)msg->in_msg;
        out = (struct scmi_rd_attr_out *)msg->out_msg;
 
-       reset_state = get_scmi_reset_state(agent->idx, in->domain_id);
+       reset_state = get_scmi_reset_state(in->domain_id);
        if (!reset_state) {
                dev_err(dev, "Unexpected reset domain ID %u\n", in->domain_id);
 
@@ -278,7 +281,6 @@ static int sandbox_scmi_rd_attribs(struct udevice *dev, struct scmi_msg *msg)
 
 static int sandbox_scmi_rd_reset(struct udevice *dev, struct scmi_msg *msg)
 {
-       struct sandbox_scmi_agent *agent = dev_get_priv(dev);
        struct scmi_rd_reset_in *in = NULL;
        struct scmi_rd_reset_out *out = NULL;
        struct sandbox_scmi_reset *reset_state = NULL;
@@ -290,7 +292,7 @@ static int sandbox_scmi_rd_reset(struct udevice *dev, struct scmi_msg *msg)
        in = (struct scmi_rd_reset_in *)msg->in_msg;
        out = (struct scmi_rd_reset_out *)msg->out_msg;
 
-       reset_state = get_scmi_reset_state(agent->idx, in->domain_id);
+       reset_state = get_scmi_reset_state(in->domain_id);
        if (!reset_state) {
                dev_err(dev, "Unexpected reset domain ID %u\n", in->domain_id);
 
@@ -321,7 +323,6 @@ static int sandbox_scmi_rd_reset(struct udevice *dev, struct scmi_msg *msg)
 
 static int sandbox_scmi_voltd_attribs(struct udevice *dev, struct scmi_msg *msg)
 {
-       struct sandbox_scmi_agent *agent = dev_get_priv(dev);
        struct scmi_voltd_attr_in *in = NULL;
        struct scmi_voltd_attr_out *out = NULL;
        struct sandbox_scmi_voltd *voltd_state = NULL;
@@ -333,7 +334,7 @@ static int sandbox_scmi_voltd_attribs(struct udevice *dev, struct scmi_msg *msg)
        in = (struct scmi_voltd_attr_in *)msg->in_msg;
        out = (struct scmi_voltd_attr_out *)msg->out_msg;
 
-       voltd_state = get_scmi_voltd_state(agent->idx, in->domain_id);
+       voltd_state = get_scmi_voltd_state(in->domain_id);
        if (!voltd_state) {
                dev_err(dev, "Unexpected domain ID %u\n", in->domain_id);
 
@@ -351,7 +352,6 @@ static int sandbox_scmi_voltd_attribs(struct udevice *dev, struct scmi_msg *msg)
 static int sandbox_scmi_voltd_config_set(struct udevice *dev,
                                         struct scmi_msg *msg)
 {
-       struct sandbox_scmi_agent *agent = dev_get_priv(dev);
        struct scmi_voltd_config_set_in *in = NULL;
        struct scmi_voltd_config_set_out *out = NULL;
        struct sandbox_scmi_voltd *voltd_state = NULL;
@@ -363,7 +363,7 @@ static int sandbox_scmi_voltd_config_set(struct udevice *dev,
        in = (struct scmi_voltd_config_set_in *)msg->in_msg;
        out = (struct scmi_voltd_config_set_out *)msg->out_msg;
 
-       voltd_state = get_scmi_voltd_state(agent->idx, in->domain_id);
+       voltd_state = get_scmi_voltd_state(in->domain_id);
        if (!voltd_state) {
                dev_err(dev, "Unexpected domain ID %u\n", in->domain_id);
 
@@ -388,7 +388,6 @@ static int sandbox_scmi_voltd_config_set(struct udevice *dev,
 static int sandbox_scmi_voltd_config_get(struct udevice *dev,
                                         struct scmi_msg *msg)
 {
-       struct sandbox_scmi_agent *agent = dev_get_priv(dev);
        struct scmi_voltd_config_get_in *in = NULL;
        struct scmi_voltd_config_get_out *out = NULL;
        struct sandbox_scmi_voltd *voltd_state = NULL;
@@ -400,7 +399,7 @@ static int sandbox_scmi_voltd_config_get(struct udevice *dev,
        in = (struct scmi_voltd_config_get_in *)msg->in_msg;
        out = (struct scmi_voltd_config_get_out *)msg->out_msg;
 
-       voltd_state = get_scmi_voltd_state(agent->idx, in->domain_id);
+       voltd_state = get_scmi_voltd_state(in->domain_id);
        if (!voltd_state) {
                dev_err(dev, "Unexpected domain ID %u\n", in->domain_id);
 
@@ -420,7 +419,6 @@ static int sandbox_scmi_voltd_config_get(struct udevice *dev,
 static int sandbox_scmi_voltd_level_set(struct udevice *dev,
                                         struct scmi_msg *msg)
 {
-       struct sandbox_scmi_agent *agent = dev_get_priv(dev);
        struct scmi_voltd_level_set_in *in = NULL;
        struct scmi_voltd_level_set_out *out = NULL;
        struct sandbox_scmi_voltd *voltd_state = NULL;
@@ -432,7 +430,7 @@ static int sandbox_scmi_voltd_level_set(struct udevice *dev,
        in = (struct scmi_voltd_level_set_in *)msg->in_msg;
        out = (struct scmi_voltd_level_set_out *)msg->out_msg;
 
-       voltd_state = get_scmi_voltd_state(agent->idx, in->domain_id);
+       voltd_state = get_scmi_voltd_state(in->domain_id);
        if (!voltd_state) {
                dev_err(dev, "Unexpected domain ID %u\n", in->domain_id);
 
@@ -448,7 +446,6 @@ static int sandbox_scmi_voltd_level_set(struct udevice *dev,
 static int sandbox_scmi_voltd_level_get(struct udevice *dev,
                                        struct scmi_msg *msg)
 {
-       struct sandbox_scmi_agent *agent = dev_get_priv(dev);
        struct scmi_voltd_level_get_in *in = NULL;
        struct scmi_voltd_level_get_out *out = NULL;
        struct sandbox_scmi_voltd *voltd_state = NULL;
@@ -460,7 +457,7 @@ static int sandbox_scmi_voltd_level_get(struct udevice *dev,
        in = (struct scmi_voltd_level_get_in *)msg->in_msg;
        out = (struct scmi_voltd_level_get_out *)msg->out_msg;
 
-       voltd_state = get_scmi_voltd_state(agent->idx, in->domain_id);
+       voltd_state = get_scmi_voltd_state(in->domain_id);
        if (!voltd_state) {
                dev_err(dev, "Unexpected domain ID %u\n", in->domain_id);
 
@@ -479,6 +476,10 @@ static int sandbox_scmi_test_process_msg(struct udevice *dev,
        switch (msg->protocol_id) {
        case SCMI_PROTOCOL_ID_CLOCK:
                switch (msg->message_id) {
+               case SCMI_PROTOCOL_ATTRIBUTES:
+                       return sandbox_scmi_clock_protocol_attribs(dev, msg);
+               case SCMI_CLOCK_ATTRIBUTES:
+                       return sandbox_scmi_clock_attribs(dev, msg);
                case SCMI_CLOCK_RATE_SET:
                        return sandbox_scmi_clock_rate_set(dev, msg);
                case SCMI_CLOCK_RATE_GET:
@@ -541,52 +542,37 @@ static int sandbox_scmi_test_remove(struct udevice *dev)
 {
        struct sandbox_scmi_agent *agent = dev_get_priv(dev);
 
+       if (agent != sandbox_scmi_service_ctx()->agent)
+               return -EINVAL;
+
        debug_print_agent_state(dev, "removed");
 
        /* We only need to dereference the agent in the context */
-       sandbox_scmi_service_ctx()->agent[agent->idx] = NULL;
+       sandbox_scmi_service_ctx()->agent = NULL;
 
        return 0;
 }
 
 static int sandbox_scmi_test_probe(struct udevice *dev)
 {
-       static const char basename[] = "sandbox-scmi-agent@";
        struct sandbox_scmi_agent *agent = dev_get_priv(dev);
-       const size_t basename_size = sizeof(basename) - 1;
-
-       if (strncmp(basename, dev->name, basename_size))
-               return -ENOENT;
-
-       switch (dev->name[basename_size]) {
-       case '0':
-               *agent = (struct sandbox_scmi_agent){
-                       .idx = 0,
-                       .clk = scmi0_clk,
-                       .clk_count = ARRAY_SIZE(scmi0_clk),
-                       .reset = scmi0_reset,
-                       .reset_count = ARRAY_SIZE(scmi0_reset),
-                       .voltd = scmi0_voltd,
-                       .voltd_count = ARRAY_SIZE(scmi0_voltd),
-               };
-               break;
-       case '1':
-               *agent = (struct sandbox_scmi_agent){
-                       .idx = 1,
-                       .clk = scmi1_clk,
-                       .clk_count = ARRAY_SIZE(scmi1_clk),
-               };
-               break;
-       default:
-               dev_err(dev, "%s(): Unexpected agent ID %s\n",
-                       __func__, dev->name + basename_size);
-               return -ENOENT;
-       }
+
+       if (sandbox_scmi_service_ctx()->agent)
+               return -EINVAL;
+
+       *agent = (struct sandbox_scmi_agent){
+               .clk = scmi_clk,
+               .clk_count = ARRAY_SIZE(scmi_clk),
+               .reset = scmi_reset,
+               .reset_count = ARRAY_SIZE(scmi_reset),
+               .voltd = scmi_voltd,
+               .voltd_count = ARRAY_SIZE(scmi_voltd),
+       };
 
        debug_print_agent_state(dev, "probed");
 
        /* Save reference for tests purpose */
-       sandbox_scmi_service_ctx()->agent[agent->idx] = agent;
+       sandbox_scmi_service_ctx()->agent = agent;
 
        return 0;
 };
index 66a67928817f83950795fb3f80efe957b07008be..9baeb469ec0ace74bd662b8ca7a30ff3ef6f05d1 100644 (file)
@@ -23,7 +23,7 @@
  * and reset controllers.
  */
 
-#define SCMI_TEST_DEVICES_CLK_COUNT            3
+#define SCMI_TEST_DEVICES_CLK_COUNT            2
 #define SCMI_TEST_DEVICES_RD_COUNT             1
 #define SCMI_TEST_DEVICES_VOLTD_COUNT          2
 
@@ -135,7 +135,7 @@ U_BOOT_DRIVER(sandbox_scmi_devices) = {
        .name = "sandbox-scmi_devices",
        .id = UCLASS_MISC,
        .of_match = sandbox_scmi_devices_ids,
-       .priv_auto      = sizeof(struct sandbox_scmi_device_priv),
+       .priv_auto = sizeof(struct sandbox_scmi_device_priv),
        .remove = sandbox_scmi_devices_remove,
        .probe = sandbox_scmi_devices_probe,
 };
index 4f5870b483806da3e056aa50d3b4bf7bbe7877ca..3819f2fa993e57b5841be2f7d2595f054e7dc977 100644 (file)
@@ -116,10 +116,23 @@ static const struct scmi_agent_ops *transport_dev_ops(struct udevice *dev)
 
 int devm_scmi_process_msg(struct udevice *dev, struct scmi_msg *msg)
 {
-       const struct scmi_agent_ops *ops = transport_dev_ops(dev);
+       const struct scmi_agent_ops *ops;
+       struct udevice *parent = dev;
+
+       /* Find related SCMI agent device */
+       do {
+               parent = dev_get_parent(parent);
+       } while (parent && device_get_uclass_id(parent) != UCLASS_SCMI_AGENT);
+
+       if (!parent) {
+               dev_err(dev, "Invalid SCMI device, agent not found\n");
+               return -ENODEV;
+       }
+
+       ops = transport_dev_ops(parent);
 
        if (ops->process_msg)
-               return ops->process_msg(dev, msg);
+               return ops->process_msg(parent, msg);
 
        return -EPROTONOSUPPORT;
 }
index 522dfc195ecde8931e4efba5768ed83b7a204627..c3f110933a04d2766fc05df28faf2e3f27cc008f 100644 (file)
@@ -87,7 +87,8 @@ config ALTERA_PIO
 config BCM6345_GPIO
        bool "BCM6345 GPIO driver"
        depends on DM_GPIO && (ARCH_BMIPS || ARCH_BCM68360 || \
-                              ARCH_BCM6858 || ARCH_BCM63158)
+                              ARCH_BCM6858 || ARCH_BCM63158 || \
+                              ARCH_BCM6753)
        help
          This driver supports the GPIO banks on BCM6345 SoCs.
 
@@ -126,6 +127,13 @@ config ATMEL_PIO4
          may be dedicated as a general purpose I/O or be assigned to
          a function of an embedded peripheral.
 
+config ASPEED_GPIO
+       bool "Aspeed GPIO Driver"
+       help
+         Say yes here to support the Aspeed GPIO driver. The controller
+         is found in the AST2400, AST2500 and AST2600 BMC SoCs and
+         provides access to over 200 GPIOs on each chip.
+
 config DA8XX_GPIO
        bool "DA8xx GPIO Driver"
        help
@@ -550,4 +558,12 @@ config SL28CPLD_GPIO
        help
          Support GPIO access on Kontron sl28cpld board management controllers.
 
+config SLG7XL45106_I2C_GPO
+       bool "slg7xl45106 i2c gpo expander"
+       depends on DM_GPIO
+       help
+          Support for slg7xl45106 i2c gpo expander. It is an i2c based
+          8-bit gpo expander, all gpo lines are controlled by writing
+          value into data register.
+
 endif
index 33f7d41b7db6a7a4ebbf93bc31152ae856093fc2..b39dde12abfe35db6becd50bb001a6b6306c9d64 100644 (file)
@@ -12,6 +12,7 @@ obj-$(CONFIG_$(SPL_TPL_)DM_GPIO) += gpio-uclass.o
 
 obj-$(CONFIG_$(SPL_)DM_PCA953X)        += pca953x_gpio.o
 
+obj-$(CONFIG_ASPEED_GPIO)      += gpio-aspeed.o
 obj-$(CONFIG_AT91_GPIO)        += at91_gpio.o
 obj-$(CONFIG_ATMEL_PIO4)       += atmel_pio4.o
 obj-$(CONFIG_BCM6345_GPIO)     += bcm6345_gpio.o
@@ -72,3 +73,4 @@ obj-$(CONFIG_NOMADIK_GPIO)    += nmk_gpio.o
 obj-$(CONFIG_MAX7320_GPIO)     += max7320_gpio.o
 obj-$(CONFIG_SL28CPLD_GPIO)    += sl28cpld-gpio.o
 obj-$(CONFIG_ZYNQMP_GPIO_MODEPIN)      += zynqmp_gpio_modepin.o
+obj-$(CONFIG_SLG7XL45106_I2C_GPO)      += gpio_slg7xl45106.o
diff --git a/drivers/gpio/gpio-aspeed.c b/drivers/gpio/gpio-aspeed.c
new file mode 100644 (file)
index 0000000..a8a2afc
--- /dev/null
@@ -0,0 +1,299 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright 2015 IBM Corp.
+ * Joel Stanley <joel@jms.id.au>
+ * Ryan Chen <ryan_chen@aspeedtech.com>
+ *
+ * Implementation extracted from the Linux kernel and adapted for u-boot.
+ */
+#include <common.h>
+#include <asm/io.h>
+#include <asm/gpio.h>
+
+#include <config.h>
+#include <common.h>
+#include <clk.h>
+#include <dm.h>
+#include <asm/io.h>
+#include <linux/bug.h>
+#include <linux/sizes.h>
+
+struct aspeed_gpio_priv {
+       void *regs;
+};
+
+struct aspeed_gpio_bank {
+       u16             val_regs;       /* +0: Rd: read input value, Wr: set write latch
+                                        * +4: Rd/Wr: Direction (0=in, 1=out)
+                                        */
+       u16             rdata_reg;      /*     Rd: read write latch, Wr: <none>  */
+       u16             irq_regs;
+       u16             debounce_regs;
+       u16             tolerance_regs;
+       u16             cmdsrc_regs;
+       const char      names[4][3];
+};
+
+static const struct aspeed_gpio_bank aspeed_gpio_banks[] = {
+       {
+               .val_regs = 0x0000,
+               .rdata_reg = 0x00c0,
+               .irq_regs = 0x0008,
+               .debounce_regs = 0x0040,
+               .tolerance_regs = 0x001c,
+               .cmdsrc_regs = 0x0060,
+               .names = { "A", "B", "C", "D" },
+       },
+       {
+               .val_regs = 0x0020,
+               .rdata_reg = 0x00c4,
+               .irq_regs = 0x0028,
+               .debounce_regs = 0x0048,
+               .tolerance_regs = 0x003c,
+               .cmdsrc_regs = 0x0068,
+               .names = { "E", "F", "G", "H" },
+       },
+       {
+               .val_regs = 0x0070,
+               .rdata_reg = 0x00c8,
+               .irq_regs = 0x0098,
+               .debounce_regs = 0x00b0,
+               .tolerance_regs = 0x00ac,
+               .cmdsrc_regs = 0x0090,
+               .names = { "I", "J", "K", "L" },
+       },
+       {
+               .val_regs = 0x0078,
+               .rdata_reg = 0x00cc,
+               .irq_regs = 0x00e8,
+               .debounce_regs = 0x0100,
+               .tolerance_regs = 0x00fc,
+               .cmdsrc_regs = 0x00e0,
+               .names = { "M", "N", "O", "P" },
+       },
+       {
+               .val_regs = 0x0080,
+               .rdata_reg = 0x00d0,
+               .irq_regs = 0x0118,
+               .debounce_regs = 0x0130,
+               .tolerance_regs = 0x012c,
+               .cmdsrc_regs = 0x0110,
+               .names = { "Q", "R", "S", "T" },
+       },
+       {
+               .val_regs = 0x0088,
+               .rdata_reg = 0x00d4,
+               .irq_regs = 0x0148,
+               .debounce_regs = 0x0160,
+               .tolerance_regs = 0x015c,
+               .cmdsrc_regs = 0x0140,
+               .names = { "U", "V", "W", "X" },
+       },
+       {
+               .val_regs = 0x01E0,
+               .rdata_reg = 0x00d8,
+               .irq_regs = 0x0178,
+               .debounce_regs = 0x0190,
+               .tolerance_regs = 0x018c,
+               .cmdsrc_regs = 0x0170,
+               .names = { "Y", "Z", "AA", "AB" },
+       },
+       {
+               .val_regs = 0x01e8,
+               .rdata_reg = 0x00dc,
+               .irq_regs = 0x01a8,
+               .debounce_regs = 0x01c0,
+               .tolerance_regs = 0x01bc,
+               .cmdsrc_regs = 0x01a0,
+               .names = { "AC", "", "", "" },
+       },
+};
+
+enum aspeed_gpio_reg {
+       reg_val,
+       reg_rdata,
+       reg_dir,
+       reg_irq_enable,
+       reg_irq_type0,
+       reg_irq_type1,
+       reg_irq_type2,
+       reg_irq_status,
+       reg_debounce_sel1,
+       reg_debounce_sel2,
+       reg_tolerance,
+       reg_cmdsrc0,
+       reg_cmdsrc1,
+};
+
+#define GPIO_VAL_VALUE 0x00
+#define GPIO_VAL_DIR   0x04
+
+#define GPIO_IRQ_ENABLE        0x00
+#define GPIO_IRQ_TYPE0 0x04
+#define GPIO_IRQ_TYPE1 0x08
+#define GPIO_IRQ_TYPE2 0x0c
+#define GPIO_IRQ_STATUS        0x10
+
+#define GPIO_DEBOUNCE_SEL1 0x00
+#define GPIO_DEBOUNCE_SEL2 0x04
+
+#define GPIO_CMDSRC_0  0x00
+#define GPIO_CMDSRC_1  0x04
+#define  GPIO_CMDSRC_ARM               0
+#define  GPIO_CMDSRC_LPC               1
+#define  GPIO_CMDSRC_COLDFIRE          2
+#define  GPIO_CMDSRC_RESERVED          3
+
+/* This will be resolved at compile time */
+static inline void __iomem *bank_reg(struct aspeed_gpio_priv *gpio,
+                                    const struct aspeed_gpio_bank *bank,
+                                    const enum aspeed_gpio_reg reg)
+{
+       switch (reg) {
+       case reg_val:
+               return gpio->regs + bank->val_regs + GPIO_VAL_VALUE;
+       case reg_rdata:
+               return gpio->regs + bank->rdata_reg;
+       case reg_dir:
+               return gpio->regs + bank->val_regs + GPIO_VAL_DIR;
+       case reg_irq_enable:
+               return gpio->regs + bank->irq_regs + GPIO_IRQ_ENABLE;
+       case reg_irq_type0:
+               return gpio->regs + bank->irq_regs + GPIO_IRQ_TYPE0;
+       case reg_irq_type1:
+               return gpio->regs + bank->irq_regs + GPIO_IRQ_TYPE1;
+       case reg_irq_type2:
+               return gpio->regs + bank->irq_regs + GPIO_IRQ_TYPE2;
+       case reg_irq_status:
+               return gpio->regs + bank->irq_regs + GPIO_IRQ_STATUS;
+       case reg_debounce_sel1:
+               return gpio->regs + bank->debounce_regs + GPIO_DEBOUNCE_SEL1;
+       case reg_debounce_sel2:
+               return gpio->regs + bank->debounce_regs + GPIO_DEBOUNCE_SEL2;
+       case reg_tolerance:
+               return gpio->regs + bank->tolerance_regs;
+       case reg_cmdsrc0:
+               return gpio->regs + bank->cmdsrc_regs + GPIO_CMDSRC_0;
+       case reg_cmdsrc1:
+               return gpio->regs + bank->cmdsrc_regs + GPIO_CMDSRC_1;
+       }
+       BUG();
+}
+
+#define GPIO_BANK(x)   ((x) >> 5)
+#define GPIO_OFFSET(x) ((x) & 0x1f)
+#define GPIO_BIT(x)    BIT(GPIO_OFFSET(x))
+
+static const struct aspeed_gpio_bank *to_bank(unsigned int offset)
+{
+       unsigned int bank = GPIO_BANK(offset);
+
+       WARN_ON(bank >= ARRAY_SIZE(aspeed_gpio_banks));
+       return &aspeed_gpio_banks[bank];
+}
+
+static int
+aspeed_gpio_direction_input(struct udevice *dev, unsigned int offset)
+{
+       struct aspeed_gpio_priv *priv = dev_get_priv(dev);
+       const struct aspeed_gpio_bank *bank = to_bank(offset);
+       u32 dir = readl(bank_reg(priv, bank, reg_dir));
+
+       dir &= ~GPIO_BIT(offset);
+       writel(dir, bank_reg(priv, bank, reg_dir));
+
+       return 0;
+}
+
+static int aspeed_gpio_direction_output(struct udevice *dev, unsigned int offset,
+                                       int value)
+{
+       struct aspeed_gpio_priv *priv = dev_get_priv(dev);
+       const struct aspeed_gpio_bank *bank = to_bank(offset);
+       u32 dir = readl(bank_reg(priv, bank, reg_dir));
+       u32 output = readl(bank_reg(priv, bank, reg_val));
+
+       dir |= GPIO_BIT(offset);
+       writel(dir, bank_reg(priv, bank, reg_dir));
+
+       if (value)
+               output |= GPIO_BIT(offset);
+       else
+               output &= ~GPIO_BIT(offset);
+
+       writel(output, bank_reg(priv, bank, reg_val));
+
+       return 0;
+}
+
+static int aspeed_gpio_get_value(struct udevice *dev, unsigned int offset)
+{
+       struct aspeed_gpio_priv *priv = dev_get_priv(dev);
+       const struct aspeed_gpio_bank *bank = to_bank(offset);
+
+       return !!(readl(bank_reg(priv, bank, reg_val)) & GPIO_BIT(offset));
+}
+
+static int
+aspeed_gpio_set_value(struct udevice *dev, unsigned int offset, int value)
+{
+       struct aspeed_gpio_priv *priv = dev_get_priv(dev);
+       const struct aspeed_gpio_bank *bank = to_bank(offset);
+       u32 data = readl(bank_reg(priv, bank, reg_val));
+
+       if (value)
+               data |= GPIO_BIT(offset);
+       else
+               data &= ~GPIO_BIT(offset);
+
+       writel(data, bank_reg(priv, bank, reg_val));
+
+       return 0;
+}
+
+static int aspeed_gpio_get_function(struct udevice *dev, unsigned int offset)
+{
+       struct aspeed_gpio_priv *priv = dev_get_priv(dev);
+       const struct aspeed_gpio_bank *bank = to_bank(offset);
+
+       if (readl(bank_reg(priv, bank, reg_dir)) & GPIO_BIT(offset))
+               return GPIOF_OUTPUT;
+
+       return GPIOF_INPUT;
+}
+
+static const struct dm_gpio_ops aspeed_gpio_ops = {
+       .direction_input        = aspeed_gpio_direction_input,
+       .direction_output       = aspeed_gpio_direction_output,
+       .get_value              = aspeed_gpio_get_value,
+       .set_value              = aspeed_gpio_set_value,
+       .get_function           = aspeed_gpio_get_function,
+};
+
+static int aspeed_gpio_probe(struct udevice *dev)
+{
+       struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
+       struct aspeed_gpio_priv *priv = dev_get_priv(dev);
+
+       uc_priv->bank_name = dev->name;
+       ofnode_read_u32(dev_ofnode(dev), "ngpios", &uc_priv->gpio_count);
+       priv->regs = devfdt_get_addr_ptr(dev);
+
+       return 0;
+}
+
+static const struct udevice_id aspeed_gpio_ids[] = {
+       { .compatible = "aspeed,ast2400-gpio",  },
+       { .compatible = "aspeed,ast2500-gpio",  },
+       { .compatible = "aspeed,ast2600-gpio",  },
+       { }
+};
+
+U_BOOT_DRIVER(gpio_aspeed) = {
+       .name   = "gpio-aspeed",
+       .id     = UCLASS_GPIO,
+       .of_match = aspeed_gpio_ids,
+       .ops    = &aspeed_gpio_ops,
+       .probe  = aspeed_gpio_probe,
+       .priv_auto = sizeof(struct aspeed_gpio_priv),
+};
diff --git a/drivers/gpio/gpio_slg7xl45106.c b/drivers/gpio/gpio_slg7xl45106.c
new file mode 100644 (file)
index 0000000..2cbf748
--- /dev/null
@@ -0,0 +1,115 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * slg7xl45106_i2c_gpo driver
+ *
+ * Copyright (C) 2021 Xilinx, Inc.
+ */
+
+#include <common.h>
+#include <errno.h>
+#include <asm/io.h>
+#include <asm/gpio.h>
+#include <dm.h>
+#include <i2c.h>
+#include <asm/arch/hardware.h>
+
+#define SLG7XL45106_REG                0xdb
+
+static int slg7xl45106_i2c_gpo_direction_input(struct udevice *dev,
+                                              unsigned int offset)
+{
+       return 0;
+}
+
+static int slg7xl45106_i2c_gpo_xlate(struct udevice *dev,
+                                    struct gpio_desc *desc,
+                                    struct ofnode_phandle_args *args)
+{
+       desc->offset = (unsigned int)args->args[0];
+
+       return 0;
+}
+
+static int slg7xl45106_i2c_gpo_set_value(struct udevice *dev,
+                                        unsigned int offset, int value)
+{
+       int ret;
+       u8 val;
+
+       ret = dm_i2c_read(dev, SLG7XL45106_REG, &val, 1);
+       if (ret)
+               return ret;
+
+       if (value)
+               val |= BIT(offset);
+       else
+               val &= ~BIT(offset);
+
+       return dm_i2c_write(dev, SLG7XL45106_REG, &val, 1);
+}
+
+static int slg7xl45106_i2c_gpo_direction_output(struct udevice *dev,
+                                               unsigned int offset, int value)
+{
+       return slg7xl45106_i2c_gpo_set_value(dev, offset, value);
+}
+
+static int slg7xl45106_i2c_gpo_get_value(struct udevice *dev,
+                                        unsigned int offset)
+{
+       int ret;
+       u8 val;
+
+       ret = dm_i2c_read(dev, SLG7XL45106_REG, &val, 1);
+       if (ret)
+               return ret;
+
+       return !!(val & BIT(offset));
+}
+
+static int slg7xl45106_i2c_gpo_get_function(struct udevice *dev,
+                                           unsigned int offset)
+{
+       return GPIOF_OUTPUT;
+}
+
+static const struct dm_gpio_ops slg7xl45106_i2c_gpo_ops = {
+       .direction_input = slg7xl45106_i2c_gpo_direction_input,
+       .direction_output = slg7xl45106_i2c_gpo_direction_output,
+       .get_value = slg7xl45106_i2c_gpo_get_value,
+       .set_value = slg7xl45106_i2c_gpo_set_value,
+       .get_function = slg7xl45106_i2c_gpo_get_function,
+       .xlate = slg7xl45106_i2c_gpo_xlate,
+};
+
+static int slg7xl45106_i2c_gpo_probe(struct udevice *dev)
+{
+       struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
+       const void *label_ptr;
+
+       label_ptr = dev_read_prop(dev, "label", NULL);
+       if (label_ptr) {
+               uc_priv->bank_name = strdup(label_ptr);
+               if (!uc_priv->bank_name)
+                       return -ENOMEM;
+       } else {
+               uc_priv->bank_name = dev->name;
+       }
+
+       uc_priv->gpio_count = 8;
+
+       return 0;
+}
+
+static const struct udevice_id slg7xl45106_i2c_gpo_ids[] = {
+       { .compatible = "dlg,slg7xl45106",},
+       { }
+};
+
+U_BOOT_DRIVER(slg7xl45106_i2c_gpo) = {
+       .name = "slg7xl45106_i2c_gpo",
+       .id = UCLASS_GPIO,
+       .ops = &slg7xl45106_i2c_gpo_ops,
+       .of_match = slg7xl45106_i2c_gpo_ids,
+       .probe = slg7xl45106_i2c_gpo_probe,
+};
index a650dd69b89f4ed0f5a7e4e5220015c07338c8bf..0da9f6f35a9f9ea536aa683e9a5224eaf545b4ed 100644 (file)
@@ -251,24 +251,32 @@ static int cdns_i2c_write_data(struct i2c_cdns_bus *i2c_bus, u32 addr, u8 *data,
        u8 *cur_data = data;
        struct cdns_i2c_regs *regs = i2c_bus->regs;
        u32 ret;
+       bool start = 1;
 
        /* Set the controller in Master transmit mode and clear FIFO */
        setbits_le32(&regs->control, CDNS_I2C_CONTROL_CLR_FIFO);
        clrbits_le32(&regs->control, CDNS_I2C_CONTROL_RW);
 
-       /* Check message size against FIFO depth, and set hold bus bit
-        * if it is greater than FIFO depth
+       /*
+        * For sequential data load hold the bus.
         */
-       if (len > CDNS_I2C_FIFO_DEPTH)
+       if (len > 1)
                setbits_le32(&regs->control, CDNS_I2C_CONTROL_HOLD);
 
        /* Clear the interrupts in status register */
        writel(CDNS_I2C_INTERRUPTS_MASK, &regs->interrupt_status);
 
-       writel(addr, &regs->address);
+       /* In case of Probe (i.e no data), start the transfer */
+       if (!len)
+               writel(addr, &regs->address);
 
        while (len-- && !is_arbitration_lost(regs)) {
                writel(*(cur_data++), &regs->data);
+               /* Trigger write only after loading data */
+               if (start) {
+                       writel(addr, &regs->address);
+                       start = 0;
+               }
                if (len && readl(&regs->transfer_size) == CDNS_I2C_FIFO_DEPTH) {
                        ret = cdns_i2c_wait(regs, CDNS_I2C_INTERRUPT_COMP |
                                            CDNS_I2C_INTERRUPT_ARBLOST);
@@ -375,7 +383,6 @@ static int cdns_i2c_read_data(struct i2c_cdns_bus *i2c_bus, u32 addr, u8 *data,
                                curr_recv_count = recv_count;
                        }
                } else if (recv_count && !hold_quirk && !curr_recv_count) {
-                       writel(addr, &regs->address);
                        if (recv_count > CDNS_I2C_TRANSFER_SIZE) {
                                writel(CDNS_I2C_TRANSFER_SIZE,
                                       &regs->transfer_size);
@@ -384,6 +391,7 @@ static int cdns_i2c_read_data(struct i2c_cdns_bus *i2c_bus, u32 addr, u8 *data,
                                writel(recv_count, &regs->transfer_size);
                                curr_recv_count = recv_count;
                        }
+                       writel(addr, &regs->address);
                }
        }
 
index cc87fbf395b61ccf4bb2fcb86017e333e82b7647..430d0760ba5bd85e5d372f54d1d1d60ddef356fd 100644 (file)
@@ -28,6 +28,13 @@ config LED_BCM6358
          LED HW controller accessed via MMIO registers.
          HW has no blinking capabilities and up to 32 LEDs can be controlled.
 
+config LED_BCM6753
+       bool "LED Support for BCM6753"
+       depends on LED && ARCH_BCM6753
+       help
+         This option enables support for LEDs connected to the BCM6753
+         HW has blinking and fading capabilities and up to 32 LEDs can be controlled.
+
 config LED_BCM6858
        bool "LED Support for BCM6858"
        depends on LED && (ARCH_BCM68360 || ARCH_BCM6858 || ARCH_BCM63158)
index 8e3ae7f1465a810ad94acf5fc141aba84943cba9..2aa2c2173af1605175d30afa8413a38521ea05c0 100644 (file)
@@ -6,6 +6,7 @@
 obj-y += led-uclass.o
 obj-$(CONFIG_LED_BCM6328) += led_bcm6328.o
 obj-$(CONFIG_LED_BCM6358) += led_bcm6358.o
+obj-$(CONFIG_LED_BCM6753) += led_bcm6753.o
 obj-$(CONFIG_LED_BCM6858) += led_bcm6858.o
 obj-$(CONFIG_$(SPL_)LED_GPIO) += led_gpio.o
 obj-$(CONFIG_LED_CORTINA) += led_cortina.o
diff --git a/drivers/led/led_bcm6753.c b/drivers/led/led_bcm6753.c
new file mode 100644 (file)
index 0000000..a32bd82
--- /dev/null
@@ -0,0 +1,270 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2022 Philippe Reynes <philippe.reynes@softathome.com>
+ *
+ * based on:
+ * drivers/led/led_bcm6858.c
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <errno.h>
+#include <led.h>
+#include <log.h>
+#include <asm/io.h>
+#include <dm/lists.h>
+#include <linux/bitops.h>
+
+#define LEDS_MAX               32
+#define LEDS_WAIT              100
+
+/* LED Mode register */
+#define LED_MODE_REG           0x0
+#define LED_MODE_OFF           0
+#define LED_MODE_ON            1
+#define LED_MODE_MASK          1
+
+/* LED Controller Global settings register */
+#define CLED_CTRL_REG                  0x00
+#define CLED_CTRL_SERIAL_LED_DATA_PPOL BIT(1)
+#define CLED_CTRL_SERIAL_LED_CLK_POL   BIT(2)
+#define CLED_CTRL_SERIAL_LED_EN_POL    BIT(3)
+#define CLED_CTRL_SERIAL_LED_MSB_FIRST BIT(4)
+#define CLED_CTRL_MASK                 0x1E
+/* LED Controller IP LED source select register */
+#define CLED_HW_LED_EN_REG             0x04
+/* Hardware LED Polarity register */
+#define CLED_HW_LED_IP_PPOL_REG                0x0c
+/* Soft LED Set Register */
+#define CLED_SW_LED_IP_SET_REG         0x10
+/* Parallel LED Output Polarity Register */
+#define CLED_PLED_OP_PPOL_REG          0x18
+/* LED Channel activate register */
+#define CLED_LED_CH_ACTIVATE_REG       0x1c
+/* LED 0 Config 0 reg */
+#define CLED_LED_0_CONFIG_0            0x20
+/* Soft LED Clear Register */
+#define CLED_SW_LED_IP_CLEAR_REG       0x444
+/* Soft LED Status Register */
+#define CLED_SW_LED_IP_STATUS_REG      0x448
+
+/* Size of all registers used for the config of one LED */
+#define CLED_CONFIG_SIZE               (4 * sizeof(u32))
+
+#define CLED_CONFIG0_MODE              0
+#define CLED_CONFIG0_MODE_MASK         (BIT(0) | BIT(1))
+#define CLED_CONFIG0_MODE_STEADY       0
+#define CLED_CONFIG0_MODE_FADING       1
+#define CLED_CONFIG0_MODE_PULSATING    2
+
+#define CLED_CONFIG0_FLASH_CTRL_SHIFT  3
+#define CLED_CONFIG0_FLASH_CTRL_MASK   (BIT(3) | BIT(4) | BIT(5))
+
+struct bcm6753_led_priv {
+       void __iomem *regs;
+       u8 pin;
+};
+
+/*
+ * The value for flash rate are:
+ * 0 : no blinking
+ * 1 : rate is 25 Hz => 40 ms (period)
+ * 2 : rate is 12.5 Hz => 80 ms (period)
+ * 3 : rate is 6.25 Hz => 160 ms (period)
+ * 4 : rate is 3.125 Hz => 320 ms (period)
+ * 5 : rate is 1.5625 Hz => 640 ms (period)
+ * 6 : rate is 0.7815 Hz => 1280 ms (period)
+ * 7 : rate is 0.390625 Hz => 2560 ms (period)
+ */
+static const int bcm6753_flash_rate[8] = {
+       0, 40, 80, 160, 320, 640, 1280, 2560
+};
+
+static u32 bcm6753_flash_rate_value(int period_ms)
+{
+       unsigned long value = 7;
+       int i;
+
+       for (i = 0; i < ARRAY_SIZE(bcm6753_flash_rate); i++) {
+               if (period_ms <= bcm6753_flash_rate[i]) {
+                       value = i;
+                       break;
+               }
+       }
+
+       return value;
+}
+
+static int bcm6753_led_set_period(struct udevice *dev, int period_ms)
+{
+       struct bcm6753_led_priv *priv = dev_get_priv(dev);
+       u32 offset, shift, value;
+
+       offset = CLED_LED_0_CONFIG_0 + (CLED_CONFIG_SIZE * priv->pin);
+       value  = bcm6753_flash_rate_value(period_ms);
+       shift  = CLED_CONFIG0_FLASH_CTRL_SHIFT;
+
+       /* set mode steady */
+       clrbits_32(priv->regs + offset, CLED_CONFIG0_MODE_MASK);
+       setbits_32(priv->regs + offset, CLED_CONFIG0_MODE_STEADY);
+
+       /* set flash rate */
+       clrbits_32(priv->regs + offset, CLED_CONFIG0_FLASH_CTRL_MASK);
+       setbits_32(priv->regs + offset, value << shift);
+
+       /* enable config */
+       setbits_32(priv->regs + CLED_LED_CH_ACTIVATE_REG, 1 << priv->pin);
+
+       return 0;
+}
+
+static enum led_state_t bcm6753_led_get_state(struct udevice *dev)
+{
+       struct bcm6753_led_priv *priv = dev_get_priv(dev);
+       enum led_state_t state = LEDST_OFF;
+       u32 sw_led_ip_status;
+
+       sw_led_ip_status = readl(priv->regs + CLED_SW_LED_IP_STATUS_REG);
+       if (sw_led_ip_status & (1 << priv->pin))
+               state = LEDST_ON;
+
+       return state;
+}
+
+static int bcm6753_led_set_state(struct udevice *dev, enum led_state_t state)
+{
+       struct bcm6753_led_priv *priv = dev_get_priv(dev);
+
+       switch (state) {
+       case LEDST_OFF:
+               setbits_32(priv->regs + CLED_SW_LED_IP_CLEAR_REG, (1 << priv->pin));
+               if (IS_ENABLED(CONFIG_LED_BLINK))
+                       bcm6753_led_set_period(dev, 0);
+               break;
+       case LEDST_ON:
+               setbits_32(priv->regs + CLED_SW_LED_IP_SET_REG, (1 << priv->pin));
+               if (IS_ENABLED(CONFIG_LED_BLINK))
+                       bcm6753_led_set_period(dev, 0);
+               break;
+       case LEDST_TOGGLE:
+               if (bcm6753_led_get_state(dev) == LEDST_OFF)
+                       return bcm6753_led_set_state(dev, LEDST_ON);
+               else
+                       return bcm6753_led_set_state(dev, LEDST_OFF);
+               break;
+#ifdef CONFIG_LED_BLINK
+       case LEDST_BLINK:
+               setbits_32(priv->regs + CLED_SW_LED_IP_SET_REG, (1 << priv->pin));
+               break;
+#endif
+       default:
+               return -EINVAL;
+       }
+
+       return 0;
+}
+
+static const struct led_ops bcm6753_led_ops = {
+       .get_state = bcm6753_led_get_state,
+       .set_state = bcm6753_led_set_state,
+#ifdef CONFIG_LED_BLINK
+       .set_period = bcm6753_led_set_period,
+#endif
+};
+
+static int bcm6753_led_probe(struct udevice *dev)
+{
+       struct led_uc_plat *uc_plat = dev_get_uclass_plat(dev);
+
+       /* Top-level LED node */
+       if (!uc_plat->label) {
+               void __iomem *regs;
+               u32 set_bits = 0;
+
+               regs = dev_remap_addr(dev);
+               if (!regs)
+                       return -EINVAL;
+
+               if (dev_read_bool(dev, "brcm,serial-led-msb-first"))
+                       set_bits |= CLED_CTRL_SERIAL_LED_MSB_FIRST;
+               if (dev_read_bool(dev, "brcm,serial-led-en-pol"))
+                       set_bits |= CLED_CTRL_SERIAL_LED_EN_POL;
+               if (dev_read_bool(dev, "brcm,serial-led-clk-pol"))
+                       set_bits |= CLED_CTRL_SERIAL_LED_CLK_POL;
+               if (dev_read_bool(dev, "brcm,serial-led-data-ppol"))
+                       set_bits |= CLED_CTRL_SERIAL_LED_DATA_PPOL;
+
+               clrsetbits_32(regs + CLED_CTRL_REG, CLED_CTRL_MASK, set_bits);
+       } else {
+               struct bcm6753_led_priv *priv = dev_get_priv(dev);
+               void __iomem *regs;
+               unsigned int pin;
+
+               regs = dev_remap_addr(dev_get_parent(dev));
+               if (!regs)
+                       return -EINVAL;
+
+               pin = dev_read_u32_default(dev, "reg", LEDS_MAX);
+               if (pin >= LEDS_MAX)
+                       return -EINVAL;
+
+               priv->regs = regs;
+               priv->pin = pin;
+
+               /* this led is managed by software */
+               clrbits_32(regs + CLED_HW_LED_EN_REG, 1 << pin);
+
+               /* configure the polarity */
+               if (dev_read_bool(dev, "active-low"))
+                       clrbits_32(regs + CLED_PLED_OP_PPOL_REG, 1 << pin);
+               else
+                       setbits_32(regs + CLED_PLED_OP_PPOL_REG, 1 << pin);
+       }
+
+       return 0;
+}
+
+static int bcm6753_led_bind(struct udevice *parent)
+{
+       ofnode node;
+
+       dev_for_each_subnode(node, parent) {
+               struct led_uc_plat *uc_plat;
+               struct udevice *dev;
+               const char *label;
+               int ret;
+
+               label = ofnode_read_string(node, "label");
+               if (!label) {
+                       debug("%s: node %s has no label\n", __func__,
+                             ofnode_get_name(node));
+                       return -EINVAL;
+               }
+
+               ret = device_bind_driver_to_node(parent, "bcm6753-led",
+                                                ofnode_get_name(node),
+                                                node, &dev);
+               if (ret)
+                       return ret;
+
+               uc_plat = dev_get_uclass_plat(dev);
+               uc_plat->label = label;
+       }
+
+       return 0;
+}
+
+static const struct udevice_id bcm6753_led_ids[] = {
+       { .compatible = "brcm,bcm6753-leds" },
+       { /* sentinel */ }
+};
+
+U_BOOT_DRIVER(bcm6753_led) = {
+       .name = "bcm6753-led",
+       .id = UCLASS_LED,
+       .of_match = bcm6753_led_ids,
+       .bind = bcm6753_led_bind,
+       .probe = bcm6753_led_probe,
+       .priv_auto = sizeof(struct bcm6753_led_priv),
+       .ops = &bcm6753_led_ops,
+};
index 820065800fe32c7e59888fe6e1b4b1bbb516d73a..b2f4a4e7219adb05a2875eeed09fef15f8487b05 100644 (file)
@@ -2019,6 +2019,7 @@ static const struct udevice_id omap_hsmmc_ids[] = {
        { .compatible = "ti,omap3-hsmmc" },
        { .compatible = "ti,omap4-hsmmc" },
        { .compatible = "ti,am33xx-hsmmc" },
+       { .compatible = "ti,am335-sdhci" },
        { .compatible = "ti,dra7-hsmmc", .data = (ulong)&dra7_mmc_of_data },
        { }
 };
index 5cea4c695e8d88cab7cf79c232bccc07de8351a7..d96f5d543f545f8c147c5a8003fb32291104d06c 100644 (file)
 #include <linux/delay.h>
 #include "mmc_private.h"
 #include <log.h>
+#include <reset.h>
 #include <dm/device_compat.h>
 #include <linux/err.h>
 #include <linux/libfdt.h>
+#include <asm/types.h>
+#include <linux/math64.h>
 #include <asm/cache.h>
 #include <malloc.h>
 #include <sdhci.h>
@@ -61,6 +64,7 @@ struct arasan_sdhci_priv {
        u8 deviceid;
        u8 bank;
        u8 no_1p8;
+       struct reset_ctl_bulk resets;
 };
 
 /* For Versal platforms zynqmp_mmio_write() won't be available */
@@ -243,7 +247,7 @@ static int arasan_sdhci_execute_tuning(struct mmc *mmc, u8 opcode)
        char tuning_loop_counter = SDHCI_TUNING_LOOP_COUNT;
        u8 node_id = priv->deviceid ? NODE_SD_1 : NODE_SD_0;
 
-       debug("%s\n", __func__);
+       dev_dbg(mmc->dev, "%s\n", __func__);
 
        host = priv->host;
 
@@ -703,6 +707,87 @@ static const struct sdhci_ops arasan_ops = {
 };
 #endif
 
+#if defined(CONFIG_ARCH_ZYNQMP)
+static int sdhci_zynqmp_set_dynamic_config(struct arasan_sdhci_priv *priv,
+                                          struct udevice *dev)
+{
+       int ret;
+       u32 node_id = priv->deviceid ? NODE_SD_1 : NODE_SD_0;
+       struct clk clk;
+       unsigned long clock, mhz;
+
+       ret = xilinx_pm_request(PM_REQUEST_NODE, node_id, ZYNQMP_PM_CAPABILITY_ACCESS,
+                               ZYNQMP_PM_MAX_QOS, ZYNQMP_PM_REQUEST_ACK_NO, NULL);
+       if (ret) {
+               dev_err(dev, "Request node failed for %d\n", node_id);
+               return ret;
+       }
+
+       ret = reset_get_bulk(dev, &priv->resets);
+       if (ret == -ENOTSUPP || ret == -ENOENT) {
+               dev_err(dev, "Reset not found\n");
+               return 0;
+       } else if (ret) {
+               dev_err(dev, "Reset failed\n");
+               return ret;
+       }
+
+       ret = reset_assert_bulk(&priv->resets);
+       if (ret) {
+               dev_err(dev, "Reset assert failed\n");
+               return ret;
+       }
+
+       ret = zynqmp_pm_set_sd_config(node_id, SD_CONFIG_FIXED, 0);
+       if (ret) {
+               dev_err(dev, "SD_CONFIG_FIXED failed\n");
+               return ret;
+       }
+
+       ret = zynqmp_pm_set_sd_config(node_id, SD_CONFIG_EMMC_SEL,
+                                     dev_read_bool(dev, "non-removable"));
+       if (ret) {
+               dev_err(dev, "SD_CONFIG_EMMC_SEL failed\n");
+               return ret;
+       }
+
+       ret = clk_get_by_index(dev, 0, &clk);
+       if (ret < 0) {
+               dev_err(dev, "failed to get clock\n");
+               return ret;
+       }
+
+       clock = clk_get_rate(&clk);
+       if (IS_ERR_VALUE(clock)) {
+               dev_err(dev, "failed to get rate\n");
+               return clock;
+       }
+
+       mhz = DIV64_U64_ROUND_UP(clock, 1000000);
+
+       ret = zynqmp_pm_set_sd_config(node_id, SD_CONFIG_BASECLK, mhz);
+       if (ret) {
+               dev_err(dev, "SD_CONFIG_BASECLK failed\n");
+               return ret;
+       }
+
+       ret = zynqmp_pm_set_sd_config(node_id, SD_CONFIG_8BIT,
+                                     (dev_read_u32_default(dev, "bus-width", 1) == 8));
+       if (ret) {
+               dev_err(dev, "SD_CONFIG_8BIT failed\n");
+               return ret;
+       }
+
+       ret = reset_deassert_bulk(&priv->resets);
+       if (ret) {
+               dev_err(dev, "Reset release failed\n");
+               return ret;
+       }
+
+       return 0;
+}
+#endif
+
 static int arasan_sdhci_probe(struct udevice *dev)
 {
        struct arasan_sdhci_plat *plat = dev_get_plat(dev);
@@ -715,6 +800,18 @@ static int arasan_sdhci_probe(struct udevice *dev)
 
        host = priv->host;
 
+#if defined(CONFIG_ARCH_ZYNQMP)
+       if (device_is_compatible(dev, "xlnx,zynqmp-8.9a")) {
+               ret = zynqmp_pm_is_function_supported(PM_IOCTL,
+                                                     IOCTL_SET_SD_CONFIG);
+               if (!ret) {
+                       ret = sdhci_zynqmp_set_dynamic_config(priv, dev);
+                       if (ret)
+                               return ret;
+               }
+       }
+#endif
+
        ret = clk_get_by_index(dev, 0, &clk);
        if (ret < 0) {
                dev_err(dev, "failed to get clock\n");
@@ -727,7 +824,7 @@ static int arasan_sdhci_probe(struct udevice *dev)
                return clock;
        }
 
-       debug("%s: CLK %ld\n", __func__, clock);
+       dev_dbg(dev, "%s: CLK %ld\n", __func__, clock);
 
        ret = clk_enable(&clk);
        if (ret) {
@@ -769,12 +866,13 @@ static int arasan_sdhci_probe(struct udevice *dev)
         * causing sd card timeout error. Workaround this by adding a wait for
         * 1000msec till the card detect state gets stable.
         */
-       if (IS_ENABLED(CONFIG_ARCH_VERSAL)) {
-               u32 timeout = 1000;
+       if (IS_ENABLED(CONFIG_ARCH_ZYNQMP) || IS_ENABLED(CONFIG_ARCH_VERSAL)) {
+               u32 timeout = 1000000;
 
                while (((sdhci_readl(host, SDHCI_PRESENT_STATE) &
-                        SDHCI_CARD_STATE_STABLE) == 0) && timeout--) {
-                       mdelay(1);
+                        SDHCI_CARD_STATE_STABLE) == 0) && timeout) {
+                       udelay(1);
+                       timeout--;
                }
                if (!timeout) {
                        dev_err(dev, "Sdhci card detect state not stable\n");
index bde3004171ad7ebc1529aa9484755e3aa3ccafd9..588ebe9119b98cfba3ff3c8b1bcdac1061656828 100644 (file)
@@ -52,6 +52,13 @@ config CFI_FLASH
          option. Visit <http://www.amd.com/products/nvd/overview/cfi.html>
          for more information on CFI.
 
+config CFI_FLASH_USE_WEAK_ACCESSORS
+       bool "Allow read/write functions to be overridden"
+       depends on FLASH_CFI_DRIVER
+       help
+         Enable this option to allow for the flash_{read,write}{8,16,32,64}
+         functions to be overridden by the platform.
+
 config SYS_FLASH_USE_BUFFER_WRITE
        bool "Enable buffered writes to flash"
        depends on FLASH_CFI_DRIVER
index 0e826c19298689b3b4b317184c217b4e3184c2aa..1eab21e206481087b90e6e4899395e5a4e251f96 100644 (file)
@@ -91,6 +91,12 @@ config NAND_BRCMNAND_6368
        help
          Enable support for broadcom nand driver on bcm6368.
 
+config NAND_BRCMNAND_6753
+       bool "Support Broadcom NAND controller on bcm6753"
+       depends on NAND_BRCMNAND && ARCH_BCM6753
+       help
+         Enable support for broadcom nand driver on bcm6753.
+
 config NAND_BRCMNAND_68360
        bool "Support Broadcom NAND controller on bcm68360"
        depends on NAND_BRCMNAND && ARCH_BCM68360
index 5d9e7e3f3b51924af69d421bb75c4f6598bf2f72..f46a7edae3219ba250fbb53dde019a5d14a6267e 100644 (file)
@@ -2,6 +2,7 @@
 
 obj-$(CONFIG_NAND_BRCMNAND_6368) += bcm6368_nand.o
 obj-$(CONFIG_NAND_BRCMNAND_63158) += bcm63158_nand.o
+obj-$(CONFIG_NAND_BRCMNAND_6753) += bcm6753_nand.o
 obj-$(CONFIG_NAND_BRCMNAND_68360) += bcm68360_nand.o
 obj-$(CONFIG_NAND_BRCMNAND_6838) += bcm6838_nand.o
 obj-$(CONFIG_NAND_BRCMNAND_6858) += bcm6858_nand.o
diff --git a/drivers/mtd/nand/raw/brcmnand/bcm6753_nand.c b/drivers/mtd/nand/raw/brcmnand/bcm6753_nand.c
new file mode 100644 (file)
index 0000000..feae66e
--- /dev/null
@@ -0,0 +1,124 @@
+// SPDX-License-Identifier: GPL-2.0+
+
+#include <common.h>
+#include <asm/io.h>
+#include <memalign.h>
+#include <nand.h>
+#include <linux/bitops.h>
+#include <linux/errno.h>
+#include <linux/io.h>
+#include <linux/ioport.h>
+#include <dm.h>
+
+#include "brcmnand.h"
+
+struct bcm6753_nand_soc {
+       struct brcmnand_soc soc;
+       void __iomem *base;
+};
+
+#define BCM6753_NAND_INT               0x00
+#define BCM6753_NAND_STATUS_SHIFT      0
+#define BCM6753_NAND_STATUS_MASK       (0xfff << BCM6753_NAND_STATUS_SHIFT)
+
+#define BCM6753_NAND_INT_EN            0x04
+#define BCM6753_NAND_ENABLE_SHIFT      0
+#define BCM6753_NAND_ENABLE_MASK       (0xffff << BCM6753_NAND_ENABLE_SHIFT)
+
+enum {
+       BCM6753_NP_READ         = BIT(0),
+       BCM6753_BLOCK_ERASE     = BIT(1),
+       BCM6753_COPY_BACK       = BIT(2),
+       BCM6753_PAGE_PGM        = BIT(3),
+       BCM6753_CTRL_READY      = BIT(4),
+       BCM6753_DEV_RBPIN       = BIT(5),
+       BCM6753_ECC_ERR_UNC     = BIT(6),
+       BCM6753_ECC_ERR_CORR    = BIT(7),
+};
+
+static bool bcm6753_nand_intc_ack(struct brcmnand_soc *soc)
+{
+       struct bcm6753_nand_soc *priv =
+                       container_of(soc, struct bcm6753_nand_soc, soc);
+       void __iomem *mmio = priv->base + BCM6753_NAND_INT;
+       u32 val = brcmnand_readl(mmio);
+
+       if (val & (BCM6753_CTRL_READY << BCM6753_NAND_STATUS_SHIFT)) {
+               /* Ack interrupt */
+               val &= ~BCM6753_NAND_STATUS_MASK;
+               val |= BCM6753_CTRL_READY << BCM6753_NAND_STATUS_SHIFT;
+               brcmnand_writel(val, mmio);
+               return true;
+       }
+
+       return false;
+}
+
+static void bcm6753_nand_intc_set(struct brcmnand_soc *soc, bool en)
+{
+       struct bcm6753_nand_soc *priv =
+                       container_of(soc, struct bcm6753_nand_soc, soc);
+       void __iomem *mmio = priv->base + BCM6753_NAND_INT_EN;
+       u32 val = brcmnand_readl(mmio);
+
+       /* Don't ack any interrupts */
+       val &= ~BCM6753_NAND_STATUS_MASK;
+
+       if (en)
+               val |= BCM6753_CTRL_READY << BCM6753_NAND_ENABLE_SHIFT;
+       else
+               val &= ~(BCM6753_CTRL_READY << BCM6753_NAND_ENABLE_SHIFT);
+
+       brcmnand_writel(val, mmio);
+}
+
+static int bcm6753_nand_probe(struct udevice *dev)
+{
+       struct udevice *pdev = dev;
+       struct bcm6753_nand_soc *priv = dev_get_priv(dev);
+       struct brcmnand_soc *soc;
+       struct resource res;
+
+       soc = &priv->soc;
+
+       dev_read_resource_byname(pdev, "nand-int-base", &res);
+       priv->base = devm_ioremap(dev, res.start, resource_size(&res));
+       if (IS_ERR(priv->base))
+               return PTR_ERR(priv->base);
+
+       soc->ctlrdy_ack = bcm6753_nand_intc_ack;
+       soc->ctlrdy_set_enabled = bcm6753_nand_intc_set;
+
+       /* Disable and ack all interrupts  */
+       brcmnand_writel(0, priv->base + BCM6753_NAND_INT_EN);
+       brcmnand_writel(0, priv->base + BCM6753_NAND_INT);
+
+       return brcmnand_probe(pdev, soc);
+}
+
+static const struct udevice_id bcm6753_nand_dt_ids[] = {
+       {
+               .compatible = "brcm,nand-bcm6753",
+       },
+       { /* sentinel */ }
+};
+
+U_BOOT_DRIVER(bcm6753_nand) = {
+       .name = "bcm6753-nand",
+       .id = UCLASS_MTD,
+       .of_match = bcm6753_nand_dt_ids,
+       .probe = bcm6753_nand_probe,
+       .priv_auto = sizeof(struct bcm6753_nand_soc),
+};
+
+void board_nand_init(void)
+{
+       struct udevice *dev;
+       int ret;
+
+       ret = uclass_get_device_by_driver(UCLASS_MTD,
+                                         DM_DRIVER_GET(bcm6753_nand), &dev);
+       if (ret && ret != -ENODEV)
+               pr_err("Failed to initialize %s. (error %d)\n", dev->name,
+                      ret);
+}
index d792528370659f5045044851cc6915c80c946510..10e9cd18b077a0f807ca4ac052e11bb8766b7376 100644 (file)
@@ -1086,10 +1086,13 @@ static int zynq_nand_probe(struct udevice *dev)
        int is_16bit_bw;
 
        smc->reg = (struct zynq_nand_smc_regs *)dev_read_addr(dev);
-       of_nand = dev_read_subnode(dev, "flash@e1000000");
+       of_nand = dev_read_subnode(dev, "nand-controller@0,0");
        if (!ofnode_valid(of_nand)) {
-               printf("Failed to find nand node in dt\n");
-               return -ENODEV;
+               of_nand = dev_read_subnode(dev, "flash@e1000000");
+               if (!ofnode_valid(of_nand)) {
+                       printf("Failed to find nand node in dt\n");
+                       return -ENODEV;
+               }
        }
 
        if (!ofnode_is_available(of_nand)) {
index 71e0cbafb4121c7798e6829aac63e16b0d2b2d45..a6171a7c7ffd458b267543a56038ca1d0bab0499 100644 (file)
@@ -423,6 +423,11 @@ config KSZ9477
          This driver implements a DSA switch driver for the KSZ9477 family
          of GbE switches using the I2C interface.
 
+config LPC32XX_ETH
+       bool "LPC32xx Ethernet MAC interface driver"
+       depends on ARCH_LPC32XX
+       default y
+
 config MVGBE
        bool "Marvell Orion5x/Kirkwood network interface support"
        depends on ARCH_KIRKWOOD || ARCH_ORION5X
@@ -535,6 +540,11 @@ config MII
        help
          Enable support of the Media-Independent Interface (MII)
 
+config RMII
+       bool "Enable RMII"
+       help
+         Enable support of the Reduced Media-Independent Interface (MII)
+
 config PCNET
        bool "AMD PCnet series Ethernet controller driver"
        help
index 985b038447398b8dd55857ce85edad1a85942e80..e8ebef09032aa0c065e7c3584ff92f106575a804 100644 (file)
@@ -54,10 +54,6 @@ DECLARE_GLOBAL_DATA_PTR;
 #error "CONFIG_MII has to be defined!"
 #endif
 
-#ifndef CONFIG_FEC_XCV_TYPE
-#define CONFIG_FEC_XCV_TYPE MII100
-#endif
-
 /*
  * The i.MX28 operates with packets in big endian. We need to swap them before
  * sending and after receiving.
@@ -408,20 +404,11 @@ static int fec_get_hwaddr(int dev_id, unsigned char *mac)
        return !is_valid_ethaddr(mac);
 }
 
-#ifdef CONFIG_DM_ETH
 static int fecmxc_set_hwaddr(struct udevice *dev)
-#else
-static int fec_set_hwaddr(struct eth_device *dev)
-#endif
 {
-#ifdef CONFIG_DM_ETH
        struct fec_priv *fec = dev_get_priv(dev);
        struct eth_pdata *pdata = dev_get_plat(dev);
        uchar *mac = pdata->enetaddr;
-#else
-       uchar *mac = dev->enetaddr;
-       struct fec_priv *fec = (struct fec_priv *)dev->priv;
-#endif
 
        writel(0, &fec->eth->iaddr1);
        writel(0, &fec->eth->iaddr2);
@@ -468,17 +455,9 @@ static void fec_reg_setup(struct fec_priv *fec)
  * Start the FEC engine
  * @param[in] dev Our device to handle
  */
-#ifdef CONFIG_DM_ETH
 static int fec_open(struct udevice *dev)
-#else
-static int fec_open(struct eth_device *edev)
-#endif
 {
-#ifdef CONFIG_DM_ETH
        struct fec_priv *fec = dev_get_priv(dev);
-#else
-       struct fec_priv *fec = (struct fec_priv *)edev->priv;
-#endif
        int speed;
        ulong addr, size;
        int i;
@@ -589,27 +568,15 @@ static int fec_open(struct eth_device *edev)
        return 0;
 }
 
-#ifdef CONFIG_DM_ETH
 static int fecmxc_init(struct udevice *dev)
-#else
-static int fec_init(struct eth_device *dev, struct bd_info *bd)
-#endif
 {
-#ifdef CONFIG_DM_ETH
        struct fec_priv *fec = dev_get_priv(dev);
-#else
-       struct fec_priv *fec = (struct fec_priv *)dev->priv;
-#endif
        u8 *mib_ptr = (uint8_t *)&fec->eth->rmon_t_drop;
        u8 *i;
        ulong addr;
 
        /* Initialize MAC address */
-#ifdef CONFIG_DM_ETH
        fecmxc_set_hwaddr(dev);
-#else
-       fec_set_hwaddr(dev);
-#endif
 
        /* Setup transmit descriptors, there are two in total. */
        fec_tbd_init(fec);
@@ -661,17 +628,9 @@ static int fec_init(struct eth_device *dev, struct bd_info *bd)
  * Halt the FEC engine
  * @param[in] dev Our device to handle
  */
-#ifdef CONFIG_DM_ETH
 static void fecmxc_halt(struct udevice *dev)
-#else
-static void fec_halt(struct eth_device *dev)
-#endif
 {
-#ifdef CONFIG_DM_ETH
        struct fec_priv *fec = dev_get_priv(dev);
-#else
-       struct fec_priv *fec = (struct fec_priv *)dev->priv;
-#endif
        int counter = 0xffff;
 
        /* issue graceful stop command to the FEC transmitter if necessary */
@@ -705,11 +664,7 @@ static void fec_halt(struct eth_device *dev)
  * @param[in] length Data count in bytes
  * Return: 0 on success
  */
-#ifdef CONFIG_DM_ETH
 static int fecmxc_send(struct udevice *dev, void *packet, int length)
-#else
-static int fec_send(struct eth_device *dev, void *packet, int length)
-#endif
 {
        unsigned int status;
        u32 size;
@@ -721,11 +676,7 @@ static int fec_send(struct eth_device *dev, void *packet, int length)
         * This routine transmits one frame.  This routine only accepts
         * 6-byte Ethernet addresses.
         */
-#ifdef CONFIG_DM_ETH
        struct fec_priv *fec = dev_get_priv(dev);
-#else
-       struct fec_priv *fec = (struct fec_priv *)dev->priv;
-#endif
 
        /*
         * Check for valid length of data.
@@ -856,17 +807,9 @@ out:
  * @param[in] dev Our ethernet device to handle
  * Return: Length of packet read
  */
-#ifdef CONFIG_DM_ETH
 static int fecmxc_recv(struct udevice *dev, int flags, uchar **packetp)
-#else
-static int fec_recv(struct eth_device *dev)
-#endif
 {
-#ifdef CONFIG_DM_ETH
        struct fec_priv *fec = dev_get_priv(dev);
-#else
-       struct fec_priv *fec = (struct fec_priv *)dev->priv;
-#endif
        struct fec_bd *rbd = &fec->rbd_base[fec->rbd_index];
        unsigned long ievent;
        int frame_length, len = 0;
@@ -874,28 +817,19 @@ static int fec_recv(struct eth_device *dev)
        ulong addr, size, end;
        int i;
 
-#ifdef CONFIG_DM_ETH
        *packetp = memalign(ARCH_DMA_MINALIGN, FEC_MAX_PKT_SIZE);
        if (*packetp == 0) {
                printf("%s: error allocating packetp\n", __func__);
                return -ENOMEM;
        }
-#else
-       ALLOC_CACHE_ALIGN_BUFFER(uchar, buff, FEC_MAX_PKT_SIZE);
-#endif
 
        /* Check if any critical events have happened */
        ievent = readl(&fec->eth->ievent);
        writel(ievent, &fec->eth->ievent);
        debug("fec_recv: ievent 0x%lx\n", ievent);
        if (ievent & FEC_IEVENT_BABR) {
-#ifdef CONFIG_DM_ETH
                fecmxc_halt(dev);
                fecmxc_init(dev);
-#else
-               fec_halt(dev);
-               fec_init(dev, fec->bd);
-#endif
                printf("some error: 0x%08lx\n", ievent);
                return 0;
        }
@@ -907,18 +841,10 @@ static int fec_recv(struct eth_device *dev)
        if (ievent & FEC_IEVENT_GRA) {
                /* Graceful stop complete */
                if (readl(&fec->eth->x_cntrl) & 0x00000001) {
-#ifdef CONFIG_DM_ETH
                        fecmxc_halt(dev);
-#else
-                       fec_halt(dev);
-#endif
                        writel(~0x00000001 & readl(&fec->eth->x_cntrl),
                               &fec->eth->x_cntrl);
-#ifdef CONFIG_DM_ETH
                        fecmxc_init(dev);
-#else
-                       fec_init(dev, fec->bd);
-#endif
                }
        }
 
@@ -959,12 +885,7 @@ static int fec_recv(struct eth_device *dev)
                        swap_packet((uint32_t *)addr, frame_length);
 #endif
 
-#ifdef CONFIG_DM_ETH
                        memcpy(*packetp, (char *)addr, frame_length);
-#else
-                       memcpy(buff, (char *)addr, frame_length);
-                       net_process_received_packet(buff, frame_length);
-#endif
                        len = frame_length;
                } else {
                        if (bd_status & FEC_RBD_ERR)
@@ -1104,175 +1025,6 @@ struct mii_dev *fec_get_miibus(ulong base_addr, int dev_id)
        return bus;
 }
 
-#ifndef CONFIG_DM_ETH
-#ifdef CONFIG_PHYLIB
-int fec_probe(struct bd_info *bd, int dev_id, uint32_t base_addr,
-               struct mii_dev *bus, struct phy_device *phydev)
-#else
-static int fec_probe(struct bd_info *bd, int dev_id, uint32_t base_addr,
-               struct mii_dev *bus, int phy_id)
-#endif
-{
-       struct eth_device *edev;
-       struct fec_priv *fec;
-       unsigned char ethaddr[6];
-       char mac[16];
-       uint32_t start;
-       int ret = 0;
-
-       /* create and fill edev struct */
-       edev = (struct eth_device *)malloc(sizeof(struct eth_device));
-       if (!edev) {
-               puts("fec_mxc: not enough malloc memory for eth_device\n");
-               ret = -ENOMEM;
-               goto err1;
-       }
-
-       fec = (struct fec_priv *)malloc(sizeof(struct fec_priv));
-       if (!fec) {
-               puts("fec_mxc: not enough malloc memory for fec_priv\n");
-               ret = -ENOMEM;
-               goto err2;
-       }
-
-       memset(edev, 0, sizeof(*edev));
-       memset(fec, 0, sizeof(*fec));
-
-       ret = fec_alloc_descs(fec);
-       if (ret)
-               goto err3;
-
-       edev->priv = fec;
-       edev->init = fec_init;
-       edev->send = fec_send;
-       edev->recv = fec_recv;
-       edev->halt = fec_halt;
-       edev->write_hwaddr = fec_set_hwaddr;
-
-       fec->eth = (struct ethernet_regs *)(ulong)base_addr;
-       fec->bd = bd;
-
-       fec->xcv_type = CONFIG_FEC_XCV_TYPE;
-
-       /* Reset chip. */
-       writel(readl(&fec->eth->ecntrl) | FEC_ECNTRL_RESET, &fec->eth->ecntrl);
-       start = get_timer(0);
-       while (readl(&fec->eth->ecntrl) & FEC_ECNTRL_RESET) {
-               if (get_timer(start) > (CONFIG_SYS_HZ * 5)) {
-                       printf("FEC MXC: Timeout resetting chip\n");
-                       goto err4;
-               }
-               udelay(10);
-       }
-
-       fec_reg_setup(fec);
-       fec_set_dev_name(edev->name, dev_id);
-       fec->dev_id = (dev_id == -1) ? 0 : dev_id;
-       fec->bus = bus;
-       fec_mii_setspeed(bus->priv);
-#ifdef CONFIG_PHYLIB
-       fec->phydev = phydev;
-       phy_connect_dev(phydev, edev);
-       /* Configure phy */
-       phy_config(phydev);
-#else
-       fec->phy_id = phy_id;
-#endif
-       eth_register(edev);
-       /* only support one eth device, the index number pointed by dev_id */
-       edev->index = fec->dev_id;
-
-       if (fec_get_hwaddr(fec->dev_id, ethaddr) == 0) {
-               debug("got MAC%d address from fuse: %pM\n", fec->dev_id, ethaddr);
-               memcpy(edev->enetaddr, ethaddr, 6);
-               if (fec->dev_id)
-                       sprintf(mac, "eth%daddr", fec->dev_id);
-               else
-                       strcpy(mac, "ethaddr");
-               if (!env_get(mac))
-                       eth_env_set_enetaddr(mac, ethaddr);
-       }
-       return ret;
-err4:
-       fec_free_descs(fec);
-err3:
-       free(fec);
-err2:
-       free(edev);
-err1:
-       return ret;
-}
-
-int fecmxc_initialize_multi(struct bd_info *bd, int dev_id, int phy_id,
-                           uint32_t addr)
-{
-       uint32_t base_mii;
-       struct mii_dev *bus = NULL;
-#ifdef CONFIG_PHYLIB
-       struct phy_device *phydev = NULL;
-#endif
-       int ret;
-
-       if (CONFIG_IS_ENABLED(IMX_MODULE_FUSE)) {
-               if (enet_fused((ulong)addr)) {
-                       printf("SoC fuse indicates Ethernet@0x%x is unavailable.\n", addr);
-                       return -ENODEV;
-               }
-       }
-
-#ifdef CONFIG_FEC_MXC_MDIO_BASE
-       /*
-        * The i.MX28 has two ethernet interfaces, but they are not equal.
-        * Only the first one can access the MDIO bus.
-        */
-       base_mii = CONFIG_FEC_MXC_MDIO_BASE;
-#else
-       base_mii = addr;
-#endif
-       debug("eth_init: fec_probe(bd, %i, %i) @ %08x\n", dev_id, phy_id, addr);
-       bus = fec_get_miibus(base_mii, dev_id);
-       if (!bus)
-               return -ENOMEM;
-#ifdef CONFIG_PHYLIB
-       phydev = phy_find_by_mask(bus, 1 << phy_id, PHY_INTERFACE_MODE_RGMII);
-       if (!phydev) {
-               mdio_unregister(bus);
-               free(bus);
-               return -ENOMEM;
-       }
-       ret = fec_probe(bd, dev_id, addr, bus, phydev);
-#else
-       ret = fec_probe(bd, dev_id, addr, bus, phy_id);
-#endif
-       if (ret) {
-#ifdef CONFIG_PHYLIB
-               free(phydev);
-#endif
-               mdio_unregister(bus);
-               free(bus);
-       }
-       return ret;
-}
-
-#ifdef CONFIG_FEC_MXC_PHYADDR
-int fecmxc_initialize(struct bd_info *bd)
-{
-       return fecmxc_initialize_multi(bd, -1, CONFIG_FEC_MXC_PHYADDR,
-                       IMX_FEC_BASE);
-}
-#endif
-
-#ifndef CONFIG_PHYLIB
-int fecmxc_register_mii_postcall(struct eth_device *dev, int (*cb)(int))
-{
-       struct fec_priv *fec = (struct fec_priv *)dev->priv;
-       fec->mii_postcall = cb;
-       return 0;
-}
-#endif
-
-#else
-
 static int fecmxc_read_rom_hwaddr(struct udevice *dev)
 {
        struct fec_priv *priv = dev_get_priv(dev);
@@ -1513,9 +1265,9 @@ static int fecmxc_probe(struct udevice *dev)
                priv->xcv_type = RGMII;
                break;
        default:
-               priv->xcv_type = CONFIG_FEC_XCV_TYPE;
-               printf("Unsupported interface type %d defaulting to %d\n",
-                      priv->interface, priv->xcv_type);
+               priv->xcv_type = MII100;
+               printf("Unsupported interface type %d defaulting to MII100\n",
+                      priv->interface);
                break;
        }
 
@@ -1626,4 +1378,3 @@ U_BOOT_DRIVER(fecmxc_gem) = {
        .priv_auto      = sizeof(struct fec_priv),
        .plat_auto      = sizeof(struct eth_pdata),
 };
-#endif
index ca06b35316d33f92e976522cb2cd563202909b25..e2c8f41876e75b6e883a6666529ac2d15c4868ce 100644 (file)
@@ -200,9 +200,7 @@ int mii_discover_phy(fec_info_t *info)
 }
 #endif                         /* CONFIG_SYS_DISCOVER_PHY */
 
-void mii_init(void) __attribute__((weak,alias("__mii_init")));
-
-void __mii_init(void)
+__weak void mii_init(void)
 {
 #ifdef CONFIG_DM_ETH
        struct udevice *dev;
index 4f8d33ce8fd5a1531c6bd6bd4194dc5e207700d9..eed6eb186692eec012c28f4537ada39e3e25deba 100644 (file)
@@ -307,6 +307,14 @@ config PHY_XILINX_GMII2RGMII
          as bridge between MAC connected over GMII and external phy that
          is connected over RGMII interface.
 
+config PHY_ETHERNET_ID
+       bool "Read ethernet PHY id"
+       depends on DM_GPIO
+       default y if ZYNQ_GEM
+       help
+         Enable this config to read ethernet phy id from the phy node of DT
+         and create a phy device using id.
+
 config PHY_FIXED
        bool "Fixed-Link PHY"
        depends on DM_ETH
@@ -322,3 +330,11 @@ config PHY_NCSI
        depends on DM_ETH
 
 endif #PHYLIB
+
+config PHY_RESET_DELAY
+       int "Extra delay after reset before MII register access"
+       default 0
+       help
+         Some PHYs need extra delay after reset before any MII register access
+         is possible.  For such PHY, set this option to the usec delay
+         required.
index 77f7f606215c9752c67792a214cb1607ef3f67b2..b28440bc4e52a7d47421f7d3f8895598c5e87193 100644 (file)
@@ -32,6 +32,7 @@ obj-$(CONFIG_PHY_TI_DP83867) += dp83867.o
 obj-$(CONFIG_PHY_TI_DP83869) += dp83869.o
 obj-$(CONFIG_PHY_XILINX) += xilinx_phy.o
 obj-$(CONFIG_PHY_XILINX_GMII2RGMII) += xilinx_gmii2rgmii.o
+obj-$(CONFIG_PHY_ETHERNET_ID) += ethernet_id.o
 obj-$(CONFIG_PHY_VITESSE) += vitesse.o
 obj-$(CONFIG_PHY_MSCC) += mscc.o
 obj-$(CONFIG_PHY_FIXED) += fixed.o
diff --git a/drivers/net/phy/ethernet_id.c b/drivers/net/phy/ethernet_id.c
new file mode 100644 (file)
index 0000000..5617ac3
--- /dev/null
@@ -0,0 +1,69 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Xilinx ethernet phy reset driver
+ *
+ * Copyright (C) 2022 Xilinx, Inc.
+ */
+
+#include <common.h>
+#include <dm/device_compat.h>
+#include <phy.h>
+#include <linux/delay.h>
+#include <asm/gpio.h>
+
+struct phy_device *phy_connect_phy_id(struct mii_dev *bus, struct udevice *dev,
+                                     phy_interface_t interface)
+{
+       struct phy_device *phydev;
+       struct ofnode_phandle_args phandle_args;
+       struct gpio_desc gpio;
+       ofnode node;
+       u32 id, assert, deassert;
+       u16 vendor, device;
+       int ret;
+
+       if (dev_read_phandle_with_args(dev, "phy-handle", NULL, 0, 0,
+                                      &phandle_args))
+               return NULL;
+
+       if (!ofnode_valid(phandle_args.node))
+               return NULL;
+
+       node = phandle_args.node;
+
+       ret = ofnode_read_eth_phy_id(node, &vendor, &device);
+       if (ret) {
+               dev_err(dev, "Failed to read eth PHY id, err: %d\n", ret);
+               return NULL;
+       }
+
+       ret = gpio_request_by_name_nodev(node, "reset-gpios", 0, &gpio,
+                                        GPIOD_ACTIVE_LOW);
+       if (!ret) {
+               assert = ofnode_read_u32_default(node, "reset-assert-us", 0);
+               deassert = ofnode_read_u32_default(node,
+                                                  "reset-deassert-us", 0);
+               ret = dm_gpio_set_value(&gpio, 1);
+               if (ret) {
+                       dev_err(dev, "Failed assert gpio, err: %d\n", ret);
+                       return NULL;
+               }
+
+               udelay(assert);
+
+               ret = dm_gpio_set_value(&gpio, 0);
+               if (ret) {
+                       dev_err(dev, "Failed deassert gpio, err: %d\n", ret);
+                       return NULL;
+               }
+
+               udelay(deassert);
+       }
+
+       id =  vendor << 16 | device;
+       phydev = phy_device_create(bus, 0, id, false, interface);
+       if (phydev)
+               phydev->node = node;
+
+       return phydev;
+}
index c9fc20855ba1189e1b9835b367b69c367b979808..92fff5b72c0c50fbc5977d55b60be60179eeeba7 100644 (file)
@@ -659,9 +659,9 @@ static struct phy_driver *get_phy_driver(struct phy_device *phydev,
        return generic_for_interface(interface);
 }
 
-static struct phy_device *phy_device_create(struct mii_dev *bus, int addr,
-                                           u32 phy_id, bool is_c45,
-                                           phy_interface_t interface)
+struct phy_device *phy_device_create(struct mii_dev *bus, int addr,
+                                    u32 phy_id, bool is_c45,
+                                    phy_interface_t interface)
 {
        struct phy_device *dev;
 
@@ -872,7 +872,7 @@ int phy_reset(struct phy_device *phydev)
                return -1;
        }
 
-#ifdef CONFIG_PHY_RESET_DELAY
+#if CONFIG_PHY_RESET_DELAY > 0
        udelay(CONFIG_PHY_RESET_DELAY); /* Intel LXT971A needs this */
 #endif
        /*
@@ -1047,6 +1047,11 @@ struct phy_device *phy_connect(struct mii_dev *bus, int addr,
                phydev = phy_device_create(bus, 0, PHY_NCSI_ID, false, interface);
 #endif
 
+#ifdef CONFIG_PHY_ETHERNET_ID
+       if (!phydev)
+               phydev = phy_connect_phy_id(bus, dev, interface);
+#endif
+
 #ifdef CONFIG_PHY_XILINX_GMII2RGMII
        if (!phydev)
                phydev = phy_connect_gmii2rgmii(bus, dev, interface);
index 4f7e61ecf166263deda69ef973799ec0051943f6..b0fc9caabbec70fd0232a31ce714124ef23f6a09 100644 (file)
@@ -800,7 +800,7 @@ static int pcie_advk_setup_hw(struct pcie_advk *pcie)
         */
        reg = advk_readl(pcie, ADVK_ROOT_PORT_PCI_CFG_OFF + PCI_CLASS_REVISION);
        reg &= ~0xffffff00;
-       reg |= (PCI_CLASS_BRIDGE_PCI << 8) << 8;
+       reg |= PCI_CLASS_BRIDGE_PCI_NORMAL << 8;
        advk_writel(pcie, reg, ADVK_ROOT_PORT_PCI_CFG_OFF + PCI_CLASS_REVISION);
 
        /* Enable generation and checking of ECRC on PCIe Root Port */
index 34a561ef8b4beb50e4d0df261f6da62df7821435..49029238d350c8241f85e860b3ea1ff6be9f774d 100644 (file)
@@ -289,7 +289,7 @@ static int rcar_gen3_pcie_hw_init(struct udevice *dev)
         * class to match. Hardware takes care of propagating the IDSETR
         * settings, so there is no need to bother with a quirk.
         */
-       writel(PCI_CLASS_BRIDGE_PCI << 16, priv->regs + IDSETR1);
+       writel(PCI_CLASS_BRIDGE_PCI_NORMAL << 8, priv->regs + IDSETR1);
 
        /*
         * Setup Secondary Bus Number & Subordinate Bus Number, even though
index 1e180ee289b005d36cda0883a7e6ebc7f00803b5..8a81a74067e940817ccc4232e06bbdf9be846268 100644 (file)
@@ -6,7 +6,6 @@
  */
 #include <common.h>
 #include <asm/bitops.h>
-#include <asm/cpm_85xx.h>
 #include <pci.h>
 #include <dm.h>
 #include <asm/fsl_law.h>
index f07669374d703673a4961a22c8bcf9ef99bf497f..d80f87e0cfc60cc15389cc85a6bec4a803accd06 100644 (file)
@@ -440,7 +440,7 @@ static int mvebu_pcie_probe(struct udevice *dev)
         */
        reg = readl(pcie->base + MVPCIE_ROOT_PORT_PCI_CFG_OFF + PCI_CLASS_REVISION);
        reg &= ~0xffffff00;
-       reg |= (PCI_CLASS_BRIDGE_PCI << 8) << 8;
+       reg |= PCI_CLASS_BRIDGE_PCI_NORMAL << 8;
        writel(reg, pcie->base + MVPCIE_ROOT_PORT_PCI_CFG_OFF + PCI_CLASS_REVISION);
 
        /*
index fc05ee00f1fcdb0f837c9e73afa5bb6ff2506b86..f8d66c0e1c6a8528490a61f699a1dcc2f9564b1d 100644 (file)
@@ -325,8 +325,8 @@ static int pci_tegra_read_config(const struct udevice *bus, pci_dev_t bdf,
        /* fixup root port class */
        if (PCI_BUS(bdf) == 0) {
                if ((offset & ~3) == PCI_CLASS_REVISION) {
-                       value &= ~0x00ff0000;
-                       value |= PCI_CLASS_BRIDGE_PCI << 16;
+                       value &= ~0x00ffff00;
+                       value |= PCI_CLASS_BRIDGE_PCI_NORMAL << 8;
                }
        }
 #endif
index 0490fd3377052cde1d262dbac9af96d1632b4ac1..99891dce61d57b6656ea26cb4c2457a46f272acf 100644 (file)
@@ -539,9 +539,9 @@ static int pcie_dw_mvebu_probe(struct udevice *dev)
                                  PCIE_ATU_TYPE_MEM, pcie->mem.phys_start,
                                  pcie->mem.bus_start, pcie->mem.size);
 
-       /* Set the CLASS_REV of RC CFG header to PCI_CLASS_BRIDGE_PCI */
+       /* Set the CLASS_REV of RC CFG header to PCI_CLASS_BRIDGE_PCI_NORMAL */
        clrsetbits_le32(pcie->ctrl_base + PCI_CLASS_REVISION,
-                       0xffff << 16, PCI_CLASS_BRIDGE_PCI << 16);
+                       0xffffff << 8, PCI_CLASS_BRIDGE_PCI_NORMAL << 8);
 
        pcie_dw_set_host_bars(pcie->ctrl_base);
 
index cc6efdd5b464cacced02593c43232b3169337429..f5ba34970f15dfb6db52db9b4ca6c9e520e62ed4 100644 (file)
@@ -532,7 +532,7 @@ static int fsl_pcie_fixup_classcode(struct fsl_pcie *pcie)
 
        fsl_pcie_hose_read_config_dword(pcie, classcode_reg, &val);
        val &= 0xff;
-       val |= PCI_CLASS_BRIDGE_PCI << 16;
+       val |= PCI_CLASS_BRIDGE_PCI_NORMAL << 8;
        fsl_pcie_hose_write_config_dword(pcie, classcode_reg, val);
 
        if (pcie->block_rev >= PEX_IP_BLK_REV_3_0)
index 756166fd3eaa08c7ecbe7de461c4a087cc359466..2cec3900e9adeb0901123011d4b965c29c4afa9b 100644 (file)
@@ -300,9 +300,9 @@ static int imx_pcie_regions_setup(struct imx_pcie_priv *priv)
        setbits_le32(priv->dbi_base + PCI_COMMAND,
                     PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER);
 
-       /* Set the CLASS_REV of RC CFG header to PCI_CLASS_BRIDGE_PCI */
+       /* Set the CLASS_REV of RC CFG header to PCI_CLASS_BRIDGE_PCI_NORMAL */
        setbits_le32(priv->dbi_base + PCI_CLASS_REVISION,
-                    PCI_CLASS_BRIDGE_PCI << 16);
+                    PCI_CLASS_BRIDGE_PCI_NORMAL << 8);
 
        /* Region #0 is used for Outbound CFG space access. */
        writel(0, priv->dbi_base + PCIE_ATU_VIEWPORT);
index 85dfab5c720f41d23a4614e9141241f8a136d935..d6d3a9e202505d00d09152c8223e6fa93b6e6779 100644 (file)
@@ -1123,7 +1123,7 @@ static int iproc_pcie_check_link(struct iproc_pcie *pcie)
                                    PCI_BRIDGE_CTRL_REG_OFFSET,
                                    4, &class);
        class &= ~PCI_BRIDGE_CTRL_REG_CLASS_MASK;
-       class |= (PCI_CLASS_BRIDGE_PCI << 8);
+       class |= PCI_CLASS_BRIDGE_PCI_NORMAL;
        iproc_pci_raw_config_write32(pcie, 0,
                                     PCI_BRIDGE_CTRL_REG_OFFSET,
                                     4, class);
index 67039d2a29f8197c460c5f002abbbe524185aa65..72b41398f27bcd2e085799fa93b8954131b2c7fd 100644 (file)
@@ -351,7 +351,7 @@ static int rockchip_pcie_init_port(struct udevice *dev)
 
        /* Initialize Root Complex registers. */
        writel(PCIE_LM_VENDOR_ROCKCHIP, priv->apb_base + PCIE_LM_VENDOR_ID);
-       writel(PCI_CLASS_BRIDGE_PCI << 16,
+       writel(PCI_CLASS_BRIDGE_PCI_NORMAL << 8,
               priv->apb_base + PCIE_RC_BASE + PCI_CLASS_REVISION);
        writel(PCIE_LM_RCBARPIE | PCIE_LM_RCBARPIS,
               priv->apb_base + PCIE_LM_RCBAR);
index 03946245c7d5d6566a3ed54783fd3ba26202beb1..d7477d7c336412ff9c902bc42d324c4fdf23c314 100644 (file)
@@ -318,6 +318,16 @@ config PINCTRL_K210
          Support pin multiplexing on the K210. The "FPIOA" can remap any
          supported function to any multifunctional IO pin. It can also perform
          basic GPIO functions, such as reading the current value of a pin.
+
+config PINCTRL_ZYNQMP
+       bool "Xilinx ZynqMP pin control driver"
+       depends on DM && PINCTRL_GENERIC && ARCH_ZYNQMP
+       default y
+       help
+         Support pin multiplexing control on Xilinx ZynqMP. The driver uses
+         Generic Pinctrl framework and is compatible with the Linux driver,
+         i.e. it uses the same device tree configuration.
+
 endif
 
 source "drivers/pinctrl/broadcom/Kconfig"
index df37c32033fb3e7907cf1d1ff9593a088907ef6c..030c38f5cc1bbbc86fb4e139381e7185fdb39e1d 100644 (file)
@@ -30,3 +30,4 @@ obj-$(CONFIG_PINCTRL_STI)     += pinctrl-sti.o
 obj-$(CONFIG_PINCTRL_STM32)    += pinctrl_stm32.o
 obj-$(CONFIG_$(SPL_)PINCTRL_STMFX)     += pinctrl-stmfx.o
 obj-y                          += broadcom/
+obj-$(CONFIG_PINCTRL_ZYNQMP)   += pinctrl-zynqmp.o
index 12cba83f6c01b6176ba42d1221a3ae312141e4f0..97e8b4ec9b4e0c29e7be0d9c7f1451fa8f4bfabb 100644 (file)
@@ -335,6 +335,102 @@ static struct aspeed_sig_desc pcie1rc_link[] = {
        { 0x500, BIT(24), 0 }, /* dedicate rc reset */
 };
 
+static struct aspeed_sig_desc pwm0[] = {
+       {0x41c, BIT(16), 0},
+};
+
+static struct aspeed_sig_desc pwm1[] = {
+       {0x41c, BIT(17), 0},
+};
+
+static struct aspeed_sig_desc pwm2[] = {
+       {0x41c, BIT(18), 0},
+};
+
+static struct aspeed_sig_desc pwm3[] = {
+       {0x41c, BIT(19), 0},
+};
+
+static struct aspeed_sig_desc pwm4[] = {
+       {0x41c, BIT(20), 0},
+};
+
+static struct aspeed_sig_desc pwm5[] = {
+       {0x41c, BIT(21), 0},
+};
+
+static struct aspeed_sig_desc pwm6[] = {
+       {0x41c, BIT(22), 0},
+};
+
+static struct aspeed_sig_desc pwm7[] = {
+       {0x41c, BIT(23), 0},
+};
+
+static struct aspeed_sig_desc pwm8g0[] = {
+       {0x4B4, BIT(8), 0},
+};
+
+static struct aspeed_sig_desc pwm8g1[] = {
+       {0x41c, BIT(24), 0},
+};
+
+static struct aspeed_sig_desc pwm9g0[] = {
+       {0x4B4, BIT(9), 0},
+};
+
+static struct aspeed_sig_desc pwm9g1[] = {
+       {0x41c, BIT(25), 0},
+};
+
+static struct aspeed_sig_desc pwm10g0[] = {
+       {0x4B4, BIT(10), 0},
+};
+
+static struct aspeed_sig_desc pwm10g1[] = {
+       {0x41c, BIT(26), 0},
+};
+
+static struct aspeed_sig_desc pwm11g0[] = {
+       {0x4B4, BIT(11), 0},
+};
+
+static struct aspeed_sig_desc pwm11g1[] = {
+       {0x41c, BIT(27), 0},
+};
+
+static struct aspeed_sig_desc pwm12g0[] = {
+       {0x4B4, BIT(12), 0},
+};
+
+static struct aspeed_sig_desc pwm12g1[] = {
+       {0x41c, BIT(28), 0},
+};
+
+static struct aspeed_sig_desc pwm13g0[] = {
+       {0x4B4, BIT(13), 0},
+};
+
+static struct aspeed_sig_desc pwm13g1[] = {
+       {0x41c, BIT(29), 0},
+};
+
+static struct aspeed_sig_desc pwm14g0[] = {
+       {0x4B4, BIT(14), 0},
+};
+
+static struct aspeed_sig_desc pwm14g1[] = {
+       {0x41c, BIT(30), 0},
+};
+
+static struct aspeed_sig_desc pwm15g0[] = {
+       {0x4B4, BIT(15), 0},
+};
+
+static struct aspeed_sig_desc pwm15g1[] = {
+       {0x41c, BIT(31), 0},
+};
+
 static const struct aspeed_group_config ast2600_groups[] = {
        { "MAC1LINK", ARRAY_SIZE(mac1_link), mac1_link },
        { "MAC2LINK", ARRAY_SIZE(mac2_link), mac2_link },
@@ -394,6 +490,30 @@ static const struct aspeed_group_config ast2600_groups[] = {
        { "USB2BH", ARRAY_SIZE(usb2bh_link), usb2bh_link },
        { "PCIE0RC", ARRAY_SIZE(pcie0rc_link), pcie0rc_link },
        { "PCIE1RC", ARRAY_SIZE(pcie1rc_link), pcie1rc_link },
+       { "PWM0", ARRAY_SIZE(pwm0), pwm0 },
+       { "PWM1", ARRAY_SIZE(pwm1), pwm1 },
+       { "PWM2", ARRAY_SIZE(pwm2), pwm2 },
+       { "PWM3", ARRAY_SIZE(pwm3), pwm3 },
+       { "PWM4", ARRAY_SIZE(pwm4), pwm4 },
+       { "PWM5", ARRAY_SIZE(pwm5), pwm5 },
+       { "PWM6", ARRAY_SIZE(pwm6), pwm6 },
+       { "PWM7", ARRAY_SIZE(pwm7), pwm7 },
+       { "PWM8G0", ARRAY_SIZE(pwm8g0), pwm8g0 },
+       { "PWM8G1", ARRAY_SIZE(pwm8g1), pwm8g1 },
+       { "PWM9G0", ARRAY_SIZE(pwm9g0), pwm9g0 },
+       { "PWM9G1", ARRAY_SIZE(pwm9g1), pwm9g1 },
+       { "PWM10G0", ARRAY_SIZE(pwm10g0), pwm10g0 },
+       { "PWM10G1", ARRAY_SIZE(pwm10g1), pwm10g1 },
+       { "PWM11G0", ARRAY_SIZE(pwm11g0), pwm11g0 },
+       { "PWM11G1", ARRAY_SIZE(pwm11g1), pwm11g1 },
+       { "PWM12G0", ARRAY_SIZE(pwm12g0), pwm12g0 },
+       { "PWM12G1", ARRAY_SIZE(pwm12g1), pwm12g1 },
+       { "PWM13G0", ARRAY_SIZE(pwm13g0), pwm13g0 },
+       { "PWM13G1", ARRAY_SIZE(pwm13g1), pwm13g1 },
+       { "PWM14G0", ARRAY_SIZE(pwm14g0), pwm14g0 },
+       { "PWM14G1", ARRAY_SIZE(pwm14g1), pwm14g1 },
+       { "PWM15G0", ARRAY_SIZE(pwm15g0), pwm15g0 },
+       { "PWM15G1", ARRAY_SIZE(pwm15g1), pwm15g1 },
 };
 
 static int ast2600_pinctrl_get_groups_count(struct udevice *dev)
diff --git a/drivers/pinctrl/pinctrl-zynqmp.c b/drivers/pinctrl/pinctrl-zynqmp.c
new file mode 100644 (file)
index 0000000..7c5a02d
--- /dev/null
@@ -0,0 +1,644 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Xilinx pinctrl driver for ZynqMP
+ *
+ * Author(s):   Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
+ *              Michal Simek <michal.simek@xilinx.com>
+ *
+ * Copyright (C) 2021 Xilinx, Inc. All rights reserved.
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <errno.h>
+#include <malloc.h>
+#include <zynqmp_firmware.h>
+#include <asm/arch/sys_proto.h>
+#include <asm/io.h>
+#include <dm/device_compat.h>
+#include <dm/pinctrl.h>
+#include <linux/compat.h>
+#include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
+
+#define PINCTRL_GET_FUNC_GROUPS_RESP_LEN       12
+#define PINCTRL_GET_PIN_GROUPS_RESP_LEN                12
+#define NUM_GROUPS_PER_RESP                    6
+#define NA_GROUP                               -1
+#define RESERVED_GROUP                         -2
+#define MAX_GROUP_PIN                          50
+#define MAX_PIN_GROUPS                         50
+#define MAX_GROUP_NAME_LEN                     32
+#define MAX_FUNC_NAME_LEN                      16
+
+#define DRIVE_STRENGTH_2MA     2
+#define DRIVE_STRENGTH_4MA     4
+#define DRIVE_STRENGTH_8MA     8
+#define DRIVE_STRENGTH_12MA    12
+
+/*
+ * This driver works with very simple configuration that has the same name
+ * for group and function. This way it is compatible with the Linux Kernel
+ * driver.
+ */
+struct zynqmp_pinctrl_priv {
+       u32 npins;
+       u32 nfuncs;
+       u32 ngroups;
+       struct zynqmp_pmux_function *funcs;
+       struct zynqmp_pctrl_group *groups;
+};
+
+/**
+ * struct zynqmp_pinctrl_config - pinconfig parameters
+ * @slew:              Slew rate slow or fast
+ * @bias:              Bias enabled or disabled
+ * @pull_ctrl:         Pull control pull up or pull down
+ * @input_type:                CMOS or Schmitt
+ * @drive_strength:    Drive strength 2mA/4mA/8mA/12mA
+ * @volt_sts:          Voltage status 1.8V or 3.3V
+ * @tri_state:         Tristate enabled or disabled
+ *
+ * This structure holds information about pin control config
+ * option that can be set for each pin.
+ */
+struct zynqmp_pinctrl_config {
+       u32 slew;
+       u32 bias;
+       u32 pull_ctrl;
+       u32 input_type;
+       u32 drive_strength;
+       u32 volt_sts;
+       u32 tri_state;
+};
+
+/**
+ * enum zynqmp_pin_config_param - possible pin configuration parameters
+ * @PIN_CONFIG_IOSTANDARD:     if the pin can select an IO standard,
+ *                             the argument to this parameter (on a
+ *                             custom format) tells the driver which
+ *                             alternative IO standard to use
+ * @PIN_CONFIG_SCHMITTCMOS:    this parameter (on a custom format) allows
+ *                             to select schmitt or cmos input for MIO pins
+ */
+enum zynqmp_pin_config_param {
+       PIN_CONFIG_IOSTANDARD = PIN_CONFIG_END + 1,
+       PIN_CONFIG_SCHMITTCMOS,
+};
+
+/**
+ * struct zynqmp_pmux_function - a pinmux function
+ * @name:      Name of the pinmux function
+ * @groups:    List of pingroups for this function
+ * @ngroups:   Number of entries in @groups
+ *
+ * This structure holds information about pin control function
+ * and function group names supporting that function.
+ */
+struct zynqmp_pmux_function {
+       char name[MAX_FUNC_NAME_LEN];
+       const char * const *groups;
+       unsigned int ngroups;
+};
+
+/**
+ * struct zynqmp_pctrl_group - Pin control group info
+ * @name:      Group name
+ * @pins:      Group pin numbers
+ * @npins:     Number of pins in group
+ */
+struct zynqmp_pctrl_group {
+       const char *name;
+       unsigned int pins[MAX_GROUP_PIN];
+       unsigned int npins;
+};
+
+static char pin_name[PINNAME_SIZE];
+
+/**
+ * zynqmp_pm_query_data() - Get query data from firmware
+ * @qid:       Value of enum pm_query_id
+ * @arg1:      Argument 1
+ * @arg2:      Argument 2
+ * @out:       Returned output value
+ *
+ * Return: Returns status, either success or error+reason
+ */
+static int zynqmp_pm_query_data(enum pm_query_id qid, u32 arg1, u32 arg2, u32 *out)
+{
+       int ret;
+       u32 ret_payload[PAYLOAD_ARG_CNT];
+
+       ret = xilinx_pm_request(PM_QUERY_DATA, qid, arg1, arg2, 0, ret_payload);
+       if (ret)
+               return ret;
+
+       *out = ret_payload[1];
+
+       return ret;
+}
+
+static int zynqmp_pm_pinctrl_get_config(const u32 pin, const u32 param, u32 *value)
+{
+       int ret;
+       u32 ret_payload[PAYLOAD_ARG_CNT];
+
+       /* Get config for the pin */
+       ret = xilinx_pm_request(PM_PINCTRL_CONFIG_PARAM_GET, pin, param, 0, 0, ret_payload);
+       if (ret) {
+               printf("%s failed\n", __func__);
+               return ret;
+       }
+
+       *value = ret_payload[1];
+
+       return ret;
+}
+
+static int zynqmp_pm_pinctrl_set_config(const u32 pin, const u32 param, u32 value)
+{
+       int ret;
+
+       /* Request the pin first */
+       ret = xilinx_pm_request(PM_PINCTRL_REQUEST, pin, 0, 0, 0, NULL);
+       if (ret) {
+               printf("%s: pin request failed\n", __func__);
+               return ret;
+       }
+
+       /* Set config for the pin */
+       ret = xilinx_pm_request(PM_PINCTRL_CONFIG_PARAM_SET, pin, param, value, 0, NULL);
+       if (ret) {
+               printf("%s failed\n", __func__);
+               return ret;
+       }
+
+       return ret;
+}
+
+static int zynqmp_pinctrl_get_function_groups(u32 fid, u32 index, u16 *groups)
+{
+       int ret;
+       u32 ret_payload[PAYLOAD_ARG_CNT];
+
+       ret = xilinx_pm_request(PM_QUERY_DATA, PM_QID_PINCTRL_GET_FUNCTION_GROUPS,
+                               fid, index, 0, ret_payload);
+       if (ret) {
+               printf("%s failed\n", __func__);
+               return ret;
+       }
+
+       memcpy(groups, &ret_payload[1], PINCTRL_GET_FUNC_GROUPS_RESP_LEN);
+
+       return ret;
+}
+
+static int zynqmp_pinctrl_prepare_func_groups(u32 fid,
+                                             struct zynqmp_pmux_function *func,
+                                             struct zynqmp_pctrl_group *groups)
+{
+       const char **fgroups;
+       char name[MAX_GROUP_NAME_LEN];
+       u16 resp[NUM_GROUPS_PER_RESP] = {0};
+       int ret, index, i;
+
+       fgroups = kcalloc(func->ngroups, sizeof(*fgroups), GFP_KERNEL);
+       if (!fgroups)
+               return -ENOMEM;
+
+       for (index = 0; index < func->ngroups; index += NUM_GROUPS_PER_RESP) {
+               ret = zynqmp_pinctrl_get_function_groups(fid, index, resp);
+               if (ret)
+                       return ret;
+
+               for (i = 0; i < NUM_GROUPS_PER_RESP; i++) {
+                       if (resp[i] == (u16)NA_GROUP)
+                               goto done;
+                       if (resp[i] == (u16)RESERVED_GROUP)
+                               continue;
+
+                       snprintf(name, MAX_GROUP_NAME_LEN, "%s_%d_grp",
+                                func->name, index + i);
+                       fgroups[index + i] = strdup(name);
+
+                       snprintf(name, MAX_GROUP_NAME_LEN, "%s_%d_grp",
+                                func->name, index + i);
+                       groups[resp[i]].name = strdup(name);
+               }
+       }
+done:
+       func->groups = fgroups;
+
+       return ret;
+}
+
+static int zynqmp_pinctrl_get_pin_groups(u32 pin, u32 index, u16 *groups)
+{
+       int ret;
+       u32 ret_payload[PAYLOAD_ARG_CNT];
+
+       ret = xilinx_pm_request(PM_QUERY_DATA, PM_QID_PINCTRL_GET_PIN_GROUPS,
+                               pin, index, 0, ret_payload);
+       if (ret) {
+               printf("%s failed to get pin groups\n", __func__);
+               return ret;
+       }
+
+       memcpy(groups, &ret_payload[1], PINCTRL_GET_PIN_GROUPS_RESP_LEN);
+
+       return ret;
+}
+
+static void zynqmp_pinctrl_group_add_pin(struct zynqmp_pctrl_group *group,
+                                        unsigned int pin)
+{
+       group->pins[group->npins++] = pin;
+}
+
+static int zynqmp_pinctrl_create_pin_groups(struct zynqmp_pctrl_group *groups,
+                                           unsigned int pin)
+{
+       u16 resp[NUM_GROUPS_PER_RESP] = {0};
+       int ret, i, index = 0;
+
+       do {
+               ret = zynqmp_pinctrl_get_pin_groups(pin, index, resp);
+               if (ret)
+                       return ret;
+
+               for (i = 0; i < NUM_GROUPS_PER_RESP; i++) {
+                       if (resp[i] == (u16)NA_GROUP)
+                               goto done;
+                       if (resp[i] == (u16)RESERVED_GROUP)
+                               continue;
+                       zynqmp_pinctrl_group_add_pin(&groups[resp[i]], pin);
+               }
+               index += NUM_GROUPS_PER_RESP;
+       } while (index <= MAX_PIN_GROUPS);
+
+done:
+       return ret;
+}
+
+static int zynqmp_pinctrl_probe(struct udevice *dev)
+{
+       struct zynqmp_pinctrl_priv *priv = dev_get_priv(dev);
+       int ret, i;
+       u32 pin;
+       u32 ret_payload[PAYLOAD_ARG_CNT];
+
+       /* Get number of pins first */
+       ret = zynqmp_pm_query_data(PM_QID_PINCTRL_GET_NUM_PINS, 0, 0, &priv->npins);
+       if (ret) {
+               printf("%s failed to get no of pins\n", __func__);
+               return ret;
+       }
+
+       /* Get number of functions available */
+       ret = zynqmp_pm_query_data(PM_QID_PINCTRL_GET_NUM_FUNCTIONS, 0, 0, &priv->nfuncs);
+       if (ret) {
+               printf("%s failed to get no of functions\n", __func__);
+               return ret;
+       }
+
+       /* Allocating structures for functions and its groups */
+       priv->funcs = kzalloc(sizeof(*priv->funcs) * priv->nfuncs, GFP_KERNEL);
+       if (!priv->funcs)
+               return -ENOMEM;
+
+       for (i = 0; i < priv->nfuncs; i++) {
+               /* Get function name for the function and fill */
+               xilinx_pm_request(PM_QUERY_DATA, PM_QID_PINCTRL_GET_FUNCTION_NAME,
+                                 i, 0, 0, ret_payload);
+
+               memcpy((void *)priv->funcs[i].name, ret_payload, MAX_FUNC_NAME_LEN);
+
+               /* And fill number of groups available for certain function */
+               xilinx_pm_request(PM_QUERY_DATA, PM_QID_PINCTRL_GET_NUM_FUNCTION_GROUPS,
+                                 i, 0, 0, ret_payload);
+
+               priv->funcs[i].ngroups = ret_payload[1];
+               priv->ngroups += priv->funcs[i].ngroups;
+       }
+
+       /* Prepare all groups */
+       priv->groups = kzalloc(sizeof(*priv->groups) * priv->ngroups,
+                              GFP_KERNEL);
+       if (!priv->groups)
+               return -ENOMEM;
+
+       for (i = 0; i < priv->nfuncs; i++) {
+               ret = zynqmp_pinctrl_prepare_func_groups(i, &priv->funcs[i],
+                                                        priv->groups);
+               if (ret) {
+                       printf("Failed to prepare_func_groups\n");
+                       return ret;
+               }
+       }
+
+       for (pin = 0; pin < priv->npins; pin++) {
+               ret = zynqmp_pinctrl_create_pin_groups(priv->groups, pin);
+               if (ret)
+                       return ret;
+       }
+
+       return 0;
+}
+
+static int zynqmp_pinctrl_get_functions_count(struct udevice *dev)
+{
+       struct zynqmp_pinctrl_priv *priv = dev_get_priv(dev);
+
+       return priv->nfuncs;
+}
+
+static const char *zynqmp_pinctrl_get_function_name(struct udevice *dev,
+                                                   unsigned int selector)
+{
+       struct zynqmp_pinctrl_priv *priv = dev_get_priv(dev);
+
+       return priv->funcs[selector].name;
+}
+
+static int zynqmp_pinmux_set(struct udevice *dev, unsigned int selector,
+                            unsigned int func_selector)
+{
+       int ret;
+
+       /* Request the pin first */
+       ret = xilinx_pm_request(PM_PINCTRL_REQUEST, selector, 0, 0, 0, NULL);
+       if (ret) {
+               printf("%s: pin request failed\n", __func__);
+               return ret;
+       }
+
+       /* Set the pin function */
+       ret = xilinx_pm_request(PM_PINCTRL_SET_FUNCTION, selector, func_selector,
+                               0, 0, NULL);
+       if (ret) {
+               printf("%s: Failed to set pinmux function\n", __func__);
+               return ret;
+       }
+
+       return 0;
+}
+
+static int zynqmp_pinmux_group_set(struct udevice *dev, unsigned int selector,
+                                  unsigned int func_selector)
+{
+       int i;
+       struct zynqmp_pinctrl_priv *priv = dev_get_priv(dev);
+       const struct zynqmp_pctrl_group *pgrp = &priv->groups[selector];
+
+       for (i = 0; i < pgrp->npins; i++)
+               zynqmp_pinmux_set(dev, pgrp->pins[i], func_selector);
+
+       return 0;
+}
+
+static int zynqmp_pinconf_set(struct udevice *dev, unsigned int pin,
+                             unsigned int param, unsigned int arg)
+{
+       int ret = 0;
+       unsigned int value;
+
+       switch (param) {
+       case PIN_CONFIG_SLEW_RATE:
+               param = PM_PINCTRL_CONFIG_SLEW_RATE;
+               ret = zynqmp_pm_pinctrl_set_config(pin, param, arg);
+               break;
+       case PIN_CONFIG_BIAS_PULL_UP:
+               param = PM_PINCTRL_CONFIG_PULL_CTRL;
+               arg = PM_PINCTRL_BIAS_PULL_UP;
+               ret = zynqmp_pm_pinctrl_set_config(pin, param, arg);
+               break;
+       case PIN_CONFIG_BIAS_PULL_DOWN:
+               param = PM_PINCTRL_CONFIG_PULL_CTRL;
+               arg = PM_PINCTRL_BIAS_PULL_DOWN;
+               ret = zynqmp_pm_pinctrl_set_config(pin, param, arg);
+               break;
+       case PIN_CONFIG_BIAS_DISABLE:
+               param = PM_PINCTRL_CONFIG_BIAS_STATUS;
+               arg = PM_PINCTRL_BIAS_DISABLE;
+               ret = zynqmp_pm_pinctrl_set_config(pin, param, arg);
+               break;
+       case PIN_CONFIG_SCHMITTCMOS:
+               param = PM_PINCTRL_CONFIG_SCHMITT_CMOS;
+               ret = zynqmp_pm_pinctrl_set_config(pin, param, arg);
+               break;
+       case PIN_CONFIG_INPUT_SCHMITT_ENABLE:
+               param = PM_PINCTRL_CONFIG_SCHMITT_CMOS;
+               ret = zynqmp_pm_pinctrl_set_config(pin, param, arg);
+               break;
+       case PIN_CONFIG_DRIVE_STRENGTH:
+               switch (arg) {
+               case DRIVE_STRENGTH_2MA:
+                       value = PM_PINCTRL_DRIVE_STRENGTH_2MA;
+                       break;
+               case DRIVE_STRENGTH_4MA:
+                       value = PM_PINCTRL_DRIVE_STRENGTH_4MA;
+                       break;
+               case DRIVE_STRENGTH_8MA:
+                       value = PM_PINCTRL_DRIVE_STRENGTH_8MA;
+                       break;
+               case DRIVE_STRENGTH_12MA:
+                       value = PM_PINCTRL_DRIVE_STRENGTH_12MA;
+                       break;
+               default:
+                       /* Invalid drive strength */
+                       dev_warn(dev, "Invalid drive strength for pin %d\n", pin);
+                       return -EINVAL;
+               }
+
+               param = PM_PINCTRL_CONFIG_DRIVE_STRENGTH;
+               ret = zynqmp_pm_pinctrl_set_config(pin, param, value);
+               break;
+       case PIN_CONFIG_IOSTANDARD:
+               param = PM_PINCTRL_CONFIG_VOLTAGE_STATUS;
+               ret = zynqmp_pm_pinctrl_get_config(pin, param, &value);
+               if (arg != value)
+                       dev_warn(dev, "Invalid IO Standard requested for pin %d\n",
+                                pin);
+               break;
+       case PIN_CONFIG_POWER_SOURCE:
+               param = PM_PINCTRL_CONFIG_VOLTAGE_STATUS;
+               ret = zynqmp_pm_pinctrl_get_config(pin, param, &value);
+               if (arg != value)
+                       dev_warn(dev, "Invalid IO Standard requested for pin %d\n",
+                                pin);
+               break;
+       case PIN_CONFIG_BIAS_HIGH_IMPEDANCE:
+       case PIN_CONFIG_LOW_POWER_MODE:
+               /*
+                * This cases are mentioned in dts but configurable
+                * registers are unknown. So falling through to ignore
+                * boot time warnings as of now.
+                */
+               ret = 0;
+               break;
+       default:
+               dev_warn(dev, "unsupported configuration parameter '%u'\n",
+                        param);
+               ret = -ENOTSUPP;
+               break;
+       }
+
+       return ret;
+}
+
+static int zynqmp_pinconf_group_set(struct udevice *dev,
+                                   unsigned int group_selector,
+                                   unsigned int param, unsigned int arg)
+{
+       int i;
+       struct zynqmp_pinctrl_priv *priv = dev_get_priv(dev);
+       const struct zynqmp_pctrl_group *pgrp = &priv->groups[group_selector];
+
+       for (i = 0; i < pgrp->npins; i++)
+               zynqmp_pinconf_set(dev, pgrp->pins[i], param, arg);
+
+       return 0;
+}
+
+static int zynqmp_pinctrl_get_pins_count(struct udevice *dev)
+{
+       struct zynqmp_pinctrl_priv *priv = dev_get_priv(dev);
+
+       return priv->npins;
+}
+
+static const char *zynqmp_pinctrl_get_pin_name(struct udevice *dev,
+                                              unsigned int selector)
+{
+       snprintf(pin_name, PINNAME_SIZE, "MIO%d", selector);
+
+       return pin_name;
+}
+
+static int zynqmp_pinctrl_get_pin_muxing(struct udevice *dev,
+                                        unsigned int selector,
+                                        char *buf,
+                                        int size)
+{
+       struct zynqmp_pinctrl_config pinmux;
+
+       zynqmp_pm_pinctrl_get_config(selector, PM_PINCTRL_CONFIG_SLEW_RATE,
+                                    &pinmux.slew);
+       zynqmp_pm_pinctrl_get_config(selector, PM_PINCTRL_CONFIG_BIAS_STATUS,
+                                    &pinmux.bias);
+       zynqmp_pm_pinctrl_get_config(selector, PM_PINCTRL_CONFIG_PULL_CTRL,
+                                    &pinmux.pull_ctrl);
+       zynqmp_pm_pinctrl_get_config(selector, PM_PINCTRL_CONFIG_SCHMITT_CMOS,
+                                    &pinmux.input_type);
+       zynqmp_pm_pinctrl_get_config(selector, PM_PINCTRL_CONFIG_DRIVE_STRENGTH,
+                                    &pinmux.drive_strength);
+       zynqmp_pm_pinctrl_get_config(selector, PM_PINCTRL_CONFIG_VOLTAGE_STATUS,
+                                    &pinmux.volt_sts);
+
+       switch (pinmux.drive_strength) {
+       case PM_PINCTRL_DRIVE_STRENGTH_2MA:
+               pinmux.drive_strength = DRIVE_STRENGTH_2MA;
+               break;
+       case PM_PINCTRL_DRIVE_STRENGTH_4MA:
+               pinmux.drive_strength = DRIVE_STRENGTH_4MA;
+               break;
+       case PM_PINCTRL_DRIVE_STRENGTH_8MA:
+               pinmux.drive_strength = DRIVE_STRENGTH_8MA;
+               break;
+       case PM_PINCTRL_DRIVE_STRENGTH_12MA:
+               pinmux.drive_strength = DRIVE_STRENGTH_12MA;
+               break;
+       default:
+               /* Invalid drive strength */
+               dev_warn(dev, "Invalid drive strength\n");
+               return -EINVAL;
+       }
+
+       snprintf(buf, size, "slew:%s\tbias:%s\tpull:%s\tinput:%s\tdrive:%dmA\tvolt:%s",
+                pinmux.slew ? "slow" : "fast",
+                pinmux.bias ? "enabled" : "disabled",
+                pinmux.pull_ctrl ? "up" : "down",
+                pinmux.input_type ? "schmitt" : "cmos",
+                pinmux.drive_strength,
+                pinmux.volt_sts ? "1.8" : "3.3");
+
+       return 0;
+}
+
+static int zynqmp_pinctrl_get_groups_count(struct udevice *dev)
+{
+       struct zynqmp_pinctrl_priv *priv = dev_get_priv(dev);
+
+       return priv->ngroups;
+}
+
+static const char *zynqmp_pinctrl_get_group_name(struct udevice *dev,
+                                                unsigned int selector)
+{
+       struct zynqmp_pinctrl_priv *priv = dev_get_priv(dev);
+
+       return priv->groups[selector].name;
+}
+
+static const struct pinconf_param zynqmp_conf_params[] = {
+       { "bias-bus-hold", PIN_CONFIG_BIAS_BUS_HOLD, 0 },
+       { "bias-disable", PIN_CONFIG_BIAS_DISABLE, 0 },
+       { "bias-high-impedance", PIN_CONFIG_BIAS_HIGH_IMPEDANCE, 0 },
+       { "bias-pull-up", PIN_CONFIG_BIAS_PULL_UP, 1 },
+       { "bias-pull-pin-default", PIN_CONFIG_BIAS_PULL_PIN_DEFAULT, 1 },
+       { "bias-pull-down", PIN_CONFIG_BIAS_PULL_DOWN, 1 },
+       { "drive-open-drain", PIN_CONFIG_DRIVE_OPEN_DRAIN, 0 },
+       { "drive-open-source", PIN_CONFIG_DRIVE_OPEN_SOURCE, 0 },
+       { "drive-push-pull", PIN_CONFIG_DRIVE_PUSH_PULL, 0 },
+       { "drive-strength", PIN_CONFIG_DRIVE_STRENGTH, 0 },
+       { "drive-strength-microamp", PIN_CONFIG_DRIVE_STRENGTH_UA, 0 },
+       { "input-debounce", PIN_CONFIG_INPUT_DEBOUNCE, 0 },
+       { "input-disable", PIN_CONFIG_INPUT_ENABLE, 0 },
+       { "input-enable", PIN_CONFIG_INPUT_ENABLE, 1 },
+       { "input-schmitt", PIN_CONFIG_INPUT_SCHMITT, 0 },
+       { "input-schmitt-disable", PIN_CONFIG_INPUT_SCHMITT_ENABLE, 0 },
+       { "input-schmitt-enable", PIN_CONFIG_INPUT_SCHMITT_ENABLE, 1 },
+       { "low-power-disable", PIN_CONFIG_LOW_POWER_MODE, 0 },
+       { "low-power-enable", PIN_CONFIG_LOW_POWER_MODE, 1 },
+       { "output-disable", PIN_CONFIG_OUTPUT_ENABLE, 0 },
+       { "output-enable", PIN_CONFIG_OUTPUT_ENABLE, 1 },
+       { "output-high", PIN_CONFIG_OUTPUT, 1, },
+       { "output-low", PIN_CONFIG_OUTPUT, 0, },
+       { "power-source", PIN_CONFIG_POWER_SOURCE, 0 },
+       { "sleep-hardware-state", PIN_CONFIG_SLEEP_HARDWARE_STATE, 0 },
+       { "slew-rate", PIN_CONFIG_SLEW_RATE, 0 },
+       { "skew-delay", PIN_CONFIG_SKEW_DELAY, 0 },
+       /* zynqmp specific */
+       {"io-standard", PIN_CONFIG_IOSTANDARD, IO_STANDARD_LVCMOS18},
+       {"schmitt-cmos", PIN_CONFIG_SCHMITTCMOS, PM_PINCTRL_INPUT_TYPE_SCHMITT},
+};
+
+static struct pinctrl_ops zynqmp_pinctrl_ops = {
+       .get_pins_count = zynqmp_pinctrl_get_pins_count,
+       .get_pin_name = zynqmp_pinctrl_get_pin_name,
+       .get_pin_muxing = zynqmp_pinctrl_get_pin_muxing,
+       .set_state = pinctrl_generic_set_state,
+       .get_groups_count = zynqmp_pinctrl_get_groups_count,
+       .get_group_name = zynqmp_pinctrl_get_group_name,
+       .get_functions_count = zynqmp_pinctrl_get_functions_count,
+       .get_function_name = zynqmp_pinctrl_get_function_name,
+       .pinmux_group_set = zynqmp_pinmux_group_set,
+       .pinmux_set = zynqmp_pinmux_set,
+       .pinconf_params = zynqmp_conf_params,
+       .pinconf_group_set = zynqmp_pinconf_group_set,
+       .pinconf_set = zynqmp_pinconf_set,
+       .pinconf_num_params = ARRAY_SIZE(zynqmp_conf_params),
+};
+
+static const struct udevice_id zynqmp_pinctrl_ids[] = {
+       { .compatible = "xlnx,zynqmp-pinctrl" },
+       { }
+};
+
+U_BOOT_DRIVER(pinctrl_zynqmp) = {
+       .name = "zynqmp-pinctrl",
+       .id = UCLASS_PINCTRL,
+       .of_match = zynqmp_pinctrl_ids,
+       .priv_auto = sizeof(struct zynqmp_pinctrl_priv),
+       .ops = &zynqmp_pinctrl_ops,
+       .probe = zynqmp_pinctrl_probe,
+};
index 5383d09896986f6ffd418f7ca8e9ebfb3aff6ef1..6943658be429aa32f7938d2c5759e44b628f3bf9 100644 (file)
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <dm.h>
+#include <dm/device_compat.h>
 #include <log.h>
 #include <malloc.h>
 #include <misc.h>
 
 #include <zynqmp_firmware.h>
 
-#define NODE_ID_LOCATION       5
-
-static unsigned int xpm_configobject[] = {
-       /* HEADER */
-       2,      /* Number of remaining words in the header */
-       1,      /* Number of sections included in config object */
-       PM_CONFIG_OBJECT_TYPE_OVERLAY,  /* Type of Config object as overlay */
-       /* SLAVE SECTION */
-
-       PM_CONFIG_SLAVE_SECTION_ID,     /* Section ID */
-       1,                              /* Number of slaves */
-
-       0, /* Node ID which will be changed below */
-       PM_SLAVE_FLAG_IS_SHAREABLE,
-       PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK |
-       PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK |
-       PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
-};
-
 static int zynqmp_pm_request_node(const u32 node, const u32 capabilities,
                                  const u32 qos, const enum zynqmp_pm_request_ack ack)
 {
@@ -41,12 +23,9 @@ static int zynqmp_pm_request_node(const u32 node, const u32 capabilities,
 
 static int zynqmp_power_domain_request(struct power_domain *power_domain)
 {
-       /* Record power domain id */
-       xpm_configobject[NODE_ID_LOCATION] = power_domain->id;
-
-       zynqmp_pmufw_load_config_object(xpm_configobject, sizeof(xpm_configobject));
+       dev_dbg(power_domain->dev, "Request for id: %ld\n", power_domain->id);
 
-       return 0;
+       return zynqmp_pmufw_node(power_domain->id);
 }
 
 static int zynqmp_power_domain_free(struct power_domain *power_domain)
@@ -57,6 +36,8 @@ static int zynqmp_power_domain_free(struct power_domain *power_domain)
 
 static int zynqmp_power_domain_on(struct power_domain *power_domain)
 {
+       dev_dbg(power_domain->dev, "Domain ON for id: %ld\n", power_domain->id);
+
        return zynqmp_pm_request_node(power_domain->id,
                                      ZYNQMP_PM_CAPABILITY_ACCESS,
                                      ZYNQMP_PM_MAX_QOS,
index 3ddeaf4adcb1a65c8a4c62aa86b0b902a9389201..2966bdcf830f80fef0c853436a917af45bcd5824 100644 (file)
@@ -38,7 +38,7 @@ static int scmi_voltd_set_enable(struct udevice *dev, bool enable)
                                          in, out);
        int ret;
 
-       ret = devm_scmi_process_msg(dev->parent->parent, &msg);
+       ret = devm_scmi_process_msg(dev, &msg);
        if (ret)
                return ret;
 
@@ -61,7 +61,7 @@ static int scmi_voltd_get_enable(struct udevice *dev)
                                          in, out);
        int ret;
 
-       ret = devm_scmi_process_msg(dev->parent->parent, &msg);
+       ret = devm_scmi_process_msg(dev, &msg);
        if (ret < 0)
                return ret;
 
@@ -85,7 +85,7 @@ static int scmi_voltd_set_voltage_level(struct udevice *dev, int uV)
                                          in, out);
        int ret;
 
-       ret = devm_scmi_process_msg(dev->parent->parent, &msg);
+       ret = devm_scmi_process_msg(dev, &msg);
        if (ret < 0)
                return ret;
 
@@ -104,7 +104,7 @@ static int scmi_voltd_get_voltage_level(struct udevice *dev)
                                          in, out);
        int ret;
 
-       ret = devm_scmi_process_msg(dev->parent->parent, &msg);
+       ret = devm_scmi_process_msg(dev, &msg);
        if (ret < 0)
                return ret;
 
@@ -147,7 +147,7 @@ static int scmi_regulator_probe(struct udevice *dev)
        /* Check voltage domain is known from SCMI server */
        in.domain_id = pdata->domain_id;
 
-       ret = devm_scmi_process_msg(dev->parent->parent, &scmi_msg);
+       ret = devm_scmi_process_msg(dev, &scmi_msg);
        if (ret) {
                dev_err(dev, "Failed to query voltage domain %u: %d\n",
                        pdata->domain_id, ret);
index 669d3fa4fc59ee0c2aed7432391badb9348019bf..6be612d58a9aa2cd00c66fce1f7c13ca4f1097b9 100644 (file)
@@ -9,6 +9,14 @@ config DM_PWM
          frequency/period can be controlled along with the proportion of that
          time that the signal is high.
 
+config PWM_ASPEED
+       bool "Enable support for the Aspeed PWM"
+       depends on DM_PWM
+       help
+         This PWM is found on Ast2600 SoCs. It supports a programmable period
+         and duty cycle. It provides 16 channels which can be independently
+         programmed.
+
 config PWM_AT91
        bool "Enable support for PWM found on AT91 SoC's"
        depends on DM_PWM && ARCH_AT91
index 55f2bc081d253671f13457fd2e48ee2a3106232f..5d31812d52a6f76756141352db363e1370452599 100644 (file)
@@ -10,6 +10,7 @@
 
 obj-$(CONFIG_DM_PWM)           += pwm-uclass.o
 
+obj-$(CONFIG_PWM_ASPEED)       += pwm-aspeed.o
 obj-$(CONFIG_PWM_AT91)         += pwm-at91.o
 obj-$(CONFIG_PWM_CROS_EC)      += cros_ec_pwm.o
 obj-$(CONFIG_PWM_EXYNOS)       += exynos_pwm.o
diff --git a/drivers/pwm/pwm-aspeed.c b/drivers/pwm/pwm-aspeed.c
new file mode 100644 (file)
index 0000000..ba98641
--- /dev/null
@@ -0,0 +1,251 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2022 Aspeed Technology Inc.
+ *
+ * PWM controller driver for Aspeed ast2600 SoCs.
+ * This drivers doesn't support earlier version of the IP.
+ *
+ * The formula of pwm period duration:
+ * period duration = ((DIV_L + 1) * (PERIOD + 1) << DIV_H) / input-clk
+ *
+ * The formula of pwm duty cycle duration:
+ * duty cycle duration = period duration * DUTY_CYCLE_FALLING_POINT / (PERIOD + 1)
+ * = ((DIV_L + 1) * DUTY_CYCLE_FALLING_POINT << DIV_H) / input-clk
+ *
+ * The software driver fixes the period to 255, which causes the high-frequency
+ * precision of the PWM to be coarse, in exchange for the fineness of the duty cycle.
+ *
+ * Register usage:
+ * PIN_ENABLE: When it is unset the pwm controller will always output low to the extern.
+ * Use to determine whether the PWM channel is enabled or disabled
+ * CLK_ENABLE: When it is unset the pwm controller will reset the duty counter to 0 and
+ * output low to the PIN_ENABLE mux after that the driver can still change the pwm period
+ * and duty and the value will apply when CLK_ENABLE be set again.
+ * Use to determine whether duty_cycle bigger than 0.
+ * PWM_ASPEED_CTRL_INVERSE: When it is toggled the output value will inverse immediately.
+ * PWM_ASPEED_DUTY_CYCLE_FALLING_POINT/PWM_ASPEED_DUTY_CYCLE_RISING_POINT: When these two
+ * values are equal it means the duty cycle = 100%.
+ *
+ * Limitations:
+ * - When changing both duty cycle and period, we cannot prevent in
+ *   software that the output might produce a period with mixed
+ *   settings.
+ * - Disabling the PWM doesn't complete the current period.
+ *
+ * Improvements:
+ * - When only changing one of duty cycle or period, our pwm controller will not
+ *   generate the glitch, the configure will change at next cycle of pwm.
+ *   This improvement can disable/enable through PWM_ASPEED_CTRL_DUTY_SYNC_DISABLE.
+ */
+
+#include <common.h>
+#include <div64.h>
+#include <dm.h>
+#include <pwm.h>
+#include <clk.h>
+#include <reset.h>
+#include <regmap.h>
+#include <syscon.h>
+#include <dm/device_compat.h>
+#include <linux/math64.h>
+#include <linux/bitfield.h>
+#include <asm/io.h>
+
+/* The channel number of Aspeed pwm controller */
+#define PWM_ASPEED_NR_PWMS 16
+
+/* PWM Control Register */
+#define PWM_ASPEED_CTRL(ch) ((ch) * 0x10 + 0x00)
+#define PWM_ASPEED_CTRL_LOAD_SEL_RISING_AS_WDT BIT(19)
+#define PWM_ASPEED_CTRL_DUTY_LOAD_AS_WDT_ENABLE BIT(18)
+#define PWM_ASPEED_CTRL_DUTY_SYNC_DISABLE BIT(17)
+#define PWM_ASPEED_CTRL_CLK_ENABLE BIT(16)
+#define PWM_ASPEED_CTRL_LEVEL_OUTPUT BIT(15)
+#define PWM_ASPEED_CTRL_INVERSE BIT(14)
+#define PWM_ASPEED_CTRL_OPEN_DRAIN_ENABLE BIT(13)
+#define PWM_ASPEED_CTRL_PIN_ENABLE BIT(12)
+#define PWM_ASPEED_CTRL_CLK_DIV_H GENMASK(11, 8)
+#define PWM_ASPEED_CTRL_CLK_DIV_L GENMASK(7, 0)
+
+/* PWM Duty Cycle Register */
+#define PWM_ASPEED_DUTY_CYCLE(ch) ((ch) * 0x10 + 0x04)
+#define PWM_ASPEED_DUTY_CYCLE_PERIOD GENMASK(31, 24)
+#define PWM_ASPEED_DUTY_CYCLE_POINT_AS_WDT GENMASK(23, 16)
+#define PWM_ASPEED_DUTY_CYCLE_FALLING_POINT GENMASK(15, 8)
+#define PWM_ASPEED_DUTY_CYCLE_RISING_POINT GENMASK(7, 0)
+
+/* PWM fixed value */
+#define PWM_ASPEED_FIXED_PERIOD 0xff
+
+#define NSEC_PER_SEC                   1000000000L
+
+struct aspeed_pwm_priv {
+       struct clk clk;
+       struct regmap *regmap;
+       struct reset_ctl reset;
+};
+
+static int aspeed_pwm_set_invert(struct udevice *dev, uint channel, bool polarity)
+{
+       struct aspeed_pwm_priv *priv = dev_get_priv(dev);
+
+       if (channel >= PWM_ASPEED_NR_PWMS)
+               return -EINVAL;
+
+       regmap_update_bits(priv->regmap, PWM_ASPEED_CTRL(channel),
+                          PWM_ASPEED_CTRL_INVERSE,
+                          FIELD_PREP(PWM_ASPEED_CTRL_INVERSE,
+                                     polarity));
+       return 0;
+}
+
+static int aspeed_pwm_set_enable(struct udevice *dev, uint channel, bool enable)
+{
+       struct aspeed_pwm_priv *priv = dev_get_priv(dev);
+
+       if (channel >= PWM_ASPEED_NR_PWMS)
+               return -EINVAL;
+
+       regmap_update_bits(priv->regmap, PWM_ASPEED_CTRL(channel),
+                          PWM_ASPEED_CTRL_PIN_ENABLE,
+                          enable ? PWM_ASPEED_CTRL_PIN_ENABLE : 0);
+       return 0;
+}
+
+static int aspeed_pwm_set_config(struct udevice *dev, uint channel,
+                                uint period_ns, uint duty_ns)
+{
+       struct aspeed_pwm_priv *priv = dev_get_priv(dev);
+       u32 duty_pt;
+       unsigned long rate;
+       u64 div_h, div_l, divisor;
+       bool clk_en;
+
+       if (channel >= PWM_ASPEED_NR_PWMS)
+               return -EINVAL;
+       dev_dbg(dev, "expect period: %dns, duty_cycle: %dns\n", period_ns,
+               duty_ns);
+
+       rate = clk_get_rate(&priv->clk);
+       /*
+        * Pick the smallest value for div_h so that div_l can be the biggest
+        * which results in a finer resolution near the target period value.
+        */
+       divisor = (u64)NSEC_PER_SEC * (PWM_ASPEED_FIXED_PERIOD + 1) *
+                 (PWM_ASPEED_CTRL_CLK_DIV_L + 1);
+       div_h = order_base_2(div64_u64((u64)rate * period_ns + divisor - 1, divisor));
+       if (div_h > 0xf)
+               div_h = 0xf;
+
+       divisor = ((u64)NSEC_PER_SEC * (PWM_ASPEED_FIXED_PERIOD + 1)) << div_h;
+       div_l = div64_u64((u64)rate * period_ns, divisor);
+
+       if (div_l == 0)
+               return -ERANGE;
+
+       div_l -= 1;
+
+       if (div_l > 255)
+               div_l = 255;
+
+       dev_dbg(dev, "clk source: %ld div_h %lld, div_l : %lld\n", rate, div_h,
+               div_l);
+       /* duty_pt = duty_cycle * (PERIOD + 1) / period */
+       duty_pt = div64_u64(duty_ns * (u64)rate,
+                           (u64)NSEC_PER_SEC * (div_l + 1) << div_h);
+       dev_dbg(dev, "duty_cycle = %d, duty_pt = %d\n", duty_ns,
+               duty_pt);
+
+       if (duty_pt == 0) {
+               clk_en = 0;
+       } else {
+               clk_en = 1;
+               if (duty_pt >= (PWM_ASPEED_FIXED_PERIOD + 1))
+                       duty_pt = 0;
+               /*
+                * Fixed DUTY_CYCLE_PERIOD to its max value to get a
+                * fine-grained resolution for duty_cycle at the expense of a
+                * coarser period resolution.
+                */
+               regmap_update_bits(priv->regmap, PWM_ASPEED_DUTY_CYCLE(channel),
+                                  PWM_ASPEED_DUTY_CYCLE_PERIOD |
+                                      PWM_ASPEED_DUTY_CYCLE_RISING_POINT |
+                                      PWM_ASPEED_DUTY_CYCLE_FALLING_POINT,
+                                  FIELD_PREP(PWM_ASPEED_DUTY_CYCLE_PERIOD,
+                                             PWM_ASPEED_FIXED_PERIOD) |
+                                      FIELD_PREP(PWM_ASPEED_DUTY_CYCLE_FALLING_POINT,
+                                                 duty_pt));
+       }
+
+       regmap_update_bits(priv->regmap, PWM_ASPEED_CTRL(channel),
+                          PWM_ASPEED_CTRL_CLK_DIV_H |
+                              PWM_ASPEED_CTRL_CLK_DIV_L |
+                              PWM_ASPEED_CTRL_CLK_ENABLE,
+                          FIELD_PREP(PWM_ASPEED_CTRL_CLK_DIV_H, div_h) |
+                              FIELD_PREP(PWM_ASPEED_CTRL_CLK_DIV_L, div_l) |
+                              FIELD_PREP(PWM_ASPEED_CTRL_CLK_ENABLE, clk_en));
+       return 0;
+}
+
+static int aspeed_pwm_probe(struct udevice *dev)
+{
+       int ret;
+       struct aspeed_pwm_priv *priv = dev_get_priv(dev);
+       struct udevice *parent_dev = dev_get_parent(dev);
+
+       priv->regmap = syscon_node_to_regmap(dev_ofnode(dev->parent));
+       if (IS_ERR(priv->regmap)) {
+               dev_err(dev, "Couldn't get regmap\n");
+               return PTR_ERR(priv->regmap);
+       }
+
+       ret = clk_get_by_index(parent_dev, 0, &priv->clk);
+       if (ret < 0) {
+               dev_err(dev, "get clock failed\n");
+               return ret;
+       }
+
+       ret = reset_get_by_index(parent_dev, 0, &priv->reset);
+       if (ret) {
+               dev_err(dev, "get reset failed\n");
+               return ret;
+       }
+       ret = reset_deassert(&priv->reset);
+       if (ret) {
+               dev_err(dev, "cannot deassert reset control: %pe\n",
+                       ERR_PTR(ret));
+               return ret;
+       }
+
+       return 0;
+}
+
+static int aspeed_pwm_remove(struct udevice *dev)
+{
+       struct aspeed_pwm_priv *priv = dev_get_priv(dev);
+
+       reset_assert(&priv->reset);
+
+       return 0;
+}
+
+static const struct pwm_ops aspeed_pwm_ops = {
+       .set_invert     = aspeed_pwm_set_invert,
+       .set_config     = aspeed_pwm_set_config,
+       .set_enable     = aspeed_pwm_set_enable,
+};
+
+static const struct udevice_id aspeed_pwm_ids[] = {
+       { .compatible = "aspeed,ast2600-pwm" },
+       { }
+};
+
+U_BOOT_DRIVER(aspeed_pwm) = {
+       .name = "aspeed_pwm",
+       .id = UCLASS_PWM,
+       .of_match = aspeed_pwm_ids,
+       .ops = &aspeed_pwm_ops,
+       .probe = aspeed_pwm_probe,
+       .remove = aspeed_pwm_remove,
+       .priv_auto = sizeof(struct aspeed_pwm_priv),
+};
index 576d5af8688e8bc52e2a11290acfd604f6705c0a..0deab8649b6464505e8bdc9d7608f7cb385eaa51 100644 (file)
@@ -1,66 +1,77 @@
-if RAM || SPL_RAM
+menuconfig ASPEED_RAM
+       bool "ASPEED SDRAM configuration"
+       depends on RAM && ARCH_ASPEED
+       default ARCH_ASPEED
+       help
+        Configuration options for DDR SDRAM on ASPEED systems.
+
+        RAM initialisation is always built in for the platform. This menu
+        allows customisation of the configuration used.
+
+if ASPEED_RAM
 
 config ASPEED_DDR4_DUALX8
        bool "Enable Dual X8 DDR4 die"
-       depends on DM && OF_CONTROL && ARCH_ASPEED
+       depends on ASPEED_RAM
+       help
+        Say Y if dual X8 DDR4 die is used on the board. The ASPEED DDRM
+        SRAM controller needs to know if the memory chip mounted on the
+        board is dual x8 die or not, otherwise it may get the wrong
+        size of the memory space.
+
+config ASPEED_BYPASS_SELFTEST
+       depends on ASPEED_RAM
+       depends on ASPEED_AST2600
+       bool "Bypass self test during initialization"
+       help
+         Say Y here to bypass DRAM self test to speed up the boot time.
+
+config ASPEED_ECC
+       bool "ASPEED SDRAM ECC"
+       depends on ASPEED_RAM
+       depends on ASPEED_AST2600
        help
-               Say Y if dual X8 DDR4 die is used on the board.  The aspeed ddr sdram
-               controller needs to know if the memory chip mounted on the board is dual
-                x8 die or not.  Or it may get the wrong size of the memory space.
+         Enable SDRAM ECC function. This configures the SDRAM controller to
+         perform error detection and correction, sacrificing 1/9th of the
+         installed RAM to do so.
 
-if ASPEED_AST2600
+
+config ASPEED_ECC_SIZE
+       int "ECC size: 0=driver auto-caluated"
+       depends on ASPEED_ECC
+       default 0
+       help
+         SDRAM size with the error correcting code enabled. The unit is
+         in Megabytes.  Noted that only the 8/9 of the configured size
+         can be used by the system.  The remaining 1/9 will be used by
+         the ECC engine.  If the size is set to 0, the sdram driver will
+         calculate the SDRAM size and set the whole range be ECC enabled.
 
 choice
-       prompt "DDR4 target date rate"
+       prompt "AST2600 DDR4 target date rate"
        default ASPEED_DDR4_1600
+       depends on ASPEED_RAM
+       depends on ASPEED_AST2600
 
 config ASPEED_DDR4_400
-       bool "DDR4 targets at 400Mbps"
-       depends on DM && OF_CONTROL && ARCH_ASPEED
+       bool "400Mbps"
        help
          select DDR4 target data rate at 400M
 
 config ASPEED_DDR4_800
-       bool "DDR4 targets at 800Mbps"
-       depends on DM && OF_CONTROL && ARCH_ASPEED
+       bool "800Mbps"
        help
          select DDR4 target data rate at 800M
 
 config ASPEED_DDR4_1333
-       bool "DDR4 targets at 1333Mbps"
-       depends on DM && OF_CONTROL && ARCH_ASPEED
+       bool "1333Mbps"
        help
          select DDR4 target data rate at 1333M
 
 config ASPEED_DDR4_1600
-       bool "DDR4 targets at 1600Mbps"
-       depends on DM && OF_CONTROL && ARCH_ASPEED
+       bool "1600Mbps"
        help
          select DDR4 target data rate at 1600M
 endchoice
 
-config ASPEED_BYPASS_SELFTEST
-       bool "bypass self test during DRAM initialization"
-       help
-         Say Y here to bypass DRAM self test to speed up the boot time
-
-config ASPEED_ECC
-       bool "aspeed SDRAM error correcting code"
-       depends on DM && OF_CONTROL && ARCH_ASPEED
-       help
-         enable SDRAM ECC function
-
-if ASPEED_ECC
-config ASPEED_ECC_SIZE
-       int "ECC size: 0=driver auto-caluated"
-       depends on ASPEED_ECC
-       default 0
-       help
-         SDRAM size with the error correcting code enabled. The unit is
-         in Megabytes.  Noted that only the 8/9 of the configured size
-         can be used by the system.  The remaining 1/9 will be used by
-         the ECC engine.  If the size is set to 0, the sdram driver will
-         calculate the SDRAM size and set the whole range be ECC enabled.
-endif # end of ASPEED_ECC
-endif # end of ASPEED_AST2600
-endif # end of RAM || SPL_RAM
+endif # End of ASPEED_RAM
index ca0135a4203d65a503dc5af561d0cf65c851fbfe..850cb188868d8c6beafd1083f9a1a0cdd342d973 100644 (file)
@@ -26,7 +26,7 @@ static int scmi_reset_set_level(struct reset_ctl *rst, bool assert_not_deassert)
                                          in, out);
        int ret;
 
-       ret = devm_scmi_process_msg(rst->dev->parent, &msg);
+       ret = devm_scmi_process_msg(rst->dev, &msg);
        if (ret)
                return ret;
 
@@ -58,7 +58,7 @@ static int scmi_reset_request(struct reset_ctl *rst)
         * We don't really care about the attribute, just check
         * the reset domain exists.
         */
-       ret = devm_scmi_process_msg(rst->dev->parent, &msg);
+       ret = devm_scmi_process_msg(rst->dev, &msg);
        if (ret)
                return ret;
 
index ff8e11f6489db4d12d6bbc97b5a69ecfafe716e0..1bf7f4a80842b24179cd1ca6926787cd8daf7b1f 100644 (file)
@@ -421,6 +421,15 @@ config VIDEO_LCD_ANX9804
        from a parallel LCD interface and translate it on the fy into a DP
        interface for driving eDP TFT displays. It uses I2C for configuration.
 
+config ATMEL_LCD
+       bool "Atmel LCD panel support"
+       depends on LCD && ARCH_AT91
+
+config ATMEL_LCD_BGR555
+       bool "Display in BGR555 mode"
+       help
+         Use the BGR555 output mode.  Otherwise RGB565 is used.
+
 config VIDEO_LCD_ORISETECH_OTM8009A
        bool "OTM8009A DSI LCD panel support"
        depends on DM_VIDEO
@@ -680,6 +689,14 @@ config VIDEO_SEPS525
          Enable support for the Syncoam PM-OLED display driver (RGB 160x128).
          Currently driver is supporting only SPI interface.
 
+config VIDEO_ZYNQMP_DPSUB
+       bool "Enable video support for ZynqMP Display Port"
+       depends on DM_VIDEO && ZYNQMP_POWER_DOMAIN
+       help
+         Enable support for Xilinx ZynqMP Display Port. Currently this file
+         is used as placeholder for driver. The main reason is to record
+         compatible string and calling power domain driver.
+
 source "drivers/video/nexell/Kconfig"
 
 config VIDEO
@@ -811,6 +828,18 @@ config LCD
          CONFIG option. See the README for details. Drives which have been
          converted to driver model will instead used CONFIG_DM_VIDEO.
 
+config LCD_INFO
+       bool "Show LCD info on-screen"
+       depends on LCD
+
+config LCD_LOGO
+       bool "Show a logo on screen"
+       depends on LCD
+
+config LCD_INFO_BELOW_LOGO
+       bool "Show LCD info below the on-screen logo"
+       depends on LCD_INFO && LCD_LOGO
+
 config VIDEO_DW_HDMI
        bool
        help
index 4038395b12897ecd9b19b90765690447df91f008..2530791eb43a6145c924b6c6185c052231fc9b3f 100644 (file)
@@ -74,6 +74,7 @@ obj-$(CONFIG_VIDEO_TEGRA20) += tegra.o
 obj-$(CONFIG_VIDEO_VCXK) += bus_vcxk.o
 obj-$(CONFIG_VIDEO_VESA) += vesa.o
 obj-$(CONFIG_VIDEO_SEPS525) += seps525.o
+obj-$(CONFIG_VIDEO_ZYNQMP_DPSUB) += zynqmp_dpsub.o
 
 obj-y += bridge/
 obj-y += sunxi/
index 88797d4a21c2f76c8a7d8a8d5872535f731b277a..9ae032e9c2d7b4c82cc68670acdd1637d800ce5d 100644 (file)
@@ -209,7 +209,7 @@ int video_sync(struct udevice *vid, bool force)
        struct video_priv *priv = dev_get_uclass_priv(vid);
        static ulong last_sync;
 
-       if (force || get_timer(last_sync) > 10) {
+       if (force || get_timer(last_sync) > 100) {
                sandbox_sdl_sync(priv->fb);
                last_sync = get_timer(0);
        }
diff --git a/drivers/video/zynqmp_dpsub.c b/drivers/video/zynqmp_dpsub.c
new file mode 100644 (file)
index 0000000..4ead663
--- /dev/null
@@ -0,0 +1,66 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2021 Xilinx Inc.
+ */
+
+#include <common.h>
+#include <cpu_func.h>
+#include <dm.h>
+#include <errno.h>
+#include <video.h>
+#include <dm/device_compat.h>
+
+#define WIDTH  640
+#define HEIGHT 480
+
+/**
+ * struct zynqmp_dpsub_priv - Private structure
+ * @dev: Device uclass for video_ops
+ */
+struct zynqmp_dpsub_priv {
+       struct udevice *dev;
+};
+
+static int zynqmp_dpsub_probe(struct udevice *dev)
+{
+       struct video_priv *uc_priv = dev_get_uclass_priv(dev);
+       struct zynqmp_dpsub_priv *priv = dev_get_priv(dev);
+
+       uc_priv->bpix = VIDEO_BPP16;
+       uc_priv->xsize = WIDTH;
+       uc_priv->ysize = HEIGHT;
+       uc_priv->rot = 0;
+
+       priv->dev = dev;
+
+       /* Only placeholder for power domain driver */
+       return 0;
+}
+
+static int zynqmp_dpsub_bind(struct udevice *dev)
+{
+       struct video_uc_plat *plat = dev_get_uclass_plat(dev);
+
+       plat->size = WIDTH * HEIGHT * 16;
+
+       return 0;
+}
+
+static const struct video_ops zynqmp_dpsub_ops = {
+};
+
+static const struct udevice_id zynqmp_dpsub_ids[] = {
+       { .compatible = "xlnx,zynqmp-dpsub-1.7" },
+       { }
+};
+
+U_BOOT_DRIVER(zynqmp_dpsub_video) = {
+       .name = "zynqmp_dpsub_video",
+       .id = UCLASS_VIDEO,
+       .of_match = zynqmp_dpsub_ids,
+       .ops = &zynqmp_dpsub_ops,
+       .plat_auto = sizeof(struct video_uc_plat),
+       .bind = zynqmp_dpsub_bind,
+       .probe = zynqmp_dpsub_probe,
+       .priv_auto = sizeof(struct zynqmp_dpsub_priv),
+};
index f90f0ca02bce5ba745c83ae194913ae48e3c54b9..5b614cfa6ec10eeff27db4e2fd894f35870f7918 100644 (file)
@@ -129,7 +129,8 @@ config WDT_AT91
 config WDT_BCM6345
        bool "BCM6345 watchdog timer support"
        depends on WDT && (ARCH_BMIPS || ARCH_BCM68360 || \
-                          ARCH_BCM6858 || ARCH_BCM63158)
+                          ARCH_BCM6858 || ARCH_BCM63158 || \
+                          ARCH_BCM6753)
        help
          Select this to enable watchdog timer for BCM6345 SoCs.
          The watchdog timer is stopped when initialized.
index b9d04725a3a56760a8ec649f2e37d3085ebd3d54..2f625b22575a1e4ec3f582031c63e0c598ac142a 100644 (file)
@@ -822,6 +822,31 @@ config TPL_ENV_IS_IN_FLASH
 
 endif
 
+config USE_BOOTFILE
+       bool "Add a 'bootfile' environment variable"
+       help
+         The "bootfile" variable is used in some cases to allow for
+         controlling what file U-Boot will attempt to load and boot.  To set
+         this, enable this option and set the value in the next question.
+
+config BOOTFILE
+       string "'bootfile' environment variable value"
+       depends on USE_BOOTFILE
+       help
+         The value to set the "bootfile" variable to.
+
+config USE_ETHPRIME
+       bool "Add an 'ethprime' environment variable"
+       help
+         The "ethprime" variable is used in some cases to control which
+         network interface is used first.
+
+config ETHPRIME
+       string "'ethprime' environment variable value"
+       depends on USE_ETHPRIME
+       help
+         The value to set the "ethprime" variable to.
+
 config VERSION_VARIABLE
        bool "Add a 'ver' environment variable with the U-Boot version"
        help
index 620af7f0447b5f382fb5686d78d557c82ca56a4a..cda9f66cc93a3831ae479c57433c2b610bb0a9b2 100644 (file)
@@ -24,4 +24,6 @@ source "fs/yaffs2/Kconfig"
 
 source "fs/squashfs/Kconfig"
 
+source "fs/erofs/Kconfig"
+
 endmenu
index 937cbcf6e856d99459062bf487b338bedaa73f76..f05a21c9e6d5c6d280f85698fe0e779854923550 100644 (file)
@@ -25,5 +25,6 @@ obj-$(CONFIG_CMD_UBIFS) += ubifs/
 obj-$(CONFIG_YAFFS2) += yaffs2/
 obj-$(CONFIG_CMD_ZFS) += zfs/
 obj-$(CONFIG_FS_SQUASHFS) += squashfs/
+obj-$(CONFIG_FS_EROFS) += erofs/
 endif
 obj-y += fs_internal.o
diff --git a/fs/erofs/Kconfig b/fs/erofs/Kconfig
new file mode 100644 (file)
index 0000000..ee4e777
--- /dev/null
@@ -0,0 +1,21 @@
+config FS_EROFS
+       bool "Enable EROFS filesystem support"
+       help
+         This provides support for reading images from EROFS filesystem.
+         EROFS (Enhanced Read-Only File System) is a lightweight read-only
+         file system for scenarios which need high-performance read-only
+         requirements.
+
+         It also provides fixed-sized output compression support, which
+         improves storage density, keeps relatively higher compression
+         ratios, which is more useful to achieve high performance for
+         embedded devices with limited memory.
+
+config FS_EROFS_ZIP
+       bool "EROFS Data Compression Support"
+       depends on FS_EROFS
+       select LZ4
+       default y
+       help
+         Enable fixed-sized output compression for EROFS.
+         If you don't want to enable compression feature, say N.
diff --git a/fs/erofs/Makefile b/fs/erofs/Makefile
new file mode 100644 (file)
index 0000000..58af6a6
--- /dev/null
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: GPL-2.0+
+#
+
+obj-$(CONFIG_$(SPL_)FS_EROFS) = fs.o \
+                               super.o \
+                               namei.o \
+                               data.o \
+                               decompress.o \
+                               zmap.o
diff --git a/fs/erofs/data.c b/fs/erofs/data.c
new file mode 100644 (file)
index 0000000..7618960
--- /dev/null
@@ -0,0 +1,311 @@
+// SPDX-License-Identifier: GPL-2.0+
+#include "internal.h"
+#include "decompress.h"
+
+static int erofs_map_blocks_flatmode(struct erofs_inode *inode,
+                                    struct erofs_map_blocks *map,
+                                    int flags)
+{
+       int err = 0;
+       erofs_blk_t nblocks, lastblk;
+       u64 offset = map->m_la;
+       struct erofs_inode *vi = inode;
+       bool tailendpacking = (vi->datalayout == EROFS_INODE_FLAT_INLINE);
+
+       nblocks = DIV_ROUND_UP(inode->i_size, EROFS_BLKSIZ);
+       lastblk = nblocks - tailendpacking;
+
+       /* there is no hole in flatmode */
+       map->m_flags = EROFS_MAP_MAPPED;
+
+       if (offset < blknr_to_addr(lastblk)) {
+               map->m_pa = blknr_to_addr(vi->u.i_blkaddr) + map->m_la;
+               map->m_plen = blknr_to_addr(lastblk) - offset;
+       } else if (tailendpacking) {
+               /* 2 - inode inline B: inode, [xattrs], inline last blk... */
+               map->m_pa = iloc(vi->nid) + vi->inode_isize +
+                       vi->xattr_isize + erofs_blkoff(map->m_la);
+               map->m_plen = inode->i_size - offset;
+
+               /* inline data should be located in one meta block */
+               if (erofs_blkoff(map->m_pa) + map->m_plen > PAGE_SIZE) {
+                       erofs_err("inline data cross block boundary @ nid %" PRIu64,
+                                 vi->nid);
+                       DBG_BUGON(1);
+                       err = -EFSCORRUPTED;
+                       goto err_out;
+               }
+
+               map->m_flags |= EROFS_MAP_META;
+       } else {
+               erofs_err("internal error @ nid: %" PRIu64 " (size %llu), m_la 0x%" PRIx64,
+                         vi->nid, (unsigned long long)inode->i_size, map->m_la);
+               DBG_BUGON(1);
+               err = -EIO;
+               goto err_out;
+       }
+
+       map->m_llen = map->m_plen;
+err_out:
+       return err;
+}
+
+int erofs_map_blocks(struct erofs_inode *inode,
+                    struct erofs_map_blocks *map, int flags)
+{
+       struct erofs_inode *vi = inode;
+       struct erofs_inode_chunk_index *idx;
+       u8 buf[EROFS_BLKSIZ];
+       u64 chunknr;
+       unsigned int unit;
+       erofs_off_t pos;
+       int err = 0;
+
+       map->m_deviceid = 0;
+       if (map->m_la >= inode->i_size) {
+               /* leave out-of-bound access unmapped */
+               map->m_flags = 0;
+               map->m_plen = 0;
+               goto out;
+       }
+
+       if (vi->datalayout != EROFS_INODE_CHUNK_BASED)
+               return erofs_map_blocks_flatmode(inode, map, flags);
+
+       if (vi->u.chunkformat & EROFS_CHUNK_FORMAT_INDEXES)
+               unit = sizeof(*idx);                    /* chunk index */
+       else
+               unit = EROFS_BLOCK_MAP_ENTRY_SIZE;      /* block map */
+
+       chunknr = map->m_la >> vi->u.chunkbits;
+       pos = roundup(iloc(vi->nid) + vi->inode_isize +
+                     vi->xattr_isize, unit) + unit * chunknr;
+
+       err = erofs_blk_read(buf, erofs_blknr(pos), 1);
+       if (err < 0)
+               return -EIO;
+
+       map->m_la = chunknr << vi->u.chunkbits;
+       map->m_plen = min_t(erofs_off_t, 1UL << vi->u.chunkbits,
+                           roundup(inode->i_size - map->m_la, EROFS_BLKSIZ));
+
+       /* handle block map */
+       if (!(vi->u.chunkformat & EROFS_CHUNK_FORMAT_INDEXES)) {
+               __le32 *blkaddr = (void *)buf + erofs_blkoff(pos);
+
+               if (le32_to_cpu(*blkaddr) == EROFS_NULL_ADDR) {
+                       map->m_flags = 0;
+               } else {
+                       map->m_pa = blknr_to_addr(le32_to_cpu(*blkaddr));
+                       map->m_flags = EROFS_MAP_MAPPED;
+               }
+               goto out;
+       }
+       /* parse chunk indexes */
+       idx = (void *)buf + erofs_blkoff(pos);
+       switch (le32_to_cpu(idx->blkaddr)) {
+       case EROFS_NULL_ADDR:
+               map->m_flags = 0;
+               break;
+       default:
+               map->m_deviceid = le16_to_cpu(idx->device_id) &
+                       sbi.device_id_mask;
+               map->m_pa = blknr_to_addr(le32_to_cpu(idx->blkaddr));
+               map->m_flags = EROFS_MAP_MAPPED;
+               break;
+       }
+out:
+       map->m_llen = map->m_plen;
+       return err;
+}
+
+int erofs_map_dev(struct erofs_sb_info *sbi, struct erofs_map_dev *map)
+{
+       struct erofs_device_info *dif;
+       int id;
+
+       if (map->m_deviceid) {
+               if (sbi->extra_devices < map->m_deviceid)
+                       return -ENODEV;
+       } else if (sbi->extra_devices) {
+               for (id = 0; id < sbi->extra_devices; ++id) {
+                       erofs_off_t startoff, length;
+
+                       dif = sbi->devs + id;
+                       if (!dif->mapped_blkaddr)
+                               continue;
+                       startoff = blknr_to_addr(dif->mapped_blkaddr);
+                       length = blknr_to_addr(dif->blocks);
+
+                       if (map->m_pa >= startoff &&
+                           map->m_pa < startoff + length) {
+                               map->m_pa -= startoff;
+                               break;
+                       }
+               }
+       }
+       return 0;
+}
+
+static int erofs_read_raw_data(struct erofs_inode *inode, char *buffer,
+                              erofs_off_t size, erofs_off_t offset)
+{
+       struct erofs_map_blocks map = {
+               .index = UINT_MAX,
+       };
+       struct erofs_map_dev mdev;
+       int ret;
+       erofs_off_t ptr = offset;
+
+       while (ptr < offset + size) {
+               char *const estart = buffer + ptr - offset;
+               erofs_off_t eend;
+
+               map.m_la = ptr;
+               ret = erofs_map_blocks(inode, &map, 0);
+               if (ret)
+                       return ret;
+
+               DBG_BUGON(map.m_plen != map.m_llen);
+
+               mdev = (struct erofs_map_dev) {
+                       .m_deviceid = map.m_deviceid,
+                       .m_pa = map.m_pa,
+               };
+               ret = erofs_map_dev(&sbi, &mdev);
+               if (ret)
+                       return ret;
+
+               /* trim extent */
+               eend = min(offset + size, map.m_la + map.m_llen);
+               DBG_BUGON(ptr < map.m_la);
+
+               if (!(map.m_flags & EROFS_MAP_MAPPED)) {
+                       if (!map.m_llen) {
+                               /* reached EOF */
+                               memset(estart, 0, offset + size - ptr);
+                               ptr = offset + size;
+                               continue;
+                       }
+                       memset(estart, 0, eend - ptr);
+                       ptr = eend;
+                       continue;
+               }
+
+               if (ptr > map.m_la) {
+                       mdev.m_pa += ptr - map.m_la;
+                       map.m_la = ptr;
+               }
+
+               ret = erofs_dev_read(mdev.m_deviceid, estart, mdev.m_pa,
+                                    eend - map.m_la);
+               if (ret < 0)
+                       return -EIO;
+               ptr = eend;
+       }
+       return 0;
+}
+
+static int z_erofs_read_data(struct erofs_inode *inode, char *buffer,
+                            erofs_off_t size, erofs_off_t offset)
+{
+       erofs_off_t end, length, skip;
+       struct erofs_map_blocks map = {
+               .index = UINT_MAX,
+       };
+       struct erofs_map_dev mdev;
+       bool partial;
+       unsigned int bufsize = 0;
+       char *raw = NULL;
+       int ret = 0;
+
+       end = offset + size;
+       while (end > offset) {
+               map.m_la = end - 1;
+
+               ret = z_erofs_map_blocks_iter(inode, &map, 0);
+               if (ret)
+                       break;
+
+               /* no device id here, thus it will always succeed */
+               mdev = (struct erofs_map_dev) {
+                       .m_pa = map.m_pa,
+               };
+               ret = erofs_map_dev(&sbi, &mdev);
+               if (ret) {
+                       DBG_BUGON(1);
+                       break;
+               }
+
+               /*
+                * trim to the needed size if the returned extent is quite
+                * larger than requested, and set up partial flag as well.
+                */
+               if (end < map.m_la + map.m_llen) {
+                       length = end - map.m_la;
+                       partial = true;
+               } else {
+                       DBG_BUGON(end != map.m_la + map.m_llen);
+                       length = map.m_llen;
+                       partial = !(map.m_flags & EROFS_MAP_FULL_MAPPED);
+               }
+
+               if (map.m_la < offset) {
+                       skip = offset - map.m_la;
+                       end = offset;
+               } else {
+                       skip = 0;
+                       end = map.m_la;
+               }
+
+               if (!(map.m_flags & EROFS_MAP_MAPPED)) {
+                       memset(buffer + end - offset, 0, length);
+                       end = map.m_la;
+                       continue;
+               }
+
+               if (map.m_plen > bufsize) {
+                       bufsize = map.m_plen;
+                       raw = realloc(raw, bufsize);
+                       if (!raw) {
+                               ret = -ENOMEM;
+                               break;
+                       }
+               }
+               ret = erofs_dev_read(mdev.m_deviceid, raw, mdev.m_pa, map.m_plen);
+               if (ret < 0)
+                       break;
+
+               ret = z_erofs_decompress(&(struct z_erofs_decompress_req) {
+                                       .in = raw,
+                                       .out = buffer + end - offset,
+                                       .decodedskip = skip,
+                                       .inputsize = map.m_plen,
+                                       .decodedlength = length,
+                                       .alg = map.m_algorithmformat,
+                                       .partial_decoding = partial
+                                        });
+               if (ret < 0)
+                       break;
+       }
+       if (raw)
+               free(raw);
+       return ret < 0 ? ret : 0;
+}
+
+int erofs_pread(struct erofs_inode *inode, char *buf,
+               erofs_off_t count, erofs_off_t offset)
+{
+       switch (inode->datalayout) {
+       case EROFS_INODE_FLAT_PLAIN:
+       case EROFS_INODE_FLAT_INLINE:
+       case EROFS_INODE_CHUNK_BASED:
+               return erofs_read_raw_data(inode, buf, count, offset);
+       case EROFS_INODE_FLAT_COMPRESSION_LEGACY:
+       case EROFS_INODE_FLAT_COMPRESSION:
+               return z_erofs_read_data(inode, buf, count, offset);
+       default:
+               break;
+       }
+       return -EINVAL;
+}
diff --git a/fs/erofs/decompress.c b/fs/erofs/decompress.c
new file mode 100644 (file)
index 0000000..2be3b84
--- /dev/null
@@ -0,0 +1,78 @@
+// SPDX-License-Identifier: GPL-2.0+
+#include "decompress.h"
+
+#if IS_ENABLED(CONFIG_LZ4)
+#include <u-boot/lz4.h>
+static int z_erofs_decompress_lz4(struct z_erofs_decompress_req *rq)
+{
+       int ret = 0;
+       char *dest = rq->out;
+       char *src = rq->in;
+       char *buff = NULL;
+       bool support_0padding = false;
+       unsigned int inputmargin = 0;
+
+       if (erofs_sb_has_lz4_0padding()) {
+               support_0padding = true;
+
+               while (!src[inputmargin & ~PAGE_MASK])
+                       if (!(++inputmargin & ~PAGE_MASK))
+                               break;
+
+               if (inputmargin >= rq->inputsize)
+                       return -EIO;
+       }
+
+       if (rq->decodedskip) {
+               buff = malloc(rq->decodedlength);
+               if (!buff)
+                       return -ENOMEM;
+               dest = buff;
+       }
+
+       if (rq->partial_decoding || !support_0padding)
+               ret = LZ4_decompress_safe_partial(src + inputmargin, dest,
+                                                 rq->inputsize - inputmargin,
+                                                 rq->decodedlength, rq->decodedlength);
+       else
+               ret = LZ4_decompress_safe(src + inputmargin, dest,
+                                         rq->inputsize - inputmargin,
+                                         rq->decodedlength);
+
+       if (ret != (int)rq->decodedlength) {
+               ret = -EIO;
+               goto out;
+       }
+
+       if (rq->decodedskip)
+               memcpy(rq->out, dest + rq->decodedskip,
+                      rq->decodedlength - rq->decodedskip);
+
+out:
+       if (buff)
+               free(buff);
+
+       return ret;
+}
+#endif
+
+int z_erofs_decompress(struct z_erofs_decompress_req *rq)
+{
+       if (rq->alg == Z_EROFS_COMPRESSION_SHIFTED) {
+               if (rq->inputsize != EROFS_BLKSIZ)
+                       return -EFSCORRUPTED;
+
+               DBG_BUGON(rq->decodedlength > EROFS_BLKSIZ);
+               DBG_BUGON(rq->decodedlength < rq->decodedskip);
+
+               memcpy(rq->out, rq->in + rq->decodedskip,
+                      rq->decodedlength - rq->decodedskip);
+               return 0;
+       }
+
+#if IS_ENABLED(CONFIG_LZ4)
+       if (rq->alg == Z_EROFS_COMPRESSION_LZ4)
+               return z_erofs_decompress_lz4(rq);
+#endif
+       return -EOPNOTSUPP;
+}
diff --git a/fs/erofs/decompress.h b/fs/erofs/decompress.h
new file mode 100644 (file)
index 0000000..81d5fb8
--- /dev/null
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+#ifndef __EROFS_DECOMPRESS_H
+#define __EROFS_DECOMPRESS_H
+
+#include "internal.h"
+
+struct z_erofs_decompress_req {
+       char *in, *out;
+
+       /*
+        * initial decompressed bytes that need to be skipped
+        * when finally copying to output buffer
+        */
+       unsigned int decodedskip;
+       unsigned int inputsize, decodedlength;
+
+       /* indicate the algorithm will be used for decompression */
+       unsigned int alg;
+       bool partial_decoding;
+};
+
+int z_erofs_decompress(struct z_erofs_decompress_req *rq);
+
+#endif
diff --git a/fs/erofs/erofs_fs.h b/fs/erofs/erofs_fs.h
new file mode 100644 (file)
index 0000000..6b62c7a
--- /dev/null
@@ -0,0 +1,436 @@
+/* SPDX-License-Identifier: GPL-2.0-only OR Apache-2.0 */
+/*
+ * EROFS (Enhanced ROM File System) on-disk format definition
+ *
+ * Copyright (C) 2017-2018 HUAWEI, Inc.
+ *             http://www.huawei.com/
+ * Copyright (C) 2021, Alibaba Cloud
+ */
+#ifndef __EROFS_FS_H
+#define __EROFS_FS_H
+
+#include <asm/unaligned.h>
+#include <fs.h>
+#include <part.h>
+#include <stdint.h>
+#include <compiler.h>
+
+#define EROFS_SUPER_MAGIC_V1    0xE0F5E1E2
+#define EROFS_SUPER_OFFSET      1024
+
+#define EROFS_FEATURE_COMPAT_SB_CHKSUM         0x00000001
+
+/*
+ * Any bits that aren't in EROFS_ALL_FEATURE_INCOMPAT should
+ * be incompatible with this kernel version.
+ */
+#define EROFS_FEATURE_INCOMPAT_LZ4_0PADDING    0x00000001
+#define EROFS_FEATURE_INCOMPAT_COMPR_CFGS      0x00000002
+#define EROFS_FEATURE_INCOMPAT_BIG_PCLUSTER    0x00000002
+#define EROFS_FEATURE_INCOMPAT_CHUNKED_FILE    0x00000004
+#define EROFS_FEATURE_INCOMPAT_DEVICE_TABLE    0x00000008
+#define EROFS_ALL_FEATURE_INCOMPAT             \
+       (EROFS_FEATURE_INCOMPAT_LZ4_0PADDING | \
+        EROFS_FEATURE_INCOMPAT_COMPR_CFGS | \
+        EROFS_FEATURE_INCOMPAT_BIG_PCLUSTER | \
+        EROFS_FEATURE_INCOMPAT_CHUNKED_FILE | \
+        EROFS_FEATURE_INCOMPAT_DEVICE_TABLE)
+
+#define EROFS_SB_EXTSLOT_SIZE  16
+
+struct erofs_deviceslot {
+       union {
+               u8 uuid[16];            /* used for device manager later */
+               u8 userdata[64];        /* digest(sha256), etc. */
+       } u;
+       __le32 blocks;                  /* total fs blocks of this device */
+       __le32 mapped_blkaddr;          /* map starting at mapped_blkaddr */
+       u8 reserved[56];
+};
+
+#define EROFS_DEVT_SLOT_SIZE   sizeof(struct erofs_deviceslot)
+
+/* erofs on-disk super block (currently 128 bytes) */
+struct erofs_super_block {
+       __le32 magic;           /* file system magic number */
+       __le32 checksum;        /* crc32c(super_block) */
+       __le32 feature_compat;
+       __u8 blkszbits;         /* support block_size == PAGE_SIZE only */
+       __u8 sb_extslots;       /* superblock size = 128 + sb_extslots * 16 */
+
+       __le16 root_nid;        /* nid of root directory */
+       __le64 inos;            /* total valid ino # (== f_files - f_favail) */
+
+       __le64 build_time;      /* inode v1 time derivation */
+       __le32 build_time_nsec; /* inode v1 time derivation in nano scale */
+       __le32 blocks;          /* used for statfs */
+       __le32 meta_blkaddr;    /* start block address of metadata area */
+       __le32 xattr_blkaddr;   /* start block address of shared xattr area */
+       __u8 uuid[16];          /* 128-bit uuid for volume */
+       __u8 volume_name[16];   /* volume name */
+       __le32 feature_incompat;
+       union {
+               /* bitmap for available compression algorithms */
+               __le16 available_compr_algs;
+               /* customized sliding window size instead of 64k by default */
+               __le16 lz4_max_distance;
+       } __packed u1;
+       __le16 extra_devices;   /* # of devices besides the primary device */
+       __le16 devt_slotoff;    /* startoff = devt_slotoff * devt_slotsize */
+       __u8 reserved2[38];
+};
+
+/*
+ * erofs inode datalayout (i_format in on-disk inode):
+ * 0 - inode plain without inline data A:
+ * inode, [xattrs], ... | ... | no-holed data
+ * 1 - inode VLE compression B (legacy):
+ * inode, [xattrs], extents ... | ...
+ * 2 - inode plain with inline data C:
+ * inode, [xattrs], last_inline_data, ... | ... | no-holed data
+ * 3 - inode compression D:
+ * inode, [xattrs], map_header, extents ... | ...
+ * 4 - inode chunk-based E:
+ * inode, [xattrs], chunk indexes ... | ...
+ * 5~7 - reserved
+ */
+enum {
+       EROFS_INODE_FLAT_PLAIN                  = 0,
+       EROFS_INODE_FLAT_COMPRESSION_LEGACY     = 1,
+       EROFS_INODE_FLAT_INLINE                 = 2,
+       EROFS_INODE_FLAT_COMPRESSION            = 3,
+       EROFS_INODE_CHUNK_BASED                 = 4,
+       EROFS_INODE_DATALAYOUT_MAX
+};
+
+static inline bool erofs_inode_is_data_compressed(unsigned int datamode)
+{
+       return datamode == EROFS_INODE_FLAT_COMPRESSION ||
+               datamode == EROFS_INODE_FLAT_COMPRESSION_LEGACY;
+}
+
+/* bit definitions of inode i_advise */
+#define EROFS_I_VERSION_BITS            1
+#define EROFS_I_DATALAYOUT_BITS         3
+
+#define EROFS_I_VERSION_BIT             0
+#define EROFS_I_DATALAYOUT_BIT          1
+
+#define EROFS_I_ALL    \
+       ((1 << (EROFS_I_DATALAYOUT_BIT + EROFS_I_DATALAYOUT_BITS)) - 1)
+
+/* indicate chunk blkbits, thus 'chunksize = blocksize << chunk blkbits' */
+#define EROFS_CHUNK_FORMAT_BLKBITS_MASK                0x001F
+/* with chunk indexes or just a 4-byte blkaddr array */
+#define EROFS_CHUNK_FORMAT_INDEXES             0x0020
+
+#define EROFS_CHUNK_FORMAT_ALL \
+       (EROFS_CHUNK_FORMAT_BLKBITS_MASK | EROFS_CHUNK_FORMAT_INDEXES)
+
+struct erofs_inode_chunk_info {
+       __le16 format;          /* chunk blkbits, etc. */
+       __le16 reserved;
+};
+
+/* 32-byte reduced form of an ondisk inode */
+struct erofs_inode_compact {
+       __le16 i_format;        /* inode format hints */
+
+/* 1 header + n-1 * 4 bytes inline xattr to keep continuity */
+       __le16 i_xattr_icount;
+       __le16 i_mode;
+       __le16 i_nlink;
+       __le32 i_size;
+       __le32 i_reserved;
+       union {
+               /* file total compressed blocks for data mapping 1 */
+               __le32 compressed_blocks;
+               __le32 raw_blkaddr;
+
+               /* for device files, used to indicate old/new device # */
+               __le32 rdev;
+
+               /* for chunk-based files, it contains the summary info */
+               struct erofs_inode_chunk_info c;
+       } i_u;
+       __le32 i_ino;           /* only used for 32-bit stat compatibility */
+       __le16 i_uid;
+       __le16 i_gid;
+       __le32 i_reserved2;
+};
+
+/* 32 bytes on-disk inode */
+#define EROFS_INODE_LAYOUT_COMPACT     0
+/* 64 bytes on-disk inode */
+#define EROFS_INODE_LAYOUT_EXTENDED    1
+
+/* 64-byte complete form of an ondisk inode */
+struct erofs_inode_extended {
+       __le16 i_format;        /* inode format hints */
+
+/* 1 header + n-1 * 4 bytes inline xattr to keep continuity */
+       __le16 i_xattr_icount;
+       __le16 i_mode;
+       __le16 i_reserved;
+       __le64 i_size;
+       union {
+               /* file total compressed blocks for data mapping 1 */
+               __le32 compressed_blocks;
+               __le32 raw_blkaddr;
+
+               /* for device files, used to indicate old/new device # */
+               __le32 rdev;
+
+               /* for chunk-based files, it contains the summary info */
+               struct erofs_inode_chunk_info c;
+       } i_u;
+
+       /* only used for 32-bit stat compatibility */
+       __le32 i_ino;
+
+       __le32 i_uid;
+       __le32 i_gid;
+       __le64 i_ctime;
+       __le32 i_ctime_nsec;
+       __le32 i_nlink;
+       __u8   i_reserved2[16];
+};
+
+#define EROFS_MAX_SHARED_XATTRS         (128)
+/* h_shared_count between 129 ... 255 are special # */
+#define EROFS_SHARED_XATTR_EXTENT       (255)
+
+/*
+ * inline xattrs (n == i_xattr_icount):
+ * erofs_xattr_ibody_header(1) + (n - 1) * 4 bytes
+ *          12 bytes           /                   \
+ *                            /                     \
+ *                           /-----------------------\
+ *                           |  erofs_xattr_entries+ |
+ *                           +-----------------------+
+ * inline xattrs must starts in erofs_xattr_ibody_header,
+ * for read-only fs, no need to introduce h_refcount
+ */
+struct erofs_xattr_ibody_header {
+       __le32 h_reserved;
+       __u8   h_shared_count;
+       __u8   h_reserved2[7];
+       __le32 h_shared_xattrs[0];      /* shared xattr id array */
+};
+
+/* Name indexes */
+#define EROFS_XATTR_INDEX_USER              1
+#define EROFS_XATTR_INDEX_POSIX_ACL_ACCESS  2
+#define EROFS_XATTR_INDEX_POSIX_ACL_DEFAULT 3
+#define EROFS_XATTR_INDEX_TRUSTED           4
+#define EROFS_XATTR_INDEX_LUSTRE            5
+#define EROFS_XATTR_INDEX_SECURITY          6
+
+/* xattr entry (for both inline & shared xattrs) */
+struct erofs_xattr_entry {
+       __u8   e_name_len;      /* length of name */
+       __u8   e_name_index;    /* attribute name index */
+       __le16 e_value_size;    /* size of attribute value */
+       /* followed by e_name and e_value */
+       char   e_name[0];       /* attribute name */
+};
+
+static inline unsigned int erofs_xattr_ibody_size(__le16 i_xattr_icount)
+{
+       if (!i_xattr_icount)
+               return 0;
+
+       return sizeof(struct erofs_xattr_ibody_header) +
+               sizeof(__u32) * (le16_to_cpu(i_xattr_icount) - 1);
+}
+
+#define EROFS_XATTR_ALIGN(size) round_up(size, sizeof(struct erofs_xattr_entry))
+
+static inline unsigned int erofs_xattr_entry_size(struct erofs_xattr_entry *e)
+{
+       return EROFS_XATTR_ALIGN(sizeof(struct erofs_xattr_entry) +
+                                e->e_name_len + le16_to_cpu(e->e_value_size));
+}
+
+/* represent a zeroed chunk (hole) */
+#define EROFS_NULL_ADDR                        -1
+
+/* 4-byte block address array */
+#define EROFS_BLOCK_MAP_ENTRY_SIZE     sizeof(__le32)
+
+/* 8-byte inode chunk indexes */
+struct erofs_inode_chunk_index {
+       __le16 advise;          /* always 0, don't care for now */
+       __le16 device_id;       /* back-end storage id (with bits masked) */
+       __le32 blkaddr;         /* start block address of this inode chunk */
+};
+
+/* maximum supported size of a physical compression cluster */
+#define Z_EROFS_PCLUSTER_MAX_SIZE      (1024 * 1024)
+
+/* available compression algorithm types (for h_algorithmtype) */
+enum {
+       Z_EROFS_COMPRESSION_LZ4         = 0,
+       Z_EROFS_COMPRESSION_LZMA        = 1,
+       Z_EROFS_COMPRESSION_MAX
+};
+
+#define Z_EROFS_ALL_COMPR_ALGS         (1 << (Z_EROFS_COMPRESSION_MAX - 1))
+
+/* 14 bytes (+ length field = 16 bytes) */
+struct z_erofs_lz4_cfgs {
+       __le16 max_distance;
+       __le16 max_pclusterblks;
+       u8 reserved[10];
+} __packed;
+
+/* 14 bytes (+ length field = 16 bytes) */
+struct z_erofs_lzma_cfgs {
+       __le32 dict_size;
+       __le16 format;
+       u8 reserved[8];
+} __packed;
+#define Z_EROFS_LZMA_MAX_DICT_SIZE     (8 * Z_EROFS_PCLUSTER_MAX_SIZE)
+
+/*
+ * bit 0 : COMPACTED_2B indexes (0 - off; 1 - on)
+ *  e.g. for 4k logical cluster size,      4B        if compacted 2B is off;
+ *                                  (4B) + 2B + (4B) if compacted 2B is on.
+ * bit 1 : HEAD1 big pcluster (0 - off; 1 - on)
+ * bit 2 : HEAD2 big pcluster (0 - off; 1 - on)
+ */
+#define Z_EROFS_ADVISE_COMPACTED_2B            0x0001
+#define Z_EROFS_ADVISE_BIG_PCLUSTER_1          0x0002
+#define Z_EROFS_ADVISE_BIG_PCLUSTER_2          0x0004
+
+struct z_erofs_map_header {
+       __le32  h_reserved1;
+       __le16  h_advise;
+       /*
+        * bit 0-3 : algorithm type of head 1 (logical cluster type 01);
+        * bit 4-7 : algorithm type of head 2 (logical cluster type 11).
+        */
+       __u8    h_algorithmtype;
+       /*
+        * bit 0-2 : logical cluster bits - 12, e.g. 0 for 4096;
+        * bit 3-7 : reserved.
+        */
+       __u8    h_clusterbits;
+};
+
+#define Z_EROFS_VLE_LEGACY_HEADER_PADDING       8
+
+/*
+ * Fixed-sized output compression ondisk Logical Extent cluster type:
+ *    0 - literal (uncompressed) cluster
+ *    1 - compressed cluster (for the head logical cluster)
+ *    2 - compressed cluster (for the other logical clusters)
+ *
+ * In detail,
+ *    0 - literal (uncompressed) cluster,
+ *        di_advise = 0
+ *        di_clusterofs = the literal data offset of the cluster
+ *        di_blkaddr = the blkaddr of the literal cluster
+ *
+ *    1 - compressed cluster (for the head logical cluster)
+ *        di_advise = 1
+ *        di_clusterofs = the decompressed data offset of the cluster
+ *        di_blkaddr = the blkaddr of the compressed cluster
+ *
+ *    2 - compressed cluster (for the other logical clusters)
+ *        di_advise = 2
+ *        di_clusterofs =
+ *           the decompressed data offset in its own head cluster
+ *        di_u.delta[0] = distance to its corresponding head cluster
+ *        di_u.delta[1] = distance to its corresponding tail cluster
+ *                (di_advise could be 0, 1 or 2)
+ */
+enum {
+       Z_EROFS_VLE_CLUSTER_TYPE_PLAIN          = 0,
+       Z_EROFS_VLE_CLUSTER_TYPE_HEAD           = 1,
+       Z_EROFS_VLE_CLUSTER_TYPE_NONHEAD        = 2,
+       Z_EROFS_VLE_CLUSTER_TYPE_RESERVED       = 3,
+       Z_EROFS_VLE_CLUSTER_TYPE_MAX
+};
+
+#define Z_EROFS_VLE_DI_CLUSTER_TYPE_BITS        2
+#define Z_EROFS_VLE_DI_CLUSTER_TYPE_BIT         0
+
+/*
+ * D0_CBLKCNT will be marked _only_ at the 1st non-head lcluster to store the
+ * compressed block count of a compressed extent (in logical clusters, aka.
+ * block count of a pcluster).
+ */
+#define Z_EROFS_VLE_DI_D0_CBLKCNT              (1 << 11)
+
+struct z_erofs_vle_decompressed_index {
+       __le16 di_advise;
+       /* where to decompress in the head cluster */
+       __le16 di_clusterofs;
+
+       union {
+               /* for the head cluster */
+               __le32 blkaddr;
+               /*
+                * for the rest clusters
+                * eg. for 4k page-sized cluster, maximum 4K*64k = 256M)
+                * [0] - pointing to the head cluster
+                * [1] - pointing to the tail cluster
+                */
+               __le16 delta[2];
+       } di_u;
+};
+
+#define Z_EROFS_VLE_LEGACY_INDEX_ALIGN(size) \
+       (round_up(size, sizeof(struct z_erofs_vle_decompressed_index)) + \
+        sizeof(struct z_erofs_map_header) + Z_EROFS_VLE_LEGACY_HEADER_PADDING)
+
+#define Z_EROFS_VLE_EXTENT_ALIGN(size) round_up(size, \
+       sizeof(struct z_erofs_vle_decompressed_index))
+
+/* dirent sorts in alphabet order, thus we can do binary search */
+struct erofs_dirent {
+       __le64 nid;     /* node number */
+       __le16 nameoff; /* start offset of file name */
+       __u8 file_type; /* file type */
+       __u8 reserved;  /* reserved */
+} __packed;
+
+/* file types used in inode_info->flags */
+enum {
+       EROFS_FT_UNKNOWN,
+       EROFS_FT_REG_FILE,
+       EROFS_FT_DIR,
+       EROFS_FT_CHRDEV,
+       EROFS_FT_BLKDEV,
+       EROFS_FT_FIFO,
+       EROFS_FT_SOCK,
+       EROFS_FT_SYMLINK,
+       EROFS_FT_MAX
+};
+
+#define EROFS_NAME_LEN      255
+
+/* check the EROFS on-disk layout strictly at compile time */
+static inline void erofs_check_ondisk_layout_definitions(void)
+{
+       BUILD_BUG_ON(sizeof(struct erofs_super_block) != 128);
+       BUILD_BUG_ON(sizeof(struct erofs_inode_compact) != 32);
+       BUILD_BUG_ON(sizeof(struct erofs_inode_extended) != 64);
+       BUILD_BUG_ON(sizeof(struct erofs_xattr_ibody_header) != 12);
+       BUILD_BUG_ON(sizeof(struct erofs_xattr_entry) != 4);
+       BUILD_BUG_ON(sizeof(struct erofs_inode_chunk_info) != 4);
+       BUILD_BUG_ON(sizeof(struct erofs_inode_chunk_index) != 8);
+       BUILD_BUG_ON(sizeof(struct z_erofs_map_header) != 8);
+       BUILD_BUG_ON(sizeof(struct z_erofs_vle_decompressed_index) != 8);
+       BUILD_BUG_ON(sizeof(struct erofs_dirent) != 12);
+       /* keep in sync between 2 index structures for better extendibility */
+       BUILD_BUG_ON(sizeof(struct erofs_inode_chunk_index) !=
+                    sizeof(struct z_erofs_vle_decompressed_index));
+       BUILD_BUG_ON(sizeof(struct erofs_deviceslot) != 128);
+
+       BUILD_BUG_ON(BIT(Z_EROFS_VLE_DI_CLUSTER_TYPE_BITS) <
+                    Z_EROFS_VLE_CLUSTER_TYPE_MAX - 1);
+}
+
+#endif
diff --git a/fs/erofs/fs.c b/fs/erofs/fs.c
new file mode 100644 (file)
index 0000000..8926975
--- /dev/null
@@ -0,0 +1,267 @@
+// SPDX-License-Identifier: GPL-2.0+
+#include "internal.h"
+#include <fs_internal.h>
+
+struct erofs_sb_info sbi;
+
+static struct erofs_ctxt {
+       struct disk_partition cur_part_info;
+       struct blk_desc *cur_dev;
+} ctxt;
+
+int erofs_dev_read(int device_id, void *buf, u64 offset, size_t len)
+{
+       lbaint_t sect = offset >> ctxt.cur_dev->log2blksz;
+       int off = offset & (ctxt.cur_dev->blksz - 1);
+
+       if (!ctxt.cur_dev)
+               return -EIO;
+
+       if (fs_devread(ctxt.cur_dev, &ctxt.cur_part_info, sect,
+                      off, len, buf))
+               return 0;
+       return -EIO;
+}
+
+int erofs_blk_read(void *buf, erofs_blk_t start, u32 nblocks)
+{
+       return erofs_dev_read(0, buf, blknr_to_addr(start),
+                        blknr_to_addr(nblocks));
+}
+
+int erofs_probe(struct blk_desc *fs_dev_desc,
+               struct disk_partition *fs_partition)
+{
+       int ret;
+
+       ctxt.cur_dev = fs_dev_desc;
+       ctxt.cur_part_info = *fs_partition;
+
+       ret = erofs_read_superblock();
+       if (ret)
+               goto error;
+
+       return 0;
+error:
+       ctxt.cur_dev = NULL;
+       return ret;
+}
+
+struct erofs_dir_stream {
+       struct fs_dir_stream fs_dirs;
+       struct fs_dirent dirent;
+
+       struct erofs_inode inode;
+       char dblk[EROFS_BLKSIZ];
+       unsigned int maxsize, de_end;
+       erofs_off_t pos;
+};
+
+static int erofs_readlink(struct erofs_inode *vi)
+{
+       size_t len = vi->i_size;
+       char *target;
+       int err;
+
+       target = malloc(len + 1);
+       if (!target)
+               return -ENOMEM;
+       target[len] = '\0';
+
+       err = erofs_pread(vi, target, len, 0);
+       if (err)
+               goto err_out;
+
+       err = erofs_ilookup(target, vi);
+       if (err)
+               goto err_out;
+
+err_out:
+       free(target);
+       return err;
+}
+
+int erofs_opendir(const char *filename, struct fs_dir_stream **dirsp)
+{
+       struct erofs_dir_stream *dirs;
+       int err;
+
+       dirs = calloc(1, sizeof(*dirs));
+       if (!dirs)
+               return -ENOMEM;
+
+       err = erofs_ilookup(filename, &dirs->inode);
+       if (err)
+               goto err_out;
+
+       if (S_ISLNK(dirs->inode.i_mode)) {
+               err = erofs_readlink(&dirs->inode);
+               if (err)
+                       goto err_out;
+       }
+
+       if (!S_ISDIR(dirs->inode.i_mode)) {
+               err = -ENOTDIR;
+               goto err_out;
+       }
+       *dirsp = (struct fs_dir_stream *)dirs;
+       return 0;
+err_out:
+       free(dirs);
+       return err;
+}
+
+int erofs_readdir(struct fs_dir_stream *fs_dirs, struct fs_dirent **dentp)
+{
+       struct erofs_dir_stream *dirs = (struct erofs_dir_stream *)fs_dirs;
+       struct fs_dirent *dent = &dirs->dirent;
+       erofs_off_t pos = dirs->pos;
+       unsigned int nameoff, de_namelen;
+       struct erofs_dirent *de;
+       char *de_name;
+       int err;
+
+       if (pos >= dirs->inode.i_size)
+               return 1;
+
+       if (!dirs->maxsize) {
+               dirs->maxsize = min_t(unsigned int, EROFS_BLKSIZ,
+                                     dirs->inode.i_size - pos);
+
+               err = erofs_pread(&dirs->inode, dirs->dblk,
+                                 dirs->maxsize, pos);
+               if (err)
+                       return err;
+
+               de = (struct erofs_dirent *)dirs->dblk;
+               dirs->de_end = le16_to_cpu(de->nameoff);
+               if (dirs->de_end < sizeof(struct erofs_dirent) ||
+                   dirs->de_end >= EROFS_BLKSIZ) {
+                       erofs_err("invalid de[0].nameoff %u @ nid %llu",
+                                 dirs->de_end, de->nid | 0ULL);
+                       return -EFSCORRUPTED;
+               }
+       }
+
+       de = (struct erofs_dirent *)(dirs->dblk + erofs_blkoff(pos));
+       nameoff = le16_to_cpu(de->nameoff);
+       de_name = (char *)dirs->dblk + nameoff;
+
+       /* the last dirent in the block? */
+       if (de + 1 >= (struct erofs_dirent *)(dirs->dblk + dirs->de_end))
+               de_namelen = strnlen(de_name, dirs->maxsize - nameoff);
+       else
+               de_namelen = le16_to_cpu(de[1].nameoff) - nameoff;
+
+       /* a corrupted entry is found */
+       if (nameoff + de_namelen > dirs->maxsize ||
+           de_namelen > EROFS_NAME_LEN) {
+               erofs_err("bogus dirent @ nid %llu", de->nid | 0ULL);
+               DBG_BUGON(1);
+               return -EFSCORRUPTED;
+       }
+
+       memcpy(dent->name, de_name, de_namelen);
+       dent->name[de_namelen] = '\0';
+
+       if (de->file_type == EROFS_FT_DIR) {
+               dent->type = FS_DT_DIR;
+       } else if (de->file_type == EROFS_FT_SYMLINK) {
+               dent->type = FS_DT_LNK;
+       } else {
+               struct erofs_inode vi;
+
+               dent->type = FS_DT_REG;
+               vi.nid = de->nid;
+
+               err = erofs_read_inode_from_disk(&vi);
+               if (err)
+                       return err;
+               dent->size = vi.i_size;
+       }
+       *dentp = dent;
+
+       pos += sizeof(*de);
+       if (erofs_blkoff(pos) >= dirs->de_end) {
+               pos = blknr_to_addr(erofs_blknr(pos) + 1);
+               dirs->maxsize = 0;
+       }
+       dirs->pos = pos;
+       return 0;
+}
+
+void erofs_closedir(struct fs_dir_stream *fs_dirs)
+{
+       free(fs_dirs);
+}
+
+int erofs_exists(const char *filename)
+{
+       struct erofs_inode vi;
+       int err;
+
+       err = erofs_ilookup(filename, &vi);
+       return err == 0;
+}
+
+int erofs_size(const char *filename, loff_t *size)
+{
+       struct erofs_inode vi;
+       int err;
+
+       err = erofs_ilookup(filename, &vi);
+       if (err)
+               return err;
+       *size = vi.i_size;
+       return 0;
+}
+
+int erofs_read(const char *filename, void *buf, loff_t offset, loff_t len,
+              loff_t *actread)
+{
+       struct erofs_inode vi;
+       int err;
+
+       err = erofs_ilookup(filename, &vi);
+       if (err)
+               return err;
+
+       if (S_ISLNK(vi.i_mode)) {
+               err = erofs_readlink(&vi);
+               if (err)
+                       return err;
+       }
+
+       if (!len)
+               len = vi.i_size;
+
+       err = erofs_pread(&vi, buf, len, offset);
+       if (err) {
+               *actread = 0;
+               return err;
+       }
+
+       if (offset >= vi.i_size)
+               *actread = 0;
+       else if (offset + len > vi.i_size)
+               *actread = vi.i_size - offset;
+       else
+               *actread = len;
+       return 0;
+}
+
+void erofs_close(void)
+{
+       ctxt.cur_dev = NULL;
+}
+
+int erofs_uuid(char *uuid_str)
+{
+       if (IS_ENABLED(CONFIG_LIB_UUID)) {
+               if (ctxt.cur_dev)
+                       uuid_bin_to_str(sbi.uuid, uuid_str,
+                                       UUID_STR_FORMAT_STD);
+               return 0;
+       }
+       return -ENOSYS;
+}
diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h
new file mode 100644 (file)
index 0000000..4af7c91
--- /dev/null
@@ -0,0 +1,313 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+#ifndef __EROFS_INTERNAL_H
+#define __EROFS_INTERNAL_H
+
+#define __packed __attribute__((__packed__))
+
+#include <linux/stat.h>
+#include <linux/bug.h>
+#include <linux/err.h>
+#include <linux/printk.h>
+#include <linux/log2.h>
+#include <inttypes.h>
+#include "erofs_fs.h"
+
+#define erofs_err(fmt, ...)    \
+       pr_err(fmt "\n", ##__VA_ARGS__)
+
+#define erofs_info(fmt, ...)   \
+       pr_info(fmt "\n", ##__VA_ARGS__)
+
+#define erofs_dbg(fmt, ...)    \
+       pr_debug(fmt "\n", ##__VA_ARGS__)
+
+#define DBG_BUGON(condition)   BUG_ON(condition)
+
+/* no obvious reason to support explicit PAGE_SIZE != 4096 for now */
+#if PAGE_SIZE != 4096
+#error incompatible PAGE_SIZE is already defined
+#endif
+
+#define PAGE_MASK              (~(PAGE_SIZE - 1))
+
+#define LOG_BLOCK_SIZE          (12)
+#define EROFS_BLKSIZ            (1U << LOG_BLOCK_SIZE)
+
+#define EROFS_ISLOTBITS                5
+#define EROFS_SLOTSIZE         (1U << EROFS_ISLOTBITS)
+
+typedef u64 erofs_off_t;
+typedef u64 erofs_nid_t;
+/* data type for filesystem-wide blocks number */
+typedef u32 erofs_blk_t;
+
+#define NULL_ADDR      ((unsigned int)-1)
+#define NULL_ADDR_UL   ((unsigned long)-1)
+
+#define erofs_blknr(addr)       ((addr) / EROFS_BLKSIZ)
+#define erofs_blkoff(addr)      ((addr) % EROFS_BLKSIZ)
+#define blknr_to_addr(nr)       ((erofs_off_t)(nr) * EROFS_BLKSIZ)
+
+#define BLK_ROUND_UP(addr)     DIV_ROUND_UP(addr, EROFS_BLKSIZ)
+
+struct erofs_buffer_head;
+
+struct erofs_device_info {
+       u32 blocks;
+       u32 mapped_blkaddr;
+};
+
+struct erofs_sb_info {
+       struct erofs_device_info *devs;
+
+       u64 total_blocks;
+       u64 primarydevice_blocks;
+
+       erofs_blk_t meta_blkaddr;
+       erofs_blk_t xattr_blkaddr;
+
+       u32 feature_compat;
+       u32 feature_incompat;
+       u64 build_time;
+       u32 build_time_nsec;
+
+       unsigned char islotbits;
+
+       /* what we really care is nid, rather than ino.. */
+       erofs_nid_t root_nid;
+       /* used for statfs, f_files - f_favail */
+       u64 inos;
+
+       u8 uuid[16];
+
+       u16 available_compr_algs;
+       u16 lz4_max_distance;
+       u32 checksum;
+       u16 extra_devices;
+       union {
+               u16 devt_slotoff;               /* used for mkfs */
+               u16 device_id_mask;             /* used for others */
+       };
+};
+
+/* global sbi */
+extern struct erofs_sb_info sbi;
+
+static inline erofs_off_t iloc(erofs_nid_t nid)
+{
+       return blknr_to_addr(sbi.meta_blkaddr) + (nid << sbi.islotbits);
+}
+
+#define EROFS_FEATURE_FUNCS(name, compat, feature) \
+static inline bool erofs_sb_has_##name(void) \
+{ \
+       return sbi.feature_##compat & EROFS_FEATURE_##feature; \
+} \
+static inline void erofs_sb_set_##name(void) \
+{ \
+       sbi.feature_##compat |= EROFS_FEATURE_##feature; \
+} \
+static inline void erofs_sb_clear_##name(void) \
+{ \
+       sbi.feature_##compat &= ~EROFS_FEATURE_##feature; \
+}
+
+EROFS_FEATURE_FUNCS(lz4_0padding, incompat, INCOMPAT_LZ4_0PADDING)
+EROFS_FEATURE_FUNCS(compr_cfgs, incompat, INCOMPAT_COMPR_CFGS)
+EROFS_FEATURE_FUNCS(big_pcluster, incompat, INCOMPAT_BIG_PCLUSTER)
+EROFS_FEATURE_FUNCS(chunked_file, incompat, INCOMPAT_CHUNKED_FILE)
+EROFS_FEATURE_FUNCS(device_table, incompat, INCOMPAT_DEVICE_TABLE)
+EROFS_FEATURE_FUNCS(sb_chksum, compat, COMPAT_SB_CHKSUM)
+
+#define EROFS_I_EA_INITED      (1 << 0)
+#define EROFS_I_Z_INITED       (1 << 1)
+
+struct erofs_inode {
+       struct list_head i_hash, i_subdirs, i_xattrs;
+
+       union {
+               /* (erofsfuse) runtime flags */
+               unsigned int flags;
+               /* (mkfs.erofs) device ID containing source file */
+               u32 dev;
+       };
+       unsigned int i_count;
+       struct erofs_inode *i_parent;
+
+       umode_t i_mode;
+       erofs_off_t i_size;
+
+       u64 i_ino[2];
+       u32 i_uid;
+       u32 i_gid;
+       u64 i_ctime;
+       u32 i_ctime_nsec;
+       u32 i_nlink;
+
+       union {
+               u32 i_blkaddr;
+               u32 i_blocks;
+               u32 i_rdev;
+               struct {
+                       unsigned short  chunkformat;
+                       unsigned char   chunkbits;
+               };
+       } u;
+
+       unsigned char datalayout;
+       unsigned char inode_isize;
+       /* inline tail-end packing size */
+       unsigned short idata_size;
+
+       unsigned int xattr_isize;
+       unsigned int extent_isize;
+
+       erofs_nid_t nid;
+       struct erofs_buffer_head *bh;
+       struct erofs_buffer_head *bh_inline, *bh_data;
+
+       void *idata;
+
+       union {
+               void *compressmeta;
+               void *chunkindexes;
+               struct {
+                       uint16_t z_advise;
+                       uint8_t  z_algorithmtype[2];
+                       uint8_t  z_logical_clusterbits;
+                       uint8_t  z_physical_clusterblks;
+               };
+       };
+};
+
+static inline bool is_inode_layout_compression(struct erofs_inode *inode)
+{
+       return erofs_inode_is_data_compressed(inode->datalayout);
+}
+
+static inline unsigned int erofs_bitrange(unsigned int value, unsigned int bit,
+                                         unsigned int bits)
+{
+       return (value >> bit) & ((1 << bits) - 1);
+}
+
+static inline unsigned int erofs_inode_version(unsigned int value)
+{
+       return erofs_bitrange(value, EROFS_I_VERSION_BIT,
+                             EROFS_I_VERSION_BITS);
+}
+
+static inline unsigned int erofs_inode_datalayout(unsigned int value)
+{
+       return erofs_bitrange(value, EROFS_I_DATALAYOUT_BIT,
+                             EROFS_I_DATALAYOUT_BITS);
+}
+
+#define IS_ROOT(x)     ((x) == (x)->i_parent)
+
+struct erofs_dentry {
+       struct list_head d_child;       /* child of parent list */
+
+       unsigned int type;
+       char name[EROFS_NAME_LEN];
+       union {
+               struct erofs_inode *inode;
+               erofs_nid_t nid;
+       };
+};
+
+static inline bool is_dot_dotdot(const char *name)
+{
+       if (name[0] != '.')
+               return false;
+
+       return name[1] == '\0' || (name[1] == '.' && name[2] == '\0');
+}
+
+enum {
+       BH_Meta,
+       BH_Mapped,
+       BH_Encoded,
+       BH_FullMapped,
+};
+
+/* Has a disk mapping */
+#define EROFS_MAP_MAPPED       (1 << BH_Mapped)
+/* Located in metadata (could be copied from bd_inode) */
+#define EROFS_MAP_META         (1 << BH_Meta)
+/* The extent is encoded */
+#define EROFS_MAP_ENCODED      (1 << BH_Encoded)
+/* The length of extent is full */
+#define EROFS_MAP_FULL_MAPPED  (1 << BH_FullMapped)
+
+struct erofs_map_blocks {
+       char mpage[EROFS_BLKSIZ];
+
+       erofs_off_t m_pa, m_la;
+       u64 m_plen, m_llen;
+
+       unsigned short m_deviceid;
+       char m_algorithmformat;
+       unsigned int m_flags;
+       erofs_blk_t index;
+};
+
+/*
+ * Used to get the exact decompressed length, e.g. fiemap (consider lookback
+ * approach instead if possible since it's more metadata lightweight.)
+ */
+#define EROFS_GET_BLOCKS_FIEMAP        0x0002
+
+enum {
+       Z_EROFS_COMPRESSION_SHIFTED = Z_EROFS_COMPRESSION_MAX,
+       Z_EROFS_COMPRESSION_RUNTIME_MAX
+};
+
+struct erofs_map_dev {
+       erofs_off_t m_pa;
+       unsigned int m_deviceid;
+};
+
+/* fs.c */
+int erofs_blk_read(void *buf, erofs_blk_t start, u32 nblocks);
+int erofs_dev_read(int device_id, void *buf, u64 offset, size_t len);
+
+/* super.c */
+int erofs_read_superblock(void);
+
+/* namei.c */
+int erofs_read_inode_from_disk(struct erofs_inode *vi);
+int erofs_ilookup(const char *path, struct erofs_inode *vi);
+int erofs_read_inode_from_disk(struct erofs_inode *vi);
+
+/* data.c */
+int erofs_pread(struct erofs_inode *inode, char *buf,
+               erofs_off_t count, erofs_off_t offset);
+int erofs_map_blocks(struct erofs_inode *inode,
+                    struct erofs_map_blocks *map, int flags);
+int erofs_map_dev(struct erofs_sb_info *sbi, struct erofs_map_dev *map);
+/* zmap.c */
+int z_erofs_fill_inode(struct erofs_inode *vi);
+int z_erofs_map_blocks_iter(struct erofs_inode *vi,
+                           struct erofs_map_blocks *map, int flags);
+
+#ifdef EUCLEAN
+#define EFSCORRUPTED   EUCLEAN         /* Filesystem is corrupted */
+#else
+#define EFSCORRUPTED   EIO
+#endif
+
+#define CRC32C_POLY_LE 0x82F63B78
+static inline u32 erofs_crc32c(u32 crc, const u8 *in, size_t len)
+{
+       int i;
+
+       while (len--) {
+               crc ^= *in++;
+               for (i = 0; i < 8; i++)
+                       crc = (crc >> 1) ^ ((crc & 1) ? CRC32C_POLY_LE : 0);
+       }
+       return crc;
+}
+
+#endif
diff --git a/fs/erofs/namei.c b/fs/erofs/namei.c
new file mode 100644 (file)
index 0000000..d1d4757
--- /dev/null
@@ -0,0 +1,252 @@
+// SPDX-License-Identifier: GPL-2.0+
+#include "internal.h"
+
+int erofs_read_inode_from_disk(struct erofs_inode *vi)
+{
+       int ret, ifmt;
+       char buf[sizeof(struct erofs_inode_extended)];
+       struct erofs_inode_compact *dic;
+       struct erofs_inode_extended *die;
+       const erofs_off_t inode_loc = iloc(vi->nid);
+
+       ret = erofs_dev_read(0, buf, inode_loc, sizeof(*dic));
+       if (ret < 0)
+               return -EIO;
+
+       dic = (struct erofs_inode_compact *)buf;
+       ifmt = le16_to_cpu(dic->i_format);
+
+       vi->datalayout = erofs_inode_datalayout(ifmt);
+       if (vi->datalayout >= EROFS_INODE_DATALAYOUT_MAX) {
+               erofs_err("unsupported datalayout %u of nid %llu",
+                         vi->datalayout, vi->nid | 0ULL);
+               return -EOPNOTSUPP;
+       }
+       switch (erofs_inode_version(ifmt)) {
+       case EROFS_INODE_LAYOUT_EXTENDED:
+               vi->inode_isize = sizeof(struct erofs_inode_extended);
+
+               ret = erofs_dev_read(0, buf + sizeof(*dic), inode_loc + sizeof(*dic),
+                                    sizeof(*die) - sizeof(*dic));
+               if (ret < 0)
+                       return -EIO;
+
+               die = (struct erofs_inode_extended *)buf;
+               vi->xattr_isize = erofs_xattr_ibody_size(die->i_xattr_icount);
+               vi->i_mode = le16_to_cpu(die->i_mode);
+
+               switch (vi->i_mode & S_IFMT) {
+               case S_IFREG:
+               case S_IFDIR:
+               case S_IFLNK:
+                       vi->u.i_blkaddr = le32_to_cpu(die->i_u.raw_blkaddr);
+                       break;
+               case S_IFCHR:
+               case S_IFBLK:
+                       vi->u.i_rdev = 0;
+                       break;
+               case S_IFIFO:
+               case S_IFSOCK:
+                       vi->u.i_rdev = 0;
+                       break;
+               default:
+                       goto bogusimode;
+               }
+
+               vi->i_uid = le32_to_cpu(die->i_uid);
+               vi->i_gid = le32_to_cpu(die->i_gid);
+               vi->i_nlink = le32_to_cpu(die->i_nlink);
+
+               vi->i_ctime = le64_to_cpu(die->i_ctime);
+               vi->i_ctime_nsec = le64_to_cpu(die->i_ctime_nsec);
+               vi->i_size = le64_to_cpu(die->i_size);
+               if (vi->datalayout == EROFS_INODE_CHUNK_BASED)
+                       /* fill chunked inode summary info */
+                       vi->u.chunkformat = le16_to_cpu(die->i_u.c.format);
+               break;
+       case EROFS_INODE_LAYOUT_COMPACT:
+               vi->inode_isize = sizeof(struct erofs_inode_compact);
+               vi->xattr_isize = erofs_xattr_ibody_size(dic->i_xattr_icount);
+               vi->i_mode = le16_to_cpu(dic->i_mode);
+
+               switch (vi->i_mode & S_IFMT) {
+               case S_IFREG:
+               case S_IFDIR:
+               case S_IFLNK:
+                       vi->u.i_blkaddr = le32_to_cpu(dic->i_u.raw_blkaddr);
+                       break;
+               case S_IFCHR:
+               case S_IFBLK:
+                       vi->u.i_rdev = 0;
+                       break;
+               case S_IFIFO:
+               case S_IFSOCK:
+                       vi->u.i_rdev = 0;
+                       break;
+               default:
+                       goto bogusimode;
+               }
+
+               vi->i_uid = le16_to_cpu(dic->i_uid);
+               vi->i_gid = le16_to_cpu(dic->i_gid);
+               vi->i_nlink = le16_to_cpu(dic->i_nlink);
+
+               vi->i_ctime = sbi.build_time;
+               vi->i_ctime_nsec = sbi.build_time_nsec;
+
+               vi->i_size = le32_to_cpu(dic->i_size);
+               if (vi->datalayout == EROFS_INODE_CHUNK_BASED)
+                       vi->u.chunkformat = le16_to_cpu(dic->i_u.c.format);
+               break;
+       default:
+               erofs_err("unsupported on-disk inode version %u of nid %llu",
+                         erofs_inode_version(ifmt), vi->nid | 0ULL);
+               return -EOPNOTSUPP;
+       }
+
+       vi->flags = 0;
+       if (vi->datalayout == EROFS_INODE_CHUNK_BASED) {
+               if (vi->u.chunkformat & ~EROFS_CHUNK_FORMAT_ALL) {
+                       erofs_err("unsupported chunk format %x of nid %llu",
+                                 vi->u.chunkformat, vi->nid | 0ULL);
+                       return -EOPNOTSUPP;
+               }
+               vi->u.chunkbits = LOG_BLOCK_SIZE +
+                       (vi->u.chunkformat & EROFS_CHUNK_FORMAT_BLKBITS_MASK);
+       } else if (erofs_inode_is_data_compressed(vi->datalayout))
+               z_erofs_fill_inode(vi);
+       return 0;
+bogusimode:
+       erofs_err("bogus i_mode (%o) @ nid %llu", vi->i_mode, vi->nid | 0ULL);
+       return -EFSCORRUPTED;
+}
+
+struct erofs_dirent *find_target_dirent(erofs_nid_t pnid,
+                                       void *dentry_blk,
+                                       const char *name, unsigned int len,
+                                       unsigned int nameoff,
+                                       unsigned int maxsize)
+{
+       struct erofs_dirent *de = dentry_blk;
+       const struct erofs_dirent *end = dentry_blk + nameoff;
+
+       while (de < end) {
+               const char *de_name;
+               unsigned int de_namelen;
+
+               nameoff = le16_to_cpu(de->nameoff);
+               de_name = (char *)dentry_blk + nameoff;
+
+               /* the last dirent in the block? */
+               if (de + 1 >= end)
+                       de_namelen = strnlen(de_name, maxsize - nameoff);
+               else
+                       de_namelen = le16_to_cpu(de[1].nameoff) - nameoff;
+
+               /* a corrupted entry is found */
+               if (nameoff + de_namelen > maxsize ||
+                   de_namelen > EROFS_NAME_LEN) {
+                       erofs_err("bogus dirent @ nid %llu", pnid | 0ULL);
+                       DBG_BUGON(1);
+                       return ERR_PTR(-EFSCORRUPTED);
+               }
+
+               if (len == de_namelen && !memcmp(de_name, name, de_namelen))
+                       return de;
+               ++de;
+       }
+       return NULL;
+}
+
+struct nameidata {
+       erofs_nid_t     nid;
+       unsigned int    ftype;
+};
+
+int erofs_namei(struct nameidata *nd,
+               const char *name, unsigned int len)
+{
+       erofs_nid_t nid = nd->nid;
+       int ret;
+       char buf[EROFS_BLKSIZ];
+       struct erofs_inode vi = { .nid = nid };
+       erofs_off_t offset;
+
+       ret = erofs_read_inode_from_disk(&vi);
+       if (ret)
+               return ret;
+
+       offset = 0;
+       while (offset < vi.i_size) {
+               erofs_off_t maxsize = min_t(erofs_off_t,
+                                           vi.i_size - offset, EROFS_BLKSIZ);
+               struct erofs_dirent *de = (void *)buf;
+               unsigned int nameoff;
+
+               ret = erofs_pread(&vi, buf, maxsize, offset);
+               if (ret)
+                       return ret;
+
+               nameoff = le16_to_cpu(de->nameoff);
+               if (nameoff < sizeof(struct erofs_dirent) ||
+                   nameoff >= PAGE_SIZE) {
+                       erofs_err("invalid de[0].nameoff %u @ nid %llu",
+                                 nameoff, nid | 0ULL);
+                       return -EFSCORRUPTED;
+               }
+
+               de = find_target_dirent(nid, buf, name, len,
+                                       nameoff, maxsize);
+               if (IS_ERR(de))
+                       return PTR_ERR(de);
+
+               if (de) {
+                       nd->nid = le64_to_cpu(de->nid);
+                       return 0;
+               }
+               offset += maxsize;
+       }
+       return -ENOENT;
+}
+
+static int link_path_walk(const char *name, struct nameidata *nd)
+{
+       nd->nid = sbi.root_nid;
+
+       while (*name == '/')
+               name++;
+
+       /* At this point we know we have a real path component. */
+       while (*name != '\0') {
+               const char *p = name;
+               int ret;
+
+               do {
+                       ++p;
+               } while (*p != '\0' && *p != '/');
+
+               DBG_BUGON(p <= name);
+               ret = erofs_namei(nd, name, p - name);
+               if (ret)
+                       return ret;
+
+               name = p;
+               /* Skip until no more slashes. */
+               for (name = p; *name == '/'; ++name)
+                       ;
+       }
+       return 0;
+}
+
+int erofs_ilookup(const char *path, struct erofs_inode *vi)
+{
+       int ret;
+       struct nameidata nd;
+
+       ret = link_path_walk(path, &nd);
+       if (ret)
+               return ret;
+
+       vi->nid = nd.nid;
+       return erofs_read_inode_from_disk(vi);
+}
diff --git a/fs/erofs/super.c b/fs/erofs/super.c
new file mode 100644 (file)
index 0000000..4cca322
--- /dev/null
@@ -0,0 +1,105 @@
+// SPDX-License-Identifier: GPL-2.0+
+#include "internal.h"
+
+static bool check_layout_compatibility(struct erofs_sb_info *sbi,
+                                      struct erofs_super_block *dsb)
+{
+       const unsigned int feature = le32_to_cpu(dsb->feature_incompat);
+
+       sbi->feature_incompat = feature;
+
+       /* check if current kernel meets all mandatory requirements */
+       if (feature & (~EROFS_ALL_FEATURE_INCOMPAT)) {
+               erofs_err("unidentified incompatible feature %x, please upgrade kernel version",
+                         feature & ~EROFS_ALL_FEATURE_INCOMPAT);
+               return false;
+       }
+       return true;
+}
+
+static int erofs_init_devices(struct erofs_sb_info *sbi,
+                             struct erofs_super_block *dsb)
+{
+       unsigned int ondisk_extradevs, i;
+       erofs_off_t pos;
+
+       sbi->total_blocks = sbi->primarydevice_blocks;
+
+       if (!erofs_sb_has_device_table())
+               ondisk_extradevs = 0;
+       else
+               ondisk_extradevs = le16_to_cpu(dsb->extra_devices);
+
+       if (ondisk_extradevs != sbi->extra_devices) {
+               erofs_err("extra devices don't match (ondisk %u, given %u)",
+                         ondisk_extradevs, sbi->extra_devices);
+               return -EINVAL;
+       }
+       if (!ondisk_extradevs)
+               return 0;
+
+       sbi->device_id_mask = roundup_pow_of_two(ondisk_extradevs + 1) - 1;
+       sbi->devs = calloc(ondisk_extradevs, sizeof(*sbi->devs));
+       pos = le16_to_cpu(dsb->devt_slotoff) * EROFS_DEVT_SLOT_SIZE;
+       for (i = 0; i < ondisk_extradevs; ++i) {
+               struct erofs_deviceslot dis;
+               int ret;
+
+               ret = erofs_dev_read(0, &dis, pos, sizeof(dis));
+               if (ret < 0)
+                       return ret;
+
+               sbi->devs[i].mapped_blkaddr = dis.mapped_blkaddr;
+               sbi->total_blocks += dis.blocks;
+               pos += EROFS_DEVT_SLOT_SIZE;
+       }
+       return 0;
+}
+
+int erofs_read_superblock(void)
+{
+       char data[EROFS_BLKSIZ];
+       struct erofs_super_block *dsb;
+       unsigned int blkszbits;
+       int ret;
+
+       ret = erofs_blk_read(data, 0, 1);
+       if (ret < 0) {
+               erofs_err("cannot read erofs superblock: %d", ret);
+               return -EIO;
+       }
+       dsb = (struct erofs_super_block *)(data + EROFS_SUPER_OFFSET);
+
+       ret = -EINVAL;
+       if (le32_to_cpu(dsb->magic) != EROFS_SUPER_MAGIC_V1) {
+               erofs_err("cannot find valid erofs superblock");
+               return ret;
+       }
+
+       sbi.feature_compat = le32_to_cpu(dsb->feature_compat);
+
+       blkszbits = dsb->blkszbits;
+       /* 9(512 bytes) + LOG_SECTORS_PER_BLOCK == LOG_BLOCK_SIZE */
+       if (blkszbits != LOG_BLOCK_SIZE) {
+               erofs_err("blksize %u isn't supported on this platform",
+                         1 << blkszbits);
+               return ret;
+       }
+
+       if (!check_layout_compatibility(&sbi, dsb))
+               return ret;
+
+       sbi.primarydevice_blocks = le32_to_cpu(dsb->blocks);
+       sbi.meta_blkaddr = le32_to_cpu(dsb->meta_blkaddr);
+       sbi.xattr_blkaddr = le32_to_cpu(dsb->xattr_blkaddr);
+       sbi.islotbits = EROFS_ISLOTBITS;
+       sbi.root_nid = le16_to_cpu(dsb->root_nid);
+       sbi.inos = le64_to_cpu(dsb->inos);
+       sbi.checksum = le32_to_cpu(dsb->checksum);
+
+       sbi.build_time = le64_to_cpu(dsb->build_time);
+       sbi.build_time_nsec = le32_to_cpu(dsb->build_time_nsec);
+
+       memcpy(&sbi.uuid, dsb->uuid, sizeof(dsb->uuid));
+       return erofs_init_devices(&sbi, dsb);
+}
diff --git a/fs/erofs/zmap.c b/fs/erofs/zmap.c
new file mode 100644 (file)
index 0000000..be2599a
--- /dev/null
@@ -0,0 +1,601 @@
+// SPDX-License-Identifier: GPL-2.0+
+#include "internal.h"
+
+int z_erofs_fill_inode(struct erofs_inode *vi)
+{
+       if (!erofs_sb_has_big_pcluster() &&
+           vi->datalayout == EROFS_INODE_FLAT_COMPRESSION_LEGACY) {
+               vi->z_advise = 0;
+               vi->z_algorithmtype[0] = 0;
+               vi->z_algorithmtype[1] = 0;
+               vi->z_logical_clusterbits = LOG_BLOCK_SIZE;
+
+               vi->flags |= EROFS_I_Z_INITED;
+       }
+       return 0;
+}
+
+static int z_erofs_fill_inode_lazy(struct erofs_inode *vi)
+{
+       int ret;
+       erofs_off_t pos;
+       struct z_erofs_map_header *h;
+       char buf[sizeof(struct z_erofs_map_header)];
+
+       if (vi->flags & EROFS_I_Z_INITED)
+               return 0;
+
+       DBG_BUGON(!erofs_sb_has_big_pcluster() &&
+                 vi->datalayout == EROFS_INODE_FLAT_COMPRESSION_LEGACY);
+       pos = round_up(iloc(vi->nid) + vi->inode_isize + vi->xattr_isize, 8);
+
+       ret = erofs_dev_read(0, buf, pos, sizeof(buf));
+       if (ret < 0)
+               return -EIO;
+
+       h = (struct z_erofs_map_header *)buf;
+       vi->z_advise = le16_to_cpu(h->h_advise);
+       vi->z_algorithmtype[0] = h->h_algorithmtype & 15;
+       vi->z_algorithmtype[1] = h->h_algorithmtype >> 4;
+
+       if (vi->z_algorithmtype[0] >= Z_EROFS_COMPRESSION_MAX) {
+               erofs_err("unknown compression format %u for nid %llu",
+                         vi->z_algorithmtype[0], (unsigned long long)vi->nid);
+               return -EOPNOTSUPP;
+       }
+
+       vi->z_logical_clusterbits = LOG_BLOCK_SIZE + (h->h_clusterbits & 7);
+       if (vi->datalayout == EROFS_INODE_FLAT_COMPRESSION &&
+           !(vi->z_advise & Z_EROFS_ADVISE_BIG_PCLUSTER_1) ^
+           !(vi->z_advise & Z_EROFS_ADVISE_BIG_PCLUSTER_2)) {
+               erofs_err("big pcluster head1/2 of compact indexes should be consistent for nid %llu",
+                         vi->nid * 1ULL);
+               return -EFSCORRUPTED;
+       }
+       vi->flags |= EROFS_I_Z_INITED;
+       return 0;
+}
+
+struct z_erofs_maprecorder {
+       struct erofs_inode *inode;
+       struct erofs_map_blocks *map;
+       void *kaddr;
+
+       unsigned long lcn;
+       /* compression extent information gathered */
+       u8  type, headtype;
+       u16 clusterofs;
+       u16 delta[2];
+       erofs_blk_t pblk, compressedlcs;
+};
+
+static int z_erofs_reload_indexes(struct z_erofs_maprecorder *m,
+                                 erofs_blk_t eblk)
+{
+       int ret;
+       struct erofs_map_blocks *const map = m->map;
+       char *mpage = map->mpage;
+
+       if (map->index == eblk)
+               return 0;
+
+       ret = erofs_blk_read(mpage, eblk, 1);
+       if (ret < 0)
+               return -EIO;
+
+       map->index = eblk;
+
+       return 0;
+}
+
+static int legacy_load_cluster_from_disk(struct z_erofs_maprecorder *m,
+                                        unsigned long lcn)
+{
+       struct erofs_inode *const vi = m->inode;
+       const erofs_off_t ibase = iloc(vi->nid);
+       const erofs_off_t pos =
+               Z_EROFS_VLE_LEGACY_INDEX_ALIGN(ibase + vi->inode_isize +
+                                              vi->xattr_isize) +
+               lcn * sizeof(struct z_erofs_vle_decompressed_index);
+       struct z_erofs_vle_decompressed_index *di;
+       unsigned int advise, type;
+       int err;
+
+       err = z_erofs_reload_indexes(m, erofs_blknr(pos));
+       if (err)
+               return err;
+
+       m->lcn = lcn;
+       di = m->kaddr + erofs_blkoff(pos);
+
+       advise = le16_to_cpu(di->di_advise);
+       type = (advise >> Z_EROFS_VLE_DI_CLUSTER_TYPE_BIT) &
+               ((1 << Z_EROFS_VLE_DI_CLUSTER_TYPE_BITS) - 1);
+       switch (type) {
+       case Z_EROFS_VLE_CLUSTER_TYPE_NONHEAD:
+               m->clusterofs = 1 << vi->z_logical_clusterbits;
+               m->delta[0] = le16_to_cpu(di->di_u.delta[0]);
+               if (m->delta[0] & Z_EROFS_VLE_DI_D0_CBLKCNT) {
+                       if (!(vi->z_advise & Z_EROFS_ADVISE_BIG_PCLUSTER_1)) {
+                               DBG_BUGON(1);
+                               return -EFSCORRUPTED;
+                       }
+                       m->compressedlcs = m->delta[0] &
+                               ~Z_EROFS_VLE_DI_D0_CBLKCNT;
+                       m->delta[0] = 1;
+               }
+               m->delta[1] = le16_to_cpu(di->di_u.delta[1]);
+               break;
+       case Z_EROFS_VLE_CLUSTER_TYPE_PLAIN:
+       case Z_EROFS_VLE_CLUSTER_TYPE_HEAD:
+               m->clusterofs = le16_to_cpu(di->di_clusterofs);
+               m->pblk = le32_to_cpu(di->di_u.blkaddr);
+               break;
+       default:
+               DBG_BUGON(1);
+               return -EOPNOTSUPP;
+       }
+       m->type = type;
+       return 0;
+}
+
+static unsigned int decode_compactedbits(unsigned int lobits,
+                                        unsigned int lomask,
+                                        u8 *in, unsigned int pos, u8 *type)
+{
+       const unsigned int v = get_unaligned_le32(in + pos / 8) >> (pos & 7);
+       const unsigned int lo = v & lomask;
+
+       *type = (v >> lobits) & 3;
+       return lo;
+}
+
+static int get_compacted_la_distance(unsigned int lclusterbits,
+                                    unsigned int encodebits,
+                                    unsigned int vcnt, u8 *in, int i)
+{
+       const unsigned int lomask = (1 << lclusterbits) - 1;
+       unsigned int lo, d1 = 0;
+       u8 type;
+
+       DBG_BUGON(i >= vcnt);
+
+       do {
+               lo = decode_compactedbits(lclusterbits, lomask,
+                                         in, encodebits * i, &type);
+
+               if (type != Z_EROFS_VLE_CLUSTER_TYPE_NONHEAD)
+                       return d1;
+               ++d1;
+       } while (++i < vcnt);
+
+       /* vcnt - 1 (Z_EROFS_VLE_CLUSTER_TYPE_NONHEAD) item */
+       if (!(lo & Z_EROFS_VLE_DI_D0_CBLKCNT))
+               d1 += lo - 1;
+       return d1;
+}
+
+static int unpack_compacted_index(struct z_erofs_maprecorder *m,
+                                 unsigned int amortizedshift,
+                                 unsigned int eofs, bool lookahead)
+{
+       struct erofs_inode *const vi = m->inode;
+       const unsigned int lclusterbits = vi->z_logical_clusterbits;
+       const unsigned int lomask = (1 << lclusterbits) - 1;
+       unsigned int vcnt, base, lo, encodebits, nblk;
+       int i;
+       u8 *in, type;
+       bool big_pcluster;
+
+       if (1 << amortizedshift == 4)
+               vcnt = 2;
+       else if (1 << amortizedshift == 2 && lclusterbits == 12)
+               vcnt = 16;
+       else
+               return -EOPNOTSUPP;
+
+       big_pcluster = vi->z_advise & Z_EROFS_ADVISE_BIG_PCLUSTER_1;
+       encodebits = ((vcnt << amortizedshift) - sizeof(__le32)) * 8 / vcnt;
+       base = round_down(eofs, vcnt << amortizedshift);
+       in = m->kaddr + base;
+
+       i = (eofs - base) >> amortizedshift;
+
+       lo = decode_compactedbits(lclusterbits, lomask,
+                                 in, encodebits * i, &type);
+       m->type = type;
+       if (type == Z_EROFS_VLE_CLUSTER_TYPE_NONHEAD) {
+               m->clusterofs = 1 << lclusterbits;
+
+               /* figure out lookahead_distance: delta[1] if needed */
+               if (lookahead)
+                       m->delta[1] = get_compacted_la_distance(lclusterbits,
+                                                               encodebits,
+                                                               vcnt, in, i);
+               if (lo & Z_EROFS_VLE_DI_D0_CBLKCNT) {
+                       if (!big_pcluster) {
+                               DBG_BUGON(1);
+                               return -EFSCORRUPTED;
+                       }
+                       m->compressedlcs = lo & ~Z_EROFS_VLE_DI_D0_CBLKCNT;
+                       m->delta[0] = 1;
+                       return 0;
+               } else if (i + 1 != (int)vcnt) {
+                       m->delta[0] = lo;
+                       return 0;
+               }
+               /*
+                * since the last lcluster in the pack is special,
+                * of which lo saves delta[1] rather than delta[0].
+                * Hence, get delta[0] by the previous lcluster indirectly.
+                */
+               lo = decode_compactedbits(lclusterbits, lomask,
+                                         in, encodebits * (i - 1), &type);
+               if (type != Z_EROFS_VLE_CLUSTER_TYPE_NONHEAD)
+                       lo = 0;
+               else if (lo & Z_EROFS_VLE_DI_D0_CBLKCNT)
+                       lo = 1;
+               m->delta[0] = lo + 1;
+               return 0;
+       }
+       m->clusterofs = lo;
+       m->delta[0] = 0;
+       /* figout out blkaddr (pblk) for HEAD lclusters */
+       if (!big_pcluster) {
+               nblk = 1;
+               while (i > 0) {
+                       --i;
+                       lo = decode_compactedbits(lclusterbits, lomask,
+                                                 in, encodebits * i, &type);
+                       if (type == Z_EROFS_VLE_CLUSTER_TYPE_NONHEAD)
+                               i -= lo;
+
+                       if (i >= 0)
+                               ++nblk;
+               }
+       } else {
+               nblk = 0;
+               while (i > 0) {
+                       --i;
+                       lo = decode_compactedbits(lclusterbits, lomask,
+                                                 in, encodebits * i, &type);
+                       if (type == Z_EROFS_VLE_CLUSTER_TYPE_NONHEAD) {
+                               if (lo & Z_EROFS_VLE_DI_D0_CBLKCNT) {
+                                       --i;
+                                       nblk += lo & ~Z_EROFS_VLE_DI_D0_CBLKCNT;
+                                       continue;
+                               }
+                               if (lo == 1) {
+                                       DBG_BUGON(1);
+                                       /* --i; ++nblk; continue; */
+                                       return -EFSCORRUPTED;
+                               }
+                               i -= lo - 2;
+                               continue;
+                       }
+                       ++nblk;
+               }
+       }
+       in += (vcnt << amortizedshift) - sizeof(__le32);
+       m->pblk = le32_to_cpu(*(__le32 *)in) + nblk;
+       return 0;
+}
+
+static int compacted_load_cluster_from_disk(struct z_erofs_maprecorder *m,
+                                           unsigned long lcn, bool lookahead)
+{
+       struct erofs_inode *const vi = m->inode;
+       const unsigned int lclusterbits = vi->z_logical_clusterbits;
+       const erofs_off_t ebase = round_up(iloc(vi->nid) + vi->inode_isize +
+                                          vi->xattr_isize, 8) +
+               sizeof(struct z_erofs_map_header);
+       const unsigned int totalidx = DIV_ROUND_UP(vi->i_size, EROFS_BLKSIZ);
+       unsigned int compacted_4b_initial, compacted_2b;
+       unsigned int amortizedshift;
+       erofs_off_t pos;
+       int err;
+
+       if (lclusterbits != 12)
+               return -EOPNOTSUPP;
+
+       if (lcn >= totalidx)
+               return -EINVAL;
+
+       m->lcn = lcn;
+       /* used to align to 32-byte (compacted_2b) alignment */
+       compacted_4b_initial = (32 - ebase % 32) / 4;
+       if (compacted_4b_initial == 32 / 4)
+               compacted_4b_initial = 0;
+
+       if (vi->z_advise & Z_EROFS_ADVISE_COMPACTED_2B)
+               compacted_2b = rounddown(totalidx - compacted_4b_initial, 16);
+       else
+               compacted_2b = 0;
+
+       pos = ebase;
+       if (lcn < compacted_4b_initial) {
+               amortizedshift = 2;
+               goto out;
+       }
+       pos += compacted_4b_initial * 4;
+       lcn -= compacted_4b_initial;
+
+       if (lcn < compacted_2b) {
+               amortizedshift = 1;
+               goto out;
+       }
+       pos += compacted_2b * 2;
+       lcn -= compacted_2b;
+       amortizedshift = 2;
+out:
+       pos += lcn * (1 << amortizedshift);
+       err = z_erofs_reload_indexes(m, erofs_blknr(pos));
+       if (err)
+               return err;
+       return unpack_compacted_index(m, amortizedshift, erofs_blkoff(pos),
+                                     lookahead);
+}
+
+static int z_erofs_load_cluster_from_disk(struct z_erofs_maprecorder *m,
+                                         unsigned int lcn, bool lookahead)
+{
+       const unsigned int datamode = m->inode->datalayout;
+
+       if (datamode == EROFS_INODE_FLAT_COMPRESSION_LEGACY)
+               return legacy_load_cluster_from_disk(m, lcn);
+
+       if (datamode == EROFS_INODE_FLAT_COMPRESSION)
+               return compacted_load_cluster_from_disk(m, lcn, lookahead);
+
+       return -EINVAL;
+}
+
+static int z_erofs_extent_lookback(struct z_erofs_maprecorder *m,
+                                  unsigned int lookback_distance)
+{
+       struct erofs_inode *const vi = m->inode;
+       struct erofs_map_blocks *const map = m->map;
+       const unsigned int lclusterbits = vi->z_logical_clusterbits;
+       unsigned long lcn = m->lcn;
+       int err;
+
+       if (lcn < lookback_distance) {
+               erofs_err("bogus lookback distance @ nid %llu",
+                         (unsigned long long)vi->nid);
+               DBG_BUGON(1);
+               return -EFSCORRUPTED;
+       }
+
+       /* load extent head logical cluster if needed */
+       lcn -= lookback_distance;
+       err = z_erofs_load_cluster_from_disk(m, lcn, false);
+       if (err)
+               return err;
+
+       switch (m->type) {
+       case Z_EROFS_VLE_CLUSTER_TYPE_NONHEAD:
+               if (!m->delta[0]) {
+                       erofs_err("invalid lookback distance 0 @ nid %llu",
+                                 (unsigned long long)vi->nid);
+                       DBG_BUGON(1);
+                       return -EFSCORRUPTED;
+               }
+               return z_erofs_extent_lookback(m, m->delta[0]);
+       case Z_EROFS_VLE_CLUSTER_TYPE_PLAIN:
+       case Z_EROFS_VLE_CLUSTER_TYPE_HEAD:
+               m->headtype = m->type;
+               map->m_la = (lcn << lclusterbits) | m->clusterofs;
+               break;
+       default:
+               erofs_err("unknown type %u @ lcn %lu of nid %llu",
+                         m->type, lcn, (unsigned long long)vi->nid);
+               DBG_BUGON(1);
+               return -EOPNOTSUPP;
+       }
+       return 0;
+}
+
+static int z_erofs_get_extent_compressedlen(struct z_erofs_maprecorder *m,
+                                           unsigned int initial_lcn)
+{
+       struct erofs_inode *const vi = m->inode;
+       struct erofs_map_blocks *const map = m->map;
+       const unsigned int lclusterbits = vi->z_logical_clusterbits;
+       unsigned long lcn;
+       int err;
+
+       DBG_BUGON(m->type != Z_EROFS_VLE_CLUSTER_TYPE_PLAIN &&
+                 m->type != Z_EROFS_VLE_CLUSTER_TYPE_HEAD);
+       if (m->headtype == Z_EROFS_VLE_CLUSTER_TYPE_PLAIN ||
+           !(vi->z_advise & Z_EROFS_ADVISE_BIG_PCLUSTER_1)) {
+               map->m_plen = 1 << lclusterbits;
+               return 0;
+       }
+
+       lcn = m->lcn + 1;
+       if (m->compressedlcs)
+               goto out;
+
+       err = z_erofs_load_cluster_from_disk(m, lcn, false);
+       if (err)
+               return err;
+
+       /*
+        * If the 1st NONHEAD lcluster has already been handled initially w/o
+        * valid compressedlcs, which means at least it mustn't be CBLKCNT, or
+        * an internal implemenatation error is detected.
+        *
+        * The following code can also handle it properly anyway, but let's
+        * BUG_ON in the debugging mode only for developers to notice that.
+        */
+       DBG_BUGON(lcn == initial_lcn &&
+                 m->type == Z_EROFS_VLE_CLUSTER_TYPE_NONHEAD);
+
+       switch (m->type) {
+       case Z_EROFS_VLE_CLUSTER_TYPE_PLAIN:
+       case Z_EROFS_VLE_CLUSTER_TYPE_HEAD:
+               /*
+                * if the 1st NONHEAD lcluster is actually PLAIN or HEAD type
+                * rather than CBLKCNT, it's a 1 lcluster-sized pcluster.
+                */
+               m->compressedlcs = 1;
+               break;
+       case Z_EROFS_VLE_CLUSTER_TYPE_NONHEAD:
+               if (m->delta[0] != 1)
+                       goto err_bonus_cblkcnt;
+               if (m->compressedlcs)
+                       break;
+               /* fallthrough */
+       default:
+               erofs_err("cannot found CBLKCNT @ lcn %lu of nid %llu",
+                         lcn, vi->nid | 0ULL);
+               DBG_BUGON(1);
+               return -EFSCORRUPTED;
+       }
+out:
+       map->m_plen = m->compressedlcs << lclusterbits;
+       return 0;
+err_bonus_cblkcnt:
+       erofs_err("bogus CBLKCNT @ lcn %lu of nid %llu",
+                 lcn, vi->nid | 0ULL);
+       DBG_BUGON(1);
+       return -EFSCORRUPTED;
+}
+
+static int z_erofs_get_extent_decompressedlen(struct z_erofs_maprecorder *m)
+{
+       struct erofs_inode *const vi = m->inode;
+       struct erofs_map_blocks *map = m->map;
+       unsigned int lclusterbits = vi->z_logical_clusterbits;
+       u64 lcn = m->lcn, headlcn = map->m_la >> lclusterbits;
+       int err;
+
+       do {
+               /* handle the last EOF pcluster (no next HEAD lcluster) */
+               if ((lcn << lclusterbits) >= vi->i_size) {
+                       map->m_llen = vi->i_size - map->m_la;
+                       return 0;
+               }
+
+               err = z_erofs_load_cluster_from_disk(m, lcn, true);
+               if (err)
+                       return err;
+
+               if (m->type == Z_EROFS_VLE_CLUSTER_TYPE_NONHEAD) {
+                       DBG_BUGON(!m->delta[1] &&
+                                 m->clusterofs != 1 << lclusterbits);
+               } else if (m->type == Z_EROFS_VLE_CLUSTER_TYPE_PLAIN ||
+                          m->type == Z_EROFS_VLE_CLUSTER_TYPE_HEAD) {
+                       /* go on until the next HEAD lcluster */
+                       if (lcn != headlcn)
+                               break;
+                       m->delta[1] = 1;
+               } else {
+                       erofs_err("unknown type %u @ lcn %llu of nid %llu",
+                                 m->type, lcn | 0ULL,
+                                 (unsigned long long)vi->nid);
+                       DBG_BUGON(1);
+                       return -EOPNOTSUPP;
+               }
+               lcn += m->delta[1];
+       } while (m->delta[1]);
+
+       map->m_llen = (lcn << lclusterbits) + m->clusterofs - map->m_la;
+       return 0;
+}
+
+int z_erofs_map_blocks_iter(struct erofs_inode *vi,
+                           struct erofs_map_blocks *map,
+                           int flags)
+{
+       struct z_erofs_maprecorder m = {
+               .inode = vi,
+               .map = map,
+               .kaddr = map->mpage,
+       };
+       int err = 0;
+       unsigned int lclusterbits, endoff;
+       unsigned long initial_lcn;
+       unsigned long long ofs, end;
+
+       /* when trying to read beyond EOF, leave it unmapped */
+       if (map->m_la >= vi->i_size) {
+               map->m_llen = map->m_la + 1 - vi->i_size;
+               map->m_la = vi->i_size;
+               map->m_flags = 0;
+               goto out;
+       }
+
+       err = z_erofs_fill_inode_lazy(vi);
+       if (err)
+               goto out;
+
+       lclusterbits = vi->z_logical_clusterbits;
+       ofs = map->m_la;
+       initial_lcn = ofs >> lclusterbits;
+       endoff = ofs & ((1 << lclusterbits) - 1);
+
+       err = z_erofs_load_cluster_from_disk(&m, initial_lcn, false);
+       if (err)
+               goto out;
+
+       map->m_flags = EROFS_MAP_MAPPED | EROFS_MAP_ENCODED;
+       end = (m.lcn + 1ULL) << lclusterbits;
+       switch (m.type) {
+       case Z_EROFS_VLE_CLUSTER_TYPE_PLAIN:
+       case Z_EROFS_VLE_CLUSTER_TYPE_HEAD:
+               if (endoff >= m.clusterofs) {
+                       m.headtype = m.type;
+                       map->m_la = (m.lcn << lclusterbits) | m.clusterofs;
+                       break;
+               }
+               /* m.lcn should be >= 1 if endoff < m.clusterofs */
+               if (!m.lcn) {
+                       erofs_err("invalid logical cluster 0 at nid %llu",
+                                 (unsigned long long)vi->nid);
+                       err = -EFSCORRUPTED;
+                       goto out;
+               }
+               end = (m.lcn << lclusterbits) | m.clusterofs;
+               map->m_flags |= EROFS_MAP_FULL_MAPPED;
+               m.delta[0] = 1;
+               /* fallthrough */
+       case Z_EROFS_VLE_CLUSTER_TYPE_NONHEAD:
+               /* get the correspoinding first chunk */
+               err = z_erofs_extent_lookback(&m, m.delta[0]);
+               if (err)
+                       goto out;
+               break;
+       default:
+               erofs_err("unknown type %u @ offset %llu of nid %llu",
+                         m.type, ofs, (unsigned long long)vi->nid);
+               err = -EOPNOTSUPP;
+               goto out;
+       }
+
+       map->m_llen = end - map->m_la;
+       map->m_pa = blknr_to_addr(m.pblk);
+
+       err = z_erofs_get_extent_compressedlen(&m, initial_lcn);
+       if (err)
+               goto out;
+
+       if (m.headtype == Z_EROFS_VLE_CLUSTER_TYPE_PLAIN)
+               map->m_algorithmformat = Z_EROFS_COMPRESSION_SHIFTED;
+       else
+               map->m_algorithmformat = vi->z_algorithmtype[0];
+
+       if (flags & EROFS_GET_BLOCKS_FIEMAP) {
+               err = z_erofs_get_extent_decompressedlen(&m);
+               if (!err)
+                       map->m_flags |= EROFS_MAP_FULL_MAPPED;
+       }
+
+out:
+       erofs_dbg("m_la %" PRIu64 " m_pa %" PRIu64 " m_llen %" PRIu64 " m_plen %" PRIu64 " m_flags 0%o",
+                 map->m_la, map->m_pa,
+                 map->m_llen, map->m_plen, map->m_flags);
+
+       DBG_BUGON(err < 0 && err != -ENOMEM);
+       return err;
+}
diff --git a/fs/fs.c b/fs/fs.c
index 023f89cafec22eb11b7da11442e25e6f4711fac7..99dac0fd79fe8b4e54a97136c5871ad906ea2b7a 100644 (file)
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -26,6 +26,7 @@
 #include <linux/math64.h>
 #include <efi_loader.h>
 #include <squashfs.h>
+#include <erofs.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -304,6 +305,27 @@ static struct fstype_info fstypes[] = {
                .unlink = fs_unlink_unsupported,
                .mkdir = fs_mkdir_unsupported,
        },
+#endif
+#if IS_ENABLED(CONFIG_FS_EROFS)
+       {
+               .fstype = FS_TYPE_EROFS,
+               .name = "erofs",
+               .null_dev_desc_ok = false,
+               .probe = erofs_probe,
+               .opendir = erofs_opendir,
+               .readdir = erofs_readdir,
+               .ls = fs_ls_generic,
+               .read = erofs_read,
+               .size = erofs_size,
+               .close = erofs_close,
+               .closedir = erofs_closedir,
+               .exists = erofs_exists,
+               .uuid = fs_uuid_unsupported,
+               .write = fs_write_unsupported,
+               .ln = fs_ln_unsupported,
+               .unlink = fs_unlink_unsupported,
+               .mkdir = fs_mkdir_unsupported,
+       },
 #endif
        {
                .fstype = FS_TYPE_ANY,
index c2f8fad1cb9280eca3daf2d8b8c71ecb842c92cf..e49f5bf2f7db173760f041e09703549e00f86a6d 100644 (file)
@@ -20,6 +20,7 @@
  */
 
 #ifndef __ASSEMBLY__
+#include <event_internal.h>
 #include <fdtdec.h>
 #include <membuff.h>
 #include <linux/list.h>
@@ -467,6 +468,12 @@ struct global_data {
         */
        char *smbios_version;
 #endif
+#if CONFIG_IS_ENABLED(EVENT)
+       /**
+        * @event_state: Points to the current state of events
+        */
+       struct event_state event_state;
+#endif
 };
 #ifndef DO_DEPS_ONLY
 static_assert(sizeof(struct global_data) == GD_SIZE);
@@ -532,6 +539,12 @@ static_assert(sizeof(struct global_data) == GD_SIZE);
 #define gd_set_multi_dtb_fit(_dtb)
 #endif
 
+#if CONFIG_IS_ENABLED(EVENT_DYNAMIC)
+#define gd_event_state()       ((struct event_state *)&gd->event_state)
+#else
+#define gd_event_state()       NULL
+#endif
+
 /**
  * enum gd_flags - global data flags
  *
index 637de0c4558a9e1fbdcc43ba7e4fb43c4544afa6..1becc669aee90ff5f1ac78ed057efde880ae69a6 100644 (file)
@@ -52,12 +52,6 @@ struct bd_info {
        unsigned short  bi_ethspeed;    /* Ethernet speed in Mbps */
        unsigned long   bi_intfreq;     /* Internal Freq, in MHz */
        unsigned long   bi_busfreq;     /* Bus Freq, in MHz */
-#if defined(CONFIG_CPM2)
-       unsigned long   bi_cpmfreq;     /* CPM_CLK Freq, in MHz */
-       unsigned long   bi_brgfreq;     /* BRG_CLK Freq, in MHz */
-       unsigned long   bi_sccfreq;     /* SCC_CLK Freq, in MHz */
-       unsigned long   bi_vco;         /* VCO Out from PLL, in MHz */
-#endif
 #if defined(CONFIG_M68K)
        unsigned long   bi_pcifreq;     /* PCI Bus Freq, in MHz */
 #endif
index 3b4d1fd6265048f1528322b8552320c4ef0687c1..143c9a3867d9a7153300178f898dc86e12f3cf26 100644 (file)
  */
 #define CONFIG_SYS_MAX_FLASH_SECT      1024
 
-/*
- * NET options
- */
-#define CONFIG_SYS_RX_ETH_BUFFER       0
-#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-
 /*
  * BOOTP options
  */
-#define CONFIG_BOOTP_BOOTFILESIZE
 
 /*
  * MEMORY ORGANIZATION
index 763cb8db7cfa205b04426a3714e225548da948e7..1aea9ad5c884d7537b8e64d6819d02329a1d51c1 100644 (file)
 #define CONFIG_SYS_CFI_FLASH_STATUS_POLL /* fix amd flash issue */
 #define CONFIG_SYS_MAX_FLASH_SECT      512
 
-/*
- * NET options
- */
-#define CONFIG_SYS_RX_ETH_BUFFER       0
-#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /*
  * MEMORY ORGANIZATION
  * -Monitor at top of sdram.
index e6f42556ffb3c6b0831372f07432b3f1362dc1ca..e73c656c384235a71c6ca8ef072a7b17fb0c6325 100644 (file)
 #define CONFIG_WATCHDOG_TIMEOUT                5000
 
 #ifdef CONFIG_MCFFEC
-#      define CONFIG_MII_INIT          1
 #      define CONFIG_SYS_DISCOVER_PHY
-#      define CONFIG_SYS_RX_ETH_BUFFER 8
-#      define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#      define CONFIG_HAS_ETH1
 /* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */
 #      ifndef CONFIG_SYS_DISCOVER_PHY
 #              define FECDUPLEX        FULL
 #              define FECSPEED         _100BASET
-#      else
-#              ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#                      define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#              endif
 #      endif                   /* CONFIG_SYS_DISCOVER_PHY */
 #endif
 
index 9f4c3af4b8e88e0273f8e257c507f7d8d9babd4d..bbe12d10db6f87dad541b12cbffb10b76faa3b31 100644 (file)
 
 #define CONFIG_WATCHDOG_TIMEOUT        5000    /* timeout in milliseconds, max timeout is 6.71sec */
 
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 #ifdef CONFIG_MCFFEC
-#      define CONFIG_MII_INIT          1
 #      define CONFIG_SYS_DISCOVER_PHY
-#      define CONFIG_SYS_RX_ETH_BUFFER 8
-#      define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 /* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */
 #      ifndef CONFIG_SYS_DISCOVER_PHY
 #              define FECDUPLEX        FULL
 #              define FECSPEED         _100BASET
-#      else
-#              ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#                      define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#              endif
 #      endif                   /* CONFIG_SYS_DISCOVER_PHY */
 #endif
 
@@ -52,7 +40,6 @@
 #define CONFIG_SYS_I2C_PINMUX_SET      (GPIO_PAR_FECI2C_SCL_I2CSCL | GPIO_PAR_FECI2C_SDA_I2CSDA)
 
 /* this must be included AFTER the definition of CONFIG COMMANDS (if any) */
-#define CONFIG_BOOTFILE                "u-boot.bin"
 #ifdef CONFIG_MCFFEC
 #      define CONFIG_IPADDR    192.162.1.2
 #      define CONFIG_NETMASK   255.255.255.0
index 32671494d96c26964260c4c22475d6d79e9bdbfc..ff029213b525f9054ff110763f95731f427d264b 100644 (file)
 
 #undef CONFIG_MONITOR_IS_IN_RAM                /* no pre-loader required!!! ;-) */
 
-/*
- * BOOTP options
- */
-#undef CONFIG_BOOTP_BOOTFILESIZE
-
 /*
  * Clock configuration: enable only one of the following options
  */
index df89a0f9613c8eb95691d12af33ec91c6539c936..c4ee8c933d99c7db253f395315e2cf0d64fa8869 100644 (file)
        . = DEFINED(env_offset) ? env_offset : .; \
        env/embedded.o(.text);
 
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 #ifdef CONFIG_MCFFEC
-#      define CONFIG_MII_INIT          1
 #      define CONFIG_SYS_DISCOVER_PHY
-#      define CONFIG_SYS_RX_ETH_BUFFER 8
-#      define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 /* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */
 #      ifndef CONFIG_SYS_DISCOVER_PHY
 #              define FECDUPLEX        FULL
 #              define FECSPEED         _100BASET
-#      else
-#              ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#                      define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#              endif
 #      endif                   /* CONFIG_SYS_DISCOVER_PHY */
 #endif
 
index 7926ed44dc9033c8b98c3e8e41b1bb493a3c43c8..5db85ad18429257534e3a89e0f83bd24f77ad518 100644 (file)
        . = DEFINED(env_offset) ? env_offset : .; \
        env/embedded.o(.text);
 
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /* Available command configuration */
 
 #ifdef CONFIG_MCFFEC
-#define CONFIG_MII_INIT                1
 #define CONFIG_SYS_DISCOVER_PHY
-#define CONFIG_SYS_RX_ETH_BUFFER       8
-#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#define CONFIG_HAS_ETH1
 /* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */
 #ifndef CONFIG_SYS_DISCOVER_PHY
 #define FECDUPLEX              FULL
 #define FECSPEED               _100BASET
-#else
-#ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#endif
 #endif
 #endif
 
@@ -63,7 +50,6 @@
 #define CONFIG_SYS_I2C_PINMUX_SET      (0x000F)
 
 #ifdef CONFIG_MCFFEC
-#      define CONFIG_NET_RETRY_COUNT   5
 #      define CONFIG_OVERWRITE_ETHADDR_ONCE
 #endif                         /* FEC_ENET */
 
index df95eead1cd3848bc1c8f21e240e013e42d7e69c..cc64893b9af965f16112556956963f3fcaf4f53c 100644 (file)
        . = DEFINED(env_offset) ? env_offset : .; \
        env/embedded.o(.text*);
 
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 #ifdef CONFIG_MCFFEC
-#      define CONFIG_MII_INIT          1
 #      define CONFIG_SYS_DISCOVER_PHY
-#      define CONFIG_SYS_RX_ETH_BUFFER 8
-#      define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 /* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */
 #      ifndef CONFIG_SYS_DISCOVER_PHY
 #              define FECDUPLEX        FULL
 #              define FECSPEED         _100BASET
-#      else
-#              ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#                      define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#              endif
 #      endif                   /* CONFIG_SYS_DISCOVER_PHY */
 #endif
 
index ec701867a8065ec065cbbc1888cac0e39e8ba372..431fa7406c617d472458f33d311f0e01564465a2 100644 (file)
 #define CONFIG_SYS_UNIFY_CACHE
 
 #ifdef CONFIG_MCFFEC
-#      define CONFIG_MII_INIT          1
 #      define CONFIG_SYS_DISCOVER_PHY
-#      define CONFIG_SYS_RX_ETH_BUFFER 8
 #      define CONFIG_SYS_TX_ETH_BUFFER 8
 #      define CONFIG_SYS_FEC_BUF_USE_SRAM
-#      define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#      define CONFIG_HAS_ETH1
 
 /* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */
 #      ifndef CONFIG_SYS_DISCOVER_PHY
 #              define FECDUPLEX        FULL
 #              define FECSPEED         _100BASET
-#      else
-#              ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#                      define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#              endif
 #      endif                   /* CONFIG_SYS_DISCOVER_PHY */
 #endif
 
index 865d23c6b576d6c5c7d5f5888a3441a0f0206aad..d155f2cba047950ba4c2a4b171a42a050266595a 100644 (file)
 #define CONFIG_SYS_UNIFY_CACHE
 
 #ifdef CONFIG_MCFFEC
-#      define CONFIG_MII_INIT          1
 #      define CONFIG_SYS_DISCOVER_PHY
-#      define CONFIG_SYS_RX_ETH_BUFFER 8
-#      define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 /* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */
 #      ifndef CONFIG_SYS_DISCOVER_PHY
 #              define FECDUPLEX        FULL
 #              define FECSPEED         _100BASET
-#      else
-#              ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#                      define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#              endif
 #      endif                   /* CONFIG_SYS_DISCOVER_PHY */
 #endif
 
index ca13c8cbd30b2632d42db65d82f046d6797335fa..b0b0e2e13bf58b794fbd99ee53c31ba92da759c3 100644 (file)
 #define CONFIG_SYS_UNIFY_CACHE
 
 #ifdef CONFIG_MCFFEC
-#      define CONFIG_MII_INIT          1
 #      define CONFIG_SYS_DISCOVER_PHY
-#      define CONFIG_SYS_RX_ETH_BUFFER 8
-#      define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 /* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */
 #      ifndef CONFIG_SYS_DISCOVER_PHY
 #              define FECDUPLEX        FULL
 #              define FECSPEED         _100BASET
-#      else
-#              ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#                      define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#              endif
 #      endif                   /* CONFIG_SYS_DISCOVER_PHY */
 #endif
 
index 4a26ae8f7f17233f1ce40a0c98132f1d5fa00840..e26b70a08232d0f2cec3aeaf98938d31ebafec82 100644 (file)
@@ -88,7 +88,6 @@
 
 /* Ethernet configuration part */
 #define CONFIG_SYS_DISCOVER_PHY                1
-#define CONFIG_MII_INIT                        1
 
 /* NAND configuration part */
 #define CONFIG_SYS_MAX_NAND_DEVICE     1
index 538d9c219781b57c9ac5e7820b8354de45e25e9c..32dac86431e250e984de0873a719cc0c64da3b67 100644 (file)
 #define CONFIG_TSEC1
 
 #ifdef CONFIG_TSEC1
-#define CONFIG_HAS_ETH0
 #define CONFIG_TSEC1_NAME              "TSEC0"
 #define CONFIG_SYS_TSEC1_OFFSET                0x24000
 #define TSEC1_PHY_ADDR                 2
 #endif
 
 #ifdef CONFIG_TSEC2
-#define CONFIG_HAS_ETH1
 #define CONFIG_TSEC2_NAME              "TSEC1"
 #define CONFIG_SYS_TSEC2_OFFSET                0x25000
 #define TSEC2_PHY_ADDR                 0x1c
 #define TSEC2_FLAGS                    (TSEC_GIGABIT | TSEC_REDUCED)
 #define TSEC2_PHYIDX                   0
 #endif
-
-/* Options are: TSEC[0-1] */
-#define CONFIG_ETHPRIME                        "TSEC0"
-
 #endif
 
 /*
 #define CONFIG_LOADS_ECHO      1       /* echo on for serial download */
 #define CONFIG_SYS_LOADS_BAUD_CHANGE   1       /* allow baudrate change */
 
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 #ifdef CONFIG_MMC
 #define CONFIG_FSL_ESDHC_PIN_MUX
 #define CONFIG_SYS_FSL_ESDHC_ADDR      CONFIG_SYS_MPC83xx_ESDHC_ADDR
 #define CONFIG_HOSTNAME                "mpc837x_rdb"
 #define CONFIG_ROOTPATH                "/nfsroot"
 #define CONFIG_RAMDISKFILE     "rootfs.ext2.gz.uboot"
-#define CONFIG_BOOTFILE                "uImage"
                                /* U-Boot image on TFTP server */
 #define CONFIG_UBOOTPATH       "u-boot.bin"
 #define CONFIG_FDTFILE         "mpc8379_rdb.dtb"
diff --git a/include/configs/MPC8540ADS.h b/include/configs/MPC8540ADS.h
deleted file mode 100644 (file)
index 57097b1..0000000
+++ /dev/null
@@ -1,303 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0+ */
-/*
- * Copyright 2004, 2011 Freescale Semiconductor.
- * (C) Copyright 2002,2003 Motorola,Inc.
- * Xianghua Xiao <X.Xiao@motorola.com>
- */
-
-/*
- * mpc8540ads board configuration file
- *
- * Please refer to doc/README.mpc85xx for more info.
- *
- * Make sure you change the MAC address and other network params first,
- * search for CONFIG_SERVERIP, etc in this file.
- */
-
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-/*
- * default CCARBAR is at 0xff700000
- * assume U-Boot is less than 0.5MB
- */
-
-#ifndef CONFIG_HAS_FEC
-#define CONFIG_HAS_FEC         1       /* 8540 has FEC */
-#endif
-
-/*
- * sysclk for MPC85xx
- *
- * Two valid values are:
- *    33000000
- *    66000000
- *
- * Most PCI cards are still 33Mhz, so in the presence of PCI, 33MHz
- * is likely the desired value here, so that is now the default.
- * The board, however, can run at 66MHz.  In any event, this value
- * must match the settings of some switches.  Details can be found
- * in the README.mpc85xxads.
- *
- * XXX -- Can't we run at 66 MHz, anyway?  PCI should drop to
- * 33MHz to accommodate, based on a PCI pin.
- * Note that PCI-X won't work at 33MHz.
- */
-
-/*
- * These can be toggled for performance analysis, otherwise use default.
- */
-#define CONFIG_L2_CACHE                        /* toggle L2 cache */
-#define CONFIG_BTB                     /* toggle branch predition */
-
-#define CONFIG_SYS_CCSRBAR             0xe0000000
-#define CONFIG_SYS_CCSRBAR_PHYS_LOW    CONFIG_SYS_CCSRBAR
-
-/* DDR Setup */
-#define CONFIG_SPD_EEPROM              /* Use SPD EEPROM for DDR setup*/
-
-#define CONFIG_MEM_INIT_VALUE          0xDeadBeef
-
-#define CONFIG_SYS_DDR_SDRAM_BASE      0x00000000      /* DDR is system memory*/
-#define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
-
-#define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   (2 * CONFIG_DIMM_SLOTS_PER_CTLR)
-
-/* I2C addresses of SPD EEPROMs */
-#define SPD_EEPROM_ADDRESS     0x51    /* CTLR 0 DIMM 0 */
-
-/* These are used when DDR doesn't use SPD. */
-#define CONFIG_SYS_SDRAM_SIZE  128             /* DDR is 128MB */
-#define CONFIG_SYS_DDR_CS0_BNDS        0x00000007      /* 0-128MB */
-#define CONFIG_SYS_DDR_CS0_CONFIG      0x80000002
-#define CONFIG_SYS_DDR_TIMING_1        0x37344321
-#define CONFIG_SYS_DDR_TIMING_2        0x00000800      /* P9-45,may need tuning */
-#define CONFIG_SYS_DDR_CONTROL         0xc2000000      /* unbuffered,no DYN_PWR */
-#define CONFIG_SYS_DDR_MODE            0x00000062      /* DLL,normal,seq,4/2.5 */
-#define CONFIG_SYS_DDR_INTERVAL        0x05200100      /* autocharge,no open page */
-
-/*
- * SDRAM on the Local Bus
- */
-#define CONFIG_SYS_LBC_SDRAM_BASE      0xf0000000      /* Localbus SDRAM */
-#define CONFIG_SYS_LBC_SDRAM_SIZE      64              /* LBC SDRAM is 64MB */
-
-#define CONFIG_SYS_FLASH_BASE          0xff000000      /* start of FLASH 16M */
-
-#define CONFIG_SYS_MAX_FLASH_SECT      64              /* sectors per device */
-#undef CONFIG_SYS_FLASH_CHECKSUM
-#define CONFIG_SYS_FLASH_ERASE_TOUT    60000   /* Flash Erase Timeout (ms) */
-#define CONFIG_SYS_FLASH_WRITE_TOUT    500     /* Flash Write Timeout (ms) */
-
-#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE    /* start of monitor */
-
-#if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE)
-#define CONFIG_SYS_RAMBOOT
-#else
-#undef  CONFIG_SYS_RAMBOOT
-#endif
-
-#define CONFIG_SYS_FLASH_EMPTY_INFO
-
-/*
- * Local Bus Definitions
- */
-
-/*
- * Base Register 2 and Option Register 2 configure SDRAM.
- * The SDRAM base address, CONFIG_SYS_LBC_SDRAM_BASE, is 0xf0000000.
- *
- * For BR2, need:
- *    Base address of 0xf0000000 = BR[0:16] = 1111 0000 0000 0000 0
- *    port-size = 32-bits = BR2[19:20] = 11
- *    no parity checking = BR2[21:22] = 00
- *    SDRAM for MSEL = BR2[24:26] = 011
- *    Valid = BR[31] = 1
- *
- * 0    4    8    12   16   20   24   28
- * 1111 0000 0000 0000 0001 1000 0110 0001 = f0001861
- *
- * FIXME: CONFIG_SYS_LBC_SDRAM_BASE should be masked and OR'ed into
- * FIXME: the top 17 bits of BR2.
- */
-
-/*
- * The SDRAM size in MB, CONFIG_SYS_LBC_SDRAM_SIZE, is 64.
- *
- * For OR2, need:
- *    64MB mask for AM, OR2[0:7] = 1111 1100
- *                XAM, OR2[17:18] = 11
- *    9 columns OR2[19-21] = 010
- *    13 rows   OR2[23-25] = 100
- *    EAD set for extra time OR[31] = 1
- *
- * 0    4    8    12   16   20   24   28
- * 1111 1100 0000 0000 0110 1001 0000 0001 = fc006901
- */
-
-#define CONFIG_SYS_LBC_LCRR            0x00030004    /* LB clock ratio reg */
-#define CONFIG_SYS_LBC_LBCR            0x00000000    /* LB config reg */
-#define CONFIG_SYS_LBC_LSRT            0x20000000    /* LB sdram refresh timer */
-#define CONFIG_SYS_LBC_MRTPR           0x20000000    /* LB refresh timer prescal*/
-
-#define CONFIG_SYS_LBC_LSDMR_COMMON    ( LSDMR_BSMA1516        \
-                               | LSDMR_RFCR5           \
-                               | LSDMR_PRETOACT3       \
-                               | LSDMR_ACTTORW3        \
-                               | LSDMR_BL8             \
-                               | LSDMR_WRC2            \
-                               | LSDMR_CL3             \
-                               | LSDMR_RFEN            \
-                               )
-
-/*
- * SDRAM Controller configuration sequence.
- */
-#define CONFIG_SYS_LBC_LSDMR_1 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_PCHALL)
-#define CONFIG_SYS_LBC_LSDMR_2 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_ARFRSH)
-#define CONFIG_SYS_LBC_LSDMR_3 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_ARFRSH)
-#define CONFIG_SYS_LBC_LSDMR_4 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_MRW)
-#define CONFIG_SYS_LBC_LSDMR_5 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_NORMAL)
-
-/*
- * 32KB, 8-bit wide for ADS config reg
- */
-#define CONFIG_SYS_BCSR                (CONFIG_SYS_BR4_PRELIM & 0xffff8000)
-
-#define CONFIG_SYS_INIT_RAM_LOCK       1
-#define CONFIG_SYS_INIT_RAM_ADDR       0xe4010000      /* Initial RAM address */
-#define CONFIG_SYS_INIT_RAM_SIZE       0x4000          /* Size of used area in RAM */
-
-#define CONFIG_SYS_GBL_DATA_OFFSET     (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
-#define CONFIG_SYS_INIT_SP_OFFSET      CONFIG_SYS_GBL_DATA_OFFSET
-
-#define CONFIG_SYS_MONITOR_LEN         (256 * 1024)    /* Reserve 256 kB for Mon */
-
-/* Serial Port */
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE    1
-#define CONFIG_SYS_NS16550_CLK         get_bus_freq(0)
-
-#define CONFIG_SYS_BAUDRATE_TABLE  \
-       {300, 600, 1200, 2400, 4800, 9600, 19200, 38400,115200}
-
-#define CONFIG_SYS_NS16550_COM1        (CONFIG_SYS_CCSRBAR+0x4500)
-#define CONFIG_SYS_NS16550_COM2        (CONFIG_SYS_CCSRBAR+0x4600)
-
-/*
- * I2C
- */
-#define CONFIG_SYS_I2C_NOPROBES                { {0, 0x69} }
-
-/* RapidIO MMU */
-#define CONFIG_SYS_RIO_MEM_VIRT        0xc0000000      /* base address */
-#define CONFIG_SYS_RIO_MEM_BUS 0xc0000000      /* base address */
-#define CONFIG_SYS_RIO_MEM_PHYS        0xc0000000
-#define CONFIG_SYS_RIO_MEM_SIZE        0x20000000      /* 128M */
-
-/*
- * General PCI
- * Memory space is mapped 1-1, but I/O space must start from 0.
- */
-#define CONFIG_SYS_PCI1_MEM_VIRT       0x80000000
-#define CONFIG_SYS_PCI1_MEM_BUS        0x80000000
-#define CONFIG_SYS_PCI1_MEM_PHYS       0x80000000
-#define CONFIG_SYS_PCI1_MEM_SIZE       0x20000000      /* 512M */
-#define CONFIG_SYS_PCI1_IO_VIRT        0xe2000000
-#define CONFIG_SYS_PCI1_IO_BUS 0x00000000
-#define CONFIG_SYS_PCI1_IO_PHYS        0xe2000000
-#define CONFIG_SYS_PCI1_IO_SIZE        0x100000        /* 1M */
-
-#if defined(CONFIG_PCI)
-
-#if !defined(CONFIG_PCI_PNP)
-    #define PCI_ENET0_IOADDR   0xe0000000
-    #define PCI_ENET0_MEMADDR  0xe0000000
-    #define PCI_IDSEL_NUMBER   0x0c    /* slot0->3(IDSEL)=12->15 */
-#endif
-
-#undef CONFIG_PCI_SCAN_SHOW            /* show pci devices on startup */
-
-#endif /* CONFIG_PCI */
-
-#if defined(CONFIG_TSEC_ENET)
-
-#define CONFIG_TSEC1   1
-#define CONFIG_TSEC1_NAME      "TSEC0"
-#define CONFIG_TSEC2   1
-#define CONFIG_TSEC2_NAME      "TSEC1"
-#define TSEC1_PHY_ADDR         0
-#define TSEC2_PHY_ADDR         1
-#define TSEC1_PHYIDX           0
-#define TSEC2_PHYIDX           0
-#define TSEC1_FLAGS            TSEC_GIGABIT
-#define TSEC2_FLAGS            TSEC_GIGABIT
-
-#if CONFIG_HAS_FEC
-#define CONFIG_MPC85XX_FEC     1
-#define CONFIG_MPC85XX_FEC_NAME                "FEC"
-#define FEC_PHY_ADDR           3
-#define FEC_PHYIDX             0
-#define FEC_FLAGS              0
-#endif
-
-/* Options are: TSEC[0-1], FEC */
-#define CONFIG_ETHPRIME                "TSEC0"
-
-#endif /* CONFIG_TSEC_ENET */
-
-/*
- * Environment
- */
-
-#define CONFIG_LOADS_ECHO      1       /* echo on for serial download */
-#define CONFIG_SYS_LOADS_BAUD_CHANGE   1       /* allow baudrate change */
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
-/*
- * Miscellaneous configurable options
- */
-
-/*
- * For booting Linux, the board info and command line data
- * have to be in the first 64 MB of memory, since this is
- * the maximum mapped by the Linux kernel during initialization.
- */
-#define CONFIG_SYS_BOOTMAPSZ   (64 << 20)      /* Initial Memory map for Linux*/
-#define CONFIG_SYS_BOOTM_LEN   (64 << 20)      /* Increase max gunzip size */
-
-/*
- * Environment Configuration
- */
-
-/* The mac addresses for all ethernet interface */
-#if defined(CONFIG_TSEC_ENET)
-#define CONFIG_HAS_ETH0
-#define CONFIG_HAS_ETH1
-#define CONFIG_HAS_ETH2
-#endif
-
-#define CONFIG_IPADDR    192.168.1.253
-
-#define CONFIG_HOSTNAME                "unknown"
-#define CONFIG_ROOTPATH                "/nfsroot"
-#define CONFIG_BOOTFILE                "your.uImage"
-
-#define CONFIG_SERVERIP  192.168.1.1
-#define CONFIG_GATEWAYIP 192.168.1.1
-#define CONFIG_NETMASK   255.255.255.0
-
-#define        CONFIG_EXTRA_ENV_SETTINGS                                       \
-   "netdev=eth0\0"                                                      \
-   "consoledev=ttyS0\0"                                                 \
-   "ramdiskaddr=1000000\0"                                             \
-   "ramdiskfile=your.ramdisk.u-boot\0"                                 \
-   "fdtaddr=400000\0"                                                  \
-   "fdtfile=your.fdt.dtb\0"
-
-#endif /* __CONFIG_H */
index e16d870a5e66d5d1175d83712fa433f7770e4a66..fc3cc0c533d89eb6b1b656ab05dd71e9f6b3de2f 100644 (file)
@@ -30,7 +30,6 @@
  * These can be toggled for performance analysis, otherwise use default.
  */
 #define CONFIG_L2_CACHE                        /* toggle L2 cache */
-#define CONFIG_BTB                     /* toggle branch predition */
 
 /*
  * Only possible on E500 Version 2 or newer cores.
@@ -49,7 +48,6 @@
 #define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
 
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   (2 * CONFIG_DIMM_SLOTS_PER_CTLR)
 
 /* I2C addresses of SPD EEPROMs */
 #define SPD_EEPROM_ADDRESS     0x51    /* CTLR 0 DIMM 0 */
 #define TSEC2_FLAGS            TSEC_GIGABIT
 #define TSEC3_FLAGS            (TSEC_GIGABIT | TSEC_REDUCED)
 #define TSEC4_FLAGS            (TSEC_GIGABIT | TSEC_REDUCED)
-
-/* Options are: eTSEC[0-3] */
-#define CONFIG_ETHPRIME                "eTSEC0"
 #endif /* CONFIG_TSEC_ENET */
 
 /*
 #define CONFIG_LOADS_ECHO      1       /* echo on for serial download */
 #define CONFIG_SYS_LOADS_BAUD_CHANGE   1       /* allow baudrate change */
 
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /*
  * Miscellaneous configurable options
  */
 /*
  * Environment Configuration
  */
-#if defined(CONFIG_TSEC_ENET)
-#define CONFIG_HAS_ETH0
-#define CONFIG_HAS_ETH1
-#define CONFIG_HAS_ETH2
-#define CONFIG_HAS_ETH3
-#endif
 
 #define CONFIG_IPADDR   192.168.1.253
 
 #define CONFIG_HOSTNAME         "unknown"
 #define CONFIG_ROOTPATH         "/nfsroot"
-#define CONFIG_BOOTFILE "8548cds/uImage.uboot"
 #define CONFIG_UBOOTPATH       8548cds/u-boot.bin      /* TFTP server */
 
 #define CONFIG_SERVERIP         192.168.1.1
diff --git a/include/configs/MPC8560ADS.h b/include/configs/MPC8560ADS.h
deleted file mode 100644 (file)
index d23cf0e..0000000
+++ /dev/null
@@ -1,292 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0+ */
-/*
- * Copyright 2004, 2011 Freescale Semiconductor.
- * (C) Copyright 2002,2003 Motorola,Inc.
- * Xianghua Xiao <X.Xiao@motorola.com>
- */
-
-/*
- * mpc8560ads board configuration file
- *
- * Please refer to doc/README.mpc85xx for more info.
- *
- * Make sure you change the MAC address and other network params first,
- * search for CONFIG_SERVERIP, etc. in this file.
- */
-
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-#include <linux/delay.h>
-
-/* High Level Configuration Options */
-#define CONFIG_CPM2            1       /* has CPM2 */
-
-/*
- * default CCARBAR is at 0xff700000
- * assume U-Boot is less than 0.5MB
- */
-
-#define CONFIG_RESET_PHY_R     1       /* Call reset_phy() */
-
-/*
- * sysclk for MPC85xx
- *
- * Two valid values are:
- *    33000000
- *    66000000
- *
- * Most PCI cards are still 33Mhz, so in the presence of PCI, 33MHz
- * is likely the desired value here, so that is now the default.
- * The board, however, can run at 66MHz.  In any event, this value
- * must match the settings of some switches.  Details can be found
- * in the README.mpc85xxads.
- */
-
-/*
- * These can be toggled for performance analysis, otherwise use default.
- */
-#define CONFIG_L2_CACHE                        /* toggle L2 cache */
-#define CONFIG_BTB                     /* toggle branch predition */
-
-#define CONFIG_SYS_INIT_DBCR DBCR_IDM          /* Enable Debug Exceptions */
-
-#define CONFIG_SYS_CCSRBAR             0xe0000000
-#define CONFIG_SYS_CCSRBAR_PHYS_LOW    CONFIG_SYS_CCSRBAR
-
-/* DDR Setup */
-#define CONFIG_SPD_EEPROM              /* Use SPD EEPROM for DDR setup*/
-
-#define CONFIG_MEM_INIT_VALUE          0xDeadBeef
-
-#define CONFIG_SYS_DDR_SDRAM_BASE      0x00000000      /* DDR is system memory*/
-#define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
-
-#define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   (2 * CONFIG_DIMM_SLOTS_PER_CTLR)
-
-/* I2C addresses of SPD EEPROMs */
-#define SPD_EEPROM_ADDRESS     0x51    /* CTLR 0 DIMM 0 */
-
-/* These are used when DDR doesn't use SPD.  */
-#define CONFIG_SYS_SDRAM_SIZE  128             /* DDR is 128MB */
-#define CONFIG_SYS_DDR_CS0_BNDS        0x00000007      /* 0-128MB */
-#define CONFIG_SYS_DDR_CS0_CONFIG      0x80000002
-#define CONFIG_SYS_DDR_TIMING_1        0x37344321
-#define CONFIG_SYS_DDR_TIMING_2        0x00000800      /* P9-45,may need tuning */
-#define CONFIG_SYS_DDR_CONTROL         0xc2000000      /* unbuffered,no DYN_PWR */
-#define CONFIG_SYS_DDR_MODE            0x00000062      /* DLL,normal,seq,4/2.5 */
-#define CONFIG_SYS_DDR_INTERVAL        0x05200100      /* autocharge,no open page */
-
-/*
- * SDRAM on the Local Bus
- */
-#define CONFIG_SYS_LBC_SDRAM_BASE      0xf0000000      /* Localbus SDRAM */
-#define CONFIG_SYS_LBC_SDRAM_SIZE      64              /* LBC SDRAM is 64MB */
-
-#define CONFIG_SYS_FLASH_BASE          0xff000000      /* start of FLASH 16M */
-
-#define CONFIG_SYS_MAX_FLASH_SECT      64              /* sectors per device */
-#undef CONFIG_SYS_FLASH_CHECKSUM
-#define CONFIG_SYS_FLASH_ERASE_TOUT    60000   /* Flash Erase Timeout (ms) */
-#define CONFIG_SYS_FLASH_WRITE_TOUT    500     /* Flash Write Timeout (ms) */
-
-#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE    /* start of monitor */
-
-#if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE)
-#define CONFIG_SYS_RAMBOOT
-#else
-#undef  CONFIG_SYS_RAMBOOT
-#endif
-
-#define CONFIG_SYS_FLASH_EMPTY_INFO
-
-/*
- * Local Bus Definitions
- */
-
-/*
- * Base Register 2 and Option Register 2 configure SDRAM.
- * The SDRAM base address, CONFIG_SYS_LBC_SDRAM_BASE, is 0xf0000000.
- *
- * For BR2, need:
- *    Base address of 0xf0000000 = BR[0:16] = 1111 0000 0000 0000 0
- *    port-size = 32-bits = BR2[19:20] = 11
- *    no parity checking = BR2[21:22] = 00
- *    SDRAM for MSEL = BR2[24:26] = 011
- *    Valid = BR[31] = 1
- *
- * 0    4    8    12   16   20   24   28
- * 1111 0000 0000 0000 0001 1000 0110 0001 = f0001861
- *
- * FIXME: CONFIG_SYS_LBC_SDRAM_BASE should be masked and OR'ed into
- * FIXME: the top 17 bits of BR2.
- */
-
-/*
- * The SDRAM size in MB, CONFIG_SYS_LBC_SDRAM_SIZE, is 64.
- *
- * For OR2, need:
- *    64MB mask for AM, OR2[0:7] = 1111 1100
- *                XAM, OR2[17:18] = 11
- *    9 columns OR2[19-21] = 010
- *    13 rows   OR2[23-25] = 100
- *    EAD set for extra time OR[31] = 1
- *
- * 0    4    8    12   16   20   24   28
- * 1111 1100 0000 0000 0110 1001 0000 0001 = fc006901
- */
-
-#define CONFIG_SYS_LBC_LCRR            0x00030004    /* LB clock ratio reg */
-#define CONFIG_SYS_LBC_LBCR            0x00000000    /* LB config reg */
-#define CONFIG_SYS_LBC_LSRT            0x20000000    /* LB sdram refresh timer */
-#define CONFIG_SYS_LBC_MRTPR           0x20000000    /* LB refresh timer prescal*/
-
-#define CONFIG_SYS_LBC_LSDMR_COMMON    ( LSDMR_BSMA1516        \
-                               | LSDMR_RFCR5           \
-                               | LSDMR_PRETOACT3       \
-                               | LSDMR_ACTTORW3        \
-                               | LSDMR_BL8             \
-                               | LSDMR_WRC2            \
-                               | LSDMR_CL3             \
-                               | LSDMR_RFEN            \
-                               )
-
-/*
- * SDRAM Controller configuration sequence.
- */
-#define CONFIG_SYS_LBC_LSDMR_1 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_PCHALL)
-#define CONFIG_SYS_LBC_LSDMR_2 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_ARFRSH)
-#define CONFIG_SYS_LBC_LSDMR_3 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_ARFRSH)
-#define CONFIG_SYS_LBC_LSDMR_4 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_MRW)
-#define CONFIG_SYS_LBC_LSDMR_5 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_NORMAL)
-
-/*
- * 32KB, 8-bit wide for ADS config reg
- */
-#define CONFIG_SYS_BCSR                (CONFIG_SYS_BR4_PRELIM & 0xffff8000)
-
-#define CONFIG_SYS_INIT_RAM_LOCK       1
-#define CONFIG_SYS_INIT_RAM_ADDR       0xe4010000      /* Initial RAM address */
-#define CONFIG_SYS_INIT_RAM_SIZE       0x4000          /* Size of used area in RAM */
-
-#define CONFIG_SYS_GBL_DATA_OFFSET     (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
-#define CONFIG_SYS_INIT_SP_OFFSET      CONFIG_SYS_GBL_DATA_OFFSET
-
-#define CONFIG_SYS_MONITOR_LEN         (256 * 1024)    /* Reserve 256 kB for Mon */
-
-/* Serial Port */
-#define CONFIG_CONS_ON_SCC     /* define if console on SCC */
-
-#define CONFIG_SYS_BAUDRATE_TABLE  \
-       {300, 600, 1200, 2400, 4800, 9600, 19200, 38400,115200}
-
-/*
- * I2C
- */
-#define CONFIG_SYS_I2C_NOPROBES                { {0, 0x69} }
-
-/* RapidIO MMU */
-#define CONFIG_SYS_RIO_MEM_VIRT        0xc0000000      /* base address */
-#define CONFIG_SYS_RIO_MEM_BUS 0xc0000000      /* base address */
-#define CONFIG_SYS_RIO_MEM_PHYS        0xc0000000
-#define CONFIG_SYS_RIO_MEM_SIZE        0x20000000      /* 128M */
-
-/*
- * General PCI
- * Memory space is mapped 1-1, but I/O space must start from 0.
- */
-#define CONFIG_SYS_PCI1_MEM_VIRT       0x80000000
-#define CONFIG_SYS_PCI1_MEM_BUS        0x80000000
-#define CONFIG_SYS_PCI1_MEM_PHYS       0x80000000
-#define CONFIG_SYS_PCI1_MEM_SIZE       0x20000000      /* 512M */
-#define CONFIG_SYS_PCI1_IO_VIRT        0xe2000000
-#define CONFIG_SYS_PCI1_IO_BUS 0x00000000
-#define CONFIG_SYS_PCI1_IO_PHYS        0xe2000000
-#define CONFIG_SYS_PCI1_IO_SIZE        0x100000        /* 1M */
-
-#if defined(CONFIG_PCI)
-
-#if !defined(CONFIG_PCI_PNP)
-    #define PCI_ENET0_IOADDR   0xe0000000
-    #define PCI_ENET0_MEMADDR  0xe0000000
-    #define PCI_IDSEL_NUMBER   0x0c    /* slot0->3(IDSEL)=12->15 */
-#endif
-
-#undef CONFIG_PCI_SCAN_SHOW            /* show pci devices on startup */
-
-#endif /* CONFIG_PCI */
-
-#ifdef CONFIG_TSEC_ENET
-
-#define CONFIG_TSEC1   1
-#define CONFIG_TSEC1_NAME      "TSEC0"
-#define CONFIG_TSEC2   1
-#define CONFIG_TSEC2_NAME      "TSEC1"
-#define TSEC1_PHY_ADDR         0
-#define TSEC2_PHY_ADDR         1
-#define TSEC1_PHYIDX           0
-#define TSEC2_PHYIDX           0
-#define TSEC1_FLAGS            TSEC_GIGABIT
-#define TSEC2_FLAGS            TSEC_GIGABIT
-
-/* Options are: TSEC[0-1] */
-#define CONFIG_ETHPRIME                "TSEC0"
-
-#endif /* CONFIG_TSEC_ENET */
-
-/*
- * Environment
- */
-
-#define CONFIG_LOADS_ECHO      1       /* echo on for serial download */
-#define CONFIG_SYS_LOADS_BAUD_CHANGE   1       /* allow baudrate change */
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
-/*
- * Miscellaneous configurable options
- */
-
-#define CONFIG_SYS_BARGSIZE    CONFIG_SYS_CBSIZE       /* Boot Argument Buffer Size */
-
-/*
- * For booting Linux, the board info and command line data
- * have to be in the first 64 MB of memory, since this is
- * the maximum mapped by the Linux kernel during initialization.
- */
-#define CONFIG_SYS_BOOTMAPSZ   (64 << 20)      /* Initial Memory map for Linux*/
-#define CONFIG_SYS_BOOTM_LEN   (64 << 20)      /* Increase max gunzip size */
-
-/*
- * Environment Configuration
- */
-#if defined(CONFIG_TSEC_ENET)
-#define CONFIG_HAS_ETH0
-#define CONFIG_HAS_ETH1
-#define CONFIG_HAS_ETH2
-#define CONFIG_HAS_ETH3
-#endif
-
-#define CONFIG_IPADDR    192.168.1.253
-
-#define CONFIG_HOSTNAME                "unknown"
-#define CONFIG_ROOTPATH                "/nfsroot"
-#define CONFIG_BOOTFILE                "your.uImage"
-
-#define CONFIG_SERVERIP  192.168.1.1
-#define CONFIG_GATEWAYIP 192.168.1.1
-#define CONFIG_NETMASK   255.255.255.0
-
-#define        CONFIG_EXTRA_ENV_SETTINGS                                       \
-       "netdev=eth0\0"                                                 \
-       "consoledev=ttyCPM\0"                                           \
-       "ramdiskaddr=1000000\0"                                         \
-       "ramdiskfile=your.ramdisk.u-boot\0"                             \
-       "fdtaddr=400000\0"                                              \
-       "fdtfile=mpc8560ads.dtb\0"
-
-#endif /* __CONFIG_H */
index 106d1e6a4b7e8470fb330ddd5e25c31e34068485..4dabfdfeb6830da7137cf3513edbf3e2f76aa005 100644 (file)
  * These can be toggled for performance analysis, otherwise use default.
  */
 #define CONFIG_L2_CACHE                        /* toggle L2 cache */
-#define CONFIG_BTB                     /* toggle branch predition */
 
 
 #define CONFIG_ENABLE_36BIT_PHYS
@@ -171,7 +170,6 @@ extern unsigned long get_sdram_size(void);
 #define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
 
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   1
 
 /* DDR3 Controller Settings */
 #define CONFIG_SYS_DDR_CS0_BNDS                0x0000003f
@@ -413,12 +411,6 @@ extern unsigned long get_sdram_size(void);
 #undef CONFIG_SYS_RAMBOOT
 #endif
 
-#ifdef CONFIG_SYS_FSL_ERRATUM_IFC_A003399
-#if !defined(CONFIG_SPL) && !defined(CONFIG_SYS_RAMBOOT)
-#define CONFIG_A003399_NOR_WORKAROUND
-#endif
-#endif
-
 #define CONFIG_SYS_INIT_RAM_LOCK
 #define CONFIG_SYS_INIT_RAM_ADDR       0xffd00000 /* stack in RAM */
 #define CONFIG_SYS_INIT_RAM_SIZE       0x00004000 /* End of used area in RAM */
@@ -528,8 +520,6 @@ extern unsigned long get_sdram_size(void);
 #define TSEC2_PHYIDX           0
 #define TSEC3_PHYIDX           0
 
-#define CONFIG_ETHPRIME                "eTSEC1"
-
 /* TBI PHY configuration for SGMII mode */
 #define CONFIG_TSEC_TBICR_SETTINGS ( \
                TBICR_PHY_RESET \
@@ -606,14 +596,7 @@ extern unsigned long get_sdram_size(void);
  * Environment Configuration
  */
 
-#if defined(CONFIG_TSEC_ENET)
-#define CONFIG_HAS_ETH0
-#define CONFIG_HAS_ETH1
-#define CONFIG_HAS_ETH2
-#endif
-
 #define CONFIG_ROOTPATH                "/opt/nfsroot"
-#define CONFIG_BOOTFILE                "uImage"
 #define CONFIG_UBOOTPATH       u-boot.bin/* U-Boot image on TFTP server */
 
 #define        CONFIG_EXTRA_ENV_SETTINGS                               \
@@ -643,10 +626,10 @@ extern unsigned long get_sdram_size(void);
        "ext2load usb 0:4 $fdtaddr $fdtfile;"   \
        "ext2load usb 0:4 $ramdiskaddr $ramdiskfile;"   \
        "bootm $loadaddr $ramdiskaddr $fdtaddr\0"       \
-       CONFIG_BOOTMODE
+       BOOTMODE
 
 #if defined(CONFIG_TARGET_P1010RDB_PA)
-#define CONFIG_BOOTMODE \
+#define BOOTMODE \
        "boot_bank0=i2c dev 0; i2c mw 18 1 f1; i2c mw 18 3 f0;" \
        "mw.b ffb00011 0; mw.b ffb00009 0; reset\0" \
        "boot_bank1=i2c dev 0; i2c mw 18 1 f1; i2c mw 18 3 f0;" \
@@ -655,7 +638,7 @@ extern unsigned long get_sdram_size(void);
        "mw.b ffb00011 0; mw.b ffb00017 1; reset\0"
 
 #elif defined(CONFIG_TARGET_P1010RDB_PB)
-#define CONFIG_BOOTMODE \
+#define BOOTMODE \
        "boot_bank0=i2c dev 0; i2c mw 18 1 fe; i2c mw 18 3 0;" \
        "i2c mw 19 1 2; i2c mw 19 3 e1; reset\0" \
        "boot_bank1=i2c dev 0; i2c mw 18 1 fe; i2c mw 18 3 0;" \
index e6d5321070bfe1399e92a65b99eb90be51758db8..40898a6d1f91415b378c5f4063bad79d15d22b10 100644 (file)
@@ -56,9 +56,7 @@
  * These can be toggled for performance analysis, otherwise use default.
  */
 #define CONFIG_SYS_CACHE_STASHING
-#define CONFIG_BACKSIDE_L2_CACHE
 #define CONFIG_SYS_INIT_L2CSR0         L2CSR0_L2E
-#define CONFIG_BTB                     /* toggle branch predition */
 
 #define CONFIG_ENABLE_36BIT_PHYS
 
@@ -94,7 +92,6 @@
 #define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
 
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   (4 * CONFIG_DIMM_SLOTS_PER_CTLR)
 
 #define CONFIG_SYS_SPD_BUS_NUM 0
 #define SPD_EEPROM_ADDRESS     0x52
 #define CONFIG_SYS_FM1_10GEC1_PHY_ADDR 0
 
 #define CONFIG_SYS_TBIPA_VALUE 8
-#define CONFIG_ETHPRIME                "FM1@DTSEC1"
 #endif
 
 /*
  * Environment Configuration
  */
 #define CONFIG_ROOTPATH                "/opt/nfsroot"
-#define CONFIG_BOOTFILE                "uImage"
 #define CONFIG_UBOOTPATH       u-boot.bin
 
 #define __USB_PHY_TYPE utmi
index dbaffc635d24212d0a3a6ef2325b1aaaa3152d53..8114373655f36015c3c15a174d3b3619c76e1843 100644 (file)
@@ -46,7 +46,6 @@
 
 #include <asm/arch/config.h>
 /* There is no PHY directly connected so don't ask it for link status */
-#undef CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 
 /*
  * Ethernet Driver configuration
index bbd3ccc6d9d2098e4548949e2ffcc3f0e90fc1e1..b70829c09d58807e4e58a17d54557b4c02603ebe 100644 (file)
@@ -51,7 +51,6 @@
 
 #include <asm/arch/config.h>
 /* There is no PHY directly connected so don't ask it for link status */
-#undef CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 
 /*
  * Ethernet Driver configuration
index d24cfce8b3b9a0c700ce38f32a1c28dd99c83417..dfb9e9120aea4e85abb15b11e64434b005efb9bc 100644 (file)
  * These can be toggled for performance analysis, otherwise use default.
  */
 #define CONFIG_SYS_CACHE_STASHING
-#define CONFIG_BACKSIDE_L2_CACHE
 #define CONFIG_SYS_INIT_L2CSR0         L2CSR0_L2E
-#define CONFIG_BTB                     /* toggle branch predition */
 #ifdef CONFIG_DDR_ECC
 #define CONFIG_MEM_INIT_VALUE          0xdeadbeef
 #endif
 #define CONFIG_SYS_DDR_SDRAM_BASE      0x00000000
 #define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   (4 * CONFIG_DIMM_SLOTS_PER_CTLR)
 #if defined(CONFIG_TARGET_T1024RDB)
 #define CONFIG_SYS_SPD_BUS_NUM 0
 #define SPD_EEPROM_ADDRESS     0x51
 #ifdef CONFIG_FSL_DIU_FB
 #define CONFIG_SYS_DIU_ADDR    (CONFIG_SYS_CCSRBAR + 0x180000)
 #define CONFIG_VIDEO_BMP_LOGO
-#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
 /*
  * With CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS, flash I/O is really slow, so
  * disable empty flash sector detection, which is I/O-intensive.
 #endif
 #endif
 
-#ifdef CONFIG_FMAN_ENET
-#define CONFIG_ETHPRIME                "FM1@DTSEC4"
-#endif
-
 /*
  * Dynamic MTD Partition support with mtdparts
  */
  * Environment Configuration
  */
 #define CONFIG_ROOTPATH                "/opt/nfsroot"
-#define CONFIG_BOOTFILE                "uImage"
 #define CONFIG_UBOOTPATH       u-boot.bin /* U-Boot image on TFTP server */
 #define __USB_PHY_TYPE         utmi
 
index 9433f14227bb40d29fd112bf1605928d77cff92b..6fbeebc1a661591935220f88655f1ca0fe977b80 100644 (file)
@@ -96,9 +96,7 @@
  * These can be toggled for performance analysis, otherwise use default.
  */
 #define CONFIG_SYS_CACHE_STASHING
-#define CONFIG_BACKSIDE_L2_CACHE
 #define CONFIG_SYS_INIT_L2CSR0         L2CSR0_L2E
-#define CONFIG_BTB                     /* toggle branch predition */
 #ifdef CONFIG_DDR_ECC
 #define CONFIG_MEM_INIT_VALUE          0xdeadbeef
 #endif
 #define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
 
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   (2 * CONFIG_DIMM_SLOTS_PER_CTLR)
 
 #define CONFIG_SYS_SPD_BUS_NUM 0
 #define SPD_EEPROM_ADDRESS     0x51
 #define CONFIG_SYS_RAMBOOT
 #endif
 
-#ifdef CONFIG_SYS_FSL_ERRATUM_A008044
-#if defined(CONFIG_MTD_RAW_NAND)
-#define CONFIG_A008044_WORKAROUND
-#endif
-#endif
-
 #define CONFIG_HWCONFIG
 
 /* define to use L1 as initial stack */
 #define CONFIG_SYS_FM1_QSGMII21_PHY_ADDR       0x0c
 #endif
 #endif
-
-#define CONFIG_ETHPRIME                "FM1@DTSEC4"
 #endif
 
 /*
  * Environment Configuration
  */
 #define CONFIG_ROOTPATH                "/opt/nfsroot"
-#define CONFIG_BOOTFILE                "uImage"
 #define CONFIG_UBOOTPATH       "u-boot.bin"    /* U-Boot image on TFTP server*/
 
 #define __USB_PHY_TYPE utmi
index a41f9f0d9b832c3499e07e6dee5a9d3405b52190..d1f23e4399aea62996d77b65cc3c18f9cd479621 100644 (file)
@@ -88,7 +88,6 @@
  * These can be toggled for performance analysis, otherwise use default.
  */
 #define CONFIG_SYS_CACHE_STASHING
-#define CONFIG_BTB             /* toggle branch predition */
 #ifdef CONFIG_DDR_ECC
 #define CONFIG_MEM_INIT_VALUE          0xdeadbeef
 #endif
 #define CONFIG_SYS_DDR_SDRAM_BASE      0x00000000
 #define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
 #define CONFIG_DIMM_SLOTS_PER_CTLR     2
-#define CONFIG_CHIP_SELECTS_PER_CTRL   (2 * CONFIG_DIMM_SLOTS_PER_CTLR)
 #define CONFIG_SYS_SPD_BUS_NUM 0
 #define CONFIG_SYS_SDRAM_SIZE  2048    /* for fixed parameter use */
 #define SPD_EEPROM_ADDRESS1    0x51
 #define SGMII_CARD_PORT4_PHY_ADDR 0x1F
 #endif
 
-#ifdef CONFIG_FMAN_ENET
-#define CONFIG_ETHPRIME                "FM1@DTSEC3"
-#endif
-
 /*
  * SATA
  */
  * Environment Configuration
  */
 #define CONFIG_ROOTPATH         "/opt/nfsroot"
-#define CONFIG_BOOTFILE         "uImage"
 #define CONFIG_UBOOTPATH "u-boot.bin"  /* U-Boot image on TFTP server */
 
 #define __USB_PHY_TYPE         utmi
index 7165ba08283329ad6b12f037f2e1bca72bf76b3b..1858fcf46752b0c9d7f9f5991d5dbb7100df1012 100644 (file)
@@ -83,7 +83,6 @@
  * These can be toggled for performance analysis, otherwise use default.
  */
 #define CONFIG_SYS_CACHE_STASHING
-#define CONFIG_BTB             /* toggle branch predition */
 #ifdef CONFIG_DDR_ECC
 #define CONFIG_MEM_INIT_VALUE          0xdeadbeef
 #endif
 #define CONFIG_SYS_DDR_SDRAM_BASE      0x00000000
 #define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   (4 * CONFIG_DIMM_SLOTS_PER_CTLR)
 #define CONFIG_SYS_SPD_BUS_NUM 0
 #define CONFIG_SYS_SDRAM_SIZE  2048    /* for fixed parameter use */
 #define SPD_EEPROM_ADDRESS1    0x51
 #define AQR113C_PHY_ADDR2      0x08
 #endif
 
-#ifdef CONFIG_FMAN_ENET
-#define CONFIG_ETHPRIME                "FM1@DTSEC3"
-#endif
-
 /*
  * SATA
  */
  * Environment Configuration
  */
 #define CONFIG_ROOTPATH         "/opt/nfsroot"
-#define CONFIG_BOOTFILE         "uImage"
 #define CONFIG_UBOOTPATH "u-boot.bin"  /* U-Boot image on TFTP server */
 
 #define __USB_PHY_TYPE         utmi
index daccd816c1040ea62b471f4dff99fa54a369547c..e77fc3d0a58c55476469783d4994cb5c14536454 100644 (file)
@@ -65,7 +65,6 @@
  * These can be toggled for performance analysis, otherwise use default.
  */
 #define CONFIG_SYS_CACHE_STASHING
-#define CONFIG_BTB                     /* toggle branch predition */
 #ifdef CONFIG_DDR_ECC
 #define CONFIG_MEM_INIT_VALUE          0xdeadbeef
 #endif
@@ -94,7 +93,6 @@
 #define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
 
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   4
 
 /*
  * IFC Definitions
 #define CONFIG_LBA48
 #endif
 
-#ifdef CONFIG_FMAN_ENET
-#define CONFIG_ETHPRIME                "FM1@DTSEC1"
-#endif
-
 /*
  * Environment
  */
  * Environment Configuration
  */
 #define CONFIG_ROOTPATH                "/opt/nfsroot"
-#define CONFIG_BOOTFILE                "uImage"
 #define CONFIG_UBOOTPATH       "u-boot.bin"    /* U-Boot image on TFTP server*/
 
 #define HVBOOT                                 \
 #define CONFIG_LBA48
 #endif
 
-#ifdef CONFIG_FMAN_ENET
-#define CONFIG_ETHPRIME                "FM1@DTSEC1"
-#endif
-
 /*
 * USB
 */
index 9070845b7a644b9fdee5aa9fe336f3ca5cf44fe4..4db04ff54e7e899467ea8608956430cb5b3ac9a5 100644 (file)
  * in memory.
  */
 
-/*
- * USB configuration.  We enable MUSB support, both for host and for
- * gadget.  We set USB0 as peripheral and USB1 as host, based on the
- * board schematic and physical port wired to each.  Then for host we
- * add mass storage support and for gadget we add both RNDIS ethernet
- * and DFU.
- */
-#define CONFIG_AM335X_USB0
-#define CONFIG_AM335X_USB0_MODE        MUSB_PERIPHERAL
-#define CONFIG_AM335X_USB1
-#define CONFIG_AM335X_USB1_MODE MUSB_HOST
-
 /*
  * Disable MMC DM for SPL build and can be re-enabled after adding
  * DM support in SPL
index 10a95a10a0eb2ef15ce8440291be19aa80bd4ef4..608a22db4442e51aacd50c12e996b70e567ccd0f 100644 (file)
 
 #endif /* CONFIG_MTD_RAW_NAND */
 
-#define CONFIG_AM335X_USB0
-#define CONFIG_AM335X_USB0_MODE MUSB_PERIPHERAL
-#define CONFIG_AM335X_USB1
-#define CONFIG_AM335X_USB1_MODE MUSB_HOST
-
 #endif /* ! __CONFIG_AM335X_GUARDIAN_H */
index 5ed4eb3b3c25c8a6e6cd1086fe680ee903411c5e..62d64ff52256cc3e11e65b9f5f4e375879f3492d 100644 (file)
 
 #define CONFIG_HSMMC2_8BIT
 
-#ifndef CONFIG_SHC_ICT
-/*
- * In builds other than ICT, reset to retry after timeout
- * Define a timeout after which a stopped bootloader continues autoboot
- * (only works with CONFIG_RESET_TO_RETRY)
- */
-# define CONFIG_BOOT_RETRY_TIME 30
-# define CONFIG_RESET_TO_RETRY
-#endif
-
 #ifndef CONFIG_SPL_BUILD
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "loadaddr=0x80200000\0" \
 #undef CONFIG_DM_MMC
 #undef CONFIG_TIMER
 #endif
-
-#define CONFIG_NET_RETRY_COUNT         10
 #endif /* ! __CONFIG_AM335X_SHC_H */
index 63805d3321c5e7980c14253bac3c9ecf9a051e65..393e15ef10a1af3214ed5591f33111ac2a8ca68d 100644 (file)
@@ -14,9 +14,6 @@
 
 #include <configs/ti_omap3_common.h>
 
-/* Ethernet */
-#define CONFIG_NET_RETRY_COUNT         10
-
 /* Board NAND Info. */
 #ifdef CONFIG_MTD_RAW_NAND
 #define CONFIG_SYS_NAND_ECCPOS         { 2,  3,  4,  5,  6,  7,  8,  9, 10, \
@@ -44,9 +41,6 @@
 #endif /* CONFIG_MTD_RAW_NAND */
 
 /* Environment information */
-
-#define CONFIG_BOOTFILE                "uImage"
-
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "loadaddr=0x82000000\0" \
        "console=ttyS2,115200n8\0" \
index 7bea61ec155636ddcf37695ba462981ad293cdbd..e4bd13b47dcc8ad2838335bd5f1f549cbb2ebd7f 100644 (file)
 
 #endif
 
-#ifndef CONFIG_SPL_BUILD
-/* CPSW Ethernet */
-#define CONFIG_NET_RETRY_COUNT         10
-#endif
-
 #define PHY_ANEG_TIMEOUT       8000 /* PHY needs longer aneg time at 1G */
 
-#define CONFIG_SYS_RX_ETH_BUFFER       64
-
 /* NAND support */
 #ifdef CONFIG_MTD_RAW_NAND
 /* NAND: device related configs */
index ff0498acdec80685019e8fbb5093836e19fcb66d..c36311e06d79c345a83158c6b86fb6716b248c1d 100644 (file)
@@ -45,7 +45,6 @@
 #define CONFIG_HSMMC2_8BIT
 
 /* CPSW Ethernet */
-#define CONFIG_NET_RETRY_COUNT         10
 #define PHY_ANEG_TIMEOUT       8000    /* PHY needs longer aneg time at 1G */
 
 /*
index 8a6f294ae89fbe25b8b7d23b82e03299d0bc2e84..71a80f38bbb056720cba4b2dab2d02da4c355bc0 100644 (file)
 #define CONFIG_FEC_ENET_DEV 0
 #define IMX_FEC_BASE                   0x5b040000
 #define CONFIG_FEC_MXC_PHYADDR          0x4
-#define CONFIG_ETHPRIME                 "eth0"
-#define CONFIG_FEC_XCV_TYPE            RGMII
 #define PHY_ANEG_TIMEOUT 20000
 
 #endif /* __APALIS_IMX8X_H */
index 57192649ecc9871034d8802a079d928c370204b1..da935f77b9a624736ce6e8fe85170578aa9b2e3b 100644 (file)
 #include "tegra-common-usb-gadget.h"
 #include "tegra-common-post.h"
 
-/* Reserve top 1M for secure RAM */
-#define CONFIG_ARMV7_SECURE_BASE               0xfff00000
-#define CONFIG_ARMV7_SECURE_RESERVE_SIZE       0x00100000
-
 #endif /* __CONFIG_H */
index e6397378e4518eaad3a189dc99351e0972e6b907..fcf364be8df4555d7949bc08f2f4a81112debe8f 100644 (file)
@@ -21,8 +21,6 @@
 #define CONSOLE_DEV    "ttymxc0"
 #endif
 
-#define CONFIG_FEC_XCV_TYPE            RGMII
-
 /* Framebuffer */
 #define CONFIG_SYS_LDB_CLOCK   28341000
 
@@ -34,7 +32,6 @@
 #define CONFIG_SYS_FSL_ESDHC_ADDR      USDHC1_BASE_ADDR
 
 #define IMX_FEC_BASE                   ENET_BASE_ADDR
-#define CONFIG_ETHPRIME                        "FEC"
 #define CONFIG_FEC_MXC_PHYADDR         0
 
 #define CONFIG_SYS_SPI_ST_ENABLE_WP_PIN
        HAB_EXTRA_SETTINGS \
        EXTRA_ENV_BOARD_SETTINGS
 
-#define CONFIG_ARP_TIMEOUT             200UL
-
 /* Physical Memory Map */
 #define PHYS_SDRAM                     MMDC0_ARB_BASE_ADDR
 
index 96526e1a75ca2f7dd012b156cca26864c32bc9ec..0954bc02aa27555940a8e54e0c17b212298e2ba9 100644 (file)
@@ -33,9 +33,4 @@
  * NS16550 Configuration
  */
 
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 #endif /* __AST_COMMON_CONFIG_H */
index b93c67be52a2d0398bddfe5bf05f6c3d3af04baf..669a8ec7c7a46c1b6bcdbf3e85c80fe9c13e225d 100644 (file)
 #define CONFIG_SYS_AT91_SLOW_CLOCK      32768
 #define CONFIG_SYS_AT91_MAIN_CLOCK      12000000 /* from 12 MHz crystal */
 
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 #ifdef CONFIG_SD_BOOT
 #else
 
index c9344e862ae926a9911edaa0109456d49988789f..4252a8ce3795021c2267f890c1726a47c94a86c1 100644 (file)
 #define CONFIG_SYS_AT91_SLOW_CLOCK     32768           /* slow clock xtal */
 #define CONFIG_SYS_AT91_MAIN_CLOCK     18432000        /* main clock xtal */
 
-/* Define actual evaluation board type from used processor type */
-#ifdef CONFIG_AT91SAM9G20
-# define CONFIG_AT91SAM9G20EK  /* It's an Atmel AT91SAM9G20 EK */
-#else
-# define CONFIG_AT91SAM9260EK  /* It's an Atmel AT91SAM9260 EK */
-#endif
-
-/* Misc CPU related */
-
-/* general purpose I/O */
-#define CONFIG_ATMEL_LEGACY            /* required until (g)pio is fixed */
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE      1
-
 /*
  * SDRAM: 1 bank, min 32, max 128 MB
  * Initialized before u-boot gets started.
index 7fce98f0038f5a4caecd9a7ce06a285ddad14280..4e72bf5f062c10fbabd91aa5acd9083c80e99ae3 100644 (file)
 #define CONFIG_SYS_AT91_SLOW_CLOCK     32768           /* slow clock xtal */
 #define CONFIG_SYS_AT91_MAIN_CLOCK     18432000        /* 18.432 MHz crystal */
 
-#ifdef CONFIG_AT91SAM9G10
-#define CONFIG_AT91SAM9G10EK           /* It's an Atmel AT91SAM9G10 EK*/
-#else
-#define CONFIG_AT91SAM9261EK           /* It's an Atmel AT91SAM9261 EK*/
-#endif
-
 #include <asm/hardware.h>
 
-#define CONFIG_ATMEL_LEGACY
-
 /*
  * Hardware drivers
  */
 
 /* LCD */
 #define LCD_BPP                                LCD_COLOR8
-#define CONFIG_LCD_LOGO
-#undef LCD_TEST_PATTERN
-#define CONFIG_LCD_INFO
-#define CONFIG_LCD_INFO_BELOW_LOGO
-#define CONFIG_ATMEL_LCD
-#ifdef CONFIG_AT91SAM9261EK
-#define CONFIG_ATMEL_LCD_BGR555
-#endif
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
 
 /* SDRAM */
 #define CONFIG_SYS_SDRAM_BASE          0x20000000
@@ -71,8 +50,6 @@
 #define DM9000_DATA                    (CONFIG_DM9000_BASE + 4)
 #define CONFIG_DM9000_USE_16BIT
 #define CONFIG_DM9000_NO_SROM
-#define CONFIG_NET_RETRY_COUNT         20
-#define CONFIG_RESET_PHY_R
 
 /* USB */
 #define CONFIG_USB_ATMEL
index 485211c42f5fb18fabbc00192b000c5f4cc2f2af..15df8f302721f8345b29204891c8ecd4cbcac6b4 100644 (file)
 /*
  * Hardware drivers
  */
-#define CONFIG_ATMEL_LEGACY
 
 /* LCD */
 #define LCD_BPP                                LCD_COLOR8
-#define CONFIG_LCD_LOGO                        1
-#undef LCD_TEST_PATTERN
-#define CONFIG_LCD_INFO                        1
-#define CONFIG_LCD_INFO_BELOW_LOGO     1
-#define CONFIG_ATMEL_LCD               1
-#define CONFIG_ATMEL_LCD_BGR555                1
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE      1
 
 /* SDRAM */
 #define CONFIG_SYS_SDRAM_BASE          ATMEL_BASE_CS1
 #define CONFIG_SYS_NAND_READY_PIN              AT91_PIN_PA22
 #endif
 
-/* Ethernet */
-#define CONFIG_RESET_PHY_R             1
-#define CONFIG_AT91_WANTS_COMMON_PHY
-
 /* USB */
 #define CONFIG_USB_ATMEL
 #define CONFIG_USB_ATMEL_CLK_SEL_PLLB
index 973e8894d67af033bc648d434e4acf44378b6bb0..1a408f835a5cb99c3ddd5325ca1d88890dd54ab8 100644 (file)
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-#define CONFIG_ATMEL_LEGACY            /* required until (g)pio is fixed */
-
 /* ARM asynchronous clock */
 #define CONFIG_SYS_AT91_SLOW_CLOCK      32768
 #define CONFIG_SYS_AT91_MAIN_CLOCK      12000000 /* from 12 MHz crystal */
 
-#define CONFIG_AT91SAM9M10G45EK
-
 /* general purpose I/O */
-#define CONFIG_ATMEL_LEGACY            /* required until (g)pio is fixed */
 
 /* LCD */
 #define LCD_BPP                                LCD_COLOR8
-#define CONFIG_LCD_LOGO
-#undef LCD_TEST_PATTERN
-#define CONFIG_LCD_INFO
-#define CONFIG_LCD_INFO_BELOW_LOGO
-#define CONFIG_ATMEL_LCD
-#define CONFIG_ATMEL_LCD_RGB565
-/* board specific(not enough SRAM) */
-#define CONFIG_AT91SAM9G45_LCD_BASE            0x73E00000
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
 
 /* SDRAM */
 #define CONFIG_SYS_SDRAM_BASE           0x70000000
 
 #endif
 
-/* Ethernet */
-#define CONFIG_RESET_PHY_R
-#define CONFIG_AT91_WANTS_COMMON_PHY
-
 #ifdef CONFIG_NAND_BOOT
 /* bootstrap + u-boot + env in nandflash */
 #elif CONFIG_SD_BOOT
index f102dbe5c933c4ea383fad3d08bfcf249015032c..cd7c271cdc75b077ad9ce8698bd25cc0ba6dcf01 100644 (file)
 /* LCD */
 #define LCD_BPP                                LCD_COLOR16
 #define LCD_OUTPUT_BPP                 24
-#define CONFIG_LCD_LOGO
-#define CONFIG_LCD_INFO
-#define CONFIG_LCD_INFO_BELOW_LOGO
-#define CONFIG_ATMEL_LCD_RGB565
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
 
 #define CONFIG_SYS_SDRAM_BASE          0x20000000
 #define CONFIG_SYS_SDRAM_SIZE          0x08000000
index 5bc47d6442f9e6f4d1fdd7cbc7c63b3cc29ba82c..0105cb0a80e24b0bfef1eed5981c7948e823a60d 100644 (file)
 #define CONFIG_SYS_AT91_SLOW_CLOCK     32768           /* slow clock xtal */
 #define CONFIG_SYS_AT91_MAIN_CLOCK     12000000        /* main clock xtal */
 
-#define CONFIG_ATMEL_LEGACY
-
 /*
  * Hardware drivers
  */
 
 /* LCD */
 #define LCD_BPP                                LCD_COLOR8
-#define CONFIG_LCD_LOGO                        1
-#undef LCD_TEST_PATTERN
-#define CONFIG_LCD_INFO                        1
-#define CONFIG_LCD_INFO_BELOW_LOGO     1
-#define CONFIG_ATMEL_LCD               1
-#define CONFIG_ATMEL_LCD_RGB565                1
 /* Let board_init_f handle the framebuffer allocation */
 #undef CONFIG_FB_ADDR
 
index e6d5b9925d3922fc9c32eeef018a46ad1a0cdee5..c813136dbec6ca15f155b7d4518a688217c0162b 100644 (file)
 #define CONFIG_SYS_AT91_MAIN_CLOCK     12000000        /* 12 MHz crystal */
 
 /* general purpose I/O */
-#define CONFIG_ATMEL_LEGACY            /* required until (g)pio is fixed */
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
 
 /*
  * define CONFIG_USB_EHCI_HCD to enable USB Hi-Speed (aka 2.0)
index c02d25c03b7fb517b55b0d6f1825c4dbd269bca0..8d74df4f735cad7bc0975eaeacade1ef804fbb34 100644 (file)
                "Do you have u-boot-update.img and u-boot.head on first (FAT) SD card partition?\"" \
                "; fi\0"
 
-/*
- * Environment configuration
- */
-#define CONFIG_BOOTFILE                        "uImage"
-
 /*
  * Console configuration
  */
index f4ab6640cdc8521ae34ec6620b4bee051a679ef7..b881d8c03fd777a15ae160643d7f578ff738e6f5 100644 (file)
 #endif
 #endif
 
-/*
- * USB configuration.  We enable MUSB support, both for host and for
- * gadget.  We set USB0 as peripheral and USB1 as host, based on the
- * board schematic and physical port wired to each.  Then for host we
- * add mass storage support and for gadget we add both RNDIS ethernet
- * and DFU.
- */
-#define CONFIG_AM335X_USB0
-#define CONFIG_AM335X_USB0_MODE        MUSB_HOST
-#define CONFIG_AM335X_USB1
-#define CONFIG_AM335X_USB1_MODE MUSB_OTG
-
 /* NAND support */
 #ifdef CONFIG_MTD_RAW_NAND
 #define GPMC_NAND_ECC_LP_x8_LAYOUT     1
index e0508b015e867e9f42cc7cc66fa52f1f0c210ce3..762d1980bda44e3cd1b06fd4bc845f0ef46f2f6c 100644 (file)
 
 /* Enable PREBOOT variable */
 
-/* Set ARP_TIMEOUT to 500ms */
-#define CONFIG_ARP_TIMEOUT 500UL
-
-/* Set ARP_TIMEOUT_COUNT to 3 repetitions */
-#define CONFIG_NET_RETRY_COUNT 5
-
 /* BK4r1 net init sets GPIO122/PTE17 to enable Ethernet */
 #define BK4_NET_INIT "run set_gpio122;"
 
index 2135ba700e9f7786d8559d191c1b7051cc3f224f..4f8da5940431f5a8747bf0aa1f445a756ed4d6f3 100644 (file)
@@ -29,7 +29,6 @@
 #define CONFIG_SH_QSPI_BASE    0xE6B10000
 #else
 #define CONFIG_SYS_FLASH_CFI_WIDTH     FLASH_CFI_16BIT
-#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
 #define CONFIG_FLASH_SHOW_PROGRESS     45
 #define CONFIG_SYS_FLASH_BASE          0x00000000
 #define CONFIG_SYS_FLASH_SIZE          0x04000000      /* 64 MB */
index 0f63239e5a557620c7b2394cd3e7050b439bf2b6..0c357dea9d3b770f87fc8d2a939d367b633dbae8 100644 (file)
@@ -8,10 +8,6 @@
 
 #include <linux/sizes.h>
 
-/* ETH */
-#define CONFIG_PHY_RESET_DELAY         20
-#define CONFIG_SYS_RX_ETH_BUFFER       6
-
 /* UART */
 #define CONFIG_SYS_BAUDRATE_TABLE      { 9600, 19200, 38400, 57600, 115200, \
                                          230400, 500000, 1500000 }
diff --git a/include/configs/broadcom_bcm96753ref.h b/include/configs/broadcom_bcm96753ref.h
new file mode 100644 (file)
index 0000000..c002985
--- /dev/null
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (C) 2022 Philippe Reynes <philippe.reynes@softathome.com>
+ */
+
+#include <linux/sizes.h>
+
+/*
+ * common
+ */
+
+/* UART */
+#define CONFIG_SYS_BAUDRATE_TABLE      { 9600, 19200, 38400, 57600, 115200, \
+                                         230400, 500000, 1500000 }
+/* Memory usage */
+#define CONFIG_SYS_MAXARGS             24
+
+/*
+ * 6853
+ */
+
+/* RAM */
+#define CONFIG_SYS_SDRAM_BASE          0x00000000
+
+/* U-Boot */
+#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_TEXT_BASE + SZ_16M)
+
+#ifdef CONFIG_MTD_RAW_NAND
+#define CONFIG_SYS_MAX_NAND_DEVICE     1
+#endif /* CONFIG_MTD_RAW_NAND */
+
+/*
+ * 96753ref
+ */
index 7ab7f559e3ed0be155b22fb8e7aac5d33003d42f..92f69ba9b0f5d2f198c112dc35b42ba0e7446d20 100644 (file)
@@ -17,7 +17,6 @@
 #define CONFIG_SYS_PL310_BASE          L2_PL310_BASE
 #endif /* !CONFIG_SYS_L2CACHE_OFF */
 
-#define CONFIG_BOARD_POSTCLK_INIT
 #define CONFIG_MXC_GPT_HCLK
 
 /* MMC */
@@ -88,9 +87,7 @@ BUR_COMMON_ENV \
        (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
 
 /* Ethernet */
-#define CONFIG_FEC_XCV_TYPE            RGMII
 #define CONFIG_FEC_FIXED_SPEED         _1000BASET
-#define CONFIG_ARP_TIMEOUT             1500UL
 
 /* USB Configs */
 #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
index 05915b4cffdf3e3c73d596782ce2f521a4aacf1e..69850117637c9885109ba5b15c298350c0afcb9b 100644 (file)
 "setcurs 1 10;lcdputs serverip; setcurs 10 10; lcdputs ${serverip};" \
 "setenv stdout nc;setenv stdin nc;setenv stderr nc\0"
 
-/* Network defines */
-#define CONFIG_NET_RETRY_COUNT         10
-
 /* Network console */
-#define CONFIG_BOOTP_MAY_FAIL          /* if we don't have DHCP environment */
 
 /* As stated above, the following choices are optional. */
 
index 70689a6f0fd65e41cf188d5852e33bc760dc8f1c..58d7a3a8ce24c71957fb0c1f3d04fef4bf15779d 100644 (file)
 
 #define CONFIG_FACTORYSET
 
-/* ENET Config */
-#define CONFIG_FEC_XCV_TYPE            RMII
-
 /* ENET1 connects to base board and MUX with ESAI */
 #define CONFIG_FEC_ENET_DEV            1
 #define CONFIG_FEC_MXC_PHYADDR         0x0
-#define CONFIG_ETHPRIME                "eth1"
 
 /* I2C Configuration */
 #ifndef CONFIG_SPL_BUILD
index 2c406d31866606b643b1f507edb05ec94e251f0d..1cc86091022bba9a0cdc45f1fc13678e1b7e2607 100644 (file)
@@ -28,8 +28,4 @@
 #include "tegra-common-usb-gadget.h"
 #include "tegra-common-post.h"
 
-/* Reserve top 1M for secure RAM */
-#define CONFIG_ARMV7_SECURE_BASE               0xfff00000
-#define CONFIG_ARMV7_SECURE_RESERVE_SIZE       0x00100000
-
 #endif /* __CONFIG_H */
index ce36b2e3eaed25c054ad76a15b86e6865fce53e2..bd5c072382a8a3695b38294f6349bf958ea33740 100644 (file)
 
 /* Networking */
 #define CONFIG_FEC_MXC_PHYADDR         -1
-#define CONFIG_FEC_XCV_TYPE            RGMII
 #define FEC_QUIRK_ENET_MAC
 
 #endif /* __CGTQMX8_H */
index fe496272630d41249d0b32439933fea53a10896c..aa2a07e910f8b75b615207383ce167775dfde3fc 100644 (file)
 #define CONFIG_SYS_NAND_ECCBYTES       14
 /* NAND: SPL related configs */
 
-/* USB configuration */
-#define CONFIG_AM335X_USB1
-#define CONFIG_AM335X_USB1_MODE MUSB_HOST
-
 /*
  * Disable MMC DM for SPL build and can be re-enabled after adding
  * DM support in SPL
index 9d5a63cabaab9780eaa3aeac36fe5f9cdffb6839..e29be3fda4acb0a99879f57095c9abbd3d0a35b4 100644 (file)
@@ -15,9 +15,6 @@
 #include <configs/x86-common.h>
 #include <configs/x86-chromebook.h>
 
-/* We can rely on running natively, and this saves code size */
-#undef CONFIG_BIOSEMU
-
 #undef CONFIG_STD_DEVICES_SETTINGS
 #define CONFIG_STD_DEVICES_SETTINGS     "stdin=usbkbd,i8042-kbd,serial\0" \
                                        "stdout=vidconsole,serial\0" \
index a5bf6ccbf4005db5b9de7d6c4b7206a14043e095..8af80f58f8ec6478164a3fadcdb251b634f4566a 100644 (file)
@@ -13,8 +13,6 @@
 #define CONFIG_MXC_UART_BASE            UART1_IPS_BASE_ADDR
 
 /* Network */
-#define CONFIG_FEC_XCV_TYPE             RGMII
-#define CONFIG_ETHPRIME                 "FEC"
 #define CONFIG_FEC_MXC_PHYADDR          0
 
 /* ENET1 */
index c19aaaccb10696bb728e1e957ec06932c2fafbf5..90720c2f9b5665da8fa8d0fc6f7256e2210bade7 100644 (file)
 
 /* Ethernet */
 #define CONFIG_FEC_MXC_PHYADDR         0
-#define CONFIG_FEC_XCV_TYPE            RGMII
 #define IMX_FEC_BASE                   ENET_BASE_ADDR
-#define CONFIG_ETHPRIME                        "FEC0"
-#define CONFIG_ARP_TIMEOUT             200UL
-#define CONFIG_NET_RETRY_COUNT         5
 
 /* USB */
 #define CONFIG_MXC_USB_PORTSC          (PORT_PTS_UTMI | PORT_PTS_PTW)
index 2d09a6f4c7591439bade4eb07419f0cb8ca36a69..eb015e1b20f2de75e3e3cb4f2e82d807aa359deb 100644 (file)
@@ -32,9 +32,6 @@
                                         42, 43, 44, 45, 46, 47, 48, 49, \
                                         50, 51, 52, 53, 54, 55, 56, 57, }
 
-/* CPSW Ethernet support */
-#define CONFIG_SYS_RX_ETH_BUFFER       64
-
 /* Power */
 #define CONFIG_POWER_TPS65218
 
index 81315f6ec7b9777b110906019d12433d880e3cf5..577936b5af9536546c4cda9c85c5f2a0385e64bb 100644 (file)
        . = DEFINED(env_offset) ? env_offset : .; \
        env/embedded.o(.text);
 
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 #ifdef CONFIG_MCFFEC
-#      define CONFIG_MII_INIT          1
 #      define CONFIG_SYS_DISCOVER_PHY
-#      define CONFIG_SYS_RX_ETH_BUFFER 8
-#      define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 /* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */
 #      ifndef CONFIG_SYS_DISCOVER_PHY
 #              define FECDUPLEX        FULL
 #              define FECSPEED         _100BASET
-#      else
-#              ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#                      define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#              endif
 #      endif                   /* CONFIG_SYS_DISCOVER_PHY */
 #endif
 
index 975f745c98a1d139e341a3dcc18504dedefe55fe..17ff703d74bc1d26da19df1df1a3bce307485c26 100644 (file)
@@ -38,7 +38,6 @@
 #ifdef CONFIG_LCD
 #define CONFIG_PXA_LCD
 #define CONFIG_PXA_VGA
-#define CONFIG_LCD_LOGO
 #endif
 
 /*
@@ -50,9 +49,6 @@
 #define CONFIG_DM9000_BASE             0x08000000
 #define DM9000_IO                      (CONFIG_DM9000_BASE)
 #define DM9000_DATA                    (CONFIG_DM9000_BASE + 4)
-#define        CONFIG_NET_RETRY_COUNT          10
-
-#define        CONFIG_BOOTP_BOOTFILESIZE
 #endif
 
 /*
index c377187b803c452c21a1577cc3cf909fb36d9309..c45016a83583bb848ec7bb07609dfec99816a386 100644 (file)
@@ -15,9 +15,6 @@
 #define CONFIG_TEGRA_UARTA_SDIO1
 #define CONFIG_SYS_NS16550_COM1                NV_PA_APB_UARTA_BASE
 
-/* LCD support */
-#define CONFIG_LCD_LOGO
-
 /* NAND support */
 #define CONFIG_SYS_MAX_NAND_DEVICE     1
 
index 7fb96e8ad595c573b58f116376c14dbf61960354..cad5796cbce66aea19552056bc9b7b2752fb1696 100644 (file)
@@ -76,7 +76,6 @@
 
 #define CONFIG_HOSTNAME                "ccdc"
 #define CONFIG_ROOTPATH                "/opt/nfsroot"
-#define CONFIG_BOOTFILE                "ccdc.img"
 
 #define CONFIG_EXTRA_ENV_SETTINGS                                              \
        "netdev=eth1\0"                                         \
index bd264122da76fd39140c059cbe2cf2b786c9c9e8..1c1c69dbd6a71701d503704d70048327782d5080 100644 (file)
@@ -57,9 +57,7 @@
  * These can be toggled for performance analysis, otherwise use default.
  */
 #define CONFIG_SYS_CACHE_STASHING
-#define CONFIG_BACKSIDE_L2_CACHE
 #define CONFIG_SYS_INIT_L2CSR0         L2CSR0_L2E
-#define CONFIG_BTB                     /* toggle branch predition */
 #ifdef CONFIG_DDR_ECC
 #define CONFIG_MEM_INIT_VALUE          0xdeadbeef
 #endif
@@ -97,7 +95,6 @@
 #define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
 
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   (4 * CONFIG_DIMM_SLOTS_PER_CTLR)
 
 #define CONFIG_SYS_SPD_BUS_NUM 1
 #define SPD_EEPROM_ADDRESS1    0x51
 #define CONFIG_SYS_FM2_10GEC1_PHY_ADDR 0
 
 #define CONFIG_SYS_TBIPA_VALUE 8
-#define CONFIG_ETHPRIME                "FM1@DTSEC1"
 #endif
 
 /*
  * Environment Configuration
  */
 #define CONFIG_ROOTPATH                "/opt/nfsroot"
-#define CONFIG_BOOTFILE                "uImage"
 #define CONFIG_UBOOTPATH       u-boot.bin      /* U-Boot image on TFTP server */
 
 #ifdef CONFIG_TARGET_P4080DS
index 27284f791381971c7e8a2b80780ceddfa1741e6f..18bb5547fa956ef044325bc2853e5e7ac849819a 100644 (file)
  * hex number here!
  */
 
-#define CONFIG_ATMEL_LEGACY            /* required until (g)pio is fixed */
-
 /* ARM asynchronous clock */
 #define CONFIG_SYS_AT91_SLOW_CLOCK      32768
 #define CONFIG_SYS_AT91_MAIN_CLOCK      12000000 /* from 12 MHz crystal */
 
-/* general purpose I/O */
-#define CONFIG_ATMEL_LEGACY            /* required until (g)pio is fixed */
-#define CONFIG_AT91_GPIO_PULLUP        1       /* keep pullups on peripheral pins */
-
 /* serial console */
 #define CONFIG_USART_BASE              ATMEL_BASE_DBGU
 #define CONFIG_USART_ID                        ATMEL_ID_SYS
 
 /* LED */
-#define CONFIG_AT91_LED
 #define CONFIG_RED_LED         AT91_PIN_PD31   /* this is the user1 led */
 #define CONFIG_GREEN_LED       AT91_PIN_PD0    /* this is the user2 led */
 
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /* SDRAM */
 #define CONFIG_SYS_SDRAM_BASE           ATMEL_BASE_CS6
 #define CONFIG_SYS_SDRAM_SIZE          0x08000000
 #define CONFIG_SYS_NAND_READY_PIN              AT91_PIN_PC8
 #endif
 
-/* Ethernet */
-#define CONFIG_RMII
-#define CONFIG_NET_RETRY_COUNT         20
-#define CONFIG_AT91_WANTS_COMMON_PHY
-
 /* DFU class support */
 #define DFU_MANIFEST_POLL_TIMEOUT      25000
 
index 956a9659019a86941cdd3526f5107ee787c2a4c0..ff0cc35180ae091e827fc06c3a142bf75a870929 100644 (file)
 #define CONFIG_SYS_NAND_ECCBYTES       10
 #endif
 
-/*
- * Network & Ethernet Configuration
- */
-#ifdef CONFIG_DRIVER_TI_EMAC
-#define CONFIG_NET_RETRY_COUNT 10
-#endif
-
 #ifdef CONFIG_MTD_NOR_FLASH
 #define CONFIG_SYS_FLASH_SECT_SZ       (128 << 10) /* 128KB */
 #define CONFIG_SYS_FLASH_BASE          DAVINCI_ASYNC_EMIF_DATA_CE2_BASE
 /*
  * U-Boot general configuration
  */
-#define CONFIG_BOOTFILE                "uImage" /* Boot file name */
 #define CONFIG_SYS_CBSIZE      1024 /* Console I/O Buffer Size */
 #define CONFIG_SYS_BARGSIZE    CONFIG_SYS_CBSIZE /* Boot Args Buffer Size */
 
index fcdf7e9251db24cffa27a0b45bc0cc7407564ed7..ad28fa012021a8750c8802877761a03e5725a8bb 100644 (file)
 
 #ifdef CONFIG_CMD_NET
 #define CONFIG_FEC_ENET_DEV            0
-#if (CONFIG_FEC_ENET_DEV == 0)
-#define CONFIG_ETHPRIME                        "eth0"
-#elif (CONFIG_FEC_ENET_DEV == 1)
-#define CONFIG_ETHPRIME                        "eth1"
-#endif
 #endif
 
 /* Environment settings */
index 7baae3b090d8e7562fd9b61aa547731469d23296..41d469d795269e414d9ccd008b5c62a3cc390e43 100644 (file)
@@ -72,6 +72,5 @@
 
 /* Enable DDR support in SPL (DDR3 training from Marvell bin_hdr) */
 #define CONFIG_SPD_EEPROM              0x4e
-#define CONFIG_BOARD_ECC_SUPPORT       /* this board supports ECC */
 
 #endif /* _CONFIG_DB_MV7846MP_GP_H */
index f30958f0d35e5cfce290e9d26cc6b396354fef4d..bc5282a48934c03cb4da9d709ba14811b3da1ffe 100644 (file)
  * GPIO
  */
 
-/*
- * Ethernet
- */
-#define CONFIG_RMII
-#define CONFIG_LPC32XX_ETH
-#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-
 /*
  * NOR Flash
  */
@@ -94,8 +87,6 @@
  * U-Boot Commands
  */
 
-#define CONFIG_BOOTFILE                        "uImage"
-
 /*
  * SPL specific defines
  */
index 3059bc0ad231eca9a5d62a78162b135470cf7e38..16b365013293b05f09d5703750f44b797d5130cf 100644 (file)
@@ -35,7 +35,6 @@
 
 /* Hardware drivers */
 /* DM9000 */
-#define CONFIG_NET_RETRY_COUNT         20
 #define        CONFIG_DRIVER_DM9000            1
 #define        CONFIG_DM9000_BASE              0x2c000000
 #define        DM9000_IO                       CONFIG_DM9000_BASE
 /* TWL4030 */
 
 /* BOOTP/DHCP options */
-#define CONFIG_BOOTP_NISDOMAIN
-#define CONFIG_BOOTP_BOOTFILESIZE
-#define CONFIG_BOOTP_TIMEOFFSET
-#undef CONFIG_BOOTP_VENDOREX
 
 /* Environment information */
 #define CONFIG_EXTRA_ENV_SETTINGS \
index 72843c942cedf06b4ed6e2d24279f9f7a5513613..3d3fab517e3ab510954886d70b8e6a1e67273386 100644 (file)
 
 /* FEC ethernet */
 #define IMX_FEC_BASE                   ENET_BASE_ADDR
-#define CONFIG_FEC_XCV_TYPE            RGMII
-#define CONFIG_ETHPRIME                        "FEC"
 #define CONFIG_FEC_MXC_PHYADDR         7
-#define CONFIG_ARP_TIMEOUT             200UL
 
 /* MMC Configs */
 #define CONFIG_SYS_FSL_ESDHC_ADDR      0
index 736c724736cac8cdbc98fd939960c8b1fb18756e..381a189149ea169eed744d92453984293a0cb373 100644 (file)
@@ -35,8 +35,5 @@
  */
 #define CONFIG_MVGBE_PORTS     {1, 0}  /* enable port 0 only */
 #define CONFIG_PHY_BASE_ADR    0
-#ifdef CONFIG_RESET_PHY_R
-#undef CONFIG_RESET_PHY_R      /* remove legacy reset_phy() */
-#endif
 
 #endif /* _CONFIG_DOCKSTAR_H */
index 711e37cb9bd7b8c9a578aec8c5507da9bb5351c2..4544373a826f1c1ce2cc79e2bc4a130cad8db469 100644 (file)
@@ -55,9 +55,6 @@
 /* Enhance our eMMC support / experience. */
 #define CONFIG_HSMMC2_8BIT
 
-/* CPSW Ethernet */
-#define CONFIG_NET_RETRY_COUNT         10
-
 /*
  * Default to using SPI for environment, etc.
  * 0x000000 - 0x040000 : QSPI.SPL (256KiB)
index e3e2b6a0bddd837a5224a0c4c91fac9eb95ad73a..c66a481dadba4935256e9a53c03d8f1c81595ecc 100644 (file)
@@ -19,7 +19,6 @@
 
 /* Environment in eMMC, at the end of 2nd "boot sector" */
 
-#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
 #define CONFIG_FLASH_SHOW_PROGRESS     45
 #define CONFIG_SYS_FLASH_BANKS_LIST    { 0x08000000 }
 #define CONFIG_SYS_FLASH_CFI_WIDTH     FLASH_CFI_16BIT
index 9f765fa4937aa3a7ebabea8ac13912410bebd564..43a179f013b6381802369cc27437bc87bbdf2382 100644 (file)
@@ -30,9 +30,6 @@
  * it has to be done after each HCD reset */
 #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
 
-/* BOOTP options */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 #define BOOT_TARGET_DEVICES(func) \
        func(USB, usb, 0) \
        func(MMC, mmc, 1) \
index e71dd24a034d28b1bc4551f64f4b4f1572c255df..229e1a323b6d6335f36d2c83d43283426745949e 100644 (file)
@@ -26,9 +26,6 @@
 /* Generic Timer Definitions */
 #define COUNTER_FREQUENCY              19000000
 
-/* BOOTP options */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 #ifndef CONFIG_SPL_BUILD
 #include <config_distro_bootcmd.h>
 #endif
index fd12a391875a62796de67c0d0ac95913c293864a..07e2b8781fd205a4f74f99ada7c4d2f788365db3 100644 (file)
@@ -29,9 +29,6 @@
  */
 #define CONFIG_MVGBE_PORTS     {1, 1}  /* enable both ports */
 #define CONFIG_PHY_BASE_ADR    0
-#ifdef CONFIG_RESET_PHY_R
-#undef CONFIG_RESET_PHY_R      /* remove legacy reset_phy() */
-#endif
 
 /*
  * SATA Driver configuration
index 6ad8722d60b6b219fe10b66a5a6ddeb7f8df1e51..4d88657ca61ba3778f126c17a69d648473a6d44f 100644 (file)
@@ -22,9 +22,6 @@
  * Options                                                             *
  *----------------------------------------------------------------------*/
 
-#define CONFIG_BOOT_RETRY_TIME -1
-#define CONFIG_RESET_TO_RETRY
-
 #define STATUS_LED_ACTIVE              0
 
 /*----------------------------------------------------------------------*
  * Environment is in the second sector of the first 256k of flash      *
  *----------------------------------------------------------------------*/
 
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 #define CONFIG_MCFTMR
 
 #define        CONFIG_SYS_CBSIZE       1024    /* Console I/O Buffer Size      */
  *----------------------------------------------------------------------*/
 
 #ifdef CONFIG_MCFFEC
-#define CONFIG_MII_INIT                        1
 #define CONFIG_SYS_DISCOVER_PHY
-#define CONFIG_SYS_RX_ETH_BUFFER       8
-#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 #define CONFIG_OVERWRITE_ETHADDR_ONCE
 #endif
 
index 178b050a12f19f515812ece9ffc10717c9ab47d6..cbd1445636ff35c0cacae5f17f0b99367e668be1 100644 (file)
@@ -21,7 +21,6 @@
 
 /* Environment in eMMC, at the end of 2nd "boot sector" */
 
-#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
 #define CONFIG_FLASH_SHOW_PROGRESS     45
 #define CONFIG_SYS_FLASH_QUIET_TEST
 #define CONFIG_SYS_FLASH_BANKS_LIST    { 0x08000000 }
index a599722ae3bd565f022eee20e18199e4a3f2ca14..8e2c24594fab7e31445a4dfbed8891e0d109a3dc 100644 (file)
 #define CONFIG_MVGBE_PORTS     {1}             /* enable port 0 only */
 #define CONFIG_SKIP_LOCAL_MAC_RANDOMIZATION    /* don't randomize MAC */
 #define CONFIG_PHY_BASE_ADR    0x8
-#define CONFIG_RESET_PHY_R     /* use reset_phy() to init mv8831116 PHY */
-#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN        /* detect link using phy */
 #endif
 
 /*
index 33afb7ca0f9b31750c545a3cea567d6591763704..6061a6db0a40f2307996cac294f0edcd7d1e43b6 100644 (file)
 
 #undef CONFIG_TPM_TIS_BASE_ADDRESS
 
-/*
- * Select the output device: Put an 'x' prefix before one of these to disable it
- */
-
-/*
- * Video output - can normally continue after exit_boot_services has been
- * called, since output to the display does not require EFI services at that
- * point. U-Boot sets up the console memory and does its own drawing.
- */
 #define CONFIG_STD_DEVICES_SETTINGS    "stdin=serial\0" \
                                        "stdout=vidconsole\0" \
                                        "stderr=vidconsole\0"
 
-/*
- * Serial output with no console. Run qemu with:
- *
- *    -display none -serial mon:stdio
- *
- * This will hang or fail to output on the console after exit_boot_services is
- * called.
- */
-#define xCONFIG_STD_DEVICES_SETTINGS   "stdin=serial\0" \
-                                       "stdout=serial\0" \
-                                       "stderr=serial\0"
-
-#undef CONFIG_BOOTCOMMAND
-
-#define CONFIG_BOOTCOMMAND "part list efi 0; fatls efi 0:1"
-
 #endif
index 279d7122188a2c5c083a0010a5e27c4173bc989a..4764d22520acb0ed8e239b01602ba6addf03c0fd 100644 (file)
@@ -55,8 +55,6 @@
 
 #include <config_distro_bootcmd.h>
 
-#define CONFIG_ARP_TIMEOUT     200UL
-
 /* Physical Memory Map */
 #define PHYS_SDRAM                     MMDC0_ARB_BASE_ADDR
 
index 8ac92e480e0e908484773c7bacc2ae5a59fed7f5..98fd8acda806aa07e1b5eeb91a6984823f09729a 100644 (file)
@@ -25,8 +25,6 @@
 /* MMC Configs */
 #define CONFIG_SYS_FSL_ESDHC_ADDR      0
 
-#define CONFIG_ARP_TIMEOUT     200UL
-
 /* Physical Memory Map */
 #define PHYS_SDRAM                     MMDC0_ARB_BASE_ADDR
 
index 2ceefed93400e329423d6af0c90509bd6f35b2f7..f1b2ddae34ac6f8ef8a78e5419755a6ef4ed9f03 100644 (file)
@@ -18,7 +18,6 @@
 /*
  * Environment
  */
-#define CONFIG_BOOTFILE                        "app.bin"
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "upgrade_image=u-boot.bin\0" \
index 2495db93f8d422b5bd85cd3c61ddd25fa5fd6381..d936b7f09fcd99866cca6c4f98912e0c9b825a18 100644 (file)
@@ -10,8 +10,6 @@
 
 #include <configs/exynos7420-common.h>
 
-#define CONFIG_BOARD_COMMON
-
 #define CONFIG_ESPRESSO7420
 
 #define CONFIG_SYS_SDRAM_BASE          0x40000000
index d88c14ac44639f9eeaedbfe62c93ae76ae8d533d..3231f3cc0350e09a1fbc002b131b85f22f218f63 100644 (file)
@@ -54,8 +54,6 @@
 /* JFFS2 */
 
 /* Ethernet */
-#define CONFIG_NET_RETRY_COUNT         20
-#define CONFIG_RMII
 #define CONFIG_PHY_ID                  0
 #define CONFIG_MACB_SEARCH_PHY
 
 
 /* DHCP/BOOTP options */
 #ifdef CONFIG_CMD_DHCP
-#define CONFIG_BOOTP_BOOTFILESIZE
 #define CONFIG_SYS_AUTOLOAD    "n"
 #endif
 
index 52dcf7a3bc429b57dc3043a2617cb9d355992158..4202c6261262bb86fea0d54679257a49ab13af0c 100644 (file)
@@ -12,8 +12,6 @@
 
 #include "exynos-common.h"
 
-#define CONFIG_BOARD_COMMON
-
 /* SD/MMC configuration */
 #define CONFIG_MMC_DEFAULT_DEV 0
 
index 90d095d535b07a91eec457cb026762b6ac0a3a6b..410243bb2c917a3e5d4187e45fce59a75bb8f7a0 100644 (file)
 
 #define CONFIG_SYS_MONITOR_BASE        0x00000000
 
-#define CONFIG_SECURE_BL1_ONLY
-
-/* Secure FW size configuration */
-#ifdef CONFIG_SECURE_BL1_ONLY
-#define CONFIG_SEC_FW_SIZE (8 << 10) /* 8KB */
-#else
-#define CONFIG_SEC_FW_SIZE 0
-#endif
-
-/* Configuration of BL1, BL2, ENV Blocks on mmc */
-#define CONFIG_RES_BLOCK_SIZE  (512)
-#define CONFIG_BL1_SIZE        (16 << 10) /*16 K reserved for BL1*/
-#define CONFIG_BL2_SIZE        (512UL << 10UL) /* 512 KB */
-
-#define CONFIG_BL1_OFFSET      (CONFIG_RES_BLOCK_SIZE + CONFIG_SEC_FW_SIZE)
-#define CONFIG_BL2_OFFSET      (CONFIG_BL1_OFFSET + CONFIG_BL1_SIZE)
-
-/* U-Boot copy size from boot Media to DRAM.*/
-#define BL2_START_OFFSET       (CONFIG_BL2_OFFSET/512)
-#define BL2_SIZE_BLOC_COUNT    (CONFIG_BL2_SIZE/512)
-
-#define EXYNOS_COPY_SPI_FNPTR_ADDR     0x02020058
-#define SPI_FLASH_UBOOT_POS    (CONFIG_SEC_FW_SIZE + CONFIG_BL1_SIZE)
-
 /* SPI */
 
 /* Ethernet Controllor Driver */
index 00b67787d9e6e7f9f46a3077656cf76dd3deb27a..bcbdfa7ae35a68fc7c69005c759e2a42bfb6b59e 100644 (file)
@@ -21,8 +21,6 @@
 #define FLASH_SIZE             (4 << 20)
 #define CONFIG_SPI_BOOTING
 
-#define CONFIG_BOARD_COMMON
-
 /* Display */
 #ifdef CONFIG_LCD
 #define CONFIG_EXYNOS_FB
index 8d3449f028c31dffa48cf9c90d5337b20d01787e..6b1df63dc32f51e139e371922940b998dd5e2fd1 100644 (file)
@@ -36,8 +36,6 @@
 #define CONFIG_SYS_BAUDRATE_TABLE \
        {9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600}
 
-#define CONFIG_BOARD_COMMON
-
 #define CONFIG_SYS_SDRAM_BASE          0x40000000
 #define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_TEXT_BASE + SZ_2M - GENERATED_GBL_DATA_SIZE)
 /* DRAM Memory Banks */
index 9d96dfcc31e417082b15c10e224f2fe43755177a..5e6a8ee770e055b58177ef808b51288a957443cf 100644 (file)
@@ -17,9 +17,6 @@
 #define CONFIG_SYS_AT91_SLOW_CLOCK     32768
 #define CONFIG_SYS_AT91_MAIN_CLOCK     12000000        /* 12 MHz crystal */
 
-/* general purpose I/O */
-#define CONFIG_ATMEL_LEGACY            /* required until (g)pio is fixed */
-
 /* SDRAM */
 #define CONFIG_SYS_SDRAM_BASE          0x20000000
 #define CONFIG_SYS_SDRAM_SIZE          0x08000000      /* 128 megs */
index 7e13464b106d6d3812b108ceaa8aec978786bb5b..f5d49d28ee1e20a353fa81ceca2a17304f4d3e70 100644 (file)
  * Environment Configuration
  */
 
-#define CONFIG_HAS_ETH0
-#define CONFIG_HAS_ETH1
-
 /* TODO: Turn into string option and migrate to Kconfig */
 #define CONFIG_HOSTNAME                "gazerbeam"
 #define CONFIG_ROOTPATH                "/opt/nfsroot"
-#define CONFIG_BOOTFILE                "uImage"
 
 #define CONFIG_EXTRA_ENV_SETTINGS                                      \
        "netdev=eth0\0"                                                 \
index 51e671a95170390fdaba2b344c5a9e680404f105..832441a7b72155ed85b46e9b028e9310c93a5e64 100644 (file)
@@ -43,9 +43,6 @@
  */
 #define CONFIG_MVGBE_PORTS     {1, 0}  /* enable port 0 only */
 #define CONFIG_PHY_BASE_ADR    0
-#ifdef CONFIG_RESET_PHY_R
-#undef CONFIG_RESET_PHY_R      /* remove legacy reset_phy() */
-#endif
 
 /* SATA driver configuration */
 #define CONFIG_LBA48
index 55c874bf6193deb7fa64d9b5db68d93b62e0ce34..0ff70fdc668bd626a2002824009c1c03427e082b 100644 (file)
@@ -16,9 +16,6 @@
 
 #define CONFIG_SYS_BOOTCOUNT_LE                /* Use little-endian accessors */
 
-#define CONFIG_BOOT_RETRY_TIME         -1
-#define CONFIG_RESET_TO_RETRY
-
 /*
  * Miscellaneous configurable options
  */
index c5f9bcea8e7d1efd32562947046fb1cf21f64897..29a0d94386495c6518bbab9fcc19344a9b8d2e0d 100644 (file)
@@ -41,9 +41,6 @@
 
 #define CONFIG_HIKEY_GPIO
 
-/* BOOTP options */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /* Initial environment variables */
 
 /*
index 21a984a53d48f7924a8759ca43a579c7ab24e271..09fbbe90f1bb5c6569a9f63a9decf802ddbd198b 100644 (file)
@@ -104,7 +104,6 @@ setenv core_iccm_3 0x6; setenv core_dccm_3 0x6;\0"
 /*
  * Environment configuration
  */
-#define CONFIG_BOOTFILE                        "uImage"
 
 /* Cli configuration */
 #define CONFIG_SYS_CBSIZE              SZ_2K
index c8c28bb4f04013f708beb21a6c1c132fe6dec82e..aa00b0f4523e863342199a117f924abdfa7e1cb4 100644 (file)
@@ -100,11 +100,6 @@ setenv core_iccm_1 0x6; setenv core_dccm_1 0x6; \
 setenv core_iccm_2 0x10; setenv core_dccm_2 0x10; \
 setenv core_iccm_3 0x6; setenv core_dccm_3 0x6;\0"
 
-/*
- * Environment configuration
- */
-#define CONFIG_BOOTFILE                        "uImage"
-
 /* Cli configuration */
 #define CONFIG_SYS_CBSIZE              SZ_2K
 
index 2598deaac6e01e85a788b268cde6f5bb4c273349..aff948cfe70819be8fe97d132dab43740cbfa18e 100644 (file)
@@ -32,7 +32,6 @@
 #ifdef CONFIG_CMD_NET
 #define CONFIG_MVGBE_PORTS     {1, 0}  /* enable port 0 only */
 #define CONFIG_PHY_BASE_ADR    0
-#undef CONFIG_RESET_PHY_R
 #endif /* CONFIG_CMD_NET */
 
 /*
index 44a4b4409f9e3a9aaff979a750370cb39ad67b0e..cb4cf9beb7409b2d9fc4108f1ccbf8692c1bb815 100644 (file)
@@ -26,9 +26,6 @@
 #ifdef CONFIG_CMD_NET
 #define CONFIG_MVGBE_PORTS     {1, 0}  /* enable port 0 only */
 #define CONFIG_PHY_BASE_ADR    11
-#ifdef CONFIG_RESET_PHY_R
-#undef CONFIG_RESET_PHY_R      /* remove legacy reset_phy() */
-#endif
 #endif /* CONFIG_CMD_NET */
 
 #endif /* _CONFIG_ICONNECT_H */
index 8de89a467c29ac159f9032c7d00df9f513ee6eb3..49015c52ab25b58a04e321e3aae483263c44005c 100644 (file)
@@ -16,9 +16,6 @@
 /*
  * High Level Configuration Options
  */
-#define CONFIG_BOOT_RETRY_TIME         900
-#define CONFIG_BOOT_RETRY_MIN          30
-#define CONFIG_RESET_TO_RETRY
 
 #define CONFIG_SYS_SICRH       0x00000000
 #define CONFIG_SYS_SICRL       (SICRL_LBC | SICRL_SPI_D)
  * Ethernet setup
  */
 #ifdef CONFIG_TSEC1
-#define CONFIG_HAS_ETH0
 #define CONFIG_TSEC1_NAME              "TSEC0"
 #define CONFIG_SYS_TSEC1_OFFSET        0x24000
 #define TSEC1_PHY_ADDR                 0x1
 #endif
 
 #ifdef CONFIG_TSEC2
-#define CONFIG_HAS_ETH1
 #define CONFIG_TSEC2_NAME              "TSEC1"
 #define CONFIG_SYS_TSEC2_OFFSET        0x25000
 #define TSEC2_PHY_ADDR                 0x3
 #define TSEC2_FLAGS                    TSEC_GIGABIT
 #define TSEC2_PHYIDX                   0
 #endif
-#define CONFIG_ETHPRIME                "TSEC1"
 
 /*
  * Serial Port
 /*
  * U-Boot environment setup
  */
-#define CONFIG_BOOTP_BOOTFILESIZE
 
 /*
  * The reserved memory
 #define CONFIG_NETDEV                  eth1
 #define CONFIG_HOSTNAME                "ids8313"
 #define CONFIG_ROOTPATH                "/opt/eldk-4.2/ppc_6xx"
-#define CONFIG_BOOTFILE                "ids8313/uImage"
 #define CONFIG_UBOOTPATH               "ids8313/u-boot.bin"
 #define CONFIG_FDTFILE                 "ids8313/ids8313.dtb"
 #define CONFIG_ENV_FLAGS_LIST_STATIC "ethaddr:mo,eth1addr:mo"
index 5a149f8d387aaacd022881e81d28dfbec22bcd5f..65f8944ccaf67d06f53b9d00f9d9682ef7e523c0 100644 (file)
@@ -23,8 +23,6 @@
 
 
 /* Ethernet Configs */
-#define CONFIG_FEC_XCV_TYPE            RMII
-#define CONFIG_ETHPRIME                "FEC"
 #define CONFIG_FEC_MXC_PHYADDR         0
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "fi; " \
        "else run netboot; fi"
 
-#define CONFIG_ARP_TIMEOUT     200UL
-
 /* Physical Memory Map */
 #define PHYS_SDRAM                     MMDC0_ARB_BASE_ADDR
 #define CONFIG_SYS_SDRAM_BASE          PHYS_SDRAM
index 261ed900fee9ba3992a456abd064a2a739d5ba0b..46ca1c581452b2892a5d9464f15ef889bd090530 100644 (file)
@@ -12,8 +12,6 @@
 
 #define CONFIG_MXC_UART_BASE            UART1_IPS_BASE_ADDR
 
-#define CONFIG_ETHPRIME                 "FEC"
-
 #undef CONFIG_SYS_AUTOLOAD
 #undef CONFIG_EXTRA_ENV_SETTINGS
 
index 7e6be6050c008549a468f3f3b0d4f86e89cecfab..cd1eafdd5c94c2fea7ab5563ff63bd84303a0ceb 100644 (file)
 #define CONFIG_SYS_FSL_USDHC_NUM       2
 #define CONFIG_SYS_FSL_ESDHC_ADDR      0
 
-#define CONFIG_ETHPRIME                        "FEC"
-
-#define CONFIG_FEC_XCV_TYPE            RGMII
 #define CONFIG_FEC_MXC_PHYADDR         0
 #define FEC_QUIRK_ENET_MAC
 
index 77f062474dd60db4fdf65bd1e7c8582d70f3f454..e4805951fae6ce55a4fbde9046e84a9b96e3ba86 100644 (file)
 #define CONFIG_SYS_FSL_ESDHC_ADDR      0
 
 /* FEC*/
-#define CONFIG_ETHPRIME                 "FEC"
-#define CONFIG_FEC_XCV_TYPE             RGMII
 #define CONFIG_FEC_MXC_PHYADDR          0
 #define FEC_QUIRK_ENET_MAC
 #define IMX_FEC_BASE                   0x30BE0000
index c7022ef0f7fb1a1876c6493da4844cadd9692871..32c937abb0e5bb4bee0662c187c8cbbca1377a40 100644 (file)
@@ -83,9 +83,6 @@
 #define CONFIG_SYS_FSL_USDHC_NUM       2
 #define CONFIG_SYS_FSL_ESDHC_ADDR      0
 
-#define CONFIG_ETHPRIME                 "FEC"
-
-#define CONFIG_FEC_XCV_TYPE             RGMII
 #define CONFIG_FEC_MXC_PHYADDR          0
 #define FEC_QUIRK_ENET_MAC
 
index d9a86a62ed0843095a0b96ea283c2046d35ff563..1ec27f40f2b5142c66491332488e6bccebd3521e 100644 (file)
 #define CONFIG_SYS_FSL_ESDHC_ADDR      0
 
 /* FEC */
-#define CONFIG_ETHPRIME                 "eth0"
-#define CONFIG_FEC_XCV_TYPE             RGMII
 #define CONFIG_FEC_MXC_PHYADDR          0
 #define FEC_QUIRK_ENET_MAC
 
index e2e322bb4d366f316e97cfc7a23d55abbd2b2d6b..7fed9a38c1db6f9b64703870758dae511405e845 100644 (file)
 
 /* ENET Config */
 #if defined(CONFIG_FEC_MXC)
-#define CONFIG_ETHPRIME                "FEC"
-#define CONFIG_FEC_XCV_TYPE            RGMII
 #define CONFIG_FEC_MXC_PHYADDR 0
 #define FEC_QUIRK_ENET_MAC
 #define IMX_FEC_BASE                   0x30BE0000
index 1e800f0ecc057c9d7586a20eb9953e4c90359105..318289b76bcd7ba2b1de06e4deecdb09bb48d2ed 100644 (file)
@@ -14,8 +14,6 @@
 
 #define CONFIG_SPL_MAX_SIZE            (148 * SZ_1K)
 #define CONFIG_SYS_MONITOR_LEN         SZ_512K
-#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
-#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR                0x300
 #define CONFIG_SYS_UBOOT_BASE  \
        (QSPI0_AMBA_BASE + CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512)
 
 
 #include <config_distro_bootcmd.h>
 
-/* ENET */
-#if defined(CONFIG_FEC_MXC)
-#define CONFIG_ETHPRIME                        "FEC"
-#define CONFIG_FEC_XCV_TYPE            RGMII
-#endif /* CONFIG_FEC_MXC */
-
 #define MEM_LAYOUT_ENV_SETTINGS \
        "scriptaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
        "kernel_addr_r=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
@@ -84,7 +76,4 @@
 /* USDHC */
 #define CONFIG_SYS_FSL_ESDHC_ADDR      0
 
-/* I2C */
-#define CONFIG_SYS_I2C_SPEED           400000
-
 #endif /* __IMX8MN_VAR_SOM_H */
index e7bfcd70af2cdefafd0dedc9c667ace2cf80f309..c01a590c8af6df88c24991faa532b08a5e58dcc0 100644 (file)
@@ -97,8 +97,6 @@
 #define CONFIG_SYS_FSL_ESDHC_ADDR      0
 
 /* FEC */
-#define CONFIG_ETHPRIME                 "eth0"
-#define CONFIG_FEC_XCV_TYPE             RGMII
 #define CONFIG_FEC_MXC_PHYADDR          0
 #define FEC_QUIRK_ENET_MAC
 
index b810a558adf182d4cd98b740bf29c9570a2c8817..fe07a3cde6264435fcc2a56bdb4a4ff20efaacb3 100644 (file)
@@ -33,9 +33,6 @@
 #endif
 
 #if defined(CONFIG_CMD_NET)
-#define CONFIG_ETHPRIME                 "eth1" /* Set eqos to primary since we use its MDIO */
-
-#define CONFIG_FEC_XCV_TYPE             RGMII
 #define CONFIG_FEC_MXC_PHYADDR          1
 #define FEC_QUIRK_ENET_MAC
 
index ac4a7d0cb300dc4418871791f39d9276f72bdd10..62e06d230348dc0ababda7f8682917f0accd3b81 100644 (file)
 #include <asm/arch/imx-regs.h>
 #include <config_distro_bootcmd.h>
 
-#define CONFIG_HAS_ETH1
-
 #define CONFIG_SYS_BOOTM_LEN           (32 * SZ_1M)
 
 #define CONFIG_SPL_MAX_SIZE            (152 * 1024)
 #define CONFIG_SYS_MONITOR_LEN         (512 * 1024)
-#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION     1
 #define CONFIG_SYS_UBOOT_BASE  (QSPI0_AMBA_BASE + CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512)
 
 #ifdef CONFIG_SPL_BUILD
-#define CONFIG_SPL_LDSCRIPT            "arch/arm/cpu/armv8/u-boot-spl.lds"
 #define CONFIG_SPL_STACK               0x960000
 #define CONFIG_SPL_BSS_START_ADDR      0x0098FC00
 #define CONFIG_SPL_BSS_MAX_SIZE                0x400   /* 1 KB */
 #define CONFIG_SPL_ABORT_ON_RAW_IMAGE
 
 #if defined(CONFIG_NAND_BOOT)
-#define CONFIG_SPL_NAND_SUPPORT
-#define CONFIG_SPL_DMA
 #define CONFIG_SPL_NAND_MXS
-#define CONFIG_SPL_NAND_BASE
-#define CONFIG_SPL_NAND_IDENT
-#define CONFIG_SYS_NAND_U_BOOT_OFFS    0x4000000 /* Put the FIT out of \
-                                                  * first 64MB boot area \
-                                                  */
-
-/* Set a redundant offset in nand FIT mtdpart. The new uuu will burn full
- * boot image (not only FIT part) to the mtdpart, so we check both two offsets
- */
-#define CONFIG_SYS_NAND_U_BOOT_OFFS_REDUND \
-       (CONFIG_SYS_NAND_U_BOOT_OFFS + CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512 - 0x8400)
-
 #endif
 
 #endif
 
-#define CONFIG_REMAKE_ELF
 /* ENET Config */
 /* ENET1 */
 #if defined(CONFIG_CMD_NET)
-#define CONFIG_ETHPRIME                 "eth1" /* Set eqos to primary since we use its MDIO */
-
-#define CONFIG_FEC_XCV_TYPE             RGMII
 #define CONFIG_FEC_MXC_PHYADDR          4
 #define FEC_QUIRK_ENET_MAC
 
 #define CONFIG_MXC_UART_BASE           UART3_BASE_ADDR
 
 /* Monitor Command Prompt */
-#define CONFIG_SYS_PROMPT_HUSH_PS2     "> "
 #define CONFIG_SYS_CBSIZE              2048
 #define CONFIG_SYS_MAXARGS             64
 #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
                                        sizeof(CONFIG_SYS_PROMPT) + 16)
 
-#define CONFIG_IMX_BOOTAUX
-
 #define CONFIG_SYS_FSL_USDHC_NUM       2
 #define CONFIG_SYS_FSL_ESDHC_ADDR      0
 
 /* NAND stuff */
 #define CONFIG_SYS_MAX_NAND_DEVICE     1
 #define CONFIG_SYS_NAND_BASE           0x20000000
-#define CONFIG_SYS_NAND_5_ADDR_CYCLE
-#define CONFIG_SYS_NAND_ONFI_DETECTION
-#define CONFIG_SYS_NAND_USE_FLASH_BBT
 #endif /* CONFIG_NAND_MXS */
 
-#define CONFIG_SYS_I2C_SPEED           100000
-
 #endif /* __IMX8MP_RSB3720_H */
index d3cf7ab0a7d6e1ce06ea79ddc17e3c9ee51d77a6..a3bb3c9d291713cfc3ff15304f30a9efcb4db7d4 100644 (file)
@@ -32,9 +32,6 @@
 
 /* ENET Config */
 /* ENET1 */
-#if defined(CONFIG_CMD_NET)
-#define CONFIG_ETHPRIME                 "FEC"
-#endif
 
 #ifndef CONFIG_SPL_BUILD
 #define BOOT_TARGET_DEVICES(func) \
index 4aaed3ae7da7633bbe7263e55889d27c73610ca9..8fff3bf632e8ecd7732af0575deb0f0c3754d527 100644 (file)
@@ -38,9 +38,6 @@
 /* ENET Config */
 /* ENET1 */
 #if defined(CONFIG_CMD_NET)
-#define CONFIG_ETHPRIME                 "FEC"
-
-#define CONFIG_FEC_XCV_TYPE             RGMII
 #define CONFIG_FEC_MXC_PHYADDR          0
 #define FEC_QUIRK_ENET_MAC
 
index 16a2c2cf9d5a61411fbbaf5405bde576a96f4626..6919f6d660ec92504031356840d76a82bf2ffeea 100644 (file)
@@ -32,9 +32,6 @@
 /* ENET Config */
 /* ENET1 */
 #if defined(CONFIG_CMD_NET)
-#define CONFIG_ETHPRIME                 "FEC"
-
-#define CONFIG_FEC_XCV_TYPE             RGMII
 #define CONFIG_FEC_MXC_PHYADDR          0
 #define FEC_QUIRK_ENET_MAC
 
index c12f383655bd1300778c5f521d13d8257ad0e08e..0fe38e61c4b7b7986e73360592fb88ab8429ced0 100644 (file)
 /* Generic Timer Definitions */
 #define COUNTER_FREQUENCY              8000000 /* 8MHz */
 
-/* Networking */
-#define CONFIG_FEC_XCV_TYPE            RGMII
-
 #endif /* __IMX8QM_MEK_H */
index 5fcc96325ad9603bda703e844524f7e648e08003..7532c6e7551d2d6fa13f34e2027bdc3ea8d23318 100644 (file)
 /* Generic Timer Definitions */
 #define COUNTER_FREQUENCY              8000000 /* 8MHz */
 
-/* Networking */
-#define CONFIG_FEC_XCV_TYPE            RGMII
-
 #include <linux/stringify.h>
 #endif /* __IMX8QM_ROM7720_H */
index b1c51e72bf60e30408af73437c64d2f3be8cdd94..beb35c93435fd1ad256c2baf9711add607e62ec0 100644 (file)
 #define CONFIG_PCA953X
 #endif
 
-/* Networking */
-#define CONFIG_FEC_XCV_TYPE            RGMII
-
 /* Misc configuration */
 #define CONFIG_SYS_CBSIZE      2048
 #define CONFIG_SYS_MAXARGS     64
index 7da6802aa5f84a473b37c6cf774f3c591d20c55b..ddb3d444f03d1c815c2c03cf8aff48779173548e 100644 (file)
 
 /* ENET Config */
 #if defined(CONFIG_FEC_MXC)
-#define CONFIG_ETHPRIME                 "FEC"
 #define PHY_ANEG_TIMEOUT               20000
 
-#define CONFIG_FEC_XCV_TYPE            RMII
 #define CONFIG_FEC_MXC_PHYADDR         1
 
 #define IMX_FEC_BASE                   0x29950000
index 6d7d798fd6c2e3b56ad0f79a0df18cb86d011a72..f15a4d572587e7aa247a37ef54406e817148c13f 100644 (file)
 /* Integrator/AP-specific configuration */
 #define CONFIG_SYS_HZ_CLOCK            24000000        /* Timer 1 is clocked at 24Mhz */
 
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /* Flash settings */
 #define CONFIG_SYS_FLASH_SIZE          0x02000000 /* 32 MiB */
 #define CONFIG_SYS_MAX_FLASH_SECT      128
@@ -32,8 +27,6 @@
  * PCI definitions
  */
 
-#define CONFIG_SYS_RX_ETH_BUFFER       8       /* use 8 rx buffer on eepro100  */
-
 /*-----------------------------------------------------------------------
  * There are various dependencies on the core module (CM) fitted
  * Users should refer to their CM user guide
index 3ff7bb933c4b0b587959258385a75d9d0b27f6d5..467423d21f0a3befe2f9a61e7685a591fdad3f1d 100644 (file)
@@ -29,7 +29,6 @@
 
 #define CONFIG_SERVERIP 192.168.1.100
 #define CONFIG_IPADDR 192.168.1.104
-#define CONFIG_BOOTFILE "uImage"
 
 /*
  * Miscellaneous configurable options
index a1b8c066228a3668480273a040ab1f76cfb10420..6092933cf581f00bba831bf599947b974be4f3a0 100644 (file)
                                        CONFIG_SYS_SDRAM_BASE) - \
                                        CONFIG_SYS_MALLOC_LEN - \
                                        CONFIG_ENV_SIZE
-
-/*
- * Environment
- */
-#define CONFIG_BOOTFILE                        "app.bin"
-
 #endif /* _CONFIG_IOT_DEVKIT_H_ */
index e4b167dd219dd7cc65616a68c1aee7ed6d3e63ad..5aaa31eaa152f3fb336bbaf99ea5ef2256c9403d 100644 (file)
        "partitions=" PARTS_DEFAULT
 
 /* Set the default list of remote processors to boot */
-#if defined(CONFIG_TARGET_J721E_A72_EVM) || defined(CONFIG_TARGET_J7200_A72_EVM)
+#if defined(CONFIG_TARGET_J7200_A72_EVM)
 #define EXTRA_ENV_CONFIG_MAIN_CPSW0_QSGMII_PHY                         \
-       "dorprocboot=1\0"                                               \
        "do_main_cpsw0_qsgmii_phyinit=1\0"                              \
        "init_main_cpsw0_qsgmii_phy=gpio set gpio@22_17;"               \
                 "gpio clear gpio@22_16\0"                              \
 #ifdef DEFAULT_RPROCS
 #undef DEFAULT_RPROCS
 #endif
+#elif defined(CONFIG_TARGET_J721E_A72_EVM)
+#define EXTRA_ENV_CONFIG_MAIN_CPSW0_QSGMII_PHY                         \
+       "init_main_cpsw0_qsgmii_phy=gpio set gpio@22_17;"               \
+                "gpio clear gpio@22_16\0"                              \
+       "main_cpsw0_qsgmii_phyinit="                                    \
+       "if test $board_name = J721EX-PM1-SOM || test $board_name = J721EX-PM2-SOM " \
+       "|| test $board_name = j721e; then " \
+       "do_main_cpsw0_qsgmii_phyinit=1; else "                 \
+       "do_main_cpsw0_qsgmii_phyinit=0; fi;"                   \
+       "if test ${do_main_cpsw0_qsgmii_phyinit} -eq 1 && test ${dorprocboot} -eq 1 && " \
+                       "test ${boot} = mmc; then "                     \
+               "run init_main_cpsw0_qsgmii_phy;"                       \
+       "fi;\0"
+#ifdef DEFAULT_RPROCS
+#undef DEFAULT_RPROCS
+#endif
 #endif
 
 #ifdef CONFIG_TARGET_J721E_A72_EVM
index 6fd098c957c3414f2a383afd3f2edd5b6016e912..87884649236afb169a116e4ac9536d88e5b16212 100644 (file)
@@ -60,9 +60,6 @@
 #define CONFIG_SYS_BOOTM_LEN           SZ_64M
 #define CONFIG_CQSPI_REF_CLK           133333333
 
-/* HyperFlash related configuration */
-#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT 1
-
 /* U-Boot general configuration */
 #define EXTRA_ENV_J721S2_BOARD_SETTINGS                                        \
        "default_device_tree=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0"      \
index a3c385b6e22ae1372f7c661c3f6534a1b1a4f875..b4c42fd37229e113d85260ca06d3018c5dbce63c 100644 (file)
@@ -26,8 +26,4 @@
 #include "tegra-common-usb-gadget.h"
 #include "tegra-common-post.h"
 
-/* Reserve top 1M for secure RAM */
-#define CONFIG_ARMV7_SECURE_BASE               0xfff00000
-#define CONFIG_ARMV7_SECURE_RESERVE_SIZE       0x00100000
-
 #endif /* __CONFIG_H */
index d321ebdb637c5e54ad5c4817abdeb36909b1dcf1..85cf516e1627b19c4cc22a42a8ee352f12a6bc91 100644 (file)
 #define CONFIG_LOADS_ECHO
 #define CONFIG_SYS_LOADS_BAUD_CHANGE
 
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 #ifndef CONFIG_KM_DEF_ENV_BOOTPARAMS
 #define CONFIG_KM_DEF_ENV_BOOTPARAMS \
        "actual_bank=0\0"
index 98204bd3c692e5d67d5c4d9d8bc26cea37021f99..ab629be380e653eb3295c160d15fbfb939c2c23a 100644 (file)
 /* EEprom support */
 
 /* ethernet port connected to piggy (UEC2) */
-#define CONFIG_HAS_ETH1
 #define CONFIG_UEC_ETH2
 #define CONFIG_SYS_UEC2_UCC_NUM                2       /* UCC3 */
 #define CONFIG_SYS_UEC2_RX_CLK         QE_CLK_NONE /* not used in RMII Mode */
index 7c979c5fa95c82ccce6cc488252bd545274314f0..8a434d426f0b3a72333aa4d65f69fd101d460bd5 100644 (file)
        "unlock=yes\0"                                                   \
        ""
 
-#if defined(CONFIG_UEC_ETH)
-#define CONFIG_HAS_ETH0
-#endif
-
 /*
  * QE UEC ethernet configuration
  */
 #define CONFIG_UEC_ETH
-#define CONFIG_ETHPRIME                "UEC0"
index 8453be849594a495f08fddc72d391cfdaab4d201..40ff3e2cb5f0327531bd398c061e3d810003110a 100644 (file)
@@ -23,7 +23,6 @@
 #define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
 
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   4
 
 #define CONFIG_SYS_SPD_BUS_NUM         0
 #define SPD_EEPROM_ADDRESS             0x54
@@ -75,7 +74,6 @@
 #define CONFIG_SYS_FLASH_EMPTY_INFO
 #define CONFIG_SYS_FLASH_BANKS_LIST    { CONFIG_SYS_FLASH_BASE_PHYS }
 
-#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
 #define CONFIG_SYS_WRITE_SWAPPED_DATA
 
 #define CONFIG_SYS_CSPR0_EXT           CONFIG_SYS_NOR0_CSPR_EXT
                                        {1, {I2C_NULL_HOP}                 }, \
                                }
 
-/*
- * eTSEC
- */
-#ifdef CONFIG_TSEC_ENET
-#define CONFIG_ETHPRIME                        "ethernet@2d90000"
-#endif
-
 #define CONFIG_LAYERSCAPE_NS_ACCESS
 #define CONFIG_SMP_PEN_ADDR            0x01ee0200
 #define COUNTER_FREQUENCY              8333333
 #define CONFIG_SYS_BOOTM_LEN   (64 << 20) /* Increase max gunzip size */
 #define CONFIG_SYS_BOOTMAPSZ   (256 << 20) /* Increase map for Linux */
 
-#define CONFIG_MISC_INIT_F
-
 #endif
index ca0cb31c296405560f871adfa333050e12fdf274..29cc674e6d6948b36ae40d2309012c1221a73b40 100644 (file)
  * These can be toggled for performance analysis, otherwise use default.
  */
 #define CONFIG_SYS_CACHE_STASHING
-#define CONFIG_BACKSIDE_L2_CACHE
 #define CONFIG_SYS_INIT_L2CSR0         L2CSR0_L2E
-#define CONFIG_BTB                     /* toggle branch predition */
 
 #define CONFIG_ENABLE_36BIT_PHYS
 
 #define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
 
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   (2 * CONFIG_DIMM_SLOTS_PER_CTLR)
 
 #define CONFIG_SYS_SPD_BUS_NUM 0
 #define SPD_EEPROM_ADDRESS     0x54
@@ -410,7 +407,6 @@ int get_scl(void);
 /* Qman / Bman */
 /* RGMII (FM1@DTESC5) is local managemant interface */
 #define CONFIG_SYS_RGMII2_PHY_ADDR             0x11
-#define CONFIG_ETHPRIME                "fm1-mac5"
 
 /*
  * Hardware Watchdog
index 2bac0008e25253d729cd4f6b4c68e3954d548934..7bc402d578e80ffe6da85ff804aa0c1a0a1cd08b 100644 (file)
@@ -32,7 +32,6 @@
 /* Board and environment settings */
 #define CONFIG_MXC_UART_BASE           UART4_BASE
 #define CONFIG_HOSTNAME                        "kontron-mx6ul"
-#define CONFIG_ETHPRIME                        "eth0"
 
 #ifdef CONFIG_USB_EHCI_HCD
 #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
index 0f96b905ab6d4bb4a6ef9e49157295f0d59876a7..2c0ad96e0d41a6d6f7b01068ec1633b2f5d0d206 100644 (file)
 
 #define CONFIG_SPL_MAX_SIZE            (124 * SZ_1K)
 #define CONFIG_SYS_MONITOR_LEN         (512 * SZ_1K)
-#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
-#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR        0x300
 
 #ifdef CONFIG_SPL_BUILD
-#define CONFIG_SPL_LDSCRIPT            "arch/arm/cpu/armv8/u-boot-spl.lds"
 #define CONFIG_SPL_STACK               0x187FF0
 #define CONFIG_SPL_BSS_START_ADDR       0x00180000
 #define CONFIG_SPL_BSS_MAX_SIZE         SZ_8K
 #define CONFIG_POWER_PFUZE100_I2C_ADDR  0x08
 #endif
 
-#define CONFIG_REMAKE_ELF
-
 /* ENET1 Config */
 #if defined(CONFIG_CMD_NET)
-#define CONFIG_ETHPRIME                 "FEC"
-
-#define CONFIG_FEC_XCV_TYPE             RGMII
 #define CONFIG_FEC_MXC_PHYADDR          0
 #define FEC_QUIRK_ENET_MAC
 
@@ -92,6 +84,4 @@
 #define CONFIG_SYS_FSL_USDHC_NUM       2
 #define CONFIG_SYS_FSL_ESDHC_ADDR       0
 
-#define CONFIG_OF_SYSTEM_SETUP
-
 #endif
index 448749a7f81d93d353c662ad555d6c50c5d5ac59..77ea1327f9a4e26e773f90c61bb6181caa3d39e4 100644 (file)
@@ -19,7 +19,6 @@
 #define CONFIG_MEM_INIT_VALUE          0xdeadbeef
 
 #define CONFIG_VERY_BIG_RAM
-#define CONFIG_CHIP_SELECTS_PER_CTRL   4
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
 #define CONFIG_SYS_DDR_SDRAM_BASE      0x80000000
 #define CONFIG_SYS_FSL_DDR_SDRAM_BASE_PHY      0
@@ -44,9 +43,6 @@
 
 #define COUNTER_FREQUENCY_REAL         (get_board_sys_clk() / 4)
 
-/* ethernet */
-#define CONFIG_SYS_RX_ETH_BUFFER       8
-
 /* SPL */
 #define CONFIG_SPL_BSS_START_ADDR      0x80100000
 #define CONFIG_SPL_BSS_MAX_SIZE                0x00100000
index 0983d40ec411fb375468cba48cf0fbd856e4262e..534263f62b38ef46a54cdc95730a7e0c3e7399c0 100644 (file)
@@ -60,8 +60,6 @@
 
 #include <config_distro_bootcmd.h>
 
-#define CONFIG_ARP_TIMEOUT     200UL
-
 /* Miscellaneous configurable options */
 #define CONFIG_SYS_CBSIZE              512     /* Console I/O Buffer Size */
 
index c53808558f9b18173d6a06a56dfc2c51f0b5a49c..7d879477d705d4ef4211c00dbd5e8ec2a6dac531 100644 (file)
@@ -18,7 +18,6 @@
 /* Miscellaneous configurable options */
 
 /* FEC ethernet */
-#define CONFIG_ARP_TIMEOUT             200UL
 
 /* USB Configs */
 #ifdef CONFIG_CMD_USB
index 022858f692820d242dcda2760e9b9cdc50de5836..42f881b0be9f205aecbedd32d7f13e20868971c7 100644 (file)
@@ -71,6 +71,4 @@
 #define CONFIG_SH_SCIF_CLK_FREQ get_board_sys_clk()
 #define TMU_CLK_DIVIDER                (4)     /* 4 (default), 16, 64, 256 or 1024 */
 
-#define CONFIG_NFS_TIMEOUT 10000UL
-
 #endif /* __KZM9G_H */
index b912db11d00ee53ba4be78724cf702692d8c51a7..83bd6bc150877daf16a9605fee1556bcb16b4561 100644 (file)
@@ -50,7 +50,6 @@
 /*
  * U-Boot general configuration
  */
-#define CONFIG_BOOTFILE                "uImage" /* Boot file name */
 #define CONFIG_SYS_CBSIZE      1024 /* Console I/O Buffer Size */
 #define CONFIG_SYS_BARGSIZE    CONFIG_SYS_CBSIZE /* Boot Args Buffer Size */
 
index 3a8dd475b26bb4b07be384dcdb17d4a10b785bff..d0960bcaf9ae2e62776cc89126c0b111ffe63d87 100644 (file)
 
 #define IMX_FEC_BASE                   ENET_BASE_ADDR
 #define CONFIG_FEC_MXC_PHYADDR         0x0
-#define CONFIG_FEC_XCV_TYPE            RMII
-#define CONFIG_ETHPRIME                        "FEC"
 #endif
 
 #endif
index 0263bb82893f37ee62294c1dd38c40b468efe765..8191c856a93f91e517a1660b8472c2c3062637ae 100644 (file)
@@ -10,7 +10,6 @@
 
 /* DDR */
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   1
 #define CONFIG_SYS_SDRAM_SIZE          0x40000000
 
 /* SATA */
index ef57cf6aaa31671c25f048fe5277db71719a4c51..7735a005e20aa852351989da290522f9d3c612f4 100644 (file)
@@ -10,9 +10,7 @@
 
 /* DDR */
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   1
 #define CONFIG_SYS_SDRAM_SIZE          0x20000000
-#define CONFIG_CHIP_SELECTS_PER_CTRL   1
 
 #ifndef CONFIG_SPL_BUILD
 #undef BOOT_TARGET_DEVICES
index c61865ccd4e71e898447ac85a0e7a0418dcdeb41..7d8d6ee085f379ac8e90aff022acb2f12e43a48b 100644 (file)
 #define BOARD_REV_MASK                 0x001A0000
 /* DDR */
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   1
 #define SYS_SDRAM_SIZE_512             0x20000000
 #define SYS_SDRAM_SIZE_1024            0x40000000
-#define CONFIG_CHIP_SELECTS_PER_CTRL   1
 
 /* ENV */
 #define CONFIG_SYS_FSL_QSPI_BASE       0x40000000
index cbcb3f72a5622caca40661a827dc9c7162f4df17..d57f28e4967ede2ffabd95d6acae029634e1a58c 100644 (file)
@@ -11,7 +11,6 @@
 
 /* DDR */
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   1
 #define CONFIG_SYS_SDRAM_SIZE          0x40000000
 
 /*
index c9a152e08a27c700bd767ec8328ff37858ce4507..c51c4f2d3eabe6f453c64e9756b8438ec678b951 100644 (file)
@@ -11,7 +11,6 @@
 
 /* DDR */
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   1
 #define CONFIG_SYS_SDRAM_SIZE          0x40000000
 
 /*
index 2e5b804a4cbc124499a8a1f13fdf24400bec32cf..c5b70e1c3e6414a44961f5475fa068d3caf87eaa 100644 (file)
@@ -7,8 +7,6 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-#define CONFIG_ARMV7_SECURE_BASE OCRAM_BASE_S_ADDR
-
 #define CONFIG_SYS_INIT_RAM_ADDR       OCRAM_BASE_ADDR
 #define CONFIG_SYS_INIT_RAM_SIZE       OCRAM_SIZE
 
@@ -59,8 +57,6 @@
 #define CONFIG_SYS_DDR_SDRAM_BASE      0x80000000UL
 #define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
 
-#define CONFIG_CHIP_SELECTS_PER_CTRL   4
-
 /*
  * Serial Port
  */
 
 #define TSEC1_PHYIDX                   0
 #define TSEC2_PHYIDX                   0
-
-#define CONFIG_ETHPRIME                        "eTSEC2"
-
-#define CONFIG_HAS_ETH0
-#define CONFIG_HAS_ETH1
-#define CONFIG_HAS_ETH2
 #endif
 
 /* PCIe */
index 8c4cb7b720511c5197fb6419c71509a762c3f6d5..91e73c7d4569d8e3d57743bf6b3ceb81f4ef8a80 100644 (file)
@@ -7,8 +7,6 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-#define CONFIG_ARMV7_SECURE_BASE       OCRAM_BASE_S_ADDR
-
 #define CONFIG_DEEP_SLEEP
 
 #define CONFIG_SYS_INIT_RAM_ADDR       OCRAM_BASE_ADDR
@@ -54,7 +52,6 @@
 #define CONFIG_SYS_DDR_RAW_TIMING
 #endif
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   4
 
 #define CONFIG_SYS_DDR_SDRAM_BASE      0x80000000UL
 #define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
@@ -99,7 +96,6 @@
 
 #define CONFIG_SYS_FLASH_QUIET_TEST
 #define CONFIG_FLASH_SHOW_PROGRESS     45
-#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
 #define CONFIG_SYS_WRITE_SWAPPED_DATA
 
 #define CONFIG_SYS_MAX_FLASH_SECT      1024    /* sectors per device */
 #define TSEC2_PHYIDX                   0
 #define TSEC3_PHYIDX                   0
 
-#define CONFIG_ETHPRIME                        "eTSEC1"
-
-#define CONFIG_HAS_ETH0
-#define CONFIG_HAS_ETH1
-#define CONFIG_HAS_ETH2
-
 #define CONFIG_FSL_SGMII_RISER         1
 #define SGMII_RISER_PHY_OFFSET         0x1b
 
index 5f6c2a0037072e6b093b90795843882d2b6a3212..3742203278358b0b136f87ef579a14acfa23bacd 100644 (file)
@@ -6,8 +6,6 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-#define CONFIG_ARMV7_SECURE_BASE       OCRAM_BASE_S_ADDR
-
 #define CONFIG_DEEP_SLEEP
 
 #define CONFIG_SYS_INIT_RAM_ADDR       OCRAM_BASE_ADDR
@@ -77,8 +75,6 @@
 #define CONFIG_SYS_DDR_SDRAM_BASE      0x80000000UL
 #define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
 
-#define CONFIG_CHIP_SELECTS_PER_CTRL   4
-
 /* Serial Port */
 #define CONFIG_SYS_NS16550_SERIAL
 #ifndef CONFIG_DM_SERIAL
index dcee79de884a3b31db0dc38971f51d38740ec420..f5d40aa3023bc96f0d5345d9be0931df369c37c0 100644 (file)
@@ -7,8 +7,6 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-#define CONFIG_ARMV7_SECURE_BASE       OCRAM_BASE_S_ADDR
-
 #define CONFIG_DEEP_SLEEP
 
 #define CONFIG_SYS_INIT_RAM_ADDR       OCRAM_BASE_ADDR
@@ -79,8 +77,6 @@
 #define CONFIG_SYS_DDR_SDRAM_BASE      0x80000000UL
 #define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
 
-#define CONFIG_CHIP_SELECTS_PER_CTRL   4
-
 /*
  * IFC Definitions
  */
 #define CONFIG_SYS_FLASH_EMPTY_INFO
 #define CONFIG_SYS_FLASH_BANKS_LIST    { CONFIG_SYS_FLASH_BASE_PHYS }
 
-#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
 #define CONFIG_SYS_WRITE_SWAPPED_DATA
 #endif
 
 #define CONFIG_SYS_I2C_DVI_ADDR                0x39
 #endif
 
-/*
- * eTSEC
- */
-
-#ifdef CONFIG_TSEC_ENET
-#define CONFIG_ETHPRIME                        "ethernet@2d10000"
-#endif
-
 /* PCIe */
 #define CONFIG_PCIE1           /* PCIE controller 1 */
 #define CONFIG_PCIE2           /* PCIE controller 2 */
index a517346c1298b7f5be36335b49da560737073d62..516a7306a644050de56af294712a77eefc3334c6 100644 (file)
@@ -40,7 +40,6 @@
 /* Miscellaneous configurable options */
 
 /* Physical Memory Map */
-#define CONFIG_CHIP_SELECTS_PER_CTRL   4
 
 #define CONFIG_HWCONFIG
 #define HWCONFIG_BUFFER_SIZE           128
@@ -92,8 +91,4 @@
 #include <asm/fsl_secure_boot.h>
 #endif
 
-/* Ethernet */
-/* smallest ENETC BD ring has 8 entries */
-#define CONFIG_SYS_RX_ETH_BUFFER               8
-
 #endif /* __L1028A_COMMON_H */
index ea6831bb82726892603c41c1854bcaddd331ab8a..e9919cd05f7a0c834218b15aa3c2587def014287 100644 (file)
@@ -12,7 +12,6 @@
 
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
 /* Physical Memory Map */
-#define CONFIG_CHIP_SELECTS_PER_CTRL   4
 
 #define SPD_EEPROM_ADDRESS             0x51
 #define CONFIG_SYS_SPD_BUS_NUM         0
@@ -92,7 +91,6 @@
 #define CONFIG_SYS_FLASH_BANKS_LIST    {CONFIG_SYS_FLASH_BASE_PHYS, \
                                        CONFIG_SYS_FLASH_BASE_PHYS + 0x8000000}
 
-#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
 #define CONFIG_SYS_WRITE_SWAPPED_DATA
 
 /*
index 31b578ae33b096ddbd49825972c5e41ff34eb421..cc15462cb19c5ecb3e22bbd8116995ff65039fbe 100644 (file)
@@ -12,7 +12,6 @@
 
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
 /* Physical Memory Map */
-#define CONFIG_CHIP_SELECTS_PER_CTRL   4
 
 #define CONFIG_SYS_SPD_BUS_NUM         0
 
@@ -62,7 +61,6 @@
 #define CONFIG_SYS_FLASH_EMPTY_INFO
 #define CONFIG_SYS_FLASH_BANKS_LIST    { CONFIG_SYS_FLASH_BASE_PHYS }
 
-#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
 #define CONFIG_SYS_WRITE_SWAPPED_DATA
 
 /*
 #define QSGMII_PORT4_PHY_ADDR          0x7
 
 #define FM1_10GEC1_PHY_ADDR            0x1
-
-#define CONFIG_ETHPRIME                        "FM1@DTSEC3"
 #endif
 #endif
 
index 14ad84a1ef462b92e46f23c1f7badeaac9b9b7a2..d803fb746b02eaaaa1b6e2b85ae31007c811a49b 100644 (file)
@@ -11,7 +11,6 @@
 #define CONFIG_LAYERSCAPE_NS_ACCESS
 
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   4
 
 #define CONFIG_SYS_UBOOT_BASE          0x40100000
 
 
 #define FDT_SEQ_MACADDR_FROM_ENV
 
-#define CONFIG_ETHPRIME                        "FM1@DTSEC3"
-
 #endif
 
 #define QSPI_NOR_BOOTCOMMAND "run distro_bootcmd; run qspi_bootcmd; "  \
index 3d72c67a54f52fecf905885f150ad26fada7e5ba..2972e3beac222e23b137be255671ad8c8488c129 100644 (file)
@@ -12,7 +12,6 @@
 
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
 /* Physical Memory Map */
-#define CONFIG_CHIP_SELECTS_PER_CTRL   4
 
 #define SPD_EEPROM_ADDRESS             0x51
 #define CONFIG_SYS_SPD_BUS_NUM         0
 #define CONFIG_SYS_FLASH_BANKS_LIST    {CONFIG_SYS_FLASH_BASE_PHYS, \
                                        CONFIG_SYS_FLASH_BASE_PHYS + 0x8000000}
 
-#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
 #define CONFIG_SYS_WRITE_SWAPPED_DATA
 
 /*
index 8ed1dceb234371e658ded68998c42a465cb97ce0..04c3ad02c8f82e95c68ed328936ad2d472bf1b41 100644 (file)
@@ -13,7 +13,6 @@
 
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
 /* Physical Memory Map */
-#define CONFIG_CHIP_SELECTS_PER_CTRL   4
 
 #define SPD_EEPROM_ADDRESS             0x51
 #define CONFIG_SYS_SPD_BUS_NUM         0
 #define FM1_10GEC1_PHY_ADDR            0x0
 
 #define FDT_SEQ_MACADDR_FROM_ENV
-
-#define CONFIG_ETHPRIME                        "FM1@DTSEC3"
 #endif
 
 #endif
index 33b70c8d8f684770a667fcc37bd51e7317324347..121fd3cf1822482302c90cc2817641effdb7d255 100644 (file)
@@ -108,11 +108,6 @@ unsigned long long get_qixis_addr(void);
 #define CONFIG_SYS_LS_MC_AIOP_IMG_MAX_LENGTH   0x200000
 #define CONFIG_SYS_LS_MC_DRAM_AIOP_IMG_OFFSET  0x07000000
 
-/* Define phy_reset function to boot the MC based on mcinitcmd.
- * This happens late enough to properly fixup u-boot env MAC addresses.
- */
-#define CONFIG_RESET_PHY_R
-
 /*
  * Carve out a DDR region which will not be used by u-boot/Linux
  *
@@ -132,7 +127,6 @@ unsigned long long get_qixis_addr(void);
 #endif
 
 /* Physical Memory Map */
-#define CONFIG_CHIP_SELECTS_PER_CTRL   4
 
 #define CONFIG_HWCONFIG
 #define HWCONFIG_BUFFER_SIZE           128
index 2d33ab07944753c44cba5ac1321399c713e82dad..b951033da3535b67226296ef208d06b3e8c7b594 100644 (file)
 #define XQSGMII_CARD_PHY4_PORT2_ADDR 0xe
 #define XQSGMII_CARD_PHY4_PORT3_ADDR 0xf
 
-#define CONFIG_ETHPRIME                "DPMAC1@xgmii"
-
 #endif
 
 #define BOOT_TARGET_DEVICES(func) \
index 4cb5d7517f3dc627a382c1dd1a253c5145c75491..2e6f16786be8711b2bbf477784039162d8a48586 100644 (file)
 #define QSGMII2_PORT2_PHY_ADDR         0x1d
 #define QSGMII2_PORT3_PHY_ADDR         0x1e
 #define QSGMII2_PORT4_PHY_ADDR         0x1f
-
-#define CONFIG_ETHPRIME                "DPMAC1@xgmii"
 #endif
 #endif
 
index f2725af0534c47bc564ec1f0202ac6fb5e6b2685..9027bd06b02d2d70d8422f61edd09be3f8ceb8c3 100644 (file)
@@ -120,11 +120,6 @@ unsigned long long get_qixis_addr(void);
 #define CONFIG_SYS_LS_MC_AIOP_IMG_MAX_LENGTH   0x200000
 #define CONFIG_SYS_LS_MC_DRAM_AIOP_IMG_OFFSET  0x07000000
 
-/* Define phy_reset function to boot the MC based on mcinitcmd.
- * This happens late enough to properly fixup u-boot env MAC addresses.
- */
-#define CONFIG_RESET_PHY_R
-
 /*
  * Carve out a DDR region which will not be used by u-boot/Linux
  *
@@ -139,7 +134,6 @@ unsigned long long get_qixis_addr(void);
 
 /* Physical Memory Map */
 /* fixme: these need to be checked against the board */
-#define CONFIG_CHIP_SELECTS_PER_CTRL   4
 
 #define CONFIG_HWCONFIG
 #define HWCONFIG_BUFFER_SIZE           128
index 7554de1f6d31dd21f07c866751b1ef832a2c7c17..68ccc27c7aadb3404dc98b09378508f63ad0dd02 100644 (file)
@@ -27,7 +27,6 @@
 #define SPD_EEPROM_ADDRESS     SPD_EEPROM_ADDRESS1
 #define CONFIG_SYS_SPD_BUS_NUM 0       /* SPD on I2C bus 0 */
 #define CONFIG_DIMM_SLOTS_PER_CTLR             2
-#define CONFIG_CHIP_SELECTS_PER_CTRL           4
 #ifdef CONFIG_SYS_FSL_HAS_DP_DDR
 #define CONFIG_DP_DDR_DIMM_SLOTS_PER_CTLR      1
 #endif
 #define XQSGMII_CARD_PHY4_PORT2_ADDR 0xe
 #define XQSGMII_CARD_PHY4_PORT3_ADDR 0xf
 
-#define CONFIG_ETHPRIME                "DPMAC1@xgmii"
-
 #endif
 
 #include <asm/fsl_secure_boot.h>
index 1c05b0867781e1309ff1de6e38cb6c6ae631812e..1e90f94d50e808cf0ff00d15df391b7a202f5317 100644 (file)
@@ -37,7 +37,6 @@
 #define SPD_EEPROM_ADDRESS     SPD_EEPROM_ADDRESS1
 #define CONFIG_SYS_SPD_BUS_NUM 0       /* SPD on I2C bus 0 */
 #define CONFIG_DIMM_SLOTS_PER_CTLR             2
-#define CONFIG_CHIP_SELECTS_PER_CTRL           4
 #ifdef CONFIG_SYS_FSL_HAS_DP_DDR
 #define CONFIG_DP_DDR_DIMM_SLOTS_PER_CTLR      1
 #endif
 #define AQ_PHY_ADDR3           0x02
 #define AQ_PHY_ADDR4           0x03
 #define AQR405_IRQ_MASK                0x36
-#define CONFIG_ETHPRIME                "DPMAC1@xgmii"
 
 #include <asm/fsl_secure_boot.h>
 
index 7fa4f00734c20b26b049749d4d7f1dfa19b61b01..19fd702ab2455be45494e2140e119c3c934cb3cd 100644 (file)
@@ -92,7 +92,6 @@
 #ifdef CONFIG_CMD_NET
 #define CONFIG_MVGBE_PORTS             {0, 1} /* enable port 1 only */
 #define CONFIG_PHY_BASE_ADR            7
-#undef CONFIG_RESET_PHY_R
 #endif /* CONFIG_CMD_NET */
 
 #ifdef CONFIG_SATA
index 4f4b5713dc73b76f5d9cb390f467ca939b0db683..38c4c31023745ceffcea305ac4ccbecbf0d5b9dd 100644 (file)
@@ -34,7 +34,6 @@
 #define SPD_EEPROM_ADDRESS             SPD_EEPROM_ADDRESS1
 #define CONFIG_SYS_SPD_BUS_NUM         0       /* SPD on I2C bus 0 */
 #define CONFIG_DIMM_SLOTS_PER_CTLR     2
-#define CONFIG_CHIP_SELECTS_PER_CTRL   4
 #define CONFIG_SYS_MONITOR_LEN         (936 * 1024)
 
 /* Miscellaneous configurable options */
 #define CONFIG_SYS_LS_MC_DRAM_DPL_OFFSET       0x00F20000
 #define CONFIG_SYS_LS_MC_BOOT_TIMEOUT_MS       5000
 
-/* Define phy_reset function to boot the MC based on mcinitcmd.
- * This happens late enough to properly fixup u-boot env MAC addresses.
- */
-#define CONFIG_RESET_PHY_R
-
 /*
  * Carve out a DDR region which will not be used by u-boot/Linux
  *
index a07ebeb7233cc3283264b235491d976f2f332e28..e7aec6bc5964efe9d0b63e4a8be447a1f6b526ce 100644 (file)
@@ -22,9 +22,6 @@ u8 qixis_esdhc_detect_quirk(void);
 #endif
 
 /* MAC/PHY configuration */
-#if defined(CONFIG_FSL_MC_ENET)
-#define CONFIG_ETHPRIME                "DPMAC17@rgmii-id"
-#endif
 
 /* EEPROM */
 #define CONFIG_SYS_I2C_EEPROM_NXID
index a8a9f8259ebe3e5fb61c5df1463e91ab495dd0b2..5c4ea27787bc60506eea3d536fdc4933ba8c2319 100644 (file)
 /* RTC */
 #define CONFIG_SYS_RTC_BUS_NUM         4
 
-/* MAC/PHY configuration */
-#if defined(CONFIG_FSL_MC_ENET)
-#define CONFIG_ETHPRIME                "DPMAC1@xgmii"
-#endif
-
 /* EMC2305 */
 #define I2C_MUX_CH_EMC2305             0x09
 #define I2C_EMC2305_ADDR               0x4D
index c2fa5794c8a158ce7b8a470eec92a163b2da8e77..126d226ebc72e627ffc201df27527c3e3f529379 100644 (file)
@@ -25,11 +25,6 @@ u8 qixis_esdhc_detect_quirk(void);
 #define CONFIG_ESDHC_DETECT_QUIRK  qixis_esdhc_detect_quirk()
 #endif
 
-/* MAC/PHY configuration */
-#if defined(CONFIG_FSL_MC_ENET)
-#define CONFIG_ETHPRIME                "DPMAC17@rgmii-id"
-#endif
-
 /* EEPROM */
 #define CONFIG_SYS_I2C_EEPROM_NXID
 #define CONFIG_SYS_EEPROM_BUS_NUM              0
index 8486cf8fc6e8c3634bb177bbdca94c940ade5884..dd803e7053cbd1501a301185ae35b720b9debe91 100644 (file)
@@ -72,8 +72,6 @@
 #define IMX_FEC_BASE                   FEC_BASE_ADDR
 #define CONFIG_FEC_MXC_PHYADDR         0x0
 #define CONFIG_DISCOVER_PHY
-#define CONFIG_FEC_XCV_TYPE            RMII
-#define CONFIG_ETHPRIME                        "FEC0"
 #endif
 
 #define CONFIG_SYS_RTC_BUS_NUM         1 /* I2C2 */
 
 /* Watchdog */
 
-/*
- * Boot Linux
- */
-#define CONFIG_BOOTFILE                "boot/fitImage"
-
 /*
  * NAND SPL
  */
index 073c5a57b2c9cc9f260e1f68a5d6ccc0c99cf8bd..e4df9d8dfff3b8e111e976b8a80ea380dde5587d 100644 (file)
@@ -64,6 +64,5 @@
 
 /* Enable DDR support in SPL (DDR3 training from Marvell bin_hdr) */
 #define CONFIG_SYS_SDRAM_SIZE          SZ_1G
-#define CONFIG_BOARD_ECC_SUPPORT       /* this board supports ECC */
 
 #endif /* _CONFIG_DB_MV7846MP_GP_H */
index 55f64b559c75d340d2f910554d247f73e4527153..fa4513b2b999bc57168bfcaa699ca6b708e7b816 100644 (file)
  * Hardware drivers
  */
 
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /*
  * SDRAM: 1 bank, min 32, max 128 MB
  * Initialized before u-boot gets started.
 # define CONFIG_SYS_NAND_READY_PIN             GPIO_PIN_PA(22)
 #endif
 
-/* Ethernet */
-#define CONFIG_RMII
-#define CONFIG_NET_RETRY_COUNT                 20
-#undef CONFIG_RESET_PHY_R
-
 /* hw-controller addresses */
 #define CONFIG_ET1100_BASE             0x70000000
 
index fd5a9cf8b8e2b3c650c9ff4e9313f4fc13c4d6d6..744e20e58e71fb180402aae1aa30fbc210ef23b3 100644 (file)
 #define XILINX_DCACHE_BYTE_SIZE        32768
 #endif
 
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /* size of console buffer */
 #define        CONFIG_SYS_CBSIZE       512
 /* max number of command args */
        BOOTENV
 #endif
 
-#if defined(CONFIG_XILINX_AXIEMAC)
-# define CONFIG_SYS_FAULT_ECHO_LINK_DOWN       1
-#endif
-
 /* SPL part */
 
 #define CONFIG_SYS_UBOOT_BASE          CONFIG_SYS_TEXT_BASE
index fd9ce344dbdff0a05cd03f52926a9dac59838907..06882fb51e8f6aae6599d7ec8b980b885a562178 100644 (file)
  */
 #define DEFAULT_ENV_IS_RW              /* required for configuring default fdtfile= */
 
-/*
- * Ethernet Driver configuration
- */
-#define CONFIG_ARP_TIMEOUT     200
-#define CONFIG_NET_RETRY_COUNT 50
-
 #define CONFIG_USB_MAX_CONTROLLER_COUNT (3 + 3)
 
 /*
index 44bba6555cb5eb882fd8d644265d77ef45d491cc..8e325e8f4a00921ecda66eb58ef6a2e13537ba90 100644 (file)
 
 #define CONFIG_SYS_MAX_NAND_DEVICE     1
 
-/*
- * Ethernet Driver configuration
- */
-#define CONFIG_ARP_TIMEOUT     200
-#define CONFIG_NET_RETRY_COUNT 50
-
 #define CONFIG_USB_MAX_CONTROLLER_COUNT (3 + 3)
 
 /* USB ethernet */
index 370f0002120cd0e9f4fc97f3d00ef174400b204f..ab466b65ac43990790b84feea5292df8e24d6f2d 100644 (file)
@@ -22,9 +22,6 @@
 
 /* Ethernet */
 
-/* Booting Linux */
-#define CONFIG_BOOTFILE                "uImage"
-
 /* Extra Environment */
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "update_sd_firmware_filename=u-boot.sd\0" \
index 552bf5ac63052bd7257e9cfa5e51fed096f4757b..3fb00031075d1a3a42efffb63e8f3cd9939487b5 100644 (file)
@@ -30,9 +30,6 @@
 #define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (512 << 10)
 #endif
 
-/* Boot Linux */
-#define CONFIG_BOOTFILE                "uImage"
-
 /* Extra Environments */
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "update_sd_firmware_filename=u-boot.sd\0" \
index caad95b72717c9b931a2dcac3cb9d8e866d05e09..fe096d424c3a99caf431db8e61aa7ee250fc0154 100644 (file)
@@ -44,9 +44,6 @@
 #define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (512 << 10)
 #endif
 
-/* Boot Linux */
-#define CONFIG_BOOTFILE                "uImage"
-
 /* Extra Environment */
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "ubifs_file=filesystem.ubifs\0" \
index dc5891e74e9aff4717b811a5d17e2860a6d7e04a..f299cc06d327d946f1a88b06f413cd1bc65dda4d 100644 (file)
@@ -44,8 +44,6 @@
 
 /* Framebuffer and LCD */
 
-#define CONFIG_ETHPRIME                "FEC0"
-
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "script=boot.scr\0" \
        "image=zImage\0" \
                        "bootz; " \
                "fi;\0"
 
-#define CONFIG_ARP_TIMEOUT     200UL
-
 /*
  * Miscellaneous configurable options
  */
index 16c2241fd57e4ff3cfc1c3f88b768c8a634e0633..fafc5f1adcb68889ba4f2e97c46466198d823a23 100644 (file)
@@ -54,8 +54,6 @@
        "fdtfile=imx53-cx9020.dtb\0" \
        BOOTENV
 
-#define CONFIG_ARP_TIMEOUT     200UL
-
 /* Miscellaneous configurable options */
 #define CONFIG_SYS_CBSIZE              512     /* Console I/O Buffer Size */
 
index 01ed221873aa4f4a695573bef01de252fcb3091e..8a0324e1ad85f166a18ff6a2527e6ba661388327 100644 (file)
@@ -31,9 +31,6 @@
 
 /* Command definition */
 
-
-#define CONFIG_ETHPRIME                "FEC0"
-
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "script=boot.scr\0" \
        "image=zImage\0" \
@@ -91,8 +88,6 @@
                        "bootz; " \
                "fi;\0"
 
-#define CONFIG_ARP_TIMEOUT     200UL
-
 /* Miscellaneous configurable options */
 #define CONFIG_SYS_CBSIZE              512     /* Console I/O Buffer Size */
 
index 8f8dfe94ca9cded8dce6fafcf9e9857a909db2d1..572261b042677826bdeafdb5b54494e37d882c74 100644 (file)
@@ -85,8 +85,6 @@
        "video-mode=" \
                "lcd:800x480-24@60,monitor=lcd\0" \
 
-#define CONFIG_ARP_TIMEOUT     200UL
-
 /* Miscellaneous configurable options */
 #define CONFIG_SYS_CBSIZE              1024    /* Console I/O Buffer Size */
 
index 5ff931ee3bc997a3678b0c9bed741488df017521..a0e481703bcb61ab569b863608734fbb3f4bb234 100644 (file)
@@ -18,7 +18,6 @@
 #endif
 
 #endif
-#define CONFIG_BOARD_POSTCLK_INIT
 #define CONFIG_MXC_GPT_HCLK
 
 #define CONFIG_SYS_BOOTM_LEN   0x1000000
index c1c012bbb535586b9c75cc2b6dcc5f112d3f5091..4f6e385165ab079592195fdade97e4ee73b4affa 100644 (file)
                                        "echo WARNING: Could not determine dtb to use; fi; " \
                        "fi;\0" \
 
-#define CONFIG_ARP_TIMEOUT     200UL
-
 /* Physical Memory Map */
 #define PHYS_SDRAM                     MMDC0_ARB_BASE_ADDR
 
index 953f0710b114f78cf115368f26d0645580c47298..372cf8dd71145a1547e6870a356850ea89f5a072 100644 (file)
 #define IMX_FEC_BASE                   ENET2_BASE_ADDR
 #define CONFIG_FEC_MXC_PHYADDR          0x0
 
-#define CONFIG_FEC_XCV_TYPE             RGMII
-#define CONFIG_ETHPRIME                 "FEC"
-
 #ifdef CONFIG_CMD_USB
 #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
 #define CONFIG_MXC_USB_PORTSC  (PORT_PTS_UTMI | PORT_PTS_PTW)
index 8bc86749aac48c99c1095e74447be7e7d173aac2..a46f515f10d3e1c1143a3a12adcf40031d856da0 100644 (file)
 #define IMX_FEC_BASE                   ENET_BASE_ADDR
 #define CONFIG_FEC_MXC_PHYADDR          0x1
 
-#define CONFIG_FEC_XCV_TYPE             RGMII
-#define CONFIG_ETHPRIME                 "FEC"
-
 #ifdef CONFIG_CMD_USB
 #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
 #define CONFIG_MXC_USB_PORTSC  (PORT_PTS_UTMI | PORT_PTS_PTW)
index c24578aff1c58be09a8e83c050e1921d5fb95842..4be5d7897d88baef202a9384bb43375d858cd33d 100644 (file)
 #if (CONFIG_FEC_ENET_DEV == 0)
 #define IMX_FEC_BASE                   ENET_BASE_ADDR
 #define CONFIG_FEC_MXC_PHYADDR          0x2
-#define CONFIG_FEC_XCV_TYPE             RMII
-#define CONFIG_ETHPRIME                        "eth0"
 #elif (CONFIG_FEC_ENET_DEV == 1)
 #define IMX_FEC_BASE                   ENET2_BASE_ADDR
 #define CONFIG_FEC_MXC_PHYADDR         0x1
-#define CONFIG_FEC_XCV_TYPE            RMII
-#define CONFIG_ETHPRIME                        "eth1"
 #endif
 #endif
 
index 6bcca11c4c2f91e7eed78cd7477911fcca25adcf..dfcdc00c061d81b661b3d88af8c39b20cd4ef404 100644 (file)
 
 #ifdef CONFIG_CMD_NET
 #define CONFIG_FEC_ENET_DEV            1
-#if (CONFIG_FEC_ENET_DEV == 0)
-#define CONFIG_ETHPRIME                        "eth0"
-#elif (CONFIG_FEC_ENET_DEV == 1)
-#define CONFIG_ETHPRIME                        "eth1"
-#endif
 #endif
 
 #endif
index 2e976df6985f233e03b927b0f5b45cf40eb54ac5..76c374af253226daeb7f573a4a9a3afc97843d98 100644 (file)
@@ -31,8 +31,6 @@
 
 /* MMC */
 
-#define CONFIG_ARMV7_SECURE_BASE       0x00900000
-
 /*
  * If we have defined the OPTEE ram size and not OPTEE it means that we were
  * launched by OPTEE, because of that we shall skip all the low level
index 75f5cf0b6de37fa39c4f458fcbe39465ee683dba..d3ba1449279a684107d6533a26614adfb78d919d 100644 (file)
@@ -15,7 +15,6 @@
 #include "imx7ulp_spl.h"
 #endif
 
-#define CONFIG_BOARD_POSTCLK_INIT
 #define CONFIG_SYS_BOOTM_LEN           0x1000000
 
 /*
@@ -71,7 +70,5 @@
 #define CONFIG_SYS_INIT_SP_ADDR \
        (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
 
-#define CONFIG_ARMV7_SECURE_BASE       0x2F000000
-
 #define CONFIG_MXC_USB_PORTSC          (PORT_PTS_UTMI | PORT_PTS_PTW)
 #endif /* __CONFIG_H */
index 8f2cbc643eeca5dfe1f1ce448cd21abcdda052db..e80d748d991ba06fc47c8dbbfc3cc80dc2e891d1 100644 (file)
@@ -11,7 +11,6 @@
 #include <linux/sizes.h>
 #include <asm/arch/imx-regs.h>
 
-#define CONFIG_BOARD_POSTCLK_INIT
 #define CONFIG_SYS_BOOTM_LEN           0x1000000
 
 #define CONFIG_MMCROOT                  "/dev/mmcblk0p2"  /* USDHC1 */
index 591c572184009e1907748bba8b8f55f372457a36..8dcc45c9e5d6a9138298de39e3bd8008183e00c3 100644 (file)
 #define CONFIG_PL01x_PORTS             { (void *)MXS_UARTDBG_BASE }
 /* Default baudrate can be overridden by board! */
 
-/* FEC Ethernet on SoC */
-#ifdef CONFIG_FEC_MXC
-#ifndef CONFIG_ETHPRIME
-#define CONFIG_ETHPRIME                        "FEC0"
-#endif
-#ifndef CONFIG_FEC_XCV_TYPE
-#define CONFIG_FEC_XCV_TYPE            RMII
-#endif
-#endif
-
 /* NAND */
 #ifdef CONFIG_CMD_NAND
 #define CONFIG_SYS_MAX_NAND_DEVICE     1
index 678b433cd7b1eef051b219ddeb83882ff62b9208..afa4ca5b5af3ef59a42fd5520b8ce75aa3c4dcce 100644 (file)
@@ -29,8 +29,6 @@
 #endif
 
 #define IMX_FEC_BASE                   ENET_BASE_ADDR
-#define CONFIG_FEC_XCV_TYPE            RGMII
-#define CONFIG_ETHPRIME                        "FEC"
 #define CONFIG_FEC_MXC_PHYADDR         6
 
 /* USB Configs */
index 1ce2f4e56223d7248c3446ae512ff2c59fd4a53c..c11d13a3483a15ac0de6ba97ee9269dc3a1bff3d 100644 (file)
@@ -25,7 +25,6 @@
  */
 
 /* Booting Linux */
-#define CONFIG_BOOTFILE                        "fitImage"
 #define CONFIG_HOSTNAME                        "novena"
 
 /* Physical Memory Map */
index eb32d83e114b90960f0272a81639f679ba9ed4a8..1e40fad9644fc4871973f6b7dcd9f4aa5d301f97 100644 (file)
@@ -48,8 +48,6 @@
 #ifdef CONFIG_CMD_NET
 #define IMX_FEC_BASE                   ENET_BASE_ADDR
 #define CONFIG_FEC_MXC_PHYADDR         0x1
-#define CONFIG_FEC_XCV_TYPE            RMII
-#define CONFIG_ETHPRIME                        "eth0"
 #endif
 
 #define CONFIG_FEC_ENET_DEV            1
index ccf4519119a4973ea8e7d8d2e90bbf397d8a9c05..485a3fe42dcea36f931061de18747864dacaa17f 100644 (file)
@@ -27,7 +27,6 @@
 #ifdef CONFIG_CMD_NET
 #define CONFIG_MVGBE_PORTS     {1, 0}  /* enable port 0 only */
 #define CONFIG_PHY_BASE_ADR    1
-#define CONFIG_RESET_PHY_R
 #endif /* CONFIG_CMD_NET */
 
 /* SATA driver configuration */
index 62169af676f69518f8f44abdf58be747714005cc..16c4935e720dbec007779267c847a86befe2d2da 100644 (file)
 
 #define CONFIG_SYS_BOOTM_LEN           SZ_32M
 
-/*
- * Environment configuration
- */
-#define CONFIG_BOOTFILE                        "uImage"
-
 /*
  * Console configuration
  */
index 72515a32e16d3d243c606cd85837646b1c41cf86..7777935ba6ee39a7c69924c0ee2850911ebea6b6 100644 (file)
 #      define CONFIG_MXC_USB_PORTSC            (PORT_PTS_UTMI | PORT_PTS_PTW)
 #endif /* CONFIG_CMD_USB */
 
-#if IS_ENABLED(CONFIG_FEC_MXC)
-#      define CONFIG_FEC_XCV_TYPE      RMII
-#endif /* CONFIG_FEC_MXC */
-
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "mmcdev=0\0" \
        "mmcpart=2\0" \
index 536dff2bdfd0e8f6aef4f47d8a50981a08823ef5..6ec2d3e2688958e2e5ea12e6381ac984ee38fbc7 100644 (file)
 /** Stack starting address */
 #define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_SDRAM_BASE + 0xffff0)
 
-/* Autoboot options */
-#define CONFIG_RESET_TO_RETRY
-#define CONFIG_BOOT_RETRY_TIME         -1
-#define CONFIG_BOOT_RETRY_MIN          30
-
-/* BOOTP options */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /** Extra environment settings */
 #define CONFIG_EXTRA_ENV_SETTINGS      \
                                        "loadaddr=20080000\0"   \
index 8185f4b6250f71b69976eb3b6346cc0974cc4b6f..bcf8b41cfb63e3b02a2565220ed609aba366690e 100644 (file)
 
 /** Heap size for U-Boot */
 
-/* Autoboot options */
-#define CONFIG_RESET_TO_RETRY
-#define CONFIG_BOOT_RETRY_TIME         -1
-#define CONFIG_BOOT_RETRY_MIN          30
-
-/* BOOTP options */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /* AHCI support Definitions */
 #ifdef CONFIG_DM_SCSI
 /** Enable 48-bit SATA addressing */
index a4825982a898c0c8d1de6b9ae4f191a2be5a0c44..616f25eafd3ece39483bf0d89fa4d1640989ee92 100644 (file)
@@ -10,8 +10,6 @@
 #include <configs/exynos5420-common.h>
 #include <configs/exynos5-common.h>
 
-#define CONFIG_BOARD_COMMON
-
 #define CONFIG_SYS_SDRAM_BASE          0x40000000
 
 #define TZPC_BASE_OFFSET               0x10000
index 45297b9a612aff2a32c9bf2ef257eeb58c2bcf1d..512ddbc3d8fc008f483f2c1263eeb5d803a78cc2 100644 (file)
 #define CONFIG_SYS_NAND_ECCBYTES       10
 #endif
 
-/*
- * Network & Ethernet Configuration
- */
-#ifdef CONFIG_DRIVER_TI_EMAC
-#define CONFIG_NET_RETRY_COUNT 10
-#endif
-
 /*
  * U-Boot general configuration
  */
-#define CONFIG_BOOTFILE                "zImage" /* Boot file name */
 #define CONFIG_SYS_CBSIZE      1024 /* Console I/O Buffer Size */
 #define CONFIG_SYS_BARGSIZE    CONFIG_SYS_CBSIZE /* Boot Args Buffer Size */
 
index 1caeed6ba5cd862a4d3b1ea58a1ee9d116329eb7..22325180ce0e96d79706e9982e2144f0da0cbce0 100644 (file)
@@ -58,9 +58,4 @@
 
 #define CONFIG_SYS_INIT_SP_ADDR                0x02040000
 
-/* U-Boot copy size from boot Media to DRAM.*/
-#define COPY_BL2_SIZE          0x80000
-#define BL2_START_OFFSET       ((CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)/512)
-#define BL2_SIZE_BLOC_COUNT    (COPY_BL2_SIZE/512)
-
 #endif /* __CONFIG_H */
index 92008cd38e49326041955ed009d714b0dd7ecc87..64a5269076af1d1b9a3be9ad1cb1ea64094d791d 100644 (file)
  * These can be toggled for performance analysis, otherwise use default.
  */
 #define CONFIG_L2_CACHE
-#define CONFIG_BTB
 
 #define CONFIG_ENABLE_36BIT_PHYS
 
 
 #if defined(CONFIG_TARGET_P1020RDB_PD)
 #define CONFIG_SYS_SDRAM_SIZE_LAW      LAW_SIZE_2G
-#define CONFIG_CHIP_SELECTS_PER_CTRL   2
 #else
 #define CONFIG_SYS_SDRAM_SIZE_LAW      LAW_SIZE_1G
-#define CONFIG_CHIP_SELECTS_PER_CTRL   1
 #endif
 #define CONFIG_SYS_SDRAM_SIZE          (1u << (CONFIG_SYS_SDRAM_SIZE_LAW - 19))
 #define CONFIG_SYS_DDR_SDRAM_BASE      0x00000000
 #define TSEC1_PHYIDX   0
 #define TSEC2_PHYIDX   0
 #define TSEC3_PHYIDX   0
-
-#define CONFIG_ETHPRIME        "eTSEC1"
-
-#define CONFIG_HAS_ETH0
-#define CONFIG_HAS_ETH1
-#define CONFIG_HAS_ETH2
 #endif /* CONFIG_TSEC_ENET */
 
 /*
  */
 #define CONFIG_HOSTNAME                "unknown"
 #define CONFIG_ROOTPATH                "/opt/nfsroot"
-#define CONFIG_BOOTFILE                "uImage"
 #define CONFIG_UBOOTPATH       u-boot.bin /* U-Boot image on TFTP server */
 
 #ifdef __SW_BOOT_NOR
index bcc0781aade859a5db2fbf6c6cbacbe67aeec61a..25470583149a70e1469b9e1328a3d17028852064 100644 (file)
  */
 #define CONFIG_SYS_CBSIZE              1024 /* Console I/O Buffer Size   */
 
-/*-----------------------------------------------------------------------
- * Networking Configuration
- */
-#define CONFIG_SYS_RX_ETH_BUFFER       8
-#define CONFIG_NET_RETRY_COUNT         20
-#define CONFIG_ARP_TIMEOUT             500 /* millisec */
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /*--------------------------------------------------
  * USB Configuration
  */
index 4700fff0731139daab1ce4a0df3f1958a507ea21..63f6b149d01fd16d8237db67b08945be398f086f 100644 (file)
 
 /* Ethernet Configuration */
 #define IMX_FEC_BASE                   ENET_BASE_ADDR
-#define CONFIG_FEC_XCV_TYPE            RGMII
-#define CONFIG_ETHPRIME                        "FEC"
 #define CONFIG_FEC_MXC_PHYADDR         1
 
 /* Framebuffer */
index d87bcf45d6e0e34c13d696c666a7005dc9005c87..f63ebb481175a0785b5faf465a53dbff217951de 100644 (file)
@@ -29,7 +29,6 @@
 
 #define IMX_FEC_BASE                   ENET2_BASE_ADDR
 #define CONFIG_FEC_MXC_PHYADDR         0x1
-#define CONFIG_FEC_XCV_TYPE            RMII
 
 #define CONFIG_MXC_UART_BASE           UART6_BASE_ADDR
 
index 7bfa79059a05bc4777523e1bfef0fa57b3451c74..26946cd65ac682256a4aefd8bdf293b1ea62d790 100644 (file)
@@ -32,9 +32,6 @@
 /* ENET Config */
 /* ENET1 */
 #if defined(CONFIG_CMD_NET)
-#define CONFIG_ETHPRIME                        "FEC"
-
-#define CONFIG_FEC_XCV_TYPE            RGMII
 #define CONFIG_FEC_MXC_PHYADDR         1
 #define FEC_QUIRK_ENET_MAC
 
index f3196ee847be860051003d7003f50eaeedc5c8e2..87f216be672e67dd67fc075d1bf563e2b54a2453 100644 (file)
 
 /* LCD */
 #define LCD_BPP                                LCD_COLOR8
-#define CONFIG_LCD_LOGO                        1
-#undef LCD_TEST_PATTERN
-#define CONFIG_LCD_INFO                        1
-#define CONFIG_LCD_INFO_BELOW_LOGO     1
-#define CONFIG_ATMEL_LCD               1
-#define CONFIG_ATMEL_LCD_BGR555                1
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE      1
 
 /* SDRAM */
 #define PHYS_SDRAM                             0x20000000
index 4856f61527610c9e8d733c621058d623879c07d7..3be7e1ca0b3c3c272f01eaa5a6cdc9f9ddbdcf8d 100644 (file)
  */
 /* LCD */
 #define LCD_BPP                                LCD_COLOR8
-#define CONFIG_LCD_LOGO                        1
-#undef LCD_TEST_PATTERN
-#define CONFIG_LCD_INFO                        1
-#define CONFIG_LCD_INFO_BELOW_LOGO     1
-#define CONFIG_ATMEL_LCD               1
-#define CONFIG_ATMEL_LCD_BGR555                1
-
-#define CONFIG_LCD_IN_PSRAM            1
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE      1
 
 /* SDRAM */
 #define PHYS_SDRAM             0x20000000
index b20539164211338b09b9dd5aaccd8a74ebc473f9..3a59045df7fe7ac4878dceda94b9f7a78147c3a8 100644 (file)
 #define CONFIG_SYS_AT91_SLOW_CLOCK      32768
 #define CONFIG_SYS_AT91_MAIN_CLOCK      12000000 /* from 12 MHz crystal */
 
-/* general purpose I/O */
-#define CONFIG_ATMEL_LEGACY            /* required until (g)pio is fixed */
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /* SDRAM */
 #define CONFIG_SYS_SDRAM_BASE           0x70000000
 #define CONFIG_SYS_SDRAM_SIZE          0x08000000
 #define CONFIG_SYS_NAND_READY_PIN              AT91_PIN_PD3
 #endif
 
-/* Ethernet */
-#define CONFIG_RESET_PHY_R
-#define CONFIG_AT91_WANTS_COMMON_PHY
-
 #ifdef CONFIG_NAND_BOOT
 /* bootstrap + u-boot + env in nandflash */
 #elif CONFIG_SD_BOOT
index 51c802f2b316ccba9c3021cb328cc8be0e23d2a3..cb221501e269bbee10dd2ebe1435118f79cbb533 100644 (file)
@@ -31,8 +31,5 @@
  */
 #define CONFIG_MVGBE_PORTS     {1, 0}  /* enable port 0 only */
 #define CONFIG_PHY_BASE_ADR    0
-#ifdef CONFIG_RESET_PHY_R
-#undef CONFIG_RESET_PHY_R      /* remove legacy reset_phy() */
-#endif
 
 #endif /* _CONFIG_POGO_E02_H */
index f8555f6e48af01c24aef7bb74875e7647a345316..3365ebe3d2faeba1efb04a709c68098737fc0eb5 100644 (file)
@@ -38,9 +38,6 @@
  */
 #define CONFIG_MVGBE_PORTS     {1, 0}  /* enable port 0 only */
 #define CONFIG_PHY_BASE_ADR    0
-#ifdef CONFIG_RESET_PHY_R
-#undef CONFIG_RESET_PHY_R      /* remove legacy reset_phy() */
-#endif
 
 /*
  * Support large disk for SATA and USB
diff --git a/include/configs/pomelo.h b/include/configs/pomelo.h
new file mode 100644 (file)
index 0000000..cdd6cdb
--- /dev/null
@@ -0,0 +1,38 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (C) 2021
+ * lixinde         <lixinde@phytium.com.cn>
+ * weichangzheng   <weichangzheng@phytium.com.cn>
+ */
+
+#ifndef __POMELO_CONFIG_H__
+#define __POMELO_CONFIG_H__
+
+/* SDRAM Bank #1 start address */
+#define CONFIG_SYS_SDRAM_BASE          0x80000000
+
+/* SIZE of malloc pool */
+#define CONFIG_SYS_INIT_SP_ADDR                (0x29800000 + 0x1a000)
+
+/*BOOT*/
+#define CONFIG_SYS_BOOTM_LEN           0x3c00000
+
+#ifndef CONFIG_SPL_BUILD
+#define BOOT_TARGET_DEVICES(func) \
+       func(SCSI, scsi, 0) \
+
+#include <config_distro_bootcmd.h>
+#endif
+
+/* Initial environment variables */
+#define CONFIG_EXTRA_ENV_SETTINGS              \
+       "image=Image\0" \
+       BOOTENV \
+       "scriptaddr=0x90100000\0" \
+       "kernel_addr_r=0x90200000\0" \
+       "fdt_addr_r=0x95000000\0"                       \
+       "boot_fit=no\0" \
+       "fdtfile=phytium-pomelo.dtb\0" \
+
+#endif
+
index 30185b14b7ae3304bf63215aeb82ec368625f8ae..3295d43ed67a83257d0a3df30635aebb907b725a 100644 (file)
@@ -36,9 +36,6 @@
 #define CONFIG_SYS_SERIAL0             PER_UART0_CFG
 #define CONFIG_SYS_SERIAL1             PER_UART1_CFG
 
-/* BOOTP options */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /* SDRAM Bank #1 */
 #define DDR_BASE                       0x00000000
 #define PHYS_SDRAM_1                   DDR_BASE
index d45f6068607f430a33f26cab2da9caaa550f138a..f58110760724ba7012f61c0763ec89a059264160 100644 (file)
@@ -67,6 +67,5 @@
 
 #define CONFIG_SYS_MONITOR_BASE                CONFIG_SYS_TEXT_BASE
 #define CONFIG_SYS_MAX_FLASH_SECT      256 /* Sector: 256K, Bank: 64M */
-#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
 
 #endif /* __CONFIG_H */
index e257c0ec1f4da3407d88bae99110adfe5416b049..296361aa03885ea065d25a8d0f90de0a93d02b87 100644 (file)
@@ -43,8 +43,6 @@ extern unsigned long long get_phys_ccsrbar_addr_early(void);
 #define CONFIG_SYS_DDR_SDRAM_BASE      0x00000000
 #define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
 
-#define CONFIG_CHIP_SELECTS_PER_CTRL   0
-
 #define CONFIG_SYS_BOOT_BLOCK          0x00000000      /* boot TLB */
 
 #define CONFIG_SYS_MONITOR_BASE                CONFIG_SYS_TEXT_BASE
@@ -93,7 +91,6 @@ extern unsigned long long get_phys_ccsrbar_addr_early(void);
  * Environment Configuration
  */
 #define CONFIG_ROOTPATH                "/opt/nfsroot"
-#define CONFIG_BOOTFILE                "uImage"
 #define CONFIG_UBOOTPATH       "u-boot.bin"    /* U-Boot image on TFTP server*/
 
 #endif /* __QEMU_PPCE500_H */
index 9542b0d1b59b674f7d8be2f309c02f2b4533754e..1b3aa304d690aaf710a7c067c063aec186ac3492 100644 (file)
@@ -19,7 +19,6 @@
 
 /* Environment in eMMC, at the end of 2nd "boot sector" */
 
-#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
 #define CONFIG_FLASH_SHOW_PROGRESS     45
 #define CONFIG_SYS_FLASH_QUIET_TEST
 #define CONFIG_SYS_FLASH_BANKS_LIST    { 0x08000000 }
index eb96e501fb48ed0917370957f9d8efea9dae99f4..772805d6242f7af27c3b8065e175cb04c568fa56 100644 (file)
 #define CONFIG_USART_BASE   ATMEL_BASE_DBGU
 #define CONFIG_USART_ID     0 /* ignored in arm */
 
-/* general purpose I/O */
-#define CONFIG_ATMEL_LEGACY            /* required until (g)pio is fixed */
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /*
  * define CONFIG_USB_EHCI_HCD to enable USB Hi-Speed (aka 2.0)
  * NB: in this case, USB 1.1 devices won't be recognized.
index 2aec9ffdc69488001523e379fb7aa80e14b11f7e..bca7166cb9bcc501196579536a4e70b5ec816dcf 100644 (file)
@@ -24,7 +24,4 @@
         GENERATED_GBL_DATA_SIZE)
 #endif
 
-#define CONFIG_ARP_TIMEOUT             200
-#define CONFIG_NET_RETRY_COUNT         50
-
 #endif
index 615458cde8bcea894a27bd6e59a06da4cb367d58..bfadf4a6b861ca71d43992f2092a8ca02ff06e45 100644 (file)
  */
 
 #ifndef CONFIG_SPL_BUILD
-/*
- * USB configuration
- */
-#define CONFIG_AM335X_USB0
-#define CONFIG_AM335X_USB0_MODE        MUSB_PERIPHERAL
-#define CONFIG_AM335X_USB1
-#define CONFIG_AM335X_USB1_MODE MUSB_HOST
 
 /* USB DRACO ID as default */
 #define CONFIG_USBD_HS
  * 0x442000 - 0x800000 : Userland
  */
 
-#define CONFIG_NET_RETRY_COUNT         10
-
 /* NAND support */
 #ifdef CONFIG_MTD_RAW_NAND
 /* UBI Support */
 #endif
 #endif
 
-/* Reboot after 60 sec if bootcmd fails */
-#define CONFIG_RESET_TO_RETRY
-#define CONFIG_BOOT_RETRY_TIME 60
-
 #endif /* ! __CONFIG_SIEMENS_AM33X_COMMON_H */
index 8bfd1fcd25a8eb5f206c5990abfa5eb990f8a095..a0b353902e765d1c06b617c2ae21ea061ebe59fc 100644 (file)
@@ -46,7 +46,6 @@
 
 /* setting board specific options */
 #define CONFIG_SYS_AUTOLOAD "yes"
-#define CONFIG_RESET_TO_RETRY
 
 /* The LED PINs */
 #define CONFIG_RED_LED                 AT91_PIN_PA9
 #define CONFIG_SYS_NAND_ENABLE_PIN     AT91_PIN_PC14
 #define CONFIG_SYS_NAND_READY_PIN      AT91_PIN_PC13
 
-/* general purpose I/O */
-#define CONFIG_ATMEL_LEGACY            /* required until (g)pio is fixed */
-#define CONFIG_AT91_GPIO_PULLUP        1       /* keep pullups on peripheral pins */
-
 /* serial console */
 #define CONFIG_USART_BASE              ATMEL_BASE_DBGU
 #define CONFIG_USART_ID                        ATMEL_ID_SYS
 
-/*
- * Ethernet configuration
- *
- */
-#define CONFIG_RMII                    /* use reduced MII inteface */
-#define CONFIG_NET_RETRY_COUNT 20      /* # of DHCP/BOOTP retries */
-#define CONFIG_AT91_WANTS_COMMON_PHY
-
-/* BOOTP and DHCP options */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 #if !defined(CONFIG_SPL_BUILD)
 /* USB configuration */
 #define CONFIG_USB_ATMEL
index d7e86f2f7644cd330bfbd837b2a1d1aa9daa0358..1ea3b650cd26835b471fb7115511fc5170472b95 100644 (file)
@@ -15,6 +15,4 @@
 #undef CONFIG_EXYNOS_FB
 #undef CONFIG_EXYNOS_DP
 
-#define CONFIG_BOARD_COMMON
-
 #endif /* __CONFIG_SMDK_H */
index 38691b63dafec7e2f44357dcd44a29a1250c0bf3..f26995d5c1c917e9837b641d32b64219c41dea99 100644 (file)
@@ -15,8 +15,6 @@
 #undef CONFIG_EXYNOS_FB
 #undef CONFIG_EXYNOS_DP
 
-#define CONFIG_BOARD_COMMON
-
 #define CONFIG_SMDK5420                        /* which is in a SMDK5420 */
 
 #define CONFIG_SYS_SDRAM_BASE  0x20000000
index f113fa44045e94ccc3204369b278c56a6de2ff77..84b8537e54dfef5ca5dded0365ca92404a7dc3f3 100644 (file)
@@ -10,7 +10,6 @@
 
 #include "exynos4-common.h"
 
-#undef CONFIG_BOARD_COMMON
 #undef CONFIG_USB_GADGET_DWC2_OTG_PHY
 
 /* High Level Configuration Options */
 
 #define CONFIG_SYS_INIT_SP_ADDR                0x02040000
 
-/* U-Boot copy size from boot Media to DRAM.*/
-#define        COPY_BL2_SIZE           0x80000
-#define BL2_START_OFFSET       ((CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)/512)
-#define BL2_SIZE_BLOC_COUNT    (COPY_BL2_SIZE/512)
-
 /* Ethernet Controllor Driver */
 #ifdef CONFIG_CMD_NET
 #define CONFIG_ENV_SROM_BANK           1
index 10f8fde8d58350d28eaa1b43d40c68a96eec3fd9..f7ee9dbac3508905b413418c651432a5621738ae 100644 (file)
 #define CONFIG_SYS_NAND_ENABLE_PIN     AT91_PIN_PC14
 #define CONFIG_SYS_NAND_READY_PIN      AT91_PIN_PC13
 
-/* Ethernet */
-#define CONFIG_RMII
-#define CONFIG_NET_RETRY_COUNT         20
-#define CONFIG_RESET_PHY_R
-#define CONFIG_AT91_WANTS_COMMON_PHY
-#define CONFIG_TFTP_PORT
-
 /* USB */
 #define CONFIG_USB_ATMEL
 #define CONFIG_USB_ATMEL_CLK_SEL_PLLB
@@ -54,8 +47,6 @@
 #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS     2
 
 /* GPIOs and IO expander */
-#define CONFIG_ATMEL_LEGACY
-#define CONFIG_AT91_GPIO_PULLUP                1
 #define CONFIG_PCA953X
 #define CONFIG_SYS_I2C_PCA953X_ADDR    0x28
 #define CONFIG_SYS_I2C_PCA953X_WIDTH   { {0x28, 16} }
@@ -91,8 +82,6 @@
 
 /* Boot options */
 
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /* Environment settings */
 
 /* Console settings */
index 3889a88ae98cc88ee83a9256fb9ea507c3b28fec..0e3567f535b4efbc5cbf6cb35ac24e6f4b07d2df 100644 (file)
 #define CONFIG_SYS_NAND_ENABLE_PIN     AT91_PIN_PC14
 #define CONFIG_SYS_NAND_READY_PIN      AT91_PIN_PC8
 
-/* Ethernet */
-#define CONFIG_RMII
-#define CONFIG_NET_RETRY_COUNT         20
-#define CONFIG_RESET_PHY_R
-#define CONFIG_AT91_WANTS_COMMON_PHY
-#define CONFIG_TFTP_PORT
-
-/* LCD */
-#define CONFIG_ATMEL_LCD
-#define CONFIG_GURNARD_SPLASH
-
-/* GPIOs and IO expander */
-#define CONFIG_ATMEL_LEGACY
-#define CONFIG_AT91_GPIO_PULLUP                1
-
 /* UARTs/Serial console */
 
 /* Boot options */
 
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /* Environment settings */
 
 #define        CONFIG_EXTRA_ENV_SETTINGS       \
index c082b2d82d86b029cd5da66a2f37cad550c3aec8..00d9b4d41673c281eaba72035b12d440edd2fc5c 100644 (file)
@@ -15,6 +15,4 @@
 #include <configs/exynos5-dt-common.h>
 #include <configs/exynos5-common.h>
 
-#define CONFIG_BOARD_COMMON
-
 #endif /* __CONFIG_SNOW_H */
index 0935eaedacb6d19788fc7df2229584d457c66b14..88fd8ae44cc9a3ccfddb322bb30335d170a79ae3 100644 (file)
  */
 #define CONFIG_SYS_I2C_RTC_ADDR         0x68
 
-/* Booting Linux */
-#define CONFIG_BOOTFILE                "zImage"
-
 #define CONFIG_SYS_BOOTM_LEN           (64 << 20)
 
 /* Environment settings */
 
-/*
- * Autoboot
- *
- * After 45s of inactivity in the prompt, the board will reset.
- * Set 'bootretry' in the environment to -1 to disable this behavior
- */
-#define CONFIG_BOOT_RETRY_TIME 45
-#define CONFIG_RESET_TO_RETRY
-
 /*
  * FPGA Remote Update related environment
  *
index 8acddbe8bb9f49ca668165a76d685e2a18b0ec8e..8f1c2de998ea327dfaca3d373ee2f1e82aae8216 100644 (file)
@@ -10,9 +10,6 @@
 /* Memory configurations */
 #define PHYS_SDRAM_1_SIZE              0x40000000      /* 1GiB */
 
-/* Booting Linux */
-#define CONFIG_BOOTFILE                "fitImage"
-
 /* Environment is in MMC */
 
 /* Extra Environment */
index 06337d405c0478252cf3ef0dd46c419060080538..468a35d4ff9b243a83faba4a346259e638500deb 100644 (file)
 /* Memory configurations */
 #define PHYS_SDRAM_1_SIZE              0x10000000
 
-/* Booting Linux */
-#define CONFIG_BOOTFILE                "zImage"
-
 /* Ethernet on SoC (EMAC) */
-#if defined(CONFIG_CMD_NET)
-#define CONFIG_ARP_TIMEOUT             500UL
-#endif
 
 /* The rest of the configuration is shared */
 #include <configs/socfpga_common.h>
index 3aa231c1521664fb44c7150d65fdf4822ce54c3f..e76438e228d52e3c90e7bf868b2bd56481d7981a 100644 (file)
@@ -10,9 +10,6 @@
 /* Memory configurations */
 #define PHYS_SDRAM_1_SIZE              0x40000000      /* 1GiB on MCV */
 
-/* Booting Linux */
-#define CONFIG_BOOTFILE                "fitImage"
-
 /* Environment is in MMC */
 
 /* Extra Environment */
index 51dc2e418801286898e3685af7f2e11f4ab59178..a06ac6b59687b5d0a285330baa70431a09c33b62 100644 (file)
@@ -72,13 +72,6 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
 /*
  * Environment variable
  */
-
-#ifdef CONFIG_FIT
-#define CONFIG_BOOTFILE "kernel.itb"
-#else
-#define CONFIG_BOOTFILE "Image"
-#endif
-
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "loadaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
        "bootfile=" CONFIG_BOOTFILE "\0" \
index d76749281500a02dea22277fc6b86534f8fa0e0c..2d4ce3ce44b50bd3eaba3e9ce9255ebebdd17a30 100644 (file)
@@ -11,7 +11,6 @@
 #define PHYS_SDRAM_1_SIZE              0x40000000      /* 1GiB on VINING_FPGA */
 
 /* Booting Linux */
-#define CONFIG_BOOTFILE                "fitImage"
 #define CONFIG_SYS_BOOTM_LEN   0x2000000       /* 32 MiB */
 
 /* Extra Environment */
index a51a162ee044a0b4859e04904c6dc5df1221fe9b..27ff933fbd3e44b991e3eedb8bf665ae46d361cc 100644 (file)
@@ -42,7 +42,6 @@
  * These can be toggled for performance analysis, otherwise use default.
  */
 #define CONFIG_L2_CACHE                        /* toggle L2 cache              */
-#define CONFIG_BTB                     /* toggle branch predition      */
 
 #define CONFIG_SYS_INIT_DBCR DBCR_IDM          /* Enable Debug Exceptions      */
 
@@ -61,7 +60,6 @@
 #define CONFIG_VERY_BIG_RAM
 
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   2
 
 /* I2C addresses of SPD EEPROMs */
 #define SPD_EEPROM_ADDRESS     0x50    /* CTLR 0 DIMM 0 */
 #define TSEC3_FLAGS            TSEC_GIGABIT
 
 /* Options are: TSEC[0,1] */
-#define CONFIG_ETHPRIME                "TSEC0"
-
-#define CONFIG_HAS_ETH0
-#define CONFIG_HAS_ETH1
 
 /*
  * Environment
 #define CONFIG_LOADS_ECHO      1       /* echo on for serial download  */
 #define CONFIG_SYS_LOADS_BAUD_CHANGE   1       /* allow baudrate change        */
 
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /*
  * Miscellaneous configurable options
  */
index 768e33dd89e60361e64bc5732e870adbc713b306..9946fe92fb4af1bac3161cb332de86c97780fab4 100644 (file)
@@ -80,8 +80,6 @@
 #ifdef CONFIG_CMD_NET
 #define IMX_FEC_BASE                   ENET_BASE_ADDR
 #define CONFIG_FEC_MXC_PHYADDR         0x1
-#define CONFIG_FEC_XCV_TYPE            RMII
-#define CONFIG_ETHPRIME                        "eth0"
 #endif
 
 #endif
index 0b052453a51c03a358e7b567f412c4764e227281..2f0a5807be0d58a6e7f15ae7a966d9e98e8497d5 100644 (file)
@@ -10,6 +10,4 @@
 #include <configs/exynos5-dt-common.h>
 #include <configs/exynos5-common.h>
 
-#define CONFIG_BOARD_COMMON
-
 #endif /* __CONFIG_SPRING_H */
index 4c464cfbe5a5bc0a429b8488b60636611ab05687..3e6feae1fa39f7054e3c52e71d8eb0874ed62729 100644 (file)
@@ -31,7 +31,6 @@
        func(USB, usb, 0) \
        func(DHCP, dhcp, na)
 #include <config_distro_bootcmd.h>
-#define CONFIG_BOOTFILE                        "uImage"
 #define CONFIG_EXTRA_ENV_SETTINGS                              \
                        "kernel_addr_r=0x40000000\0"            \
                        "fdtfile=stih410-b2260.dtb\0"           \
index 175d546a158c68d2c396e35eda4b1dbe648a0047..6b40cdb01779f69d9a4f761bd2534a9e246f001c 100644 (file)
 #include <linux/sizes.h>
 #include <asm/arch/stm32.h>
 
-#ifdef CONFIG_ARMV7_PSCI
-/* PSCI support */
-#define CONFIG_ARMV7_SECURE_BASE               STM32_SYSRAM_BASE
-#define CONFIG_ARMV7_SECURE_MAX_SIZE           STM32_SYSRAM_SIZE
-#endif
-
 /*
  * Configuration of the external SRAM memory used by U-Boot
  */
index 9d9ac036274dc05a3cfc78edbc4c16c4561e4c98..781dba542bdefa5d922f74228ca1353193ca7e9d 100644 (file)
                                        CONFIG_SYS_INIT_RAM_SIZE - 12)
 
 #ifdef CONFIG_MCFFEC
-#define CONFIG_MII_INIT                        1
 #define CONFIG_SYS_DISCOVER_PHY
-#define CONFIG_SYS_RX_ETH_BUFFER       8
-#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 /* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */
 #ifndef CONFIG_SYS_DISCOVER_PHY
 #define FECDUPLEX                      FULL
 #define FECSPEED                       _100BASET
-#else
-#ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#endif
 #endif /* CONFIG_SYS_DISCOVER_PHY */
 #endif
 #endif /* __STMARK2_CONFIG_H */
index dd9421687638725cec4738a0cb94ad6abcc78740..feec8695f2ee817371cd4bc5266cff5cf7ce7ebd 100644 (file)
@@ -29,9 +29,6 @@
 
 #define CONFIG_DW_ALTDESCRIPTOR
 
-/* Command support defines */
-#define CONFIG_PHY_RESET_DELAY                 10000           /* in usec */
-
 /* Misc configuration */
 
 /*
index 1e490daac17df526b0560739ca06593836e8ca05..0b1fedda10812c62f6eb42adafb31cda3b689d38 100644 (file)
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-/*
- * A31 specific configuration
- */
-
-#define CONFIG_ARMV7_SECURE_BASE       SUNXI_SRAM_B_BASE
-#define CONFIG_ARMV7_SECURE_MAX_SIZE    (64 * 1024) /* 64 KB */
-
 /*
  * Include common sunxi configuration where most the settings are
  */
index 803a7514cc0691ff0a15b2d0f733f9907ceeb66f..bc2779fa26f8c4592eb262fda3fa2bc01f724249 100644 (file)
@@ -8,13 +8,6 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-/*
- * A20 specific configuration
- */
-
-#define CONFIG_ARMV7_SECURE_BASE       SUNXI_SRAM_B_BASE
-#define CONFIG_ARMV7_SECURE_MAX_SIZE   (64 * 1024) /* 64 KB */
-
 /*
  * Include common sunxi configuration where most the settings are
  */
index 5636356366242d7acd4921bbe8045b8a885696f8..106139d0904ae9d73a0b8a8ea0510f53fb154f3f 100644 (file)
 
 #include <asm/arch/cpu.h>
 
-#ifdef SUNXI_SRAM_A2_SIZE
-/*
- * If the SoC has enough SRAM A2, use that for the secure monitor.
- * Skip the first 16 KiB of SRAM A2, which is not usable, as only certain bytes
- * are writable. Reserve the last 17 KiB for the resume shim and SCP firmware.
- */
-#define CONFIG_ARMV7_SECURE_BASE       (SUNXI_SRAM_A2_BASE + 16 * 1024)
-#define CONFIG_ARMV7_SECURE_MAX_SIZE   (SUNXI_SRAM_A2_SIZE - 33 * 1024)
-#endif
-
 /*
  * Include common sunxi configuration where most the settings are
  */
index 4bab917c0b7cc9706aa4cad97b6bcc1aecc1eafa..c467e9bd15bc7995ebcf7f8a39fcccafc428bd91 100644 (file)
 #ifdef CONFIG_MACH_SUN9I
 #define SDRAM_OFFSET(x) 0x2##x
 #define CONFIG_SYS_SDRAM_BASE          0x20000000
-/* Note SPL_STACK_R_ADDR is set through Kconfig, we include it here
- * since it needs to fit in with the other values. By also #defining it
- * we get warnings if the Kconfig value mismatches. */
 #define CONFIG_SPL_BSS_START_ADDR      0x2ff80000
 #elif defined(CONFIG_MACH_SUNIV)
 #define SDRAM_OFFSET(x) 0x8##x
 #define CONFIG_SYS_SDRAM_BASE          0x80000000
-/* Note SPL_STACK_R_ADDR is set through Kconfig, we include it here
- * since it needs to fit in with the other values. By also #defining it
- * we get warnings if the Kconfig value mismatches.
- */
-#define CONFIG_SPL_STACK_R_ADDR                0x81e00000
 #define CONFIG_SPL_BSS_START_ADDR      0x81f80000
 #else
 #define SDRAM_OFFSET(x) 0x4##x
 #define CONFIG_SYS_SDRAM_BASE          0x40000000
 /* V3s do not have enough memory to place code at 0x4a000000 */
-/* Note SPL_STACK_R_ADDR is set through Kconfig, we include it here
- * since it needs to fit in with the other values. By also #defining it
- * we get warnings if the Kconfig value mismatches. */
 #define CONFIG_SPL_BSS_START_ADDR      0x4ff80000
 #endif
 
index e4609b5c8971c0fe5d68744af79aaf2bf53e639d..b0d06e7b55286f81bc6e22453f06f40dba50a75e 100644 (file)
 
 /* Misc CPU related */
 
-/* general purpose I/O */
-#define CONFIG_ATMEL_LEGACY            /* required until (g)pio is fixed */
-#define CONFIG_AT91_GPIO_PULLUP        1       /* keep pullups on peripheral pins */
-
 #define CONFIG_USART_BASE              ATMEL_BASE_DBGU
 #define CONFIG_USART_ID                        ATMEL_ID_SYS
 
 #define CONFIG_SYS_NAND_READY_PIN      AT91_PIN_PC13
 #endif
 
-/* Ethernet */
-#define CONFIG_RMII
-#define CONFIG_AT91_WANTS_COMMON_PHY
-
 /* USB */
 #if defined(CONFIG_BOARD_TAURUS)
 #define CONFIG_USB_ATMEL
index 6e31bd5ddb6086fd6ed7241c2fa3c920e2b8644a..290b5eba2638ad8315320373240d211ba16c6278 100644 (file)
 #define ETH0_BASE_ADDRESS              0xFE100000
 #define ETH1_BASE_ADDRESS              0xFE110000
 
-/*
- * Environment configuration
- */
-#define CONFIG_BOOTFILE                        "uImage"
-
 /*
  * Console configuration
  */
index 54e65f29f1eb359fd8c842dd035373292609acb6..1a62ddf45dbcf10a482ff42dbebe5a7289254b7d 100644 (file)
@@ -9,7 +9,6 @@
 
 #include "ls1088a_common.h"
 
-#define CONFIG_SYS_CLK_FREQ            100000000
 #define COUNTER_FREQUENCY              25000000        /* 25MHz */
 
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
index 3d770f88bdeb92d79157d95c544991ec45ed4ce7..d07a8fe86bc60441e68ab5e982f24c8cdbcfba19 100644 (file)
@@ -33,9 +33,6 @@
 #define CONFIG_SYS_SERIAL0             0x87e024000000
 #define CONFIG_SYS_SERIAL1             0x87e025000000
 
-/* BOOTP options */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /* Miscellaneous configurable options */
 
 /* Physical Memory Map */
index 0f786abeb84037dad2e0398bfc024954d64ff6ec..95434aa5169b0026bb82541fd55fb9f274e74c21 100644 (file)
  */
 
 /* Ethernet */
-#define CONFIG_NET_RETRY_COUNT         10
 #define CONFIG_PHY_ET1011C_TX_CLK_FIX
 
 #endif /* ! __CONFIG_TI814X_EVM_H */
index 533673ba5d37a7ff072c38a04920eca86ad3c289..05f787473a5cccb33bdccc7ed4fb3ef7b6a900d0 100644 (file)
@@ -68,8 +68,6 @@
 #define CONFIG_SPL_MAX_SIZE            (SRAM_SCRATCH_SPACE_ADDR - \
                                         CONFIG_SPL_TEXT_BASE)
 
-#define CONFIG_NET_RETRY_COUNT 10
-
 /* Since SPL did pll and ddr initialization for us,
  * we don't need to do it twice.
  */
index 10da1238134292803c173bfe1f17b7519331d80c..f8bd5558e56af2213ff9fc48ad02cc2f0e1ce9fb 100644 (file)
 #endif
 #define CONFIG_SYS_NS16550_CLK         48000000
 
-#ifndef CONFIG_SPL_BUILD
-/* Network defines. */
-#define CONFIG_NET_RETRY_COUNT         10
-#endif
-
 /*
  * SPL related defines.  The Public RAM memory map the ROM defines the
  * area between 0x402F0400 and 0x4030B800 as a download area and
index 0243016fcde620dc39abe31caf4d8420d2cf3898..57f013cbf846dd422f9a615e42ca68c59b64a73e 100644 (file)
@@ -63,7 +63,6 @@
 #define CONFIG_SYS_SPI_CLK             ks_clk_get_rate(KS2_CLK1_6)
 
 /* Network Configuration */
-#define CONFIG_NET_RETRY_COUNT         32
 #define CONFIG_SYS_SGMII_REFCLK_MHZ    312
 #define CONFIG_SYS_SGMII_LINERATE_MHZ  1250
 #define CONFIG_SYS_SGMII_RATESCALE     2
index 633b100002f8e6dba5e411339be2df7de46fd56d..c11e5c1d88b566a538a247200056f136595125ae 100644 (file)
@@ -57,8 +57,6 @@
 
 #define IMX_FEC_BASE                   ENET_BASE_ADDR
 
-#define CONFIG_ARP_TIMEOUT             200UL
-
 #if defined(CONFIG_TQMA6X_MMC_BOOT)
 
 #define TQMA6_UBOOT_OFFSET             SZ_1K
index a19ea351c27312d6947897b56394e600e0139e04..899c218727f363f5c7939895ed1815966756fead 100644 (file)
@@ -9,9 +9,6 @@
 #ifndef __CONFIG_TQMA6_MBA6_H
 #define __CONFIG_TQMA6_MBA6_H
 
-#define CONFIG_FEC_XCV_TYPE            RGMII
-#define CONFIG_ETHPRIME                        "FEC"
-
 #define CONFIG_FEC_MXC_PHYADDR         0x03
 
 #define CONFIG_MXC_UART_BASE           UART2_BASE
index e68e96de181e5ff554fc55ef79c177597269086a..90db96599c1ba59e3842f8e9afd04e8121ca40f7 100644 (file)
@@ -7,8 +7,6 @@
 #define __CONFIG_TQMA6_WRU4_H
 
 /* Ethernet */
-#define CONFIG_FEC_XCV_TYPE            RMII
-#define CONFIG_ETHPRIME                        "FEC"
 #define CONFIG_FEC_MXC_PHYADDR         0x01
 
 /* UART */
index 3cfad7cca985d0908eb207c3a871a2cd9a70bbca..dc2fdcc654a734458ab6d49d841cfde8594f96b1 100644 (file)
@@ -21,9 +21,6 @@
                                          4000000, 4500000, 5000000, 5500000, \
                                          6000000 }
 
-#define CONFIG_ARP_TIMEOUT             200
-#define CONFIG_NET_RETRY_COUNT         50
-
 #define CONFIG_USB_MAX_CONTROLLER_COUNT        6
 
 #define BOOT_TARGET_DEVICES(func) \
index ca79b0352ad51c2cecb0bcfc7f15908bb57a1ced..57e6863cc43e32d94c2dd39dc94beceacfc2de40 100644 (file)
@@ -19,7 +19,6 @@
 
 /* Environment in eMMC, at the end of 2nd "boot sector" */
 
-#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
 #define CONFIG_FLASH_SHOW_PROGRESS     45
 #define CONFIG_SYS_FLASH_QUIET_TEST
 #define CONFIG_SYS_FLASH_BANKS_LIST    { 0x08000000 }
index c9d3c2dd0648b98a701d330ee34aebb72b1a0572..834943a4fd59dad449766a9f2508ca4c3493f375 100644 (file)
@@ -79,7 +79,6 @@
 #define CONFIG_ROOTPATH                        "/nfs/root/path"
 
 #ifdef CONFIG_FIT
-#define CONFIG_BOOTFILE                        "fitImage"
 #define KERNEL_ADDR_R_OFFSET           "0x05100000"
 #define LINUXBOOT_ENV_SETTINGS \
        "tftpboot=tftpboot $kernel_addr_r $bootfile &&" \
        "__nfsboot=run tftpboot\0"
 #else
 #ifdef CONFIG_ARM64
-#define CONFIG_BOOTFILE                        "Image"
 #define LINUXBOOT_CMD                  "booti"
 #define KERNEL_ADDR_R_OFFSET           "0x02080000"
 #else
-#define CONFIG_BOOTFILE                        "zImage"
 #define LINUXBOOT_CMD                  "bootz"
 #define KERNEL_ADDR_R_OFFSET           "0x00208000"
 #endif
index ffa69009a128ebf1140a2586d823083e43ccbe0e..2b6078a1cc9a71c4ecb7c33f432b009c4cd954fd 100644 (file)
 /*
  * Hardware drivers
  */
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
 
 /* SDRAM */
 #define CONFIG_SYS_SDRAM_BASE          ATMEL_BASE_CS1
 #define CONFIG_SYS_NAND_READY_PIN              GPIO_PIN_PA(22)
 #endif
 
-/* Ethernet */
-#define CONFIG_RMII
-#define CONFIG_NET_RETRY_COUNT                 20
-#define CONFIG_AT91_WANTS_COMMON_PHY
-
 /* USB */
 #ifdef CONFIG_CMD_USB
 #define CONFIG_USB_ATMEL
index 17583c0a6af623f3335bfc05d41591e5f8690616..de84e3b66350968b44560daf1342be45f98b61a1 100644 (file)
 #define CONFIG_SYS_FSL_ESDHC_ADDR      0
 
 /* ENET */
-#define CONFIG_ETHPRIME                 "FEC"
-#define CONFIG_FEC_XCV_TYPE             RGMII
 #define CONFIG_FEC_MXC_PHYADDR          7
 #define FEC_QUIRK_ENET_MAC
 #define IMX_FEC_BASE                   0x30BE0000
index f8b4bf2df9b65c603c8d0dcb00c4b6e6eb40bc0b..9a7dedf1ea57f29de5d05d8a049445ec6a3b5cdc 100644 (file)
@@ -16,7 +16,6 @@
 
 #ifdef CONFIG_SPL_BUILD
 /*#define CONFIG_ENABLE_DDR_TRAINING_DEBUG*/
-#define CONFIG_SPL_LDSCRIPT            "arch/arm/cpu/armv8/u-boot-spl.lds"
 #define CONFIG_SPL_STACK               0x960000
 #define CONFIG_SPL_BSS_START_ADDR      0x0098fc00
 #define CONFIG_SPL_BSS_MAX_SIZE                SZ_1K
 #define CONFIG_POWER_PCA9450
 
 #define CONFIG_SYS_I2C
-#define CONFIG_SYS_I2C_SPEED           100000
 #endif /* CONFIG_SPL_BUILD */
 
-#define CONFIG_REMAKE_ELF
-
 /* ENET Config */
 /* ENET1 */
 #if defined(CONFIG_CMD_NET)
-#define CONFIG_ETHPRIME                        "eth0" /* eqos is aliased on-module Ethernet interface */
-
-#define CONFIG_FEC_XCV_TYPE            RGMII
 #define CONFIG_FEC_MXC_PHYADDR         7
 #define FEC_QUIRK_ENET_MAC
 
index f0c5ceb3849a5c85483dc2b616f94ffb5d86c203..b956bd9147800568d0ea96f615fbd8ae8fbe0584 100644 (file)
@@ -99,9 +99,6 @@
 #define CONFIG_PL011_CLOCK             24000000
 #endif
 
-/* BOOTP options */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /* Miscellaneous configurable options */
 
 /* Physical Memory Map */
index 5f119aeb3df0c4096b089bce4f78b16f7b896075..4b958b449044e130a2a1e2d141d10d941521d4b0 100644 (file)
 
 #define CONFIG_SYS_MMC_MAX_BLK_COUNT   127
 
-/* BOOTP options */
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /* Miscellaneous configurable options */
 #define LINUX_BOOT_PARAM_ADDR          (V2M_BASE + 0x2000)
 
index d90c2fa053453a0253c4d6482327bfdf08320884..ebae8223fe2cfa7bc48955e87f5c73cc5fd47ac2 100644 (file)
@@ -24,7 +24,6 @@
 #define CONFIG_SYS_FSL_ESDHC_NUM       1
 
 #define IMX_FEC_BASE                   ENET_BASE_ADDR
-#define CONFIG_FEC_XCV_TYPE            RMII
 #define CONFIG_FEC_MXC_PHYADDR          0
 
 /* I2C Configs */
index 7bd48820ed336adbf47069ed516720e20e0fd6e7..74eccfa2e64412150317d8e7751d56c193d2acb9 100644 (file)
 #define CONFIG_SYS_INIT_SP_ADDR \
        (CONFIG_SYS_SDRAM_BASE + 4 * 1024 - GENERATED_GBL_DATA_SIZE)
 
-/* SerialFlash */
-
-#ifdef CONFIG_CMD_SF
-#define CONFIG_ATMEL_SPI0
-#endif
-
 /* MMC */
 
 #ifdef CONFIG_CMD_MMC
@@ -49,8 +43,6 @@
 /* USB device */
 
 /* Ethernet Hardware */
-#define CONFIG_RMII
-#define CONFIG_NET_RETRY_COUNT         20
 #define CONFIG_MACB_SEARCH_PHY
 
 #ifdef CONFIG_SPI_BOOT
index dcdaffc09b60380410f75d164a4f75d92f4080b2..e101739858facf020a60fb93285be53c1629677a 100644 (file)
@@ -47,9 +47,6 @@
 #define IMX_FEC_BASE                   ENET_BASE_ADDR
 #define CONFIG_FEC_MXC_PHYADDR          0x0
 
-#define CONFIG_FEC_XCV_TYPE             RMII
-#define CONFIG_ETHPRIME                 "FEC"
-
 #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
 #define CONFIG_MXC_USB_PORTSC  (PORT_PTS_UTMI | PORT_PTS_PTW)
 #define CONFIG_MXC_USB_FLAGS   0
index a43fd81e45db2ef31c2a301125fbed6cce676376..332453759791e4300796ee3d92147a152f8fd6e0 100644 (file)
 #define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_SDRAM_BASE + SZ_512K \
                                         - GENERATED_GBL_DATA_SIZE)
 
-/*
- * Ethernet Driver
- */
-
-#define CONFIG_LPC32XX_ETH
-#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-/* FIXME: remove "Waiting for PHY auto negotiation to complete..." message */
-
 #define CONFIG_RTC_DS1374
 
 /*
  * Environment
  */
 
-/*
- * Boot Linux
- */
-
-#define CONFIG_BOOTFILE                        "uImage"
-
 /*
  * SPL
  */
index 0efc7156a6ddb8c47425c1da5d69b27df3473fee..b45d2bbd62663f738765cc0ff829a5541dea610a 100644 (file)
@@ -24,7 +24,6 @@
 #define CONFIG_PCI_IO_PHYS     CONFIG_PCI_IO_BUS
 #define CONFIG_PCI_IO_SIZE     0xefff
 
-#define CONFIG_BIOSEMU
 #define VIDEO_IO_OFFSET                                0
 #define CONFIG_X86EMU_RAW_IO
 
index 394978b9d905d78658ec3816e5a9f1b9b35e072c..15fa864938493b2db4900033b0b5bb3ecdd56ed8 100644 (file)
  * USB configuration
  */
 
-#define CONFIG_BOOTP_BOOTFILESIZE
-
 /* Default environment */
 #define CONFIG_ROOTPATH                "/opt/nfsroot"
 #define CONFIG_HOSTNAME                "x86"
-#define CONFIG_BOOTFILE                "bzImage"
 #define CONFIG_RAMDISK_ADDR    0x4000000
 #if defined(CONFIG_GENERATE_ACPI_TABLE) || defined(CONFIG_EFI_STUB)
 #define CONFIG_OTHBOOTARGS     "othbootargs=\0"
index acaf81dedeb234e0033a7ee96f11b391c12075c4..01942eaf2ba5cd37c5a9e0a2024693a15e71fb82 100644 (file)
 #define PHYS_SDRAM_1_SIZE              0x10000000      /* Max 256 MB RAM */
 #define CONFIG_SYS_SDRAM_BASE          PHYS_SDRAM_1
 
-/* Environment */
-
-/* Booting Linux */
-#define CONFIG_BOOTFILE                "uImage"
-
 /* Extra Environment */
 #define CONFIG_HOSTNAME                "xea"
 
index bc72f5f35ffbea86b4ded20bfa3ee8ccf05e245c..19e09e3cafa2d3ea2a846ffa82f6e92f46c1eff1 100644 (file)
@@ -10,8 +10,6 @@
 #ifndef __XILINX_VERSAL_H
 #define __XILINX_VERSAL_H
 
-/* #define CONFIG_ARMV8_SWITCH_TO_EL1 */
-
 /* Generic Interrupt Controller Definitions */
 #define GICD_BASE      0xF9000000
 #define GICR_BASE      0xF9080000
 #define CONFIG_SYS_BAUDRATE_TABLE \
        { 4800, 9600, 19200, 38400, 57600, 115200 }
 
-/* BOOTP options */
-#define CONFIG_BOOTP_BOOTFILESIZE
-#define CONFIG_BOOTP_MAY_FAIL
-
 /* Miscellaneous configurable options */
 
 /* Monitor Command Prompt */
@@ -46,7 +40,6 @@
 
 /* Ethernet driver */
 #if defined(CONFIG_ZYNQ_GEM)
-# define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 # define PHY_ANEG_TIMEOUT       20000
 #endif
 
index 00c97188198501a99324ec904fc78e509fbbcc4e..a94ab1fd2074c7c2664263e827886efe193eac50 100644 (file)
 /* Undef unneeded configs */
 #undef CONFIG_EXTRA_ENV_SETTINGS
 
-/* BOOTP options */
-#undef CONFIG_BOOTP_BOOTFILESIZE
-#undef CONFIG_BOOTP_MAY_FAIL
-
 #undef CONFIG_SYS_CBSIZE
 #define CONFIG_SYS_CBSIZE              1024
 
index e51d92ffe4e5d53fe3307613de23fed33713810e..494a7c4b0017345e516f7af08bb740b21b09e16a 100644 (file)
@@ -10,8 +10,6 @@
 #ifndef __XILINX_ZYNQMP_H
 #define __XILINX_ZYNQMP_H
 
-/* #define CONFIG_ARMV8_SWITCH_TO_EL1 */
-
 /* Generic Interrupt Controller Definitions */
 #define GICD_BASE      0xF9010000
 #define GICC_BASE      0xF9020000
 #define CONFIG_SYS_BAUDRATE_TABLE \
        { 4800, 9600, 19200, 38400, 57600, 115200 }
 
-/* BOOTP options */
-#define CONFIG_BOOTP_BOOTFILESIZE
-#define CONFIG_BOOTP_MAY_FAIL
-
 #ifdef CONFIG_NAND_ARASAN
 # define CONFIG_SYS_MAX_NAND_DEVICE    1
 #endif
@@ -61,7 +55,6 @@
 
 /* Ethernet driver */
 #if defined(CONFIG_ZYNQ_GEM)
-# define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 # define PHY_ANEG_TIMEOUT       20000
 #endif
 
index c3c8b4cbf90fdbdcdcd80848b6942f7b3d94401f..baef561c0b5d228f9375afb6ada6caf819b65e57 100644 (file)
@@ -18,9 +18,6 @@
 #undef CONFIG_EXTRA_ENV_SETTINGS
 #undef CONFIG_SYS_INIT_SP_ADDR
 
-/* BOOTP options */
-#undef CONFIG_BOOTP_BOOTFILESIZE
-#undef CONFIG_BOOTP_MAY_FAIL
 #undef CONFIG_SYS_CBSIZE
 #define CONFIG_SYS_CBSIZE              1024
 
index 6d621f24bdd6dd6bc9fbb2997943102314fdea15..13cfa2cd4bdfb4818ab2d0d5f573e6730bbdfeb5 100644 (file)
@@ -45,8 +45,6 @@
 #define CONFIG_FEC_ENET_DEV            0
 #define IMX_FEC_BASE                   ENET_BASE_ADDR
 #define CONFIG_FEC_MXC_PHYADDR          0x0
-#define CONFIG_FEC_XCV_TYPE             RMII
-#define CONFIG_ETHPRIME                        "FEC"
 
 #define CONFIG_UBOOT_SECTOR_START      0x2
 #define CONFIG_UBOOT_SECTOR_COUNT      0x3fe
index 8c2cdb5cbdd8f45d166f61908b4a9cbd68eee879..c8cae598a3a1e7906d85b0aa29d60c603240b6b9 100644 (file)
@@ -97,9 +97,6 @@
 /* U-Boot general configuration */
 /*==============================*/
 
-#define CONFIG_BOARD_POSTCLK_INIT
-
-#define CONFIG_BOOTFILE                        "uImage"
        /* Console I/O Buffer Size  */
 #define CONFIG_SYS_CBSIZE              1024
        /* Boot Argument Buffer Size */
index 780952cf5f631444d6d4f92e47687fcb298f421b..06b85b26a9da8cf5e4eb6d89534076ee629303f7 100644 (file)
        {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
 
 /* Ethernet driver */
-#if defined(CONFIG_ZYNQ_GEM)
-# define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-# define CONFIG_BOOTP_MAY_FAIL
-#endif
 
 /* NOR */
 #ifdef CONFIG_MTD_NOR_FLASH
index 02002acb787cda9861eb5842c5e7cc87cd0dcc29..c420726287ee2891fa5432dcb51a20f59f23f0d8 100644 (file)
@@ -10,6 +10,7 @@
 #ifndef _DM_DEVICE_INTERNAL_H
 #define _DM_DEVICE_INTERNAL_H
 
+#include <event.h>
 #include <linker_lists.h>
 #include <dm/ofnode.h>
 
@@ -426,4 +427,13 @@ static inline void devres_release_all(struct udevice *dev)
 }
 
 #endif /* ! CONFIG_DEVRES */
+
+static inline int device_notify(const struct udevice *dev, enum event_t type)
+{
+#if CONFIG_IS_ENABLED(DM_EVENT)
+       return event_notify(type, &dev, sizeof(dev));
+#else
+       return 0;
+#endif
+}
 #endif
index 0cb324c8b0c12f945412920222613dec9025799f..744dffe0a2dd285362f22dfe153b3469109bd913 100644 (file)
@@ -894,6 +894,19 @@ int ofnode_read_pci_addr(ofnode node, enum fdt_pci_space type,
  */
 int ofnode_read_pci_vendev(ofnode node, u16 *vendor, u16 *device);
 
+/**
+ * ofnode_read_eth_phy_id() - look up eth phy vendor and device id
+ *
+ * Look at the compatible property of a device node that represents a eth phy
+ * device and extract phy vendor id and device id from it.
+ *
+ * @param node         node to examine
+ * @param vendor       vendor id of the eth phy device
+ * @param device       device id of the eth phy device
+ * @return 0 if ok, negative on error
+ */
+int ofnode_read_eth_phy_id(ofnode node, u16 *vendor, u16 *device);
+
 /**
  * ofnode_read_addr_cells() - Get the number of address cells for a node
  *
index 8b869c4fbfb7d87a307eb10ce5e8cd9b733ac2c0..a09b242fd9906410e26759a378d57ee9a3207821 100644 (file)
@@ -7,7 +7,7 @@
 #define __PINCTRL_H
 
 #define PINNAME_SIZE   10
-#define PINMUX_SIZE    40
+#define PINMUX_SIZE    80
 
 /**
  * struct pinconf_param - pin config parameters
@@ -453,30 +453,30 @@ struct pinctrl_ops {
  *     presented using the packed format.
  */
 enum pin_config_param {
-       PIN_CONFIG_BIAS_BUS_HOLD,
-       PIN_CONFIG_BIAS_DISABLE,
-       PIN_CONFIG_BIAS_HIGH_IMPEDANCE,
-       PIN_CONFIG_BIAS_PULL_DOWN,
-       PIN_CONFIG_BIAS_PULL_PIN_DEFAULT,
-       PIN_CONFIG_BIAS_PULL_UP,
-       PIN_CONFIG_DRIVE_OPEN_DRAIN,
-       PIN_CONFIG_DRIVE_OPEN_SOURCE,
-       PIN_CONFIG_DRIVE_PUSH_PULL,
-       PIN_CONFIG_DRIVE_STRENGTH,
-       PIN_CONFIG_DRIVE_STRENGTH_UA,
-       PIN_CONFIG_INPUT_DEBOUNCE,
-       PIN_CONFIG_INPUT_ENABLE,
-       PIN_CONFIG_INPUT_SCHMITT,
-       PIN_CONFIG_INPUT_SCHMITT_ENABLE,
-       PIN_CONFIG_LOW_POWER_MODE,
-       PIN_CONFIG_OUTPUT_ENABLE,
-       PIN_CONFIG_OUTPUT,
-       PIN_CONFIG_POWER_SOURCE,
-       PIN_CONFIG_SLEEP_HARDWARE_STATE,
-       PIN_CONFIG_SLEW_RATE,
-       PIN_CONFIG_SKEW_DELAY,
-       PIN_CONFIG_END = 0x7F,
-       PIN_CONFIG_MAX = 0xFF,
+       PIN_CONFIG_BIAS_BUS_HOLD = 0,
+       PIN_CONFIG_BIAS_DISABLE = 1,
+       PIN_CONFIG_BIAS_HIGH_IMPEDANCE = 2,
+       PIN_CONFIG_BIAS_PULL_DOWN = 3,
+       PIN_CONFIG_BIAS_PULL_PIN_DEFAULT = 4,
+       PIN_CONFIG_BIAS_PULL_UP = 5,
+       PIN_CONFIG_DRIVE_OPEN_DRAIN = 6,
+       PIN_CONFIG_DRIVE_OPEN_SOURCE = 7,
+       PIN_CONFIG_DRIVE_PUSH_PULL = 8,
+       PIN_CONFIG_DRIVE_STRENGTH = 9,
+       PIN_CONFIG_DRIVE_STRENGTH_UA = 10,
+       PIN_CONFIG_INPUT_DEBOUNCE = 11,
+       PIN_CONFIG_INPUT_ENABLE = 12,
+       PIN_CONFIG_INPUT_SCHMITT = 13,
+       PIN_CONFIG_INPUT_SCHMITT_ENABLE = 14,
+       PIN_CONFIG_LOW_POWER_MODE = 15,
+       PIN_CONFIG_OUTPUT_ENABLE = 16,
+       PIN_CONFIG_OUTPUT = 17,
+       PIN_CONFIG_POWER_SOURCE = 18,
+       PIN_CONFIG_SLEEP_HARDWARE_STATE = 19,
+       PIN_CONFIG_SLEW_RATE = 20,
+       PIN_CONFIG_SKEW_DELAY = 21,
+       PIN_CONFIG_END = 127,   /* 0x7F */
+       PIN_CONFIG_MAX = 255, /* 0xFF */
 };
 
 #if CONFIG_IS_ENABLED(PINCTRL_GENERIC)
index 21afd7f7dcff90ce02f9bbbf26fc559090177a06..7004a6fef29ba3db99909efe719b3aa567351818 100644 (file)
@@ -77,7 +77,7 @@ const char default_environment[] = {
 #ifdef CONFIG_HOSTNAME
        "hostname="     CONFIG_HOSTNAME "\0"
 #endif
-#ifdef CONFIG_BOOTFILE
+#ifdef CONFIG_USE_BOOTFILE
        "bootfile="     CONFIG_BOOTFILE                 "\0"
 #endif
 #ifdef CONFIG_SYS_LOAD_ADDR
diff --git a/include/erofs.h b/include/erofs.h
new file mode 100644 (file)
index 0000000..1fbe82b
--- /dev/null
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _EROFS_H_
+#define _EROFS_H_
+
+struct disk_partition;
+
+int erofs_opendir(const char *filename, struct fs_dir_stream **dirsp);
+int erofs_readdir(struct fs_dir_stream *dirs, struct fs_dirent **dentp);
+int erofs_probe(struct blk_desc *fs_dev_desc,
+               struct disk_partition *fs_partition);
+int erofs_read(const char *filename, void *buf, loff_t offset,
+              loff_t len, loff_t *actread);
+int erofs_size(const char *filename, loff_t *size);
+int erofs_exists(const char *filename);
+void erofs_close(void);
+void erofs_closedir(struct fs_dir_stream *dirs);
+int erofs_uuid(char *uuid_str);
+
+#endif /* _EROFS_H */
diff --git a/include/event.h b/include/event.h
new file mode 100644 (file)
index 0000000..62e72a7
--- /dev/null
@@ -0,0 +1,210 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Events provide a general-purpose way to react to / subscribe to changes
+ * within U-Boot
+ *
+ * Copyright 2021 Google LLC
+ * Written by Simon Glass <sjg@chromium.org>
+ */
+
+#ifndef __event_h
+#define __event_h
+
+/**
+ * enum event_t - Types of events supported by U-Boot
+ *
+ * @EVT_DM_PRE_PROBE: Device is about to be probed
+ */
+enum event_t {
+       EVT_NONE,
+       EVT_TEST,
+
+       /* Events related to driver model */
+       EVT_DM_POST_INIT,
+       EVT_DM_PRE_PROBE,
+       EVT_DM_POST_PROBE,
+       EVT_DM_PRE_REMOVE,
+       EVT_DM_POST_REMOVE,
+
+       /* Init hooks */
+       EVT_MISC_INIT_F,
+
+       EVT_COUNT
+};
+
+union event_data {
+       /**
+        * struct event_data_test  - test data
+        *
+        * @signal: A value to update the state with
+        */
+       struct event_data_test {
+               int signal;
+       } test;
+
+       /**
+        * struct event_dm - driver model event
+        *
+        * @dev: Device this event relates to
+        */
+       struct event_dm {
+               struct udevice *dev;
+       } dm;
+};
+
+/**
+ * struct event - an event that can be sent and received
+ *
+ * @type: Event type
+ * @data: Data for this particular event
+ */
+struct event {
+       enum event_t type;
+       union event_data data;
+};
+
+/** Function type for event handlers */
+typedef int (*event_handler_t)(void *ctx, struct event *event);
+
+/**
+ * struct evspy_info - information about an event spy
+ *
+ * @func: Function to call when the event is activated (must be first)
+ * @type: Event type
+ * @id: Event id string
+ */
+struct evspy_info {
+       event_handler_t func;
+       enum event_t type;
+#if CONFIG_IS_ENABLED(EVENT_DEBUG)
+       const char *id;
+#endif
+};
+
+/* Declare a new event spy */
+#if CONFIG_IS_ENABLED(EVENT_DEBUG)
+#define _ESPY_REC(_type, _func)   { _func, _type, #_func, }
+#else
+#define _ESPY_REC(_type, _func)   { _func, _type, }
+#endif
+
+static inline const char *event_spy_id(struct evspy_info *spy)
+{
+#if CONFIG_IS_ENABLED(EVENT_DEBUG)
+       return spy->id;
+#else
+       return "?";
+#endif
+}
+
+/*
+ * It seems that LTO will drop list entries if it decides they are not used,
+ * although the conditions that cause this are unclear.
+ *
+ * The example found is the following:
+ *
+ * static int sandbox_misc_init_f(void *ctx, struct event *event)
+ * {
+ *    return sandbox_early_getopt_check();
+ * }
+ * EVENT_SPY(EVT_MISC_INIT_F, sandbox_misc_init_f);
+ *
+ * where EVENT_SPY uses ll_entry_declare()
+ *
+ * In this case, LTO decides to drop the sandbox_misc_init_f() function
+ * (which is fine) but then drops the linker-list entry too. This means
+ * that the code no longer works, in this case sandbox no-longer checks its
+ * command-line arguments properly.
+ *
+ * Without LTO, the KEEP() command in the .lds file is enough to keep the
+ * entry around. But with LTO it seems that the entry has already been
+ * dropped before the link script is considered.
+ *
+ * The only solution I can think of is to mark linker-list entries as 'used'
+ * using an attribute. This should be safe, since we don't actually want to drop
+ * any of these. However this does slightly limit LTO's optimisation choices.
+ */
+#define EVENT_SPY(_type, _func) \
+       static __attribute__((used)) ll_entry_declare(struct evspy_info, \
+                                                     _type, evspy_info) = \
+       _ESPY_REC(_type, _func)
+
+/**
+ * event_register - register a new spy
+ *
+ * @id: Spy ID
+ * @type: Event type to subscribe to
+ * @func: Function to call when the event is sent
+ * @ctx: Context to pass to the function
+ * @return 0 if OK, -ve on error
+ */
+int event_register(const char *id, enum event_t type, event_handler_t func,
+                  void *ctx);
+
+/** event_show_spy_list( - Show a list of event spies */
+void event_show_spy_list(void);
+
+#if CONFIG_IS_ENABLED(EVENT)
+/**
+ * event_notify() - notify spies about an event
+ *
+ * It is possible to pass in union event_data here but that may not be
+ * convenient if the data is elsewhere, or is one of the members of the union.
+ * So this uses a void * for @data, with a separate @size.
+ *
+ * @type: Event type
+ * @data: Event data to be sent (e.g. union_event_data)
+ * @size: Size of data in bytes
+ * @return 0 if OK, -ve on error
+ */
+int event_notify(enum event_t type, void *data, int size);
+
+/**
+ * event_notify_null() - notify spies about an event
+ *
+ * Data is NULL and the size is 0
+ *
+ * @type: Event type
+ * @return 0 if OK, -ve on error
+ */
+int event_notify_null(enum event_t type);
+#else
+static inline int event_notify(enum event_t type, void *data, int size)
+{
+       return 0;
+}
+
+static inline int event_notify_null(enum event_t type)
+{
+       return 0;
+}
+#endif
+
+#if CONFIG_IS_ENABLED(EVENT_DYNAMIC)
+/**
+ * event_uninit() - Clean up dynamic events
+ *
+ * This removes all dynamic event handlers
+ */
+int event_uninit(void);
+
+/**
+ * event_uninit() - Set up dynamic events
+ *
+ * Init a list of dynamic event handlers, so that these can be added as
+ * needed
+ */
+int event_init(void);
+#else
+static inline int event_uninit(void)
+{
+       return 0;
+}
+
+static inline int event_init(void)
+{
+       return 0;
+}
+#endif
+
+#endif
diff --git a/include/event_internal.h b/include/event_internal.h
new file mode 100644 (file)
index 0000000..8432c6f
--- /dev/null
@@ -0,0 +1,35 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Internal definitions for events
+ *
+ * Copyright 2021 Google LLC
+ * Written by Simon Glass <sjg@chromium.org>
+ */
+
+#ifndef __event_internal_h
+#define __event_internal_h
+
+#include <event.h>
+#include <linux/list.h>
+
+/**
+ * struct event_spy - a spy that watches for an event of a particular type
+ *
+ * @id: Spy ID
+ * @type: Event type to subscribe to
+ * @func: Function to call when the event is sent
+ * @ctx: Context to pass to the function
+ */
+struct event_spy {
+       struct list_head sibling_node;
+       const char *id;
+       enum event_t type;
+       event_handler_t func;
+       void *ctx;
+};
+
+struct event_state {
+       struct list_head spy_head;
+};
+
+#endif
index c8df3886ac6ea52d92033c464081e4f1f7cbea69..b607b0028dce8a98d368a73e0a5efb92bb2698dd 100644 (file)
@@ -17,6 +17,7 @@ struct cmd_tbl;
 #define FS_TYPE_UBIFS  4
 #define FS_TYPE_BTRFS  5
 #define FS_TYPE_SQUASHFS 6
+#define FS_TYPE_EROFS   7
 
 struct blk_desc;
 
index 20c3976af09a717496aace4b5d76238fc7f5ec87..74496500d290338fded55c99e485134d847ef345 100644 (file)
@@ -45,17 +45,6 @@ void board_init_f(ulong dummy);
  */
 int arch_cpu_init(void);
 
-/**
- * arch_cpu_init_dm() - init CPU after driver model is available
- *
- * This is called immediately after driver model is available before
- * relocation. This is similar to arch_cpu_init() but is able to reference
- * devices
- *
- * Return: 0 if OK, -ve on error
- */
-int arch_cpu_init_dm(void);
-
 /**
  * mach_cpu_init() - SoC/machine dependent CPU setup
  *
@@ -217,7 +206,6 @@ int init_cache_f_r(void);
 int print_cpuinfo(void);
 #endif
 int timer_init(void);
-int misc_init_f(void);
 
 #if defined(CONFIG_DTB_RESELECT)
 int embedded_dtb_select(void);
index 08584c8f237f39640650c9b93ee794f6ba8f5b2d..eaa9fd5b9685faee28a240c032ead689f8e4e1cc 100644 (file)
@@ -48,6 +48,9 @@ static inline u64 div64_u64(u64 dividend, u64 divisor)
        return dividend / divisor;
 }
 
+#define DIV64_U64_ROUND_UP(ll, d)      \
+       ({ u64 _tmp = (d); div64_u64((ll) + _tmp - 1, _tmp); })
+
 /**
  * div64_s64 - signed 64bit divide with 64bit divisor
  */
index ce48d51446f5fa79fc84adc338f3129f141bd6af..8f35c10abb5e28f9c46793e581cc0abbcee0ca03 100644 (file)
@@ -98,6 +98,8 @@ enum log_category_t {
        LOGC_ACPI,
        /** @LOGC_BOOT: Related to boot process / boot image processing */
        LOGC_BOOT,
+       /** @LOGC_EVENT: Related to event and event handling */
+       LOGC_EVENT,
        /** @LOGC_COUNT: Number of log categories */
        LOGC_COUNT,
        /** @LOGC_END: Sentinel value for lists of log categories */
index b02e4f630c012883044175b2160629c4f7a1b867..675bf4171b177603d4e35141550b6fd3f22daafa 100644 (file)
@@ -35,13 +35,7 @@ struct udevice;
  *     alignment in memory.
  *
  */
-
-#ifdef CONFIG_SYS_RX_ETH_BUFFER
-# define PKTBUFSRX     CONFIG_SYS_RX_ETH_BUFFER
-#else
-# define PKTBUFSRX     4
-#endif
-
+#define PKTBUFSRX      CONFIG_SYS_RX_ETH_BUFFER
 #define PKTALIGN       ARCH_DMA_MINALIGN
 
 /* Number of packets processed together */
index 673c95c6bb7908309c0a1475710b99b01338bf24..5dbdcb0672a5e712da60699761f6e6151f42b6ec 100644 (file)
 #define PCI_CLASS_PROG         0x09    /* Reg. Level Programming Interface */
 #define PCI_CLASS_DEVICE       0x0a    /* Device class */
 #define PCI_CLASS_CODE         0x0b    /* Device class code */
-#define  PCI_CLASS_CODE_TOO_OLD        0x00
-#define  PCI_CLASS_CODE_STORAGE 0x01
-#define  PCI_CLASS_CODE_NETWORK 0x02
-#define  PCI_CLASS_CODE_DISPLAY        0x03
-#define  PCI_CLASS_CODE_MULTIMEDIA 0x04
-#define  PCI_CLASS_CODE_MEMORY 0x05
-#define  PCI_CLASS_CODE_BRIDGE 0x06
-#define  PCI_CLASS_CODE_COMM   0x07
-#define  PCI_CLASS_CODE_PERIPHERAL 0x08
-#define  PCI_CLASS_CODE_INPUT  0x09
-#define  PCI_CLASS_CODE_DOCKING        0x0A
-#define  PCI_CLASS_CODE_PROCESSOR 0x0B
-#define  PCI_CLASS_CODE_SERIAL 0x0C
-#define  PCI_CLASS_CODE_WIRELESS 0x0D
-#define  PCI_CLASS_CODE_I2O    0x0E
-#define  PCI_CLASS_CODE_SATELLITE 0x0F
-#define  PCI_CLASS_CODE_CRYPTO 0x10
-#define  PCI_CLASS_CODE_DATA   0x11
-/* Base Class 0x12 - 0xFE is reserved */
-#define  PCI_CLASS_CODE_OTHER  0xFF
-
 #define PCI_CLASS_SUB_CODE     0x0a    /* Device sub-class code */
-#define  PCI_CLASS_SUB_CODE_TOO_OLD_NOTVGA     0x00
-#define  PCI_CLASS_SUB_CODE_TOO_OLD_VGA                0x01
-#define  PCI_CLASS_SUB_CODE_STORAGE_SCSI       0x00
-#define  PCI_CLASS_SUB_CODE_STORAGE_IDE                0x01
-#define  PCI_CLASS_SUB_CODE_STORAGE_FLOPPY     0x02
-#define  PCI_CLASS_SUB_CODE_STORAGE_IPIBUS     0x03
-#define  PCI_CLASS_SUB_CODE_STORAGE_RAID       0x04
-#define  PCI_CLASS_SUB_CODE_STORAGE_ATA                0x05
-#define  PCI_CLASS_SUB_CODE_STORAGE_SATA       0x06
-#define  PCI_CLASS_SUB_CODE_STORAGE_SAS                0x07
-#define  PCI_CLASS_SUB_CODE_STORAGE_OTHER      0x80
-#define  PCI_CLASS_SUB_CODE_NETWORK_ETHERNET   0x00
-#define  PCI_CLASS_SUB_CODE_NETWORK_TOKENRING  0x01
-#define  PCI_CLASS_SUB_CODE_NETWORK_FDDI       0x02
-#define  PCI_CLASS_SUB_CODE_NETWORK_ATM                0x03
-#define  PCI_CLASS_SUB_CODE_NETWORK_ISDN       0x04
-#define  PCI_CLASS_SUB_CODE_NETWORK_WORLDFIP   0x05
-#define  PCI_CLASS_SUB_CODE_NETWORK_PICMG      0x06
-#define  PCI_CLASS_SUB_CODE_NETWORK_OTHER      0x80
-#define  PCI_CLASS_SUB_CODE_DISPLAY_VGA                0x00
-#define  PCI_CLASS_SUB_CODE_DISPLAY_XGA                0x01
-#define  PCI_CLASS_SUB_CODE_DISPLAY_3D         0x02
-#define  PCI_CLASS_SUB_CODE_DISPLAY_OTHER      0x80
-#define  PCI_CLASS_SUB_CODE_MULTIMEDIA_VIDEO   0x00
-#define  PCI_CLASS_SUB_CODE_MULTIMEDIA_AUDIO   0x01
-#define  PCI_CLASS_SUB_CODE_MULTIMEDIA_PHONE   0x02
-#define  PCI_CLASS_SUB_CODE_MULTIMEDIA_OTHER   0x80
-#define  PCI_CLASS_SUB_CODE_MEMORY_RAM         0x00
-#define  PCI_CLASS_SUB_CODE_MEMORY_FLASH       0x01
-#define  PCI_CLASS_SUB_CODE_MEMORY_OTHER       0x80
-#define  PCI_CLASS_SUB_CODE_BRIDGE_HOST                0x00
-#define  PCI_CLASS_SUB_CODE_BRIDGE_ISA         0x01
-#define  PCI_CLASS_SUB_CODE_BRIDGE_EISA                0x02
-#define  PCI_CLASS_SUB_CODE_BRIDGE_MCA         0x03
-#define  PCI_CLASS_SUB_CODE_BRIDGE_PCI         0x04
-#define  PCI_CLASS_SUB_CODE_BRIDGE_PCMCIA      0x05
-#define  PCI_CLASS_SUB_CODE_BRIDGE_NUBUS       0x06
-#define  PCI_CLASS_SUB_CODE_BRIDGE_CARDBUS     0x07
-#define  PCI_CLASS_SUB_CODE_BRIDGE_RACEWAY     0x08
-#define  PCI_CLASS_SUB_CODE_BRIDGE_SEMI_PCI    0x09
-#define  PCI_CLASS_SUB_CODE_BRIDGE_INFINIBAND  0x0A
-#define  PCI_CLASS_SUB_CODE_BRIDGE_OTHER       0x80
-#define  PCI_CLASS_SUB_CODE_COMM_SERIAL                0x00
-#define  PCI_CLASS_SUB_CODE_COMM_PARALLEL      0x01
-#define  PCI_CLASS_SUB_CODE_COMM_MULTIPORT     0x02
-#define  PCI_CLASS_SUB_CODE_COMM_MODEM         0x03
-#define  PCI_CLASS_SUB_CODE_COMM_GPIB          0x04
-#define  PCI_CLASS_SUB_CODE_COMM_SMARTCARD     0x05
-#define  PCI_CLASS_SUB_CODE_COMM_OTHER         0x80
-#define  PCI_CLASS_SUB_CODE_PERIPHERAL_PIC     0x00
-#define  PCI_CLASS_SUB_CODE_PERIPHERAL_DMA     0x01
-#define  PCI_CLASS_SUB_CODE_PERIPHERAL_TIMER   0x02
-#define  PCI_CLASS_SUB_CODE_PERIPHERAL_RTC     0x03
-#define  PCI_CLASS_SUB_CODE_PERIPHERAL_HOTPLUG 0x04
-#define  PCI_CLASS_SUB_CODE_PERIPHERAL_SD      0x05
-#define  PCI_CLASS_SUB_CODE_PERIPHERAL_OTHER   0x80
-#define  PCI_CLASS_SUB_CODE_INPUT_KEYBOARD     0x00
-#define  PCI_CLASS_SUB_CODE_INPUT_DIGITIZER    0x01
-#define  PCI_CLASS_SUB_CODE_INPUT_MOUSE                0x02
-#define  PCI_CLASS_SUB_CODE_INPUT_SCANNER      0x03
-#define  PCI_CLASS_SUB_CODE_INPUT_GAMEPORT     0x04
-#define  PCI_CLASS_SUB_CODE_INPUT_OTHER                0x80
-#define  PCI_CLASS_SUB_CODE_DOCKING_GENERIC    0x00
-#define  PCI_CLASS_SUB_CODE_DOCKING_OTHER      0x80
-#define  PCI_CLASS_SUB_CODE_PROCESSOR_386      0x00
-#define  PCI_CLASS_SUB_CODE_PROCESSOR_486      0x01
-#define  PCI_CLASS_SUB_CODE_PROCESSOR_PENTIUM  0x02
-#define  PCI_CLASS_SUB_CODE_PROCESSOR_ALPHA    0x10
-#define  PCI_CLASS_SUB_CODE_PROCESSOR_POWERPC  0x20
-#define  PCI_CLASS_SUB_CODE_PROCESSOR_MIPS     0x30
-#define  PCI_CLASS_SUB_CODE_PROCESSOR_COPROC   0x40
-#define  PCI_CLASS_SUB_CODE_SERIAL_1394                0x00
-#define  PCI_CLASS_SUB_CODE_SERIAL_ACCESSBUS   0x01
-#define  PCI_CLASS_SUB_CODE_SERIAL_SSA         0x02
-#define  PCI_CLASS_SUB_CODE_SERIAL_USB         0x03
-#define  PCI_CLASS_SUB_CODE_SERIAL_FIBRECHAN   0x04
-#define  PCI_CLASS_SUB_CODE_SERIAL_SMBUS       0x05
-#define  PCI_CLASS_SUB_CODE_SERIAL_INFINIBAND  0x06
-#define  PCI_CLASS_SUB_CODE_SERIAL_IPMI                0x07
-#define  PCI_CLASS_SUB_CODE_SERIAL_SERCOS      0x08
-#define  PCI_CLASS_SUB_CODE_SERIAL_CANBUS      0x09
-#define  PCI_CLASS_SUB_CODE_WIRELESS_IRDA      0x00
-#define  PCI_CLASS_SUB_CODE_WIRELESS_IR                0x01
-#define  PCI_CLASS_SUB_CODE_WIRELESS_RF                0x10
-#define  PCI_CLASS_SUB_CODE_WIRELESS_BLUETOOTH 0x11
-#define  PCI_CLASS_SUB_CODE_WIRELESS_BROADBAND 0x12
-#define  PCI_CLASS_SUB_CODE_WIRELESS_80211A    0x20
-#define  PCI_CLASS_SUB_CODE_WIRELESS_80211B    0x21
-#define  PCI_CLASS_SUB_CODE_WIRELESS_OTHER     0x80
-#define  PCI_CLASS_SUB_CODE_I2O_V1_0           0x00
-#define  PCI_CLASS_SUB_CODE_SATELLITE_TV       0x01
-#define  PCI_CLASS_SUB_CODE_SATELLITE_AUDIO    0x02
-#define  PCI_CLASS_SUB_CODE_SATELLITE_VOICE    0x03
-#define  PCI_CLASS_SUB_CODE_SATELLITE_DATA     0x04
-#define  PCI_CLASS_SUB_CODE_CRYPTO_NETWORK     0x00
-#define  PCI_CLASS_SUB_CODE_CRYPTO_ENTERTAINMENT 0x10
-#define  PCI_CLASS_SUB_CODE_CRYPTO_OTHER       0x80
-#define  PCI_CLASS_SUB_CODE_DATA_DPIO          0x00
-#define  PCI_CLASS_SUB_CODE_DATA_PERFCNTR      0x01
-#define  PCI_CLASS_SUB_CODE_DATA_COMMSYNC      0x10
-#define  PCI_CLASS_SUB_CODE_DATA_MGMT          0x20
-#define  PCI_CLASS_SUB_CODE_DATA_OTHER         0x80
 
 #define PCI_CACHE_LINE_SIZE    0x0c    /* 8 bits */
 #define PCI_LATENCY_TIMER      0x0d    /* 8 bits */
index 3c5434c0eda89590906cba1306d774ef63394d66..88b0a640458537da86ab4fc8e5423c4df1bb46df 100644 (file)
@@ -55,6 +55,8 @@
 #define PCI_CLASS_BRIDGE_EISA          0x0602
 #define PCI_CLASS_BRIDGE_MC            0x0603
 #define PCI_CLASS_BRIDGE_PCI           0x0604
+#define PCI_CLASS_BRIDGE_PCI_NORMAL            0x060400
+#define PCI_CLASS_BRIDGE_PCI_SUBTRACTIVE       0x060401
 #define PCI_CLASS_BRIDGE_PCMCIA                0x0605
 #define PCI_CLASS_BRIDGE_NUBUS         0x0606
 #define PCI_CLASS_BRIDGE_CARDBUS       0x0607
index c66fd43ea887d5b4ab6a20ac624b7df6f2afdb78..9ea4bd42db4de6a71ee6efcbb21ffb629b0368fc 100644 (file)
@@ -454,6 +454,32 @@ void phy_connect_dev(struct phy_device *phydev, struct udevice *dev);
 struct phy_device *phy_connect(struct mii_dev *bus, int addr,
                                struct udevice *dev,
                                phy_interface_t interface);
+/**
+ * phy_device_create() - Create a PHY device
+ *
+ * @bus:               MII/MDIO bus that hosts the PHY
+ * @addr:              PHY address on MDIO bus
+ * @phy_id:            where to store the ID retrieved
+ * @is_c45:            Device Identifiers if is_c45
+ * @interface:         interface between the MAC and PHY
+ * @return: pointer to phy_device if a PHY is found, or NULL otherwise
+ */
+struct phy_device *phy_device_create(struct mii_dev *bus, int addr,
+                                    u32 phy_id, bool is_c45,
+                                    phy_interface_t interface);
+
+/**
+ * phy_connect_phy_id() - Connect to phy device by reading PHY id
+ *                       from phy node.
+ *
+ * @bus:               MII/MDIO bus that hosts the PHY
+ * @dev:               Ethernet device to associate to the PHY
+ * @interface:         Interface between the MAC and PHY
+ * @return:            pointer to phy_device if a PHY is found,
+ *                     or NULL otherwise
+ */
+struct phy_device *phy_connect_phy_id(struct mii_dev *bus, struct udevice *dev,
+                                     phy_interface_t interface);
 
 static inline ofnode phy_get_ofnode(struct phy_device *phydev)
 {
index f4383ed7784e6c88a3ab79915b66dadacbfa8235..278f2549bfca971e9b54c817a7ab566dfbb6e02a 100644 (file)
@@ -18,6 +18,11 @@ enum {
        PFUZE100_REVID          = 0x03,
        PFUZE100_FABID          = 0x04,
 
+       PFUZE100_MEMA           = 0x1c,
+       PFUZE100_MEMB           = 0x1d,
+       PFUZE100_MEMC           = 0x1e,
+       PFUZE100_MEMD           = 0x1f,
+
        PFUZE100_SW1ABVOL       = 0x20,
        PFUZE100_SW1ABSTBY      = 0x21,
        PFUZE100_SW1ABOFF       = 0x22,
index 5015c06be99a25276600fca82591c33c7cb52e23..18bcd48a9d4300be31561dc5a83ca884c92e24bc 100644 (file)
@@ -51,7 +51,7 @@ struct scmi_msg {
  * Caller sets scmi_msg::out_msg_sz to the output message buffer size.
  * On return, scmi_msg::out_msg_sz stores the response payload size.
  *
- * @dev:       SCMI agent device
+ * @dev:       SCMI device
  * @msg:       Message structure reference
  * Return: 0 on success and a negative errno on failure
  */
index ef26e721762b32c824b13c675f3736a9f4a16e1e..a220cb2a91ad5955404fcb73cbb8c01674a86fe4 100644 (file)
@@ -40,22 +40,65 @@ enum scmi_status_code {
        SCMI_PROTOCOL_ERROR = -10,
 };
 
+/*
+ * Generic message IDs
+ */
+enum scmi_discovery_id {
+       SCMI_PROTOCOL_VERSION = 0x0,
+       SCMI_PROTOCOL_ATTRIBUTES = 0x1,
+       SCMI_PROTOCOL_MESSAGE_ATTRIBUTES = 0x2,
+};
+
 /*
  * SCMI Clock Protocol
  */
 
 enum scmi_clock_message_id {
+       SCMI_CLOCK_ATTRIBUTES = 0x3,
        SCMI_CLOCK_RATE_SET = 0x5,
        SCMI_CLOCK_RATE_GET = 0x6,
        SCMI_CLOCK_CONFIG_SET = 0x7,
 };
 
+#define SCMI_CLK_PROTO_ATTR_COUNT_MASK GENMASK(15, 0)
 #define SCMI_CLK_RATE_ASYNC_NOTIFY     BIT(0)
 #define SCMI_CLK_RATE_ASYNC_NORESP     (BIT(0) | BIT(1))
 #define SCMI_CLK_RATE_ROUND_DOWN       0
 #define SCMI_CLK_RATE_ROUND_UP         BIT(2)
 #define SCMI_CLK_RATE_ROUND_CLOSEST    BIT(3)
 
+#define SCMI_CLOCK_NAME_LENGTH_MAX 16
+
+/**
+ * struct scmi_clk_get_nb_out - Response for SCMI_PROTOCOL_ATTRIBUTES command
+ * @status:    SCMI command status
+ * @attributes:        Attributes of the clock protocol, mainly number of clocks exposed
+ */
+struct scmi_clk_protocol_attr_out {
+       s32 status;
+       u32 attributes;
+};
+
+/**
+ * struct scmi_clk_attribute_in - Message payload for SCMI_CLOCK_ATTRIBUTES command
+ * @clock_id:  SCMI clock ID
+ */
+struct scmi_clk_attribute_in {
+       u32 clock_id;
+};
+
+/**
+ * struct scmi_clk_get_nb_out - Response payload for SCMI_CLOCK_ATTRIBUTES command
+ * @status:    SCMI command status
+ * @attributes:        clock attributes
+ * @clock_name:        name of the clock
+ */
+struct scmi_clk_attribute_out {
+       s32 status;
+       u32 attributes;
+       char clock_name[SCMI_CLOCK_NAME_LENGTH_MAX];
+};
+
 /**
  * struct scmi_clk_state_in - Message payload for CLOCK_CONFIG_SET command
  * @clock_id:  SCMI clock ID
index e18b39a5dc9029e1e138cac78f4f906585e62522..655adbfcd184e374298c8a07fcec74e034f3277d 100644 (file)
  */
 int ulz4fn(const void *src, size_t srcn, void *dst, size_t *dstn);
 
+/**
+ * LZ4_decompress_safe() - Decompression protected against buffer overflow
+ * @source: source address of the compressed data
+ * @dest: output buffer address of the uncompressed data
+ *     which must be already allocated
+ * @compressedSize: is the precise full size of the compressed block
+ * @maxDecompressedSize: is the size of 'dest' buffer
+ *
+ * Decompresses data from 'source' into 'dest'.
+ * If the source stream is detected malformed, the function will
+ * stop decoding and return a negative result.
+ * This function is protected against buffer overflow exploits,
+ * including malicious data packets. It never writes outside output buffer,
+ * nor reads outside input buffer.
+ *
+ * Return: number of bytes decompressed into destination buffer
+ *     (necessarily <= maxDecompressedSize)
+ *     or a negative result in case of error
+ */
+int LZ4_decompress_safe(const char *source, char *dest,
+       int compressedSize, int maxDecompressedSize);
+
+/**
+ * LZ4_decompress_safe_partial() - Decompress a block of size 'compressedSize'
+ *     at position 'source' into buffer 'dest'
+ * @source: source address of the compressed data
+ * @dest: output buffer address of the decompressed data which must be
+ *     already allocated
+ * @compressedSize: is the precise full size of the compressed block.
+ * @targetOutputSize: the decompression operation will try
+ *     to stop as soon as 'targetOutputSize' has been reached
+ * @maxDecompressedSize: is the size of destination buffer
+ *
+ * This function decompresses a compressed block of size 'compressedSize'
+ * at position 'source' into destination buffer 'dest'
+ * of size 'maxDecompressedSize'.
+ * The function tries to stop decompressing operation as soon as
+ * 'targetOutputSize' has been reached, reducing decompression time.
+ * This function never writes outside of output buffer,
+ * and never reads outside of input buffer.
+ * It is therefore protected against malicious data packets.
+ *
+ * Return: the number of bytes decoded in the destination buffer
+ *     (necessarily <= maxDecompressedSize)
+ *     or a negative result in case of error
+ *
+ */
+int LZ4_decompress_safe_partial(const char *src, char *dst,
+       int compressedSize, int targetOutputSize, int dstCapacity);
 #endif
index 50bf4ef39535f4986fed9715d1fba0efc0a0172e..f577008736d9ac0f421ec534cee527e1388152b7 100644 (file)
@@ -177,6 +177,49 @@ enum pm_query_id {
        PM_QID_CLOCK_GET_MAX_DIVISOR = 13,
 };
 
+enum pm_pinctrl_config_param {
+       PM_PINCTRL_CONFIG_SLEW_RATE = 0,
+       PM_PINCTRL_CONFIG_BIAS_STATUS = 1,
+       PM_PINCTRL_CONFIG_PULL_CTRL = 2,
+       PM_PINCTRL_CONFIG_SCHMITT_CMOS = 3,
+       PM_PINCTRL_CONFIG_DRIVE_STRENGTH = 4,
+       PM_PINCTRL_CONFIG_VOLTAGE_STATUS = 5,
+       PM_PINCTRL_CONFIG_TRI_STATE = 6,
+       PM_PINCTRL_CONFIG_MAX = 7,
+};
+
+enum pm_pinctrl_slew_rate {
+       PM_PINCTRL_SLEW_RATE_FAST = 0,
+       PM_PINCTRL_SLEW_RATE_SLOW = 1,
+};
+
+enum pm_pinctrl_bias_status {
+       PM_PINCTRL_BIAS_DISABLE = 0,
+       PM_PINCTRL_BIAS_ENABLE = 1,
+};
+
+enum pm_pinctrl_pull_ctrl {
+       PM_PINCTRL_BIAS_PULL_DOWN = 0,
+       PM_PINCTRL_BIAS_PULL_UP = 1,
+};
+
+enum pm_pinctrl_schmitt_cmos {
+       PM_PINCTRL_INPUT_TYPE_CMOS = 0,
+       PM_PINCTRL_INPUT_TYPE_SCHMITT = 1,
+};
+
+enum pm_pinctrl_drive_strength {
+       PM_PINCTRL_DRIVE_STRENGTH_2MA = 0,
+       PM_PINCTRL_DRIVE_STRENGTH_4MA = 1,
+       PM_PINCTRL_DRIVE_STRENGTH_8MA = 2,
+       PM_PINCTRL_DRIVE_STRENGTH_12MA = 3,
+};
+
+enum pm_pinctrl_tri_state {
+       PM_PINCTRL_TRI_STATE_DISABLE = 0,
+       PM_PINCTRL_TRI_STATE_ENABLE = 1,
+};
+
 enum zynqmp_pm_reset_action {
        PM_RESET_ACTION_RELEASE = 0,
        PM_RESET_ACTION_ASSERT = 1,
@@ -340,6 +383,29 @@ enum pm_ioctl_id {
        IOCTL_GET_LAST_RESET_REASON = 23,
        /* AIE ISR Clear */
        IOCTL_AIE_ISR_CLEAR = 24,
+       /* Register SGI to ATF */
+       IOCTL_REGISTER_SGI = 25,
+       /* Runtime feature configuration */
+       IOCTL_SET_FEATURE_CONFIG = 26,
+       IOCTL_GET_FEATURE_CONFIG = 27,
+       /* IOCTL for Secure Read/Write Interface */
+       IOCTL_READ_REG = 28,
+       IOCTL_MASK_WRITE_REG = 29,
+       /* Dynamic SD/GEM/USB configuration */
+       IOCTL_SET_SD_CONFIG = 30,
+       IOCTL_SET_GEM_CONFIG = 31,
+       IOCTL_SET_USB_CONFIG = 32,
+       /* AIE/AIEML Operations */
+       IOCTL_AIE_OPS = 33,
+       /* IOCTL to get default/current QoS */
+       IOCTL_GET_QOS = 34,
+};
+
+enum pm_sd_config_type {
+       SD_CONFIG_EMMC_SEL = 1, /* To set SD_EMMC_SEL in CTRL_REG_SD */
+       SD_CONFIG_BASECLK = 2,  /* To set SD_BASECLK in SD_CONFIG_REG1 */
+       SD_CONFIG_8BIT = 3,     /* To set SD_8BIT in SD_CONFIG_REG2 */
+       SD_CONFIG_FIXED = 4,    /* To set fixed config registers */
 };
 
 #define PM_SIP_SVC     0xc2000000
@@ -372,6 +438,8 @@ int zynqmp_pmufw_config_close(void);
 void zynqmp_pmufw_load_config_object(const void *cfg_obj, size_t size);
 int xilinx_pm_request(u32 api_id, u32 arg0, u32 arg1, u32 arg2,
                      u32 arg3, u32 *ret_payload);
+int zynqmp_pm_set_sd_config(u32 node, enum pm_sd_config_type config, u32 value);
+int zynqmp_pm_is_function_supported(const u32 api_id, const u32 id);
 
 /* Type of Config Object */
 #define PM_CONFIG_OBJECT_TYPE_BASE     0x1U
@@ -403,5 +471,9 @@ enum zynqmp_pm_request_ack {
 #define ZYNQMP_PM_CAPABILITY_UNUSABLE  0x8U
 
 #define ZYNQMP_PM_MAX_QOS              100U
+/* Firmware feature check version mask */
+#define FIRMWARE_VERSION_MASK          GENMASK(15, 0)
+/* PM API versions */
+#define PM_API_VERSION_2               2
 
 #endif /* _ZYNQMP_FIRMWARE_H_ */
index 046c34e39063e9c237249ef1e5a056a8d6d7c99d..5337842126c8ea220e8b73e6738b422a81804c7b 100644 (file)
--- a/lib/lz4.c
+++ b/lib/lz4.c
@@ -1,13 +1,63 @@
-// SPDX-License-Identifier: BSD-2-Clause
+// SPDX-License-Identifier: GPL 2.0+ OR BSD-2-Clause
 /*
-   LZ4 - Fast LZ compression algorithm
-   Copyright (C) 2011-2015, Yann Collet.
+ * LZ4 - Fast LZ compression algorithm
+ * Copyright (C) 2011 - 2016, Yann Collet.
+ * BSD 2 - Clause License (http://www.opensource.org/licenses/bsd - license.php)
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * You can contact the author at :
+ *     - LZ4 homepage : http://www.lz4.org
+ *     - LZ4 source repository : https://github.com/lz4/lz4
+ */
+#include <common.h>
+#include <compiler.h>
+#include <linux/kernel.h>
+#include <linux/types.h>
+#include <linux/bug.h>
+#include <asm/unaligned.h>
+#include <u-boot/lz4.h>
+
+#define FORCE_INLINE inline __attribute__((always_inline))
+
+static FORCE_INLINE u16 LZ4_readLE16(const void *src)
+{
+       return get_unaligned_le16(src);
+}
 
-   You can contact the author at :
-   - LZ4 source repository : https://github.com/Cyan4973/lz4
-   - LZ4 public forum : https://groups.google.com/forum/#!forum/lz4c
-*/
+static FORCE_INLINE void LZ4_copy8(void *dst, const void *src)
+{
+       put_unaligned(get_unaligned((const u64 *)src), (u64 *)dst);
+}
+
+typedef  uint8_t BYTE;
+typedef uint16_t U16;
+typedef uint32_t U32;
+typedef  int32_t S32;
+typedef uint64_t U64;
+typedef uintptr_t uptrval;
 
+static FORCE_INLINE void LZ4_write32(void *memPtr, U32 value)
+{
+       put_unaligned(value, (U32 *)memPtr);
+}
 
 /**************************************
 *  Reading and writing into memory
@@ -28,14 +78,17 @@ static void LZ4_wildCopy(void* dstPtr, const void* srcPtr, void* dstEnd)
 **************************************/
 #define MINMATCH 4
 
-#define COPYLENGTH 8
+#define WILDCOPYLENGTH 8
 #define LASTLITERALS 5
-#define MFLIMIT (COPYLENGTH+MINMATCH)
-static const int LZ4_minLength = (MFLIMIT+1);
+#define MFLIMIT (WILDCOPYLENGTH + MINMATCH)
 
-#define KB *(1 <<10)
-#define MB *(1 <<20)
-#define GB *(1U<<30)
+/*
+ * ensure it's possible to write 2 x wildcopyLength
+ * without overflowing output buffer
+ */
+#define MATCH_SAFEGUARD_DISTANCE  ((2 * WILDCOPYLENGTH) - MINMATCH)
+
+#define KB (1 <<10)
 
 #define MAXD_LOG 16
 #define MAX_DISTANCE ((1 << MAXD_LOG) - 1)
@@ -45,198 +98,438 @@ static const int LZ4_minLength = (MFLIMIT+1);
 #define RUN_BITS (8-ML_BITS)
 #define RUN_MASK ((1U<<RUN_BITS)-1)
 
+#define LZ4_STATIC_ASSERT(c)   BUILD_BUG_ON(!(c))
 
 /**************************************
 *  Local Structures and types
 **************************************/
 typedef enum { noDict = 0, withPrefix64k, usingExtDict } dict_directive;
 typedef enum { endOnOutputSize = 0, endOnInputSize = 1 } endCondition_directive;
-typedef enum { full = 0, partial = 1 } earlyEnd_directive;
+typedef enum { decode_full_block = 0, partial_decode = 1 } earlyEnd_directive;
 
+#define DEBUGLOG(l, ...) {}    /* disabled */
 
+#ifndef assert
+#define assert(condition) ((void)0)
+#endif
 
-/*******************************
-*  Decompression functions
-*******************************/
 /*
- * This generic decompression function cover all use cases.
- * It shall be instantiated several times, using different sets of directives
- * Note that it is essential this generic function is really inlined,
+ * LZ4_decompress_generic() :
+ * This generic decompression function covers all use cases.
+ * It shall be instantiated several times, using different sets of directives.
+ * Note that it is important for performance that this function really get inlined,
  * in order to remove useless branches during compilation optimization.
  */
-FORCE_INLINE int LZ4_decompress_generic(
-                 const char* const source,
-                 char* const dest,
-                 int inputSize,
-                 int outputSize,         /* If endOnInput==endOnInputSize, this value is the max size of Output Buffer. */
-
-                 int endOnInput,         /* endOnOutputSize, endOnInputSize */
-                 int partialDecoding,    /* full, partial */
-                 int targetOutputSize,   /* only used if partialDecoding==partial */
-                 int dict,               /* noDict, withPrefix64k, usingExtDict */
-                 const BYTE* const lowPrefix,  /* == dest if dict == noDict */
-                 const BYTE* const dictStart,  /* only if dict==usingExtDict */
-                 const size_t dictSize         /* note : = 0 if noDict */
-                 )
+static FORCE_INLINE int LZ4_decompress_generic(
+        const char * const src,
+        char * const dst,
+        int srcSize,
+               /*
+                * If endOnInput == endOnInputSize,
+                * this value is `dstCapacity`
+                */
+        int outputSize,
+        /* endOnOutputSize, endOnInputSize */
+        endCondition_directive endOnInput,
+        /* full, partial */
+        earlyEnd_directive partialDecoding,
+        /* noDict, withPrefix64k, usingExtDict */
+        dict_directive dict,
+        /* always <= dst, == dst when no prefix */
+        const BYTE * const lowPrefix,
+        /* only if dict == usingExtDict */
+        const BYTE * const dictStart,
+        /* note : = 0 if noDict */
+        const size_t dictSize
+        )
 {
-    /* Local Variables */
-    const BYTE* ip = (const BYTE*) source;
-    const BYTE* const iend = ip + inputSize;
-
-    BYTE* op = (BYTE*) dest;
-    BYTE* const oend = op + outputSize;
-    BYTE* cpy;
-    BYTE* oexit = op + targetOutputSize;
-    const BYTE* const lowLimit = lowPrefix - dictSize;
-
-    const BYTE* const dictEnd = (const BYTE*)dictStart + dictSize;
-    const size_t dec32table[] = {4, 1, 2, 1, 4, 4, 4, 4};
-    const size_t dec64table[] = {0, 0, 0, (size_t)-1, 0, 1, 2, 3};
-
-    const int safeDecode = (endOnInput==endOnInputSize);
-    const int checkOffset = ((safeDecode) && (dictSize < (int)(64 KB)));
-
-
-    /* Special cases */
-    if ((partialDecoding) && (oexit> oend-MFLIMIT)) oexit = oend-MFLIMIT;                         /* targetOutputSize too high => decode everything */
-    if ((endOnInput) && (unlikely(outputSize==0))) return ((inputSize==1) && (*ip==0)) ? 0 : -1;  /* Empty output buffer */
-    if ((!endOnInput) && (unlikely(outputSize==0))) return (*ip==0?1:-1);
-
-
-    /* Main Loop */
-    while (1)
-    {
-        unsigned token;
-        size_t length;
-        const BYTE* match;
-
-        /* get literal length */
-        token = *ip++;
-        if ((length=(token>>ML_BITS)) == RUN_MASK)
-        {
-            unsigned s;
-            do
-            {
-                s = *ip++;
-                length += s;
-            }
-            while (likely((endOnInput)?ip<iend-RUN_MASK:1) && (s==255));
-            if ((safeDecode) && unlikely((size_t)(op+length)<(size_t)(op))) goto _output_error;   /* overflow detection */
-            if ((safeDecode) && unlikely((size_t)(ip+length)<(size_t)(ip))) goto _output_error;   /* overflow detection */
-        }
-
-        /* copy literals */
-        cpy = op+length;
-        if (((endOnInput) && ((cpy>(partialDecoding?oexit:oend-MFLIMIT)) || (ip+length>iend-(2+1+LASTLITERALS))) )
-            || ((!endOnInput) && (cpy>oend-COPYLENGTH)))
-        {
-            if (partialDecoding)
-            {
-                if (cpy > oend) goto _output_error;                           /* Error : write attempt beyond end of output buffer */
-                if ((endOnInput) && (ip+length > iend)) goto _output_error;   /* Error : read attempt beyond end of input buffer */
-            }
-            else
-            {
-                if ((!endOnInput) && (cpy != oend)) goto _output_error;       /* Error : block decoding must stop exactly there */
-                if ((endOnInput) && ((ip+length != iend) || (cpy > oend))) goto _output_error;   /* Error : input must be consumed */
-            }
-            memcpy(op, ip, length);
-            ip += length;
-            op += length;
-            break;     /* Necessarily EOF, due to parsing restrictions */
-        }
-        LZ4_wildCopy(op, ip, cpy);
-        ip += length; op = cpy;
-
-        /* get offset */
-        match = cpy - LZ4_readLE16(ip); ip+=2;
-        if ((checkOffset) && (unlikely(match < lowLimit))) goto _output_error;   /* Error : offset outside destination buffer */
-
-        /* get matchlength */
-        length = token & ML_MASK;
-        if (length == ML_MASK)
-        {
-            unsigned s;
-            do
-            {
-                if ((endOnInput) && (ip > iend-LASTLITERALS)) goto _output_error;
-                s = *ip++;
-                length += s;
-            } while (s==255);
-            if ((safeDecode) && unlikely((size_t)(op+length)<(size_t)op)) goto _output_error;   /* overflow detection */
-        }
-        length += MINMATCH;
-
-        /* check external dictionary */
-        if ((dict==usingExtDict) && (match < lowPrefix))
-        {
-            if (unlikely(op+length > oend-LASTLITERALS)) goto _output_error;   /* doesn't respect parsing restriction */
-
-            if (length <= (size_t)(lowPrefix-match))
-            {
-                /* match can be copied as a single segment from external dictionary */
-                match = dictEnd - (lowPrefix-match);
-                memmove(op, match, length); op += length;
-            }
-            else
-            {
-                /* match encompass external dictionary and current segment */
-                size_t copySize = (size_t)(lowPrefix-match);
-                memcpy(op, dictEnd - copySize, copySize);
-                op += copySize;
-                copySize = length - copySize;
-                if (copySize > (size_t)(op-lowPrefix))   /* overlap within current segment */
-                {
-                    BYTE* const endOfMatch = op + copySize;
-                    const BYTE* copyFrom = lowPrefix;
-                    while (op < endOfMatch) *op++ = *copyFrom++;
-                }
-                else
-                {
-                    memcpy(op, lowPrefix, copySize);
-                    op += copySize;
-                }
-            }
-            continue;
-        }
-
-        /* copy repeated sequence */
-        cpy = op + length;
-        if (unlikely((op-match)<8))
-        {
-            const size_t dec64 = dec64table[op-match];
-            op[0] = match[0];
-            op[1] = match[1];
-            op[2] = match[2];
-            op[3] = match[3];
-            match += dec32table[op-match];
-            LZ4_copy4(op+4, match);
-            op += 8; match -= dec64;
-        } else { LZ4_copy8(op, match); op+=8; match+=8; }
-
-        if (unlikely(cpy>oend-12))
-        {
-            if (cpy > oend-LASTLITERALS) goto _output_error;    /* Error : last LASTLITERALS bytes must be literals */
-            if (op < oend-8)
-            {
-                LZ4_wildCopy(op, match, oend-8);
-                match += (oend-8) - op;
-                op = oend-8;
-            }
-            while (op<cpy) *op++ = *match++;
-        }
-        else
-            LZ4_wildCopy(op, match, cpy);
-        op=cpy;   /* correction */
-    }
-
-    /* end of decoding */
-    if (endOnInput)
-       return (int) (((char*)op)-dest);     /* Nb of output bytes decoded */
-    else
-       return (int) (((const char*)ip)-source);   /* Nb of input bytes read */
-
-    /* Overflow error detected */
+       const BYTE *ip = (const BYTE *) src;
+       const BYTE * const iend = ip + srcSize;
+
+       BYTE *op = (BYTE *) dst;
+       BYTE * const oend = op + outputSize;
+       BYTE *cpy;
+
+       const BYTE * const dictEnd = (const BYTE *)dictStart + dictSize;
+       static const unsigned int inc32table[8] = {0, 1, 2, 1, 0, 4, 4, 4};
+       static const int dec64table[8] = {0, 0, 0, -1, -4, 1, 2, 3};
+
+       const int safeDecode = (endOnInput == endOnInputSize);
+       const int checkOffset = ((safeDecode) && (dictSize < (int)(64 * KB)));
+
+       /* Set up the "end" pointers for the shortcut. */
+       const BYTE *const shortiend = iend -
+               (endOnInput ? 14 : 8) /*maxLL*/ - 2 /*offset*/;
+       const BYTE *const shortoend = oend -
+               (endOnInput ? 14 : 8) /*maxLL*/ - 18 /*maxML*/;
+
+       DEBUGLOG(5, "%s (srcSize:%i, dstSize:%i)", __func__,
+                srcSize, outputSize);
+
+       /* Special cases */
+       assert(lowPrefix <= op);
+       assert(src != NULL);
+
+       /* Empty output buffer */
+       if ((endOnInput) && (unlikely(outputSize == 0)))
+               return ((srcSize == 1) && (*ip == 0)) ? 0 : -1;
+
+       if ((!endOnInput) && (unlikely(outputSize == 0)))
+               return (*ip == 0 ? 1 : -1);
+
+       if ((endOnInput) && unlikely(srcSize == 0))
+               return -1;
+
+       /* Main Loop : decode sequences */
+       while (1) {
+               size_t length;
+               const BYTE *match;
+               size_t offset;
+
+               /* get literal length */
+               unsigned int const token = *ip++;
+               length = token>>ML_BITS;
+
+               /* ip < iend before the increment */
+               assert(!endOnInput || ip <= iend);
+
+               /*
+                * A two-stage shortcut for the most common case:
+                * 1) If the literal length is 0..14, and there is enough
+                * space, enter the shortcut and copy 16 bytes on behalf
+                * of the literals (in the fast mode, only 8 bytes can be
+                * safely copied this way).
+                * 2) Further if the match length is 4..18, copy 18 bytes
+                * in a similar manner; but we ensure that there's enough
+                * space in the output for those 18 bytes earlier, upon
+                * entering the shortcut (in other words, there is a
+                * combined check for both stages).
+                *
+                * The & in the likely() below is intentionally not && so that
+                * some compilers can produce better parallelized runtime code
+                */
+               if ((endOnInput ? length != RUN_MASK : length <= 8)
+                  /*
+                   * strictly "less than" on input, to re-enter
+                   * the loop with at least one byte
+                   */
+                  && likely((endOnInput ? ip < shortiend : 1) &
+                            (op <= shortoend))) {
+                       /* Copy the literals */
+                       memcpy(op, ip, endOnInput ? 16 : 8);
+                       op += length; ip += length;
+
+                       /*
+                        * The second stage:
+                        * prepare for match copying, decode full info.
+                        * If it doesn't work out, the info won't be wasted.
+                        */
+                       length = token & ML_MASK; /* match length */
+                       offset = LZ4_readLE16(ip);
+                       ip += 2;
+                       match = op - offset;
+                       assert(match <= op); /* check overflow */
+
+                       /* Do not deal with overlapping matches. */
+                       if ((length != ML_MASK) &&
+                           (offset >= 8) &&
+                           (dict == withPrefix64k || match >= lowPrefix)) {
+                               /* Copy the match. */
+                               memcpy(op + 0, match + 0, 8);
+                               memcpy(op + 8, match + 8, 8);
+                               memcpy(op + 16, match + 16, 2);
+                               op += length + MINMATCH;
+                               /* Both stages worked, load the next token. */
+                               continue;
+                       }
+
+                       /*
+                        * The second stage didn't work out, but the info
+                        * is ready. Propel it right to the point of match
+                        * copying.
+                        */
+                       goto _copy_match;
+               }
+
+               /* decode literal length */
+               if (length == RUN_MASK) {
+                       unsigned int s;
+
+                       if (unlikely(endOnInput ? ip >= iend - RUN_MASK : 0)) {
+                               /* overflow detection */
+                               goto _output_error;
+                       }
+                       do {
+                               s = *ip++;
+                               length += s;
+                       } while (likely(endOnInput
+                               ? ip < iend - RUN_MASK
+                               : 1) & (s == 255));
+
+                       if ((safeDecode)
+                           && unlikely((uptrval)(op) +
+                                       length < (uptrval)(op))) {
+                               /* overflow detection */
+                               goto _output_error;
+                       }
+                       if ((safeDecode)
+                           && unlikely((uptrval)(ip) +
+                                       length < (uptrval)(ip))) {
+                               /* overflow detection */
+                               goto _output_error;
+                       }
+               }
+
+               /* copy literals */
+               cpy = op + length;
+               LZ4_STATIC_ASSERT(MFLIMIT >= WILDCOPYLENGTH);
+
+               if (((endOnInput) && ((cpy > oend - MFLIMIT)
+                       || (ip + length > iend - (2 + 1 + LASTLITERALS))))
+                       || ((!endOnInput) && (cpy > oend - WILDCOPYLENGTH))) {
+                       if (partialDecoding) {
+                               if (cpy > oend) {
+                                       /*
+                                        * Partial decoding :
+                                        * stop in the middle of literal segment
+                                        */
+                                       cpy = oend;
+                                       length = oend - op;
+                               }
+                               if ((endOnInput)
+                                       && (ip + length > iend)) {
+                                       /*
+                                        * Error :
+                                        * read attempt beyond
+                                        * end of input buffer
+                                        */
+                                       goto _output_error;
+                               }
+                       } else {
+                               if ((!endOnInput)
+                                       && (cpy != oend)) {
+                                       /*
+                                        * Error :
+                                        * block decoding must
+                                        * stop exactly there
+                                        */
+                                       goto _output_error;
+                               }
+                               if ((endOnInput)
+                                       && ((ip + length != iend)
+                                       || (cpy > oend))) {
+                                       /*
+                                        * Error :
+                                        * input must be consumed
+                                        */
+                                       goto _output_error;
+                               }
+                       }
+
+                       /*
+                        * supports overlapping memory regions; only matters
+                        * for in-place decompression scenarios
+                        */
+                       memmove(op, ip, length);
+                       ip += length;
+                       op += length;
+
+                       /* Necessarily EOF, due to parsing restrictions */
+                       if (!partialDecoding || (cpy == oend))
+                               break;
+               } else {
+                       /* may overwrite up to WILDCOPYLENGTH beyond cpy */
+                       LZ4_wildCopy(op, ip, cpy);
+                       ip += length;
+                       op = cpy;
+               }
+
+               /* get offset */
+               offset = LZ4_readLE16(ip);
+               ip += 2;
+               match = op - offset;
+
+               /* get matchlength */
+               length = token & ML_MASK;
+
+_copy_match:
+               if ((checkOffset) && (unlikely(match + dictSize < lowPrefix))) {
+                       /* Error : offset outside buffers */
+                       goto _output_error;
+               }
+
+               /* costs ~1%; silence an msan warning when offset == 0 */
+               /*
+                * note : when partialDecoding, there is no guarantee that
+                * at least 4 bytes remain available in output buffer
+                */
+               if (!partialDecoding) {
+                       assert(oend > op);
+                       assert(oend - op >= 4);
+
+                       LZ4_write32(op, (U32)offset);
+               }
+
+               if (length == ML_MASK) {
+                       unsigned int s;
+
+                       do {
+                               s = *ip++;
+
+                               if ((endOnInput) && (ip > iend - LASTLITERALS))
+                                       goto _output_error;
+
+                               length += s;
+                       } while (s == 255);
+
+                       if ((safeDecode)
+                               && unlikely(
+                                       (uptrval)(op) + length < (uptrval)op)) {
+                               /* overflow detection */
+                               goto _output_error;
+                       }
+               }
+
+               length += MINMATCH;
+
+               /* match starting within external dictionary */
+               if ((dict == usingExtDict) && (match < lowPrefix)) {
+                       if (unlikely(op + length > oend - LASTLITERALS)) {
+                               /* doesn't respect parsing restriction */
+                               if (!partialDecoding)
+                                       goto _output_error;
+                               length = min(length, (size_t)(oend - op));
+                       }
+
+                       if (length <= (size_t)(lowPrefix - match)) {
+                               /*
+                                * match fits entirely within external
+                                * dictionary : just copy
+                                */
+                               memmove(op, dictEnd - (lowPrefix - match),
+                                       length);
+                               op += length;
+                       } else {
+                               /*
+                                * match stretches into both external
+                                * dictionary and current block
+                                */
+                               size_t const copySize = (size_t)(lowPrefix - match);
+                               size_t const restSize = length - copySize;
+
+                               memcpy(op, dictEnd - copySize, copySize);
+                               op += copySize;
+                               if (restSize > (size_t)(op - lowPrefix)) {
+                                       /* overlap copy */
+                                       BYTE * const endOfMatch = op + restSize;
+                                       const BYTE *copyFrom = lowPrefix;
+
+                                       while (op < endOfMatch)
+                                               *op++ = *copyFrom++;
+                               } else {
+                                       memcpy(op, lowPrefix, restSize);
+                                       op += restSize;
+                               }
+                       }
+                       continue;
+               }
+
+               /* copy match within block */
+               cpy = op + length;
+
+               /*
+                * partialDecoding :
+                * may not respect endBlock parsing restrictions
+                */
+               assert(op <= oend);
+               if (partialDecoding &&
+                   (cpy > oend - MATCH_SAFEGUARD_DISTANCE)) {
+                       size_t const mlen = min(length, (size_t)(oend - op));
+                       const BYTE * const matchEnd = match + mlen;
+                       BYTE * const copyEnd = op + mlen;
+
+                       if (matchEnd > op) {
+                               /* overlap copy */
+                               while (op < copyEnd)
+                                       *op++ = *match++;
+                       } else {
+                               memcpy(op, match, mlen);
+                       }
+                       op = copyEnd;
+                       if (op == oend)
+                               break;
+                       continue;
+               }
+
+               if (unlikely(offset < 8)) {
+                       op[0] = match[0];
+                       op[1] = match[1];
+                       op[2] = match[2];
+                       op[3] = match[3];
+                       match += inc32table[offset];
+                       memcpy(op + 4, match, 4);
+                       match -= dec64table[offset];
+               } else {
+                       LZ4_copy8(op, match);
+                       match += 8;
+               }
+
+               op += 8;
+
+               if (unlikely(cpy > oend - MATCH_SAFEGUARD_DISTANCE)) {
+                       BYTE * const oCopyLimit = oend - (WILDCOPYLENGTH - 1);
+
+                       if (cpy > oend - LASTLITERALS) {
+                               /*
+                                * Error : last LASTLITERALS bytes
+                                * must be literals (uncompressed)
+                                */
+                               goto _output_error;
+                       }
+
+                       if (op < oCopyLimit) {
+                               LZ4_wildCopy(op, match, oCopyLimit);
+                               match += oCopyLimit - op;
+                               op = oCopyLimit;
+                       }
+                       while (op < cpy)
+                               *op++ = *match++;
+               } else {
+                       LZ4_copy8(op, match);
+                       if (length > 16)
+                               LZ4_wildCopy(op + 8, match + 8, cpy);
+               }
+               op = cpy; /* wildcopy correction */
+       }
+
+       /* end of decoding */
+       if (endOnInput) {
+               /* Nb of output bytes decoded */
+               return (int) (((char *)op) - dst);
+       } else {
+               /* Nb of input bytes read */
+               return (int) (((const char *)ip) - src);
+       }
+
+       /* Overflow error detected */
 _output_error:
-    return (int) (-(((const char*)ip)-source))-1;
+       return (int) (-(((const char *)ip) - src)) - 1;
+}
+
+int LZ4_decompress_safe(const char *source, char *dest,
+       int compressedSize, int maxDecompressedSize)
+{
+       return LZ4_decompress_generic(source, dest,
+                                     compressedSize, maxDecompressedSize,
+                                     endOnInputSize, decode_full_block,
+                                     noDict, (BYTE *)dest, NULL, 0);
+}
+
+int LZ4_decompress_safe_partial(const char *src, char *dst,
+       int compressedSize, int targetOutputSize, int dstCapacity)
+{
+       dstCapacity = min(targetOutputSize, dstCapacity);
+       return LZ4_decompress_generic(src, dst, compressedSize, dstCapacity,
+                                     endOnInputSize, partial_decode,
+                                     noDict, (BYTE *)dst, NULL, 0);
 }
index ebcb5c09a22c73b0e132de5f2cfb8734f0ea62e1..0d2a3655a8afffa6aa4ac12c980d071c61092084 100644 (file)
 #include <asm/unaligned.h>
 #include <u-boot/lz4.h>
 
-static u16 LZ4_readLE16(const void *src)
-{
-       return get_unaligned_le16(src);
-}
-static void LZ4_copy4(void *dst, const void *src)
-{
-       put_unaligned(get_unaligned((const u32 *)src), (u32 *)dst);
-}
-static void LZ4_copy8(void *dst, const void *src)
-{
-       put_unaligned(get_unaligned((const u64 *)src), (u64 *)dst);
-}
-
-typedef  uint8_t BYTE;
-typedef uint16_t U16;
-typedef uint32_t U32;
-typedef  int32_t S32;
-typedef uint64_t U64;
-
-#define FORCE_INLINE static inline __attribute__((always_inline))
-
 /* lz4.c is unaltered (except removing unrelated code) from github.com/Cyan4973/lz4. */
 #include "lz4.c"       /* #include for inlining, do not link! */
 
@@ -112,7 +91,7 @@ int ulz4fn(const void *src, size_t srcn, void *dst, size_t *dstn)
                        /* constant folding essential, do not touch params! */
                        ret = LZ4_decompress_generic(in, out, block_size,
                                        end - out, endOnInputSize,
-                                       full, 0, noDict, out, NULL, 0);
+                                       decode_full_block, noDict, out, NULL, 0);
                        if (ret < 0) {
                                ret = -EPROTO;  /* decompression error */
                                break;
index 2ae9d6a02036d0b1b4c2d675c5b452cca50da029..ef0aa161f7307d1c988c700dfc7fe052f298352d 100644 (file)
@@ -8,6 +8,17 @@ menuconfig NET
 
 if NET
 
+config ARP_TIMEOUT
+       int "Milliseconds before trying ARP again"
+       default 5000
+
+config NET_RETRY_COUNT
+       int "Number of timeouts before giving up"
+       default 5
+       help
+         This variable defines the number of retries for network operations
+         like ARP, RARP, TFTP, or BOOTP before giving up the operation.
+
 config PROT_UDP
        bool "Enable generic udp framework"
        help
@@ -55,6 +66,13 @@ config NET_MAXDEFRAG
          used for reassembly, and thus an upper bound for the size of
          IP datagrams that can be received.
 
+config SYS_FAULT_ECHO_LINK_DOWN
+       bool "Echo the inverted Ethernet link state to the fault LED"
+       help
+         Echo the inverted Ethernet link state to the fault LED.  Note, if
+         this option is active, then CONFIG_SYS_FAULT_MII_ADDR also needs to
+         be configured.
+
 config TFTP_BLOCKSIZE
        int "TFTP block size"
        default 1468
@@ -65,6 +83,24 @@ config TFTP_BLOCKSIZE
          almost-MTU block sizes.
          You can also activate CONFIG_IP_DEFRAG to set a larger block.
 
+config TFTP_PORT
+       bool "Set TFTP UDP source/destination ports via the environment"
+       help
+         If this is defined, the environment variable tftpsrcp is used to
+         supply the TFTP UDP source port value.  If tftpsrcp isn't defined,
+         the normal pseudo-random port number generator is used.
+
+         Also, the environment variable tftpdstp is used to supply the TFTP
+         UDP destination port value.  If tftpdstp isn't defined, the normal
+         port 69 is used.
+
+         The purpose for tftpsrcp is to allow a TFTP server to blindly start
+         the TFTP transfer using the pre-configured target IP address and UDP
+         port. This has the effect of "punching through" the (Windows XP)
+         firewall, allowing the remainder of the TFTP transfer to proceed
+         normally.  A better solution is to properly configure the firewall,
+         but sometimes that is not allowed.
+
 config TFTP_WINDOWSIZE
        int "TFTP window size"
        default 1
@@ -124,3 +160,12 @@ config BOOTP_SERVERIP
          bootp and tftp.
 
 endif   # if NET
+
+config SYS_RX_ETH_BUFFER
+       int "Number of receive packet buffers"
+       default 4
+       help
+         Defines the number of Ethernet receive buffers. On some Ethernet
+         controllers it is recommended to set this value to 8 or even higher,
+         since all buffers can be full shortly after enabling the interface on
+         high Ethernet traffic.
index 0b086dc8d2108e59ff034dd4be8c316777914404..37848ad32fbd482591067b87152ed0516386b752 100644 (file)
--- a/net/arp.c
+++ b/net/arp.c
 
 #include "arp.h"
 
-#ifndef        CONFIG_ARP_TIMEOUT
-/* Milliseconds before trying ARP again */
-# define ARP_TIMEOUT           5000UL
-#else
-# define ARP_TIMEOUT           CONFIG_ARP_TIMEOUT
-#endif
-
-
-#ifndef        CONFIG_NET_RETRY_COUNT
-# define ARP_TIMEOUT_COUNT     5       /* # of timeouts before giving up  */
-#else
-# define ARP_TIMEOUT_COUNT     CONFIG_NET_RETRY_COUNT
-#endif
-
 struct in_addr net_arp_wait_packet_ip;
 static struct in_addr net_arp_wait_reply_ip;
 /* MAC address of waiting packet's destination */
@@ -109,10 +95,10 @@ int arp_timeout_check(void)
        t = get_timer(0);
 
        /* check for arp timeout */
-       if ((t - arp_wait_timer_start) > ARP_TIMEOUT) {
+       if ((t - arp_wait_timer_start) > CONFIG_ARP_TIMEOUT) {
                arp_wait_try++;
 
-               if (arp_wait_try >= ARP_TIMEOUT_COUNT) {
+               if (arp_wait_try >= CONFIG_NET_RETRY_COUNT) {
                        puts("\nARP Retry count exceeded; starting again\n");
                        arp_wait_try = 0;
                        net_set_state(NETLOOP_FAIL);
index d83e4eb0ba9e03b02b18ed429833026fc3164ec6..a544bfcc23466b0937536b617a6e0371361c9895 100644 (file)
@@ -31,7 +31,7 @@
 
 /*
  * The timeout for the initial BOOTP/DHCP request used to be described by a
- * counter of fixed-length timeout periods. TIMEOUT_COUNT represents
+ * counter of fixed-length timeout periods. CONFIG_NET_RETRY_COUNT represents
  * that counter
  *
  * Now that the timeout periods are variable (exponential backoff and retry)
  * execute that many retries, and keep sending retry packets until that time
  * is reached.
  */
-#ifndef CONFIG_NET_RETRY_COUNT
-# define TIMEOUT_COUNT 5               /* # of timeouts before giving up */
-#else
-# define TIMEOUT_COUNT (CONFIG_NET_RETRY_COUNT)
-#endif
-#define TIMEOUT_MS     ((3 + (TIMEOUT_COUNT * 5)) * 1000)
+#define TIMEOUT_MS     ((3 + (CONFIG_NET_RETRY_COUNT * 5)) * 1000)
 
 #define PORT_BOOTPS    67              /* BOOTP server UDP port */
 #define PORT_BOOTPC    68              /* BOOTP client UDP port */
@@ -1038,9 +1033,6 @@ static void dhcp_send_request_packet(struct bootp_hdr *bp_offer)
        bcast_ip.s_addr = 0xFFFFFFFFL;
        net_set_udp_header(iphdr, bcast_ip, PORT_BOOTPS, PORT_BOOTPC, iplen);
 
-#ifdef CONFIG_BOOTP_DHCP_REQUEST_DELAY
-       udelay(CONFIG_BOOTP_DHCP_REQUEST_DELAY);
-#endif /* CONFIG_BOOTP_DHCP_REQUEST_DELAY */
        debug("Transmitting DHCPREQUEST packet: len = %d\n", pktlen);
        net_send_packet(net_tx_packet, pktlen);
 }
index 70d0e08bde9201a4aaa3e4f5cb02e43324dc0bc6..3c01cebd96f8dedbfc0c0d2c0676f0caa296c574 100644 (file)
--- a/net/nfs.c
+++ b/net/nfs.c
 
 #define HASHES_PER_LINE 65     /* Number of "loading" hashes per line  */
 #define NFS_RETRY_COUNT 30
-#ifndef CONFIG_NFS_TIMEOUT
-# define NFS_TIMEOUT 2000UL
-#else
-# define NFS_TIMEOUT CONFIG_NFS_TIMEOUT
-#endif
 
 #define NFS_RPC_ERR    1
 #define NFS_RPC_DROP   124
@@ -53,7 +48,7 @@ static int fs_mounted;
 static unsigned long rpc_id;
 static int nfs_offset = -1;
 static int nfs_len;
-static ulong nfs_timeout = NFS_TIMEOUT;
+static const ulong nfs_timeout = CONFIG_NFS_TIMEOUT;
 
 static char dirfh[NFS_FHSIZE]; /* NFSv2 / NFSv3 file handle of directory */
 static char filefh[NFS3_FHSIZE]; /* NFSv2 / NFSv3 file handle */
@@ -733,7 +728,7 @@ static void nfs_timeout_handler(void)
        } else {
                puts("T ");
                net_set_timeout_handler(nfs_timeout +
-                                       NFS_TIMEOUT * nfs_timeout_count,
+                                       nfs_timeout * nfs_timeout_count,
                                        nfs_timeout_handler);
                nfs_send();
        }
index a676a4253b5eab4d4ca64051d720bc0d065b822d..231b6233c07a7f07e41d1a1842ee8780f556c063 100644 (file)
 #include "rarp.h"
 
 #define TIMEOUT 5000UL /* Milliseconds before trying BOOTP again */
-#ifndef        CONFIG_NET_RETRY_COUNT
-#define TIMEOUT_COUNT 5 /* # of timeouts before giving up  */
-#else
-#define TIMEOUT_COUNT (CONFIG_NET_RETRY_COUNT)
-#endif
 
 int rarp_try;
 
@@ -57,7 +52,7 @@ void rarp_receive(struct ip_udp_hdr *ip, unsigned len)
  */
 static void rarp_timeout_handler(void)
 {
-       if (rarp_try >= TIMEOUT_COUNT) {
+       if (rarp_try >= CONFIG_NET_RETRY_COUNT) {
                puts("\nRetry count exceeded; starting again\n");
                net_start_again();
        } else {
index 62a96484741294d448606723f474e2ef32f45ad7..e1e359732ee5d3810182404444adf74d394d066b 100644 (file)
@@ -27,12 +27,6 @@ DECLARE_GLOBAL_DATA_PTR;
 #define WELL_KNOWN_PORT        69
 /* Millisecs to timeout for lost pkt */
 #define TIMEOUT                5000UL
-#ifndef        CONFIG_NET_RETRY_COUNT
-/* # of timeouts before giving up */
-# define TIMEOUT_COUNT 10
-#else
-# define TIMEOUT_COUNT  (CONFIG_NET_RETRY_COUNT * 2)
-#endif
 /* Number of "loading" hashes per line (for checking the image size) */
 #define HASHES_PER_LINE        65
 
@@ -47,7 +41,7 @@ DECLARE_GLOBAL_DATA_PTR;
 #define TFTP_OACK      6
 
 static ulong timeout_ms = TIMEOUT;
-static int timeout_count_max = TIMEOUT_COUNT;
+static int timeout_count_max = (CONFIG_NET_RETRY_COUNT * 2);
 static ulong time_start;   /* Record time we started tftp */
 
 /*
@@ -60,7 +54,7 @@ static ulong time_start;   /* Record time we started tftp */
  * non-standard timeout behavior when initiating a TFTP transfer.
  */
 ulong tftp_timeout_ms = TIMEOUT;
-int tftp_timeout_count_max = TIMEOUT_COUNT;
+int tftp_timeout_count_max = (CONFIG_NET_RETRY_COUNT * 2);
 
 enum {
        TFTP_ERR_UNDEFINED           = 0,
index a6bc234f51ed4d09c60bd8bb050b7ba6f8736eb9..88fd64e394a8f942b5e29e69af125f8338854956 100644 (file)
@@ -1,61 +1,17 @@
-CONFIG_A003399_NOR_WORKAROUND
-CONFIG_A008044_WORKAROUND
-CONFIG_AM335X_USB0
 CONFIG_AM335X_USB0_MODE
-CONFIG_AM335X_USB1
 CONFIG_AM335X_USB1_MODE
-CONFIG_ARMV7_SECURE_BASE
-CONFIG_ARMV7_SECURE_MAX_SIZE
-CONFIG_ARMV7_SECURE_RESERVE_SIZE
-CONFIG_ARMV8_SWITCH_TO_EL1
 CONFIG_ARM_GIC_BASE_ADDRESS
-CONFIG_ARP_TIMEOUT
-CONFIG_AT91SAM9260EK
-CONFIG_AT91SAM9261EK
-CONFIG_AT91SAM9G10
-CONFIG_AT91SAM9G10EK
-CONFIG_AT91SAM9G20EK
-CONFIG_AT91SAM9G20EK_2MMC
-CONFIG_AT91SAM9G45_LCD_BASE
-CONFIG_AT91SAM9M10G45EK
-CONFIG_AT91_GPIO_PULLUP
-CONFIG_AT91_LED
-CONFIG_AT91_WANTS_COMMON_PHY
-CONFIG_ATMEL_LCD
-CONFIG_ATMEL_LCD_BGR555
-CONFIG_ATMEL_LCD_RGB565
-CONFIG_ATMEL_LEGACY
-CONFIG_ATMEL_SPI0
 CONFIG_AUTO_ZRELADDR
-CONFIG_BACKSIDE_L2_CACHE
 CONFIG_BCM2835_GPIO
-CONFIG_BIOSEMU
 CONFIG_BITBANGMII_MULTI
-CONFIG_BL1_OFFSET
-CONFIG_BL1_SIZE
-CONFIG_BL2_OFFSET
-CONFIG_BL2_SIZE
 CONFIG_BOARDDIR
 CONFIG_BOARDNAME
-CONFIG_BOARD_COMMON
-CONFIG_BOARD_ECC_SUPPORT
 CONFIG_BOARD_NAME
-CONFIG_BOARD_POSTCLK_INIT
 CONFIG_BOARD_SIZE_LIMIT
-CONFIG_BOOTFILE
-CONFIG_BOOTMODE
-CONFIG_BOOTP_BOOTFILESIZE
-CONFIG_BOOTP_MAY_FAIL
-CONFIG_BOOTP_NISDOMAIN
-CONFIG_BOOTP_TIMEOFFSET
-CONFIG_BOOTP_VENDOREX
 CONFIG_BOOTROM_ERR_REG
 CONFIG_BOOTSCRIPT_ADDR
 CONFIG_BOOTSCRIPT_COPY_RAM
 CONFIG_BOOTSCRIPT_HDR_ADDR
-CONFIG_BOOT_RETRY_MIN
-CONFIG_BOOT_RETRY_TIME
-CONFIG_BPTR_VIRT_ADDR
 CONFIG_BS_ADDR_DEVICE
 CONFIG_BS_ADDR_RAM
 CONFIG_BS_COPY_CMD
@@ -64,12 +20,9 @@ CONFIG_BS_HDR_ADDR_DEVICE
 CONFIG_BS_HDR_ADDR_RAM
 CONFIG_BS_HDR_SIZE
 CONFIG_BS_SIZE
-CONFIG_BTB
-CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
 CONFIG_CF_DSPI
 CONFIG_CF_SBF
 CONFIG_CHAIN_BOOT_CMD
-CONFIG_CHIP_SELECTS_PER_CTRL
 CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS
 CONFIG_CI_UDC_HAS_HOSTPC
 CONFIG_CLK_1000_400_200
@@ -83,7 +36,6 @@ CONFIG_CM_REMAP
 CONFIG_CM_SPD_DETECT
 CONFIG_CM_TCRAM
 CONFIG_COMMON_BOOT
-CONFIG_CONS_ON_SCC
 CONFIG_CONS_SCIF0
 CONFIG_CONS_SCIF1
 CONFIG_CONS_SCIF2
@@ -91,7 +43,6 @@ CONFIG_CONS_SCIF4
 CONFIG_CON_ROT
 CONFIG_CPLD_BR_PRELIM
 CONFIG_CPLD_OR_PRELIM
-CONFIG_CPM2
 CONFIG_CQSPI_REF_CLK
 CONFIG_CUSTOMER_BOARD_SUPPORT
 CONFIG_DB_784MP_GP
@@ -162,7 +113,6 @@ CONFIG_ESDHC_HC_BLK_ADDR
 CONFIG_ESPRESSO7420
 CONFIG_ET1100_BASE
 CONFIG_ETHBASE
-CONFIG_ETHPRIME
 CONFIG_EXTRA_CLOCK
 CONFIG_EXTRA_ENV
 CONFIG_EXTRA_ENV_SETTINGS
@@ -192,7 +142,6 @@ CONFIG_FDTFILE
 CONFIG_FEC_ENET_DEV
 CONFIG_FEC_FIXED_SPEED
 CONFIG_FEC_MXC_PHYADDR
-CONFIG_FEC_XCV_TYPE
 CONFIG_FIXED_SDHCI_ALIGNED_BUFFER
 CONFIG_FLASH_BR_PRELIM
 CONFIG_FLASH_CFI_LEGACY
@@ -265,16 +214,10 @@ CONFIG_GATEWAYIP
 CONFIG_GLOBAL_TIMER
 CONFIG_GMII
 CONFIG_GREEN_LED
-CONFIG_GURNARD_SPLASH
 CONFIG_G_DNL_THOR_PRODUCT_NUM
 CONFIG_G_DNL_THOR_VENDOR_NUM
 CONFIG_G_DNL_UMS_PRODUCT_NUM
 CONFIG_G_DNL_UMS_VENDOR_NUM
-CONFIG_HAS_ETH0
-CONFIG_HAS_ETH1
-CONFIG_HAS_ETH2
-CONFIG_HAS_ETH3
-CONFIG_HAS_FEC
 CONFIG_HAS_FSL_DR_USB
 CONFIG_HAS_FSL_MPH_USB
 CONFIG_HDMI_ENCODER_I2C_ADDR
@@ -502,10 +445,6 @@ CONFIG_L2_CACHE
 CONFIG_LAYERSCAPE_NS_ACCESS
 CONFIG_LBA48
 CONFIG_LCD_ALIGNMENT
-CONFIG_LCD_INFO
-CONFIG_LCD_INFO_BELOW_LOGO
-CONFIG_LCD_IN_PSRAM
-CONFIG_LCD_LOGO
 CONFIG_LCD_MENU
 CONFIG_LD9040
 CONFIG_LEGACY
@@ -513,7 +452,6 @@ CONFIG_LEGACY_BOOTCMD_ENV
 CONFIG_LOADS_ECHO
 CONFIG_LOWPOWER_ADDR
 CONFIG_LOWPOWER_FLAG
-CONFIG_LPC32XX_ETH
 CONFIG_LPC32XX_HSUART
 CONFIG_LPC32XX_NAND_MLC_BUSY_DELAY
 CONFIG_LPC32XX_NAND_MLC_NAND_TA
@@ -548,7 +486,6 @@ CONFIG_MEM_INIT_VALUE
 CONFIG_MEM_REMAP
 CONFIG_MFG_ENV_SETTINGS
 CONFIG_MII_DEFAULT_TSEC
-CONFIG_MII_INIT
 CONFIG_MISC_COMMON
 CONFIG_MIU_2BIT_21_7_INTERLEAVED
 CONFIG_MIU_2BIT_INTERLEAVED
@@ -588,9 +525,7 @@ CONFIG_NAND_SECBOOT
 CONFIG_NAND_SPL
 CONFIG_NETDEV
 CONFIG_NETMASK
-CONFIG_NET_RETRY_COUNT
 CONFIG_NEVER_ASSERT_ODT_TO_CPU
-CONFIG_NFS_TIMEOUT
 CONFIG_NOBQFMAN
 CONFIG_NORBOOT
 CONFIG_NORFLASH_PS32BIT
@@ -633,7 +568,6 @@ CONFIG_PHY_ET1011C_TX_CLK_FIX
 CONFIG_PHY_ID
 CONFIG_PHY_INTERFACE_MODE
 CONFIG_PHY_IRAM_BASE
-CONFIG_PHY_RESET_DELAY
 CONFIG_PL011_CLOCK
 CONFIG_PL01x_PORTS
 CONFIG_PM
@@ -685,12 +619,8 @@ CONFIG_RESERVED_01_BASE
 CONFIG_RESERVED_02_BASE
 CONFIG_RESERVED_03_BASE
 CONFIG_RESERVED_04_BASE
-CONFIG_RESET_PHY_R
-CONFIG_RESET_TO_RETRY
 CONFIG_RESET_VECTOR_ADDRESS
 CONFIG_RESTORE_FLASH
-CONFIG_RES_BLOCK_SIZE
-CONFIG_RMII
 CONFIG_ROCKCHIP_CHIP_TAG
 CONFIG_ROCKCHIP_MAX_INIT_SIZE
 CONFIG_ROCKCHIP_SDHCI_MAX_FREQ
@@ -727,8 +657,6 @@ CONFIG_SC_TIMER_CLK
 CONFIG_SDCARD
 CONFIG_SDRAM_OFFSET_FOR_RT
 CONFIG_SECBOOT
-CONFIG_SECURE_BL1_ONLY
-CONFIG_SEC_FW_SIZE
 CONFIG_SERIAL_BOOT
 CONFIG_SERIAL_FLASH
 CONFIG_SERIAL_SOFTWARE_FIFO
@@ -845,7 +773,6 @@ CONFIG_SYS_AUTOMATIC_SDRAM_DETECTION
 CONFIG_SYS_AUXCORE_BOOTDATA
 CONFIG_SYS_BARGSIZE
 CONFIG_SYS_BAUDRATE_TABLE
-CONFIG_SYS_BCSR
 CONFIG_SYS_BFTIC3_BASE
 CONFIG_SYS_BFTIC3_SIZE
 CONFIG_SYS_BMAN_CENA_BASE
@@ -1089,7 +1016,6 @@ CONFIG_SYS_ETHOC_BUFFER_ADDR
 CONFIG_SYS_ETVPE_CLK
 CONFIG_SYS_EXCEPTION_VECTORS_HIGH
 CONFIG_SYS_FAST_CLK
-CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 CONFIG_SYS_FDT_BASE
 CONFIG_SYS_FDT_PAD
 CONFIG_SYS_FECI2C
@@ -1446,11 +1372,6 @@ CONFIG_SYS_LBC_CACHE_BASE
 CONFIG_SYS_LBC_FLASH_BASE
 CONFIG_SYS_LBC_LBCR
 CONFIG_SYS_LBC_LCRR
-CONFIG_SYS_LBC_LSDMR_1
-CONFIG_SYS_LBC_LSDMR_2
-CONFIG_SYS_LBC_LSDMR_3
-CONFIG_SYS_LBC_LSDMR_4
-CONFIG_SYS_LBC_LSDMR_5
 CONFIG_SYS_LBC_LSDMR_COMMON
 CONFIG_SYS_LBC_LSRT
 CONFIG_SYS_LBC_MRTPR
@@ -1535,8 +1456,6 @@ CONFIG_SYS_MPC83xx_ESDHC_OFFSET
 CONFIG_SYS_MPC83xx_USB1_ADDR
 CONFIG_SYS_MPC83xx_USB1_OFFSET
 CONFIG_SYS_MPC85XX_NO_RESETVEC
-CONFIG_SYS_MPC85xx_CPM_ADDR
-CONFIG_SYS_MPC85xx_CPM_OFFSET
 CONFIG_SYS_MPC85xx_DMA
 CONFIG_SYS_MPC85xx_DMA1_OFFSET
 CONFIG_SYS_MPC85xx_DMA2_OFFSET
@@ -1825,16 +1744,11 @@ CONFIG_SYS_RCAR_I2C3_BASE
 CONFIG_SYS_RFD
 CONFIG_SYS_RGMII1_PHY_ADDR
 CONFIG_SYS_RGMII2_PHY_ADDR
-CONFIG_SYS_RIO_MEM_BUS
-CONFIG_SYS_RIO_MEM_PHYS
-CONFIG_SYS_RIO_MEM_SIZE
-CONFIG_SYS_RIO_MEM_VIRT
 CONFIG_SYS_ROM_BASE
 CONFIG_SYS_RSTC_RMR_VAL
 CONFIG_SYS_RTC_BUS_NUM
 CONFIG_SYS_RTC_CNT
 CONFIG_SYS_RTC_SETUP
-CONFIG_SYS_RX_ETH_BUFFER
 CONFIG_SYS_SATA
 CONFIG_SYS_SATA1
 CONFIG_SYS_SATA1_FLAGS
@@ -2031,7 +1945,6 @@ CONFIG_TEGRA_VDD_CORE_TPS62361B_SET3
 CONFIG_TEGRA_VDD_CORE_TPS62366A_SET1
 CONFIG_TESTPIN_MASK
 CONFIG_TESTPIN_REG
-CONFIG_TFTP_PORT
 CONFIG_THOR_RESET_OFF
 CONFIG_THUNDERX
 CONFIG_TIZEN
diff --git a/scripts/event_dump.py b/scripts/event_dump.py
new file mode 100755 (executable)
index 0000000..751f41b
--- /dev/null
@@ -0,0 +1,115 @@
+#!/usr/bin/env python3
+# SPDX-License-Identifier: GPL-2.0+
+
+"""Decode the evspy_info linker list in a U-Boot ELF image"""
+
+from argparse import ArgumentParser
+import os
+import re
+import struct
+import sys
+
+our_path = os.path.dirname(os.path.realpath(__file__))
+src_path = os.path.dirname(our_path)
+
+sys.path.insert(1, os.path.join(our_path, '../tools'))
+
+from binman import elf
+from patman import tools
+
+PREFIX = '_u_boot_list_2_evspy_info_2_'
+RE_EVTYPE = re.compile('%s(.*)' % PREFIX)
+
+def show_sym(fname, data, endian, evtype, sym):
+    """Show information about an evspy entry
+
+    Args:
+        fname (str): Filename of ELF file
+        data (bytes): Data for this symbol
+        endian (str): Endianness to use ('little', 'big', 'auto')
+        evtype (str): Event type, e.g. 'MISC_INIT_F'
+        sym (elf.Symbol): Symbol to show
+    """
+    def _unpack_val(sym_data, offset):
+        start = offset * func_size
+        val_data = sym_data[start:start + func_size]
+        fmt = '%s%s' % ('>' if endian == 'big' else '<',
+                        'L' if func_size == 4 else 'Q')
+        val = struct.unpack(fmt, val_data)[0]
+        return val
+
+    # Get the data, which is a struct evspy_info
+    sym_data = data[sym.offset:sym.offset + sym.size]
+
+    # Figure out the word size of the struct
+    func_size = 4 if sym.size < 16 else 8
+
+    # Read the function name for evspy_info->func
+    while True:
+        # Switch to big-endian if we see a failure
+        func_addr = _unpack_val(sym_data, 0)
+        func_name = elf.GetSymbolFromAddress(fname, func_addr)
+        if not func_name and endian == 'auto':
+            endian = 'big'
+        else:
+            break
+    has_id = sym.size in [12, 24]
+    if has_id:
+        # Find the address of evspy_info->id in the ELF
+        id_addr = _unpack_val(sym_data, 2)
+
+        # Get the file offset for that address
+        id_ofs = elf.GetFileOffset(fname, id_addr)
+
+        # Read out a nul-terminated string
+        id_data = data[id_ofs:id_ofs + 80]
+        pos = id_data.find(0)
+        if pos:
+            id_data = id_data[:pos]
+        id_str = id_data.decode('utf-8')
+    else:
+        id_str = None
+
+    # Find the file/line for the function
+    cmd = ['addr2line', '-e', fname, '%x' % func_addr]
+    out = tools.run(*cmd).strip()
+
+    # Drop the full path if it is the current directory
+    if out.startswith(src_path):
+        out = out[len(src_path) + 1:]
+    print('%-20s  %-30s  %s' % (evtype, id_str or f'f:{func_name}', out))
+
+def show_event_spy_list(fname, endian):
+    """Show a the event-spy- list from a U-Boot image
+
+    Args:
+        fname (str): Filename of ELF file
+        endian (str): Endianness to use ('little', 'big', 'auto')
+    """
+    syms = elf.GetSymbolFileOffset(fname, [PREFIX])
+    data = tools.read_file(fname)
+    print('%-20s  %-30s  %s' % ('Event type', 'Id', 'Source location'))
+    print('%-20s  %-30s  %s' % ('-' * 20, '-' * 30, '-' * 30))
+    for name, sym in syms.items():
+        m_evtype = RE_EVTYPE.search(name)
+        evtype = m_evtype .group(1)
+        show_sym(fname, data, endian, evtype, sym)
+
+def main(argv):
+    """Main program
+
+    Args:
+        argv (list of str): List of program arguments, excluding arvg[0]
+    """
+    epilog = 'Show a list of even spies in a U-Boot EFL file'
+    parser = ArgumentParser(epilog=epilog)
+    parser.add_argument('elf', type=str, help='ELF file to decode')
+    parser.add_argument('-e', '--endian', type=str, default='auto',
+                        help='Big-endian image')
+    parser.add_argument('-t', '--test', action='store_true',
+                        help='Big-endian image')
+    args = parser.parse_args(argv)
+    show_event_spy_list(args.elf, args.endian)
+
+if __name__ == "__main__":
+    main(sys.argv[1:])
index 8ae807b537794ce9991780ba177262df4eb34bbc..ba338b8dce8513be53f15293a87dcbbb467e4f3d 100644 (file)
@@ -16,18 +16,18 @@ static int dm_test_cmd_pinmux_status_pinname(struct unit_test_state *uts)
        /* Test that 'pinmux status <pinname>' displays the selected pin. */
        console_record_reset();
        run_command("pinmux status a5", 0);
-       ut_assert_nextline("a5        : gpio input .                            ");
+       ut_assert_nextlinen("a5        : gpio input .");
        ut_assert_console_end();
 
        console_record_reset();
        run_command("pinmux status P7", 0);
-       ut_assert_nextline("P7        : GPIO2 bias-pull-down input-enable.      ");
+       ut_assert_nextlinen("P7        : GPIO2 bias-pull-down input-enable.");
        ut_assert_console_end();
 
        console_record_reset();
        run_command("pinmux status P9", 0);
-       ut_assert_nextline("single-pinctrl pinctrl-single-no-width: missing register width");
-       ut_assert_nextline("P9 not found");
+       ut_assert_nextlinen("single-pinctrl pinctrl-single-no-width: missing register width");
+       ut_assert_nextlinen("P9 not found");
        ut_assert_console_end();
 
        return 0;
index 24c9145dccc82d21f44cb1f5d000607243093896..9087788ba6a89819f7cc876f6f16cc18d40986f9 100644 (file)
@@ -1,3 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0+
 obj-y += cmd_ut_common.o
 obj-$(CONFIG_AUTOBOOT) += test_autoboot.o
+obj-$(CONFIG_EVENT) += event.o
diff --git a/test/common/event.c b/test/common/event.c
new file mode 100644 (file)
index 0000000..6037ae2
--- /dev/null
@@ -0,0 +1,85 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Unit tests for event handling
+ *
+ * Copyright 2021 Google LLC
+ * Written by Simon Glass <sjg@chromium.org>
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <event.h>
+#include <test/common.h>
+#include <test/test.h>
+#include <test/ut.h>
+
+struct test_state {
+       struct udevice *dev;
+       int val;
+};
+
+static int h_adder(void *ctx, struct event *event)
+{
+       struct event_data_test *data = &event->data.test;
+       struct test_state *test_state = ctx;
+
+       test_state->val += data->signal;
+
+       return 0;
+}
+
+static int test_event_base(struct unit_test_state *uts)
+{
+       struct test_state state;
+       int signal;
+
+       state.val = 12;
+       ut_assertok(event_register("wibble", EVT_TEST, h_adder, &state));
+
+       signal = 17;
+
+       /* Check that the handler is called */
+       ut_assertok(event_notify(EVT_TEST, &signal, sizeof(signal)));
+       ut_asserteq(12 + 17, state.val);
+
+       return 0;
+}
+COMMON_TEST(test_event_base, 0);
+
+static int h_probe(void *ctx, struct event *event)
+{
+       struct test_state *test_state = ctx;
+
+       test_state->dev = event->data.dm.dev;
+       switch (event->type) {
+       case EVT_DM_PRE_PROBE:
+               test_state->val |= 1;
+               break;
+       case EVT_DM_POST_PROBE:
+               test_state->val |= 2;
+               break;
+       default:
+               break;
+       }
+
+       return 0;
+}
+
+static int test_event_probe(struct unit_test_state *uts)
+{
+       struct test_state state;
+       struct udevice *dev;
+
+       state.val = 0;
+       ut_assertok(event_register("pre", EVT_DM_PRE_PROBE, h_probe, &state));
+       ut_assertok(event_register("post", EVT_DM_POST_PROBE, h_probe, &state));
+
+       /* Probe a device */
+       ut_assertok(uclass_first_device_err(UCLASS_TEST_FDT, &dev));
+
+       /* Check that the handler is called */
+       ut_asserteq(3, state.val);
+
+       return 0;
+}
+COMMON_TEST(test_event_probe, UT_TESTF_DM | UT_TESTF_SCAN_FDT);
index c938e6d4fc0f1d92c60a4f61490cb02c3cffce3d..795f207304a840a3b8a5e00d77d20d3a739a165d 100644 (file)
@@ -5,7 +5,7 @@
  * Tests scmi_agent uclass and the SCMI drivers implemented in other
  * uclass devices probe when a SCMI server exposes resources.
  *
- * Note in test.dts the protocol@10 node in agent 1. Protocol 0x10 is not
+ * Note in test.dts the protocol@10 node in scmi node. Protocol 0x10 is not
  * implemented in U-Boot SCMI components but the implementation is exepected
  * to not complain on unknown protocol IDs, as long as it is not used. Note
  * in test.dts tests that SCMI drivers probing does not fail for such an
@@ -28,8 +28,7 @@ static int ut_assert_scmi_state_preprobe(struct unit_test_state *uts)
        struct sandbox_scmi_service *scmi_ctx = sandbox_scmi_service_ctx();
 
        ut_assertnonnull(scmi_ctx);
-       if (scmi_ctx->agent_count)
-               ut_asserteq(2, scmi_ctx->agent_count);
+       ut_assertnull(scmi_ctx->agent);
 
        return 0;
 }
@@ -39,35 +38,26 @@ static int ut_assert_scmi_state_postprobe(struct unit_test_state *uts,
 {
        struct sandbox_scmi_devices *scmi_devices;
        struct sandbox_scmi_service *scmi_ctx;
-       struct sandbox_scmi_agent *agent0;
-       struct sandbox_scmi_agent *agent1;
+       struct sandbox_scmi_agent *agent;
 
        /* Device references to check context against test sequence */
        scmi_devices = sandbox_scmi_devices_ctx(dev);
-
        ut_assertnonnull(scmi_devices);
-       ut_asserteq(3, scmi_devices->clk_count);
+       ut_asserteq(2, scmi_devices->clk_count);
        ut_asserteq(1, scmi_devices->reset_count);
        ut_asserteq(2, scmi_devices->regul_count);
 
        /* State of the simulated SCMI server exposed */
        scmi_ctx = sandbox_scmi_service_ctx();
-       agent0 = scmi_ctx->agent[0];
-       agent1 = scmi_ctx->agent[1];
-
-       ut_asserteq(2, scmi_ctx->agent_count);
-
-       ut_assertnonnull(agent0);
-       ut_asserteq(2, agent0->clk_count);
-       ut_assertnonnull(agent0->clk);
-       ut_asserteq(1, agent0->reset_count);
-       ut_assertnonnull(agent0->reset);
-       ut_asserteq(2, agent0->voltd_count);
-       ut_assertnonnull(agent0->voltd);
-
-       ut_assertnonnull(agent1);
-       ut_assertnonnull(agent1->clk);
-       ut_asserteq(1, agent1->clk_count);
+       ut_assertnonnull(scmi_ctx);
+       agent = scmi_ctx->agent;
+       ut_assertnonnull(agent);
+       ut_asserteq(3, agent->clk_count);
+       ut_assertnonnull(agent->clk);
+       ut_asserteq(1, agent->reset_count);
+       ut_assertnonnull(agent->reset);
+       ut_asserteq(2, agent->voltd_count);
+       ut_assertnonnull(agent->voltd);
 
        return 0;
 }
@@ -118,9 +108,8 @@ static int dm_test_scmi_clocks(struct unit_test_state *uts)
 {
        struct sandbox_scmi_devices *scmi_devices;
        struct sandbox_scmi_service *scmi_ctx;
-       struct sandbox_scmi_agent *agent0;
-       struct sandbox_scmi_agent *agent1;
-       struct udevice *dev = NULL;
+       struct sandbox_scmi_agent *agent;
+       struct udevice *dev;
        int ret_dev;
        int ret;
 
@@ -129,48 +118,50 @@ static int dm_test_scmi_clocks(struct unit_test_state *uts)
                return ret;
 
        scmi_devices = sandbox_scmi_devices_ctx(dev);
+       ut_assertnonnull(scmi_devices);
        scmi_ctx = sandbox_scmi_service_ctx();
-       agent0 = scmi_ctx->agent[0];
-       agent1 = scmi_ctx->agent[1];
+       ut_assertnonnull(scmi_ctx);
+       agent = scmi_ctx->agent;
+       ut_assertnonnull(agent);
 
        /* Test SCMI clocks rate manipulation */
+       ut_asserteq(333, agent->clk[0].rate);
+       ut_asserteq(200, agent->clk[1].rate);
+       ut_asserteq(1000, agent->clk[2].rate);
+
        ut_asserteq(1000, clk_get_rate(&scmi_devices->clk[0]));
        ut_asserteq(333, clk_get_rate(&scmi_devices->clk[1]));
-       ut_asserteq(44, clk_get_rate(&scmi_devices->clk[2]));
 
        ret_dev = clk_set_rate(&scmi_devices->clk[1], 1088);
        ut_assert(!ret_dev || ret_dev == 1088);
 
-       ut_asserteq(1000, agent0->clk[0].rate);
-       ut_asserteq(1088, agent0->clk[1].rate);
-       ut_asserteq(44, agent1->clk[0].rate);
+       ut_asserteq(1088, agent->clk[0].rate);
+       ut_asserteq(200, agent->clk[1].rate);
+       ut_asserteq(1000, agent->clk[2].rate);
 
        ut_asserteq(1000, clk_get_rate(&scmi_devices->clk[0]));
        ut_asserteq(1088, clk_get_rate(&scmi_devices->clk[1]));
-       ut_asserteq(44, clk_get_rate(&scmi_devices->clk[2]));
 
        /* restore original rate for further tests */
        ret_dev = clk_set_rate(&scmi_devices->clk[1], 333);
        ut_assert(!ret_dev || ret_dev == 333);
 
        /* Test SCMI clocks gating manipulation */
-       ut_assert(!agent0->clk[0].enabled);
-       ut_assert(!agent0->clk[1].enabled);
-       ut_assert(!agent1->clk[0].enabled);
+       ut_assert(!agent->clk[0].enabled);
+       ut_assert(!agent->clk[1].enabled);
+       ut_assert(!agent->clk[2].enabled);
 
        ut_asserteq(0, clk_enable(&scmi_devices->clk[1]));
-       ut_asserteq(0, clk_enable(&scmi_devices->clk[2]));
 
-       ut_assert(!agent0->clk[0].enabled);
-       ut_assert(agent0->clk[1].enabled);
-       ut_assert(agent1->clk[0].enabled);
+       ut_assert(agent->clk[0].enabled);
+       ut_assert(!agent->clk[1].enabled);
+       ut_assert(!agent->clk[2].enabled);
 
        ut_assertok(clk_disable(&scmi_devices->clk[1]));
-       ut_assertok(clk_disable(&scmi_devices->clk[2]));
 
-       ut_assert(!agent0->clk[0].enabled);
-       ut_assert(!agent0->clk[1].enabled);
-       ut_assert(!agent1->clk[0].enabled);
+       ut_assert(!agent->clk[0].enabled);
+       ut_assert(!agent->clk[1].enabled);
+       ut_assert(!agent->clk[2].enabled);
 
        return release_sandbox_scmi_test_devices(uts, dev);
 }
@@ -180,7 +171,7 @@ static int dm_test_scmi_resets(struct unit_test_state *uts)
 {
        struct sandbox_scmi_devices *scmi_devices;
        struct sandbox_scmi_service *scmi_ctx;
-       struct sandbox_scmi_agent *agent0;
+       struct sandbox_scmi_agent *agent;
        struct udevice *dev = NULL;
        int ret;
 
@@ -189,17 +180,20 @@ static int dm_test_scmi_resets(struct unit_test_state *uts)
                return ret;
 
        scmi_devices = sandbox_scmi_devices_ctx(dev);
+       ut_assertnonnull(scmi_devices);
        scmi_ctx = sandbox_scmi_service_ctx();
-       agent0 = scmi_ctx->agent[0];
+       ut_assertnonnull(scmi_ctx);
+       agent = scmi_ctx->agent;
+       ut_assertnonnull(agent);
 
        /* Test SCMI resect controller manipulation */
-       ut_assert(!agent0->reset[0].asserted)
+       ut_assert(!agent->reset[0].asserted)
 
        ut_assertok(reset_assert(&scmi_devices->reset[0]));
-       ut_assert(agent0->reset[0].asserted)
+       ut_assert(agent->reset[0].asserted)
 
        ut_assertok(reset_deassert(&scmi_devices->reset[0]));
-       ut_assert(!agent0->reset[0].asserted);
+       ut_assert(!agent->reset[0].asserted);
 
        return release_sandbox_scmi_test_devices(uts, dev);
 }
@@ -209,7 +203,7 @@ static int dm_test_scmi_voltage_domains(struct unit_test_state *uts)
 {
        struct sandbox_scmi_devices *scmi_devices;
        struct sandbox_scmi_service *scmi_ctx;
-       struct sandbox_scmi_agent *agent0;
+       struct sandbox_scmi_agent *agent;
        struct dm_regulator_uclass_plat *uc_pdata;
        struct udevice *dev;
        struct udevice *regul0_dev;
@@ -217,8 +211,11 @@ static int dm_test_scmi_voltage_domains(struct unit_test_state *uts)
        ut_assertok(load_sandbox_scmi_test_devices(uts, &dev));
 
        scmi_devices = sandbox_scmi_devices_ctx(dev);
+       ut_assertnonnull(scmi_devices);
        scmi_ctx = sandbox_scmi_service_ctx();
-       agent0 = scmi_ctx->agent[0];
+       ut_assertnonnull(scmi_ctx);
+       agent = scmi_ctx->agent;
+       ut_assertnonnull(agent);
 
        /* Set/Get an SCMI voltage domain level */
        regul0_dev = scmi_devices->regul[0];
@@ -228,32 +225,32 @@ static int dm_test_scmi_voltage_domains(struct unit_test_state *uts)
        ut_assert(uc_pdata);
 
        ut_assertok(regulator_set_value(regul0_dev, uc_pdata->min_uV));
-       ut_asserteq(agent0->voltd[0].voltage_uv, uc_pdata->min_uV);
+       ut_asserteq(agent->voltd[0].voltage_uv, uc_pdata->min_uV);
 
        ut_assert(regulator_get_value(regul0_dev) == uc_pdata->min_uV);
 
        ut_assertok(regulator_set_value(regul0_dev, uc_pdata->max_uV));
-       ut_asserteq(agent0->voltd[0].voltage_uv, uc_pdata->max_uV);
+       ut_asserteq(agent->voltd[0].voltage_uv, uc_pdata->max_uV);
 
        ut_assert(regulator_get_value(regul0_dev) == uc_pdata->max_uV);
 
        /* Enable/disable SCMI voltage domains */
        ut_assertok(regulator_set_enable(scmi_devices->regul[0], false));
        ut_assertok(regulator_set_enable(scmi_devices->regul[1], false));
-       ut_assert(!agent0->voltd[0].enabled);
-       ut_assert(!agent0->voltd[1].enabled);
+       ut_assert(!agent->voltd[0].enabled);
+       ut_assert(!agent->voltd[1].enabled);
 
        ut_assertok(regulator_set_enable(scmi_devices->regul[0], true));
-       ut_assert(agent0->voltd[0].enabled);
-       ut_assert(!agent0->voltd[1].enabled);
+       ut_assert(agent->voltd[0].enabled);
+       ut_assert(!agent->voltd[1].enabled);
 
        ut_assertok(regulator_set_enable(scmi_devices->regul[1], true));
-       ut_assert(agent0->voltd[0].enabled);
-       ut_assert(agent0->voltd[1].enabled);
+       ut_assert(agent->voltd[0].enabled);
+       ut_assert(agent->voltd[1].enabled);
 
        ut_assertok(regulator_set_enable(scmi_devices->regul[0], false));
-       ut_assert(!agent0->voltd[0].enabled);
-       ut_assert(agent0->voltd[1].enabled);
+       ut_assert(!agent->voltd[0].enabled);
+       ut_assert(agent->voltd[1].enabled);
 
        return release_sandbox_scmi_test_devices(uts, dev);
 }
index e7cabf5680cf58bd505c617854b52fae61f05db5..df389e26f902f8961055ae6be1053287c46d4823 100644 (file)
@@ -56,7 +56,6 @@ struct image_header *spl_get_load_buffer(ssize_t offset, size_t size)
 
 static int spl_test_load(struct unit_test_state *uts)
 {
-       const char *cur_prefix, *next_prefix;
        struct spl_image_info image;
        struct image_header *header;
        struct text_ctx text_ctx;
@@ -69,10 +68,7 @@ static int spl_test_load(struct unit_test_state *uts)
        load.bl_len = 512;
        load.read = read_fit_image;
 
-       cur_prefix = spl_phase_prefix(spl_phase());
-       next_prefix = spl_phase_prefix(spl_next_phase());
-       ret = os_find_u_boot(fname, sizeof(fname), true, cur_prefix,
-                            next_prefix);
+       ret = sandbox_find_next_phase(fname, sizeof(fname), true);
        if (ret) {
                printf("(%s not found, error %d)\n", fname, ret);
                return ret;
index a04a7ff264cad938c23823afd65d4a07019a0497..a3f883136b053a0805d07e51c07e1635e394815f 100644 (file)
@@ -66,7 +66,7 @@ def test_avb_mmc_uuid(u_boot_console):
             part_list[cur_partname] = guid_to_check[1]
 
     # lets check all guids with avb get_guid
-    for part, guid in part_list.iteritems():
+    for part, guid in part_list.items():
         avb_guid_resp = u_boot_console.run_command('avb get_uuid %s' % part)
         assert guid == avb_guid_resp.split('UUID: ')[1]
 
index 9f234fb635077d30f3a6549a95e5f667177c97ee..8ad277da190b2d85ded09f9adcb0fb8217541ba9 100644 (file)
@@ -131,7 +131,7 @@ def test_bind_unbind_with_uclass(u_boot_console):
        child2_index = int(child2_line[0].split()[1])
 
        #bind simple_bus as a child of bind-test-child2
-       response = u_boot_console.run_command('bind  {} {} simple_bus'.format(child2_uclass, child2_index, 'simple_bus'))
+       response = u_boot_console.run_command('bind  {} {} simple_bus'.format(child2_uclass, child2_index))
 
        #check that the child is there and its uclass/index pair is right
        tree = u_boot_console.run_command('dm tree')
@@ -152,7 +152,7 @@ def test_bind_unbind_with_uclass(u_boot_console):
        assert child_of_child2_line == ''
 
        #bind simple_bus as a child of bind-test-child2
-       response = u_boot_console.run_command('bind  {} {} simple_bus'.format(child2_uclass, child2_index, 'simple_bus'))
+       response = u_boot_console.run_command('bind  {} {} simple_bus'.format(child2_uclass, child2_index))
 
        #check that the child is there and its uclass/index pair is right
        tree = u_boot_console.run_command('dm tree')
@@ -165,7 +165,7 @@ def test_bind_unbind_with_uclass(u_boot_console):
        assert child_of_child2_index == child2_index + 1
 
        #unbind the child and check it has been removed
-       response = u_boot_console.run_command('unbind  {} {} simple_bus'.format(child2_uclass, child2_index, 'simple_bus'))
+       response = u_boot_console.run_command('unbind  {} {} simple_bus'.format(child2_uclass, child2_index))
        assert response == ''
 
        tree = u_boot_console.run_command('dm tree')
@@ -176,7 +176,7 @@ def test_bind_unbind_with_uclass(u_boot_console):
 
        #unbind the child again and check it doesn't change the tree
        tree_old = u_boot_console.run_command('dm tree')
-       response = u_boot_console.run_command('unbind  {} {} simple_bus'.format(child2_uclass, child2_index, 'simple_bus'))
+       response = u_boot_console.run_command('unbind  {} {} simple_bus'.format(child2_uclass, child2_index))
        tree_new = u_boot_console.run_command('dm tree')
 
        assert response == ''
diff --git a/test/py/tests/test_event_dump.py b/test/py/tests/test_event_dump.py
new file mode 100644 (file)
index 0000000..b753e80
--- /dev/null
@@ -0,0 +1,20 @@
+# SPDX-License-Identifier: GPL-2.0+
+# Copyright 2021 Google LLC
+# Written by Simon Glass <sjg@chromium.org>
+
+import pytest
+import re
+import u_boot_utils as util
+
+# This is only a partial test - coverting 64-bit sandbox. It does not test
+# big-endian images, nor 32-bit images
+@pytest.mark.boardspec('sandbox')
+def test_event_dump(u_boot_console):
+    """Test that the "help" command can be executed."""
+    cons = u_boot_console
+    sandbox = cons.config.build_dir + '/u-boot'
+    out = util.run_and_log(cons, ['scripts/event_dump.py', sandbox])
+    expect = '''.*Event type            Id                              Source location
+--------------------  ------------------------------  ------------------------------
+EVT_MISC_INIT_F       sandbox_misc_init_f             .*arch/sandbox/cpu/start.c:'''
+    assert re.match(expect, out, re.MULTILINE) is not None
diff --git a/test/py/tests/test_fs/test_erofs.py b/test/py/tests/test_fs/test_erofs.py
new file mode 100644 (file)
index 0000000..458a52b
--- /dev/null
@@ -0,0 +1,211 @@
+# SPDX-License-Identifier: GPL-2.0+
+# Copyright (C) 2022 Huang Jianan <jnhuang95@gmail.com>
+# Author: Huang Jianan <jnhuang95@gmail.com>
+
+import os
+import pytest
+import shutil
+import subprocess
+
+EROFS_SRC_DIR = 'erofs_src_dir'
+EROFS_IMAGE_NAME = 'erofs.img'
+
+def generate_file(name, size):
+    """
+    Generates a file filled with 'x'.
+    """
+    content = 'x' * size
+    file = open(name, 'w')
+    file.write(content)
+    file.close()
+
+def make_erofs_image(build_dir):
+    """
+    Makes the EROFS images used for the test.
+
+    The image is generated at build_dir with the following structure:
+    erofs_src_dir/
+    â”œâ”€â”€ f4096
+    â”œâ”€â”€ f7812
+    â”œâ”€â”€ subdir/
+    â”‚   â””── subdir-file
+    â”œâ”€â”€ symdir -> subdir
+    â””── symfile -> f5096
+    """
+    root = os.path.join(build_dir, EROFS_SRC_DIR)
+    os.makedirs(root)
+
+    # 4096: uncompressed file
+    generate_file(os.path.join(root, 'f4096'), 4096)
+
+    # 7812: Compressed file
+    generate_file(os.path.join(root, 'f7812'), 7812)
+
+    # sub-directory with a single file inside
+    subdir_path = os.path.join(root, 'subdir')
+    os.makedirs(subdir_path)
+    generate_file(os.path.join(subdir_path, 'subdir-file'), 100)
+
+    # symlink
+    os.symlink('subdir', os.path.join(root, 'symdir'))
+    os.symlink('f7812', os.path.join(root, 'symfile'))
+
+    input_path = os.path.join(build_dir, EROFS_SRC_DIR)
+    output_path = os.path.join(build_dir, EROFS_IMAGE_NAME)
+    args = ' '.join([output_path, input_path])
+    subprocess.run(['mkfs.erofs -zlz4 ' + args], shell=True, check=True,
+                   stdout=subprocess.DEVNULL)
+
+def clean_erofs_image(build_dir):
+    """
+    Deletes the image and src_dir at build_dir.
+    """
+    path = os.path.join(build_dir, EROFS_SRC_DIR)
+    shutil.rmtree(path)
+    image_path = os.path.join(build_dir, EROFS_IMAGE_NAME)
+    os.remove(image_path)
+
+def erofs_ls_at_root(u_boot_console):
+    """
+    Test if all the present files and directories were listed.
+    """
+    no_slash = u_boot_console.run_command('erofsls host 0')
+    slash = u_boot_console.run_command('erofsls host 0 /')
+    assert no_slash == slash
+
+    expected_lines = ['./', '../', '4096   f4096', '7812   f7812', 'subdir/',
+                      '<SYM>   symdir', '<SYM>   symfile', '4 file(s), 3 dir(s)']
+
+    output = u_boot_console.run_command('erofsls host 0')
+    for line in expected_lines:
+        assert line in output
+
+def erofs_ls_at_subdir(u_boot_console):
+    """
+    Test if the path resolution works.
+    """
+    expected_lines = ['./', '../', '100   subdir-file', '1 file(s), 2 dir(s)']
+    output = u_boot_console.run_command('erofsls host 0 subdir')
+    for line in expected_lines:
+        assert line in output
+
+def erofs_ls_at_symlink(u_boot_console):
+    """
+    Test if the symbolic link's target resolution works.
+    """
+    output = u_boot_console.run_command('erofsls host 0 symdir')
+    output_subdir = u_boot_console.run_command('erofsls host 0 subdir')
+    assert output == output_subdir
+
+    expected_lines = ['./', '../', '100   subdir-file', '1 file(s), 2 dir(s)']
+    for line in expected_lines:
+        assert line in output
+
+def erofs_ls_at_non_existent_dir(u_boot_console):
+    """
+    Test if the EROFS support will crash when get a nonexistent directory.
+    """
+    out_non_existent = u_boot_console.run_command('erofsls host 0 fff')
+    out_not_dir = u_boot_console.run_command('erofsls host 0 f1000')
+    assert out_non_existent == out_not_dir
+    assert '' in out_non_existent
+
+def erofs_load_files(u_boot_console, files, sizes, address):
+    """
+    Loads files and asserts their checksums.
+    """
+    build_dir = u_boot_console.config.build_dir
+    for (file, size) in zip(files, sizes):
+        out = u_boot_console.run_command('erofsload host 0 {} {}'.format(address, file))
+
+        # check if the right amount of bytes was read
+        assert size in out
+
+        # calculate u-boot file's checksum
+        out = u_boot_console.run_command('md5sum {} {}'.format(address, hex(int(size))))
+        u_boot_checksum = out.split()[-1]
+
+        # calculate original file's checksum
+        original_file_path = os.path.join(build_dir, EROFS_SRC_DIR + '/' + file)
+        out = subprocess.run(['md5sum ' + original_file_path], shell=True, check=True,
+                             capture_output=True, text=True)
+        original_checksum = out.stdout.split()[0]
+
+        # compare checksum
+        assert u_boot_checksum == original_checksum
+
+def erofs_load_files_at_root(u_boot_console):
+    """
+    Test load file from the root directory.
+    """
+    files = ['f4096', 'f7812']
+    sizes = ['4096', '7812']
+    address = '$kernel_addr_r'
+    erofs_load_files(u_boot_console, files, sizes, address)
+
+def erofs_load_files_at_subdir(u_boot_console):
+    """
+    Test load file from the subdirectory.
+    """
+    files = ['subdir/subdir-file']
+    sizes = ['100']
+    address = '$kernel_addr_r'
+    erofs_load_files(u_boot_console, files, sizes, address)
+
+def erofs_load_files_at_symlink(u_boot_console):
+    """
+    Test load file from the symlink.
+    """
+    files = ['symfile']
+    sizes = ['7812']
+    address = '$kernel_addr_r'
+    erofs_load_files(u_boot_console, files, sizes, address)
+
+def erofs_load_non_existent_file(u_boot_console):
+    """
+    Test if the EROFS support will crash when load a nonexistent file.
+    """
+    address = '$kernel_addr_r'
+    file = 'non-existent'
+    out = u_boot_console.run_command('erofsload host 0 {} {}'.format(address, file))
+    assert 'Failed to load' in out
+
+def erofs_run_all_tests(u_boot_console):
+    """
+    Runs all test cases.
+    """
+    erofs_ls_at_root(u_boot_console)
+    erofs_ls_at_subdir(u_boot_console)
+    erofs_ls_at_symlink(u_boot_console)
+    erofs_ls_at_non_existent_dir(u_boot_console)
+    erofs_load_files_at_root(u_boot_console)
+    erofs_load_files_at_subdir(u_boot_console)
+    erofs_load_files_at_symlink(u_boot_console)
+    erofs_load_non_existent_file(u_boot_console)
+
+@pytest.mark.boardspec('sandbox')
+@pytest.mark.buildconfigspec('cmd_fs_generic')
+@pytest.mark.buildconfigspec('cmd_erofs')
+@pytest.mark.buildconfigspec('fs_erofs')
+@pytest.mark.requiredtool('mkfs.erofs')
+@pytest.mark.requiredtool('md5sum')
+
+def test_erofs(u_boot_console):
+    """
+    Executes the erofs test suite.
+    """
+    build_dir = u_boot_console.config.build_dir
+
+    try:
+        # setup test environment
+        make_erofs_image(build_dir)
+        image_path = os.path.join(build_dir, EROFS_IMAGE_NAME)
+        u_boot_console.run_command('host bind 0 {}'.format(image_path))
+        # run all tests
+        erofs_run_all_tests(u_boot_console)
+    except:
+        clean_erofs_image(build_dir)
+        raise AssertionError
+
+    # clean test environment
+    clean_erofs_image(build_dir)
index 9825c21716b8fff75b5335a4873094e0692a96ef..e2b0cd65468b94aa1cabcd25a202900c9fc7f8ea 100644 (file)
@@ -482,4 +482,5 @@ if __name__ == '__main__':
         print('valid attack names: [fakeroot, kernel@]')
         sys.exit(1)
 
-    add_evil_node(sys.argv[1:])
+    in_fname, out_fname, kernel_fname, attack = sys.argv[1:]
+    add_evil_node(in_fname, out_fname, kernel_fname, attack)
index 3938ec1302463a57ff49cf73e92873b29d5419d9..58ec859b34f1ac188e3413c79881cdc15f36a943 100644 (file)
@@ -115,6 +115,14 @@ class ConsoleBase(object):
         self.at_prompt = False
         self.at_prompt_logevt = None
 
+    def get_spawn(self):
+        # This is not called, ssubclass must define this.
+        # Return a value to avoid:
+        #   u_boot_console_base.py:348:12: E1128: Assigning result of a function
+        #   call, where the function returns None (assignment-from-none)
+        return u_boot_spawn.Spawn([])
+
+
     def eval_bad_patterns(self):
         self.bad_patterns = [pat[PAT_RE] for pat in bad_pattern_defs \
             if self.disable_check_count[pat[PAT_ID]] == 0]
index 8fcb02ecea5c405ae05993be57acc7cefb2dc04c..ee38d1faea8ded036c8afa66fbd3af947e70f0eb 100644 (file)
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <console.h>
 #include <dm.h>
+#include <event.h>
 #include <dm/root.h>
 #include <dm/test.h>
 #include <dm/uclass-internal.h>
@@ -218,6 +219,8 @@ static int dm_test_restore(struct device_node *of_root)
  */
 static int test_pre_run(struct unit_test_state *uts, struct unit_test *test)
 {
+       ut_assertok(event_init());
+
        if (test->flags & UT_TESTF_DM)
                ut_assertok(dm_test_pre_run(uts));
 
@@ -260,6 +263,7 @@ static int test_post_run(struct unit_test_state *uts, struct unit_test *test)
        ut_unsilence_console(uts);
        if (test->flags & UT_TESTF_DM)
                ut_assertok(dm_test_post_run(uts));
+       ut_assertok(event_uninit());
 
        return 0;
 }
index 771645380ed1a4a439703fe94d6b577f3a75577d..935839c433e897b2a19ef596879fec4013542eb7 100644 (file)
@@ -480,8 +480,8 @@ image-pos:
     for each entry. This makes it easy to find out exactly where the entry
     ended up in the image, regardless of parent sections, etc.
 
-expand-size:
-    Expand the size of this entry to fit available space. This space is only
+extend-size:
+    Extend the size of this entry to fit available space. This space is only
     limited by the size of the image/section and the position of the next
     entry.
 
@@ -1375,18 +1375,20 @@ Some entry types deal with data obtained from others. For example,
     };
 
 This shows mkimage being passed a file consisting of SPL and U-Boot proper. It
-is create by calling `Entry.collect_contents_to_file()`. Note that in this case,
-the data is passed to mkimage for processing but does not appear separately in
-the image. It may not appear at all, depending on what mkimage does. The
-contents of the `mkimage` entry are entirely dependent on the processing done
-by the entry, with the provided subnodes (`u-boot-spl` and `u-boot`) simply
-providing the input data for that processing.
+is created by calling `Entry.collect_contents_to_file()`. Note that in this
+case, the data is passed to mkimage for processing but does not appear
+separately in the image. It may not appear at all, depending on what mkimage
+does. The contents of the `mkimage` entry are entirely dependent on the
+processing done by the entry, with the provided subnodes (`u-boot-spl` and
+`u-boot`) simply providing the input data for that processing.
 
 Note that `Entry.collect_contents_to_file()` simply concatenates the data from
 the different entries together, with no control over alignment, etc. Another
 approach is to subclass `Entry_section` so that those features become available,
 such as `size` and `pad-byte`. Then the contents of the entry can be obtained by
-calling `BuildSectionData()`.
+calling `super().BuildSectionData()` in the entry's BuildSectionData()
+implementation to get the input data, then write it to a file and process it
+however is desired.
 
 There are other ways to obtain data also, depending on the situation. If the
 entry type is simply signing data which exists elsewhere in the image, then
@@ -1396,6 +1398,7 @@ is used by `Entry_vblock`, for example::
 
     u_boot: u-boot {
     };
+
     vblock {
         content = <&u_boot &dtb>;
         keyblock = "firmware.keyblock";
@@ -1440,9 +1443,11 @@ The `soc-fw` node is a `blob-ext` (i.e. it reads in a named binary file) whereas
 a known blob type.
 
 When adding new entry types you are encouraged to use subnodes to provide the
-data for processing, unless the `content` approach is more suitable. Ad-hoc
-properties and other methods of obtaining data are discouraged, since it adds to
-confusion for users.
+data for processing, unless the `content` approach is more suitable. Consider
+whether the input entries are contained within (or consumed by) the entry, vs
+just being 'referenced' by the entry. In the latter case, the `content` approach
+makes more sense. Ad-hoc properties and other methods of obtaining data are
+discouraged, since it adds to confusion for users.
 
 History / Credits
 -----------------
@@ -1495,7 +1500,8 @@ Some ideas:
 - Figure out how to make Fdt support changing the node order, so that
   Node.AddSubnode() can support adding a node before another, existing node.
   Perhaps it should completely regenerate the flat tree?
-
+- Put faked files into a separate subdir and remove them on start-up, to avoid
+  seeing them as 'real' files on a subsequent run
 
 --
 Simon Glass <sjg@chromium.org>
index 0626b850f487d292a96c97f0d4479b3e1cc5df71..1d1ca43993d661f64141a9d1498e1fb5859fb162 100644 (file)
@@ -7,7 +7,7 @@
 
 import argparse
 from argparse import ArgumentParser
-import state
+from binman import state
 
 def make_extract_parser(subparsers):
     """make_extract_parser: Make a subparser for the 'extract' command
index a179f78129884e60e0c1651c1d413e719b0da29f..d4c8dc89201bd6eb3313f34fe06093aae94549dc 100644 (file)
@@ -20,6 +20,10 @@ from binman import elf
 from patman import command
 from patman import tout
 
+# These are imported if needed since they import libfdt
+state = None
+Image = None
+
 # List of images we plan to create
 # Make this global so that it can be referenced from tests
 images = OrderedDict()
@@ -41,6 +45,8 @@ def _ReadImageDesc(binman_node, use_expanded):
     Returns:
         OrderedDict of Image objects, each of which describes an image
     """
+    # For Image()
+    # pylint: disable=E1102
     images = OrderedDict()
     if 'multiple-images' in binman_node.props:
         for node in binman_node.subnodes:
@@ -501,7 +507,7 @@ def PrepareImagesAndDtbs(dtb_fname, select_images, update_fdt, use_expanded):
     # entry offsets remain the same.
     for image in images.values():
         image.CollectBintools()
-        image.ExpandEntries()
+        image.gen_entries()
         if update_fdt:
             image.AddMissingProperties(True)
         image.ProcessFdt(dtb)
index 5e7d6ae7b97f6a84a0287c80abe739791065e1b9..afa05e58fdd85e947e621fbd3b9d18b78d452f04 100644 (file)
@@ -85,6 +85,57 @@ def GetSymbols(fname, patterns):
     # Sort dict by address
     return OrderedDict(sorted(syms.items(), key=lambda x: x[1].address))
 
+def _GetFileOffset(elf, addr):
+    """Get the file offset for an address
+
+    Args:
+        elf (ELFFile): ELF file to check
+        addr (int): Address to search for
+
+    Returns
+        int: Offset of that address in the ELF file, or None if not valid
+    """
+    for seg in elf.iter_segments():
+        seg_end = seg['p_vaddr'] + seg['p_filesz']
+        if seg.header['p_type'] == 'PT_LOAD':
+            if addr >= seg['p_vaddr'] and addr < seg_end:
+                return addr - seg['p_vaddr'] + seg['p_offset']
+
+def GetFileOffset(fname, addr):
+    """Get the file offset for an address
+
+    Args:
+        fname (str): Filename of ELF file to check
+        addr (int): Address to search for
+
+    Returns
+        int: Offset of that address in the ELF file, or None if not valid
+    """
+    if not ELF_TOOLS:
+        raise ValueError("Python: No module named 'elftools'")
+    with open(fname, 'rb') as fd:
+        elf = ELFFile(fd)
+        return _GetFileOffset(elf, addr)
+
+def GetSymbolFromAddress(fname, addr):
+    """Get the symbol at a particular address
+
+    Args:
+        fname (str): Filename of ELF file to check
+        addr (int): Address to search for
+
+    Returns:
+        str: Symbol name, or None if no symbol at that address
+    """
+    if not ELF_TOOLS:
+        raise ValueError("Python: No module named 'elftools'")
+    with open(fname, 'rb') as fd:
+        elf = ELFFile(fd)
+        syms = GetSymbols(fname, None)
+    for name, sym in syms.items():
+        if sym.address == addr:
+            return name
+
 def GetSymbolFileOffset(fname, patterns):
     """Get the symbols from an ELF file
 
@@ -97,15 +148,8 @@ def GetSymbolFileOffset(fname, patterns):
           key: Name of symbol
           value: Hex value of symbol
     """
-    def _GetFileOffset(elf, addr):
-        for seg in elf.iter_segments():
-            seg_end = seg['p_vaddr'] + seg['p_filesz']
-            if seg.header['p_type'] == 'PT_LOAD':
-                if addr >= seg['p_vaddr'] and addr < seg_end:
-                    return addr - seg['p_vaddr'] + seg['p_offset']
-
     if not ELF_TOOLS:
-        raise ValueError('Python elftools package is not available')
+        raise ValueError("Python: No module named 'elftools'")
 
     syms = {}
     with open(fname, 'rb') as fd:
@@ -371,7 +415,7 @@ def UpdateFile(infile, outfile, start_sym, end_sym, insert):
     tools.write_file(outfile, newdata)
     tout.info('Written to offset %#x' % syms[start_sym].offset)
 
-def read_segments(data):
+def read_loadable_segments(data):
     """Read segments from an ELF file
 
     Args:
@@ -389,7 +433,7 @@ def read_segments(data):
         ValueError: elftools is not available
     """
     if not ELF_TOOLS:
-        raise ValueError('Python elftools package is not available')
+        raise ValueError("Python: No module named 'elftools'")
     with io.BytesIO(data) as inf:
         try:
             elf = ELFFile(inf)
index a67915bda63fd396d07a96ba30aaddbc65711e2e..02bc108374925165676e933719f7bf6ba6e62c50 100644 (file)
@@ -116,7 +116,7 @@ class TestElf(unittest.TestCase):
         entry = FakeEntry(10)
         section = FakeSection()
         with self.assertRaises(ValueError) as e:
-            syms = elf.LookupAndWriteSymbols('missing-file', entry, section)
+            elf.LookupAndWriteSymbols('missing-file', entry, section)
         self.assertIn("Filename 'missing-file' not found in input path",
                       str(e.exception))
 
@@ -126,7 +126,7 @@ class TestElf(unittest.TestCase):
         section = FakeSection()
         elf_fname = self.ElfTestFile('u_boot_binman_syms')
         with self.assertRaises(ValueError) as e:
-            syms = elf.LookupAndWriteSymbols(elf_fname, entry, section)
+            elf.LookupAndWriteSymbols(elf_fname, entry, section)
         self.assertIn('entry_path has offset 4 (size 8) but the contents size '
                       'is a', str(e.exception))
 
@@ -139,8 +139,7 @@ class TestElf(unittest.TestCase):
         entry = FakeEntry(10)
         section = FakeSection()
         elf_fname = self.ElfTestFile('u_boot_binman_syms_bad')
-        self.assertEqual(elf.LookupAndWriteSymbols(elf_fname, entry, section),
-                         None)
+        elf.LookupAndWriteSymbols(elf_fname, entry, section)
 
     def testBadSymbolSize(self):
         """Test that an attempt to use an 8-bit symbol are detected
@@ -152,7 +151,7 @@ class TestElf(unittest.TestCase):
         section = FakeSection()
         elf_fname =self.ElfTestFile('u_boot_binman_syms_size')
         with self.assertRaises(ValueError) as e:
-            syms = elf.LookupAndWriteSymbols(elf_fname, entry, section)
+            elf.LookupAndWriteSymbols(elf_fname, entry, section)
         self.assertIn('has size 1: only 4 and 8 are supported',
                       str(e.exception))
 
@@ -165,7 +164,7 @@ class TestElf(unittest.TestCase):
         entry = FakeEntry(24)
         section = FakeSection(sym_value=None)
         elf_fname = self.ElfTestFile('u_boot_binman_syms')
-        syms = elf.LookupAndWriteSymbols(elf_fname, entry, section)
+        elf.LookupAndWriteSymbols(elf_fname, entry, section)
         self.assertEqual(tools.get_bytes(255, 20) + tools.get_bytes(ord('a'), 4),
                                                                   entry.data)
 
@@ -177,7 +176,7 @@ class TestElf(unittest.TestCase):
             section = FakeSection()
             elf_fname = self.ElfTestFile('u_boot_binman_syms')
             with test_util.capture_sys_output() as (stdout, stderr):
-                syms = elf.LookupAndWriteSymbols(elf_fname, entry, section)
+                elf.LookupAndWriteSymbols(elf_fname, entry, section)
             self.assertTrue(len(stdout.getvalue()) > 0)
         finally:
             tout.init(tout.WARNING)
@@ -244,7 +243,7 @@ class TestElf(unittest.TestCase):
             fname = self.ElfTestFile('embed_data')
             with self.assertRaises(ValueError) as e:
                 elf.GetSymbolFileOffset(fname, ['embed_start', 'embed_end'])
-            self.assertIn('Python elftools package is not available',
+            self.assertIn("Python: No module named 'elftools'",
                       str(e.exception))
         finally:
             elf.ELF_TOOLS = old_val
@@ -258,33 +257,81 @@ class TestElf(unittest.TestCase):
         offset = elf.GetSymbolFileOffset(fname, ['missing_sym'])
         self.assertEqual({}, offset)
 
-    def test_read_segments(self):
-        """Test for read_segments()"""
+    def test_read_loadable_segments(self):
+        """Test for read_loadable_segments()"""
         if not elf.ELF_TOOLS:
             self.skipTest('Python elftools not available')
         fname = self.ElfTestFile('embed_data')
-        segments, entry = elf.read_segments(tools.read_file(fname))
+        segments, entry = elf.read_loadable_segments(tools.read_file(fname))
 
     def test_read_segments_fail(self):
-        """Test for read_segments() without elftools"""
+        """Test for read_loadable_segments() without elftools"""
         try:
             old_val = elf.ELF_TOOLS
             elf.ELF_TOOLS = False
             fname = self.ElfTestFile('embed_data')
             with self.assertRaises(ValueError) as e:
-                elf.read_segments(tools.read_file(fname))
-            self.assertIn('Python elftools package is not available',
+                elf.read_loadable_segments(tools.read_file(fname))
+            self.assertIn("Python: No module named 'elftools'",
                           str(e.exception))
         finally:
             elf.ELF_TOOLS = old_val
 
     def test_read_segments_bad_data(self):
-        """Test for read_segments() with an invalid ELF file"""
+        """Test for read_loadable_segments() with an invalid ELF file"""
         fname = self.ElfTestFile('embed_data')
         with self.assertRaises(ValueError) as e:
-            elf.read_segments(tools.get_bytes(100, 100))
+            elf.read_loadable_segments(tools.get_bytes(100, 100))
         self.assertIn('Magic number does not match', str(e.exception))
 
+    def test_get_file_offset(self):
+        """Test GetFileOffset() gives the correct file offset for a symbol"""
+        fname = self.ElfTestFile('embed_data')
+        syms = elf.GetSymbols(fname, ['embed'])
+        addr = syms['embed'].address
+        offset = elf.GetFileOffset(fname, addr)
+        data = tools.read_file(fname)
+
+        # Just use the first 4 bytes and assume it is little endian
+        embed_data = data[offset:offset + 4]
+        embed_value = struct.unpack('<I', embed_data)[0]
+        self.assertEqual(0x1234, embed_value)
+
+    def test_get_file_offset_fail(self):
+        """Test calling GetFileOffset() without elftools"""
+        try:
+            old_val = elf.ELF_TOOLS
+            elf.ELF_TOOLS = False
+            fname = self.ElfTestFile('embed_data')
+            with self.assertRaises(ValueError) as e:
+                elf.GetFileOffset(fname, 0)
+            self.assertIn("Python: No module named 'elftools'",
+                      str(e.exception))
+        finally:
+            elf.ELF_TOOLS = old_val
+
+    def test_get_symbol_from_address(self):
+        """Test GetSymbolFromAddress()"""
+        fname = self.ElfTestFile('elf_sections')
+        sym_name = 'calculate'
+        syms = elf.GetSymbols(fname, [sym_name])
+        addr = syms[sym_name].address
+        sym = elf.GetSymbolFromAddress(fname, addr)
+        self.assertEqual(sym_name, sym)
+
+    def test_get_symbol_from_address_fail(self):
+        """Test calling GetSymbolFromAddress() without elftools"""
+        try:
+            old_val = elf.ELF_TOOLS
+            elf.ELF_TOOLS = False
+            fname = self.ElfTestFile('embed_data')
+            with self.assertRaises(ValueError) as e:
+                elf.GetSymbolFromAddress(fname, 0x1000)
+            self.assertIn("Python: No module named 'elftools'",
+                          str(e.exception))
+        finally:
+            elf.ELF_TOOLS = old_val
+
 
 if __name__ == '__main__':
     unittest.main()
index 484cde5c80059b6c492acb943d0de53cea53ffb7..be8de5560c4aa58db7652db2f3b16f8df34fa430 100644 (file)
@@ -612,6 +612,9 @@ gen-fdt-nodes
     Generate FDT nodes as above. This is the default if there is no
     `fit,operation` property.
 
+split-elf
+    Split an ELF file into a separate node for each segment.
+
 Generating nodes from an FDT list (gen-fdt-nodes)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -655,6 +658,149 @@ for each of your two files.
 Note that if no devicetree files are provided (with '-a of-list' as above)
 then no nodes will be generated.
 
+Generating nodes from an ELF file (split-elf)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This uses the node as a template to generate multiple nodes. The following
+special properties are available:
+
+split-elf
+    Split an ELF file into a separate node for each segment. This uses the
+    node as a template to generate multiple nodes. The following special
+    properties are available:
+
+    fit,load
+        Generates a `load = <...>` property with the load address of the
+        segment
+
+    fit,entry
+        Generates a `entry = <...>` property with the entry address of the
+        ELF. This is only produced for the first entry
+
+    fit,data
+        Generates a `data = <...>` property with the contents of the segment
+
+    fit,loadables
+        Generates a `loadable = <...>` property with a list of the generated
+        nodes (including all nodes if this operation is used multiple times)
+
+
+Here is an example showing ATF, TEE and a device tree all combined::
+
+    fit {
+        description = "test-desc";
+        #address-cells = <1>;
+        fit,fdt-list = "of-list";
+
+        images {
+            u-boot {
+                description = "U-Boot (64-bit)";
+                type = "standalone";
+                os = "U-Boot";
+                arch = "arm64";
+                compression = "none";
+                load = <CONFIG_SYS_TEXT_BASE>;
+                u-boot-nodtb {
+                };
+            };
+            @fdt-SEQ {
+                description = "fdt-NAME.dtb";
+                type = "flat_dt";
+                compression = "none";
+            };
+            @atf-SEQ {
+                fit,operation = "split-elf";
+                description = "ARM Trusted Firmware";
+                type = "firmware";
+                arch = "arm64";
+                os = "arm-trusted-firmware";
+                compression = "none";
+                fit,load;
+                fit,entry;
+                fit,data;
+
+                atf-bl31 {
+                };
+            };
+
+            @tee-SEQ {
+                fit,operation = "split-elf";
+                description = "TEE";
+                type = "tee";
+                arch = "arm64";
+                os = "tee";
+                compression = "none";
+                fit,load;
+                fit,entry;
+                fit,data;
+
+                tee-os {
+                };
+            };
+        };
+
+        configurations {
+            default = "@config-DEFAULT-SEQ";
+            @config-SEQ {
+                description = "conf-NAME.dtb";
+                fdt = "fdt-SEQ";
+                firmware = "u-boot";
+                fit,loadables;
+            };
+        };
+    };
+
+If ATF-BL31 is available, this generates a node for each segment in the
+ELF file, for example::
+
+    images {
+        atf-1 {
+            data = <...contents of first segment...>;
+            data-offset = <0x00000000>;
+            entry = <0x00040000>;
+            load = <0x00040000>;
+            compression = "none";
+            os = "arm-trusted-firmware";
+            arch = "arm64";
+            type = "firmware";
+            description = "ARM Trusted Firmware";
+        };
+        atf-2 {
+            data = <...contents of second segment...>;
+            load = <0xff3b0000>;
+            compression = "none";
+            os = "arm-trusted-firmware";
+            arch = "arm64";
+            type = "firmware";
+            description = "ARM Trusted Firmware";
+        };
+    };
+
+The same applies for OP-TEE if that is available.
+
+If each binary is not available, the relevant template node (@atf-SEQ or
+@tee-SEQ) is removed from the output.
+
+This also generates a `config-xxx` node for each device tree in `of-list`.
+Note that the U-Boot build system uses `-a of-list=$(CONFIG_OF_LIST)`
+so you can use `CONFIG_OF_LIST` to define that list. In this example it is
+set up for `firefly-rk3399` with a single device tree and the default set
+with `-a default-dt=$(CONFIG_DEFAULT_DEVICE_TREE)`, so the resulting output
+is::
+
+    configurations {
+        default = "config-1";
+        config-1 {
+            loadables = "atf-1", "atf-2", "atf-3", "tee-1", "tee-2";
+            description = "rk3399-firefly.dtb";
+            fdt = "fdt-1";
+            firmware = "u-boot";
+        };
+    };
+
+U-Boot SPL can then load the firmware (U-Boot proper) and all the loadables
+(ATF and TEE), then proceed with the boot.
+
 
 
 Entry: fmap: An entry which contains an Fmap section
index bf68a85b245fdd6c9e3db3e34bdd0f71adb6fc99..18a7a3510548552f9277471e44cea32eeed4172e 100644 (file)
@@ -19,6 +19,8 @@ from patman import tout
 
 modules = {}
 
+# This is imported if needed
+state = None
 
 # An argument which can be passed to entries on the command line, in lieu of
 # device-tree properties.
@@ -104,7 +106,7 @@ class Entry(object):
         self.pad_after = 0
         self.offset_unset = False
         self.image_pos = None
-        self.expand_size = False
+        self.extend_size = False
         self.compress = 'none'
         self.missing = False
         self.faked = False
@@ -233,6 +235,8 @@ class Entry(object):
         """
         if 'pos' in self._node.props:
             self.Raise("Please use 'offset' instead of 'pos'")
+        if 'expand-size' in self._node.props:
+            self.Raise("Please use 'extend-size' instead of 'expand-size'")
         self.offset = fdt_util.GetInt(self._node, 'offset')
         self.size = fdt_util.GetInt(self._node, 'size')
         self.orig_offset = fdt_util.GetInt(self._node, 'orig-offset')
@@ -260,7 +264,7 @@ class Entry(object):
                        self.align_size)
         self.align_end = fdt_util.GetInt(self._node, 'align-end')
         self.offset_unset = fdt_util.GetBool(self._node, 'offset-unset')
-        self.expand_size = fdt_util.GetBool(self._node, 'expand-size')
+        self.extend_size = fdt_util.GetBool(self._node, 'extend-size')
         self.missing_msg = fdt_util.GetString(self._node, 'missing-msg')
 
         # This is only supported by blobs and sections at present
@@ -282,8 +286,8 @@ class Entry(object):
         """
         return {}
 
-    def ExpandEntries(self):
-        """Expand out entries which produce other entries
+    def gen_entries(self):
+        """Allow entries to generate other entries
 
         Some entries generate subnodes automatically, from which sub-entries
         are then created. This method allows those to be added to the binman
@@ -413,9 +417,13 @@ class Entry(object):
         self.SetContents(data)
         return size_ok
 
-    def ObtainContents(self):
+    def ObtainContents(self, skip_entry=None, fake_size=0):
         """Figure out the contents of an entry.
 
+        Args:
+            skip_entry (Entry): Entry to skip when obtaining section contents
+            fake_size (int): Size of fake file to create if needed
+
         Returns:
             True if the contents were found, False if another call is needed
             after the other entries are processed.
@@ -772,8 +780,8 @@ features to produce new behaviours.
             name = '%s.%s' % (node.name, name)
         return name
 
-    def ExpandToLimit(self, limit):
-        """Expand an entry so that it ends at the given offset limit"""
+    def extend_to_limit(self, limit):
+        """Extend an entry so that it ends at the given offset limit"""
         if self.offset + self.size < limit:
             self.size = limit - self.offset
             # Request the contents again, since changing the size requires that
@@ -986,24 +994,28 @@ features to produce new behaviours.
         if self.missing:
             missing_list.append(self)
 
-    def check_fake_fname(self, fname):
+    def check_fake_fname(self, fname, size=0):
         """If the file is missing and the entry allows fake blobs, fake it
 
         Sets self.faked to True if faked
 
         Args:
             fname (str): Filename to check
+            size (int): Size of fake file to create
 
         Returns:
-            fname (str): Filename of faked file
+            tuple:
+                fname (str): Filename of faked file
+                bool: True if the blob was faked, False if not
         """
         if self.allow_fake and not pathlib.Path(fname).is_file():
             outfname = tools.get_output_filename(os.path.basename(fname))
             with open(outfname, "wb") as out:
-                out.truncate(1024)
+                out.truncate(size)
             self.faked = True
-            return outfname
-        return fname
+            tout.info(f"Entry '{self._node.path}': Faked file '{outfname}'")
+            return outfname, True
+        return fname, False
 
     def CheckFakedBlobs(self, faked_blobs_list):
         """Check if any entries in this section have faked external blobs
@@ -1097,11 +1109,11 @@ features to produce new behaviours.
         """
         pass
 
-    def AddBintools(self, tools):
+    def AddBintools(self, btools):
         """Add the bintools used by this entry type
 
         Args:
-            tools (dict of Bintool):
+            btools (dict of Bintool):
         """
         pass
 
@@ -1124,28 +1136,29 @@ features to produce new behaviours.
         """
         self.update_hash = update_hash
 
-    def collect_contents_to_file(self, entries, prefix):
+    def collect_contents_to_file(self, entries, prefix, fake_size=0):
         """Put the contents of a list of entries into a file
 
         Args:
             entries (list of Entry): Entries to collect
             prefix (str): Filename prefix of file to write to
+            fake_size (int): Size of fake file to create if needed
 
         If any entry does not have contents yet, this function returns False
         for the data.
 
         Returns:
             Tuple:
-                bytes: Concatenated data from all the entries (or False)
-                str: Filename of file written (or False if no data)
-                str: Unique portion of filename (or False if no data)
+                bytes: Concatenated data from all the entries (or None)
+                str: Filename of file written (or None if no data)
+                str: Unique portion of filename (or None if no data)
         """
         data = b''
         for entry in entries:
             # First get the input data and put it in a file. If not available,
             # try later.
-            if not entry.ObtainContents():
-                return False, False, False
+            if not entry.ObtainContents(fake_size=fake_size):
+                return None, None, None
             data += entry.GetData()
         uniq = self.GetUniqueName()
         fname = tools.get_output_filename(f'{prefix}.{uniq}')
index 7ed9b262bb4d730a80f2ba7b1488b15e107ed11f..1d60076be114c67cb122e799c100a2a2da9dd433 100644 (file)
@@ -5,6 +5,7 @@
 # Test for the Entry class
 
 import collections
+import importlib
 import os
 import sys
 import unittest
@@ -32,11 +33,7 @@ class TestEntry(unittest.TestCase):
     def _ReloadEntry(self):
         global entry
         if entry:
-            if sys.version_info[0] >= 3:
-                import importlib
-                importlib.reload(entry)
-            else:
-                reload(entry)
+            importlib.reload(entry)
         else:
             from binman import entry
 
index 0800c25899a5336cfe5773704b7429cb48d21c7e..5089de36429459da65acf561691f72e361fba3fc 100644 (file)
@@ -82,7 +82,7 @@ class Entry__testing(Entry):
         self.return_contents = True
         self.contents = b'aa'
 
-    def ObtainContents(self):
+    def ObtainContents(self, fake_size=0):
         if self.return_unknown_contents or not self.return_contents:
             return False
         if self.return_contents_later:
index 25ec5d26c9bced328a7d5999d50cd7eb49260a1b..ceaefb07b73c44c19b8d80953ac1acc278d7dce9 100644 (file)
@@ -35,16 +35,18 @@ class Entry_blob(Entry):
         super().__init__(section, etype, node)
         self._filename = fdt_util.GetString(self._node, 'filename', self.etype)
 
-    def ObtainContents(self):
+    def ObtainContents(self, fake_size=0):
         self._filename = self.GetDefaultFilename()
         self._pathname = tools.get_input_filename(self._filename,
             self.external and self.section.GetAllowMissing())
         # Allow the file to be missing
         if not self._pathname:
-            self._pathname = self.check_fake_fname(self._filename)
-            self.SetContents(b'')
+            self._pathname, faked = self.check_fake_fname(self._filename,
+                                                          fake_size)
             self.missing = True
-            return True
+            if not faked:
+                self.SetContents(b'')
+                return True
 
         self.ReadBlobContents()
         return True
index 3ce7511f6f4cc518557dd88fd621fb319f779b53..4159e3032a1e7b0d29b07703817abd354642b273 100644 (file)
@@ -8,6 +8,9 @@
 from binman.entry import Entry
 from binman.etype.blob import Entry_blob
 
+# This is imported if needed
+state = None
+
 class Entry_blob_dtb(Entry_blob):
     """A blob that holds a device tree
 
index 76ad32a1eea1bea5567c9936ea1ad7b2258476cb..f00202e9ebc20fa4c1918f6d12bcdcdde81d4c8f 100644 (file)
@@ -37,7 +37,7 @@ class Entry_blob_ext_list(Entry_blob):
         missing = False
         pathnames = []
         for fname in self._filenames:
-            fname = self.check_fake_fname(fname)
+            fname, _ = self.check_fake_fname(fname)
             pathname = tools.get_input_filename(
                 fname, self.external and self.section.GetAllowMissing())
             # Allow the file to be missing
index ed25e467a13495db3907d3f5f11c061db09771fe..b937158756fd421f09ba93145ce7220f864d20c3 100644 (file)
@@ -7,6 +7,9 @@
 
 from binman.etype.section import Entry_section
 
+# This is imported if needed
+state = None
+
 class Entry_blob_phase(Entry_section):
     """Section that holds a phase binary
 
@@ -39,7 +42,7 @@ class Entry_blob_phase(Entry_section):
         self.dtb_file = dtb_file
         self.bss_pad = bss_pad
 
-    def ExpandEntries(self):
+    def gen_entries(self):
         """Create the subnodes"""
         names = [self.root_fname + '-nodtb', self.root_fname + '-dtb']
         if self.bss_pad:
index cc1fbdf4b57ecd3755cf4326e4b87511ee114809..4a1837f26c183e2463dbd47988effa375a335e19 100644 (file)
@@ -12,6 +12,9 @@ from binman.cbfs_util import CbfsWriter
 from binman.entry import Entry
 from dtoc import fdt_util
 
+# This is imported if needed
+state = None
+
 class Entry_cbfs(Entry):
     """Coreboot Filesystem (CBFS)
 
index 76e8dbe8187e54d61e657804199261e06e671677..33c9d039a91ef627f08ad19e4be73fb6fc88388d 100644 (file)
@@ -15,6 +15,11 @@ from patman import tout
 FDTMAP_MAGIC   = b'_FDTMAP_'
 FDTMAP_HDR_LEN = 16
 
+# These is imported if needed
+Fdt = None
+libfdt = None
+state = None
+
 def LocateFdtmap(data):
     """Search an image for an fdt map
 
index 0650a69c5500549e00054320e56b8aa9c46333af..2081bc727b9f33857227c95d1abb3aacbd824d7d 100644 (file)
@@ -13,6 +13,8 @@ from binman.etype.section import Entry_section
 from dtoc import fdt_util
 from patman import tools
 
+# This is imported if needed
+state = None
 
 class Entry_files(Entry_section):
     """A set of files arranged in a section
@@ -46,7 +48,7 @@ class Entry_files(Entry_section):
         self._require_matches = fdt_util.GetBool(self._node,
                                                 'require-matches')
 
-    def ExpandEntries(self):
+    def gen_entries(self):
         files = tools.get_input_filename_glob(self._pattern)
         if self._require_matches and not files:
             self.Raise("Pattern '%s' matched no files" % self._pattern)
index 2d4c5f65451b8c29c44dcc2d16e4a03a21d5a1fb..e0407715d81976cd5edf453db149f23c4665a4f9 100644 (file)
@@ -2,22 +2,23 @@
 # Copyright (c) 2016 Google, Inc
 # Written by Simon Glass <sjg@chromium.org>
 #
-# Entry-type module for producing a FIT
-#
 
-from collections import defaultdict, OrderedDict
+"""Entry-type module for producing a FIT"""
+
 import libfdt
 
 from binman.entry import Entry, EntryArg
 from binman.etype.section import Entry_section
+from binman import elf
 from dtoc import fdt_util
 from dtoc.fdt import Fdt
 from patman import tools
 
 # Supported operations, with the fit,operation property
-OP_GEN_FDT_NODES = range(1)
+OP_GEN_FDT_NODES, OP_SPLIT_ELF = range(2)
 OPERATIONS = {
     'gen-fdt-nodes': OP_GEN_FDT_NODES,
+    'split-elf': OP_SPLIT_ELF,
     }
 
 class Entry_fit(Entry_section):
@@ -113,6 +114,9 @@ class Entry_fit(Entry_section):
         Generate FDT nodes as above. This is the default if there is no
         `fit,operation` property.
 
+    split-elf
+        Split an ELF file into a separate node for each segment.
+
     Generating nodes from an FDT list (gen-fdt-nodes)
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -155,6 +159,149 @@ class Entry_fit(Entry_section):
 
     Note that if no devicetree files are provided (with '-a of-list' as above)
     then no nodes will be generated.
+
+    Generating nodes from an ELF file (split-elf)
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    This uses the node as a template to generate multiple nodes. The following
+    special properties are available:
+
+    split-elf
+        Split an ELF file into a separate node for each segment. This uses the
+        node as a template to generate multiple nodes. The following special
+        properties are available:
+
+        fit,load
+            Generates a `load = <...>` property with the load address of the
+            segment
+
+        fit,entry
+            Generates a `entry = <...>` property with the entry address of the
+            ELF. This is only produced for the first entry
+
+        fit,data
+            Generates a `data = <...>` property with the contents of the segment
+
+        fit,loadables
+            Generates a `loadable = <...>` property with a list of the generated
+            nodes (including all nodes if this operation is used multiple times)
+
+
+    Here is an example showing ATF, TEE and a device tree all combined::
+
+        fit {
+            description = "test-desc";
+            #address-cells = <1>;
+            fit,fdt-list = "of-list";
+
+            images {
+                u-boot {
+                    description = "U-Boot (64-bit)";
+                    type = "standalone";
+                    os = "U-Boot";
+                    arch = "arm64";
+                    compression = "none";
+                    load = <CONFIG_SYS_TEXT_BASE>;
+                    u-boot-nodtb {
+                    };
+                };
+                @fdt-SEQ {
+                    description = "fdt-NAME.dtb";
+                    type = "flat_dt";
+                    compression = "none";
+                };
+                @atf-SEQ {
+                    fit,operation = "split-elf";
+                    description = "ARM Trusted Firmware";
+                    type = "firmware";
+                    arch = "arm64";
+                    os = "arm-trusted-firmware";
+                    compression = "none";
+                    fit,load;
+                    fit,entry;
+                    fit,data;
+
+                    atf-bl31 {
+                    };
+                };
+
+                @tee-SEQ {
+                    fit,operation = "split-elf";
+                    description = "TEE";
+                    type = "tee";
+                    arch = "arm64";
+                    os = "tee";
+                    compression = "none";
+                    fit,load;
+                    fit,entry;
+                    fit,data;
+
+                    tee-os {
+                    };
+                };
+            };
+
+            configurations {
+                default = "@config-DEFAULT-SEQ";
+                @config-SEQ {
+                    description = "conf-NAME.dtb";
+                    fdt = "fdt-SEQ";
+                    firmware = "u-boot";
+                    fit,loadables;
+                };
+            };
+        };
+
+    If ATF-BL31 is available, this generates a node for each segment in the
+    ELF file, for example::
+
+        images {
+            atf-1 {
+                data = <...contents of first segment...>;
+                data-offset = <0x00000000>;
+                entry = <0x00040000>;
+                load = <0x00040000>;
+                compression = "none";
+                os = "arm-trusted-firmware";
+                arch = "arm64";
+                type = "firmware";
+                description = "ARM Trusted Firmware";
+            };
+            atf-2 {
+                data = <...contents of second segment...>;
+                load = <0xff3b0000>;
+                compression = "none";
+                os = "arm-trusted-firmware";
+                arch = "arm64";
+                type = "firmware";
+                description = "ARM Trusted Firmware";
+            };
+        };
+
+    The same applies for OP-TEE if that is available.
+
+    If each binary is not available, the relevant template node (@atf-SEQ or
+    @tee-SEQ) is removed from the output.
+
+    This also generates a `config-xxx` node for each device tree in `of-list`.
+    Note that the U-Boot build system uses `-a of-list=$(CONFIG_OF_LIST)`
+    so you can use `CONFIG_OF_LIST` to define that list. In this example it is
+    set up for `firefly-rk3399` with a single device tree and the default set
+    with `-a default-dt=$(CONFIG_DEFAULT_DEVICE_TREE)`, so the resulting output
+    is::
+
+        configurations {
+            default = "config-1";
+            config-1 {
+                loadables = "atf-1", "atf-2", "atf-3", "tee-1", "tee-2";
+                description = "rk3399-firefly.dtb";
+                fdt = "fdt-1";
+                firmware = "u-boot";
+            };
+        };
+
+    U-Boot SPL can then load the firmware (U-Boot proper) and all the loadables
+    (ATF and TEE), then proceed with the boot.
     """
     def __init__(self, section, etype, node):
         """
@@ -164,16 +311,25 @@ class Entry_fit(Entry_section):
                 key: relative path to entry Node (from the base of the FIT)
                 value: Entry_section object comprising the contents of this
                     node
+            _priv_entries: Internal copy of _entries which includes 'generator'
+                entries which are used to create the FIT, but should not be
+                processed as real entries. This is set up once we have the
+                entries
+            _loadables: List of generated split-elf nodes, each a node name
         """
         super().__init__(section, etype, node)
         self._fit = None
         self._fit_props = {}
+        self._fdts = None
+        self.mkimage = None
+        self._priv_entries = {}
+        self._loadables = []
 
+    def ReadNode(self):
+        super().ReadNode()
         for pname, prop in self._node.props.items():
             if pname.startswith('fit,'):
                 self._fit_props[pname] = prop
-
-        self._fdts = None
         self._fit_list_prop = self._fit_props.get('fit,fdt-list')
         if self._fit_list_prop:
             fdts, = self.GetEntryArgsOrProps(
@@ -182,17 +338,12 @@ class Entry_fit(Entry_section):
                 self._fdts = fdts.split()
         self._fit_default_dt = self.GetEntryArgsOrProps([EntryArg('default-dt',
                                                                   str)])[0]
-        self.mkimage = None
-
-    def ReadNode(self):
-        self.ReadEntries()
-        super().ReadNode()
 
-    def _get_operation(self, subnode):
+    def _get_operation(self, base_node, node):
         """Get the operation referenced by a subnode
 
         Args:
-            subnode (Node): Subnode (of the FIT) to check
+            node (Node): Subnode (of the FIT) to check
 
         Returns:
             int: Operation to perform
@@ -200,15 +351,107 @@ class Entry_fit(Entry_section):
         Raises:
             ValueError: Invalid operation name
         """
-        oper_name = subnode.props.get('fit,operation')
+        oper_name = node.props.get('fit,operation')
         if not oper_name:
             return OP_GEN_FDT_NODES
         oper = OPERATIONS.get(oper_name.value)
-        if not oper:
-            self.Raise(f"Unknown operation '{oper_name.value}'")
+        if oper is None:
+            self._raise_subnode(node, f"Unknown operation '{oper_name.value}'")
         return oper
 
     def ReadEntries(self):
+        def _add_entries(base_node, depth, node):
+            """Add entries for any nodes that need them
+
+            Args:
+                base_node: Base Node of the FIT (with 'description' property)
+                depth: Current node depth (0 is the base 'fit' node)
+                node: Current node to process
+
+            Here we only need to provide binman entries which are used to define
+            the 'data' for each image. We create an entry_Section for each.
+            """
+            rel_path = node.path[len(base_node.path):]
+            in_images = rel_path.startswith('/images')
+            has_images = depth == 2 and in_images
+            if has_images:
+                # This node is a FIT subimage node (e.g. "/images/kernel")
+                # containing content nodes. We collect the subimage nodes and
+                # section entries for them here to merge the content subnodes
+                # together and put the merged contents in the subimage node's
+                # 'data' property later.
+                entry = Entry.Create(self.section, node, etype='section')
+                entry.ReadNode()
+                # The hash subnodes here are for mkimage, not binman.
+                entry.SetUpdateHash(False)
+                self._entries[rel_path] = entry
+
+            for subnode in node.subnodes:
+                _add_entries(base_node, depth + 1, subnode)
+
+        _add_entries(self._node, 0, self._node)
+
+        # Keep a copy of all entries, including generator entries, since these
+        # removed from self._entries later.
+        self._priv_entries = dict(self._entries)
+
+    def BuildSectionData(self, required):
+        """Build FIT entry contents
+
+        This adds the 'data' properties to the input ITB (Image-tree Binary)
+        then runs mkimage to process it.
+
+        Args:
+            required (bool): True if the data must be present, False if it is OK
+                to return None
+
+        Returns:
+            bytes: Contents of the section
+        """
+        data = self._build_input()
+        uniq = self.GetUniqueName()
+        input_fname = tools.get_output_filename(f'{uniq}.itb')
+        output_fname = tools.get_output_filename(f'{uniq}.fit')
+        tools.write_file(input_fname, data)
+        tools.write_file(output_fname, data)
+
+        args = {}
+        ext_offset = self._fit_props.get('fit,external-offset')
+        if ext_offset is not None:
+            args = {
+                'external': True,
+                'pad': fdt_util.fdt32_to_cpu(ext_offset.value)
+                }
+        if self.mkimage.run(reset_timestamp=True, output_fname=output_fname,
+                            **args) is None:
+            # Bintool is missing; just use empty data as the output
+            self.record_missing_bintool(self.mkimage)
+            return tools.get_bytes(0, 1024)
+
+        return tools.read_file(output_fname)
+
+    def _raise_subnode(self, node, msg):
+        """Raise an error with a paticular FIT subnode
+
+        Args:
+            node (Node): FIT subnode containing the error
+            msg (str): Message to report
+
+        Raises:
+            ValueError, as requested
+        """
+        rel_path = node.path[len(self._node.path) + 1:]
+        self.Raise(f"subnode '{rel_path}': {msg}")
+
+    def _build_input(self):
+        """Finish the FIT by adding the 'data' properties to it
+
+        Arguments:
+            fdt: FIT to update
+
+        Returns:
+            bytes: New fdt contents
+        """
         def _process_prop(pname, prop):
             """Process special properties
 
@@ -229,16 +472,22 @@ class Entry_fit(Entry_section):
                     if not self._fit_default_dt:
                         self.Raise("Generated 'default' node requires default-dt entry argument")
                     if self._fit_default_dt not in self._fdts:
-                        self.Raise("default-dt entry argument '%s' not found in fdt list: %s" %
-                                   (self._fit_default_dt,
-                                    ', '.join(self._fdts)))
+                        self.Raise(
+                            f"default-dt entry argument '{self._fit_default_dt}' "
+                            f"not found in fdt list: {', '.join(self._fdts)}")
                     seq = self._fdts.index(self._fit_default_dt)
                     val = val[1:].replace('DEFAULT-SEQ', str(seq + 1))
                     fsw.property_string(pname, val)
                     return
+            elif pname.startswith('fit,'):
+                # Ignore these, which are commands for binman to process
+                return
+            elif pname in ['offset', 'size', 'image-pos']:
+                # Don't add binman's calculated properties
+                return
             fsw.property(pname, prop.bytes)
 
-        def _scan_gen_fdt_nodes(subnode, depth, in_images):
+        def _gen_fdt_nodes(base_node, node, depth, in_images):
             """Generate FDT nodes
 
             This creates one node for each member of self._fdts using the
@@ -248,7 +497,7 @@ class Entry_fit(Entry_section):
             first.
 
             Args:
-                subnode (None): Generator node to process
+                node (None): Generator node to process
                 depth: Current node depth (0 is the base 'fit' node)
                 in_images: True if this is inside the 'images' node, so that
                     'data' properties should be generated
@@ -256,28 +505,77 @@ class Entry_fit(Entry_section):
             if self._fdts:
                 # Generate nodes for each FDT
                 for seq, fdt_fname in enumerate(self._fdts):
-                    node_name = subnode.name[1:].replace('SEQ', str(seq + 1))
+                    node_name = node.name[1:].replace('SEQ', str(seq + 1))
                     fname = tools.get_input_filename(fdt_fname + '.dtb')
                     with fsw.add_node(node_name):
-                        for pname, prop in subnode.props.items():
-                            val = prop.bytes.replace(
-                                b'NAME', tools.to_bytes(fdt_fname))
-                            val = val.replace(
-                                b'SEQ', tools.to_bytes(str(seq + 1)))
-                            fsw.property(pname, val)
+                        for pname, prop in node.props.items():
+                            if pname == 'fit,loadables':
+                                val = '\0'.join(self._loadables) + '\0'
+                                fsw.property('loadables', val.encode('utf-8'))
+                            elif pname == 'fit,operation':
+                                pass
+                            elif pname.startswith('fit,'):
+                                self._raise_subnode(
+                                    node, f"Unknown directive '{pname}'")
+                            else:
+                                val = prop.bytes.replace(
+                                    b'NAME', tools.to_bytes(fdt_fname))
+                                val = val.replace(
+                                    b'SEQ', tools.to_bytes(str(seq + 1)))
+                                fsw.property(pname, val)
 
                         # Add data for 'images' nodes (but not 'config')
                         if depth == 1 and in_images:
                             fsw.property('data', tools.read_file(fname))
+
+                        for subnode in node.subnodes:
+                            with fsw.add_node(subnode.name):
+                                _add_node(node, depth + 1, subnode)
             else:
                 if self._fdts is None:
                     if self._fit_list_prop:
-                        self.Raise("Generator node requires '%s' entry argument" %
-                                   self._fit_list_prop.value)
+                        self.Raise('Generator node requires '
+                            f"'{self._fit_list_prop.value}' entry argument")
                     else:
                         self.Raise("Generator node requires 'fit,fdt-list' property")
 
-        def _scan_node(subnode, depth, in_images):
+        def _gen_split_elf(base_node, node, elf_data, missing):
+            """Add nodes for the ELF file, one per group of contiguous segments
+
+            Args:
+                base_node (Node): Template node from the binman definition
+                node (Node): Node to replace (in the FIT being built)
+                data (bytes): ELF-format data to process (may be empty)
+                missing (bool): True if any of the data is missing
+
+            """
+            # If any pieces are missing, skip this. The missing entries will
+            # show an error
+            if not missing:
+                try:
+                    segments, entry = elf.read_loadable_segments(elf_data)
+                except ValueError as exc:
+                    self._raise_subnode(node,
+                                        f'Failed to read ELF file: {str(exc)}')
+                for (seq, start, data) in segments:
+                    node_name = node.name[1:].replace('SEQ', str(seq + 1))
+                    with fsw.add_node(node_name):
+                        loadables.append(node_name)
+                        for pname, prop in node.props.items():
+                            if not pname.startswith('fit,'):
+                                fsw.property(pname, prop.bytes)
+                            elif pname == 'fit,load':
+                                fsw.property_u32('load', start)
+                            elif pname == 'fit,entry':
+                                if seq == 0:
+                                    fsw.property_u32('entry', entry)
+                            elif pname == 'fit,data':
+                                fsw.property('data', bytes(data))
+                            elif pname != 'fit,operation':
+                                self._raise_subnode(
+                                    node, f"Unknown directive '{pname}'")
+
+        def _gen_node(base_node, node, depth, in_images, entry):
             """Generate nodes from a template
 
             This creates one node for each member of self._fdts using the
@@ -287,124 +585,93 @@ class Entry_fit(Entry_section):
             first.
 
             Args:
-                subnode (None): Generator node to process
-                depth: Current node depth (0 is the base 'fit' node)
-                in_images: True if this is inside the 'images' node, so that
-                    'data' properties should be generated
+                base_node (Node): Base Node of the FIT (with 'description'
+                    property)
+                node (Node): Generator node to process
+                depth (int): Current node depth (0 is the base 'fit' node)
+                in_images (bool): True if this is inside the 'images' node, so
+                    that 'data' properties should be generated
             """
-            oper = self._get_operation(subnode)
+            oper = self._get_operation(base_node, node)
             if oper == OP_GEN_FDT_NODES:
-                _scan_gen_fdt_nodes(subnode, depth, in_images)
-
-        def _AddNode(base_node, depth, node):
-            """Add a node to the FIT
+                _gen_fdt_nodes(base_node, node, depth, in_images)
+            elif oper == OP_SPLIT_ELF:
+                # Entry_section.ObtainContents() either returns True or
+                # raises an exception.
+                data = None
+                missing_list = []
+                entry.ObtainContents()
+                entry.Pack(0)
+                data = entry.GetData()
+                entry.CheckMissing(missing_list)
+
+                _gen_split_elf(base_node, node, data, bool(missing_list))
+
+        def _add_node(base_node, depth, node):
+            """Add nodes to the output FIT
 
             Args:
-                base_node: Base Node of the FIT (with 'description' property)
-                depth: Current node depth (0 is the base 'fit' node)
-                node: Current node to process
+                base_node (Node): Base Node of the FIT (with 'description'
+                    property)
+                depth (int): Current node depth (0 is the base 'fit' node)
+                node (Node): Current node to process
 
             There are two cases to deal with:
                 - hash and signature nodes which become part of the FIT
                 - binman entries which are used to define the 'data' for each
-                  image
+                  image, so don't appear in the FIT
             """
+            # Copy over all the relevant properties
             for pname, prop in node.props.items():
-                if not pname.startswith('fit,'):
-                    _process_prop(pname, prop)
+                _process_prop(pname, prop)
 
             rel_path = node.path[len(base_node.path):]
             in_images = rel_path.startswith('/images')
+
             has_images = depth == 2 and in_images
             if has_images:
-                # This node is a FIT subimage node (e.g. "/images/kernel")
-                # containing content nodes. We collect the subimage nodes and
-                # section entries for them here to merge the content subnodes
-                # together and put the merged contents in the subimage node's
-                # 'data' property later.
-                entry = Entry.Create(self.section, node, etype='section')
-                entry.ReadNode()
-                # The hash subnodes here are for mkimage, not binman.
-                entry.SetUpdateHash(False)
-                self._entries[rel_path] = entry
+                entry = self._priv_entries[rel_path]
+                data = entry.GetData()
+                fsw.property('data', bytes(data))
 
             for subnode in node.subnodes:
+                subnode_path = f'{rel_path}/{subnode.name}'
                 if has_images and not (subnode.name.startswith('hash') or
                                        subnode.name.startswith('signature')):
                     # This subnode is a content node not meant to appear in
                     # the FIT (e.g. "/images/kernel/u-boot"), so don't call
-                    # fsw.add_node() or _AddNode() for it.
+                    # fsw.add_node() or _add_node() for it.
                     pass
                 elif self.GetImage().generate and subnode.name.startswith('@'):
-                    _scan_node(subnode, depth, in_images)
+                    entry = self._priv_entries.get(subnode_path)
+                    _gen_node(base_node, subnode, depth, in_images, entry)
+                    # This is a generator (template) entry, so remove it from
+                    # the list of entries used by PackEntries(), etc. Otherwise
+                    # it will appear in the binman output
+                    to_remove.append(subnode_path)
                 else:
                     with fsw.add_node(subnode.name):
-                        _AddNode(base_node, depth + 1, subnode)
+                        _add_node(base_node, depth + 1, subnode)
 
         # Build a new tree with all nodes and properties starting from the
         # entry node
         fsw = libfdt.FdtSw()
         fsw.finish_reservemap()
+        to_remove = []
+        loadables = []
         with fsw.add_node(''):
-            _AddNode(self._node, 0, self._node)
+            _add_node(self._node, 0, self._node)
+        self._loadables = loadables
         fdt = fsw.as_fdt()
 
+        # Remove generator entries from the main list
+        for path in to_remove:
+            if path in self._entries:
+                del self._entries[path]
+
         # Pack this new FDT and scan it so we can add the data later
         fdt.pack()
-        self._fdt = Fdt.FromData(fdt.as_bytearray())
-        self._fdt.Scan()
-
-    def BuildSectionData(self, required):
-        """Build FIT entry contents
-
-        This adds the 'data' properties to the input ITB (Image-tree Binary)
-        then runs mkimage to process it.
-
-        Args:
-            required: True if the data must be present, False if it is OK to
-                return None
-
-        Returns:
-            Contents of the section (bytes)
-        """
-        data = self._BuildInput(self._fdt)
-        uniq = self.GetUniqueName()
-        input_fname = tools.get_output_filename('%s.itb' % uniq)
-        output_fname = tools.get_output_filename('%s.fit' % uniq)
-        tools.write_file(input_fname, data)
-        tools.write_file(output_fname, data)
-
-        args = {}
-        ext_offset = self._fit_props.get('fit,external-offset')
-        if ext_offset is not None:
-            args = {
-                'external': True,
-                'pad': fdt_util.fdt32_to_cpu(ext_offset.value)
-                }
-        if self.mkimage.run(reset_timestamp=True, output_fname=output_fname,
-                            **args) is None:
-            # Bintool is missing; just use empty data as the output
-            self.record_missing_bintool(self.mkimage)
-            return tools.get_bytes(0, 1024)
-
-        return tools.read_file(output_fname)
-
-    def _BuildInput(self, fdt):
-        """Finish the FIT by adding the 'data' properties to it
-
-        Arguments:
-            fdt: FIT to update
-
-        Returns:
-            New fdt contents (bytes)
-        """
-        for path, section in self._entries.items():
-            node = fdt.GetNode(path)
-            data = section.GetData()
-            node.AddData('data', data)
-
-        fdt.Sync(auto_resize=True)
-        data = fdt.GetContents()
+        data = fdt.as_bytearray()
         return data
 
     def SetImagePos(self, image_pos):
@@ -414,7 +681,7 @@ class Entry_fit(Entry_section):
         according to where they ended up in the packed FIT file.
 
         Args:
-            image_pos: Position of this entry in the image
+            image_pos (int): Position of this entry in the image
         """
         super().SetImagePos(image_pos)
 
@@ -453,11 +720,18 @@ class Entry_fit(Entry_section):
 
             # This should never happen
             else: # pragma: no cover
-                self.Raise("%s: missing data properties" % (path))
+                self.Raise(f'{path}: missing data properties')
 
             section.SetOffsetSize(offset, size)
             section.SetImagePos(self.image_pos)
 
-    def AddBintools(self, tools):
-        super().AddBintools(tools)
-        self.mkimage = self.AddBintool(tools, 'mkimage')
+    def AddBintools(self, btools):
+        super().AddBintools(btools)
+        self.mkimage = self.AddBintool(btools, 'mkimage')
+
+    def CheckMissing(self, missing_list):
+        # We must use our private entry list for this since generator notes
+        # which are removed from self._entries will otherwise not show up as
+        # missing
+        for entry in self._priv_entries.values():
+            entry.CheckMissing(missing_list)
index e32fae27ce64da1ea858db4edfe194782e911811..7394e4e5d3a186fff1af2ee0608f8f6f91431a99 100644 (file)
@@ -99,5 +99,5 @@ class Entry_gbb(Entry):
 
         return True
 
-    def AddBintools(self, tools):
-        self.futility = self.AddBintool(tools, 'futility')
+    def AddBintools(self, btools):
+        self.futility = self.AddBintool(btools, 'futility')
index 46bdf116e6a99d7209df40af90a8022f172be9b7..4fa7d636fe090441280de5833a90b1818eade98f 100644 (file)
@@ -143,5 +143,5 @@ class Entry_intel_ifwi(Entry_blob_ext):
             for entry in self._ifwi_entries.values():
                 entry.WriteSymbols(self)
 
-    def AddBintools(self, tools):
-        self.ifwitool = self.AddBintool(tools, 'ifwitool')
+    def AddBintools(self, btools):
+        self.ifwitool = self.AddBintool(btools, 'ifwitool')
index 8e74ebb9c067f237c95131ab352326aa04ac33fe..5f6def2287f67ad32739abd78b14c423c7e69848 100644 (file)
@@ -51,9 +51,10 @@ class Entry_mkimage(Entry):
         self.ReadEntries()
 
     def ObtainContents(self):
+        # Use a non-zero size for any fake files to keep mkimage happy
         data, input_fname, uniq = self.collect_contents_to_file(
-            self._mkimage_entries.values(), 'mkimage')
-        if data is False:
+            self._mkimage_entries.values(), 'mkimage', 1024)
+        if data is None:
             return False
         output_fname = tools.get_output_filename('mkimage-out.%s' % uniq)
         if self.mkimage.run_cmd('-d', input_fname, *self._args,
@@ -73,6 +74,16 @@ class Entry_mkimage(Entry):
             entry.ReadNode()
             self._mkimage_entries[entry.name] = entry
 
+    def SetAllowMissing(self, allow_missing):
+        """Set whether a section allows missing external blobs
+
+        Args:
+            allow_missing: True if allowed, False if not allowed
+        """
+        self.allow_missing = allow_missing
+        for entry in self._mkimage_entries.values():
+            entry.SetAllowMissing(allow_missing)
+
     def SetAllowFakeBlob(self, allow_fake):
         """Set whether the sub nodes allows to create a fake blob
 
@@ -93,5 +104,5 @@ class Entry_mkimage(Entry):
         for entry in self._mkimage_entries.values():
             entry.CheckFakedBlobs(faked_blobs_list)
 
-    def AddBintools(self, tools):
-        self.mkimage = self.AddBintool(tools, 'mkimage')
+    def AddBintools(self, btools):
+        self.mkimage = self.AddBintool(btools, 'mkimage')
index 25159074ba690343c93ffdc830d9ecf7218ed4dc..ccac658c1831b6813fa688da42fe8bc9ff1e0e9b 100644 (file)
@@ -163,6 +163,7 @@ class Entry_section(Entry):
         self._sort = False
         self._skip_at_start = None
         self._end_4gb = False
+        self._ignore_missing = False
 
     def ReadNode(self):
         """Read properties from the section node"""
@@ -233,10 +234,10 @@ class Entry_section(Entry):
                        todo)
         return True
 
-    def ExpandEntries(self):
-        super().ExpandEntries()
+    def gen_entries(self):
+        super().gen_entries()
         for entry in self._entries.values():
-            entry.ExpandEntries()
+            entry.gen_entries()
 
     def AddMissingProperties(self, have_image_pos):
         """Add new properties to the device tree as needed for this entry"""
@@ -246,7 +247,7 @@ class Entry_section(Entry):
         for entry in self._entries.values():
             entry.AddMissingProperties(have_image_pos)
 
-    def ObtainContents(self, skip_entry=None):
+    def ObtainContents(self, fake_size=0, skip_entry=None):
         return self.GetEntryContents(skip_entry=skip_entry)
 
     def GetPaddedDataForEntry(self, entry, entry_data):
@@ -385,7 +386,7 @@ class Entry_section(Entry):
         self._PackEntries()
         if self._sort:
             self._SortEntries()
-        self._ExpandEntries()
+        self._extend_entries()
 
         data = self.BuildSectionData(True)
         self.SetContents(data)
@@ -403,17 +404,17 @@ class Entry_section(Entry):
             offset = entry.Pack(offset)
         return offset
 
-    def _ExpandEntries(self):
-        """Expand any entries that are permitted to"""
+    def _extend_entries(self):
+        """Extend any entries that are permitted to"""
         exp_entry = None
         for entry in self._entries.values():
             if exp_entry:
-                exp_entry.ExpandToLimit(entry.offset)
+                exp_entry.extend_to_limit(entry.offset)
                 exp_entry = None
-            if entry.expand_size:
+            if entry.extend_size:
                 exp_entry = entry
         if exp_entry:
-            exp_entry.ExpandToLimit(self.size)
+            exp_entry.extend_to_limit(self.size)
 
     def _SortEntries(self):
         """Sort entries by offset"""
@@ -894,6 +895,6 @@ class Entry_section(Entry):
         for entry in self._entries.values():
             entry.CheckAltFormats(alt_formats)
 
-    def AddBintools(self, tools):
+    def AddBintools(self, btools):
         for entry in self._entries.values():
-            entry.AddBintools(tools)
+            entry.AddBintools(btools)
index 554b3b2e0082ab2af919138fd3e2ed2091d68f5c..047d310cdf4df519efb2f7870a4158b16676449f 100644 (file)
@@ -9,6 +9,9 @@ from binman.entry import Entry
 from binman.etype.blob_dtb import Entry_blob_dtb
 from patman import tools
 
+# This is imported if needed
+state = None
+
 class Entry_u_boot_dtb_with_ucode(Entry_blob_dtb):
     """A U-Boot device tree file, with the microcode removed
 
index a1de98290b4a96626d24cc786e5a71414db0d239..065b6ed2f648b08906efc304c32dd9570a34a32f 100644 (file)
@@ -97,5 +97,5 @@ class Entry_vblock(Entry_collection):
         data = self.GetVblock(True)
         return self.ProcessContentsUpdate(data)
 
-    def AddBintools(self, tools):
-        self.futility = self.AddBintool(tools, 'futility')
+    def AddBintools(self, btools):
+        self.futility = self.AddBintool(btools, 'futility')
index 8f00db6945521714fa03ee78e7590062f80b5631..876953f11324293ccc4b4d95ce26407e72fa36ef 100644 (file)
@@ -202,6 +202,13 @@ class TestFunctional(unittest.TestCase):
 
         TestFunctional._MakeInputFile('env.txt', ENV_DATA)
 
+        # ELF file with two sections in different parts of memory, used for both
+        # ATF and OP_TEE
+        TestFunctional._MakeInputFile('bl31.elf',
+            tools.read_file(cls.ElfTestFile('elf_sections')))
+        TestFunctional._MakeInputFile('tee.elf',
+            tools.read_file(cls.ElfTestFile('elf_sections')))
+
         cls.have_lz4 = comp_util.HAVE_LZ4
 
     @classmethod
@@ -991,7 +998,7 @@ class TestFunctional(unittest.TestCase):
         self.assertIn("Section '/binman': Size 0x7 (7) does not match "
                       "align-size 0x8 (8)", str(e.exception))
 
-    def testPackAlignPowerOf2(self):
+    def testPackAlignPowerOf2Inv(self):
         """Test that invalid image alignment is detected"""
         with self.assertRaises(ValueError) as e:
             self._DoTestFile('020_pack_inv_image_align_power2.dts')
@@ -2028,9 +2035,9 @@ class TestFunctional(unittest.TestCase):
         self.assertIn("Node '/binman/files': Missing 'pattern' property",
                       str(e.exception))
 
-    def testExpandSize(self):
-        """Test an expanding entry"""
-        data, _, map_data, _ = self._DoReadFileDtb('088_expand_size.dts',
+    def testExtendSize(self):
+        """Test an extending entry"""
+        data, _, map_data, _ = self._DoReadFileDtb('088_extend_size.dts',
                                                    map=True)
         expect = (tools.get_bytes(ord('a'), 8) + U_BOOT_DATA +
                   MRC_DATA + tools.get_bytes(ord('b'), 1) + U_BOOT_DATA +
@@ -2050,11 +2057,11 @@ class TestFunctional(unittest.TestCase):
 00000020   00000020  00000008  fill2
 ''', map_data)
 
-    def testExpandSizeBad(self):
-        """Test an expanding entry which fails to provide contents"""
+    def testExtendSizeBad(self):
+        """Test an extending entry which fails to provide contents"""
         with test_util.capture_sys_output() as (stdout, stderr):
             with self.assertRaises(ValueError) as e:
-                self._DoReadFileDtb('089_expand_size_bad.dts', map=True)
+                self._DoReadFileDtb('089_extend_size_bad.dts', map=True)
         self.assertIn("Node '/binman/_testing': Cannot obtain contents when "
                       'expanding entry', str(e.exception))
 
@@ -2487,22 +2494,22 @@ class TestFunctional(unittest.TestCase):
                       str(e.exception))
 
     def testEntryExpand(self):
-        """Test expanding an entry after it is packed"""
-        data = self._DoReadFile('121_entry_expand.dts')
+        """Test extending an entry after it is packed"""
+        data = self._DoReadFile('121_entry_extend.dts')
         self.assertEqual(b'aaa', data[:3])
         self.assertEqual(U_BOOT_DATA, data[3:3 + len(U_BOOT_DATA)])
         self.assertEqual(b'aaa', data[-3:])
 
-    def testEntryExpandBad(self):
-        """Test expanding an entry after it is packed, twice"""
+    def testEntryExtendBad(self):
+        """Test extending an entry after it is packed, twice"""
         with self.assertRaises(ValueError) as e:
-            self._DoReadFile('122_entry_expand_twice.dts')
+            self._DoReadFile('122_entry_extend_twice.dts')
         self.assertIn("Image '/binman': Entries changed size after packing",
                       str(e.exception))
 
-    def testEntryExpandSection(self):
-        """Test expanding an entry within a section after it is packed"""
-        data = self._DoReadFile('123_entry_expand_section.dts')
+    def testEntryExtendSection(self):
+        """Test extending an entry within a section after it is packed"""
+        data = self._DoReadFile('123_entry_extend_section.dts')
         self.assertEqual(b'aaa', data[:3])
         self.assertEqual(U_BOOT_DATA, data[3:3 + len(U_BOOT_DATA)])
         self.assertEqual(b'aaa', data[-3:])
@@ -3714,7 +3721,7 @@ class TestFunctional(unittest.TestCase):
         err = stderr.getvalue()
         self.assertRegex(err, "Image 'main-section'.*missing.*: intel-ifwi")
 
-    def testPackOverlap(self):
+    def testPackOverlapZero(self):
         """Test that zero-size overlapping regions are ignored"""
         self._DoTestFile('160_pack_overlap_zero.dts')
 
@@ -3780,6 +3787,7 @@ class TestFunctional(unittest.TestCase):
         dtb.Scan()
         props = self._GetPropTree(dtb, BASE_DTB_PROPS + REPACK_DTB_PROPS)
 
+        self.maxDiff = None
         self.assertEqual({
             'image-pos': 0,
             'offset': 0,
@@ -3793,19 +3801,19 @@ class TestFunctional(unittest.TestCase):
             'fit:offset': 4,
             'fit:size': 1840,
 
-            'fit/images/kernel:image-pos': 160,
-            'fit/images/kernel:offset': 156,
+            'fit/images/kernel:image-pos': 304,
+            'fit/images/kernel:offset': 300,
             'fit/images/kernel:size': 4,
 
-            'fit/images/kernel/u-boot:image-pos': 160,
+            'fit/images/kernel/u-boot:image-pos': 304,
             'fit/images/kernel/u-boot:offset': 0,
             'fit/images/kernel/u-boot:size': 4,
 
-            'fit/images/fdt-1:image-pos': 456,
-            'fit/images/fdt-1:offset': 452,
+            'fit/images/fdt-1:image-pos': 552,
+            'fit/images/fdt-1:offset': 548,
             'fit/images/fdt-1:size': 6,
 
-            'fit/images/fdt-1/u-boot-spl-dtb:image-pos': 456,
+            'fit/images/fdt-1/u-boot-spl-dtb:image-pos': 552,
             'fit/images/fdt-1/u-boot-spl-dtb:offset': 0,
             'fit/images/fdt-1/u-boot-spl-dtb:size': 6,
 
@@ -4029,6 +4037,7 @@ class TestFunctional(unittest.TestCase):
             self.assertEqual(expected_data, fnode.props['data'].bytes)
             self.assertEqual('fdt-test-fdt%d.dtb' % seq,
                              fnode.props['description'].value)
+            self.assertEqual(fnode.subnodes[0].name, 'hash')
 
         def _CheckConfig(seq, expected_data):
             """Check the configuration nodes
@@ -4095,13 +4104,6 @@ class TestFunctional(unittest.TestCase):
         self.assertIn("Generator node requires 'fit,fdt-list' property",
                       str(e.exception))
 
-    def testFitFdtEmptyList(self):
-        """Test handling of an empty 'of-list' entry arg"""
-        entry_args = {
-            'of-list': '',
-        }
-        data = self._DoReadFileDtb('170_fit_fdt.dts', entry_args=entry_args)[0]
-
     def testFitFdtMissing(self):
         """Test handling of a missing 'default-dt' entry arg"""
         entry_args = {
@@ -4986,16 +4988,6 @@ fdt         fdtmap                Extract the devicetree blob from the fdtmap
         self.assertEqual('rot-cert', fent.fip_type)
         self.assertEqual(b'aa', fent.data)
 
-    def testFipOther(self):
-        """Basic FIP with something that isn't a external blob"""
-        data = self._DoReadFile('204_fip_other.dts')
-        hdr, fents = fip_util.decode_fip(data)
-
-        self.assertEqual(2, len(fents))
-        fent = fents[1]
-        self.assertEqual('rot-cert', fent.fip_type)
-        self.assertEqual(b'aa', fent.data)
-
     def testFipNoType(self):
         """FIP with an entry of an unknown type"""
         with self.assertRaises(ValueError) as e:
@@ -5318,9 +5310,167 @@ fdt         fdtmap                Extract the devicetree blob from the fdtmap
         """Check handling of an FDT map when the section cannot be found"""
         with self.assertRaises(ValueError) as exc:
             self._DoReadFileDtb('224_fit_bad_oper.dts')
-        self.assertIn("Node '/binman/fit': Unknown operation 'unknown'",
+        self.assertIn("Node '/binman/fit': subnode 'images/@fdt-SEQ': Unknown operation 'unknown'",
                       str(exc.exception))
 
+    def test_uses_expand_size(self):
+        """Test that the 'expand-size' property cannot be used anymore"""
+        with self.assertRaises(ValueError) as e:
+           data = self._DoReadFile('225_expand_size_bad.dts')
+        self.assertIn(
+            "Node '/binman/u-boot': Please use 'extend-size' instead of 'expand-size'",
+            str(e.exception))
+
+    def testMkimageMissingBlob(self):
+        """Test using mkimage to build an image"""
+        with test_util.capture_sys_output() as (stdout, stderr):
+            self._DoTestFile('229_mkimage_missing.dts', allow_missing=True,
+                             allow_fake_blobs=True)
+        err = stderr.getvalue()
+        self.assertRegex(
+            err,
+            "Image '.*' has faked external blobs and is non-functional: .*")
+
+    def testFitSplitElf(self):
+        """Test an image with an FIT with an split-elf operation"""
+        entry_args = {
+            'of-list': 'test-fdt1 test-fdt2',
+            'default-dt': 'test-fdt2',
+            'atf-bl31-path': 'bl31.elf',
+            'tee-os-path': 'tee.elf',
+        }
+        test_subdir = os.path.join(self._indir, TEST_FDT_SUBDIR)
+        data = self._DoReadFileDtb(
+            '226_fit_split_elf.dts',
+            entry_args=entry_args,
+            extra_indirs=[test_subdir])[0]
+
+        self.assertEqual(U_BOOT_NODTB_DATA, data[-len(U_BOOT_NODTB_DATA):])
+        fit_data = data[len(U_BOOT_DATA):-len(U_BOOT_NODTB_DATA)]
+
+        base_keys = {'description', 'type', 'arch', 'os', 'compression',
+                     'data', 'load'}
+        dtb = fdt.Fdt.FromData(fit_data)
+        dtb.Scan()
+
+        elf_data = tools.read_file(os.path.join(self._indir, 'bl31.elf'))
+        segments, entry = elf.read_loadable_segments(elf_data)
+
+        # We assume there are two segments
+        self.assertEquals(2, len(segments))
+
+        atf1 = dtb.GetNode('/images/atf-1')
+        _, start, data = segments[0]
+        self.assertEqual(base_keys | {'entry'}, atf1.props.keys())
+        self.assertEqual(entry,
+                         fdt_util.fdt32_to_cpu(atf1.props['entry'].value))
+        self.assertEqual(start,
+                         fdt_util.fdt32_to_cpu(atf1.props['load'].value))
+        self.assertEqual(data, atf1.props['data'].bytes)
+
+        atf2 = dtb.GetNode('/images/atf-2')
+        self.assertEqual(base_keys, atf2.props.keys())
+        _, start, data = segments[1]
+        self.assertEqual(start,
+                         fdt_util.fdt32_to_cpu(atf2.props['load'].value))
+        self.assertEqual(data, atf2.props['data'].bytes)
+
+        conf = dtb.GetNode('/configurations')
+        self.assertEqual({'default'}, conf.props.keys())
+
+        for subnode in conf.subnodes:
+            self.assertEqual({'description', 'fdt', 'loadables'},
+                             subnode.props.keys())
+            self.assertEqual(
+                ['atf-1', 'atf-2', 'tee-1', 'tee-2'],
+                fdt_util.GetStringList(subnode, 'loadables'))
+
+    def _check_bad_fit(self, dts):
+        """Check a bad FIT
+
+        This runs with the given dts and returns the assertion raised
+
+        Args:
+            dts (str): dts filename to use
+
+        Returns:
+            str: Assertion string raised
+        """
+        entry_args = {
+            'of-list': 'test-fdt1 test-fdt2',
+            'default-dt': 'test-fdt2',
+            'atf-bl31-path': 'bl31.elf',
+            'tee-os-path': 'tee.elf',
+        }
+        test_subdir = os.path.join(self._indir, TEST_FDT_SUBDIR)
+        with self.assertRaises(ValueError) as exc:
+            self._DoReadFileDtb(dts, entry_args=entry_args,
+                                extra_indirs=[test_subdir])[0]
+        return str(exc.exception)
+
+    def testFitSplitElfBadElf(self):
+        """Test a FIT split-elf operation with an invalid ELF file"""
+        TestFunctional._MakeInputFile('bad.elf', tools.get_bytes(100, 100))
+        entry_args = {
+            'of-list': 'test-fdt1 test-fdt2',
+            'default-dt': 'test-fdt2',
+            'atf-bl31-path': 'bad.elf',
+            'tee-os-path': 'tee.elf',
+        }
+        test_subdir = os.path.join(self._indir, TEST_FDT_SUBDIR)
+        with self.assertRaises(ValueError) as exc:
+            self._DoReadFileDtb(
+                '226_fit_split_elf.dts',
+                entry_args=entry_args,
+                extra_indirs=[test_subdir])[0]
+        self.assertIn(
+            "Node '/binman/fit': subnode 'images/@atf-SEQ': Failed to read ELF file: Magic number does not match",
+            str(exc.exception))
+
+    def testFitSplitElfBadDirective(self):
+        """Test a FIT split-elf invalid fit,xxx directive in an image node"""
+        err = self._check_bad_fit('227_fit_bad_dir.dts')
+        self.assertIn(
+            "Node '/binman/fit': subnode 'images/@atf-SEQ': Unknown directive 'fit,something'",
+            err)
+
+    def testFitSplitElfBadDirectiveConfig(self):
+        """Test a FIT split-elf with invalid fit,xxx directive in config"""
+        err = self._check_bad_fit('228_fit_bad_dir_config.dts')
+        self.assertEqual(
+            "Node '/binman/fit': subnode 'configurations/@config-SEQ': Unknown directive 'fit,config'",
+            err)
+
+    def checkFitSplitElf(self, **kwargs):
+        """Test an split-elf FIT with a missing ELF file"""
+        entry_args = {
+            'of-list': 'test-fdt1 test-fdt2',
+            'default-dt': 'test-fdt2',
+            'atf-bl31-path': 'bl31.elf',
+            'tee-os-path': 'missing.elf',
+        }
+        test_subdir = os.path.join(self._indir, TEST_FDT_SUBDIR)
+        with test_util.capture_sys_output() as (stdout, stderr):
+            self._DoTestFile(
+                '226_fit_split_elf.dts', entry_args=entry_args,
+                extra_indirs=[test_subdir], **kwargs)
+        err = stderr.getvalue()
+        return err
+
+    def testFitSplitElfMissing(self):
+        """Test an split-elf FIT with a missing ELF file"""
+        err = self.checkFitSplitElf(allow_missing=True)
+        self.assertRegex(
+            err,
+            "Image '.*' is missing external blobs and is non-functional: .*")
+
+    def testFitSplitElfFaked(self):
+        """Test an split-elf FIT with faked ELF file"""
+        err = self.checkFitSplitElf(allow_missing=True, allow_fake_blobs=True)
+        self.assertRegex(
+            err,
+            "Image '.*' is missing external blobs and is non-functional: .*")
+
 
 if __name__ == "__main__":
     unittest.main()
index ab25b48b5fbf6ea4129fc5279c24dce2a4d28bee..9392b59adb156e1ee5f2ab797b041231e2463bda 100755 (executable)
@@ -41,6 +41,7 @@ from patman import test_util
 # Bring in the libfdt module
 sys.path.insert(2, 'scripts/dtc/pylibfdt')
 sys.path.insert(2, os.path.join(srctree, 'scripts/dtc/pylibfdt'))
+sys.path.insert(2, os.path.join(srctree, 'build-sandbox/scripts/dtc/pylibfdt'))
 sys.path.insert(2, os.path.join(srctree, 'build-sandbox_spl/scripts/dtc/pylibfdt'))
 
 # When running under python-coverage on Ubuntu 16.04, the dist-packages
similarity index 88%
rename from tools/binman/test/088_expand_size.dts
rename to tools/binman/test/088_extend_size.dts
index c8a01308ec57b0a3737c6b4100a84dd3dba08a54..f352699e37ca1cf548d36e3922b4d35404f18e26 100644 (file)
@@ -5,7 +5,7 @@
        binman {
                size = <40>;
                fill {
-                       expand-size;
+                       extend-size;
                        fill-byte = [61];
                        size = <0>;
                };
@@ -13,7 +13,7 @@
                        offset = <8>;
                };
                section {
-                       expand-size;
+                       extend-size;
                        pad-byte = <0x62>;
                        intel-mrc {
                        };
@@ -25,7 +25,7 @@
                section2 {
                        type = "section";
                        fill {
-                               expand-size;
+                               extend-size;
                                fill-byte = [63];
                                size = <0>;
                        };
@@ -35,7 +35,7 @@
                };
                fill2 {
                        type = "fill";
-                       expand-size;
+                       extend-size;
                        fill-byte = [64];
                        size = <0>;
                };
similarity index 90%
rename from tools/binman/test/089_expand_size_bad.dts
rename to tools/binman/test/089_extend_size_bad.dts
index edc0e5cf68164a59e371a130e31c82dcc052db94..edc60e43fdf70ada9c19c320fedffe3cdb232572 100644 (file)
@@ -4,7 +4,7 @@
 / {
        binman {
                _testing {
-                       expand-size;
+                       extend-size;
                        return-contents-once;
                };
                u-boot {
index 99d710c57e9b1c49c223799c6fb01408a9720ddc..0197ffd15974348471a939ec2db4fa1e319636a5 100644 (file)
@@ -36,6 +36,9 @@
                                        description = "fdt-NAME.dtb";
                                        type = "flat_dt";
                                        compression = "none";
+                                       hash {
+                                               algo = "sha256";
+                                       };
                                };
                        };
 
index cee801e2eabad61fe6c9d9eaa0cff1c6333648cb..8a8014ea33d0782e9cfbd741605a63454f3b0ae4 100644 (file)
@@ -21,7 +21,5 @@
                                };
                        };
                };
-               fdtmap {
-               };
        };
 };
diff --git a/tools/binman/test/225_expand_size_bad.dts b/tools/binman/test/225_expand_size_bad.dts
new file mode 100644 (file)
index 0000000..d4ad9a6
--- /dev/null
@@ -0,0 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0+
+/dts-v1/;
+
+/ {
+       binman {
+               u-boot {
+                       expand-size;
+               };
+       };
+};
diff --git a/tools/binman/test/226_fit_split_elf.dts b/tools/binman/test/226_fit_split_elf.dts
new file mode 100644 (file)
index 0000000..fab1533
--- /dev/null
@@ -0,0 +1,67 @@
+// SPDX-License-Identifier: GPL-2.0+
+
+/dts-v1/;
+
+/ {
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       binman {
+               u-boot {
+               };
+               fit {
+                       description = "test-desc";
+                       #address-cells = <1>;
+                       fit,fdt-list = "of-list";
+
+                       images {
+                               @fdt-SEQ {
+                                       description = "fdt-NAME.dtb";
+                                       type = "flat_dt";
+                                       compression = "none";
+                               };
+                               atf: @atf-SEQ {
+                                       fit,operation = "split-elf";
+                                       description = "ARM Trusted Firmware";
+                                       type = "firmware";
+                                       arch = "arm64";
+                                       os = "arm-trusted-firmware";
+                                       compression = "none";
+                                       fit,load;
+                                       fit,entry;
+                                       fit,data;
+
+                                       atf-bl31 {
+                                       };
+                               };
+
+                               @tee-SEQ {
+                                       fit,operation = "split-elf";
+                                       description = "TEE";
+                                       type = "tee";
+                                       arch = "arm64";
+                                       os = "tee";
+                                       compression = "none";
+                                       fit,load;
+                                       fit,entry;
+                                       fit,data;
+
+                                       tee-os {
+                                       };
+                               };
+                       };
+
+                       configurations {
+                               default = "@config-DEFAULT-SEQ";
+                               config: @config-SEQ {
+                                       description = "conf-NAME.dtb";
+                                       fdt = "fdt-SEQ";
+                                       fit,loadables;
+                               };
+                       };
+               };
+
+               u-boot-nodtb {
+               };
+       };
+};
diff --git a/tools/binman/test/227_fit_bad_dir.dts b/tools/binman/test/227_fit_bad_dir.dts
new file mode 100644 (file)
index 0000000..51f4816
--- /dev/null
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0+
+
+/dts-v1/;
+
+#include "226_fit_split_elf.dts"
+
+&atf {
+       fit,something = "bad";
+};
diff --git a/tools/binman/test/228_fit_bad_dir_config.dts b/tools/binman/test/228_fit_bad_dir_config.dts
new file mode 100644 (file)
index 0000000..825a346
--- /dev/null
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0+
+
+/dts-v1/;
+
+#include "226_fit_split_elf.dts"
+
+&config {
+       fit,config = "bad";
+};
diff --git a/tools/binman/test/229_mkimage_missing.dts b/tools/binman/test/229_mkimage_missing.dts
new file mode 100644 (file)
index 0000000..54a5a6c
--- /dev/null
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0+
+
+/dts-v1/;
+
+/ {
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       binman {
+               mkimage {
+                       args = "-n test -T script";
+
+                       blob-ext {
+                               filename = "missing.bin";
+                       };
+               };
+       };
+};
index 0b7208da373019b31559bd000b55770a3d7d65fd..e634bbb279b36031d81e16f5d8ed6128e232a36c 100644 (file)
@@ -74,6 +74,7 @@ def CreateBuildmanConfigFile(config_fname):
     print('''[toolchain]
 # name = path
 # e.g. x86 = /opt/gcc-4.6.3-nolibc/x86_64-linux
+other = /
 
 [toolchain-prefix]
 # name = path to prefix
index 754642d4a68ae6d9c12902223d41c174274d38a0..ecbfa3e361e04179710b8d39b77e82d5eefc182f 100644 (file)
@@ -1763,7 +1763,7 @@ class Builder:
             if self.num_threads:
                 self.queue.put(job)
             else:
-                results = self._single_builder.RunJob(job)
+                self._single_builder.RunJob(job)
 
         if self.num_threads:
             term = threading.Thread(target=self.queue.join)
index 4eba50868f5a5956c48158bb87957ed71bf8bfb9..ab74a8ef0622e2e217a73abbdb813a3f02a8454f 100644 (file)
@@ -123,10 +123,10 @@ def adjust_cfg_file(fname, adjust_cfg):
                  C=val to set the value of C (val must have quotes if C is
                      a string Kconfig)
     """
-    lines = tools.ReadFile(fname, binary=False).splitlines()
+    lines = tools.read_file(fname, binary=False).splitlines()
     out_lines = adjust_cfg_lines(lines, adjust_cfg)
     out = '\n'.join(out_lines) + '\n'
-    tools.WriteFile(fname, out, binary=False)
+    tools.write_file(fname, out, binary=False)
 
 def convert_list_to_dict(adjust_cfg_list):
     """Convert a list of config changes into the dict used by adjust_cfg_file()
@@ -219,7 +219,7 @@ def check_cfg_file(fname, adjust_cfg):
     Returns:
         str: None if OK, else an error string listing the problems
     """
-    lines = tools.ReadFile(fname, binary=False).splitlines()
+    lines = tools.read_file(fname, binary=False).splitlines()
     bad_cfgs = check_cfg_lines(lines, adjust_cfg)
     if bad_cfgs:
         out = [f'{cfg:20}  {line}' for cfg, line in bad_cfgs]
index 6fcceb0ea569af826df3cb450ebb2752658e7ff4..fbf6706644b405c744a5f186a837a8c6b593e7c1 100644 (file)
@@ -524,12 +524,6 @@ class TestFunctional(unittest.TestCase):
         # Each commit has a config and make
         self.assertEqual(self._make_calls, len(boards) * self._commits * 2)
 
-    def testForceReconfigure(self):
-        """The -f flag should force a rebuild"""
-        self._RunControl('-b', TEST_BRANCH, '-C', '-o', self._output_dir)
-        # Each commit has a config and make
-        self.assertEqual(self._make_calls, len(boards) * self._commits * 2)
-
     def testMrproper(self):
         """The -f flag should force a rebuild"""
         self._RunControl('-b', TEST_BRANCH, '-m', '-o', self._output_dir)
index c67895ced6b352190c62c2984ce61b65d39dda77..b9f37567559ab3806d8124f3e2e88f7635e49ae2 100644 (file)
@@ -556,6 +556,7 @@ from os.path import dirname, exists, expandvars, islink, join, realpath
 
 VERSION = (14, 1, 0)
 
+# pylint: disable=E1101
 
 # File layout:
 #
index 01271061e6c450cbffe61f329e276bfa3def1951..3b6af240802d9a80c7663da5b0f6461b2937e3aa 100755 (executable)
@@ -30,8 +30,8 @@ from patman import terminal
 from patman import test_util
 
 def RunTests(skip_net_tests, verboose, args):
-    import func_test
-    import test
+    from buildman import func_test
+    from buildman import test
     import doctest
 
     result = unittest.TestResult()
diff --git a/tools/concurrencytest/__init__.py b/tools/concurrencytest/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
index 7a3f5cbade4ea231e224bc55f05a76f6f65ff888..c51e343013747618ae083fb30a9fedf14106666f 100644 (file)
@@ -2,7 +2,7 @@
 # This Dockerfile is used to build an image containing basic stuff to be used
 # to build U-Boot and run our test suites.
 
-FROM ubuntu:focal-20220113
+FROM ubuntu:focal-20220302
 MAINTAINER Tom Rini <trini@konsulko.com>
 LABEL Description=" This image is for building U-Boot inside a container"
 
@@ -48,6 +48,7 @@ RUN apt-get update && apt-get install -y \
        dosfstools \
        e2fsprogs \
        efitools \
+       erofs-utils \
        expect \
        fakeroot \
        flex \
index c16909a87692ac57ec185752f519cfa048c459df..d933972918b38c2a2d0da4888a4ae3664a6c4dfe 100644 (file)
@@ -516,9 +516,7 @@ class Node:
         Returns:
             Prop added
         """
-        out = b''
-        for string in val:
-            out += bytes(string, 'utf-8') + b'\0'
+        out = b'\0'.join(bytes(s, 'utf-8') for s in val) + b'\0' if val else b''
         return self.AddData(prop_name, out)
 
     def AddInt(self, prop_name, val):
index c82e7747aa3d1b259b478f7b947a212c44b48a4d..d7c38ad1e039f655962248997585e89bef0c0eb5 100644 (file)
@@ -158,6 +158,8 @@ def GetString(node, propname, default=None):
     if not prop:
         return default
     value = prop.value
+    if not prop.bytes:
+        return ''
     if isinstance(value, list):
         raise ValueError("Node '%s' property '%s' has list value: expecting "
                          "a single string" % (node.name, propname))
@@ -179,6 +181,8 @@ def GetStringList(node, propname, default=None):
     if not prop:
         return default
     value = prop.value
+    if not prop.bytes:
+        return []
     if not isinstance(value, list):
         strval = GetString(node, propname)
         return [strval]
@@ -192,8 +196,12 @@ def GetArgs(node, propname):
         value = GetStringList(node, propname)
     else:
         value = []
-    lists = [v.split() for v in value]
-    args = [x for l in lists for x in l]
+    if not value:
+        args = []
+    elif len(value) == 1:
+        args = value[0].split()
+    else:
+        args = value
     return args
 
 def GetBool(node, propname, default=False):
index 2d321fb03453fb6bd933281b614207682c5ab82b..aef07efeaeb771c4bf5290f951835dae19b1c691 100644 (file)
@@ -63,5 +63,7 @@
        orig-node {
                orig = <1 23 4>;
                args = "-n first", "second", "-p", "123,456", "-x";
+               args2 = "a space", "there";
+               args3 = "-n first second -p 123,456 -x";
        };
 };
index ea889549231880093c26af8f51cc1f0f109aa0c3..c81bcc9c32f16535c01721068e7d93f4980550ea 100755 (executable)
@@ -16,13 +16,13 @@ import os
 import struct
 import unittest
 
-from dtb_platdata import Ftype
-from dtb_platdata import get_value
-from dtb_platdata import tab_to
 from dtoc import dtb_platdata
 from dtoc import fdt
 from dtoc import fdt_util
 from dtoc import src_scan
+from dtoc.dtb_platdata import Ftype
+from dtoc.dtb_platdata import get_value
+from dtoc.dtb_platdata import tab_to
 from dtoc.src_scan import conv_name_to_c
 from dtoc.src_scan import get_compat_name
 from patman import test_util
index 576d65b97e8e1b296fd3e1c9c4efbbbebf75a963..914ed6aed59f30d2a8ea8541fb6ed019e46fc2bf 100755 (executable)
@@ -25,7 +25,7 @@ sys.path.insert(2, os.path.join(our_path,
 from dtoc import fdt
 from dtoc import fdt_util
 from dtoc.fdt_util import fdt32_to_cpu, fdt64_to_cpu
-from fdt import Type, BytesToValue
+from dtoc.fdt import Type, BytesToValue
 import libfdt
 from patman import command
 from patman import test_util
@@ -119,9 +119,9 @@ class TestFdt(unittest.TestCase):
         """Test that packing a device tree works"""
         self.dtb.Pack()
 
-    def testGetFdt(self):
+    def testGetFdtRaw(self):
         """Tetst that we can access the raw device-tree data"""
-        self.assertTrue(isinstance(self.dtb.GetContents(), bytearray))
+        self.assertTrue(isinstance(self.dtb.GetContents(), bytes))
 
     def testGetProps(self):
         """Tests obtaining a list of properties"""
@@ -550,6 +550,12 @@ class TestProp(unittest.TestCase):
         data = self.fdt.getprop(self.node.Offset(), 'stringlist')
         self.assertEqual(b'123\x00456\0', data)
 
+        val = []
+        self.node.AddStringList('stringlist', val)
+        self.dtb.Sync(auto_resize=True)
+        data = self.fdt.getprop(self.node.Offset(), 'stringlist')
+        self.assertEqual(b'', data)
+
     def test_delete_node(self):
         """Test deleting a node"""
         old_offset = self.fdt.path_offset('/spl-test')
@@ -637,6 +643,7 @@ class TestFdtUtil(unittest.TestCase):
         self.assertEqual('message', fdt_util.GetString(self.node, 'stringval'))
         self.assertEqual('test', fdt_util.GetString(self.node, 'missing',
                                                     'test'))
+        self.assertEqual('', fdt_util.GetString(self.node, 'boolval'))
 
         with self.assertRaises(ValueError) as e:
             self.assertEqual(3, fdt_util.GetString(self.node, 'stringarray'))
@@ -651,6 +658,7 @@ class TestFdtUtil(unittest.TestCase):
             fdt_util.GetStringList(self.node, 'stringarray'))
         self.assertEqual(['test'],
                          fdt_util.GetStringList(self.node, 'missing', ['test']))
+        self.assertEqual([], fdt_util.GetStringList(self.node, 'boolval'))
 
     def testGetArgs(self):
         node = self.dtb.GetNode('/orig-node')
@@ -659,8 +667,12 @@ class TestFdtUtil(unittest.TestCase):
             ['multi-word', 'message'],
             fdt_util.GetArgs(self.node, 'stringarray'))
         self.assertEqual([], fdt_util.GetArgs(self.node, 'boolval'))
-        self.assertEqual(['-n', 'first', 'second', '-p', '123,456', '-x'],
+        self.assertEqual(['-n first', 'second', '-p', '123,456', '-x'],
                          fdt_util.GetArgs(node, 'args'))
+        self.assertEqual(['a space', 'there'],
+                         fdt_util.GetArgs(node, 'args2'))
+        self.assertEqual(['-n', 'first', 'second', '-p', '123,456', '-x'],
+                         fdt_util.GetArgs(node, 'args3'))
         with self.assertRaises(ValueError) as exc:
             fdt_util.GetArgs(self.node, 'missing')
         self.assertIn(
index cff1e30658100fc0907dd5d5481d79073f37815c..84bc875fff8efcf15d7acadce3a0944bf3c1c65d 100755 (executable)
@@ -94,17 +94,6 @@ SIZES = {
 RE_REMOVE_DEFCONFIG = re.compile(r'(.*)_defconfig')
 
 ### helper functions ###
-def remove_defconfig(defc):
-    """Drop the _defconfig suffix on a string
-
-    Args:
-        defc (str): String to convert
-
-    Returns:
-        str: string with the '_defconfig' suffix removed
-    """
-    return RE_REMOVE_DEFCONFIG.match(defc)[1]
-
 def check_top_directory():
     """Exit if we are not at the top of source directory."""
     for fname in 'README', 'Licenses':
@@ -339,7 +328,7 @@ def read_file(fname, as_lines=True, skip_unicode=False):
                 return inf.read()
         except UnicodeDecodeError as e:
             if not skip_unicode:
-                raises
+                raise
             print("Failed on file %s': %s" % (fname, e))
             return None
 
@@ -790,9 +779,6 @@ class KconfigParser:
                 actlog = "'%s' is the same as the define in Kconfig.  Do nothing." \
                          % value
                 log_color = COLOR_LIGHT_PURPLE
-            elif action == ACTION_SPL_NOT_EXIST:
-                actlog = 'SPL is not enabled for this defconfig.  Skip.'
-                log_color = COLOR_PURPLE
             else:
                 sys.exit('Internal Error. This should not happen.')
 
@@ -1621,8 +1607,7 @@ def defconfig_matches(configs, re_match):
         bool: True if any CONFIG matches the regex
     """
     for cfg in configs:
-        m_cfg = re_match.match(cfg)
-        if m_cfg and m_cfg.span()[1] == len(cfg):
+        if re_match.fullmatch(cfg):
             return True
     return False
 
@@ -1671,7 +1656,7 @@ def do_find_config(config_list):
         print(f"Error: Not in Kconfig: %s" % ' '.join(adhoc))
     else:
         print(f'{len(out)} matches')
-        print(' '.join([remove_defconfig(item) for item in out]))
+        print(' '.join(item.split('_defconfig')[0] for item in out))
 
 
 def prefix_config(cfg):
index dd792efee0b96a51744748c5077c4c7066d81e79..70ba561c2686e4c28cedd75877805e6fed33d2bf 100644 (file)
@@ -125,7 +125,7 @@ def check_patch_parse(checkpatch_output, verbose=False):
     Returns:
         namedtuple containing:
             ok: False=failure, True=ok
-            problems: List of problems, each a dict:
+            problems (list of problems): each a dict:
                 'type'; error or warning
                 'msg': text message
                 'file' : filename
@@ -252,6 +252,8 @@ def check_patches(verbose, args):
             if (len(result.problems) != result.errors + result.warnings +
                     result.checks):
                 print("Internal error: some problems lost")
+            # Python seems to get confused by this
+            # pylint: disable=E1133
             for item in result.problems:
                 sys.stderr.write(
                     get_warning_msg(col, item.get('type', '<unknown>'),
index 24358784f26c459ef4a468a31c2ad36be7e886f9..92c453b5c1374b7a5c9f1c8fb988dda25e9796e3 100644 (file)
@@ -17,13 +17,6 @@ class CommandResult:
         return_code: Return code from command
         exception: Exception received, or None if all ok
     """
-    def __init__(self):
-        self.stdout = None
-        self.stderr = None
-        self.combined = None
-        self.return_code = None
-        self.exception = None
-
     def __init__(self, stdout='', stderr='', combined='', return_code=0,
                  exception=None):
         self.stdout = stdout
@@ -72,6 +65,7 @@ def run_pipe(pipe_list, infile=None, outfile=None,
     """
     if test_result:
         if hasattr(test_result, '__call__'):
+            # pylint: disable=E1102
             result = test_result(pipe_list=pipe_list)
             if result:
                 return result
index c331a3b12219b11681e0af335232341420b0801b..9537de43d391e803d09ade7c7c620d61c1253ed0 100644 (file)
@@ -28,10 +28,11 @@ class Commit:
             key: rtag type (e.g. 'Reviewed-by')
             value: Set of people who gave that rtag, each a name/email string
         warn: List of warnings for this commit, each a str
+        patch (str): Filename of the patch file for this commit
     """
     def __init__(self, hash):
         self.hash = hash
-        self.subject = None
+        self.subject = ''
         self.tags = []
         self.changes = {}
         self.cc_list = []
@@ -40,6 +41,7 @@ class Commit:
         self.change_id = None
         self.rtags = collections.defaultdict(set)
         self.warn = []
+        self.patch = ''
 
     def __str__(self):
         return self.subject
index f1b26087cfd233e2a43117d04ffe2420a5e33fa6..cd614f38a648fb54b6f5662d4ca7ef5af012cf8a 100644 (file)
@@ -113,7 +113,7 @@ class Popen(subprocess.Popen):
             return b''
         return data
 
-    def communicate_filter(self, output):
+    def communicate_filter(self, output, input_buf=''):
         """Interact with process: Read data from stdout and stderr.
 
         This method runs until end-of-file is reached, then waits for the
@@ -166,7 +166,7 @@ class Popen(subprocess.Popen):
             # Flush stdio buffer.    This might block, if the user has
             # been writing to .stdin in an uncontrolled fashion.
             self.stdin.flush()
-            if input:
+            if input_buf:
                 write_set.append(self.stdin)
             else:
                 self.stdin.close()
@@ -195,10 +195,10 @@ class Popen(subprocess.Popen):
                 # When select has indicated that the file is writable,
                 # we can write up to PIPE_BUF bytes without risk
                 # blocking.    POSIX defines PIPE_BUF >= 512
-                chunk = input[input_offset : input_offset + 512]
+                chunk = input_buf[input_offset : input_offset + 512]
                 bytes_written = os.write(self.stdin.fileno(), chunk)
                 input_offset += bytes_written
-                if input_offset >= len(input):
+                if input_offset >= len(input_buf):
                     self.stdin.close()
                     write_set.remove(self.stdin)
 
@@ -240,16 +240,6 @@ class Popen(subprocess.Popen):
         stderr = self.convert_data(stderr)
         combined = self.convert_data(combined)
 
-        # Translate newlines, if requested.    We cannot let the file
-        # object do the translation: It is based on stdio, which is
-        # impossible to combine with select (unless forcing no
-        # buffering).
-        if self.universal_newlines and hasattr(file, 'newlines'):
-            if stdout:
-                stdout = self._translate_newlines(stdout)
-            if stderr:
-                stderr = self._translate_newlines(stderr)
-
         self.wait()
         return (stdout, stderr, combined)
 
index 59ee90c344fc9ce0d4507dc0575644e3864cca01..7b92bc67be1eff37134d58fe72fccfd8c992d8dd 100644 (file)
@@ -341,6 +341,8 @@ Changes in v2:
         tools.write_file(path, text, binary=False)
         index = self.repo.index
         index.add(fname)
+        # pylint doesn't seem to find this
+        # pylint: disable=E1101
         author = pygit2.Signature('Test user', 'test@email.com')
         committer = author
         tree = index.write_tree()
@@ -363,6 +365,8 @@ Changes in v2:
         self.repo = repo
         new_tree = repo.TreeBuilder().write()
 
+        # pylint doesn't seem to find this
+        # pylint: disable=E1101
         author = pygit2.Signature('Test user', 'test@email.com')
         committer = author
         _ = repo.create_commit('HEAD', author, committer, 'Created master',
@@ -414,6 +418,8 @@ better than before''')
         first_target = repo.revparse_single('HEAD')
 
         target = repo.revparse_single('HEAD~2')
+        # pylint doesn't seem to find this
+        # pylint: disable=E1101
         repo.reset(target.oid, pygit2.GIT_CHECKOUT_FORCE)
         self.make_commit_with_file('video: Some video improvements', '''
 Fix up the video so that
@@ -459,6 +465,8 @@ complicated as possible''')
         """Test creating patches from a branch"""
         repo = self.make_git_tree()
         target = repo.lookup_reference('refs/heads/first')
+        # pylint doesn't seem to find this
+        # pylint: disable=E1101
         self.repo.checkout(target, strategy=pygit2.GIT_CHECKOUT_FORCE)
         control.setup()
         try:
@@ -615,6 +623,8 @@ diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c
         """Test CountCommitsToBranch when there is no upstream"""
         repo = self.make_git_tree()
         target = repo.lookup_reference('refs/heads/base')
+        # pylint doesn't seem to find this
+        # pylint: disable=E1101
         self.repo.checkout(target, strategy=pygit2.GIT_CHECKOUT_FORCE)
 
         # Check that it can detect the current branch
index 9b32fd4790e1c92ba796b5cf428956df3f5aa72b..fb6a6036f3bef2ef972202527a8746aa3c4bb9b6 100644 (file)
@@ -597,7 +597,7 @@ class PatchStream:
         if 'prefix' in self.series:
             parts.append(self.series['prefix'])
         if 'postfix' in self.series:
-            parts.append(self.serties['postfix'])
+            parts.append(self.series['postfix'])
         if 'version' in self.series:
             parts.append("v%s" % self.series['version'])
 
index 891f27853423792f3d2647d8519ab039eb94c3a8..3075378ac1f7f52a180f56f64367cefd66361aab 100644 (file)
@@ -122,8 +122,7 @@ class Series(dict):
             cc_list = list(self._generated_cc[commit.patch])
             for email in sorted(set(cc_list) - to_set - cc_set):
                 if email == None:
-                    email = col.build(col.YELLOW, "<alias '%s' not found>"
-                            % tag)
+                    email = col.build(col.YELLOW, '<alias not found>')
                 if email:
                     print('      Cc: ', email)
         print
index 014bb376d8b191935b027fd5fa0b3511ddceb206..7c2b5c196c0621696d5715ab7d24602b6920467e 100644 (file)
@@ -200,12 +200,12 @@ def CreatePatmanConfigFile(gitutil, config_fname):
     """
     name = gitutil.get_default_user_name()
     if name == None:
-        name = raw_input("Enter name: ")
+        name = input("Enter name: ")
 
     email = gitutil.get_default_user_email()
 
     if email == None:
-        email = raw_input("Enter email: ")
+        email = input("Enter email: ")
 
     try:
         f = open(config_fname, 'w')
index 5e4d4ac05cf67e04523719a59ecd637be799b987..2ac814d476ffeb96c5e6a53d63057929765a5c6c 100644 (file)
@@ -62,8 +62,8 @@ def prepare_output_dir(dirname, preserve=False):
             try:
                 os.makedirs(outdir)
             except OSError as err:
-                raise CmdError("Cannot make output directory '%s': '%s'" %
-                                (outdir, err.strerror))
+                raise ValueError(
+                    f"Cannot make output directory 'outdir': 'err.strerror'")
         tout.debug("Using output directory '%s'" % outdir)
     else:
         outdir = tempfile.mkdtemp(prefix='binman.')
@@ -160,7 +160,7 @@ def get_input_filename_glob(pattern):
         A list of matching files in all input directories
     """
     if not indir:
-        return glob.glob(fname)
+        return glob.glob(pattern)
     files = []
     for dirname in indir:
         pathname = os.path.join(dirname, pattern)
@@ -201,7 +201,7 @@ def path_has_file(path_spec, fname):
             return True
     return False
 
-def get_host_compile_tool(name):
+def get_host_compile_tool(env, name):
     """Get the host-specific version for a compile tool
 
     This checks the environment variables that specify which version of
@@ -356,7 +356,7 @@ def run_result(name, *args, **kwargs):
             name, extra_args = get_target_compile_tool(name)
             args = tuple(extra_args) + args
         elif for_host:
-            name, extra_args = get_host_compile_tool(name)
+            name, extra_args = get_host_compile_tool(env, name)
             args = tuple(extra_args) + args
         name = os.path.expanduser(name)  # Expand paths containing ~
         all_args = (name,) + args