]> git.ipfire.org Git - people/ms/u-boot.git/commitdiff
Merge branch 'master' of git://git.denx.de/u-boot-net
authorTom Rini <trini@konsulko.com>
Wed, 12 Aug 2015 19:46:36 +0000 (15:46 -0400)
committerTom Rini <trini@konsulko.com>
Thu, 13 Aug 2015 11:19:41 +0000 (07:19 -0400)
725 files changed:
README
arch/arm/Kconfig
arch/arm/Makefile
arch/arm/cpu/arm11/Makefile [new file with mode: 0644]
arch/arm/cpu/arm11/cpu.c [moved from arch/arm/cpu/arm1136/cpu.c with 84% similarity]
arch/arm/cpu/arm1136/Makefile
arch/arm/cpu/arm1176/Makefile
arch/arm/cpu/arm1176/cpu.c [deleted file]
arch/arm/cpu/arm926ejs/cache.c
arch/arm/cpu/arm926ejs/lpc32xx/devices.c
arch/arm/cpu/arm926ejs/mxs/mxs.c
arch/arm/cpu/armv7/am33xx/board.c
arch/arm/cpu/armv7/am33xx/clock_am43xx.c
arch/arm/cpu/armv7/cache_v7.c
arch/arm/cpu/armv7/lowlevel_init.S
arch/arm/cpu/armv7/omap3/Kconfig
arch/arm/cpu/armv7/omap3/board.c
arch/arm/cpu/armv7/omap3/boot.c
arch/arm/cpu/armv7/omap4/hwinit.c
arch/arm/cpu/armv7/omap5/hwinit.c
arch/arm/cpu/armv7/start.S
arch/arm/cpu/armv8/Makefile
arch/arm/cpu/armv8/cache_v8.c
arch/arm/cpu/armv8/hisilicon/Makefile [new file with mode: 0644]
arch/arm/cpu/armv8/hisilicon/pinmux.c [new file with mode: 0644]
arch/arm/dts/Makefile
arch/arm/dts/am335x-bone-common.dtsi
arch/arm/dts/am335x-bone.dts [new file with mode: 0644]
arch/arm/dts/am335x-boneblack.dts
arch/arm/dts/am335x-evm.dts [new file with mode: 0644]
arch/arm/dts/am33xx-clocks.dtsi [new file with mode: 0644]
arch/arm/dts/am33xx.dtsi
arch/arm/dts/dra7.dtsi [new file with mode: 0644]
arch/arm/dts/dra72-evm.dts [new file with mode: 0644]
arch/arm/dts/dra72x.dtsi [new file with mode: 0644]
arch/arm/dts/dra7xx-clocks.dtsi [new file with mode: 0644]
arch/arm/dts/omap4-cpu-thermal.dtsi [new file with mode: 0644]
arch/arm/dts/omap5-core-thermal.dtsi [new file with mode: 0644]
arch/arm/dts/omap5-gpu-thermal.dtsi [new file with mode: 0644]
arch/arm/dts/tps65910.dtsi [new file with mode: 0644]
arch/arm/include/asm/arch-am33xx/gpio.h
arch/arm/include/asm/arch-bcmcygnus/configs.h
arch/arm/include/asm/arch-hi6220/dwmmc.h [new file with mode: 0644]
arch/arm/include/asm/arch-hi6220/gpio.h [new file with mode: 0644]
arch/arm/include/asm/arch-hi6220/hi6220.h [new file with mode: 0644]
arch/arm/include/asm/arch-hi6220/hi6220_regs_alwayson.h [new file with mode: 0644]
arch/arm/include/asm/arch-hi6220/periph.h [new file with mode: 0644]
arch/arm/include/asm/arch-hi6220/pinmux.h [new file with mode: 0644]
arch/arm/include/asm/arch-lpc32xx/clk.h
arch/arm/include/asm/arch-lpc32xx/sys_proto.h
arch/arm/include/asm/arch-ls102xa/gpio.h
arch/arm/include/asm/arch-omap3/omap.h
arch/arm/include/asm/arch-omap5/sys_proto.h
arch/arm/include/asm/mach-types.h
arch/arm/include/asm/omap_gpio.h
arch/arm/lib/cache.c
arch/arm/lib/interrupts.c
arch/arm/lib/spl.c
arch/arm/mach-at91/Kconfig
arch/arm/mach-at91/Makefile
arch/arm/mach-at91/arm926ejs/cpu.c
arch/arm/mach-at91/spl_at91.c
arch/arm/mach-bcm283x/include/mach/mbox.h
arch/arm/mach-bcm283x/mbox.c
arch/arm/mach-integrator/Kconfig
arch/arm/mach-keystone/Makefile
arch/arm/mach-keystone/clock-k2e.c
arch/arm/mach-keystone/clock-k2hk.c
arch/arm/mach-keystone/clock-k2l.c
arch/arm/mach-keystone/clock.c
arch/arm/mach-keystone/cmd_clock.c
arch/arm/mach-keystone/include/mach/clock-k2e.h
arch/arm/mach-keystone/include/mach/clock-k2hk.h
arch/arm/mach-keystone/include/mach/clock-k2l.h
arch/arm/mach-keystone/include/mach/clock.h
arch/arm/mach-keystone/include/mach/clock_defs.h
arch/arm/mach-keystone/include/mach/hardware-k2hk.h
arch/arm/mach-keystone/include/mach/hardware.h
arch/arm/mach-keystone/init.c
arch/m68k/lib/cache.c
arch/powerpc/include/asm/arch-mpc85xx/gpio.h
board/armltd/integrator/integrator.c
board/broadcom/bcm_ep/board.c
board/compulab/cm_t43/Kconfig [new file with mode: 0644]
board/compulab/cm_t43/MAINTAINERS [new file with mode: 0644]
board/compulab/cm_t43/Makefile [new file with mode: 0644]
board/compulab/cm_t43/board.c [new file with mode: 0644]
board/compulab/cm_t43/board.h [new file with mode: 0644]
board/compulab/cm_t43/mux.c [new file with mode: 0644]
board/freescale/common/pfuze.c
board/highbank/highbank.c
board/hisilicon/hikey/Kconfig [new file with mode: 0644]
board/hisilicon/hikey/Makefile [new file with mode: 0644]
board/hisilicon/hikey/README [new file with mode: 0644]
board/hisilicon/hikey/hikey.c [new file with mode: 0644]
board/lge/sniper/Kconfig [new file with mode: 0644]
board/lge/sniper/MAINTAINERS [new file with mode: 0644]
board/lge/sniper/Makefile [new file with mode: 0644]
board/lge/sniper/sniper.c [new file with mode: 0644]
board/lge/sniper/sniper.h [new file with mode: 0644]
board/raspberrypi/rpi/rpi.c
board/siemens/smartweb/Kconfig [new file with mode: 0644]
board/siemens/smartweb/MAINTAINERS [new file with mode: 0644]
board/siemens/smartweb/Makefile [new file with mode: 0644]
board/siemens/smartweb/smartweb.c [new file with mode: 0644]
board/ti/dra7xx/Kconfig
board/ti/ks2_evm/board.c
board/ti/ks2_evm/board_k2e.c
board/ti/ks2_evm/board_k2hk.c
board/ti/ks2_evm/board_k2l.c
board/timll/devkit3250/Makefile
board/timll/devkit3250/devkit3250.c
board/timll/devkit3250/devkit3250_spl.c [new file with mode: 0644]
common/Kconfig
common/Makefile
common/board_info.c
common/cli_readline.c
common/cli_simple.c
common/cmd_source.c
common/image-fdt.c
common/image.c
common/lcd.c
common/spl/spl_mmc.c
configs/M5208EVBE_defconfig
configs/M52277EVB_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/M54418TWR_defconfig
configs/M54418TWR_nand_mii_defconfig
configs/M54418TWR_nand_rmii_defconfig
configs/M54418TWR_nand_rmii_lowfreq_defconfig
configs/M54418TWR_serial_mii_defconfig
configs/M54418TWR_serial_rmii_defconfig
configs/M54451EVB_defconfig
configs/M54455EVB_defconfig
configs/M5475AFE_defconfig
configs/M5475BFE_defconfig
configs/M5475CFE_defconfig
configs/M5475DFE_defconfig
configs/M5475EFE_defconfig
configs/M5475FFE_defconfig
configs/M5475GFE_defconfig
configs/M5485AFE_defconfig
configs/M5485BFE_defconfig
configs/M5485CFE_defconfig
configs/M5485DFE_defconfig
configs/M5485EFE_defconfig
configs/M5485FFE_defconfig
configs/M5485GFE_defconfig
configs/M5485HFE_defconfig
configs/MPC8349ITXGP_defconfig
configs/MPC8349ITX_LOWBOOT_defconfig
configs/MPC8349ITX_defconfig
configs/PATI_defconfig
configs/UCP1020_defconfig
configs/VCMA9_defconfig
configs/ac14xx_defconfig
configs/adp-ag101_defconfig
configs/adp-ag101p_defconfig
configs/adp-ag102_defconfig
configs/am335x_gp_evm_defconfig [new file with mode: 0644]
configs/am3517_crane_defconfig
configs/am3517_evm_defconfig
configs/amcore_defconfig
configs/apalis_t30_defconfig
configs/apf27_defconfig
configs/arcangel4_defconfig
configs/arndale_defconfig
configs/astro_mcf5373l_defconfig
configs/at91rm9200ek_defconfig
configs/at91rm9200ek_ram_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/atngw100_defconfig
configs/atngw100mkii_defconfig
configs/atstk1002_defconfig
configs/axs101_defconfig
configs/beaver_defconfig
configs/bf537-minotaur_defconfig
configs/bf537-srv1_defconfig
configs/bf561-acvilon_defconfig
configs/br4_defconfig
configs/cairo_defconfig
configs/calimain_defconfig
configs/cam_enc_4xx_defconfig
configs/cardhu_defconfig
configs/cgtqmx6qeval_defconfig
configs/cm_fx6_defconfig
configs/cm_t335_defconfig
configs/cm_t3517_defconfig
configs/cm_t35_defconfig
configs/cm_t43_defconfig [new file with mode: 0644]
configs/cm_t54_defconfig
configs/cobra5272_defconfig
configs/colibri_t20_defconfig
configs/colibri_t30_defconfig
configs/colibri_vf_defconfig
configs/colibri_vf_dtb_defconfig
configs/corvus_defconfig
configs/cpu9260_128M_defconfig
configs/cpu9260_defconfig
configs/cpu9260_nand_128M_defconfig
configs/cpu9260_nand_defconfig
configs/cpu9G20_128M_defconfig
configs/cpu9G20_defconfig
configs/cpu9G20_nand_128M_defconfig
configs/cpu9G20_nand_defconfig
configs/cpuat91_defconfig
configs/da830evm_defconfig
configs/da850evm_defconfig
configs/da850evm_direct_nor_defconfig
configs/dalmore_defconfig
configs/davinci_dm355evm_defconfig
configs/davinci_dm355leopard_defconfig
configs/davinci_dm365evm_defconfig
configs/davinci_dm6467evm_defconfig
configs/davinci_dvevm_defconfig
configs/davinci_schmoogie_defconfig
configs/davinci_sffsdr_defconfig
configs/davinci_sonata_defconfig
configs/dbau1000_defconfig
configs/dbau1100_defconfig
configs/dbau1500_defconfig
configs/dbau1550_defconfig
configs/dbau1550_el_defconfig
configs/devkit3250_defconfig
configs/dig297_defconfig
configs/dockstar_defconfig
configs/dra72_evm_defconfig [new file with mode: 0644]
configs/dra7xx_evm_defconfig
configs/dra7xx_evm_qspiboot_defconfig
configs/dra7xx_evm_uart3_defconfig
configs/draco_defconfig
configs/duovero_defconfig
configs/ea20_defconfig
configs/eb_cpu5282_defconfig
configs/eb_cpux9k2_defconfig
configs/eco5pk_defconfig
configs/edminiv2_defconfig
configs/ethernut5_defconfig
configs/flea3_defconfig
configs/fx12mm_defconfig
configs/goflexhome_defconfig
configs/grasshopper_defconfig
configs/gwventana_defconfig
configs/h2200_defconfig
configs/harmony_defconfig
configs/hikey_defconfig [new file with mode: 0644]
configs/ib62x0_defconfig
configs/iconnect_defconfig
configs/ima3-mx53_defconfig
configs/imx31_litekit_defconfig
configs/imx31_phycore_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/ipam390_defconfig
configs/jetson-tk1_defconfig
configs/jornada_defconfig
configs/k2e_evm_defconfig
configs/k2hk_evm_defconfig
configs/k2l_evm_defconfig
configs/kwb_defconfig
configs/kzm9g_defconfig
configs/mcx_defconfig
configs/medcom-wide_defconfig
configs/microblaze-generic_defconfig
configs/ml507_defconfig
configs/mt_ventoux_defconfig
configs/mx51_efikamx_defconfig
configs/nas220_defconfig
configs/nhk8815_defconfig
configs/nokia_rx51_defconfig
configs/nyan-big_defconfig
configs/odroid-xu3_defconfig
configs/odroid_defconfig
configs/omap3_evm_defconfig
configs/omap3_evm_quick_mmc_defconfig
configs/omap3_evm_quick_nand_defconfig
configs/omap3_logic_defconfig
configs/omap3_mvblx_defconfig
configs/omap3_overo_defconfig
configs/omap3_pandora_defconfig
configs/omap3_sdp3430_defconfig
configs/omapl138_lcdk_defconfig
configs/origen_defconfig
configs/palmld_defconfig
configs/palmtc_defconfig
configs/paz00_defconfig
configs/pb1000_defconfig
configs/pcm030_defconfig
configs/peach-pi_defconfig
configs/peach-pit_defconfig
configs/pepper_defconfig
configs/platinum_picon_defconfig
configs/platinum_titanium_defconfig
configs/plutux_defconfig
configs/pm9261_defconfig
configs/pm9263_defconfig
configs/pm9g45_defconfig
configs/pogo_e02_defconfig
configs/pr1_defconfig
configs/pxm2_defconfig
configs/rastaban_defconfig
configs/rpi_2_defconfig
configs/rpi_defconfig
configs/rut_defconfig
configs/s5p_goni_defconfig
configs/s5pc210_universal_defconfig
configs/scb9328_defconfig
configs/seaboard_defconfig
configs/secomx6quq7_defconfig
configs/smartweb_defconfig [new file with mode: 0644]
configs/smdk2410_defconfig
configs/smdk5250_defconfig
configs/smdk5420_defconfig
configs/smdkc100_defconfig
configs/smdkv310_defconfig
configs/snapper9260_defconfig
configs/sniper_defconfig [new file with mode: 0644]
configs/snow_defconfig
configs/snowball_defconfig
configs/spring_defconfig
configs/stamp9g20_defconfig
configs/stm32f429-discovery_defconfig
configs/stv0991_defconfig
configs/stxgp3_defconfig
configs/stxssa_defconfig
configs/tao3530_defconfig
configs/taurus_defconfig
configs/tb100_defconfig
configs/tbs2910_defconfig
configs/tec-ng_defconfig
configs/tec_defconfig
configs/thuban_defconfig
configs/ti814x_evm_defconfig
configs/ti816x_evm_defconfig
configs/titanium_defconfig
configs/trats2_defconfig
configs/trats_defconfig
configs/tricorder_defconfig
configs/trimslice_defconfig
configs/tseries_mmc_defconfig
configs/tseries_nand_defconfig
configs/tseries_spi_defconfig
configs/tt01_defconfig
configs/twister_defconfig
configs/u8500_href_defconfig
configs/usb_a9263_dataflash_defconfig
configs/v5fx30teval_defconfig
configs/vct_platinum_defconfig
configs/vct_platinum_onenand_defconfig
configs/vct_platinum_onenand_small_defconfig
configs/vct_platinum_small_defconfig
configs/vct_platinumavc_defconfig
configs/vct_platinumavc_onenand_defconfig
configs/vct_platinumavc_onenand_small_defconfig
configs/vct_platinumavc_small_defconfig
configs/vct_premium_defconfig
configs/vct_premium_onenand_defconfig
configs/vct_premium_onenand_small_defconfig
configs/vct_premium_small_defconfig
configs/venice2_defconfig
configs/ventana_defconfig
configs/versatileab_defconfig
configs/versatilepb_defconfig
configs/versatileqemu_defconfig
configs/vexpress_aemv8a_juno_defconfig
configs/vexpress_aemv8a_semi_defconfig
configs/vision2_defconfig
configs/vl_ma2sc_defconfig
configs/vpac270_nor_128_defconfig
configs/vpac270_nor_256_defconfig
configs/vpac270_ond_256_defconfig
configs/whistler_defconfig
configs/wireless_space_defconfig
configs/woodburn_defconfig
configs/woodburn_sd_defconfig
configs/x600_defconfig
configs/xilinx-ppc405-generic_defconfig
configs/xilinx-ppc440-generic_defconfig
configs/xilinx_zynqmp_ep_defconfig
configs/zipitz2_defconfig
configs/zmx25_defconfig
doc/device-tree-bindings/regulator/regulator.txt
drivers/core/Kconfig
drivers/crypto/Kconfig
drivers/crypto/fsl/Makefile
drivers/demo/Kconfig
drivers/gpio/Kconfig
drivers/gpio/Makefile
drivers/gpio/hi6220_gpio.c [new file with mode: 0644]
drivers/gpio/omap_gpio.c
drivers/i2c/Kconfig
drivers/input/Makefile
drivers/input/twl4030.c [new file with mode: 0644]
drivers/led/Kconfig
drivers/misc/Kconfig
drivers/mmc/Makefile
drivers/mmc/hi6220_dw_mmc.c [new file with mode: 0644]
drivers/mmc/omap_hsmmc.c
drivers/mtd/nand/Makefile
drivers/mtd/nand/atmel_nand.c
drivers/mtd/nand/lpc32xx_nand_slc.c [new file with mode: 0644]
drivers/mtd/nand/nand_spl_simple.c
drivers/power/pmic/Makefile
drivers/power/pmic/pmic_hi6553.c [new file with mode: 0644]
drivers/power/regulator/Kconfig
drivers/power/regulator/Makefile
drivers/power/regulator/max77686.c
drivers/power/regulator/pfuze100.c [new file with mode: 0644]
drivers/power/regulator/regulator-uclass.c
drivers/power/twl4030.c
drivers/rtc/Kconfig
drivers/serial/Kconfig
drivers/serial/serial_omap.c
drivers/sound/Kconfig
drivers/spi/omap3_spi.h
drivers/usb/host/dwc2.c
drivers/usb/host/ohci-hcd.c
drivers/usb/host/ohci.h
drivers/video/Kconfig
drivers/video/bcm2835.c
fs/fs.c
fs/jffs2/Makefile
fs/jffs2/jffs2_1pass.c
fs/jffs2/jffs2_private.h
fs/jffs2/mergesort.c [new file with mode: 0644]
include/bitfield.h
include/common.h
include/config_distro_defaults.h
include/configs/M5208EVBE.h
include/configs/M52277EVB.h
include/configs/M5235EVB.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/M54418TWR.h
include/configs/M54451EVB.h
include/configs/M54455EVB.h
include/configs/M5475EVB.h
include/configs/M5485EVB.h
include/configs/MPC8349ITX.h
include/configs/PATI.h
include/configs/T102xQDS.h
include/configs/T102xRDB.h
include/configs/UCP1020.h
include/configs/VCMA9.h
include/configs/ac14xx.h
include/configs/adp-ag101.h
include/configs/adp-ag101p.h
include/configs/adp-ag102.h
include/configs/am3517_crane.h
include/configs/am3517_evm.h
include/configs/amcore.h
include/configs/apalis_t30.h
include/configs/apf27.h
include/configs/arcangel4.h
include/configs/arndale.h
include/configs/astro_mcf5373l.h
include/configs/at91-sama5_common.h
include/configs/at91rm9200ek.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/atngw100.h
include/configs/atngw100mkii.h
include/configs/atstk1002.h
include/configs/axs101.h
include/configs/balloon3.h
include/configs/beaver.h
include/configs/bf537-minotaur.h
include/configs/bf537-srv1.h
include/configs/bf561-acvilon.h
include/configs/br4.h
include/configs/bur_am335x_common.h
include/configs/calimain.h
include/configs/cam_enc_4xx.h
include/configs/cardhu.h
include/configs/cm_fx6.h
include/configs/cm_t335.h
include/configs/cm_t35.h
include/configs/cm_t3517.h
include/configs/cm_t43.h [new file with mode: 0644]
include/configs/cm_t54.h
include/configs/cobra5272.h
include/configs/colibri_pxa270.h
include/configs/colibri_t20.h
include/configs/colibri_t30.h
include/configs/colibri_vf.h
include/configs/corvus.h
include/configs/cpu9260.h
include/configs/cpuat91.h
include/configs/da830evm.h
include/configs/da850evm.h
include/configs/dalmore.h
include/configs/davinci_dm355evm.h
include/configs/davinci_dm355leopard.h
include/configs/davinci_dm365evm.h
include/configs/davinci_dm6467evm.h
include/configs/davinci_dvevm.h
include/configs/davinci_schmoogie.h
include/configs/davinci_sffsdr.h
include/configs/davinci_sonata.h
include/configs/dbau1x00.h
include/configs/devkit3250.h
include/configs/devkit8000.h
include/configs/dig297.h
include/configs/dockstar.h
include/configs/duovero.h
include/configs/ea20.h
include/configs/eb_cpu5282.h
include/configs/eb_cpux9k2.h
include/configs/eco5pk.h
include/configs/edb93xx.h
include/configs/edminiv2.h
include/configs/ethernut5.h
include/configs/flea3.h
include/configs/fx12mm.h
include/configs/goflexhome.h
include/configs/grasshopper.h
include/configs/gw_ventana.h
include/configs/h2200.h
include/configs/harmony.h
include/configs/highbank.h
include/configs/hikey.h [new file with mode: 0644]
include/configs/hrcon.h
include/configs/ib62x0.h
include/configs/iconnect.h
include/configs/ima3-mx53.h
include/configs/imx31_litekit.h
include/configs/imx31_phycore.h
include/configs/integrator-common.h
include/configs/integratorap.h
include/configs/integratorcp.h
include/configs/ipam390.h
include/configs/jetson-tk1.h
include/configs/jornada.h
include/configs/kzm9g.h
include/configs/lp8x4x.h
include/configs/ls2085a_common.h
include/configs/lsxl.h
include/configs/malta.h
include/configs/mcx.h
include/configs/medcom-wide.h
include/configs/microblaze-generic.h
include/configs/ml507.h
include/configs/mt_ventoux.h
include/configs/mv-common.h
include/configs/mx31pdk.h
include/configs/mx51_efikamx.h
include/configs/mx6ul_14x14_evk.h
include/configs/mxs.h
include/configs/nas220.h
include/configs/nhk8815.h
include/configs/nokia_rx51.h
include/configs/nyan-big.h
include/configs/odroid.h
include/configs/odroid_xu3.h
include/configs/odroid_xu3.h.rej [new file with mode: 0644]
include/configs/omap3_beagle.h
include/configs/omap3_cairo.h
include/configs/omap3_evm_common.h
include/configs/omap3_igep00x0.h
include/configs/omap3_logic.h
include/configs/omap3_mvblx.h
include/configs/omap3_overo.h
include/configs/omap3_pandora.h
include/configs/omap3_sdp3430.h
include/configs/omap3_zoom1.h
include/configs/omapl138_lcdk.h
include/configs/origen.h
include/configs/palmld.h
include/configs/palmtc.h
include/configs/palmtreo680.h
include/configs/paz00.h
include/configs/pb1x00.h
include/configs/pcm030.h
include/configs/peach-pi.h
include/configs/peach-pit.h
include/configs/pepper.h
include/configs/platinum_picon.h
include/configs/platinum_titanium.h
include/configs/plutux.h
include/configs/pm9261.h
include/configs/pm9263.h
include/configs/pm9g45.h
include/configs/pogo_e02.h
include/configs/pr1.h
include/configs/pxa255_idp.h
include/configs/qemu-mips.h
include/configs/qemu-mips64.h
include/configs/rpi-common.h
include/configs/rpi.h
include/configs/rpi_2.h
include/configs/s5p_goni.h
include/configs/s5pc210_universal.h
include/configs/scb9328.h
include/configs/seaboard.h
include/configs/secomx6quq7.h
include/configs/siemens-am33x-common.h
include/configs/smartweb.h [new file with mode: 0644]
include/configs/smdk2410.h
include/configs/smdk5250.h
include/configs/smdk5420.h
include/configs/smdkc100.h
include/configs/smdkv310.h
include/configs/snapper9260.h
include/configs/sniper.h [new file with mode: 0644]
include/configs/snow.h
include/configs/snowball.h
include/configs/spear-common.h
include/configs/spring.h
include/configs/stamp9g20.h
include/configs/stm32f429-discovery.h
include/configs/stv0991.h
include/configs/stxgp3.h
include/configs/stxssa.h
include/configs/sunxi-common.h
include/configs/tam3517-common.h
include/configs/tao3530.h
include/configs/taurus.h
include/configs/tb100.h
include/configs/tbs2910.h
include/configs/tec-ng.h
include/configs/tec.h
include/configs/tegra-common.h
include/configs/ti814x_evm.h
include/configs/ti816x_evm.h
include/configs/ti_armv7_common.h
include/configs/ti_armv7_keystone2.h
include/configs/titanium.h
include/configs/trats.h
include/configs/trats2.h
include/configs/tricorder.h
include/configs/trimslice.h
include/configs/trizepsiv.h
include/configs/tt01.h
include/configs/twister.h
include/configs/tx25.h
include/configs/u8500_href.h
include/configs/usb_a9263.h
include/configs/v5fx30teval.h
include/configs/vct.h
include/configs/venice2.h
include/configs/ventana.h
include/configs/versatile.h
include/configs/vexpress_aemv8a.h
include/configs/vexpress_ca15_tc2.h
include/configs/vexpress_ca5x2.h
include/configs/vexpress_ca9x4.h
include/configs/vexpress_common.h
include/configs/vision2.h
include/configs/vl_ma2sc.h
include/configs/vpac270.h
include/configs/whistler.h
include/configs/wireless_space.h
include/configs/woodburn_common.h
include/configs/x600.h
include/configs/xaeniax.h
include/configs/xilinx-ppc405-generic.h
include/configs/xilinx-ppc440-generic.h
include/configs/xilinx_zynqmp.h
include/configs/zipitz2.h
include/configs/zmx25.h
include/configs/zynq-common.h
include/dt-bindings/pinctrl/dra.h [new file with mode: 0644]
include/fsl_sec.h
include/power/hi6553_pmic.h [new file with mode: 0644]
include/power/pfuze100_pmic.h
include/power/regulator.h
include/twl4030.h
include/u-boot/rsa-mod-exp.h
lib/display_options.c
tools/logos/toradex.bmp [new file with mode: 0644]

diff --git a/README b/README
index 1bcb63c7e39b8316ca8642dce640f543a5f6b012..95f2d9d2fe97026f2200dfee9f61c500b6aaa3f9 100644 (file)
--- a/README
+++ b/README
@@ -705,6 +705,7 @@ The following options need to be configured:
                CONFIG_ARM_ERRATA_454179
                CONFIG_ARM_ERRATA_621766
                CONFIG_ARM_ERRATA_798870
+               CONFIG_ARM_ERRATA_801819
 
 - Tegra SoC options:
                CONFIG_TEGRA_SUPPORT_NON_SECURE
index 8b8269fd13eeca8a807269c336fe12fc06ea5034..ee9a1b3e65a74e3447fcc4afc8a83fb6cda7618c 100644 (file)
@@ -64,7 +64,7 @@ config SEMIHOSTING
 
 choice
        prompt "Target select"
-       optional
+       default ARCH_VERSATILE
 
 config ARCH_AT91
        bool "Atmel AT91"
@@ -121,6 +121,7 @@ config TARGET_MAXBCM
 config TARGET_DEVKIT3250
        bool "Support devkit3250"
        select CPU_ARM926EJS
+       select SUPPORT_SPL
 
 config TARGET_WORK_92105
        bool "Support work_92105"
@@ -457,6 +458,8 @@ config ARCH_HIGHBANK
 
 config ARCH_INTEGRATOR
        bool "ARM Ltd. Integrator family"
+       select DM
+       select DM_SERIAL
 
 config ARCH_KEYSTONE
        bool "TI Keystone"
@@ -640,6 +643,11 @@ config ARCH_SOCFPGA
        select DM_SPI_FLASH
        select DM_SPI
 
+config TARGET_CM_T43
+       bool "Support cm_t43"
+       select CPU_V7
+       select SUPPORT_SPL
+
 config ARCH_SUNXI
        bool "Support sunxi (Allwinner) SoCs"
        select CMD_USB
@@ -733,6 +741,13 @@ config TARGET_LS2085ARDB
          development platform that supports the QorIQ LS2085A
          Layerscape Architecture processor.
 
+config TARGET_HIKEY
+       bool "Support HiKey 96boards Consumer Edition Platform"
+       select ARM64
+         help
+         Support for HiKey 96boards platform. It features a HI6220
+         SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
+
 config TARGET_LS1021AQDS
        bool "Support ls1021aqds"
        select CPU_V7
@@ -880,6 +895,7 @@ source "board/Marvell/gplugd/Kconfig"
 source "board/armadeus/apf27/Kconfig"
 source "board/armltd/vexpress/Kconfig"
 source "board/armltd/vexpress64/Kconfig"
+source "board/hisilicon/hikey/Kconfig"
 source "board/bachmann/ot1200/Kconfig"
 source "board/balloon3/Kconfig"
 source "board/barco/platinum/Kconfig"
@@ -891,6 +907,7 @@ source "board/broadcom/bcmcygnus/Kconfig"
 source "board/broadcom/bcmnsp/Kconfig"
 source "board/cirrus/edb93xx/Kconfig"
 source "board/compulab/cm_t335/Kconfig"
+source "board/compulab/cm_t43/Kconfig"
 source "board/compulab/cm_fx6/Kconfig"
 source "board/congatec/cgtqmx6eval/Kconfig"
 source "board/creative/xfi3/Kconfig"
index 6f30098f0accc59eb6c94d454c801222cebeeeb7..ab0e9ce67369bc2982f9ae02b9dda579d1743862 100644 (file)
@@ -78,7 +78,7 @@ libs-y += arch/arm/cpu/
 libs-y += arch/arm/lib/
 
 ifeq ($(CONFIG_SPL_BUILD),y)
-ifneq (,$(CONFIG_MX23)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35))
+ifneq (,$(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35))
 libs-y += arch/arm/imx-common/
 endif
 else
diff --git a/arch/arm/cpu/arm11/Makefile b/arch/arm/cpu/arm11/Makefile
new file mode 100644 (file)
index 0000000..2379b0f
--- /dev/null
@@ -0,0 +1,8 @@
+#
+# (C) Copyright 2000-2006
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+
+obj-y  = cpu.o
similarity index 84%
rename from arch/arm/cpu/arm1136/cpu.c
rename to arch/arm/cpu/arm11/cpu.c
index a7aed4b2b70a720654d0180207e6a903a3e1ed74..1e4c2142b1317cea432c950af40486b35876fe53 100644 (file)
@@ -32,16 +32,6 @@ int cleanup_before_linux (void)
 
        disable_interrupts ();
 
-#ifdef CONFIG_LCD
-       {
-               extern void lcd_disable(void);
-               extern void lcd_panel_disable(void);
-
-               lcd_disable(); /* proper disable of lcd & panel */
-               lcd_panel_disable();
-       }
-#endif
-
        /* turn off I/D-cache */
        icache_disable();
        dcache_disable();
@@ -120,11 +110,6 @@ void flush_dcache_range(unsigned long start, unsigned long stop)
        asm volatile("mcr p15, 0, %0, c7, c10, 4" : : "r" (0));
 }
 
-void flush_cache(unsigned long start, unsigned long size)
-{
-       flush_dcache_range(start, start + size);
-}
-
 #else /* #ifndef CONFIG_SYS_DCACHE_OFF */
 void invalidate_dcache_all(void)
 {
@@ -133,18 +118,6 @@ void invalidate_dcache_all(void)
 void flush_dcache_all(void)
 {
 }
-
-void invalidate_dcache_range(unsigned long start, unsigned long stop)
-{
-}
-
-void flush_dcache_range(unsigned long start, unsigned long stop)
-{
-}
-
-void flush_cache(unsigned long start, unsigned long size)
-{
-}
 #endif /* #ifndef CONFIG_SYS_DCACHE_OFF */
 
 #if !defined(CONFIG_SYS_ICACHE_OFF) || !defined(CONFIG_SYS_DCACHE_OFF)
index 56a9390b0111856fcb335f858ec5bef5a75b2277..dbdafeb47f61ba59516f0178a903b50021ded413 100644 (file)
@@ -6,7 +6,7 @@
 #
 
 extra-y        = start.o
-obj-y  = cpu.o
 
+obj-y += ../arm11/
 obj-$(CONFIG_MX31) += mx31/
 obj-$(CONFIG_MX35) += mx35/
index deec4274477551b17b13b8e1b601892246d2641c..cd6dc9c1304d8afd12f2750835a73734d7a38123 100644 (file)
@@ -8,5 +8,7 @@
 # SPDX-License-Identifier:     GPL-2.0+
 #
 
+obj- += dummy.o
 extra-y        = start.o
-obj-y  = cpu.o
+
+obj-y += ../arm11/
diff --git a/arch/arm/cpu/arm1176/cpu.c b/arch/arm/cpu/arm1176/cpu.c
deleted file mode 100644 (file)
index 2d81651..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * (C) Copyright 2004 Texas Insturments
- *
- * (C) Copyright 2002
- * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
- * Marius Groeger <mgroeger@sysgo.de>
- *
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-/*
- * CPU specific code
- */
-
-#include <common.h>
-#include <command.h>
-#include <asm/system.h>
-
-static void cache_flush (void);
-
-int cleanup_before_linux (void)
-{
-       /*
-        * this function is called just before we call linux
-        * it prepares the processor for linux
-        *
-        * we turn off caches etc ...
-        */
-
-       disable_interrupts ();
-
-       /* turn off I/D-cache */
-       icache_disable();
-       dcache_disable();
-       /* flush I/D-cache */
-       cache_flush();
-
-       return 0;
-}
-
-/* flush I/D-cache */
-static void cache_flush (void)
-{
-       /* invalidate both caches and flush btb */
-       asm ("mcr p15, 0, %0, c7, c7, 0": :"r" (0));
-       /* mem barrier to sync things */
-       asm ("mcr p15, 0, %0, c7, c10, 4": :"r" (0));
-}
index 8d7873c9af332fc48a2dd511f0df7f7bfcf8e4be..e5c1a6ae6c92965e20144094a4d9af1a3fd13c9c 100644 (file)
@@ -69,11 +69,6 @@ void flush_dcache_range(unsigned long start, unsigned long stop)
 
        asm volatile("mcr p15, 0, %0, c7, c10, 4\n" : : "r"(0));
 }
-
-void flush_cache(unsigned long start, unsigned long size)
-{
-       flush_dcache_range(start, start + size);
-}
 #else /* #ifndef CONFIG_SYS_DCACHE_OFF */
 void invalidate_dcache_all(void)
 {
@@ -82,18 +77,6 @@ void invalidate_dcache_all(void)
 void flush_dcache_all(void)
 {
 }
-
-void invalidate_dcache_range(unsigned long start, unsigned long stop)
-{
-}
-
-void flush_dcache_range(unsigned long start, unsigned long stop)
-{
-}
-
-void flush_cache(unsigned long start, unsigned long size)
-{
-}
 #endif /* #ifndef CONFIG_SYS_DCACHE_OFF */
 
 /*
index 9c8d65560a6157ddc6fe21647a71dcd56b10792e..c0c9c6c3122a0984e1d5bd7e5cb083f39f7efa94 100644 (file)
@@ -59,6 +59,12 @@ void lpc32xx_mlc_nand_init(void)
        writel(CLK_NAND_MLC | CLK_NAND_MLC_INT, &clk->flashclk_ctrl);
 }
 
+void lpc32xx_slc_nand_init(void)
+{
+       /* Enable SLC NAND interface */
+       writel(CLK_NAND_SLC | CLK_NAND_SLC_SELECT, &clk->flashclk_ctrl);
+}
+
 void lpc32xx_i2c_init(unsigned int devnum)
 {
        /* Enable I2C interface */
index ef130aea426975babb926a48d0da0e863ec65638..b1d8721213d8df005950077507a52da85e630e93 100644 (file)
@@ -24,7 +24,7 @@
 DECLARE_GLOBAL_DATA_PTR;
 
 /* Lowlevel init isn't used on i.MX28, so just have a dummy here */
-inline void lowlevel_init(void) {}
+void lowlevel_init(void) {}
 
 void reset_cpu(ulong ignored) __attribute__((noreturn));
 
index 377c611eb61c4d0177975f27ae9ecd9040547b37..bd14326cf4799aa99f8fab4a96c199c7ff46bb83 100644 (file)
 
 DECLARE_GLOBAL_DATA_PTR;
 
-#ifdef CONFIG_DM_GPIO
-static const struct omap_gpio_platdata am33xx_gpio[] = {
-       { 0, AM33XX_GPIO0_BASE, METHOD_GPIO_24XX },
-       { 1, AM33XX_GPIO1_BASE, METHOD_GPIO_24XX },
-       { 2, AM33XX_GPIO2_BASE, METHOD_GPIO_24XX },
-       { 3, AM33XX_GPIO3_BASE, METHOD_GPIO_24XX },
-#ifdef CONFIG_AM43XX
-       { 4, AM33XX_GPIO4_BASE, METHOD_GPIO_24XX },
-       { 5, AM33XX_GPIO5_BASE, METHOD_GPIO_24XX },
-#endif
-};
-
-U_BOOT_DEVICES(am33xx_gpios) = {
-       { "gpio_omap", &am33xx_gpio[0] },
-       { "gpio_omap", &am33xx_gpio[1] },
-       { "gpio_omap", &am33xx_gpio[2] },
-       { "gpio_omap", &am33xx_gpio[3] },
-#ifdef CONFIG_AM43XX
-       { "gpio_omap", &am33xx_gpio[4] },
-       { "gpio_omap", &am33xx_gpio[5] },
-#endif
-};
-
-# ifndef CONFIG_OF_CONTROL
+#if defined(CONFIG_DM_SERIAL) && !defined(CONFIG_OF_CONTROL)
 /*
  * TODO(sjg@chromium.org): When we can move SPL serial to DM, we can remove
  * the CONFIGs. At the same time, we should move this to the board files.
  */
 static const struct ns16550_platdata am33xx_serial[] = {
        { CONFIG_SYS_NS16550_COM1, 2, CONFIG_SYS_NS16550_CLK },
-#  ifdef CONFIG_SYS_NS16550_COM2
+# ifdef CONFIG_SYS_NS16550_COM2
        { CONFIG_SYS_NS16550_COM2, 2, CONFIG_SYS_NS16550_CLK },
-#   ifdef CONFIG_SYS_NS16550_COM3
+#  ifdef CONFIG_SYS_NS16550_COM3
        { CONFIG_SYS_NS16550_COM3, 2, CONFIG_SYS_NS16550_CLK },
        { CONFIG_SYS_NS16550_COM4, 2, CONFIG_SYS_NS16550_CLK },
        { CONFIG_SYS_NS16550_COM5, 2, CONFIG_SYS_NS16550_CLK },
        { CONFIG_SYS_NS16550_COM6, 2, CONFIG_SYS_NS16550_CLK },
-#   endif
 #  endif
+# endif
 };
 
 U_BOOT_DEVICES(am33xx_uarts) = {
@@ -91,23 +68,22 @@ U_BOOT_DEVICES(am33xx_uarts) = {
 #   endif
 #  endif
 };
-# endif
+#endif
 
-#else
 
+#ifndef CONFIG_DM_GPIO
 static const struct gpio_bank gpio_bank_am33xx[] = {
-       { (void *)AM33XX_GPIO0_BASE, METHOD_GPIO_24XX },
-       { (void *)AM33XX_GPIO1_BASE, METHOD_GPIO_24XX },
-       { (void *)AM33XX_GPIO2_BASE, METHOD_GPIO_24XX },
-       { (void *)AM33XX_GPIO3_BASE, METHOD_GPIO_24XX },
+       { (void *)AM33XX_GPIO0_BASE },
+       { (void *)AM33XX_GPIO1_BASE },
+       { (void *)AM33XX_GPIO2_BASE },
+       { (void *)AM33XX_GPIO3_BASE },
 #ifdef CONFIG_AM43XX
-       { (void *)AM33XX_GPIO4_BASE, METHOD_GPIO_24XX },
-       { (void *)AM33XX_GPIO5_BASE, METHOD_GPIO_24XX },
+       { (void *)AM33XX_GPIO4_BASE },
+       { (void *)AM33XX_GPIO5_BASE },
 #endif
 };
 
 const struct gpio_bank *const omap_gpio_bank = gpio_bank_am33xx;
-
 #endif
 
 #if defined(CONFIG_OMAP_HSMMC) && !defined(CONFIG_SPL_BUILD)
index b1c0025eebe8a2db8a903d11ea12e45bb685afe0..b6396942bbff5135d3224271d40f2f36f4d54237 100644 (file)
@@ -115,6 +115,7 @@ void enable_basic_clocks(void)
                &cmper->usbphyocp2scp0clkctrl,
                &cmper->usb1clkctrl,
                &cmper->usbphyocp2scp1clkctrl,
+               &cmper->spi0clkctrl,
                0
        };
 
index e8ee875981f587ac8b32f537f80b76b92c660eef..a5aa4fa6436ca719505c04472bb3b60bc67c7d4f 100644 (file)
@@ -286,15 +286,6 @@ void mmu_page_table_flush(unsigned long start, unsigned long stop)
        flush_dcache_range(start, stop);
        v7_inval_tlb();
 }
-
-/*
- * Flush range from all levels of d-cache/unified-cache used:
- * Affects the range [start, start + size - 1]
- */
-void  flush_cache(unsigned long start, unsigned long size)
-{
-       flush_dcache_range(start, start + size);
-}
 #else /* #ifndef CONFIG_SYS_DCACHE_OFF */
 void invalidate_dcache_all(void)
 {
@@ -304,22 +295,10 @@ void flush_dcache_all(void)
 {
 }
 
-void invalidate_dcache_range(unsigned long start, unsigned long stop)
-{
-}
-
-void flush_dcache_range(unsigned long start, unsigned long stop)
-{
-}
-
 void arm_init_before_mmu(void)
 {
 }
 
-void  flush_cache(unsigned long start, unsigned long size)
-{
-}
-
 void mmu_page_table_flush(unsigned long start, unsigned long stop)
 {
 }
index 427b0b132165b8003233a3280e097b02a4891e0b..1872c57699577bcf107753fb48ff1a2dbde63ac1 100644 (file)
@@ -21,7 +21,7 @@ ENTRY(lowlevel_init)
         */
        ldr     sp, =CONFIG_SYS_INIT_SP_ADDR
        bic     sp, sp, #7 /* 8-byte alignment for ABI compliance */
-#ifdef CONFIG_DM
+#ifdef CONFIG_SPL_DM
        mov     r9, #0
 #else
        /*
index b32a6b0e5f59b001ff7aab532c30bf241e6bb6bf..f4fb6cb486ba3a0ca8d2a16933db322cadd05eed 100644 (file)
@@ -114,6 +114,13 @@ config TARGET_OMAP3_CAIRO
        select DM_SERIAL
        select DM_GPIO
 
+config TARGET_SNIPER
+       bool "Sniper"
+       select SUPPORT_SPL
+       select DM
+       select DM_SERIAL
+       select DM_GPIO
+
 endchoice
 
 config SYS_SOC
@@ -142,5 +149,6 @@ source "board/nokia/rx51/Kconfig"
 source "board/technexion/tao3530/Kconfig"
 source "board/technexion/twister/Kconfig"
 source "board/quipos/cairo/Kconfig"
+source "board/lge/sniper/Kconfig"
 
 endif
index 17cb5b759b9a4d598ab828a6fda6af2a50f6b3bc..8252b322f68a3fed2def8ca2d28198643a093f40 100644 (file)
@@ -38,12 +38,12 @@ static void omap3_invalidate_l2_cache_secure(void);
 
 #ifdef CONFIG_DM_GPIO
 static const struct omap_gpio_platdata omap34xx_gpio[] = {
-       { 0, OMAP34XX_GPIO1_BASE, METHOD_GPIO_24XX },
-       { 1, OMAP34XX_GPIO2_BASE, METHOD_GPIO_24XX },
-       { 2, OMAP34XX_GPIO3_BASE, METHOD_GPIO_24XX },
-       { 3, OMAP34XX_GPIO4_BASE, METHOD_GPIO_24XX },
-       { 4, OMAP34XX_GPIO5_BASE, METHOD_GPIO_24XX },
-       { 5, OMAP34XX_GPIO6_BASE, METHOD_GPIO_24XX },
+       { 0, OMAP34XX_GPIO1_BASE },
+       { 1, OMAP34XX_GPIO2_BASE },
+       { 2, OMAP34XX_GPIO3_BASE },
+       { 3, OMAP34XX_GPIO4_BASE },
+       { 4, OMAP34XX_GPIO5_BASE },
+       { 5, OMAP34XX_GPIO6_BASE },
 };
 
 U_BOOT_DEVICES(am33xx_gpios) = {
@@ -58,12 +58,12 @@ U_BOOT_DEVICES(am33xx_gpios) = {
 #else
 
 static const struct gpio_bank gpio_bank_34xx[6] = {
-       { (void *)OMAP34XX_GPIO1_BASE, METHOD_GPIO_24XX },
-       { (void *)OMAP34XX_GPIO2_BASE, METHOD_GPIO_24XX },
-       { (void *)OMAP34XX_GPIO3_BASE, METHOD_GPIO_24XX },
-       { (void *)OMAP34XX_GPIO4_BASE, METHOD_GPIO_24XX },
-       { (void *)OMAP34XX_GPIO5_BASE, METHOD_GPIO_24XX },
-       { (void *)OMAP34XX_GPIO6_BASE, METHOD_GPIO_24XX },
+       { (void *)OMAP34XX_GPIO1_BASE },
+       { (void *)OMAP34XX_GPIO2_BASE },
+       { (void *)OMAP34XX_GPIO3_BASE },
+       { (void *)OMAP34XX_GPIO4_BASE },
+       { (void *)OMAP34XX_GPIO5_BASE },
+       { (void *)OMAP34XX_GPIO6_BASE },
 };
 
 const struct gpio_bank *const omap_gpio_bank = gpio_bank_34xx;
index 66576b26c5f1b6a940c17d14924396282559f011..44d7c306620bdccbef01dd1e654f5e29f957b3da 100644 (file)
@@ -56,3 +56,41 @@ u32 omap_sys_boot_device(void)
 
        return boot_devices[sys_boot];
 }
+
+char omap_reboot_mode(void)
+{
+       u32 reboot_mode;
+       char c;
+
+       reboot_mode = readl((u32 *)(OMAP34XX_SCRATCHPAD + 4));
+
+       c = (reboot_mode >> 24) & 0xff;
+       if (c != 'B')
+               return -1;
+
+       c = (reboot_mode >> 16) & 0xff;
+       if (c != 'M')
+               return -1;
+
+       c = reboot_mode & 0xff;
+
+       return c;
+}
+
+int omap_reboot_mode_clear(void)
+{
+       writel(0, (u32 *)(OMAP34XX_SCRATCHPAD + 4));
+
+       return 0;
+}
+
+int omap_reboot_mode_store(char c)
+{
+       u32 reboot_mode;
+
+       reboot_mode = 'B' << 24 | 'M' << 16 | c;
+
+       writel(reboot_mode, (u32 *)(OMAP34XX_SCRATCHPAD + 4));
+
+       return 0;
+}
index 9792761d40a0263a0c7b19f57b7edd3fd087cdd1..a68947faf115f410507ddad6e70a2726adcf3fc9 100644 (file)
@@ -25,12 +25,12 @@ DECLARE_GLOBAL_DATA_PTR;
 u32 *const omap_si_rev = (u32 *)OMAP_SRAM_SCRATCH_OMAP_REV;
 
 static const struct gpio_bank gpio_bank_44xx[6] = {
-       { (void *)OMAP44XX_GPIO1_BASE, METHOD_GPIO_24XX },
-       { (void *)OMAP44XX_GPIO2_BASE, METHOD_GPIO_24XX },
-       { (void *)OMAP44XX_GPIO3_BASE, METHOD_GPIO_24XX },
-       { (void *)OMAP44XX_GPIO4_BASE, METHOD_GPIO_24XX },
-       { (void *)OMAP44XX_GPIO5_BASE, METHOD_GPIO_24XX },
-       { (void *)OMAP44XX_GPIO6_BASE, METHOD_GPIO_24XX },
+       { (void *)OMAP44XX_GPIO1_BASE },
+       { (void *)OMAP44XX_GPIO2_BASE },
+       { (void *)OMAP44XX_GPIO3_BASE },
+       { (void *)OMAP44XX_GPIO4_BASE },
+       { (void *)OMAP44XX_GPIO5_BASE },
+       { (void *)OMAP44XX_GPIO6_BASE },
 };
 
 const struct gpio_bank *const omap_gpio_bank = gpio_bank_44xx;
index 39f8d0d5e20013d7a269e29682db436fbc18f8af..3699050e09a0af7096071b77033e8db527764bef 100644 (file)
@@ -27,18 +27,20 @@ DECLARE_GLOBAL_DATA_PTR;
 
 u32 *const omap_si_rev = (u32 *)OMAP_SRAM_SCRATCH_OMAP_REV;
 
+#ifndef CONFIG_DM_GPIO
 static struct gpio_bank gpio_bank_54xx[8] = {
-       { (void *)OMAP54XX_GPIO1_BASE, METHOD_GPIO_24XX },
-       { (void *)OMAP54XX_GPIO2_BASE, METHOD_GPIO_24XX },
-       { (void *)OMAP54XX_GPIO3_BASE, METHOD_GPIO_24XX },
-       { (void *)OMAP54XX_GPIO4_BASE, METHOD_GPIO_24XX },
-       { (void *)OMAP54XX_GPIO5_BASE, METHOD_GPIO_24XX },
-       { (void *)OMAP54XX_GPIO6_BASE, METHOD_GPIO_24XX },
-       { (void *)OMAP54XX_GPIO7_BASE, METHOD_GPIO_24XX },
-       { (void *)OMAP54XX_GPIO8_BASE, METHOD_GPIO_24XX },
+       { (void *)OMAP54XX_GPIO1_BASE },
+       { (void *)OMAP54XX_GPIO2_BASE },
+       { (void *)OMAP54XX_GPIO3_BASE },
+       { (void *)OMAP54XX_GPIO4_BASE },
+       { (void *)OMAP54XX_GPIO5_BASE },
+       { (void *)OMAP54XX_GPIO6_BASE },
+       { (void *)OMAP54XX_GPIO7_BASE },
+       { (void *)OMAP54XX_GPIO8_BASE },
 };
 
 const struct gpio_bank *const omap_gpio_bank = gpio_bank_54xx;
+#endif
 
 void do_set_mux32(u32 base, struct pad_conf_entry const *array, int size)
 {
@@ -418,3 +420,20 @@ void v7_arch_cp15_set_l2aux_ctrl(u32 l2auxctrl, u32 cpu_midr,
 {
        omap_smc1(OMAP5_SERVICE_L2ACTLR_SET, l2auxctrl);
 }
+
+void v7_arch_cp15_set_acr(u32 acr, u32 cpu_midr, u32 cpu_rev_comb,
+                         u32 cpu_variant, u32 cpu_rev)
+{
+
+#ifdef CONFIG_ARM_ERRATA_801819
+       /*
+        * DRA72x processors are uniprocessors and DONOT have
+        * ACP (Accelerator Coherency Port) hooked to ACE (AXI Coherency
+        * Extensions) Hence the erratum workaround is not applicable for
+        * DRA72x processors.
+        */
+       if (is_dra72x())
+               acr &= ~((0x3 << 23) | (0x3 << 25));
+#endif
+       omap_smc1(OMAP5_SERVICE_ACR_SET, acr);
+}
index 1c7e6f01f9414c09bac40a5a4d81381d98bae4c5..b18094447b0601e8a7ff539c0b286c693c66d5da 100644 (file)
@@ -187,6 +187,27 @@ ENTRY(cpu_init_cp15)
 skip_errata_798870:
 #endif
 
+#ifdef CONFIG_ARM_ERRATA_801819
+       cmp     r2, #0x24               @ Applies to lt including R2p4
+       bgt     skip_errata_801819      @ skip if not affected rev
+       cmp     r2, #0x20               @ Applies to including and above R2p0
+       blt     skip_errata_801819      @ skip if not affected rev
+       mrc     p15, 0, r0, c0, c0, 6   @ pick up REVIDR reg
+       and     r0, r0, #1 << 3         @ check REVIDR[3]
+       cmp     r0, #1 << 3
+       beq     skip_errata_801819      @ skip erratum if REVIDR[3] is set
+
+       mrc     p15, 0, r0, c1, c0, 1   @ read auxilary control register
+       orr     r0, r0, #3 << 27        @ Disables streaming. All write-allocate
+                                       @ lines allocate in the L1 or L2 cache.
+       orr     r0, r0, #3 << 25        @ Disables streaming. All write-allocate
+                                       @ lines allocate in the L1 cache.
+       push    {r1-r5}                 @ Save the cpu info registers
+       bl      v7_arch_cp15_set_acr
+       pop     {r1-r5}                 @ Restore the cpu info - fall through
+skip_errata_801819:
+#endif
+
 #ifdef CONFIG_ARM_ERRATA_454179
        cmp     r2, #0x21               @ Only on < r2p1
        bge     skip_errata_454179
index 6466ebb4606b2b6d65c7a5e2173ee78d4c0a5a95..adb11b3bda1a68f7851580d0863341d2fa04e96c 100644 (file)
@@ -17,3 +17,4 @@ obj-y += transition.o
 
 obj-$(CONFIG_FSL_LSCH3) += fsl-lsch3/
 obj-$(CONFIG_ARCH_ZYNQMP) += zynqmp/
+obj-$(CONFIG_TARGET_HIKEY) += hisilicon/
index c22f7b6a51e6c6b8209a08a8998c1e3eb314cfec..835f6a6525ea08e8c3a1473d78fa7dbf1428c681 100644 (file)
@@ -180,14 +180,6 @@ void flush_dcache_all(void)
 {
 }
 
-void invalidate_dcache_range(unsigned long start, unsigned long stop)
-{
-}
-
-void flush_dcache_range(unsigned long start, unsigned long stop)
-{
-}
-
 void dcache_enable(void)
 {
 }
@@ -261,11 +253,3 @@ void __weak enable_caches(void)
        icache_enable();
        dcache_enable();
 }
-
-/*
- * Flush range from all levels of d-cache/unified-cache
- */
-void flush_cache(unsigned long start, unsigned long size)
-{
-       flush_dcache_range(start, start + size);
-}
diff --git a/arch/arm/cpu/armv8/hisilicon/Makefile b/arch/arm/cpu/armv8/hisilicon/Makefile
new file mode 100644 (file)
index 0000000..2c9aefe
--- /dev/null
@@ -0,0 +1,8 @@
+#
+# (C) Copyright 2015 Linaro
+# Peter Griffin <peter.griffin@linaro.org>
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+
+obj-y  += pinmux.o
diff --git a/arch/arm/cpu/armv8/hisilicon/pinmux.c b/arch/arm/cpu/armv8/hisilicon/pinmux.c
new file mode 100644 (file)
index 0000000..3e4c9ce
--- /dev/null
@@ -0,0 +1,184 @@
+/*
+ * Copyright (C) 2015 Linaro.
+ * Peter Griffin <peter.griffin@linaro.org>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <common.h>
+#include <fdtdec.h>
+#include <asm/gpio.h>
+#include <asm/io.h>
+#include <asm/arch/pinmux.h>
+
+struct hi6220_pinmux0_regs *pmx0 =
+       (struct hi6220_pinmux0_regs *)HI6220_PINMUX0_BASE;
+
+struct hi6220_pinmux1_regs *pmx1 =
+       (struct hi6220_pinmux1_regs *)HI6220_PINMUX1_BASE;
+
+static void hi6220_uart_config(int peripheral)
+{
+       switch (peripheral) {
+       case PERIPH_ID_UART0:
+               writel(MUX_M0, &pmx0->iomg[48]); /* UART0_RXD */
+               writel(MUX_M0, &pmx0->iomg[49]); /* UART0_TXD */
+
+               writel(DRIVE1_02MA | PULL_UP, &pmx1->iocfg[49]); /* UART0_RXD */
+               writel(DRIVE1_02MA | PULL_UP, &pmx1->iocfg[50]); /* UART0_TXD */
+               break;
+
+       case PERIPH_ID_UART1:
+               writel(MUX_M0, &pmx0->iomg[50]); /* UART1_CTS_N */
+               writel(MUX_M0, &pmx0->iomg[51]); /* UART1_RTS_N */
+               writel(MUX_M0, &pmx0->iomg[52]); /* UART1_RXD */
+               writel(MUX_M0, &pmx0->iomg[53]); /* UART1_TXD */
+
+               writel(DRIVE1_02MA | PULL_UP, &pmx1->iocfg[51]); /*UART1_CTS_N*/
+               writel(DRIVE1_02MA | PULL_UP, &pmx1->iocfg[53]); /* UART1_RXD */
+               writel(DRIVE1_02MA, &pmx1->iocfg[52]); /* UART1_RTS_N */
+               writel(DRIVE1_02MA, &pmx1->iocfg[54]); /* UART1_TXD */
+               break;
+
+       case PERIPH_ID_UART2:
+               writel(MUX_M0, &pmx0->iomg[54]); /* UART2_CTS_N */
+               writel(MUX_M0, &pmx0->iomg[55]); /* UART2_RTS_N */
+               writel(MUX_M0, &pmx0->iomg[56]); /* UART2_RXD */
+               writel(MUX_M0, &pmx0->iomg[57]); /* UART2_TXD */
+
+               writel(DRIVE1_02MA, &pmx1->iocfg[55]); /* UART2_CTS_N */
+               writel(DRIVE1_02MA, &pmx1->iocfg[56]); /* UART2_RTS_N */
+               writel(DRIVE1_02MA, &pmx1->iocfg[57]); /* UART2_RXD */
+               writel(DRIVE1_02MA, &pmx1->iocfg[58]); /* UART2_TXD */
+               break;
+
+       case PERIPH_ID_UART3:
+               writel(MUX_M1, &pmx0->iomg[96]); /* UART3_CTS_N */
+               writel(MUX_M1, &pmx0->iomg[97]); /* UART3_RTS_N */
+               writel(MUX_M1, &pmx0->iomg[98]); /* UART3_RXD */
+               writel(MUX_M1, &pmx0->iomg[99]); /* UART3_TXD */
+
+               /* UART3_TXD */
+               writel(DRIVE1_02MA | PULL_DOWN, &pmx1->iocfg[100]);
+               /* UART3_RTS_N */
+               writel(DRIVE1_02MA | PULL_DOWN, &pmx1->iocfg[101]);
+               /* UART3_RXD */
+               writel(DRIVE1_02MA | PULL_DOWN, &pmx1->iocfg[102]);
+               /* UART3_TXD */
+               writel(DRIVE1_02MA | PULL_DOWN, &pmx1->iocfg[103]);
+               break;
+
+       case PERIPH_ID_UART4:
+               writel(MUX_M1, &pmx0->iomg[116]); /* UART4_CTS_N */
+               writel(MUX_M1, &pmx0->iomg[117]); /* UART4_RTS_N */
+               writel(MUX_M1, &pmx0->iomg[118]); /* UART4_RXD */
+               writel(MUX_M1, &pmx0->iomg[119]); /* UART4_TXD */
+
+               /* UART4_CTS_N */
+               writel(DRIVE1_02MA | PULL_DOWN, &pmx1->iocfg[120]);
+               /* UART4_RTS_N */
+               writel(DRIVE1_02MA | PULL_DOWN, &pmx1->iocfg[121]);
+               /* UART4_RXD */
+               writel(DRIVE1_02MA | PULL_DOWN, &pmx1->iocfg[122]);
+               /* UART4_TXD */
+               writel(DRIVE1_02MA | PULL_DOWN, &pmx1->iocfg[123]);
+               break;
+       case PERIPH_ID_UART5:
+               writel(MUX_M1, &pmx0->iomg[114]); /* UART5_RXD */
+               writel(MUX_M1, &pmx0->iomg[115]); /* UART5_TXD */
+
+               /* UART5_RXD */
+               writel(DRIVE1_02MA | PULL_DOWN, &pmx1->iocfg[118]);
+               /* UART5_TXD */
+               writel(DRIVE1_02MA | PULL_DOWN, &pmx1->iocfg[119]);
+
+               break;
+
+       default:
+               debug("%s: invalid peripheral %d", __func__, peripheral);
+               return;
+       }
+}
+
+static int hi6220_mmc_config(int peripheral)
+{
+       u32 tmp;
+
+       switch (peripheral) {
+       case PERIPH_ID_SDMMC0:
+
+               /* eMMC pinmux config */
+               writel(MUX_M0, &pmx0->iomg[64]); /* EMMC_CLK */
+               writel(MUX_M0, &pmx0->iomg[65]); /* EMMC_CMD */
+               writel(MUX_M0, &pmx0->iomg[66]); /* EMMC_DATA0 */
+               writel(MUX_M0, &pmx0->iomg[67]); /* EMMC_DATA1 */
+               writel(MUX_M0, &pmx0->iomg[68]); /* EMMC_DATA2 */
+               writel(MUX_M0, &pmx0->iomg[69]); /* EMMC_DATA3 */
+               writel(MUX_M0, &pmx0->iomg[70]); /* EMMC_DATA4 */
+               writel(MUX_M0, &pmx0->iomg[71]); /* EMMC_DATA5 */
+               writel(MUX_M0, &pmx0->iomg[72]); /* EMMC_DATA6 */
+               writel(MUX_M0, &pmx0->iomg[73]); /* EMMC_DATA7 */
+
+               /*eMMC configure up/down/drive */
+               writel(DRIVE1_08MA, &pmx1->iocfg[65]); /* EMMC_CLK */
+
+               tmp = DRIVE1_04MA | PULL_UP;
+               writel(tmp, &pmx1->iocfg[65]); /* EMMC_CMD */
+               writel(tmp, &pmx1->iocfg[66]); /* EMMC_DATA0 */
+               writel(tmp, &pmx1->iocfg[67]); /* EMMC_DATA1 */
+               writel(tmp, &pmx1->iocfg[68]); /* EMMC_DATA2 */
+               writel(tmp, &pmx1->iocfg[69]); /* EMMC_DATA3 */
+               writel(tmp, &pmx1->iocfg[70]); /* EMMC_DATA4 */
+               writel(tmp, &pmx1->iocfg[71]); /* EMMC_DATA5 */
+               writel(tmp, &pmx1->iocfg[72]); /* EMMC_DATA6 */
+               writel(tmp, &pmx1->iocfg[73]); /* EMMC_DATA7 */
+
+               writel(DRIVE1_04MA, &pmx1->iocfg[73]); /* EMMC_RST_N */
+               break;
+
+       case PERIPH_ID_SDMMC1:
+
+               writel(MUX_M0, &pmx0->iomg[3]); /* SD_CLK */
+               writel(MUX_M0, &pmx0->iomg[4]); /* SD_CMD */
+               writel(MUX_M0, &pmx0->iomg[5]); /* SD_DATA0 */
+               writel(MUX_M0, &pmx0->iomg[6]); /* SD_DATA1 */
+               writel(MUX_M0, &pmx0->iomg[7]); /* SD_DATA2 */
+               writel(MUX_M0, &pmx0->iomg[8]); /* SD_DATA3 */
+
+               writel(DRIVE1_10MA | BIT(2), &pmx1->iocfg[3]); /*SD_CLK*/
+               writel(DRIVE1_08MA | BIT(2), &pmx1->iocfg[4]); /*SD_CMD*/
+               writel(DRIVE1_08MA | BIT(2), &pmx1->iocfg[5]); /*SD_DATA0*/
+               writel(DRIVE1_08MA | BIT(2), &pmx1->iocfg[6]); /*SD_DATA1*/
+               writel(DRIVE1_08MA | BIT(2), &pmx1->iocfg[7]); /*SD_DATA2*/
+               writel(DRIVE1_08MA | BIT(2), &pmx1->iocfg[8]); /*SD_DATA3*/
+               break;
+
+       default:
+               debug("%s: invalid peripheral %d", __func__, peripheral);
+               return -1;
+       }
+
+       return 0;
+}
+
+int hi6220_pinmux_config(int peripheral)
+{
+       switch (peripheral) {
+       case PERIPH_ID_UART0:
+       case PERIPH_ID_UART1:
+       case PERIPH_ID_UART2:
+       case PERIPH_ID_UART3:
+               hi6220_uart_config(peripheral);
+               break;
+       case PERIPH_ID_SDMMC0:
+       case PERIPH_ID_SDMMC1:
+               return hi6220_mmc_config(peripheral);
+       default:
+               debug("%s: invalid peripheral %d", __func__, peripheral);
+               return -1;
+       }
+
+       return 0;
+}
+
+
index 3aaeb6a53cf0c0ce543101e020316a7a9985a706..ff868910146a2b6d92f8bfe098dfa171b779425d 100644 (file)
@@ -52,12 +52,13 @@ dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb \
        zynq-zc770-xm011.dtb \
        zynq-zc770-xm012.dtb \
        zynq-zc770-xm013.dtb
-dtb-$(CONFIG_AM33XX) += am335x-boneblack.dtb
+dtb-$(CONFIG_AM33XX) += am335x-boneblack.dtb am335x-evm.dtb
 
 dtb-$(CONFIG_ARCH_SOCFPGA) +=                          \
        socfpga_arria5_socdk.dtb                        \
        socfpga_cyclone5_socdk.dtb                      \
        socfpga_cyclone5_socrates.dtb
+dtb-$(CONFIG_TARGET_DRA7XX_EVM) += dra72-evm.dtb
 dtb-$(CONFIG_TARGET_STV0991) += stv0991.dtb
 
 dtb-$(CONFIG_LS102XA) += ls1021a-qds.dtb \
index e70b4d1f1facc8fa8d8fa520dc8996c4a6348eb7..fec78349c1f3c895fbd1dcf36782d16b9c891d93 100644 (file)
@@ -7,13 +7,6 @@
  */
 
 / {
-       model = "TI AM335x BeagleBone";
-       compatible = "ti,am335x-bone", "ti,am33xx";
-
-       chosen {
-               stdout-path = &uart0;
-       };
-
        cpus {
                cpu@0 {
                        cpu0-supply = <&dcdc2_reg>;
                reg = <0x80000000 0x10000000>; /* 256 MB */
        };
 
-       am33xx_pinmux: pinmux@44e10800 {
+       leds {
                pinctrl-names = "default";
-               pinctrl-0 = <&clkout2_pin>;
-
-               user_leds_s0: user_leds_s0 {
-                       pinctrl-single,pins = <
-                               0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_a5.gpio1_21 */
-                               0x58 (PIN_OUTPUT_PULLUP | MUX_MODE7)    /* gpmc_a6.gpio1_22 */
-                               0x5c (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_a7.gpio1_23 */
-                               0x60 (PIN_OUTPUT_PULLUP | MUX_MODE7)    /* gpmc_a8.gpio1_24 */
-                       >;
-               };
+               pinctrl-0 = <&user_leds_s0>;
 
-               i2c0_pins: pinmux_i2c0_pins {
-                       pinctrl-single,pins = <
-                               0x188 (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c0_sda.i2c0_sda */
-                               0x18c (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c0_scl.i2c0_scl */
-                       >;
-               };
+               compatible = "gpio-leds";
 
-               uart0_pins: pinmux_uart0_pins {
-                       pinctrl-single,pins = <
-                               0x170 (PIN_INPUT_PULLUP | MUX_MODE0)    /* uart0_rxd.uart0_rxd */
-                               0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
-                       >;
+               led@2 {
+                       label = "beaglebone:green:heartbeat";
+                       gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "heartbeat";
+                       default-state = "off";
                };
 
-               clkout2_pin: pinmux_clkout2_pin {
-                       pinctrl-single,pins = <
-                               0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
-                       >;
+               led@3 {
+                       label = "beaglebone:green:mmc0";
+                       gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "mmc0";
+                       default-state = "off";
                };
 
-               cpsw_default: cpsw_default {
-                       pinctrl-single,pins = <
-                               /* Slave 1 */
-                               0x110 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxerr.mii1_rxerr */
-                               0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txen.mii1_txen */
-                               0x118 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxdv.mii1_rxdv */
-                               0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd3.mii1_txd3 */
-                               0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd2.mii1_txd2 */
-                               0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd1.mii1_txd1 */
-                               0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd0.mii1_txd0 */
-                               0x12c (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_txclk.mii1_txclk */
-                               0x130 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxclk.mii1_rxclk */
-                               0x134 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxd3.mii1_rxd3 */
-                               0x138 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxd2.mii1_rxd2 */
-                               0x13c (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxd1.mii1_rxd1 */
-                               0x140 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxd0.mii1_rxd0 */
-                       >;
+               led@4 {
+                       label = "beaglebone:green:usr2";
+                       gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "cpu0";
+                       default-state = "off";
                };
 
-               cpsw_sleep: cpsw_sleep {
-                       pinctrl-single,pins = <
-                               /* Slave 1 reset value */
-                               0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-                               0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-                               0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-                               0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-                               0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-                               0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-                               0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-                               0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-                               0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-                               0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-                               0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-                               0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-                               0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-                       >;
+               led@5 {
+                       label = "beaglebone:green:usr3";
+                       gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "mmc1";
+                       default-state = "off";
                };
+       };
 
-               davinci_mdio_default: davinci_mdio_default {
-                       pinctrl-single,pins = <
-                               /* MDIO */
-                               0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)    /* mdio_data.mdio_data */
-                               0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0)                   /* mdio_clk.mdio_clk */
-                       >;
-               };
+       vmmcsd_fixed: fixedregulator@0 {
+               compatible = "regulator-fixed";
+               regulator-name = "vmmcsd_fixed";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+};
 
-               davinci_mdio_sleep: davinci_mdio_sleep {
-                       pinctrl-single,pins = <
-                               /* MDIO reset value */
-                               0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
-                               0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
-                       >;
-               };
+&am33xx_pinmux {
+       pinctrl-names = "default";
+       pinctrl-0 = <&clkout2_pin>;
+
+       user_leds_s0: user_leds_s0 {
+               pinctrl-single,pins = <
+                       0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_a5.gpio1_21 */
+                       0x58 (PIN_OUTPUT_PULLUP | MUX_MODE7)    /* gpmc_a6.gpio1_22 */
+                       0x5c (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_a7.gpio1_23 */
+                       0x60 (PIN_OUTPUT_PULLUP | MUX_MODE7)    /* gpmc_a8.gpio1_24 */
+               >;
        };
 
-       ocp {
-               uart0: serial@44e09000 {
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&uart0_pins>;
+       i2c0_pins: pinmux_i2c0_pins {
+               pinctrl-single,pins = <
+                       0x188 (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c0_sda.i2c0_sda */
+                       0x18c (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c0_scl.i2c0_scl */
+               >;
+       };
 
-                       status = "okay";
-               };
+       i2c2_pins: pinmux_i2c2_pins {
+               pinctrl-single,pins = <
+                       0x178 (PIN_INPUT_PULLUP | MUX_MODE3)    /* uart1_ctsn.i2c2_sda */
+                       0x17c (PIN_INPUT_PULLUP | MUX_MODE3)    /* uart1_rtsn.i2c2_scl */
+               >;
+       };
 
-               musb: usb@47400000 {
-                       status = "okay";
+       uart0_pins: pinmux_uart0_pins {
+               pinctrl-single,pins = <
+                       0x170 (PIN_INPUT_PULLUP | MUX_MODE0)    /* uart0_rxd.uart0_rxd */
+                       0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
+               >;
+       };
 
-                       control@44e10000 {
-                               status = "okay";
-                       };
+       clkout2_pin: pinmux_clkout2_pin {
+               pinctrl-single,pins = <
+                       0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
+               >;
+       };
 
-                       usb-phy@47401300 {
-                               status = "okay";
-                       };
+       cpsw_default: cpsw_default {
+               pinctrl-single,pins = <
+                       /* Slave 1 */
+                       0x110 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxerr.mii1_rxerr */
+                       0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txen.mii1_txen */
+                       0x118 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxdv.mii1_rxdv */
+                       0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd3.mii1_txd3 */
+                       0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd2.mii1_txd2 */
+                       0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd1.mii1_txd1 */
+                       0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd0.mii1_txd0 */
+                       0x12c (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_txclk.mii1_txclk */
+                       0x130 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxclk.mii1_rxclk */
+                       0x134 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxd3.mii1_rxd3 */
+                       0x138 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxd2.mii1_rxd2 */
+                       0x13c (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxd1.mii1_rxd1 */
+                       0x140 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mii1_rxd0.mii1_rxd0 */
+               >;
+       };
 
-                       usb-phy@47401b00 {
-                               status = "okay";
-                       };
+       cpsw_sleep: cpsw_sleep {
+               pinctrl-single,pins = <
+                       /* Slave 1 reset value */
+                       0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+               >;
+       };
 
-                       usb@47401000 {
-                               status = "okay";
-                       };
+       davinci_mdio_default: davinci_mdio_default {
+               pinctrl-single,pins = <
+                       /* MDIO */
+                       0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)    /* mdio_data.mdio_data */
+                       0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0)                   /* mdio_clk.mdio_clk */
+               >;
+       };
 
-                       usb@47401800 {
-                               status = "okay";
-                               dr_mode = "host";
-                       };
+       davinci_mdio_sleep: davinci_mdio_sleep {
+               pinctrl-single,pins = <
+                       /* MDIO reset value */
+                       0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
+               >;
+       };
 
-                       dma-controller@07402000  {
-                               status = "okay";
-                       };
-               };
+       mmc1_pins: pinmux_mmc1_pins {
+               pinctrl-single,pins = <
+                       0x160 (PIN_INPUT | MUX_MODE7) /* GPIO0_6 */
+               >;
+       };
+
+       emmc_pins: pinmux_emmc_pins {
+               pinctrl-single,pins = <
+                       0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
+                       0x84 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
+                       0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
+                       0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
+                       0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
+                       0x0c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
+                       0x10 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */
+                       0x14 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */
+                       0x18 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */
+                       0x1c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */
+               >;
+       };
+};
+
+&uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart0_pins>;
 
-               i2c0: i2c@44e0b000 {
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&i2c0_pins>;
+       status = "okay";
+};
 
-                       status = "okay";
-                       clock-frequency = <400000>;
+&usb {
+       status = "okay";
+};
 
-                       tps: tps@24 {
-                               reg = <0x24>;
-                       };
+&usb_ctrl_mod {
+       status = "okay";
+};
 
+&usb0_phy {
+       status = "okay";
+};
+
+&usb1_phy {
+       status = "okay";
+};
+
+&usb0 {
+       status = "okay";
+       dr_mode = "peripheral";
+};
+
+&usb1 {
+       status = "okay";
+       dr_mode = "host";
+};
+
+&cppi41dma  {
+       status = "okay";
+};
+
+&i2c0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c0_pins>;
+
+       status = "okay";
+       clock-frequency = <400000>;
+
+       tps: tps@24 {
+               reg = <0x24>;
+       };
+
+       baseboard_eeprom: baseboard_eeprom@50 {
+               compatible = "at,24c256";
+               reg = <0x50>;
+
+               #address-cells = <1>;
+               #size-cells = <1>;
+               baseboard_data: baseboard_data@0 {
+                       reg = <0 0x100>;
                };
        };
+};
 
-       leds {
-               pinctrl-names = "default";
-               pinctrl-0 = <&user_leds_s0>;
+&i2c2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c2_pins>;
 
-               compatible = "gpio-leds";
+       status = "okay";
+       clock-frequency = <100000>;
 
-               led@2 {
-                       label = "beaglebone:green:heartbeat";
-                       gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
-                       linux,default-trigger = "heartbeat";
-                       default-state = "off";
+       cape_eeprom0: cape_eeprom0@54 {
+               compatible = "at,24c256";
+               reg = <0x54>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+               cape0_data: cape_data@0 {
+                       reg = <0 0x100>;
                };
+       };
 
-               led@3 {
-                       label = "beaglebone:green:mmc0";
-                       gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>;
-                       linux,default-trigger = "mmc0";
-                       default-state = "off";
+       cape_eeprom1: cape_eeprom1@55 {
+               compatible = "at,24c256";
+               reg = <0x55>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+               cape1_data: cape_data@0 {
+                       reg = <0 0x100>;
                };
+       };
 
-               led@4 {
-                       label = "beaglebone:green:usr2";
-                       gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
-                       default-state = "off";
+       cape_eeprom2: cape_eeprom2@56 {
+               compatible = "at,24c256";
+               reg = <0x56>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+               cape2_data: cape_data@0 {
+                       reg = <0 0x100>;
                };
+       };
 
-               led@5 {
-                       label = "beaglebone:green:usr3";
-                       gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
-                       default-state = "off";
+       cape_eeprom3: cape_eeprom3@57 {
+               compatible = "at,24c256";
+               reg = <0x57>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+               cape3_data: cape_data@0 {
+                       reg = <0 0x100>;
                };
        };
 };
 
+
 /include/ "tps65217.dtsi"
 
 &tps {
+       /*
+        * Configure pmic to enter OFF-state instead of SLEEP-state ("RTC-only
+        * mode") at poweroff.  Most BeagleBone versions do not support RTC-only
+        * mode and risk hardware damage if this mode is entered.
+        *
+        * For details, see linux-omap mailing list May 2015 thread
+        *      [PATCH] ARM: dts: am335x-bone* enable pmic-shutdown-controller
+        * In particular, messages:
+        *      http://www.spinics.net/lists/linux-omap/msg118585.html
+        *      http://www.spinics.net/lists/linux-omap/msg118615.html
+        *
+        * You can override this later with
+        *      &tps {  /delete-property/ ti,pmic-shutdown-controller;  }
+        * if you want to use RTC-only mode and made sure you are not affected
+        * by the hardware problems. (Tip: double-check by performing a current
+        * measurement after shutdown: it should be less than 1 mA.)
+        */
+       ti,pmic-shutdown-controller;
+
        regulators {
                dcdc1_reg: regulator@0 {
+                       regulator-name = "vdds_dpr";
                        regulator-always-on;
                };
 
                };
 
                ldo1_reg: regulator@3 {
+                       regulator-name = "vio,vrtc,vdds";
                        regulator-always-on;
                };
 
                ldo2_reg: regulator@4 {
+                       regulator-name = "vdd_3v3aux";
                        regulator-always-on;
                };
 
                ldo3_reg: regulator@5 {
+                       regulator-name = "vdd_1v8";
                        regulator-always-on;
                };
 
                ldo4_reg: regulator@6 {
+                       regulator-name = "vdd_3v3a";
                        regulator-always-on;
                };
        };
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <&cpsw_default>;
        pinctrl-1 = <&cpsw_sleep>;
-
+       status = "okay";
 };
 
 &davinci_mdio {
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <&davinci_mdio_default>;
        pinctrl-1 = <&davinci_mdio_sleep>;
+       status = "okay";
+};
+
+&mmc1 {
+       status = "okay";
+       bus-width = <0x4>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc1_pins>;
+       cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
+       cd-inverted;
+};
+
+&aes {
+       status = "okay";
+};
+
+&sham {
+       status = "okay";
 };
diff --git a/arch/arm/dts/am335x-bone.dts b/arch/arm/dts/am335x-bone.dts
new file mode 100644 (file)
index 0000000..81441cc
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+/dts-v1/;
+
+#include "am33xx.dtsi"
+#include "am335x-bone-common.dtsi"
+
+/ {
+       model = "TI AM335x BeagleBone";
+       compatible = "ti,am335x-bone", "ti,am33xx";
+       chosen {
+               stdout-path = &uart0;
+       };
+};
+
+&ldo3_reg {
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-always-on;
+};
+
+&mmc1 {
+       vmmc-supply = <&ldo3_reg>;
+};
index 197cadf72d2cd92ed03351e3c2ac590c2401bd50..679248aa0222810ae222311b312e7098d6eb7ad2 100644 (file)
 #include "am33xx.dtsi"
 #include "am335x-bone-common.dtsi"
 
+/ {
+       model = "TI AM335x BeagleBone Black";
+       compatible = "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
+       chosen {
+               stdout-path = &uart0;
+       };
+};
+
 &ldo3_reg {
        regulator-min-microvolt = <1800000>;
        regulator-max-microvolt = <1800000>;
        regulator-always-on;
 };
+
+&mmc1 {
+       vmmc-supply = <&vmmcsd_fixed>;
+};
+
+&mmc2 {
+       vmmc-supply = <&vmmcsd_fixed>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&emmc_pins>;
+       bus-width = <8>;
+       status = "okay";
+};
+
+&am33xx_pinmux {
+       nxp_hdmi_bonelt_pins: nxp_hdmi_bonelt_pins {
+               pinctrl-single,pins = <
+                       0x1b0 0x03      /* xdma_event_intr0, OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT */
+                       0xa0 0x08       /* lcd_data0.lcd_data0, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
+                       0xa4 0x08       /* lcd_data1.lcd_data1, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
+                       0xa8 0x08       /* lcd_data2.lcd_data2, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
+                       0xac 0x08       /* lcd_data3.lcd_data3, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
+                       0xb0 0x08       /* lcd_data4.lcd_data4, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
+                       0xb4 0x08       /* lcd_data5.lcd_data5, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
+                       0xb8 0x08       /* lcd_data6.lcd_data6, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
+                       0xbc 0x08       /* lcd_data7.lcd_data7, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
+                       0xc0 0x08       /* lcd_data8.lcd_data8, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
+                       0xc4 0x08       /* lcd_data9.lcd_data9, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
+                       0xc8 0x08       /* lcd_data10.lcd_data10, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
+                       0xcc 0x08       /* lcd_data11.lcd_data11, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
+                       0xd0 0x08       /* lcd_data12.lcd_data12, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
+                       0xd4 0x08       /* lcd_data13.lcd_data13, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
+                       0xd8 0x08       /* lcd_data14.lcd_data14, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
+                       0xdc 0x08       /* lcd_data15.lcd_data15, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
+                       0xe0 0x00       /* lcd_vsync.lcd_vsync, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
+                       0xe4 0x00       /* lcd_hsync.lcd_hsync, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
+                       0xe8 0x00       /* lcd_pclk.lcd_pclk, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
+                       0xec 0x00       /* lcd_ac_bias_en.lcd_ac_bias_en, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
+               >;
+       };
+       nxp_hdmi_bonelt_off_pins: nxp_hdmi_bonelt_off_pins {
+               pinctrl-single,pins = <
+                       0x1b0 0x03      /* xdma_event_intr0, OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT */
+               >;
+       };
+};
+
+&lcdc {
+       status = "okay";
+};
+
+/ {
+       hdmi {
+               compatible = "ti,tilcdc,slave";
+               i2c = <&i2c0>;
+               pinctrl-names = "default", "off";
+               pinctrl-0 = <&nxp_hdmi_bonelt_pins>;
+               pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>;
+               status = "okay";
+       };
+};
+
+&rtc {
+       system-power-controller;
+};
diff --git a/arch/arm/dts/am335x-evm.dts b/arch/arm/dts/am335x-evm.dts
new file mode 100644 (file)
index 0000000..e1c5d4f
--- /dev/null
@@ -0,0 +1,765 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+/dts-v1/;
+
+#include "am33xx.dtsi"
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+       model = "TI AM335x EVM";
+       compatible = "ti,am335x-evm", "ti,am33xx";
+
+       chosen {
+               stdout-path = &uart0;
+       };
+
+       cpus {
+               cpu@0 {
+                       cpu0-supply = <&vdd1_reg>;
+               };
+       };
+
+       memory {
+               device_type = "memory";
+               reg = <0x80000000 0x10000000>; /* 256 MB */
+       };
+
+       vbat: fixedregulator@0 {
+               compatible = "regulator-fixed";
+               regulator-name = "vbat";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-boot-on;
+       };
+
+       lis3_reg: fixedregulator@1 {
+               compatible = "regulator-fixed";
+               regulator-name = "lis3_reg";
+               regulator-boot-on;
+       };
+
+       wlan_en_reg: fixedregulator@2 {
+               compatible = "regulator-fixed";
+               regulator-name = "wlan-en-regulator";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+
+               /* WLAN_EN GPIO for this board - Bank1, pin16 */
+               gpio = <&gpio1 16 0>;
+
+               /* WLAN card specific delay */
+               startup-delay-us = <70000>;
+               enable-active-high;
+       };
+
+       matrix_keypad: matrix_keypad@0 {
+               compatible = "gpio-matrix-keypad";
+               debounce-delay-ms = <5>;
+               col-scan-delay-us = <2>;
+
+               row-gpios = <&gpio1 25 GPIO_ACTIVE_HIGH         /* Bank1, pin25 */
+                            &gpio1 26 GPIO_ACTIVE_HIGH         /* Bank1, pin26 */
+                            &gpio1 27 GPIO_ACTIVE_HIGH>;       /* Bank1, pin27 */
+
+               col-gpios = <&gpio1 21 GPIO_ACTIVE_HIGH         /* Bank1, pin21 */
+                            &gpio1 22 GPIO_ACTIVE_HIGH>;       /* Bank1, pin22 */
+
+               linux,keymap = <0x0000008b      /* MENU */
+                               0x0100009e      /* BACK */
+                               0x02000069      /* LEFT */
+                               0x0001006a      /* RIGHT */
+                               0x0101001c      /* ENTER */
+                               0x0201006c>;    /* DOWN */
+       };
+
+       gpio_keys: volume_keys@0 {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               autorepeat;
+
+               switch@9 {
+                       label = "volume-up";
+                       linux,code = <115>;
+                       gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
+                       gpio-key,wakeup;
+               };
+
+               switch@10 {
+                       label = "volume-down";
+                       linux,code = <114>;
+                       gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
+                       gpio-key,wakeup;
+               };
+       };
+
+       backlight {
+               compatible = "pwm-backlight";
+               pwms = <&ecap0 0 50000 0>;
+               brightness-levels = <0 51 53 56 62 75 101 152 255>;
+               default-brightness-level = <8>;
+       };
+
+       panel {
+               compatible = "ti,tilcdc,panel";
+               status = "okay";
+               pinctrl-names = "default";
+               pinctrl-0 = <&lcd_pins_s0>;
+               panel-info {
+                       ac-bias           = <255>;
+                       ac-bias-intrpt    = <0>;
+                       dma-burst-sz      = <16>;
+                       bpp               = <32>;
+                       fdd               = <0x80>;
+                       sync-edge         = <0>;
+                       sync-ctrl         = <1>;
+                       raster-order      = <0>;
+                       fifo-th           = <0>;
+               };
+
+               display-timings {
+                       800x480p62 {
+                               clock-frequency = <30000000>;
+                               hactive = <800>;
+                               vactive = <480>;
+                               hfront-porch = <39>;
+                               hback-porch = <39>;
+                               hsync-len = <47>;
+                               vback-porch = <29>;
+                               vfront-porch = <13>;
+                               vsync-len = <2>;
+                               hsync-active = <1>;
+                               vsync-active = <1>;
+                       };
+               };
+       };
+
+       sound {
+               compatible = "ti,da830-evm-audio";
+               ti,model = "AM335x-EVM";
+               ti,audio-codec = <&tlv320aic3106>;
+               ti,mcasp-controller = <&mcasp1>;
+               ti,codec-clock-rate = <12000000>;
+               ti,audio-routing =
+                       "Headphone Jack",       "HPLOUT",
+                       "Headphone Jack",       "HPROUT",
+                       "LINE1L",               "Line In",
+                       "LINE1R",               "Line In";
+       };
+};
+
+&am33xx_pinmux {
+       pinctrl-names = "default";
+       pinctrl-0 = <&matrix_keypad_s0 &volume_keys_s0 &clkout2_pin>;
+
+       matrix_keypad_s0: matrix_keypad_s0 {
+               pinctrl-single,pins = <
+                       0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_a5.gpio1_21 */
+                       0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_a6.gpio1_22 */
+                       0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7)   /* gpmc_a9.gpio1_25 */
+                       0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7)   /* gpmc_a10.gpio1_26 */
+                       0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7)   /* gpmc_a11.gpio1_27 */
+               >;
+       };
+
+       volume_keys_s0: volume_keys_s0 {
+               pinctrl-single,pins = <
+                       0x150 (PIN_INPUT_PULLDOWN | MUX_MODE7)  /* spi0_sclk.gpio0_2 */
+                       0x154 (PIN_INPUT_PULLDOWN | MUX_MODE7)  /* spi0_d0.gpio0_3 */
+               >;
+       };
+
+       i2c0_pins: pinmux_i2c0_pins {
+               pinctrl-single,pins = <
+                       0x188 (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c0_sda.i2c0_sda */
+                       0x18c (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c0_scl.i2c0_scl */
+               >;
+       };
+
+       i2c1_pins: pinmux_i2c1_pins {
+               pinctrl-single,pins = <
+                       0x158 (PIN_INPUT_PULLUP | MUX_MODE2)    /* spi0_d1.i2c1_sda */
+                       0x15c (PIN_INPUT_PULLUP | MUX_MODE2)    /* spi0_cs0.i2c1_scl */
+               >;
+       };
+
+       uart0_pins: pinmux_uart0_pins {
+               pinctrl-single,pins = <
+                       0x170 (PIN_INPUT_PULLUP | MUX_MODE0)    /* uart0_rxd.uart0_rxd */
+                       0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
+               >;
+       };
+
+       uart1_pins: pinmux_uart1_pins {
+               pinctrl-single,pins = <
+                       0x178 (PIN_INPUT | MUX_MODE0)           /* uart1_ctsn.uart1_ctsn */
+                       0x17C (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart1_rtsn.uart1_rtsn */
+                       0x180 (PIN_INPUT_PULLUP | MUX_MODE0)    /* uart1_rxd.uart1_rxd */
+                       0x184 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart1_txd.uart1_txd */
+               >;
+       };
+
+       clkout2_pin: pinmux_clkout2_pin {
+               pinctrl-single,pins = <
+                       0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
+               >;
+       };
+
+       nandflash_pins_s0: nandflash_pins_s0 {
+               pinctrl-single,pins = <
+                       0x0 (PIN_INPUT_PULLUP | MUX_MODE0)      /* gpmc_ad0.gpmc_ad0 */
+                       0x4 (PIN_INPUT_PULLUP | MUX_MODE0)      /* gpmc_ad1.gpmc_ad1 */
+                       0x8 (PIN_INPUT_PULLUP | MUX_MODE0)      /* gpmc_ad2.gpmc_ad2 */
+                       0xc (PIN_INPUT_PULLUP | MUX_MODE0)      /* gpmc_ad3.gpmc_ad3 */
+                       0x10 (PIN_INPUT_PULLUP | MUX_MODE0)     /* gpmc_ad4.gpmc_ad4 */
+                       0x14 (PIN_INPUT_PULLUP | MUX_MODE0)     /* gpmc_ad5.gpmc_ad5 */
+                       0x18 (PIN_INPUT_PULLUP | MUX_MODE0)     /* gpmc_ad6.gpmc_ad6 */
+                       0x1c (PIN_INPUT_PULLUP | MUX_MODE0)     /* gpmc_ad7.gpmc_ad7 */
+                       0x70 (PIN_INPUT_PULLUP | MUX_MODE0)     /* gpmc_wait0.gpmc_wait0 */
+                       0x74 (PIN_INPUT_PULLUP | MUX_MODE7)     /* gpmc_wpn.gpio0_30 */
+                       0x7c (PIN_OUTPUT | MUX_MODE0)           /* gpmc_csn0.gpmc_csn0  */
+                       0x90 (PIN_OUTPUT | MUX_MODE0)           /* gpmc_advn_ale.gpmc_advn_ale */
+                       0x94 (PIN_OUTPUT | MUX_MODE0)           /* gpmc_oen_ren.gpmc_oen_ren */
+                       0x98 (PIN_OUTPUT | MUX_MODE0)           /* gpmc_wen.gpmc_wen */
+                       0x9c (PIN_OUTPUT | MUX_MODE0)           /* gpmc_be0n_cle.gpmc_be0n_cle */
+               >;
+       };
+
+       ecap0_pins: backlight_pins {
+               pinctrl-single,pins = <
+                       0x164 0x0       /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
+               >;
+       };
+
+       cpsw_default: cpsw_default {
+               pinctrl-single,pins = <
+                       /* Slave 1 */
+                       0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_tctl */
+                       0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2)  /* mii1_rxdv.rgmii1_rctl */
+                       0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd3.rgmii1_td3 */
+                       0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd2.rgmii1_td2 */
+                       0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */
+                       0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */
+                       0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rgmii1_tclk */
+                       0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2)  /* mii1_rxclk.rgmii1_rclk */
+                       0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2)  /* mii1_rxd3.rgmii1_rd3 */
+                       0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2)  /* mii1_rxd2.rgmii1_rd2 */
+                       0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2)  /* mii1_rxd1.rgmii1_rd1 */
+                       0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2)  /* mii1_rxd0.rgmii1_rd0 */
+               >;
+       };
+
+       cpsw_sleep: cpsw_sleep {
+               pinctrl-single,pins = <
+                       /* Slave 1 reset value */
+                       0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+               >;
+       };
+
+       davinci_mdio_default: davinci_mdio_default {
+               pinctrl-single,pins = <
+                       /* MDIO */
+                       0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)    /* mdio_data.mdio_data */
+                       0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0)                   /* mdio_clk.mdio_clk */
+               >;
+       };
+
+       davinci_mdio_sleep: davinci_mdio_sleep {
+               pinctrl-single,pins = <
+                       /* MDIO reset value */
+                       0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
+               >;
+       };
+
+       mmc1_pins: pinmux_mmc1_pins {
+               pinctrl-single,pins = <
+                       0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
+               >;
+       };
+
+       mmc3_pins: pinmux_mmc3_pins {
+               pinctrl-single,pins = <
+                       0x44 (PIN_INPUT_PULLUP | MUX_MODE3)     /* gpmc_a1.mmc2_dat0, INPUT_PULLUP | MODE3 */
+                       0x48 (PIN_INPUT_PULLUP | MUX_MODE3)     /* gpmc_a2.mmc2_dat1, INPUT_PULLUP | MODE3 */
+                       0x4C (PIN_INPUT_PULLUP | MUX_MODE3)     /* gpmc_a3.mmc2_dat2, INPUT_PULLUP | MODE3 */
+                       0x78 (PIN_INPUT_PULLUP | MUX_MODE3)     /* gpmc_ben1.mmc2_dat3, INPUT_PULLUP | MODE3 */
+                       0x88 (PIN_INPUT_PULLUP | MUX_MODE3)     /* gpmc_csn3.mmc2_cmd, INPUT_PULLUP | MODE3 */
+                       0x8C (PIN_INPUT_PULLUP | MUX_MODE3)     /* gpmc_clk.mmc2_clk, INPUT_PULLUP | MODE3 */
+               >;
+       };
+
+       wlan_pins: pinmux_wlan_pins {
+               pinctrl-single,pins = <
+                       0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_a0.gpio1_16 */
+                       0x19C (PIN_INPUT | MUX_MODE7)           /* mcasp0_ahclkr.gpio3_17 */
+                       0x1AC (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* mcasp0_ahclkx.gpio3_21 */
+               >;
+       };
+
+       lcd_pins_s0: lcd_pins_s0 {
+               pinctrl-single,pins = <
+                       0x20 (PIN_OUTPUT | MUX_MODE1)           /* gpmc_ad8.lcd_data23 */
+                       0x24 (PIN_OUTPUT | MUX_MODE1)           /* gpmc_ad9.lcd_data22 */
+                       0x28 (PIN_OUTPUT | MUX_MODE1)           /* gpmc_ad10.lcd_data21 */
+                       0x2c (PIN_OUTPUT | MUX_MODE1)           /* gpmc_ad11.lcd_data20 */
+                       0x30 (PIN_OUTPUT | MUX_MODE1)           /* gpmc_ad12.lcd_data19 */
+                       0x34 (PIN_OUTPUT | MUX_MODE1)           /* gpmc_ad13.lcd_data18 */
+                       0x38 (PIN_OUTPUT | MUX_MODE1)           /* gpmc_ad14.lcd_data17 */
+                       0x3c (PIN_OUTPUT | MUX_MODE1)           /* gpmc_ad15.lcd_data16 */
+                       0xa0 (PIN_OUTPUT | MUX_MODE0)           /* lcd_data0.lcd_data0 */
+                       0xa4 (PIN_OUTPUT | MUX_MODE0)           /* lcd_data1.lcd_data1 */
+                       0xa8 (PIN_OUTPUT | MUX_MODE0)           /* lcd_data2.lcd_data2 */
+                       0xac (PIN_OUTPUT | MUX_MODE0)           /* lcd_data3.lcd_data3 */
+                       0xb0 (PIN_OUTPUT | MUX_MODE0)           /* lcd_data4.lcd_data4 */
+                       0xb4 (PIN_OUTPUT | MUX_MODE0)           /* lcd_data5.lcd_data5 */
+                       0xb8 (PIN_OUTPUT | MUX_MODE0)           /* lcd_data6.lcd_data6 */
+                       0xbc (PIN_OUTPUT | MUX_MODE0)           /* lcd_data7.lcd_data7 */
+                       0xc0 (PIN_OUTPUT | MUX_MODE0)           /* lcd_data8.lcd_data8 */
+                       0xc4 (PIN_OUTPUT | MUX_MODE0)           /* lcd_data9.lcd_data9 */
+                       0xc8 (PIN_OUTPUT | MUX_MODE0)           /* lcd_data10.lcd_data10 */
+                       0xcc (PIN_OUTPUT | MUX_MODE0)           /* lcd_data11.lcd_data11 */
+                       0xd0 (PIN_OUTPUT | MUX_MODE0)           /* lcd_data12.lcd_data12 */
+                       0xd4 (PIN_OUTPUT | MUX_MODE0)           /* lcd_data13.lcd_data13 */
+                       0xd8 (PIN_OUTPUT | MUX_MODE0)           /* lcd_data14.lcd_data14 */
+                       0xdc (PIN_OUTPUT | MUX_MODE0)           /* lcd_data15.lcd_data15 */
+                       0xe0 (PIN_OUTPUT | MUX_MODE0)           /* lcd_vsync.lcd_vsync */
+                       0xe4 (PIN_OUTPUT | MUX_MODE0)           /* lcd_hsync.lcd_hsync */
+                       0xe8 (PIN_OUTPUT | MUX_MODE0)           /* lcd_pclk.lcd_pclk */
+                       0xec (PIN_OUTPUT | MUX_MODE0)           /* lcd_ac_bias_en.lcd_ac_bias_en */
+               >;
+       };
+
+       am335x_evm_audio_pins: am335x_evm_audio_pins {
+               pinctrl-single,pins = <
+                       0x10c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_crs.mcasp1_aclkx */
+                       0x110 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rxerr.mcasp1_fsx */
+                       0x108 (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */
+                       0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
+               >;
+       };
+
+       dcan1_pins_default: dcan1_pins_default {
+               pinctrl-single,pins = <
+                       0x168 (PIN_OUTPUT | MUX_MODE2) /* uart0_ctsn.d_can1_tx */
+                       0x16c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* uart0_rtsn.d_can1_rx */
+               >;
+       };
+};
+
+&uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart0_pins>;
+
+       status = "okay";
+};
+
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart1_pins>;
+
+       status = "okay";
+};
+
+&i2c0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c0_pins>;
+
+       status = "okay";
+       clock-frequency = <400000>;
+
+       tps: tps@2d {
+               reg = <0x2d>;
+       };
+};
+
+&usb {
+       status = "okay";
+};
+
+&usb_ctrl_mod {
+       status = "okay";
+};
+
+&usb0_phy {
+       status = "okay";
+};
+
+&usb1_phy {
+       status = "okay";
+};
+
+&usb0 {
+       status = "okay";
+};
+
+&usb1 {
+       status = "okay";
+       dr_mode = "host";
+};
+
+&cppi41dma  {
+       status = "okay";
+};
+
+&i2c1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c1_pins>;
+
+       status = "okay";
+       clock-frequency = <100000>;
+
+       lis331dlh: lis331dlh@18 {
+               compatible = "st,lis331dlh", "st,lis3lv02d";
+               reg = <0x18>;
+               Vdd-supply = <&lis3_reg>;
+               Vdd_IO-supply = <&lis3_reg>;
+
+               st,click-single-x;
+               st,click-single-y;
+               st,click-single-z;
+               st,click-thresh-x = <10>;
+               st,click-thresh-y = <10>;
+               st,click-thresh-z = <10>;
+               st,irq1-click;
+               st,irq2-click;
+               st,wakeup-x-lo;
+               st,wakeup-x-hi;
+               st,wakeup-y-lo;
+               st,wakeup-y-hi;
+               st,wakeup-z-lo;
+               st,wakeup-z-hi;
+               st,min-limit-x = <120>;
+               st,min-limit-y = <120>;
+               st,min-limit-z = <140>;
+               st,max-limit-x = <550>;
+               st,max-limit-y = <550>;
+               st,max-limit-z = <750>;
+       };
+
+       tsl2550: tsl2550@39 {
+               compatible = "taos,tsl2550";
+               reg = <0x39>;
+       };
+
+       tmp275: tmp275@48 {
+               compatible = "ti,tmp275";
+               reg = <0x48>;
+       };
+
+       tlv320aic3106: tlv320aic3106@1b {
+               compatible = "ti,tlv320aic3106";
+               reg = <0x1b>;
+               status = "okay";
+
+               /* Regulators */
+               AVDD-supply = <&vaux2_reg>;
+               IOVDD-supply = <&vaux2_reg>;
+               DRVDD-supply = <&vaux2_reg>;
+               DVDD-supply = <&vbat>;
+       };
+};
+
+&lcdc {
+       status = "okay";
+};
+
+&elm {
+       status = "okay";
+};
+
+&epwmss0 {
+       status = "okay";
+
+       ecap0: ecap@48300100 {
+               status = "okay";
+               pinctrl-names = "default";
+               pinctrl-0 = <&ecap0_pins>;
+       };
+};
+
+&gpmc {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&nandflash_pins_s0>;
+       ranges = <0 0 0x08000000 0x1000000>;    /* CS0: 16MB for NAND */
+       nand@0,0 {
+               reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
+               ti,nand-ecc-opt = "bch8";
+               ti,elm-id = <&elm>;
+               nand-bus-width = <8>;
+               gpmc,device-width = <1>;
+               gpmc,sync-clk-ps = <0>;
+               gpmc,cs-on-ns = <0>;
+               gpmc,cs-rd-off-ns = <44>;
+               gpmc,cs-wr-off-ns = <44>;
+               gpmc,adv-on-ns = <6>;
+               gpmc,adv-rd-off-ns = <34>;
+               gpmc,adv-wr-off-ns = <44>;
+               gpmc,we-on-ns = <0>;
+               gpmc,we-off-ns = <40>;
+               gpmc,oe-on-ns = <0>;
+               gpmc,oe-off-ns = <54>;
+               gpmc,access-ns = <64>;
+               gpmc,rd-cycle-ns = <82>;
+               gpmc,wr-cycle-ns = <82>;
+               gpmc,wait-on-read = "true";
+               gpmc,wait-on-write = "true";
+               gpmc,bus-turnaround-ns = <0>;
+               gpmc,cycle2cycle-delay-ns = <0>;
+               gpmc,clk-activation-ns = <0>;
+               gpmc,wait-monitoring-ns = <0>;
+               gpmc,wr-access-ns = <40>;
+               gpmc,wr-data-mux-bus-ns = <0>;
+               /* MTD partition table */
+               /* All SPL-* partitions are sized to minimal length
+                * which can be independently programmable. For
+                * NAND flash this is equal to size of erase-block */
+               #address-cells = <1>;
+               #size-cells = <1>;
+               partition@0 {
+                       label = "NAND.SPL";
+                       reg = <0x00000000 0x000020000>;
+               };
+               partition@1 {
+                       label = "NAND.SPL.backup1";
+                       reg = <0x00020000 0x00020000>;
+               };
+               partition@2 {
+                       label = "NAND.SPL.backup2";
+                       reg = <0x00040000 0x00020000>;
+               };
+               partition@3 {
+                       label = "NAND.SPL.backup3";
+                       reg = <0x00060000 0x00020000>;
+               };
+               partition@4 {
+                       label = "NAND.u-boot-spl-os";
+                       reg = <0x00080000 0x00040000>;
+               };
+               partition@5 {
+                       label = "NAND.u-boot";
+                       reg = <0x000C0000 0x00100000>;
+               };
+               partition@6 {
+                       label = "NAND.u-boot-env";
+                       reg = <0x001C0000 0x00020000>;
+               };
+               partition@7 {
+                       label = "NAND.u-boot-env.backup1";
+                       reg = <0x001E0000 0x00020000>;
+               };
+               partition@8 {
+                       label = "NAND.kernel";
+                       reg = <0x00200000 0x00800000>;
+               };
+               partition@9 {
+                       label = "NAND.file-system";
+                       reg = <0x00A00000 0x0F600000>;
+               };
+       };
+};
+
+#include "tps65910.dtsi"
+
+&mcasp1 {
+               pinctrl-names = "default";
+               pinctrl-0 = <&am335x_evm_audio_pins>;
+
+               status = "okay";
+
+               op-mode = <0>;          /* MCASP_IIS_MODE */
+               tdm-slots = <2>;
+               /* 4 serializers */
+               serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
+                       0 0 1 2
+               >;
+               tx-num-evt = <32>;
+               rx-num-evt = <32>;
+};
+
+&tps {
+       vcc1-supply = <&vbat>;
+       vcc2-supply = <&vbat>;
+       vcc3-supply = <&vbat>;
+       vcc4-supply = <&vbat>;
+       vcc5-supply = <&vbat>;
+       vcc6-supply = <&vbat>;
+       vcc7-supply = <&vbat>;
+       vccio-supply = <&vbat>;
+
+       regulators {
+               vrtc_reg: regulator@0 {
+                       regulator-always-on;
+               };
+
+               vio_reg: regulator@1 {
+                       regulator-always-on;
+               };
+
+               vdd1_reg: regulator@2 {
+                       /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
+                       regulator-name = "vdd_mpu";
+                       regulator-min-microvolt = <912500>;
+                       regulator-max-microvolt = <1312500>;
+                       regulator-boot-on;
+                       regulator-always-on;
+               };
+
+               vdd2_reg: regulator@3 {
+                       /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
+                       regulator-name = "vdd_core";
+                       regulator-min-microvolt = <912500>;
+                       regulator-max-microvolt = <1150000>;
+                       regulator-boot-on;
+                       regulator-always-on;
+               };
+
+               vdd3_reg: regulator@4 {
+                       regulator-always-on;
+               };
+
+               vdig1_reg: regulator@5 {
+                       regulator-always-on;
+               };
+
+               vdig2_reg: regulator@6 {
+                       regulator-always-on;
+               };
+
+               vpll_reg: regulator@7 {
+                       regulator-always-on;
+               };
+
+               vdac_reg: regulator@8 {
+                       regulator-always-on;
+               };
+
+               vaux1_reg: regulator@9 {
+                       regulator-always-on;
+               };
+
+               vaux2_reg: regulator@10 {
+                       regulator-always-on;
+               };
+
+               vaux33_reg: regulator@11 {
+                       regulator-always-on;
+               };
+
+               vmmc_reg: regulator@12 {
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-always-on;
+               };
+       };
+};
+
+&mac {
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&cpsw_default>;
+       pinctrl-1 = <&cpsw_sleep>;
+       status = "okay";
+};
+
+&davinci_mdio {
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&davinci_mdio_default>;
+       pinctrl-1 = <&davinci_mdio_sleep>;
+       status = "okay";
+};
+
+&cpsw_emac0 {
+       phy_id = <&davinci_mdio>, <0>;
+       phy-mode = "rgmii-txid";
+};
+
+&cpsw_emac1 {
+       phy_id = <&davinci_mdio>, <1>;
+       phy-mode = "rgmii-txid";
+};
+
+&tscadc {
+       status = "okay";
+       tsc {
+               ti,wires = <4>;
+               ti,x-plate-resistance = <200>;
+               ti,coordinate-readouts = <5>;
+               ti,wire-config = <0x00 0x11 0x22 0x33>;
+               ti,charge-delay = <0x400>;
+       };
+
+       adc {
+               ti,adc-channels = <4 5 6 7>;
+       };
+};
+
+&mmc1 {
+       status = "okay";
+       vmmc-supply = <&vmmc_reg>;
+       bus-width = <4>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc1_pins>;
+       cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
+};
+
+&mmc3 {
+       /* these are on the crossbar and are outlined in the
+          xbar-event-map element */
+       dmas = <&edma 12
+               &edma 13>;
+       dma-names = "tx", "rx";
+       status = "okay";
+       vmmc-supply = <&wlan_en_reg>;
+       bus-width = <4>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc3_pins &wlan_pins>;
+       ti,non-removable;
+       ti,needs-special-hs-handling;
+       cap-power-off-card;
+       keep-power-in-suspend;
+
+       #address-cells = <1>;
+       #size-cells = <0>;
+       wlcore: wlcore@0 {
+               compatible = "ti,wl1835";
+               reg = <2>;
+               interrupt-parent = <&gpio3>;
+               interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
+       };
+};
+
+&edma {
+       ti,edma-xbar-event-map = /bits/ 16 <1 12
+                                           2 13>;
+};
+
+&sham {
+       status = "okay";
+};
+
+&aes {
+       status = "okay";
+};
+
+&dcan1 {
+       status = "disabled";    /* Enable only if Profile 1 is selected */
+       pinctrl-names = "default";
+       pinctrl-0 = <&dcan1_pins_default>;
+};
diff --git a/arch/arm/dts/am33xx-clocks.dtsi b/arch/arm/dts/am33xx-clocks.dtsi
new file mode 100644 (file)
index 0000000..afb4b3a
--- /dev/null
@@ -0,0 +1,646 @@
+/*
+ * Device Tree Source for AM33xx clock data
+ *
+ * Copyright (C) 2013 Texas Instruments, Inc.
+ *
+ * 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.
+ */
+&scm_clocks {
+       sys_clkin_ck: sys_clkin_ck {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&virt_19200000_ck>, <&virt_24000000_ck>, <&virt_25000000_ck>, <&virt_26000000_ck>;
+               ti,bit-shift = <22>;
+               reg = <0x0040>;
+       };
+
+       adc_tsc_fck: adc_tsc_fck {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&sys_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       dcan0_fck: dcan0_fck {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&sys_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       dcan1_fck: dcan1_fck {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&sys_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       mcasp0_fck: mcasp0_fck {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&sys_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       mcasp1_fck: mcasp1_fck {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&sys_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       smartreflex0_fck: smartreflex0_fck {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&sys_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       smartreflex1_fck: smartreflex1_fck {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&sys_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       sha0_fck: sha0_fck {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&sys_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       aes0_fck: aes0_fck {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&sys_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       rng_fck: rng_fck {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&sys_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       ehrpwm0_tbclk: ehrpwm0_tbclk@44e10664 {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&l4ls_gclk>;
+               ti,bit-shift = <0>;
+               reg = <0x0664>;
+       };
+
+       ehrpwm1_tbclk: ehrpwm1_tbclk@44e10664 {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&l4ls_gclk>;
+               ti,bit-shift = <1>;
+               reg = <0x0664>;
+       };
+
+       ehrpwm2_tbclk: ehrpwm2_tbclk@44e10664 {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&l4ls_gclk>;
+               ti,bit-shift = <2>;
+               reg = <0x0664>;
+       };
+};
+&prcm_clocks {
+       clk_32768_ck: clk_32768_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <32768>;
+       };
+
+       clk_rc32k_ck: clk_rc32k_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <32000>;
+       };
+
+       virt_19200000_ck: virt_19200000_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <19200000>;
+       };
+
+       virt_24000000_ck: virt_24000000_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <24000000>;
+       };
+
+       virt_25000000_ck: virt_25000000_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <25000000>;
+       };
+
+       virt_26000000_ck: virt_26000000_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <26000000>;
+       };
+
+       tclkin_ck: tclkin_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <12000000>;
+       };
+
+       dpll_core_ck: dpll_core_ck {
+               #clock-cells = <0>;
+               compatible = "ti,am3-dpll-core-clock";
+               clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
+               reg = <0x0490>, <0x045c>, <0x0468>;
+       };
+
+       dpll_core_x2_ck: dpll_core_x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,am3-dpll-x2-clock";
+               clocks = <&dpll_core_ck>;
+       };
+
+       dpll_core_m4_ck: dpll_core_m4_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_core_x2_ck>;
+               ti,max-div = <31>;
+               reg = <0x0480>;
+               ti,index-starts-at-one;
+       };
+
+       dpll_core_m5_ck: dpll_core_m5_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_core_x2_ck>;
+               ti,max-div = <31>;
+               reg = <0x0484>;
+               ti,index-starts-at-one;
+       };
+
+       dpll_core_m6_ck: dpll_core_m6_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_core_x2_ck>;
+               ti,max-div = <31>;
+               reg = <0x04d8>;
+               ti,index-starts-at-one;
+       };
+
+       dpll_mpu_ck: dpll_mpu_ck {
+               #clock-cells = <0>;
+               compatible = "ti,am3-dpll-clock";
+               clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
+               reg = <0x0488>, <0x0420>, <0x042c>;
+       };
+
+       dpll_mpu_m2_ck: dpll_mpu_m2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_mpu_ck>;
+               ti,max-div = <31>;
+               reg = <0x04a8>;
+               ti,index-starts-at-one;
+       };
+
+       dpll_ddr_ck: dpll_ddr_ck {
+               #clock-cells = <0>;
+               compatible = "ti,am3-dpll-no-gate-clock";
+               clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
+               reg = <0x0494>, <0x0434>, <0x0440>;
+       };
+
+       dpll_ddr_m2_ck: dpll_ddr_m2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_ddr_ck>;
+               ti,max-div = <31>;
+               reg = <0x04a0>;
+               ti,index-starts-at-one;
+       };
+
+       dpll_ddr_m2_div2_ck: dpll_ddr_m2_div2_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_ddr_m2_ck>;
+               clock-mult = <1>;
+               clock-div = <2>;
+       };
+
+       dpll_disp_ck: dpll_disp_ck {
+               #clock-cells = <0>;
+               compatible = "ti,am3-dpll-no-gate-clock";
+               clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
+               reg = <0x0498>, <0x0448>, <0x0454>;
+       };
+
+       dpll_disp_m2_ck: dpll_disp_m2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_disp_ck>;
+               ti,max-div = <31>;
+               reg = <0x04a4>;
+               ti,index-starts-at-one;
+               ti,set-rate-parent;
+       };
+
+       dpll_per_ck: dpll_per_ck {
+               #clock-cells = <0>;
+               compatible = "ti,am3-dpll-no-gate-j-type-clock";
+               clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
+               reg = <0x048c>, <0x0470>, <0x049c>;
+       };
+
+       dpll_per_m2_ck: dpll_per_m2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_per_ck>;
+               ti,max-div = <31>;
+               reg = <0x04ac>;
+               ti,index-starts-at-one;
+       };
+
+       dpll_per_m2_div4_wkupdm_ck: dpll_per_m2_div4_wkupdm_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_per_m2_ck>;
+               clock-mult = <1>;
+               clock-div = <4>;
+       };
+
+       dpll_per_m2_div4_ck: dpll_per_m2_div4_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_per_m2_ck>;
+               clock-mult = <1>;
+               clock-div = <4>;
+       };
+
+       cefuse_fck: cefuse_fck {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_clkin_ck>;
+               ti,bit-shift = <1>;
+               reg = <0x0a20>;
+       };
+
+       clk_24mhz: clk_24mhz {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_per_m2_ck>;
+               clock-mult = <1>;
+               clock-div = <8>;
+       };
+
+       clkdiv32k_ck: clkdiv32k_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&clk_24mhz>;
+               clock-mult = <1>;
+               clock-div = <732>;
+       };
+
+       clkdiv32k_ick: clkdiv32k_ick {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&clkdiv32k_ck>;
+               ti,bit-shift = <1>;
+               reg = <0x014c>;
+       };
+
+       l3_gclk: l3_gclk {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_core_m4_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       pruss_ocp_gclk: pruss_ocp_gclk {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&l3_gclk>, <&dpll_disp_m2_ck>;
+               reg = <0x0530>;
+       };
+
+       mmu_fck: mmu_fck {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&dpll_core_m4_ck>;
+               ti,bit-shift = <1>;
+               reg = <0x0914>;
+       };
+
+       timer1_fck: timer1_fck {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clkin_ck>, <&clkdiv32k_ick>, <&tclkin_ck>, <&clk_rc32k_ck>, <&clk_32768_ck>;
+               reg = <0x0528>;
+       };
+
+       timer2_fck: timer2_fck {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
+               reg = <0x0508>;
+       };
+
+       timer3_fck: timer3_fck {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
+               reg = <0x050c>;
+       };
+
+       timer4_fck: timer4_fck {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
+               reg = <0x0510>;
+       };
+
+       timer5_fck: timer5_fck {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
+               reg = <0x0518>;
+       };
+
+       timer6_fck: timer6_fck {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
+               reg = <0x051c>;
+       };
+
+       timer7_fck: timer7_fck {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
+               reg = <0x0504>;
+       };
+
+       usbotg_fck: usbotg_fck {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&dpll_per_ck>;
+               ti,bit-shift = <8>;
+               reg = <0x047c>;
+       };
+
+       dpll_core_m4_div2_ck: dpll_core_m4_div2_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_core_m4_ck>;
+               clock-mult = <1>;
+               clock-div = <2>;
+       };
+
+       ieee5000_fck: ieee5000_fck {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&dpll_core_m4_div2_ck>;
+               ti,bit-shift = <1>;
+               reg = <0x00e4>;
+       };
+
+       wdt1_fck: wdt1_fck {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&clk_rc32k_ck>, <&clkdiv32k_ick>;
+               reg = <0x0538>;
+       };
+
+       l4_rtc_gclk: l4_rtc_gclk {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_core_m4_ck>;
+               clock-mult = <1>;
+               clock-div = <2>;
+       };
+
+       l4hs_gclk: l4hs_gclk {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_core_m4_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       l3s_gclk: l3s_gclk {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_core_m4_div2_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       l4fw_gclk: l4fw_gclk {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_core_m4_div2_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       l4ls_gclk: l4ls_gclk {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_core_m4_div2_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       sysclk_div_ck: sysclk_div_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_core_m4_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       cpsw_125mhz_gclk: cpsw_125mhz_gclk {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_core_m5_ck>;
+               clock-mult = <1>;
+               clock-div = <2>;
+       };
+
+       cpsw_cpts_rft_clk: cpsw_cpts_rft_clk {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&dpll_core_m5_ck>, <&dpll_core_m4_ck>;
+               reg = <0x0520>;
+       };
+
+       gpio0_dbclk_mux_ck: gpio0_dbclk_mux_ck {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&clk_rc32k_ck>, <&clk_32768_ck>, <&clkdiv32k_ick>;
+               reg = <0x053c>;
+       };
+
+       gpio0_dbclk: gpio0_dbclk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&gpio0_dbclk_mux_ck>;
+               ti,bit-shift = <18>;
+               reg = <0x0408>;
+       };
+
+       gpio1_dbclk: gpio1_dbclk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&clkdiv32k_ick>;
+               ti,bit-shift = <18>;
+               reg = <0x00ac>;
+       };
+
+       gpio2_dbclk: gpio2_dbclk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&clkdiv32k_ick>;
+               ti,bit-shift = <18>;
+               reg = <0x00b0>;
+       };
+
+       gpio3_dbclk: gpio3_dbclk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&clkdiv32k_ick>;
+               ti,bit-shift = <18>;
+               reg = <0x00b4>;
+       };
+
+       lcd_gclk: lcd_gclk {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&dpll_disp_m2_ck>, <&dpll_core_m5_ck>, <&dpll_per_m2_ck>;
+               reg = <0x0534>;
+               ti,set-rate-parent;
+       };
+
+       mmc_clk: mmc_clk {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_per_m2_ck>;
+               clock-mult = <1>;
+               clock-div = <2>;
+       };
+
+       gfx_fclk_clksel_ck: gfx_fclk_clksel_ck {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&dpll_core_m4_ck>, <&dpll_per_m2_ck>;
+               ti,bit-shift = <1>;
+               reg = <0x052c>;
+       };
+
+       gfx_fck_div_ck: gfx_fck_div_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&gfx_fclk_clksel_ck>;
+               reg = <0x052c>;
+               ti,max-div = <2>;
+       };
+
+       sysclkout_pre_ck: sysclkout_pre_ck {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&clk_32768_ck>, <&l3_gclk>, <&dpll_ddr_m2_ck>, <&dpll_per_m2_ck>, <&lcd_gclk>;
+               reg = <0x0700>;
+       };
+
+       clkout2_div_ck: clkout2_div_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&sysclkout_pre_ck>;
+               ti,bit-shift = <3>;
+               ti,max-div = <8>;
+               reg = <0x0700>;
+       };
+
+       dbg_sysclk_ck: dbg_sysclk_ck {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_clkin_ck>;
+               ti,bit-shift = <19>;
+               reg = <0x0414>;
+       };
+
+       dbg_clka_ck: dbg_clka_ck {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&dpll_core_m4_ck>;
+               ti,bit-shift = <30>;
+               reg = <0x0414>;
+       };
+
+       stm_pmd_clock_mux_ck: stm_pmd_clock_mux_ck {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&dbg_sysclk_ck>, <&dbg_clka_ck>;
+               ti,bit-shift = <22>;
+               reg = <0x0414>;
+       };
+
+       trace_pmd_clk_mux_ck: trace_pmd_clk_mux_ck {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&dbg_sysclk_ck>, <&dbg_clka_ck>;
+               ti,bit-shift = <20>;
+               reg = <0x0414>;
+       };
+
+       stm_clk_div_ck: stm_clk_div_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&stm_pmd_clock_mux_ck>;
+               ti,bit-shift = <27>;
+               ti,max-div = <64>;
+               reg = <0x0414>;
+               ti,index-power-of-two;
+       };
+
+       trace_clk_div_ck: trace_clk_div_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&trace_pmd_clk_mux_ck>;
+               ti,bit-shift = <24>;
+               ti,max-div = <64>;
+               reg = <0x0414>;
+               ti,index-power-of-two;
+       };
+
+       clkout2_ck: clkout2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&clkout2_div_ck>;
+               ti,bit-shift = <7>;
+               reg = <0x0700>;
+       };
+};
+
+&prcm_clockdomains {
+       clk_24mhz_clkdm: clk_24mhz_clkdm {
+               compatible = "ti,clockdomain";
+               clocks = <&clkdiv32k_ick>;
+       };
+};
index f9c5da9c7fe1ce7d56557fb4582a0d9a53bbcfde..21fcc440fc1a9d886d408701a705ad4daabd2325 100644 (file)
@@ -18,6 +18,9 @@
        interrupt-parent = <&intc>;
 
        aliases {
+               i2c0 = &i2c0;
+               i2c1 = &i2c1;
+               i2c2 = &i2c2;
                serial0 = &uart0;
                serial1 = &uart1;
                serial2 = &uart2;
@@ -30,6 +33,8 @@
                usb1 = &usb1;
                phy0 = &usb0_phy;
                phy1 = &usb1_phy;
+               ethernet0 = &cpsw_emac0;
+               ethernet1 = &cpsw_emac1;
        };
 
        cpus {
                                275000  1125000
                        >;
                        voltage-tolerance = <2>; /* 2 percentage */
+
+                       clocks = <&dpll_mpu_ck>;
+                       clock-names = "cpu";
+
                        clock-latency = <300000>; /* From omap-cpufreq driver */
                };
        };
 
+       pmu {
+               compatible = "arm,cortex-a8-pmu";
+               interrupts = <3>;
+       };
+
        /*
-        * The soc node represents the soc top level view. It is uses for IPs
+        * The soc node represents the soc top level view. It is used for IPs
         * that are not memory mapped in the MPU view or for the MPU itself.
         */
        soc {
                };
        };
 
-       am33xx_pinmux: pinmux@44e10800 {
-               compatible = "pinctrl-single";
-               reg = <0x44e10800 0x0238>;
-               #address-cells = <1>;
-               #size-cells = <0>;
-               pinctrl-single,register-width = <32>;
-               pinctrl-single,function-mask = <0x7f>;
-       };
-
        /*
         * XXX: Use a flat representation of the AM33XX interconnect.
-        * The real AM33XX interconnect network is quite complex.Since
-        * that will not bring real advantage to represent that in DT
+        * The real AM33XX interconnect network is quite complex. Since
+        * it will not bring real advantage to represent that in DT
         * for the moment, just use a fake OCP bus entry to represent
         * the whole bus hierarchy.
         */
                ranges;
                ti,hwmods = "l3_main";
 
+               l4_wkup: l4_wkup@44c00000 {
+                       compatible = "ti,am3-l4-wkup", "simple-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x44c00000 0x280000>;
+
+                       prcm: prcm@200000 {
+                               compatible = "ti,am3-prcm";
+                               reg = <0x200000 0x4000>;
+
+                               prcm_clocks: clocks {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                               };
+
+                               prcm_clockdomains: clockdomains {
+                               };
+                       };
+
+                       scm: scm@210000 {
+                               compatible = "ti,am3-scm", "simple-bus";
+                               reg = <0x210000 0x2000>;
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               ranges = <0 0x210000 0x2000>;
+
+                               am33xx_pinmux: pinmux@800 {
+                                       compatible = "pinctrl-single";
+                                       reg = <0x800 0x238>;
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       pinctrl-single,register-width = <32>;
+                                       pinctrl-single,function-mask = <0x7f>;
+                               };
+
+                               scm_conf: scm_conf@0 {
+                                       compatible = "syscon";
+                                       reg = <0x0 0x800>;
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+
+                                       scm_clocks: clocks {
+                                               #address-cells = <1>;
+                                               #size-cells = <0>;
+                                       };
+                               };
+
+                               scm_clockdomains: clockdomains {
+                               };
+                       };
+               };
+
                intc: interrupt-controller@48200000 {
-                       compatible = "ti,omap2-intc";
+                       compatible = "ti,am33xx-intc";
                        interrupt-controller;
                        #interrupt-cells = <1>;
-                       ti,intc-size = <128>;
                        reg = <0x48200000 0x1000>;
                };
 
+               edma: edma@49000000 {
+                       compatible = "ti,edma3";
+                       ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
+                       reg =   <0x49000000 0x10000>,
+                               <0x44e10f90 0x40>;
+                       interrupts = <12 13 14>;
+                       #dma-cells = <1>;
+               };
+
                gpio0: gpio@44e07000 {
                        compatible = "ti,omap4-gpio";
                        ti,hwmods = "gpio1";
                        gpio-controller;
                        #gpio-cells = <2>;
                        interrupt-controller;
-                       #interrupt-cells = <1>;
+                       #interrupt-cells = <2>;
                        reg = <0x44e07000 0x1000>;
                        interrupts = <96>;
                };
                        gpio-controller;
                        #gpio-cells = <2>;
                        interrupt-controller;
-                       #interrupt-cells = <1>;
+                       #interrupt-cells = <2>;
                        reg = <0x4804c000 0x1000>;
                        interrupts = <98>;
                };
                        gpio-controller;
                        #gpio-cells = <2>;
                        interrupt-controller;
-                       #interrupt-cells = <1>;
+                       #interrupt-cells = <2>;
                        reg = <0x481ac000 0x1000>;
                        interrupts = <32>;
                };
                        gpio-controller;
                        #gpio-cells = <2>;
                        interrupt-controller;
-                       #interrupt-cells = <1>;
+                       #interrupt-cells = <2>;
                        reg = <0x481ae000 0x1000>;
                        interrupts = <62>;
                };
                        reg = <0x44e09000 0x2000>;
                        interrupts = <72>;
                        status = "disabled";
+                       dmas = <&edma 26>, <&edma 27>;
+                       dma-names = "tx", "rx";
                };
 
                uart1: serial@48022000 {
                        reg = <0x48022000 0x2000>;
                        interrupts = <73>;
                        status = "disabled";
+                       dmas = <&edma 28>, <&edma 29>;
+                       dma-names = "tx", "rx";
                };
 
                uart2: serial@48024000 {
                        reg = <0x48024000 0x2000>;
                        interrupts = <74>;
                        status = "disabled";
+                       dmas = <&edma 30>, <&edma 31>;
+                       dma-names = "tx", "rx";
                };
 
                uart3: serial@481a6000 {
                        status = "disabled";
                };
 
+               mmc1: mmc@48060000 {
+                       compatible = "ti,omap4-hsmmc";
+                       ti,hwmods = "mmc1";
+                       ti,dual-volt;
+                       ti,needs-special-reset;
+                       ti,needs-special-hs-handling;
+                       dmas = <&edma 24
+                               &edma 25>;
+                       dma-names = "tx", "rx";
+                       interrupts = <64>;
+                       interrupt-parent = <&intc>;
+                       reg = <0x48060000 0x1000>;
+                       status = "disabled";
+               };
+
+               mmc2: mmc@481d8000 {
+                       compatible = "ti,omap4-hsmmc";
+                       ti,hwmods = "mmc2";
+                       ti,needs-special-reset;
+                       dmas = <&edma 2
+                               &edma 3>;
+                       dma-names = "tx", "rx";
+                       interrupts = <28>;
+                       interrupt-parent = <&intc>;
+                       reg = <0x481d8000 0x1000>;
+                       status = "disabled";
+               };
+
+               mmc3: mmc@47810000 {
+                       compatible = "ti,omap4-hsmmc";
+                       ti,hwmods = "mmc3";
+                       ti,needs-special-reset;
+                       interrupts = <29>;
+                       interrupt-parent = <&intc>;
+                       reg = <0x47810000 0x1000>;
+                       status = "disabled";
+               };
+
+               hwspinlock: spinlock@480ca000 {
+                       compatible = "ti,omap4-hwspinlock";
+                       reg = <0x480ca000 0x1000>;
+                       ti,hwmods = "spinlock";
+                       #hwlock-cells = <1>;
+               };
+
                wdt2: wdt@44e35000 {
                        compatible = "ti,omap3-wdt";
                        ti,hwmods = "wd_timer2";
                        interrupts = <91>;
                };
 
-               dcan0: d_can@481cc000 {
-                       compatible = "bosch,d_can";
+               dcan0: can@481cc000 {
+                       compatible = "ti,am3352-d_can";
                        ti,hwmods = "d_can0";
-                       reg = <0x481cc000 0x2000
-                               0x44e10644 0x4>;
+                       reg = <0x481cc000 0x2000>;
+                       clocks = <&dcan0_fck>;
+                       clock-names = "fck";
+                       syscon-raminit = <&scm_conf 0x644 0>;
                        interrupts = <52>;
                        status = "disabled";
                };
 
-               dcan1: d_can@481d0000 {
-                       compatible = "bosch,d_can";
+               dcan1: can@481d0000 {
+                       compatible = "ti,am3352-d_can";
                        ti,hwmods = "d_can1";
-                       reg = <0x481d0000 0x2000
-                               0x44e10644 0x4>;
+                       reg = <0x481d0000 0x2000>;
+                       clocks = <&dcan1_fck>;
+                       clock-names = "fck";
+                       syscon-raminit = <&scm_conf 0x644 1>;
                        interrupts = <55>;
                        status = "disabled";
                };
 
+               mailbox: mailbox@480C8000 {
+                       compatible = "ti,omap4-mailbox";
+                       reg = <0x480C8000 0x200>;
+                       interrupts = <77>;
+                       ti,hwmods = "mailbox";
+                       #mbox-cells = <1>;
+                       ti,mbox-num-users = <4>;
+                       ti,mbox-num-fifos = <8>;
+                       mbox_wkupm3: wkup_m3 {
+                               ti,mbox-tx = <0 0 0>;
+                               ti,mbox-rx = <0 0 3>;
+                       };
+               };
+
                timer1: timer@44e31000 {
                        compatible = "ti,am335x-timer-1ms";
                        reg = <0x44e31000 0x400>;
                        ti,timer-pwm;
                };
 
-               rtc@44e3e000 {
-                       compatible = "ti,da830-rtc";
+               rtc: rtc@44e3e000 {
+                       compatible = "ti,am3352-rtc", "ti,da830-rtc";
                        reg = <0x44e3e000 0x1000>;
                        interrupts = <75
                                      76>;
                        interrupts = <65>;
                        ti,spi-num-cs = <2>;
                        ti,hwmods = "spi0";
+                       dmas = <&edma 16
+                               &edma 17
+                               &edma 18
+                               &edma 19>;
+                       dma-names = "tx0", "rx0", "tx1", "rx1";
                        status = "disabled";
                };
 
                        interrupts = <125>;
                        ti,spi-num-cs = <2>;
                        ti,hwmods = "spi1";
+                       dmas = <&edma 42
+                               &edma 43
+                               &edma 44
+                               &edma 45>;
+                       dma-names = "tx0", "rx0", "tx1", "rx1";
                        status = "disabled";
                };
 
                        ti,hwmods = "usb_otg_hs";
                        status = "disabled";
 
-                       ctrl_mod: control@44e10000 {
+                       usb_ctrl_mod: control@44e10620 {
                                compatible = "ti,am335x-usb-ctrl-module";
                                reg = <0x44e10620 0x10
                                        0x44e10648 0x4>;
                                reg = <0x47401300 0x100>;
                                reg-names = "phy";
                                status = "disabled";
-                               ti,ctrl_mod = <&ctrl_mod>;
+                               ti,ctrl_mod = <&usb_ctrl_mod>;
                        };
 
                        usb0: usb@47401000 {
                                reg = <0x47401b00 0x100>;
                                reg-names = "phy";
                                status = "disabled";
-                               ti,ctrl_mod = <&ctrl_mod>;
+                               ti,ctrl_mod = <&usb_ctrl_mod>;
                        };
 
                        usb1: usb@47401800 {
                                        "tx14", "tx15";
                        };
 
-                       cppi41dma: dma-controller@07402000 {
+                       cppi41dma: dma-controller@47402000 {
                                compatible = "ti,am3359-cppi41";
                                reg =  <0x47400000 0x1000
                                        0x47402000 0x1000
                                compatible = "ti,am33xx-ecap";
                                #pwm-cells = <3>;
                                reg = <0x48300100 0x80>;
+                               interrupts = <31>;
+                               interrupt-names = "ecap0";
                                ti,hwmods = "ecap0";
                                status = "disabled";
                        };
                                compatible = "ti,am33xx-ecap";
                                #pwm-cells = <3>;
                                reg = <0x48302100 0x80>;
+                               interrupts = <47>;
+                               interrupt-names = "ecap1";
                                ti,hwmods = "ecap1";
                                status = "disabled";
                        };
                                compatible = "ti,am33xx-ecap";
                                #pwm-cells = <3>;
                                reg = <0x48304100 0x80>;
+                               interrupts = <61>;
+                               interrupt-names = "ecap2";
                                ti,hwmods = "ecap2";
                                status = "disabled";
                        };
                mac: ethernet@4a100000 {
                        compatible = "ti,cpsw";
                        ti,hwmods = "cpgmac0";
+                       clocks = <&cpsw_125mhz_gclk>, <&cpsw_cpts_rft_clk>;
+                       clock-names = "fck", "cpts";
                        cpdma_channels = <8>;
                        ale_entries = <1024>;
                        bd_ram_size = <0x2000>;
                         */
                        interrupts = <40 41 42 43>;
                        ranges;
+                       syscon = <&scm_conf>;
+                       status = "disabled";
 
                        davinci_mdio: mdio@4a101000 {
                                compatible = "ti,davinci_mdio";
                                ti,hwmods = "davinci_mdio";
                                bus_freq = <1000000>;
                                reg = <0x4a101000 0x100>;
+                               status = "disabled";
                        };
 
                        cpsw_emac0: slave@4a100200 {
                                /* Filled in by U-Boot */
                                mac-address = [ 00 00 00 00 00 00 ];
                        };
+
+                       phy_sel: cpsw-phy-sel@44e10650 {
+                               compatible = "ti,am3352-cpsw-phy-sel";
+                               reg= <0x44e10650 0x4>;
+                               reg-names = "gmii-sel";
+                       };
                };
 
                ocmcram: ocmcram@40300000 {
-                       compatible = "ti,am3352-ocmcram";
-                       reg = <0x40300000 0x10000>;
-                       ti,hwmods = "ocmcram";
+                       compatible = "mmio-sram";
+                       reg = <0x40300000 0x10000>; /* 64k */
                };
 
                wkup_m3: wkup_m3@44d00000 {
                        reg = <0x44d00000 0x4000        /* M3 UMEM */
                               0x44d80000 0x2000>;      /* M3 DMEM */
                        ti,hwmods = "wkup_m3";
+                       ti,no-reset-on-init;
                };
 
                elm: elm@48080000 {
                        status = "disabled";
                };
 
+               lcdc: lcdc@4830e000 {
+                       compatible = "ti,am33xx-tilcdc";
+                       reg = <0x4830e000 0x1000>;
+                       interrupt-parent = <&intc>;
+                       interrupts = <36>;
+                       ti,hwmods = "lcdc";
+                       status = "disabled";
+               };
+
                tscadc: tscadc@44e0d000 {
                        compatible = "ti,am3359-tscadc";
                        reg = <0x44e0d000 0x1000>;
                gpmc: gpmc@50000000 {
                        compatible = "ti,am3352-gpmc";
                        ti,hwmods = "gpmc";
+                       ti,no-idle-on-init;
                        reg = <0x50000000 0x2000>;
                        interrupts = <100>;
                        gpmc,num-cs = <7>;
                        #size-cells = <1>;
                        status = "disabled";
                };
+
+               sham: sham@53100000 {
+                       compatible = "ti,omap4-sham";
+                       ti,hwmods = "sham";
+                       reg = <0x53100000 0x200>;
+                       interrupts = <109>;
+                       dmas = <&edma 36>;
+                       dma-names = "rx";
+               };
+
+               aes: aes@53500000 {
+                       compatible = "ti,omap4-aes";
+                       ti,hwmods = "aes";
+                       reg = <0x53500000 0xa0>;
+                       interrupts = <103>;
+                       dmas = <&edma 6>,
+                              <&edma 5>;
+                       dma-names = "tx", "rx";
+               };
+
+               mcasp0: mcasp@48038000 {
+                       compatible = "ti,am33xx-mcasp-audio";
+                       ti,hwmods = "mcasp0";
+                       reg = <0x48038000 0x2000>,
+                             <0x46000000 0x400000>;
+                       reg-names = "mpu", "dat";
+                       interrupts = <80>, <81>;
+                       interrupt-names = "tx", "rx";
+                       status = "disabled";
+                       dmas = <&edma 8>,
+                               <&edma 9>;
+                       dma-names = "tx", "rx";
+               };
+
+               mcasp1: mcasp@4803C000 {
+                       compatible = "ti,am33xx-mcasp-audio";
+                       ti,hwmods = "mcasp1";
+                       reg = <0x4803C000 0x2000>,
+                             <0x46400000 0x400000>;
+                       reg-names = "mpu", "dat";
+                       interrupts = <82>, <83>;
+                       interrupt-names = "tx", "rx";
+                       status = "disabled";
+                       dmas = <&edma 10>,
+                               <&edma 11>;
+                       dma-names = "tx", "rx";
+               };
+
+               rng: rng@48310000 {
+                       compatible = "ti,omap4-rng";
+                       ti,hwmods = "rng";
+                       reg = <0x48310000 0x2000>;
+                       interrupts = <111>;
+               };
        };
 };
+
+/include/ "am33xx-clocks.dtsi"
diff --git a/arch/arm/dts/dra7.dtsi b/arch/arm/dts/dra7.dtsi
new file mode 100644 (file)
index 0000000..8f1e25b
--- /dev/null
@@ -0,0 +1,1529 @@
+/*
+ * Copyright (C) 2013 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.
+ * Based on "omap4.dtsi"
+ */
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/pinctrl/dra.h>
+
+#include "skeleton.dtsi"
+
+#define MAX_SOURCES 400
+
+/ {
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       compatible = "ti,dra7xx";
+       interrupt-parent = <&crossbar_mpu>;
+
+       aliases {
+               i2c0 = &i2c1;
+               i2c1 = &i2c2;
+               i2c2 = &i2c3;
+               i2c3 = &i2c4;
+               i2c4 = &i2c5;
+               serial0 = &uart1;
+               serial1 = &uart2;
+               serial2 = &uart3;
+               serial3 = &uart4;
+               serial4 = &uart5;
+               serial5 = &uart6;
+               serial6 = &uart7;
+               serial7 = &uart8;
+               serial8 = &uart9;
+               serial9 = &uart10;
+               ethernet0 = &cpsw_emac0;
+               ethernet1 = &cpsw_emac1;
+               d_can0 = &dcan1;
+               d_can1 = &dcan2;
+       };
+
+       timer {
+               compatible = "arm,armv7-timer";
+               interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
+                            <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
+                            <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
+                            <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
+               interrupt-parent = <&gic>;
+       };
+
+       gic: interrupt-controller@48211000 {
+               compatible = "arm,cortex-a15-gic";
+               interrupt-controller;
+               #interrupt-cells = <3>;
+               reg = <0x48211000 0x1000>,
+                     <0x48212000 0x1000>,
+                     <0x48214000 0x2000>,
+                     <0x48216000 0x2000>;
+               interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
+               interrupt-parent = <&gic>;
+       };
+
+       wakeupgen: interrupt-controller@48281000 {
+               compatible = "ti,omap5-wugen-mpu", "ti,omap4-wugen-mpu";
+               interrupt-controller;
+               #interrupt-cells = <3>;
+               reg = <0x48281000 0x1000>;
+               interrupt-parent = <&gic>;
+       };
+
+       /*
+        * The soc node represents the soc top level view. It is used for IPs
+        * that are not memory mapped in the MPU view or for the MPU itself.
+        */
+       soc {
+               compatible = "ti,omap-infra";
+               mpu {
+                       compatible = "ti,omap5-mpu";
+                       ti,hwmods = "mpu";
+               };
+       };
+
+       /*
+        * XXX: Use a flat representation of the SOC interconnect.
+        * The real OMAP interconnect network is quite complex.
+        * Since it will not bring real advantage to represent that in DT for
+        * the moment, just use a fake OCP bus entry to represent the whole bus
+        * hierarchy.
+        */
+       ocp {
+               compatible = "ti,dra7-l3-noc", "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+               ti,hwmods = "l3_main_1", "l3_main_2";
+               reg = <0x44000000 0x1000000>,
+                     <0x45000000 0x1000>;
+               interrupts-extended = <&crossbar_mpu GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+                                     <&wakeupgen GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
+
+               l4_cfg: l4@4a000000 {
+                       compatible = "ti,dra7-l4-cfg", "simple-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x4a000000 0x22c000>;
+
+                       scm: scm@2000 {
+                               compatible = "ti,dra7-scm-core", "simple-bus";
+                               reg = <0x2000 0x2000>;
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               ranges = <0 0x2000 0x2000>;
+
+                               scm_conf: scm_conf@0 {
+                                       compatible = "syscon";
+                                       reg = <0x0 0x1400>;
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+
+                                       pbias_regulator: pbias_regulator {
+                                               compatible = "ti,pbias-omap";
+                                               reg = <0xe00 0x4>;
+                                               syscon = <&scm_conf>;
+                                               pbias_mmc_reg: pbias_mmc_omap5 {
+                                                       regulator-name = "pbias_mmc_omap5";
+                                                       regulator-min-microvolt = <1800000>;
+                                                       regulator-max-microvolt = <3000000>;
+                                               };
+                                       };
+
+                                       scm_conf_clocks: clocks {
+                                               #address-cells = <1>;
+                                               #size-cells = <0>;
+                                       };
+                               };
+
+                               dra7_pmx_core: pinmux@1400 {
+                                       compatible = "ti,dra7-padconf",
+                                                    "pinctrl-single";
+                                       reg = <0x1400 0x0464>;
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       #interrupt-cells = <1>;
+                                       interrupt-controller;
+                                       pinctrl-single,register-width = <32>;
+                                       pinctrl-single,function-mask = <0x3fffffff>;
+                               };
+                       };
+
+                       cm_core_aon: cm_core_aon@5000 {
+                               compatible = "ti,dra7-cm-core-aon";
+                               reg = <0x5000 0x2000>;
+
+                               cm_core_aon_clocks: clocks {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                               };
+
+                               cm_core_aon_clockdomains: clockdomains {
+                               };
+                       };
+
+                       cm_core: cm_core@8000 {
+                               compatible = "ti,dra7-cm-core";
+                               reg = <0x8000 0x3000>;
+
+                               cm_core_clocks: clocks {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                               };
+
+                               cm_core_clockdomains: clockdomains {
+                               };
+                       };
+               };
+
+               l4_wkup: l4@4ae00000 {
+                       compatible = "ti,dra7-l4-wkup", "simple-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x4ae00000 0x3f000>;
+
+                       counter32k: counter@4000 {
+                               compatible = "ti,omap-counter32k";
+                               reg = <0x4000 0x40>;
+                               ti,hwmods = "counter_32k";
+                       };
+
+                       prm: prm@6000 {
+                               compatible = "ti,dra7-prm";
+                               reg = <0x6000 0x3000>;
+                               interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
+
+                               prm_clocks: clocks {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                               };
+
+                               prm_clockdomains: clockdomains {
+                               };
+                       };
+               };
+
+               axi@0 {
+                       compatible = "simple-bus";
+                       #size-cells = <1>;
+                       #address-cells = <1>;
+                       ranges = <0x51000000 0x51000000 0x3000
+                                 0x0        0x20000000 0x10000000>;
+                       pcie@51000000 {
+                               compatible = "ti,dra7-pcie";
+                               reg = <0x51000000 0x2000>, <0x51002000 0x14c>, <0x1000 0x2000>;
+                               reg-names = "rc_dbics", "ti_conf", "config";
+                               interrupts = <0 232 0x4>, <0 233 0x4>;
+                               #address-cells = <3>;
+                               #size-cells = <2>;
+                               device_type = "pci";
+                               ranges = <0x81000000 0 0          0x03000 0 0x00010000
+                                         0x82000000 0 0x20013000 0x13000 0 0xffed000>;
+                               #interrupt-cells = <1>;
+                               num-lanes = <1>;
+                               ti,hwmods = "pcie1";
+                               phys = <&pcie1_phy>;
+                               phy-names = "pcie-phy0";
+                               interrupt-map-mask = <0 0 0 7>;
+                               interrupt-map = <0 0 0 1 &pcie1_intc 1>,
+                                               <0 0 0 2 &pcie1_intc 2>,
+                                               <0 0 0 3 &pcie1_intc 3>,
+                                               <0 0 0 4 &pcie1_intc 4>;
+                               pcie1_intc: interrupt-controller {
+                                       interrupt-controller;
+                                       #address-cells = <0>;
+                                       #interrupt-cells = <1>;
+                               };
+                       };
+               };
+
+               axi@1 {
+                       compatible = "simple-bus";
+                       #size-cells = <1>;
+                       #address-cells = <1>;
+                       ranges = <0x51800000 0x51800000 0x3000
+                                 0x0        0x30000000 0x10000000>;
+                       status = "disabled";
+                       pcie@51000000 {
+                               compatible = "ti,dra7-pcie";
+                               reg = <0x51800000 0x2000>, <0x51802000 0x14c>, <0x1000 0x2000>;
+                               reg-names = "rc_dbics", "ti_conf", "config";
+                               interrupts = <0 355 0x4>, <0 356 0x4>;
+                               #address-cells = <3>;
+                               #size-cells = <2>;
+                               device_type = "pci";
+                               ranges = <0x81000000 0 0          0x03000 0 0x00010000
+                                         0x82000000 0 0x30013000 0x13000 0 0xffed000>;
+                               #interrupt-cells = <1>;
+                               num-lanes = <1>;
+                               ti,hwmods = "pcie2";
+                               phys = <&pcie2_phy>;
+                               phy-names = "pcie-phy0";
+                               interrupt-map-mask = <0 0 0 7>;
+                               interrupt-map = <0 0 0 1 &pcie2_intc 1>,
+                                               <0 0 0 2 &pcie2_intc 2>,
+                                               <0 0 0 3 &pcie2_intc 3>,
+                                               <0 0 0 4 &pcie2_intc 4>;
+                               pcie2_intc: interrupt-controller {
+                                       interrupt-controller;
+                                       #address-cells = <0>;
+                                       #interrupt-cells = <1>;
+                               };
+                       };
+               };
+
+               bandgap: bandgap@4a0021e0 {
+                       reg = <0x4a0021e0 0xc
+                               0x4a00232c 0xc
+                               0x4a002380 0x2c
+                               0x4a0023C0 0x3c
+                               0x4a002564 0x8
+                               0x4a002574 0x50>;
+                               compatible = "ti,dra752-bandgap";
+                               interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
+                               #thermal-sensor-cells = <1>;
+               };
+
+               dra7_ctrl_core: ctrl_core@4a002000 {
+                       compatible = "syscon";
+                       reg = <0x4a002000 0x6d0>;
+               };
+
+               dra7_ctrl_general: tisyscon@4a002e00 {
+                       compatible = "syscon";
+                       reg = <0x4a002e00 0x7c>;
+               };
+
+               sdma: dma-controller@4a056000 {
+                       compatible = "ti,omap4430-sdma";
+                       reg = <0x4a056000 0x1000>;
+                       interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
+                       #dma-cells = <1>;
+                       dma-channels = <32>;
+                       dma-requests = <127>;
+               };
+
+               gpio1: gpio@4ae10000 {
+                       compatible = "ti,omap4-gpio";
+                       reg = <0x4ae10000 0x200>;
+                       interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "gpio1";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+
+               gpio2: gpio@48055000 {
+                       compatible = "ti,omap4-gpio";
+                       reg = <0x48055000 0x200>;
+                       interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "gpio2";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+
+               gpio3: gpio@48057000 {
+                       compatible = "ti,omap4-gpio";
+                       reg = <0x48057000 0x200>;
+                       interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "gpio3";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+
+               gpio4: gpio@48059000 {
+                       compatible = "ti,omap4-gpio";
+                       reg = <0x48059000 0x200>;
+                       interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "gpio4";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+
+               gpio5: gpio@4805b000 {
+                       compatible = "ti,omap4-gpio";
+                       reg = <0x4805b000 0x200>;
+                       interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "gpio5";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+
+               gpio6: gpio@4805d000 {
+                       compatible = "ti,omap4-gpio";
+                       reg = <0x4805d000 0x200>;
+                       interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "gpio6";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+
+               gpio7: gpio@48051000 {
+                       compatible = "ti,omap4-gpio";
+                       reg = <0x48051000 0x200>;
+                       interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "gpio7";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+
+               gpio8: gpio@48053000 {
+                       compatible = "ti,omap4-gpio";
+                       reg = <0x48053000 0x200>;
+                       interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "gpio8";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+
+               uart1: serial@4806a000 {
+                       compatible = "ti,omap4-uart";
+                       reg = <0x4806a000 0x100>;
+                       interrupts-extended = <&crossbar_mpu GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "uart1";
+                       clock-frequency = <48000000>;
+                       status = "disabled";
+                       dmas = <&sdma 49>, <&sdma 50>;
+                       dma-names = "tx", "rx";
+               };
+
+               uart2: serial@4806c000 {
+                       compatible = "ti,omap4-uart";
+                       reg = <0x4806c000 0x100>;
+                       interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "uart2";
+                       clock-frequency = <48000000>;
+                       status = "disabled";
+                       dmas = <&sdma 51>, <&sdma 52>;
+                       dma-names = "tx", "rx";
+               };
+
+               uart3: serial@48020000 {
+                       compatible = "ti,omap4-uart";
+                       reg = <0x48020000 0x100>;
+                       interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "uart3";
+                       clock-frequency = <48000000>;
+                       status = "disabled";
+                       dmas = <&sdma 53>, <&sdma 54>;
+                       dma-names = "tx", "rx";
+               };
+
+               uart4: serial@4806e000 {
+                       compatible = "ti,omap4-uart";
+                       reg = <0x4806e000 0x100>;
+                       interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "uart4";
+                       clock-frequency = <48000000>;
+                        status = "disabled";
+                       dmas = <&sdma 55>, <&sdma 56>;
+                       dma-names = "tx", "rx";
+               };
+
+               uart5: serial@48066000 {
+                       compatible = "ti,omap4-uart";
+                       reg = <0x48066000 0x100>;
+                       interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "uart5";
+                       clock-frequency = <48000000>;
+                       status = "disabled";
+                       dmas = <&sdma 63>, <&sdma 64>;
+                       dma-names = "tx", "rx";
+               };
+
+               uart6: serial@48068000 {
+                       compatible = "ti,omap4-uart";
+                       reg = <0x48068000 0x100>;
+                       interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "uart6";
+                       clock-frequency = <48000000>;
+                       status = "disabled";
+                       dmas = <&sdma 79>, <&sdma 80>;
+                       dma-names = "tx", "rx";
+               };
+
+               uart7: serial@48420000 {
+                       compatible = "ti,omap4-uart";
+                       reg = <0x48420000 0x100>;
+                       interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "uart7";
+                       clock-frequency = <48000000>;
+                       status = "disabled";
+               };
+
+               uart8: serial@48422000 {
+                       compatible = "ti,omap4-uart";
+                       reg = <0x48422000 0x100>;
+                       interrupts = <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "uart8";
+                       clock-frequency = <48000000>;
+                       status = "disabled";
+               };
+
+               uart9: serial@48424000 {
+                       compatible = "ti,omap4-uart";
+                       reg = <0x48424000 0x100>;
+                       interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "uart9";
+                       clock-frequency = <48000000>;
+                       status = "disabled";
+               };
+
+               uart10: serial@4ae2b000 {
+                       compatible = "ti,omap4-uart";
+                       reg = <0x4ae2b000 0x100>;
+                       interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "uart10";
+                       clock-frequency = <48000000>;
+                       status = "disabled";
+               };
+
+               mailbox1: mailbox@4a0f4000 {
+                       compatible = "ti,omap4-mailbox";
+                       reg = <0x4a0f4000 0x200>;
+                       interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mailbox1";
+                       #mbox-cells = <1>;
+                       ti,mbox-num-users = <3>;
+                       ti,mbox-num-fifos = <8>;
+                       status = "disabled";
+               };
+
+               mailbox2: mailbox@4883a000 {
+                       compatible = "ti,omap4-mailbox";
+                       reg = <0x4883a000 0x200>;
+                       interrupts = <GIC_SPI 237 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mailbox2";
+                       #mbox-cells = <1>;
+                       ti,mbox-num-users = <4>;
+                       ti,mbox-num-fifos = <12>;
+                       status = "disabled";
+               };
+
+               mailbox3: mailbox@4883c000 {
+                       compatible = "ti,omap4-mailbox";
+                       reg = <0x4883c000 0x200>;
+                       interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mailbox3";
+                       #mbox-cells = <1>;
+                       ti,mbox-num-users = <4>;
+                       ti,mbox-num-fifos = <12>;
+                       status = "disabled";
+               };
+
+               mailbox4: mailbox@4883e000 {
+                       compatible = "ti,omap4-mailbox";
+                       reg = <0x4883e000 0x200>;
+                       interrupts = <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mailbox4";
+                       #mbox-cells = <1>;
+                       ti,mbox-num-users = <4>;
+                       ti,mbox-num-fifos = <12>;
+                       status = "disabled";
+               };
+
+               mailbox5: mailbox@48840000 {
+                       compatible = "ti,omap4-mailbox";
+                       reg = <0x48840000 0x200>;
+                       interrupts = <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mailbox5";
+                       #mbox-cells = <1>;
+                       ti,mbox-num-users = <4>;
+                       ti,mbox-num-fifos = <12>;
+                       status = "disabled";
+               };
+
+               mailbox6: mailbox@48842000 {
+                       compatible = "ti,omap4-mailbox";
+                       reg = <0x48842000 0x200>;
+                       interrupts = <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mailbox6";
+                       #mbox-cells = <1>;
+                       ti,mbox-num-users = <4>;
+                       ti,mbox-num-fifos = <12>;
+                       status = "disabled";
+               };
+
+               mailbox7: mailbox@48844000 {
+                       compatible = "ti,omap4-mailbox";
+                       reg = <0x48844000 0x200>;
+                       interrupts = <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mailbox7";
+                       #mbox-cells = <1>;
+                       ti,mbox-num-users = <4>;
+                       ti,mbox-num-fifos = <12>;
+                       status = "disabled";
+               };
+
+               mailbox8: mailbox@48846000 {
+                       compatible = "ti,omap4-mailbox";
+                       reg = <0x48846000 0x200>;
+                       interrupts = <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mailbox8";
+                       #mbox-cells = <1>;
+                       ti,mbox-num-users = <4>;
+                       ti,mbox-num-fifos = <12>;
+                       status = "disabled";
+               };
+
+               mailbox9: mailbox@4885e000 {
+                       compatible = "ti,omap4-mailbox";
+                       reg = <0x4885e000 0x200>;
+                       interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mailbox9";
+                       #mbox-cells = <1>;
+                       ti,mbox-num-users = <4>;
+                       ti,mbox-num-fifos = <12>;
+                       status = "disabled";
+               };
+
+               mailbox10: mailbox@48860000 {
+                       compatible = "ti,omap4-mailbox";
+                       reg = <0x48860000 0x200>;
+                       interrupts = <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mailbox10";
+                       #mbox-cells = <1>;
+                       ti,mbox-num-users = <4>;
+                       ti,mbox-num-fifos = <12>;
+                       status = "disabled";
+               };
+
+               mailbox11: mailbox@48862000 {
+                       compatible = "ti,omap4-mailbox";
+                       reg = <0x48862000 0x200>;
+                       interrupts = <GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 276 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mailbox11";
+                       #mbox-cells = <1>;
+                       ti,mbox-num-users = <4>;
+                       ti,mbox-num-fifos = <12>;
+                       status = "disabled";
+               };
+
+               mailbox12: mailbox@48864000 {
+                       compatible = "ti,omap4-mailbox";
+                       reg = <0x48864000 0x200>;
+                       interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mailbox12";
+                       #mbox-cells = <1>;
+                       ti,mbox-num-users = <4>;
+                       ti,mbox-num-fifos = <12>;
+                       status = "disabled";
+               };
+
+               mailbox13: mailbox@48802000 {
+                       compatible = "ti,omap4-mailbox";
+                       reg = <0x48802000 0x200>;
+                       interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 380 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 382 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mailbox13";
+                       #mbox-cells = <1>;
+                       ti,mbox-num-users = <4>;
+                       ti,mbox-num-fifos = <12>;
+                       status = "disabled";
+               };
+
+               timer1: timer@4ae18000 {
+                       compatible = "ti,omap5430-timer";
+                       reg = <0x4ae18000 0x80>;
+                       interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "timer1";
+                       ti,timer-alwon;
+               };
+
+               timer2: timer@48032000 {
+                       compatible = "ti,omap5430-timer";
+                       reg = <0x48032000 0x80>;
+                       interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "timer2";
+               };
+
+               timer3: timer@48034000 {
+                       compatible = "ti,omap5430-timer";
+                       reg = <0x48034000 0x80>;
+                       interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "timer3";
+               };
+
+               timer4: timer@48036000 {
+                       compatible = "ti,omap5430-timer";
+                       reg = <0x48036000 0x80>;
+                       interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "timer4";
+               };
+
+               timer5: timer@48820000 {
+                       compatible = "ti,omap5430-timer";
+                       reg = <0x48820000 0x80>;
+                       interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "timer5";
+               };
+
+               timer6: timer@48822000 {
+                       compatible = "ti,omap5430-timer";
+                       reg = <0x48822000 0x80>;
+                       interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "timer6";
+               };
+
+               timer7: timer@48824000 {
+                       compatible = "ti,omap5430-timer";
+                       reg = <0x48824000 0x80>;
+                       interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "timer7";
+               };
+
+               timer8: timer@48826000 {
+                       compatible = "ti,omap5430-timer";
+                       reg = <0x48826000 0x80>;
+                       interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "timer8";
+               };
+
+               timer9: timer@4803e000 {
+                       compatible = "ti,omap5430-timer";
+                       reg = <0x4803e000 0x80>;
+                       interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "timer9";
+               };
+
+               timer10: timer@48086000 {
+                       compatible = "ti,omap5430-timer";
+                       reg = <0x48086000 0x80>;
+                       interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "timer10";
+               };
+
+               timer11: timer@48088000 {
+                       compatible = "ti,omap5430-timer";
+                       reg = <0x48088000 0x80>;
+                       interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "timer11";
+               };
+
+               timer13: timer@48828000 {
+                       compatible = "ti,omap5430-timer";
+                       reg = <0x48828000 0x80>;
+                       interrupts = <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "timer13";
+                       status = "disabled";
+               };
+
+               timer14: timer@4882a000 {
+                       compatible = "ti,omap5430-timer";
+                       reg = <0x4882a000 0x80>;
+                       interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "timer14";
+                       status = "disabled";
+               };
+
+               timer15: timer@4882c000 {
+                       compatible = "ti,omap5430-timer";
+                       reg = <0x4882c000 0x80>;
+                       interrupts = <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "timer15";
+                       status = "disabled";
+               };
+
+               timer16: timer@4882e000 {
+                       compatible = "ti,omap5430-timer";
+                       reg = <0x4882e000 0x80>;
+                       interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "timer16";
+                       status = "disabled";
+               };
+
+               wdt2: wdt@4ae14000 {
+                       compatible = "ti,omap3-wdt";
+                       reg = <0x4ae14000 0x80>;
+                       interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "wd_timer2";
+               };
+
+               hwspinlock: spinlock@4a0f6000 {
+                       compatible = "ti,omap4-hwspinlock";
+                       reg = <0x4a0f6000 0x1000>;
+                       ti,hwmods = "spinlock";
+                       #hwlock-cells = <1>;
+               };
+
+               dmm@4e000000 {
+                       compatible = "ti,omap5-dmm";
+                       reg = <0x4e000000 0x800>;
+                       interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "dmm";
+               };
+
+               i2c1: i2c@48070000 {
+                       compatible = "ti,omap4-i2c";
+                       reg = <0x48070000 0x100>;
+                       interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ti,hwmods = "i2c1";
+                       status = "disabled";
+               };
+
+               i2c2: i2c@48072000 {
+                       compatible = "ti,omap4-i2c";
+                       reg = <0x48072000 0x100>;
+                       interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ti,hwmods = "i2c2";
+                       status = "disabled";
+               };
+
+               i2c3: i2c@48060000 {
+                       compatible = "ti,omap4-i2c";
+                       reg = <0x48060000 0x100>;
+                       interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ti,hwmods = "i2c3";
+                       status = "disabled";
+               };
+
+               i2c4: i2c@4807a000 {
+                       compatible = "ti,omap4-i2c";
+                       reg = <0x4807a000 0x100>;
+                       interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ti,hwmods = "i2c4";
+                       status = "disabled";
+               };
+
+               i2c5: i2c@4807c000 {
+                       compatible = "ti,omap4-i2c";
+                       reg = <0x4807c000 0x100>;
+                       interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ti,hwmods = "i2c5";
+                       status = "disabled";
+               };
+
+               mmc1: mmc@4809c000 {
+                       compatible = "ti,omap4-hsmmc";
+                       reg = <0x4809c000 0x400>;
+                       interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mmc1";
+                       ti,dual-volt;
+                       ti,needs-special-reset;
+                       dmas = <&sdma 61>, <&sdma 62>;
+                       dma-names = "tx", "rx";
+                       status = "disabled";
+                       pbias-supply = <&pbias_mmc_reg>;
+               };
+
+               mmc2: mmc@480b4000 {
+                       compatible = "ti,omap4-hsmmc";
+                       reg = <0x480b4000 0x400>;
+                       interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mmc2";
+                       ti,needs-special-reset;
+                       dmas = <&sdma 47>, <&sdma 48>;
+                       dma-names = "tx", "rx";
+                       status = "disabled";
+               };
+
+               mmc3: mmc@480ad000 {
+                       compatible = "ti,omap4-hsmmc";
+                       reg = <0x480ad000 0x400>;
+                       interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mmc3";
+                       ti,needs-special-reset;
+                       dmas = <&sdma 77>, <&sdma 78>;
+                       dma-names = "tx", "rx";
+                       status = "disabled";
+               };
+
+               mmc4: mmc@480d1000 {
+                       compatible = "ti,omap4-hsmmc";
+                       reg = <0x480d1000 0x400>;
+                       interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mmc4";
+                       ti,needs-special-reset;
+                       dmas = <&sdma 57>, <&sdma 58>;
+                       dma-names = "tx", "rx";
+                       status = "disabled";
+               };
+
+               abb_mpu: regulator-abb-mpu {
+                       compatible = "ti,abb-v3";
+                       regulator-name = "abb_mpu";
+                       #address-cells = <0>;
+                       #size-cells = <0>;
+                       clocks = <&sys_clkin1>;
+                       ti,settling-time = <50>;
+                       ti,clock-cycles = <16>;
+
+                       reg = <0x4ae07ddc 0x4>, <0x4ae07de0 0x4>,
+                             <0x4ae06014 0x4>, <0x4a003b20 0xc>,
+                             <0x4ae0c158 0x4>;
+                       reg-names = "setup-address", "control-address",
+                                   "int-address", "efuse-address",
+                                   "ldo-address";
+                       ti,tranxdone-status-mask = <0x80>;
+                       /* LDOVBBMPU_FBB_MUX_CTRL */
+                       ti,ldovbb-override-mask = <0x400>;
+                       /* LDOVBBMPU_FBB_VSET_OUT */
+                       ti,ldovbb-vset-mask = <0x1F>;
+
+                       /*
+                        * NOTE: only FBB mode used but actual vset will
+                        * determine final biasing
+                        */
+                       ti,abb_info = <
+                       /*uV            ABB     efuse   rbb_m fbb_m     vset_m*/
+                       1060000         0       0x0     0 0x02000000 0x01F00000
+                       1160000         0       0x4     0 0x02000000 0x01F00000
+                       1210000         0       0x8     0 0x02000000 0x01F00000
+                       >;
+               };
+
+               abb_ivahd: regulator-abb-ivahd {
+                       compatible = "ti,abb-v3";
+                       regulator-name = "abb_ivahd";
+                       #address-cells = <0>;
+                       #size-cells = <0>;
+                       clocks = <&sys_clkin1>;
+                       ti,settling-time = <50>;
+                       ti,clock-cycles = <16>;
+
+                       reg = <0x4ae07e34 0x4>, <0x4ae07e24 0x4>,
+                             <0x4ae06010 0x4>, <0x4a0025cc 0xc>,
+                             <0x4a002470 0x4>;
+                       reg-names = "setup-address", "control-address",
+                                   "int-address", "efuse-address",
+                                   "ldo-address";
+                       ti,tranxdone-status-mask = <0x40000000>;
+                       /* LDOVBBIVA_FBB_MUX_CTRL */
+                       ti,ldovbb-override-mask = <0x400>;
+                       /* LDOVBBIVA_FBB_VSET_OUT */
+                       ti,ldovbb-vset-mask = <0x1F>;
+
+                       /*
+                        * NOTE: only FBB mode used but actual vset will
+                        * determine final biasing
+                        */
+                       ti,abb_info = <
+                       /*uV            ABB     efuse   rbb_m fbb_m     vset_m*/
+                       1055000         0       0x0     0 0x02000000 0x01F00000
+                       1150000         0       0x4     0 0x02000000 0x01F00000
+                       1250000         0       0x8     0 0x02000000 0x01F00000
+                       >;
+               };
+
+               abb_dspeve: regulator-abb-dspeve {
+                       compatible = "ti,abb-v3";
+                       regulator-name = "abb_dspeve";
+                       #address-cells = <0>;
+                       #size-cells = <0>;
+                       clocks = <&sys_clkin1>;
+                       ti,settling-time = <50>;
+                       ti,clock-cycles = <16>;
+
+                       reg = <0x4ae07e30 0x4>, <0x4ae07e20 0x4>,
+                             <0x4ae06010 0x4>, <0x4a0025e0 0xc>,
+                             <0x4a00246c 0x4>;
+                       reg-names = "setup-address", "control-address",
+                                   "int-address", "efuse-address",
+                                   "ldo-address";
+                       ti,tranxdone-status-mask = <0x20000000>;
+                       /* LDOVBBDSPEVE_FBB_MUX_CTRL */
+                       ti,ldovbb-override-mask = <0x400>;
+                       /* LDOVBBDSPEVE_FBB_VSET_OUT */
+                       ti,ldovbb-vset-mask = <0x1F>;
+
+                       /*
+                        * NOTE: only FBB mode used but actual vset will
+                        * determine final biasing
+                        */
+                       ti,abb_info = <
+                       /*uV            ABB     efuse   rbb_m fbb_m     vset_m*/
+                       1055000         0       0x0     0 0x02000000 0x01F00000
+                       1150000         0       0x4     0 0x02000000 0x01F00000
+                       1250000         0       0x8     0 0x02000000 0x01F00000
+                       >;
+               };
+
+               abb_gpu: regulator-abb-gpu {
+                       compatible = "ti,abb-v3";
+                       regulator-name = "abb_gpu";
+                       #address-cells = <0>;
+                       #size-cells = <0>;
+                       clocks = <&sys_clkin1>;
+                       ti,settling-time = <50>;
+                       ti,clock-cycles = <16>;
+
+                       reg = <0x4ae07de4 0x4>, <0x4ae07de8 0x4>,
+                             <0x4ae06010 0x4>, <0x4a003b08 0xc>,
+                             <0x4ae0c154 0x4>;
+                       reg-names = "setup-address", "control-address",
+                                   "int-address", "efuse-address",
+                                   "ldo-address";
+                       ti,tranxdone-status-mask = <0x10000000>;
+                       /* LDOVBBGPU_FBB_MUX_CTRL */
+                       ti,ldovbb-override-mask = <0x400>;
+                       /* LDOVBBGPU_FBB_VSET_OUT */
+                       ti,ldovbb-vset-mask = <0x1F>;
+
+                       /*
+                        * NOTE: only FBB mode used but actual vset will
+                        * determine final biasing
+                        */
+                       ti,abb_info = <
+                       /*uV            ABB     efuse   rbb_m fbb_m     vset_m*/
+                       1090000         0       0x0     0 0x02000000 0x01F00000
+                       1210000         0       0x4     0 0x02000000 0x01F00000
+                       1280000         0       0x8     0 0x02000000 0x01F00000
+                       >;
+               };
+
+               mcspi1: spi@48098000 {
+                       compatible = "ti,omap4-mcspi";
+                       reg = <0x48098000 0x200>;
+                       interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ti,hwmods = "mcspi1";
+                       ti,spi-num-cs = <4>;
+                       dmas = <&sdma 35>,
+                              <&sdma 36>,
+                              <&sdma 37>,
+                              <&sdma 38>,
+                              <&sdma 39>,
+                              <&sdma 40>,
+                              <&sdma 41>,
+                              <&sdma 42>;
+                       dma-names = "tx0", "rx0", "tx1", "rx1",
+                                   "tx2", "rx2", "tx3", "rx3";
+                       status = "disabled";
+               };
+
+               mcspi2: spi@4809a000 {
+                       compatible = "ti,omap4-mcspi";
+                       reg = <0x4809a000 0x200>;
+                       interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ti,hwmods = "mcspi2";
+                       ti,spi-num-cs = <2>;
+                       dmas = <&sdma 43>,
+                              <&sdma 44>,
+                              <&sdma 45>,
+                              <&sdma 46>;
+                       dma-names = "tx0", "rx0", "tx1", "rx1";
+                       status = "disabled";
+               };
+
+               mcspi3: spi@480b8000 {
+                       compatible = "ti,omap4-mcspi";
+                       reg = <0x480b8000 0x200>;
+                       interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ti,hwmods = "mcspi3";
+                       ti,spi-num-cs = <2>;
+                       dmas = <&sdma 15>, <&sdma 16>;
+                       dma-names = "tx0", "rx0";
+                       status = "disabled";
+               };
+
+               mcspi4: spi@480ba000 {
+                       compatible = "ti,omap4-mcspi";
+                       reg = <0x480ba000 0x200>;
+                       interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ti,hwmods = "mcspi4";
+                       ti,spi-num-cs = <1>;
+                       dmas = <&sdma 70>, <&sdma 71>;
+                       dma-names = "tx0", "rx0";
+                       status = "disabled";
+               };
+
+               qspi: qspi@4b300000 {
+                       compatible = "ti,dra7xxx-qspi";
+                       reg = <0x4b300000 0x100>;
+                       reg-names = "qspi_base";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ti,hwmods = "qspi";
+                       clocks = <&qspi_gfclk_div>;
+                       clock-names = "fck";
+                       num-cs = <4>;
+                       interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>;
+                       status = "disabled";
+               };
+
+               omap_control_sata: control-phy@4a002374 {
+                       compatible = "ti,control-phy-pipe3";
+                       reg = <0x4a002374 0x4>;
+                       reg-names = "power";
+                       clocks = <&sys_clkin1>;
+                       clock-names = "sysclk";
+               };
+
+               /* OCP2SCP3 */
+               ocp2scp@4a090000 {
+                       compatible = "ti,omap-ocp2scp";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+                       reg = <0x4a090000 0x20>;
+                       ti,hwmods = "ocp2scp3";
+                       sata_phy: phy@4A096000 {
+                               compatible = "ti,phy-pipe3-sata";
+                               reg = <0x4A096000 0x80>, /* phy_rx */
+                                     <0x4A096400 0x64>, /* phy_tx */
+                                     <0x4A096800 0x40>; /* pll_ctrl */
+                               reg-names = "phy_rx", "phy_tx", "pll_ctrl";
+                               ctrl-module = <&omap_control_sata>;
+                               clocks = <&sys_clkin1>, <&sata_ref_clk>;
+                               clock-names = "sysclk", "refclk";
+                               #phy-cells = <0>;
+                       };
+
+                       pcie1_phy: pciephy@4a094000 {
+                               compatible = "ti,phy-pipe3-pcie";
+                               reg = <0x4a094000 0x80>, /* phy_rx */
+                                     <0x4a094400 0x64>; /* phy_tx */
+                               reg-names = "phy_rx", "phy_tx";
+                               ctrl-module = <&omap_control_pcie1phy>;
+                               clocks = <&dpll_pcie_ref_ck>,
+                                        <&dpll_pcie_ref_m2ldo_ck>,
+                                        <&optfclk_pciephy1_32khz>,
+                                        <&optfclk_pciephy1_clk>,
+                                        <&optfclk_pciephy1_div_clk>,
+                                        <&optfclk_pciephy_div>;
+                               clock-names = "dpll_ref", "dpll_ref_m2",
+                                             "wkupclk", "refclk",
+                                             "div-clk", "phy-div";
+                               #phy-cells = <0>;
+                       };
+
+                       pcie2_phy: pciephy@4a095000 {
+                               compatible = "ti,phy-pipe3-pcie";
+                               reg = <0x4a095000 0x80>, /* phy_rx */
+                                     <0x4a095400 0x64>; /* phy_tx */
+                               reg-names = "phy_rx", "phy_tx";
+                               ctrl-module = <&omap_control_pcie2phy>;
+                               clocks = <&dpll_pcie_ref_ck>,
+                                        <&dpll_pcie_ref_m2ldo_ck>,
+                                        <&optfclk_pciephy2_32khz>,
+                                        <&optfclk_pciephy2_clk>,
+                                        <&optfclk_pciephy2_div_clk>,
+                                        <&optfclk_pciephy_div>;
+                               clock-names = "dpll_ref", "dpll_ref_m2",
+                                             "wkupclk", "refclk",
+                                             "div-clk", "phy-div";
+                               #phy-cells = <0>;
+                               status = "disabled";
+                       };
+               };
+
+               sata: sata@4a141100 {
+                       compatible = "snps,dwc-ahci";
+                       reg = <0x4a140000 0x1100>, <0x4a141100 0x7>;
+                       interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
+                       phys = <&sata_phy>;
+                       phy-names = "sata-phy";
+                       clocks = <&sata_ref_clk>;
+                       ti,hwmods = "sata";
+               };
+
+               omap_control_pcie1phy: control-phy@0x4a003c40 {
+                       compatible = "ti,control-phy-pcie";
+                       reg = <0x4a003c40 0x4>, <0x4a003c14 0x4>, <0x4a003c34 0x4>;
+                       reg-names = "power", "control_sma", "pcie_pcs";
+                       clocks = <&sys_clkin1>;
+                       clock-names = "sysclk";
+               };
+
+               omap_control_pcie2phy: control-pcie@0x4a003c44 {
+                       compatible = "ti,control-phy-pcie";
+                       reg = <0x4a003c44 0x4>, <0x4a003c14 0x4>, <0x4a003c34 0x4>;
+                       reg-names = "power", "control_sma", "pcie_pcs";
+                       clocks = <&sys_clkin1>;
+                       clock-names = "sysclk";
+                       status = "disabled";
+               };
+
+               rtc: rtc@48838000 {
+                       compatible = "ti,am3352-rtc";
+                       reg = <0x48838000 0x100>;
+                       interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "rtcss";
+                       clocks = <&sys_32k_ck>;
+               };
+
+               omap_control_usb2phy1: control-phy@4a002300 {
+                       compatible = "ti,control-phy-usb2";
+                       reg = <0x4a002300 0x4>;
+                       reg-names = "power";
+               };
+
+               omap_control_usb3phy1: control-phy@4a002370 {
+                       compatible = "ti,control-phy-pipe3";
+                       reg = <0x4a002370 0x4>;
+                       reg-names = "power";
+               };
+
+               omap_control_usb2phy2: control-phy@0x4a002e74 {
+                       compatible = "ti,control-phy-usb2-dra7";
+                       reg = <0x4a002e74 0x4>;
+                       reg-names = "power";
+               };
+
+               /* OCP2SCP1 */
+               ocp2scp@4a080000 {
+                       compatible = "ti,omap-ocp2scp";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+                       reg = <0x4a080000 0x20>;
+                       ti,hwmods = "ocp2scp1";
+
+                       usb2_phy1: phy@4a084000 {
+                               compatible = "ti,omap-usb2";
+                               reg = <0x4a084000 0x400>;
+                               ctrl-module = <&omap_control_usb2phy1>;
+                               clocks = <&usb_phy1_always_on_clk32k>,
+                                        <&usb_otg_ss1_refclk960m>;
+                               clock-names =   "wkupclk",
+                                               "refclk";
+                               #phy-cells = <0>;
+                       };
+
+                       usb2_phy2: phy@4a085000 {
+                               compatible = "ti,omap-usb2";
+                               reg = <0x4a085000 0x400>;
+                               ctrl-module = <&omap_control_usb2phy2>;
+                               clocks = <&usb_phy2_always_on_clk32k>,
+                                        <&usb_otg_ss2_refclk960m>;
+                               clock-names =   "wkupclk",
+                                               "refclk";
+                               #phy-cells = <0>;
+                       };
+
+                       usb3_phy1: phy@4a084400 {
+                               compatible = "ti,omap-usb3";
+                               reg = <0x4a084400 0x80>,
+                                     <0x4a084800 0x64>,
+                                     <0x4a084c00 0x40>;
+                               reg-names = "phy_rx", "phy_tx", "pll_ctrl";
+                               ctrl-module = <&omap_control_usb3phy1>;
+                               clocks = <&usb_phy3_always_on_clk32k>,
+                                        <&sys_clkin1>,
+                                        <&usb_otg_ss1_refclk960m>;
+                               clock-names =   "wkupclk",
+                                               "sysclk",
+                                               "refclk";
+                               #phy-cells = <0>;
+                       };
+               };
+
+               omap_dwc3_1: omap_dwc3_1@48880000 {
+                       compatible = "ti,dwc3";
+                       ti,hwmods = "usb_otg_ss1";
+                       reg = <0x48880000 0x10000>;
+                       interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       utmi-mode = <2>;
+                       ranges;
+                       usb1: usb@48890000 {
+                               compatible = "snps,dwc3";
+                               reg = <0x48890000 0x17000>;
+                               interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
+                               phys = <&usb2_phy1>, <&usb3_phy1>;
+                               phy-names = "usb2-phy", "usb3-phy";
+                               tx-fifo-resize;
+                               maximum-speed = "super-speed";
+                               dr_mode = "otg";
+                               snps,dis_u3_susphy_quirk;
+                               snps,dis_u2_susphy_quirk;
+                       };
+               };
+
+               omap_dwc3_2: omap_dwc3_2@488c0000 {
+                       compatible = "ti,dwc3";
+                       ti,hwmods = "usb_otg_ss2";
+                       reg = <0x488c0000 0x10000>;
+                       interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       utmi-mode = <2>;
+                       ranges;
+                       usb2: usb@488d0000 {
+                               compatible = "snps,dwc3";
+                               reg = <0x488d0000 0x17000>;
+                               interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
+                               phys = <&usb2_phy2>;
+                               phy-names = "usb2-phy";
+                               tx-fifo-resize;
+                               maximum-speed = "high-speed";
+                               dr_mode = "otg";
+                               snps,dis_u3_susphy_quirk;
+                               snps,dis_u2_susphy_quirk;
+                       };
+               };
+
+               /* IRQ for DWC3_3 and DWC3_4 need IRQ crossbar */
+               omap_dwc3_3: omap_dwc3_3@48900000 {
+                       compatible = "ti,dwc3";
+                       ti,hwmods = "usb_otg_ss3";
+                       reg = <0x48900000 0x10000>;
+                       interrupts = <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       utmi-mode = <2>;
+                       ranges;
+                       status = "disabled";
+                       usb3: usb@48910000 {
+                               compatible = "snps,dwc3";
+                               reg = <0x48910000 0x17000>;
+                               interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
+                               tx-fifo-resize;
+                               maximum-speed = "high-speed";
+                               dr_mode = "otg";
+                               snps,dis_u3_susphy_quirk;
+                               snps,dis_u2_susphy_quirk;
+                       };
+               };
+
+               elm: elm@48078000 {
+                       compatible = "ti,am3352-elm";
+                       reg = <0x48078000 0xfc0>;      /* device IO registers */
+                       interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "elm";
+                       status = "disabled";
+               };
+
+               gpmc: gpmc@50000000 {
+                       compatible = "ti,am3352-gpmc";
+                       ti,hwmods = "gpmc";
+                       reg = <0x50000000 0x37c>;      /* device IO registers */
+                       interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
+                       gpmc,num-cs = <8>;
+                       gpmc,num-waitpins = <2>;
+                       #address-cells = <2>;
+                       #size-cells = <1>;
+                       status = "disabled";
+               };
+
+               atl: atl@4843c000 {
+                       compatible = "ti,dra7-atl";
+                       reg = <0x4843c000 0x3ff>;
+                       ti,hwmods = "atl";
+                       ti,provided-clocks = <&atl_clkin0_ck>, <&atl_clkin1_ck>,
+                                            <&atl_clkin2_ck>, <&atl_clkin3_ck>;
+                       clocks = <&atl_gfclk_mux>;
+                       clock-names = "fck";
+                       status = "disabled";
+               };
+
+               crossbar_mpu: crossbar@4a002a48 {
+                       compatible = "ti,irq-crossbar";
+                       reg = <0x4a002a48 0x130>;
+                       interrupt-controller;
+                       interrupt-parent = <&wakeupgen>;
+                       #interrupt-cells = <3>;
+                       ti,max-irqs = <160>;
+                       ti,max-crossbar-sources = <MAX_SOURCES>;
+                       ti,reg-size = <2>;
+                       ti,irqs-reserved = <0 1 2 3 5 6 131 132>;
+                       ti,irqs-skip = <10 133 139 140>;
+                       ti,irqs-safe-map = <0>;
+               };
+
+               mac: ethernet@4a100000 {
+                       compatible = "ti,cpsw";
+                       ti,hwmods = "gmac";
+                       clocks = <&dpll_gmac_ck>, <&gmac_gmii_ref_clk_div>;
+                       clock-names = "fck", "cpts";
+                       cpdma_channels = <8>;
+                       ale_entries = <1024>;
+                       bd_ram_size = <0x2000>;
+                       no_bd_ram = <0>;
+                       rx_descs = <64>;
+                       mac_control = <0x20>;
+                       slaves = <2>;
+                       active_slave = <0>;
+                       cpts_clock_mult = <0x80000000>;
+                       cpts_clock_shift = <29>;
+                       reg = <0x48484000 0x1000
+                              0x48485200 0x2E00>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       /*
+                        * rx_thresh_pend
+                        * rx_pend
+                        * tx_pend
+                        * misc_pend
+                        */
+                       interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>;
+                       ranges;
+                       status = "disabled";
+
+                       davinci_mdio: mdio@48485000 {
+                               compatible = "ti,davinci_mdio";
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               ti,hwmods = "davinci_mdio";
+                               bus_freq = <1000000>;
+                               reg = <0x48485000 0x100>;
+                       };
+
+                       cpsw_emac0: slave@48480200 {
+                               /* Filled in by U-Boot */
+                               mac-address = [ 00 00 00 00 00 00 ];
+                       };
+
+                       cpsw_emac1: slave@48480300 {
+                               /* Filled in by U-Boot */
+                               mac-address = [ 00 00 00 00 00 00 ];
+                       };
+
+                       phy_sel: cpsw-phy-sel@4a002554 {
+                               compatible = "ti,dra7xx-cpsw-phy-sel";
+                               reg= <0x4a002554 0x4>;
+                               reg-names = "gmii-sel";
+                       };
+               };
+
+               dcan1: can@481cc000 {
+                       compatible = "ti,dra7-d_can";
+                       ti,hwmods = "dcan1";
+                       reg = <0x4ae3c000 0x2000>;
+                       syscon-raminit = <&scm_conf 0x558 0>;
+                       interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&dcan1_sys_clk_mux>;
+                       status = "disabled";
+               };
+
+               dcan2: can@481d0000 {
+                       compatible = "ti,dra7-d_can";
+                       ti,hwmods = "dcan2";
+                       reg = <0x48480000 0x2000>;
+                       syscon-raminit = <&scm_conf 0x558 1>;
+                       interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&sys_clkin1>;
+                       status = "disabled";
+               };
+
+               dss: dss@58000000 {
+                       compatible = "ti,dra7-dss";
+                       /* 'reg' defined in dra72x.dtsi and dra74x.dtsi */
+                       /* 'clocks' defined in dra72x.dtsi and dra74x.dtsi */
+                       status = "disabled";
+                       ti,hwmods = "dss_core";
+                       /* CTRL_CORE_DSS_PLL_CONTROL */
+                       syscon-pll-ctrl = <&scm_conf 0x538>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+
+                       dispc@58001000 {
+                               compatible = "ti,dra7-dispc";
+                               reg = <0x58001000 0x1000>;
+                               interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
+                               ti,hwmods = "dss_dispc";
+                               clocks = <&dss_dss_clk>;
+                               clock-names = "fck";
+                               /* CTRL_CORE_SMA_SW_1 */
+                               syscon-pol = <&scm_conf 0x534>;
+                       };
+
+                       hdmi: encoder@58060000 {
+                               compatible = "ti,dra7-hdmi";
+                               reg = <0x58040000 0x200>,
+                                     <0x58040200 0x80>,
+                                     <0x58040300 0x80>,
+                                     <0x58060000 0x19000>;
+                               reg-names = "wp", "pll", "phy", "core";
+                               interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
+                               status = "disabled";
+                               ti,hwmods = "dss_hdmi";
+                               clocks = <&dss_48mhz_clk>, <&dss_hdmi_clk>;
+                               clock-names = "fck", "sys_clk";
+                       };
+               };
+       };
+
+       thermal_zones: thermal-zones {
+               #include "omap4-cpu-thermal.dtsi"
+               #include "omap5-gpu-thermal.dtsi"
+               #include "omap5-core-thermal.dtsi"
+       };
+
+};
+
+&cpu_thermal {
+       polling-delay = <500>; /* milliseconds */
+};
+
+/include/ "dra7xx-clocks.dtsi"
diff --git a/arch/arm/dts/dra72-evm.dts b/arch/arm/dts/dra72-evm.dts
new file mode 100644 (file)
index 0000000..efb544c
--- /dev/null
@@ -0,0 +1,683 @@
+/*
+ * Copyright (C) 2014 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.
+ */
+/dts-v1/;
+
+#include "dra72x.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+       model = "TI DRA722";
+       compatible = "ti,dra72-evm", "ti,dra722", "ti,dra72", "ti,dra7";
+
+       chosen {
+               stdout-path = &uart1;
+       };
+
+       memory {
+               device_type = "memory";
+               reg = <0x80000000 0x40000000>; /* 1024 MB */
+       };
+
+       aliases {
+               display0 = &hdmi0;
+       };
+
+       evm_3v3: fixedregulator-evm_3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "evm_3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+
+       extcon_usb1: extcon_usb1 {
+               compatible = "linux,extcon-usb-gpio";
+               id-gpio = <&pcf_gpio_21 1 GPIO_ACTIVE_HIGH>;
+       };
+
+       extcon_usb2: extcon_usb2 {
+               compatible = "linux,extcon-usb-gpio";
+               id-gpio = <&pcf_gpio_21 2 GPIO_ACTIVE_HIGH>;
+       };
+
+       hdmi0: connector {
+               compatible = "hdmi-connector";
+               label = "hdmi";
+
+               type = "a";
+
+               port {
+                       hdmi_connector_in: endpoint {
+                               remote-endpoint = <&tpd12s015_out>;
+                       };
+               };
+       };
+
+       tpd12s015: encoder {
+               compatible = "ti,tpd12s015";
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&tpd12s015_pins>;
+
+               gpios = <&pcf_hdmi 4 GPIO_ACTIVE_HIGH>, /* P4, CT CP HPD */
+                       <&pcf_hdmi 5 GPIO_ACTIVE_HIGH>, /* P5, LS OE */
+                       <&gpio7 12 GPIO_ACTIVE_HIGH>;   /* gpio7_12/sp1_cs2, HPD */
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+
+                               tpd12s015_in: endpoint {
+                                       remote-endpoint = <&hdmi_out>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <1>;
+
+                               tpd12s015_out: endpoint {
+                                       remote-endpoint = <&hdmi_connector_in>;
+                               };
+                       };
+               };
+       };
+};
+
+&dra7_pmx_core {
+       i2c1_pins: pinmux_i2c1_pins {
+               pinctrl-single,pins = <
+                       0x400 (PIN_INPUT | MUX_MODE0) /* i2c1_sda.i2c1_sda */
+                       0x404 (PIN_INPUT | MUX_MODE0) /* i2c1_scl.i2c1_scl */
+               >;
+       };
+
+       i2c5_pins: pinmux_i2c5_pins {
+               pinctrl-single,pins = <
+                       0x2b4 (PIN_INPUT | MUX_MODE10) /* mcasp1_axr0.i2c5_sda */
+                       0x2b8 (PIN_INPUT | MUX_MODE10) /* mcasp1_axr1.i2c5_scl */
+               >;
+       };
+
+       nand_default: nand_default {
+               pinctrl-single,pins = <
+                       0x0     (PIN_INPUT  | MUX_MODE0) /* gpmc_ad0 */
+                       0x4     (PIN_INPUT  | MUX_MODE0) /* gpmc_ad1 */
+                       0x8     (PIN_INPUT  | MUX_MODE0) /* gpmc_ad2 */
+                       0xc     (PIN_INPUT  | MUX_MODE0) /* gpmc_ad3 */
+                       0x10    (PIN_INPUT  | MUX_MODE0) /* gpmc_ad4 */
+                       0x14    (PIN_INPUT  | MUX_MODE0) /* gpmc_ad5 */
+                       0x18    (PIN_INPUT  | MUX_MODE0) /* gpmc_ad6 */
+                       0x1c    (PIN_INPUT  | MUX_MODE0) /* gpmc_ad7 */
+                       0x20    (PIN_INPUT  | MUX_MODE0) /* gpmc_ad8 */
+                       0x24    (PIN_INPUT  | MUX_MODE0) /* gpmc_ad9 */
+                       0x28    (PIN_INPUT  | MUX_MODE0) /* gpmc_ad10 */
+                       0x2c    (PIN_INPUT  | MUX_MODE0) /* gpmc_ad11 */
+                       0x30    (PIN_INPUT  | MUX_MODE0) /* gpmc_ad12 */
+                       0x34    (PIN_INPUT  | MUX_MODE0) /* gpmc_ad13 */
+                       0x38    (PIN_INPUT  | MUX_MODE0) /* gpmc_ad14 */
+                       0x3c    (PIN_INPUT  | MUX_MODE0) /* gpmc_ad15 */
+                       0xb4    (PIN_OUTPUT | MUX_MODE0) /* gpmc_cs0 */
+                       0xc4    (PIN_OUTPUT | MUX_MODE0) /* gpmc_advn_ale */
+                       0xcc    (PIN_OUTPUT | MUX_MODE0) /* gpmc_wen */
+                       0xc8    (PIN_OUTPUT | MUX_MODE0) /* gpmc_oen_ren */
+                       0xd0    (PIN_OUTPUT | MUX_MODE0) /* gpmc_ben0 */
+                       0xd8    (PIN_INPUT  | MUX_MODE0) /* gpmc_wait0 */
+               >;
+       };
+
+       usb1_pins: pinmux_usb1_pins {
+               pinctrl-single,pins = <
+                       0x280 (PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
+               >;
+       };
+
+       usb2_pins: pinmux_usb2_pins {
+               pinctrl-single,pins = <
+                       0x284 (PIN_INPUT_SLEW | MUX_MODE0) /* usb2_drvvbus */
+               >;
+       };
+
+       tps65917_pins_default: tps65917_pins_default {
+               pinctrl-single,pins = <
+                       0x424 (PIN_INPUT_PULLUP | MUX_MODE1) /* wakeup3.sys_nirq1 */
+               >;
+       };
+
+       mmc1_pins_default: mmc1_pins_default {
+               pinctrl-single,pins = <
+                       0x36c (PIN_INPUT | MUX_MODE14)  /* mmc1sdcd.gpio219 */
+                       0x354 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
+                       0x358 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
+                       0x35c (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
+                       0x360 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
+                       0x364 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
+                       0x368 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
+               >;
+       };
+
+       mmc2_pins_default: mmc2_pins_default {
+               pinctrl-single,pins = <
+                       0x9c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
+                       0xb0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
+                       0xa0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
+                       0xa4 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
+                       0xa8 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
+                       0xac (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
+                       0x8c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
+                       0x90 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
+                       0x94 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
+                       0x98 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
+               >;
+       };
+
+       dcan1_pins_default: dcan1_pins_default {
+               pinctrl-single,pins = <
+                       0x3d0   (PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */
+                       0x418   (PULL_UP | MUX_MODE1)   /* wakeup0.dcan1_rx */
+               >;
+       };
+
+       dcan1_pins_sleep: dcan1_pins_sleep {
+               pinctrl-single,pins = <
+                       0x3d0   (MUX_MODE15 | PULL_UP)  /* dcan1_tx.off */
+                       0x418   (MUX_MODE15 | PULL_UP)  /* wakeup0.off */
+               >;
+       };
+
+       qspi1_pins: pinmux_qspi1_pins {
+               pinctrl-single,pins = <
+                       0x74 (PIN_OUTPUT | MUX_MODE1)   /* gpmc_a13.qspi1_rtclk */
+                       0x78 (PIN_INPUT | MUX_MODE1)    /* gpmc_a14.qspi1_d3 */
+                       0x7c (PIN_INPUT | MUX_MODE1)    /* gpmc_a15.qspi1_d2 */
+                       0x80 (PIN_INPUT | MUX_MODE1)    /* gpmc_a16.qspi1_d1 */
+                       0x84 (PIN_INPUT | MUX_MODE1)    /* gpmc_a17.qspi1_d0 */
+                       0x88 (PIN_OUTPUT | MUX_MODE1)   /* qpmc_a18.qspi1_sclk */
+                       0xb8 (PIN_OUTPUT | MUX_MODE1)   /* gpmc_cs2.qspi1_cs0 */
+               >;
+       };
+
+       hdmi_pins: pinmux_hdmi_pins {
+               pinctrl-single,pins = <
+                       0x408 (PIN_INPUT | MUX_MODE1) /* i2c2_sda.hdmi1_ddc_scl */
+                       0x40c (PIN_INPUT | MUX_MODE1) /* i2c2_scl.hdmi1_ddc_sda */
+               >;
+       };
+
+       tpd12s015_pins: pinmux_tpd12s015_pins {
+               pinctrl-single,pins = <
+                       0x3b8 (PIN_INPUT_PULLDOWN | MUX_MODE14) /* gpio7_12 HPD */
+               >;
+       };
+};
+
+&i2c1 {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c1_pins>;
+       clock-frequency = <400000>;
+
+       tps65917: tps65917@58 {
+               compatible = "ti,tps65917";
+               reg = <0x58>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&tps65917_pins_default>;
+
+               interrupts = <GIC_SPI 2 IRQ_TYPE_NONE>;  /* IRQ_SYS_1N */
+               interrupt-controller;
+               #interrupt-cells = <2>;
+
+               ti,system-power-controller;
+
+               tps65917_pmic {
+                       compatible = "ti,tps65917-pmic";
+
+                       regulators {
+                               smps1_reg: smps1 {
+                                       /* VDD_MPU */
+                                       regulator-name = "smps1";
+                                       regulator-min-microvolt = <850000>;
+                                       regulator-max-microvolt = <1250000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                               };
+
+                               smps2_reg: smps2 {
+                                       /* VDD_CORE */
+                                       regulator-name = "smps2";
+                                       regulator-min-microvolt = <850000>;
+                                       regulator-max-microvolt = <1060000>;
+                                       regulator-boot-on;
+                                       regulator-always-on;
+                               };
+
+                               smps3_reg: smps3 {
+                                       /* VDD_GPU IVA DSPEVE */
+                                       regulator-name = "smps3";
+                                       regulator-min-microvolt = <850000>;
+                                       regulator-max-microvolt = <1250000>;
+                                       regulator-boot-on;
+                                       regulator-always-on;
+                               };
+
+                               smps4_reg: smps4 {
+                                       /* VDDS1V8 */
+                                       regulator-name = "smps4";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                               };
+
+                               smps5_reg: smps5 {
+                                       /* VDD_DDR */
+                                       regulator-name = "smps5";
+                                       regulator-min-microvolt = <1350000>;
+                                       regulator-max-microvolt = <1350000>;
+                                       regulator-boot-on;
+                                       regulator-always-on;
+                               };
+
+                               ldo1_reg: ldo1 {
+                                       /* LDO1_OUT --> SDIO  */
+                                       regulator-name = "ldo1";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <3300000>;
+                                       regulator-boot-on;
+                               };
+
+                               ldo2_reg: ldo2 {
+                                       /* LDO2_OUT --> TP1017 (UNUSED)  */
+                                       regulator-name = "ldo2";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <3300000>;
+                               };
+
+                               ldo3_reg: ldo3 {
+                                       /* VDDA_1V8_PHY */
+                                       regulator-name = "ldo3";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-boot-on;
+                                       regulator-always-on;
+                               };
+
+                               ldo5_reg: ldo5 {
+                                       /* VDDA_1V8_PLL */
+                                       regulator-name = "ldo5";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                               };
+
+                               ldo4_reg: ldo4 {
+                                       /* VDDA_3V_USB: VDDA_USBHS33 */
+                                       regulator-name = "ldo4";
+                                       regulator-min-microvolt = <3300000>;
+                                       regulator-max-microvolt = <3300000>;
+                                       regulator-boot-on;
+                               };
+                       };
+               };
+
+               tps65917_power_button {
+                       compatible = "ti,palmas-pwrbutton";
+                       interrupt-parent = <&tps65917>;
+                       interrupts = <1 IRQ_TYPE_NONE>;
+                       wakeup-source;
+                       ti,palmas-long-press-seconds = <6>;
+               };
+       };
+
+       pcf_gpio_21: gpio@21 {
+               compatible = "ti,pcf8575";
+               reg = <0x21>;
+               lines-initial-states = <0x1408>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               interrupt-parent = <&gpio6>;
+               interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+};
+
+&i2c5 {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c5_pins>;
+       clock-frequency = <400000>;
+
+       pcf_hdmi: pcf8575@26 {
+               compatible = "nxp,pcf8575";
+               reg = <0x26>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               /*
+                * initial state is used here to keep the mdio interface
+                * selected on RU89 through SEL_VIN4_MUX_S0, VIN2_S1 and
+                * VIN2_S0 driven high otherwise Ethernet stops working
+                * VIN6_SEL_S0 is low, thus selecting McASP3 over VIN6
+                */
+               lines-initial-states = <0x0f2b>;
+       };
+};
+
+&uart1 {
+       status = "okay";
+};
+
+&elm {
+       status = "okay";
+};
+
+&gpmc {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&nand_default>;
+       ranges = <0 0 0 0x01000000>;    /* minimum GPMC partition = 16MB */
+       nand@0,0 {
+               /* To use NAND, DIP switch SW5 must be set like so:
+                * SW5.1 (NAND_SELn) = ON (LOW)
+                * SW5.9 (GPMC_WPN) = OFF (HIGH)
+                */
+               reg = <0 0 4>;          /* device IO registers */
+               ti,nand-ecc-opt = "bch8";
+               ti,elm-id = <&elm>;
+               nand-bus-width = <16>;
+               gpmc,device-width = <2>;
+               gpmc,sync-clk-ps = <0>;
+               gpmc,cs-on-ns = <0>;
+               gpmc,cs-rd-off-ns = <80>;
+               gpmc,cs-wr-off-ns = <80>;
+               gpmc,adv-on-ns = <0>;
+               gpmc,adv-rd-off-ns = <60>;
+               gpmc,adv-wr-off-ns = <60>;
+               gpmc,we-on-ns = <10>;
+               gpmc,we-off-ns = <50>;
+               gpmc,oe-on-ns = <4>;
+               gpmc,oe-off-ns = <40>;
+               gpmc,access-ns = <40>;
+               gpmc,wr-access-ns = <80>;
+               gpmc,rd-cycle-ns = <80>;
+               gpmc,wr-cycle-ns = <80>;
+               gpmc,bus-turnaround-ns = <0>;
+               gpmc,cycle2cycle-delay-ns = <0>;
+               gpmc,clk-activation-ns = <0>;
+               gpmc,wait-monitoring-ns = <0>;
+               gpmc,wr-data-mux-bus-ns = <0>;
+               /* MTD partition table */
+               /* All SPL-* partitions are sized to minimal length
+                * which can be independently programmable. For
+                * NAND flash this is equal to size of erase-block */
+               #address-cells = <1>;
+               #size-cells = <1>;
+               partition@0 {
+                       label = "NAND.SPL";
+                       reg = <0x00000000 0x000020000>;
+               };
+               partition@1 {
+                       label = "NAND.SPL.backup1";
+                       reg = <0x00020000 0x00020000>;
+               };
+               partition@2 {
+                       label = "NAND.SPL.backup2";
+                       reg = <0x00040000 0x00020000>;
+               };
+               partition@3 {
+                       label = "NAND.SPL.backup3";
+                       reg = <0x00060000 0x00020000>;
+               };
+               partition@4 {
+                       label = "NAND.u-boot-spl-os";
+                       reg = <0x00080000 0x00040000>;
+               };
+               partition@5 {
+                       label = "NAND.u-boot";
+                       reg = <0x000c0000 0x00100000>;
+               };
+               partition@6 {
+                       label = "NAND.u-boot-env";
+                       reg = <0x001c0000 0x00020000>;
+               };
+               partition@7 {
+                       label = "NAND.u-boot-env.backup1";
+                       reg = <0x001e0000 0x00020000>;
+               };
+               partition@8 {
+                       label = "NAND.kernel";
+                       reg = <0x00200000 0x00800000>;
+               };
+               partition@9 {
+                       label = "NAND.file-system";
+                       reg = <0x00a00000 0x0f600000>;
+               };
+       };
+};
+
+&usb2_phy1 {
+       phy-supply = <&ldo4_reg>;
+};
+
+&usb2_phy2 {
+       phy-supply = <&ldo4_reg>;
+};
+
+&omap_dwc3_1 {
+       extcon = <&extcon_usb1>;
+};
+
+&omap_dwc3_2 {
+       extcon = <&extcon_usb2>;
+};
+
+&usb1 {
+       dr_mode = "peripheral";
+       pinctrl-names = "default";
+       pinctrl-0 = <&usb1_pins>;
+};
+
+&usb2 {
+       dr_mode = "host";
+       pinctrl-names = "default";
+       pinctrl-0 = <&usb2_pins>;
+};
+
+&mmc1 {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc1_pins_default>;
+
+       vmmc-supply = <&ldo1_reg>;
+       bus-width = <4>;
+       /*
+        * SDCD signal is not being used here - using the fact that GPIO mode
+        * is a viable alternative
+        */
+       cd-gpios = <&gpio6 27 0>;
+};
+
+&mmc2 {
+       /* SW5-3 in ON position */
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc2_pins_default>;
+
+       vmmc-supply = <&evm_3v3>;
+       bus-width = <8>;
+       ti,non-removable;
+};
+
+&dra7_pmx_core {
+       cpsw_default: cpsw_default {
+               pinctrl-single,pins = <
+                       /* Slave 2 */
+                       0x198 (PIN_OUTPUT | MUX_MODE3)  /* vin2a_d12.rgmii1_txc */
+                       0x19c (PIN_OUTPUT | MUX_MODE3)  /* vin2a_d13.rgmii1_tctl */
+                       0x1a0 (PIN_OUTPUT | MUX_MODE3)  /* vin2a_d14.rgmii1_td3 */
+                       0x1a4 (PIN_OUTPUT | MUX_MODE3)  /* vin2a_d15.rgmii1_td2 */
+                       0x1a8 (PIN_OUTPUT | MUX_MODE3)  /* vin2a_d16.rgmii1_td1 */
+                       0x1ac (PIN_OUTPUT | MUX_MODE3)  /* vin2a_d17.rgmii1_td0 */
+                       0x1b0 (PIN_INPUT | MUX_MODE3)   /* vin2a_d18.rgmii1_rclk */
+                       0x1b4 (PIN_INPUT | MUX_MODE3)   /* vin2a_d19.rgmii1_rctl */
+                       0x1b8 (PIN_INPUT | MUX_MODE3)   /* vin2a_d20.rgmii1_rd3 */
+                       0x1bc (PIN_INPUT | MUX_MODE3)   /* vin2a_d21.rgmii1_rd2 */
+                       0x1c0 (PIN_INPUT | MUX_MODE3)   /* vin2a_d22.rgmii1_rd1 */
+                       0x1c4 (PIN_INPUT | MUX_MODE3)   /* vin2a_d23.rgmii1_rd0 */
+               >;
+
+       };
+
+       cpsw_sleep: cpsw_sleep {
+               pinctrl-single,pins = <
+                       /* Slave 2 */
+                       0x198 (MUX_MODE15)
+                       0x19c (MUX_MODE15)
+                       0x1a0 (MUX_MODE15)
+                       0x1a4 (MUX_MODE15)
+                       0x1a8 (MUX_MODE15)
+                       0x1ac (MUX_MODE15)
+                       0x1b0 (MUX_MODE15)
+                       0x1b4 (MUX_MODE15)
+                       0x1b8 (MUX_MODE15)
+                       0x1bc (MUX_MODE15)
+                       0x1c0 (MUX_MODE15)
+                       0x1c4 (MUX_MODE15)
+               >;
+       };
+
+       davinci_mdio_default: davinci_mdio_default {
+               pinctrl-single,pins = <
+                       /* MDIO */
+                       0x23c (PIN_OUTPUT_PULLUP | MUX_MODE0)   /* mdio_d.mdio_d */
+                       0x240 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mdio_clk.mdio_clk */
+               >;
+       };
+
+       davinci_mdio_sleep: davinci_mdio_sleep {
+               pinctrl-single,pins = <
+                       0x23c (MUX_MODE15)
+                       0x240 (MUX_MODE15)
+               >;
+       };
+};
+
+&mac {
+       status = "okay";
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&cpsw_default>;
+       pinctrl-1 = <&cpsw_sleep>;
+};
+
+&cpsw_emac1 {
+       phy_id = <&davinci_mdio>, <3>;
+       phy-mode = "rgmii";
+};
+
+&davinci_mdio {
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&davinci_mdio_default>;
+       pinctrl-1 = <&davinci_mdio_sleep>;
+       active_slave = <1>;
+};
+
+&dcan1 {
+       status = "ok";
+       pinctrl-names = "default", "sleep", "active";
+       pinctrl-0 = <&dcan1_pins_sleep>;
+       pinctrl-1 = <&dcan1_pins_sleep>;
+       pinctrl-2 = <&dcan1_pins_default>;
+};
+
+&qspi {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&qspi1_pins>;
+
+       spi-max-frequency = <48000000>;
+       m25p80@0 {
+               compatible = "s25fl256s1";
+               spi-max-frequency = <48000000>;
+               reg = <0>;
+               spi-tx-bus-width = <1>;
+               spi-rx-bus-width = <4>;
+               spi-cpol;
+               spi-cpha;
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               /* MTD partition table.
+                * The ROM checks the first four physical blocks
+                * for a valid file to boot and the flash here is
+                * 64KiB block size.
+                */
+               partition@0 {
+                       label = "QSPI.SPL";
+                       reg = <0x00000000 0x000010000>;
+               };
+               partition@1 {
+                       label = "QSPI.SPL.backup1";
+                       reg = <0x00010000 0x00010000>;
+               };
+               partition@2 {
+                       label = "QSPI.SPL.backup2";
+                       reg = <0x00020000 0x00010000>;
+               };
+               partition@3 {
+                       label = "QSPI.SPL.backup3";
+                       reg = <0x00030000 0x00010000>;
+               };
+               partition@4 {
+                       label = "QSPI.u-boot";
+                       reg = <0x00040000 0x00100000>;
+               };
+               partition@5 {
+                       label = "QSPI.u-boot-spl-os";
+                       reg = <0x00140000 0x00080000>;
+               };
+               partition@6 {
+                       label = "QSPI.u-boot-env";
+                       reg = <0x001c0000 0x00010000>;
+               };
+               partition@7 {
+                       label = "QSPI.u-boot-env.backup1";
+                       reg = <0x001d0000 0x0010000>;
+               };
+               partition@8 {
+                       label = "QSPI.kernel";
+                       reg = <0x001e0000 0x0800000>;
+               };
+               partition@9 {
+                       label = "QSPI.file-system";
+                       reg = <0x009e0000 0x01620000>;
+               };
+       };
+};
+
+&dss {
+       status = "ok";
+
+       vdda_video-supply = <&ldo5_reg>;
+};
+
+&hdmi {
+       status = "ok";
+       vdda-supply = <&ldo3_reg>;
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&hdmi_pins>;
+
+       port {
+               hdmi_out: endpoint {
+                       remote-endpoint = <&tpd12s015_in>;
+               };
+       };
+};
diff --git a/arch/arm/dts/dra72x.dtsi b/arch/arm/dts/dra72x.dtsi
new file mode 100644 (file)
index 0000000..eaca143
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2014 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.
+ * Based on "omap4.dtsi"
+ */
+
+#include "dra7.dtsi"
+
+/ {
+       compatible = "ti,dra722", "ti,dra72", "ti,dra7";
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu0: cpu@0 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a15";
+                       reg = <0>;
+
+                       /* cooling options */
+                       cooling-min-level = <0>;
+                       cooling-max-level = <2>;
+                       #cooling-cells = <2>; /* min followed by max */
+               };
+       };
+
+       pmu {
+               compatible = "arm,cortex-a15-pmu";
+               interrupt-parent = <&wakeupgen>;
+               interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
+       };
+};
+
+&dss {
+       reg = <0x58000000 0x80>,
+             <0x58004054 0x4>,
+             <0x58004300 0x20>;
+       reg-names = "dss", "pll1_clkctrl", "pll1";
+
+       clocks = <&dss_dss_clk>,
+                <&dss_video1_clk>;
+       clock-names = "fck", "video1_clk";
+};
diff --git a/arch/arm/dts/dra7xx-clocks.dtsi b/arch/arm/dts/dra7xx-clocks.dtsi
new file mode 100644 (file)
index 0000000..357bede
--- /dev/null
@@ -0,0 +1,2149 @@
+/*
+ * Device Tree Source for DRA7xx clock data
+ *
+ * Copyright (C) 2013 Texas Instruments, Inc.
+ *
+ * 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.
+ */
+&cm_core_aon_clocks {
+       atl_clkin0_ck: atl_clkin0_ck {
+               #clock-cells = <0>;
+               compatible = "ti,dra7-atl-clock";
+               clocks = <&atl_gfclk_mux>;
+       };
+
+       atl_clkin1_ck: atl_clkin1_ck {
+               #clock-cells = <0>;
+               compatible = "ti,dra7-atl-clock";
+               clocks = <&atl_gfclk_mux>;
+       };
+
+       atl_clkin2_ck: atl_clkin2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,dra7-atl-clock";
+               clocks = <&atl_gfclk_mux>;
+       };
+
+       atl_clkin3_ck: atl_clkin3_ck {
+               #clock-cells = <0>;
+               compatible = "ti,dra7-atl-clock";
+               clocks = <&atl_gfclk_mux>;
+       };
+
+       hdmi_clkin_ck: hdmi_clkin_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <0>;
+       };
+
+       mlb_clkin_ck: mlb_clkin_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <0>;
+       };
+
+       mlbp_clkin_ck: mlbp_clkin_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <0>;
+       };
+
+       pciesref_acs_clk_ck: pciesref_acs_clk_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <100000000>;
+       };
+
+       ref_clkin0_ck: ref_clkin0_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <0>;
+       };
+
+       ref_clkin1_ck: ref_clkin1_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <0>;
+       };
+
+       ref_clkin2_ck: ref_clkin2_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <0>;
+       };
+
+       ref_clkin3_ck: ref_clkin3_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <0>;
+       };
+
+       rmii_clk_ck: rmii_clk_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <0>;
+       };
+
+       sdvenc_clkin_ck: sdvenc_clkin_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <0>;
+       };
+
+       secure_32k_clk_src_ck: secure_32k_clk_src_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <32768>;
+       };
+
+       sys_32k_ck: sys_32k_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <32768>;
+       };
+
+       virt_12000000_ck: virt_12000000_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <12000000>;
+       };
+
+       virt_13000000_ck: virt_13000000_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <13000000>;
+       };
+
+       virt_16800000_ck: virt_16800000_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <16800000>;
+       };
+
+       virt_19200000_ck: virt_19200000_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <19200000>;
+       };
+
+       virt_20000000_ck: virt_20000000_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <20000000>;
+       };
+
+       virt_26000000_ck: virt_26000000_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <26000000>;
+       };
+
+       virt_27000000_ck: virt_27000000_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <27000000>;
+       };
+
+       virt_38400000_ck: virt_38400000_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <38400000>;
+       };
+
+       sys_clkin2: sys_clkin2 {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <22579200>;
+       };
+
+       usb_otg_clkin_ck: usb_otg_clkin_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <0>;
+       };
+
+       video1_clkin_ck: video1_clkin_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <0>;
+       };
+
+       video1_m2_clkin_ck: video1_m2_clkin_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <0>;
+       };
+
+       video2_clkin_ck: video2_clkin_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <0>;
+       };
+
+       video2_m2_clkin_ck: video2_m2_clkin_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <0>;
+       };
+
+       dpll_abe_ck: dpll_abe_ck {
+               #clock-cells = <0>;
+               compatible = "ti,omap4-dpll-m4xen-clock";
+               clocks = <&abe_dpll_clk_mux>, <&abe_dpll_bypass_clk_mux>;
+               reg = <0x01e0>, <0x01e4>, <0x01ec>, <0x01e8>;
+       };
+
+       dpll_abe_x2_ck: dpll_abe_x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,omap4-dpll-x2-clock";
+               clocks = <&dpll_abe_ck>;
+       };
+
+       dpll_abe_m2x2_ck: dpll_abe_m2x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_abe_x2_ck>;
+               ti,max-div = <31>;
+               ti,autoidle-shift = <8>;
+               reg = <0x01f0>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       abe_clk: abe_clk {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_abe_m2x2_ck>;
+               ti,max-div = <4>;
+               reg = <0x0108>;
+               ti,index-power-of-two;
+       };
+
+       dpll_abe_m2_ck: dpll_abe_m2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_abe_ck>;
+               ti,max-div = <31>;
+               ti,autoidle-shift = <8>;
+               reg = <0x01f0>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_abe_m3x2_ck: dpll_abe_m3x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_abe_x2_ck>;
+               ti,max-div = <31>;
+               ti,autoidle-shift = <8>;
+               reg = <0x01f4>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_core_byp_mux: dpll_core_byp_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clkin1>, <&dpll_abe_m3x2_ck>;
+               ti,bit-shift = <23>;
+               reg = <0x012c>;
+       };
+
+       dpll_core_ck: dpll_core_ck {
+               #clock-cells = <0>;
+               compatible = "ti,omap4-dpll-core-clock";
+               clocks = <&sys_clkin1>, <&dpll_core_byp_mux>;
+               reg = <0x0120>, <0x0124>, <0x012c>, <0x0128>;
+       };
+
+       dpll_core_x2_ck: dpll_core_x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,omap4-dpll-x2-clock";
+               clocks = <&dpll_core_ck>;
+       };
+
+       dpll_core_h12x2_ck: dpll_core_h12x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_core_x2_ck>;
+               ti,max-div = <63>;
+               ti,autoidle-shift = <8>;
+               reg = <0x013c>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       mpu_dpll_hs_clk_div: mpu_dpll_hs_clk_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_core_h12x2_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       dpll_mpu_ck: dpll_mpu_ck {
+               #clock-cells = <0>;
+               compatible = "ti,omap5-mpu-dpll-clock";
+               clocks = <&sys_clkin1>, <&mpu_dpll_hs_clk_div>;
+               reg = <0x0160>, <0x0164>, <0x016c>, <0x0168>;
+       };
+
+       dpll_mpu_m2_ck: dpll_mpu_m2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_mpu_ck>;
+               ti,max-div = <31>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0170>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       mpu_dclk_div: mpu_dclk_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_mpu_m2_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       dsp_dpll_hs_clk_div: dsp_dpll_hs_clk_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_core_h12x2_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       dpll_dsp_byp_mux: dpll_dsp_byp_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clkin1>, <&dsp_dpll_hs_clk_div>;
+               ti,bit-shift = <23>;
+               reg = <0x0240>;
+       };
+
+       dpll_dsp_ck: dpll_dsp_ck {
+               #clock-cells = <0>;
+               compatible = "ti,omap4-dpll-clock";
+               clocks = <&sys_clkin1>, <&dpll_dsp_byp_mux>;
+               reg = <0x0234>, <0x0238>, <0x0240>, <0x023c>;
+       };
+
+       dpll_dsp_m2_ck: dpll_dsp_m2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_dsp_ck>;
+               ti,max-div = <31>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0244>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       iva_dpll_hs_clk_div: iva_dpll_hs_clk_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_core_h12x2_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       dpll_iva_byp_mux: dpll_iva_byp_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clkin1>, <&iva_dpll_hs_clk_div>;
+               ti,bit-shift = <23>;
+               reg = <0x01ac>;
+       };
+
+       dpll_iva_ck: dpll_iva_ck {
+               #clock-cells = <0>;
+               compatible = "ti,omap4-dpll-clock";
+               clocks = <&sys_clkin1>, <&dpll_iva_byp_mux>;
+               reg = <0x01a0>, <0x01a4>, <0x01ac>, <0x01a8>;
+       };
+
+       dpll_iva_m2_ck: dpll_iva_m2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_iva_ck>;
+               ti,max-div = <31>;
+               ti,autoidle-shift = <8>;
+               reg = <0x01b0>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       iva_dclk: iva_dclk {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_iva_m2_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       dpll_gpu_byp_mux: dpll_gpu_byp_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clkin1>, <&dpll_abe_m3x2_ck>;
+               ti,bit-shift = <23>;
+               reg = <0x02e4>;
+       };
+
+       dpll_gpu_ck: dpll_gpu_ck {
+               #clock-cells = <0>;
+               compatible = "ti,omap4-dpll-clock";
+               clocks = <&sys_clkin1>, <&dpll_gpu_byp_mux>;
+               reg = <0x02d8>, <0x02dc>, <0x02e4>, <0x02e0>;
+       };
+
+       dpll_gpu_m2_ck: dpll_gpu_m2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_gpu_ck>;
+               ti,max-div = <31>;
+               ti,autoidle-shift = <8>;
+               reg = <0x02e8>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_core_m2_ck: dpll_core_m2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_core_ck>;
+               ti,max-div = <31>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0130>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       core_dpll_out_dclk_div: core_dpll_out_dclk_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_core_m2_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       dpll_ddr_byp_mux: dpll_ddr_byp_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clkin1>, <&dpll_abe_m3x2_ck>;
+               ti,bit-shift = <23>;
+               reg = <0x021c>;
+       };
+
+       dpll_ddr_ck: dpll_ddr_ck {
+               #clock-cells = <0>;
+               compatible = "ti,omap4-dpll-clock";
+               clocks = <&sys_clkin1>, <&dpll_ddr_byp_mux>;
+               reg = <0x0210>, <0x0214>, <0x021c>, <0x0218>;
+       };
+
+       dpll_ddr_m2_ck: dpll_ddr_m2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_ddr_ck>;
+               ti,max-div = <31>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0220>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_gmac_byp_mux: dpll_gmac_byp_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clkin1>, <&dpll_abe_m3x2_ck>;
+               ti,bit-shift = <23>;
+               reg = <0x02b4>;
+       };
+
+       dpll_gmac_ck: dpll_gmac_ck {
+               #clock-cells = <0>;
+               compatible = "ti,omap4-dpll-clock";
+               clocks = <&sys_clkin1>, <&dpll_gmac_byp_mux>;
+               reg = <0x02a8>, <0x02ac>, <0x02b4>, <0x02b0>;
+       };
+
+       dpll_gmac_m2_ck: dpll_gmac_m2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_gmac_ck>;
+               ti,max-div = <31>;
+               ti,autoidle-shift = <8>;
+               reg = <0x02b8>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       video2_dclk_div: video2_dclk_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&video2_m2_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       video1_dclk_div: video1_dclk_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&video1_m2_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       hdmi_dclk_div: hdmi_dclk_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&hdmi_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       per_dpll_hs_clk_div: per_dpll_hs_clk_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_abe_m3x2_ck>;
+               clock-mult = <1>;
+               clock-div = <2>;
+       };
+
+       usb_dpll_hs_clk_div: usb_dpll_hs_clk_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_abe_m3x2_ck>;
+               clock-mult = <1>;
+               clock-div = <3>;
+       };
+
+       eve_dpll_hs_clk_div: eve_dpll_hs_clk_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_core_h12x2_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       dpll_eve_byp_mux: dpll_eve_byp_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clkin1>, <&eve_dpll_hs_clk_div>;
+               ti,bit-shift = <23>;
+               reg = <0x0290>;
+       };
+
+       dpll_eve_ck: dpll_eve_ck {
+               #clock-cells = <0>;
+               compatible = "ti,omap4-dpll-clock";
+               clocks = <&sys_clkin1>, <&dpll_eve_byp_mux>;
+               reg = <0x0284>, <0x0288>, <0x0290>, <0x028c>;
+       };
+
+       dpll_eve_m2_ck: dpll_eve_m2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_eve_ck>;
+               ti,max-div = <31>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0294>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       eve_dclk_div: eve_dclk_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_eve_m2_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       dpll_core_h13x2_ck: dpll_core_h13x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_core_x2_ck>;
+               ti,max-div = <63>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0140>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_core_h14x2_ck: dpll_core_h14x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_core_x2_ck>;
+               ti,max-div = <63>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0144>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_core_h22x2_ck: dpll_core_h22x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_core_x2_ck>;
+               ti,max-div = <63>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0154>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_core_h23x2_ck: dpll_core_h23x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_core_x2_ck>;
+               ti,max-div = <63>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0158>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_core_h24x2_ck: dpll_core_h24x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_core_x2_ck>;
+               ti,max-div = <63>;
+               ti,autoidle-shift = <8>;
+               reg = <0x015c>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_ddr_x2_ck: dpll_ddr_x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,omap4-dpll-x2-clock";
+               clocks = <&dpll_ddr_ck>;
+       };
+
+       dpll_ddr_h11x2_ck: dpll_ddr_h11x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_ddr_x2_ck>;
+               ti,max-div = <63>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0228>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_dsp_x2_ck: dpll_dsp_x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,omap4-dpll-x2-clock";
+               clocks = <&dpll_dsp_ck>;
+       };
+
+       dpll_dsp_m3x2_ck: dpll_dsp_m3x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_dsp_x2_ck>;
+               ti,max-div = <31>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0248>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_gmac_x2_ck: dpll_gmac_x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,omap4-dpll-x2-clock";
+               clocks = <&dpll_gmac_ck>;
+       };
+
+       dpll_gmac_h11x2_ck: dpll_gmac_h11x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_gmac_x2_ck>;
+               ti,max-div = <63>;
+               ti,autoidle-shift = <8>;
+               reg = <0x02c0>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_gmac_h12x2_ck: dpll_gmac_h12x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_gmac_x2_ck>;
+               ti,max-div = <63>;
+               ti,autoidle-shift = <8>;
+               reg = <0x02c4>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_gmac_h13x2_ck: dpll_gmac_h13x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_gmac_x2_ck>;
+               ti,max-div = <63>;
+               ti,autoidle-shift = <8>;
+               reg = <0x02c8>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_gmac_m3x2_ck: dpll_gmac_m3x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_gmac_x2_ck>;
+               ti,max-div = <31>;
+               ti,autoidle-shift = <8>;
+               reg = <0x02bc>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       gmii_m_clk_div: gmii_m_clk_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_gmac_h11x2_ck>;
+               clock-mult = <1>;
+               clock-div = <2>;
+       };
+
+       hdmi_clk2_div: hdmi_clk2_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&hdmi_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       hdmi_div_clk: hdmi_div_clk {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&hdmi_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       l3_iclk_div: l3_iclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               ti,max-div = <2>;
+               ti,bit-shift = <4>;
+               reg = <0x0100>;
+               clocks = <&dpll_core_h12x2_ck>;
+               ti,index-power-of-two;
+       };
+
+       l4_root_clk_div: l4_root_clk_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&l3_iclk_div>;
+               clock-mult = <1>;
+               clock-div = <2>;
+       };
+
+       video1_clk2_div: video1_clk2_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&video1_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       video1_div_clk: video1_div_clk {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&video1_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       video2_clk2_div: video2_clk2_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&video2_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       video2_div_clk: video2_div_clk {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&video2_clkin_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       ipu1_gfclk_mux: ipu1_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&dpll_abe_m2x2_ck>, <&dpll_core_h22x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x0520>;
+       };
+
+       mcasp1_ahclkr_mux: mcasp1_ahclkr_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
+               ti,bit-shift = <28>;
+               reg = <0x0550>;
+       };
+
+       mcasp1_ahclkx_mux: mcasp1_ahclkx_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
+               ti,bit-shift = <24>;
+               reg = <0x0550>;
+       };
+
+       mcasp1_aux_gfclk_mux: mcasp1_aux_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>;
+               ti,bit-shift = <22>;
+               reg = <0x0550>;
+       };
+
+       timer5_gfclk_mux: timer5_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>, <&clkoutmux0_clk_mux>;
+               ti,bit-shift = <24>;
+               reg = <0x0558>;
+       };
+
+       timer6_gfclk_mux: timer6_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>, <&clkoutmux0_clk_mux>;
+               ti,bit-shift = <24>;
+               reg = <0x0560>;
+       };
+
+       timer7_gfclk_mux: timer7_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>, <&clkoutmux0_clk_mux>;
+               ti,bit-shift = <24>;
+               reg = <0x0568>;
+       };
+
+       timer8_gfclk_mux: timer8_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>, <&clkoutmux0_clk_mux>;
+               ti,bit-shift = <24>;
+               reg = <0x0570>;
+       };
+
+       uart6_gfclk_mux: uart6_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x0580>;
+       };
+
+       dummy_ck: dummy_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <0>;
+       };
+};
+&prm_clocks {
+       sys_clkin1: sys_clkin1 {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&virt_12000000_ck>, <&virt_20000000_ck>, <&virt_16800000_ck>, <&virt_19200000_ck>, <&virt_26000000_ck>, <&virt_27000000_ck>, <&virt_38400000_ck>;
+               reg = <0x0110>;
+               ti,index-starts-at-one;
+       };
+
+       abe_dpll_sys_clk_mux: abe_dpll_sys_clk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clkin1>, <&sys_clkin2>;
+               reg = <0x0118>;
+       };
+
+       abe_dpll_bypass_clk_mux: abe_dpll_bypass_clk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&abe_dpll_sys_clk_mux>, <&sys_32k_ck>;
+               reg = <0x0114>;
+       };
+
+       abe_dpll_clk_mux: abe_dpll_clk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&abe_dpll_sys_clk_mux>, <&sys_32k_ck>;
+               reg = <0x010c>;
+       };
+
+       abe_24m_fclk: abe_24m_fclk {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_abe_m2x2_ck>;
+               reg = <0x011c>;
+               ti,dividers = <8>, <16>;
+       };
+
+       aess_fclk: aess_fclk {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&abe_clk>;
+               reg = <0x0178>;
+               ti,max-div = <2>;
+       };
+
+       abe_giclk_div: abe_giclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&aess_fclk>;
+               reg = <0x0174>;
+               ti,max-div = <2>;
+       };
+
+       abe_lp_clk_div: abe_lp_clk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_abe_m2x2_ck>;
+               reg = <0x01d8>;
+               ti,dividers = <16>, <32>;
+       };
+
+       abe_sys_clk_div: abe_sys_clk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&sys_clkin1>;
+               reg = <0x0120>;
+               ti,max-div = <2>;
+       };
+
+       adc_gfclk_mux: adc_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clkin1>, <&sys_clkin2>, <&sys_32k_ck>;
+               reg = <0x01dc>;
+       };
+
+       sys_clk1_dclk_div: sys_clk1_dclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&sys_clkin1>;
+               ti,max-div = <64>;
+               reg = <0x01c8>;
+               ti,index-power-of-two;
+       };
+
+       sys_clk2_dclk_div: sys_clk2_dclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&sys_clkin2>;
+               ti,max-div = <64>;
+               reg = <0x01cc>;
+               ti,index-power-of-two;
+       };
+
+       per_abe_x1_dclk_div: per_abe_x1_dclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_abe_m2_ck>;
+               ti,max-div = <64>;
+               reg = <0x01bc>;
+               ti,index-power-of-two;
+       };
+
+       dsp_gclk_div: dsp_gclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_dsp_m2_ck>;
+               ti,max-div = <64>;
+               reg = <0x018c>;
+               ti,index-power-of-two;
+       };
+
+       gpu_dclk: gpu_dclk {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_gpu_m2_ck>;
+               ti,max-div = <64>;
+               reg = <0x01a0>;
+               ti,index-power-of-two;
+       };
+
+       emif_phy_dclk_div: emif_phy_dclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_ddr_m2_ck>;
+               ti,max-div = <64>;
+               reg = <0x0190>;
+               ti,index-power-of-two;
+       };
+
+       gmac_250m_dclk_div: gmac_250m_dclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_gmac_m2_ck>;
+               ti,max-div = <64>;
+               reg = <0x019c>;
+               ti,index-power-of-two;
+       };
+
+       l3init_480m_dclk_div: l3init_480m_dclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_usb_m2_ck>;
+               ti,max-div = <64>;
+               reg = <0x01ac>;
+               ti,index-power-of-two;
+       };
+
+       usb_otg_dclk_div: usb_otg_dclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&usb_otg_clkin_ck>;
+               ti,max-div = <64>;
+               reg = <0x0184>;
+               ti,index-power-of-two;
+       };
+
+       sata_dclk_div: sata_dclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&sys_clkin1>;
+               ti,max-div = <64>;
+               reg = <0x01c0>;
+               ti,index-power-of-two;
+       };
+
+       pcie2_dclk_div: pcie2_dclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_pcie_ref_m2_ck>;
+               ti,max-div = <64>;
+               reg = <0x01b8>;
+               ti,index-power-of-two;
+       };
+
+       pcie_dclk_div: pcie_dclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&apll_pcie_m2_ck>;
+               ti,max-div = <64>;
+               reg = <0x01b4>;
+               ti,index-power-of-two;
+       };
+
+       emu_dclk_div: emu_dclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&sys_clkin1>;
+               ti,max-div = <64>;
+               reg = <0x0194>;
+               ti,index-power-of-two;
+       };
+
+       secure_32k_dclk_div: secure_32k_dclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&secure_32k_clk_src_ck>;
+               ti,max-div = <64>;
+               reg = <0x01c4>;
+               ti,index-power-of-two;
+       };
+
+       clkoutmux0_clk_mux: clkoutmux0_clk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clk1_dclk_div>, <&sys_clk2_dclk_div>, <&per_abe_x1_dclk_div>, <&mpu_dclk_div>, <&dsp_gclk_div>, <&iva_dclk>, <&gpu_dclk>, <&core_dpll_out_dclk_div>, <&emif_phy_dclk_div>, <&gmac_250m_dclk_div>, <&video2_dclk_div>, <&video1_dclk_div>, <&hdmi_dclk_div>, <&func_96m_aon_dclk_div>, <&l3init_480m_dclk_div>, <&usb_otg_dclk_div>, <&sata_dclk_div>, <&pcie2_dclk_div>, <&pcie_dclk_div>, <&emu_dclk_div>, <&secure_32k_dclk_div>, <&eve_dclk_div>;
+               reg = <0x0158>;
+       };
+
+       clkoutmux1_clk_mux: clkoutmux1_clk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clk1_dclk_div>, <&sys_clk2_dclk_div>, <&per_abe_x1_dclk_div>, <&mpu_dclk_div>, <&dsp_gclk_div>, <&iva_dclk>, <&gpu_dclk>, <&core_dpll_out_dclk_div>, <&emif_phy_dclk_div>, <&gmac_250m_dclk_div>, <&video2_dclk_div>, <&video1_dclk_div>, <&hdmi_dclk_div>, <&func_96m_aon_dclk_div>, <&l3init_480m_dclk_div>, <&usb_otg_dclk_div>, <&sata_dclk_div>, <&pcie2_dclk_div>, <&pcie_dclk_div>, <&emu_dclk_div>, <&secure_32k_dclk_div>, <&eve_dclk_div>;
+               reg = <0x015c>;
+       };
+
+       clkoutmux2_clk_mux: clkoutmux2_clk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clk1_dclk_div>, <&sys_clk2_dclk_div>, <&per_abe_x1_dclk_div>, <&mpu_dclk_div>, <&dsp_gclk_div>, <&iva_dclk>, <&gpu_dclk>, <&core_dpll_out_dclk_div>, <&emif_phy_dclk_div>, <&gmac_250m_dclk_div>, <&video2_dclk_div>, <&video1_dclk_div>, <&hdmi_dclk_div>, <&func_96m_aon_dclk_div>, <&l3init_480m_dclk_div>, <&usb_otg_dclk_div>, <&sata_dclk_div>, <&pcie2_dclk_div>, <&pcie_dclk_div>, <&emu_dclk_div>, <&secure_32k_dclk_div>, <&eve_dclk_div>;
+               reg = <0x0160>;
+       };
+
+       custefuse_sys_gfclk_div: custefuse_sys_gfclk_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&sys_clkin1>;
+               clock-mult = <1>;
+               clock-div = <2>;
+       };
+
+       eve_clk: eve_clk {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&dpll_eve_m2_ck>, <&dpll_dsp_m3x2_ck>;
+               reg = <0x0180>;
+       };
+
+       hdmi_dpll_clk_mux: hdmi_dpll_clk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clkin1>, <&sys_clkin2>;
+               reg = <0x0164>;
+       };
+
+       mlb_clk: mlb_clk {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&mlb_clkin_ck>;
+               ti,max-div = <64>;
+               reg = <0x0134>;
+               ti,index-power-of-two;
+       };
+
+       mlbp_clk: mlbp_clk {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&mlbp_clkin_ck>;
+               ti,max-div = <64>;
+               reg = <0x0130>;
+               ti,index-power-of-two;
+       };
+
+       per_abe_x1_gfclk2_div: per_abe_x1_gfclk2_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_abe_m2_ck>;
+               ti,max-div = <64>;
+               reg = <0x0138>;
+               ti,index-power-of-two;
+       };
+
+       timer_sys_clk_div: timer_sys_clk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&sys_clkin1>;
+               reg = <0x0144>;
+               ti,max-div = <2>;
+       };
+
+       video1_dpll_clk_mux: video1_dpll_clk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clkin1>, <&sys_clkin2>;
+               reg = <0x0168>;
+       };
+
+       video2_dpll_clk_mux: video2_dpll_clk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clkin1>, <&sys_clkin2>;
+               reg = <0x016c>;
+       };
+
+       wkupaon_iclk_mux: wkupaon_iclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clkin1>, <&abe_lp_clk_div>;
+               reg = <0x0108>;
+       };
+
+       gpio1_dbclk: gpio1_dbclk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_32k_ck>;
+               ti,bit-shift = <8>;
+               reg = <0x1838>;
+       };
+
+       dcan1_sys_clk_mux: dcan1_sys_clk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clkin1>, <&sys_clkin2>;
+               ti,bit-shift = <24>;
+               reg = <0x1888>;
+       };
+
+       timer1_gfclk_mux: timer1_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
+               ti,bit-shift = <24>;
+               reg = <0x1840>;
+       };
+
+       uart10_gfclk_mux: uart10_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x1880>;
+       };
+};
+&cm_core_clocks {
+       dpll_pcie_ref_ck: dpll_pcie_ref_ck {
+               #clock-cells = <0>;
+               compatible = "ti,omap4-dpll-clock";
+               clocks = <&sys_clkin1>, <&sys_clkin1>;
+               reg = <0x0200>, <0x0204>, <0x020c>, <0x0208>;
+       };
+
+       dpll_pcie_ref_m2ldo_ck: dpll_pcie_ref_m2ldo_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_pcie_ref_ck>;
+               ti,max-div = <31>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0210>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       apll_pcie_in_clk_mux: apll_pcie_in_clk_mux@4ae06118 {
+               compatible = "ti,mux-clock";
+               clocks = <&dpll_pcie_ref_m2ldo_ck>, <&pciesref_acs_clk_ck>;
+               #clock-cells = <0>;
+               reg = <0x021c 0x4>;
+               ti,bit-shift = <7>;
+       };
+
+       apll_pcie_ck: apll_pcie_ck {
+               #clock-cells = <0>;
+               compatible = "ti,dra7-apll-clock";
+               clocks = <&apll_pcie_in_clk_mux>, <&dpll_pcie_ref_ck>;
+               reg = <0x021c>, <0x0220>;
+       };
+
+       optfclk_pciephy1_32khz: optfclk_pciephy1_32khz@4a0093b0 {
+               compatible = "ti,gate-clock";
+               clocks = <&sys_32k_ck>;
+               #clock-cells = <0>;
+               reg = <0x13b0>;
+               ti,bit-shift = <8>;
+       };
+
+       optfclk_pciephy2_32khz: optfclk_pciephy2_32khz@4a0093b8 {
+               compatible = "ti,gate-clock";
+               clocks = <&sys_32k_ck>;
+               #clock-cells = <0>;
+               reg = <0x13b8>;
+               ti,bit-shift = <8>;
+       };
+
+       optfclk_pciephy_div: optfclk_pciephy_div@4a00821c {
+               compatible = "ti,divider-clock";
+               clocks = <&apll_pcie_ck>;
+               #clock-cells = <0>;
+               reg = <0x021c>;
+               ti,dividers = <2>, <1>;
+               ti,bit-shift = <8>;
+               ti,max-div = <2>;
+       };
+
+       optfclk_pciephy1_clk: optfclk_pciephy1_clk@4a0093b0 {
+               compatible = "ti,gate-clock";
+               clocks = <&apll_pcie_ck>;
+               #clock-cells = <0>;
+               reg = <0x13b0>;
+               ti,bit-shift = <9>;
+       };
+
+       optfclk_pciephy2_clk: optfclk_pciephy2_clk@4a0093b8 {
+               compatible = "ti,gate-clock";
+               clocks = <&apll_pcie_ck>;
+               #clock-cells = <0>;
+               reg = <0x13b8>;
+               ti,bit-shift = <9>;
+       };
+
+       optfclk_pciephy1_div_clk: optfclk_pciephy1_div_clk@4a0093b0 {
+               compatible = "ti,gate-clock";
+               clocks = <&optfclk_pciephy_div>;
+               #clock-cells = <0>;
+               reg = <0x13b0>;
+               ti,bit-shift = <10>;
+       };
+
+       optfclk_pciephy2_div_clk: optfclk_pciephy2_div_clk@4a0093b8 {
+               compatible = "ti,gate-clock";
+               clocks = <&optfclk_pciephy_div>;
+               #clock-cells = <0>;
+               reg = <0x13b8>;
+               ti,bit-shift = <10>;
+       };
+
+       apll_pcie_clkvcoldo: apll_pcie_clkvcoldo {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&apll_pcie_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       apll_pcie_clkvcoldo_div: apll_pcie_clkvcoldo_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&apll_pcie_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       apll_pcie_m2_ck: apll_pcie_m2_ck {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&apll_pcie_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       dpll_per_byp_mux: dpll_per_byp_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clkin1>, <&per_dpll_hs_clk_div>;
+               ti,bit-shift = <23>;
+               reg = <0x014c>;
+       };
+
+       dpll_per_ck: dpll_per_ck {
+               #clock-cells = <0>;
+               compatible = "ti,omap4-dpll-clock";
+               clocks = <&sys_clkin1>, <&dpll_per_byp_mux>;
+               reg = <0x0140>, <0x0144>, <0x014c>, <0x0148>;
+       };
+
+       dpll_per_m2_ck: dpll_per_m2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_per_ck>;
+               ti,max-div = <31>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0150>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       func_96m_aon_dclk_div: func_96m_aon_dclk_div {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_per_m2_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       dpll_usb_byp_mux: dpll_usb_byp_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_clkin1>, <&usb_dpll_hs_clk_div>;
+               ti,bit-shift = <23>;
+               reg = <0x018c>;
+       };
+
+       dpll_usb_ck: dpll_usb_ck {
+               #clock-cells = <0>;
+               compatible = "ti,omap4-dpll-j-type-clock";
+               clocks = <&sys_clkin1>, <&dpll_usb_byp_mux>;
+               reg = <0x0180>, <0x0184>, <0x018c>, <0x0188>;
+       };
+
+       dpll_usb_m2_ck: dpll_usb_m2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_usb_ck>;
+               ti,max-div = <127>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0190>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_pcie_ref_m2_ck: dpll_pcie_ref_m2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_pcie_ref_ck>;
+               ti,max-div = <127>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0210>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_per_x2_ck: dpll_per_x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,omap4-dpll-x2-clock";
+               clocks = <&dpll_per_ck>;
+       };
+
+       dpll_per_h11x2_ck: dpll_per_h11x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_per_x2_ck>;
+               ti,max-div = <63>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0158>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_per_h12x2_ck: dpll_per_h12x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_per_x2_ck>;
+               ti,max-div = <63>;
+               ti,autoidle-shift = <8>;
+               reg = <0x015c>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_per_h13x2_ck: dpll_per_h13x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_per_x2_ck>;
+               ti,max-div = <63>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0160>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_per_h14x2_ck: dpll_per_h14x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_per_x2_ck>;
+               ti,max-div = <63>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0164>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_per_m2x2_ck: dpll_per_m2x2_ck {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_per_x2_ck>;
+               ti,max-div = <31>;
+               ti,autoidle-shift = <8>;
+               reg = <0x0150>;
+               ti,index-starts-at-one;
+               ti,invert-autoidle-bit;
+       };
+
+       dpll_usb_clkdcoldo: dpll_usb_clkdcoldo {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_usb_ck>;
+               clock-mult = <1>;
+               clock-div = <1>;
+       };
+
+       func_128m_clk: func_128m_clk {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_per_h11x2_ck>;
+               clock-mult = <1>;
+               clock-div = <2>;
+       };
+
+       func_12m_fclk: func_12m_fclk {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_per_m2x2_ck>;
+               clock-mult = <1>;
+               clock-div = <16>;
+       };
+
+       func_24m_clk: func_24m_clk {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_per_m2_ck>;
+               clock-mult = <1>;
+               clock-div = <4>;
+       };
+
+       func_48m_fclk: func_48m_fclk {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_per_m2x2_ck>;
+               clock-mult = <1>;
+               clock-div = <4>;
+       };
+
+       func_96m_fclk: func_96m_fclk {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clocks = <&dpll_per_m2x2_ck>;
+               clock-mult = <1>;
+               clock-div = <2>;
+       };
+
+       l3init_60m_fclk: l3init_60m_fclk {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_usb_m2_ck>;
+               reg = <0x0104>;
+               ti,dividers = <1>, <8>;
+       };
+
+       clkout2_clk: clkout2_clk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&clkoutmux2_clk_mux>;
+               ti,bit-shift = <8>;
+               reg = <0x06b0>;
+       };
+
+       l3init_960m_gfclk: l3init_960m_gfclk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&dpll_usb_clkdcoldo>;
+               ti,bit-shift = <8>;
+               reg = <0x06c0>;
+       };
+
+       dss_32khz_clk: dss_32khz_clk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_32k_ck>;
+               ti,bit-shift = <11>;
+               reg = <0x1120>;
+       };
+
+       dss_48mhz_clk: dss_48mhz_clk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&func_48m_fclk>;
+               ti,bit-shift = <9>;
+               reg = <0x1120>;
+       };
+
+       dss_dss_clk: dss_dss_clk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&dpll_per_h12x2_ck>;
+               ti,bit-shift = <8>;
+               reg = <0x1120>;
+               ti,set-rate-parent;
+       };
+
+       dss_hdmi_clk: dss_hdmi_clk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&hdmi_dpll_clk_mux>;
+               ti,bit-shift = <10>;
+               reg = <0x1120>;
+       };
+
+       dss_video1_clk: dss_video1_clk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&video1_dpll_clk_mux>;
+               ti,bit-shift = <12>;
+               reg = <0x1120>;
+       };
+
+       dss_video2_clk: dss_video2_clk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&video2_dpll_clk_mux>;
+               ti,bit-shift = <13>;
+               reg = <0x1120>;
+       };
+
+       gpio2_dbclk: gpio2_dbclk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_32k_ck>;
+               ti,bit-shift = <8>;
+               reg = <0x1760>;
+       };
+
+       gpio3_dbclk: gpio3_dbclk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_32k_ck>;
+               ti,bit-shift = <8>;
+               reg = <0x1768>;
+       };
+
+       gpio4_dbclk: gpio4_dbclk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_32k_ck>;
+               ti,bit-shift = <8>;
+               reg = <0x1770>;
+       };
+
+       gpio5_dbclk: gpio5_dbclk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_32k_ck>;
+               ti,bit-shift = <8>;
+               reg = <0x1778>;
+       };
+
+       gpio6_dbclk: gpio6_dbclk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_32k_ck>;
+               ti,bit-shift = <8>;
+               reg = <0x1780>;
+       };
+
+       gpio7_dbclk: gpio7_dbclk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_32k_ck>;
+               ti,bit-shift = <8>;
+               reg = <0x1810>;
+       };
+
+       gpio8_dbclk: gpio8_dbclk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_32k_ck>;
+               ti,bit-shift = <8>;
+               reg = <0x1818>;
+       };
+
+       mmc1_clk32k: mmc1_clk32k {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_32k_ck>;
+               ti,bit-shift = <8>;
+               reg = <0x1328>;
+       };
+
+       mmc2_clk32k: mmc2_clk32k {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_32k_ck>;
+               ti,bit-shift = <8>;
+               reg = <0x1330>;
+       };
+
+       mmc3_clk32k: mmc3_clk32k {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_32k_ck>;
+               ti,bit-shift = <8>;
+               reg = <0x1820>;
+       };
+
+       mmc4_clk32k: mmc4_clk32k {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_32k_ck>;
+               ti,bit-shift = <8>;
+               reg = <0x1828>;
+       };
+
+       sata_ref_clk: sata_ref_clk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_clkin1>;
+               ti,bit-shift = <8>;
+               reg = <0x1388>;
+       };
+
+       usb_otg_ss1_refclk960m: usb_otg_ss1_refclk960m {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&l3init_960m_gfclk>;
+               ti,bit-shift = <8>;
+               reg = <0x13f0>;
+       };
+
+       usb_otg_ss2_refclk960m: usb_otg_ss2_refclk960m {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&l3init_960m_gfclk>;
+               ti,bit-shift = <8>;
+               reg = <0x1340>;
+       };
+
+       usb_phy1_always_on_clk32k: usb_phy1_always_on_clk32k {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_32k_ck>;
+               ti,bit-shift = <8>;
+               reg = <0x0640>;
+       };
+
+       usb_phy2_always_on_clk32k: usb_phy2_always_on_clk32k {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_32k_ck>;
+               ti,bit-shift = <8>;
+               reg = <0x0688>;
+       };
+
+       usb_phy3_always_on_clk32k: usb_phy3_always_on_clk32k {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&sys_32k_ck>;
+               ti,bit-shift = <8>;
+               reg = <0x0698>;
+       };
+
+       atl_dpll_clk_mux: atl_dpll_clk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&sys_32k_ck>, <&video1_clkin_ck>, <&video2_clkin_ck>, <&hdmi_clkin_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x0c00>;
+       };
+
+       atl_gfclk_mux: atl_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&l3_iclk_div>, <&dpll_abe_m2_ck>, <&atl_dpll_clk_mux>;
+               ti,bit-shift = <26>;
+               reg = <0x0c00>;
+       };
+
+       gmac_gmii_ref_clk_div: gmac_gmii_ref_clk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&dpll_gmac_m2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x13d0>;
+               ti,dividers = <2>;
+       };
+
+       gmac_rft_clk_mux: gmac_rft_clk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&video1_clkin_ck>, <&video2_clkin_ck>, <&dpll_abe_m2_ck>, <&hdmi_clkin_ck>, <&l3_iclk_div>;
+               ti,bit-shift = <25>;
+               reg = <0x13d0>;
+       };
+
+       gpu_core_gclk_mux: gpu_core_gclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&dpll_core_h14x2_ck>, <&dpll_per_h14x2_ck>, <&dpll_gpu_m2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x1220>;
+       };
+
+       gpu_hyd_gclk_mux: gpu_hyd_gclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&dpll_core_h14x2_ck>, <&dpll_per_h14x2_ck>, <&dpll_gpu_m2_ck>;
+               ti,bit-shift = <26>;
+               reg = <0x1220>;
+       };
+
+       l3instr_ts_gclk_div: l3instr_ts_gclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&wkupaon_iclk_mux>;
+               ti,bit-shift = <24>;
+               reg = <0x0e50>;
+               ti,dividers = <8>, <16>, <32>;
+       };
+
+       mcasp2_ahclkr_mux: mcasp2_ahclkr_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
+               ti,bit-shift = <28>;
+               reg = <0x1860>;
+       };
+
+       mcasp2_ahclkx_mux: mcasp2_ahclkx_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
+               ti,bit-shift = <24>;
+               reg = <0x1860>;
+       };
+
+       mcasp2_aux_gfclk_mux: mcasp2_aux_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>;
+               ti,bit-shift = <22>;
+               reg = <0x1860>;
+       };
+
+       mcasp3_ahclkx_mux: mcasp3_ahclkx_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
+               ti,bit-shift = <24>;
+               reg = <0x1868>;
+       };
+
+       mcasp3_aux_gfclk_mux: mcasp3_aux_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>;
+               ti,bit-shift = <22>;
+               reg = <0x1868>;
+       };
+
+       mcasp4_ahclkx_mux: mcasp4_ahclkx_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
+               ti,bit-shift = <24>;
+               reg = <0x1898>;
+       };
+
+       mcasp4_aux_gfclk_mux: mcasp4_aux_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>;
+               ti,bit-shift = <22>;
+               reg = <0x1898>;
+       };
+
+       mcasp5_ahclkx_mux: mcasp5_ahclkx_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
+               ti,bit-shift = <24>;
+               reg = <0x1878>;
+       };
+
+       mcasp5_aux_gfclk_mux: mcasp5_aux_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>;
+               ti,bit-shift = <22>;
+               reg = <0x1878>;
+       };
+
+       mcasp6_ahclkx_mux: mcasp6_ahclkx_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
+               ti,bit-shift = <24>;
+               reg = <0x1904>;
+       };
+
+       mcasp6_aux_gfclk_mux: mcasp6_aux_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>;
+               ti,bit-shift = <22>;
+               reg = <0x1904>;
+       };
+
+       mcasp7_ahclkx_mux: mcasp7_ahclkx_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
+               ti,bit-shift = <24>;
+               reg = <0x1908>;
+       };
+
+       mcasp7_aux_gfclk_mux: mcasp7_aux_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>;
+               ti,bit-shift = <22>;
+               reg = <0x1908>;
+       };
+
+       mcasp8_ahclk_mux: mcasp8_ahclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
+               ti,bit-shift = <22>;
+               reg = <0x1890>;
+       };
+
+       mcasp8_aux_gfclk_mux: mcasp8_aux_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>;
+               ti,bit-shift = <24>;
+               reg = <0x1890>;
+       };
+
+       mmc1_fclk_mux: mmc1_fclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&func_128m_clk>, <&dpll_per_m2x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x1328>;
+       };
+
+       mmc1_fclk_div: mmc1_fclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&mmc1_fclk_mux>;
+               ti,bit-shift = <25>;
+               ti,max-div = <4>;
+               reg = <0x1328>;
+               ti,index-power-of-two;
+       };
+
+       mmc2_fclk_mux: mmc2_fclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&func_128m_clk>, <&dpll_per_m2x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x1330>;
+       };
+
+       mmc2_fclk_div: mmc2_fclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&mmc2_fclk_mux>;
+               ti,bit-shift = <25>;
+               ti,max-div = <4>;
+               reg = <0x1330>;
+               ti,index-power-of-two;
+       };
+
+       mmc3_gfclk_mux: mmc3_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x1820>;
+       };
+
+       mmc3_gfclk_div: mmc3_gfclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&mmc3_gfclk_mux>;
+               ti,bit-shift = <25>;
+               ti,max-div = <4>;
+               reg = <0x1820>;
+               ti,index-power-of-two;
+       };
+
+       mmc4_gfclk_mux: mmc4_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x1828>;
+       };
+
+       mmc4_gfclk_div: mmc4_gfclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&mmc4_gfclk_mux>;
+               ti,bit-shift = <25>;
+               ti,max-div = <4>;
+               reg = <0x1828>;
+               ti,index-power-of-two;
+       };
+
+       qspi_gfclk_mux: qspi_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&func_128m_clk>, <&dpll_per_h13x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x1838>;
+       };
+
+       qspi_gfclk_div: qspi_gfclk_div {
+               #clock-cells = <0>;
+               compatible = "ti,divider-clock";
+               clocks = <&qspi_gfclk_mux>;
+               ti,bit-shift = <25>;
+               ti,max-div = <4>;
+               reg = <0x1838>;
+               ti,index-power-of-two;
+       };
+
+       timer10_gfclk_mux: timer10_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
+               ti,bit-shift = <24>;
+               reg = <0x1728>;
+       };
+
+       timer11_gfclk_mux: timer11_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
+               ti,bit-shift = <24>;
+               reg = <0x1730>;
+       };
+
+       timer13_gfclk_mux: timer13_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
+               ti,bit-shift = <24>;
+               reg = <0x17c8>;
+       };
+
+       timer14_gfclk_mux: timer14_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
+               ti,bit-shift = <24>;
+               reg = <0x17d0>;
+       };
+
+       timer15_gfclk_mux: timer15_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
+               ti,bit-shift = <24>;
+               reg = <0x17d8>;
+       };
+
+       timer16_gfclk_mux: timer16_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
+               ti,bit-shift = <24>;
+               reg = <0x1830>;
+       };
+
+       timer2_gfclk_mux: timer2_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
+               ti,bit-shift = <24>;
+               reg = <0x1738>;
+       };
+
+       timer3_gfclk_mux: timer3_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
+               ti,bit-shift = <24>;
+               reg = <0x1740>;
+       };
+
+       timer4_gfclk_mux: timer4_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
+               ti,bit-shift = <24>;
+               reg = <0x1748>;
+       };
+
+       timer9_gfclk_mux: timer9_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
+               ti,bit-shift = <24>;
+               reg = <0x1750>;
+       };
+
+       uart1_gfclk_mux: uart1_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x1840>;
+       };
+
+       uart2_gfclk_mux: uart2_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x1848>;
+       };
+
+       uart3_gfclk_mux: uart3_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x1850>;
+       };
+
+       uart4_gfclk_mux: uart4_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x1858>;
+       };
+
+       uart5_gfclk_mux: uart5_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x1870>;
+       };
+
+       uart7_gfclk_mux: uart7_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x18d0>;
+       };
+
+       uart8_gfclk_mux: uart8_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x18e0>;
+       };
+
+       uart9_gfclk_mux: uart9_gfclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x18e8>;
+       };
+
+       vip1_gclk_mux: vip1_gclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&l3_iclk_div>, <&dpll_core_h23x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x1020>;
+       };
+
+       vip2_gclk_mux: vip2_gclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&l3_iclk_div>, <&dpll_core_h23x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x1028>;
+       };
+
+       vip3_gclk_mux: vip3_gclk_mux {
+               #clock-cells = <0>;
+               compatible = "ti,mux-clock";
+               clocks = <&l3_iclk_div>, <&dpll_core_h23x2_ck>;
+               ti,bit-shift = <24>;
+               reg = <0x1030>;
+       };
+};
+
+&cm_core_clockdomains {
+       coreaon_clkdm: coreaon_clkdm {
+               compatible = "ti,clockdomain";
+               clocks = <&dpll_usb_ck>;
+       };
+};
+
+&scm_conf_clocks {
+       dss_deshdcp_clk: dss_deshdcp_clk {
+               #clock-cells = <0>;
+               compatible = "ti,gate-clock";
+               clocks = <&l3_iclk_div>;
+               ti,bit-shift = <0>;
+               reg = <0x558>;
+       };
+};
diff --git a/arch/arm/dts/omap4-cpu-thermal.dtsi b/arch/arm/dts/omap4-cpu-thermal.dtsi
new file mode 100644 (file)
index 0000000..ab7f87a
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Device Tree Source for OMAP4/5 SoC CPU thermal
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ * Contact: Eduardo Valentin <eduardo.valentin@ti.com>
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include <dt-bindings/thermal/thermal.h>
+
+cpu_thermal: cpu_thermal {
+       polling-delay-passive = <250>; /* milliseconds */
+       polling-delay = <1000>; /* milliseconds */
+
+                       /* sensor       ID */
+        thermal-sensors = <&bandgap     0>;
+
+       cpu_trips: trips {
+                cpu_alert0: cpu_alert {
+                        temperature = <100000>; /* millicelsius */
+                        hysteresis = <2000>; /* millicelsius */
+                        type = "passive";
+                };
+                cpu_crit: cpu_crit {
+                        temperature = <125000>; /* millicelsius */
+                        hysteresis = <2000>; /* millicelsius */
+                        type = "critical";
+                };
+        };
+
+       cpu_cooling_maps: cooling-maps {
+               map0 {
+                       trip = <&cpu_alert0>;
+                       cooling-device =
+                               <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+               };
+       };
+};
diff --git a/arch/arm/dts/omap5-core-thermal.dtsi b/arch/arm/dts/omap5-core-thermal.dtsi
new file mode 100644 (file)
index 0000000..de8a3d4
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * Device Tree Source for OMAP543x SoC CORE thermal
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ * Contact: Eduardo Valentin <eduardo.valentin@ti.com>
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include <dt-bindings/thermal/thermal.h>
+
+core_thermal: core_thermal {
+       polling-delay-passive = <250>; /* milliseconds */
+       polling-delay = <500>; /* milliseconds */
+
+                       /* sensor       ID */
+       thermal-sensors = <&bandgap     2>;
+
+       trips {
+               core_crit: core_crit {
+                       temperature = <125000>; /* milliCelsius */
+                       hysteresis = <2000>; /* milliCelsius */
+                       type = "critical";
+               };
+       };
+};
diff --git a/arch/arm/dts/omap5-gpu-thermal.dtsi b/arch/arm/dts/omap5-gpu-thermal.dtsi
new file mode 100644 (file)
index 0000000..bc3090f
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * Device Tree Source for OMAP543x SoC GPU thermal
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ * Contact: Eduardo Valentin <eduardo.valentin@ti.com>
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include <dt-bindings/thermal/thermal.h>
+
+gpu_thermal: gpu_thermal {
+       polling-delay-passive = <250>; /* milliseconds */
+       polling-delay = <500>; /* milliseconds */
+
+                       /* sensor       ID */
+       thermal-sensors = <&bandgap     1>;
+
+       trips {
+               gpu_crit: gpu_crit {
+                       temperature = <125000>; /* milliCelsius */
+                       hysteresis = <2000>; /* milliCelsius */
+                       type = "critical";
+               };
+       };
+};
diff --git a/arch/arm/dts/tps65910.dtsi b/arch/arm/dts/tps65910.dtsi
new file mode 100644 (file)
index 0000000..b0ac665
--- /dev/null
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+/*
+ * Integrated Power Management Chip
+ * http://www.ti.com/lit/ds/symlink/tps65910.pdf
+ */
+
+&tps {
+       compatible = "ti,tps65910";
+
+       regulators {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               vrtc_reg: regulator@0 {
+                       reg = <0>;
+                       regulator-compatible = "vrtc";
+               };
+
+               vio_reg: regulator@1 {
+                       reg = <1>;
+                       regulator-compatible = "vio";
+               };
+
+               vdd1_reg: regulator@2 {
+                       reg = <2>;
+                       regulator-compatible = "vdd1";
+               };
+
+               vdd2_reg: regulator@3 {
+                       reg = <3>;
+                       regulator-compatible = "vdd2";
+               };
+
+               vdd3_reg: regulator@4 {
+                       reg = <4>;
+                       regulator-compatible = "vdd3";
+               };
+
+               vdig1_reg: regulator@5 {
+                       reg = <5>;
+                       regulator-compatible = "vdig1";
+               };
+
+               vdig2_reg: regulator@6 {
+                       reg = <6>;
+                       regulator-compatible = "vdig2";
+               };
+
+               vpll_reg: regulator@7 {
+                       reg = <7>;
+                       regulator-compatible = "vpll";
+               };
+
+               vdac_reg: regulator@8 {
+                       reg = <8>;
+                       regulator-compatible = "vdac";
+               };
+
+               vaux1_reg: regulator@9 {
+                       reg = <9>;
+                       regulator-compatible = "vaux1";
+               };
+
+               vaux2_reg: regulator@10 {
+                       reg = <10>;
+                       regulator-compatible = "vaux2";
+               };
+
+               vaux33_reg: regulator@11 {
+                       reg = <11>;
+                       regulator-compatible = "vaux33";
+               };
+
+               vmmc_reg: regulator@12 {
+                       reg = <12>;
+                       regulator-compatible = "vmmc";
+               };
+
+               vbb_reg: regulator@13 {
+                       reg = <13>;
+                       regulator-compatible = "vbb";
+               };
+       };
+};
index 220603db5a3858a7764e2233a5a0ef990be52eef..89ab0553857ad85ddd343876de6cf52141e2150e 100644 (file)
@@ -6,7 +6,11 @@
 
 #include <asm/omap_gpio.h>
 
+#ifdef CONFIG_AM43XX
+#define OMAP_MAX_GPIO          192
+#else
 #define OMAP_MAX_GPIO          128
+#endif
 
 #define AM33XX_GPIO0_BASE       0x44E07000
 #define AM33XX_GPIO1_BASE       0x4804C000
index 5354637cf05ec140ae62a57bab9d3d73b2a7ca33..3c0716082a221fc273d748d872f5a359fdbdd055 100644 (file)
 #define CONFIG_CONS_INDEX              3
 #define CONFIG_SYS_NS16550_COM3                0x18023000
 
+/* Ethernet */
+#define CONFIG_BCM_SF2_ETH
+#define CONFIG_BCM_SF2_ETH_GMAC
+
+#define CONFIG_PHYLIB
+#define CONFIG_PHY_BROADCOM
+#define CONFIG_PHY_RESET_DELAY 10000 /* PHY reset delay in us*/
+
+#define CONFIG_CMD_PING
+#define CONFIG_CMD_MII
+
 #endif /* __ARCH_CONFIGS_H */
diff --git a/arch/arm/include/asm/arch-hi6220/dwmmc.h b/arch/arm/include/asm/arch-hi6220/dwmmc.h
new file mode 100644 (file)
index 0000000..c747383
--- /dev/null
@@ -0,0 +1,8 @@
+/*
+ * (C) Copyright 2015 Linaro
+ * Peter Griffin <peter.griffin@linaro.org>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+int hi6220_dwmci_add_port(int index, u32 regbase, int bus_width);
diff --git a/arch/arm/include/asm/arch-hi6220/gpio.h b/arch/arm/include/asm/arch-hi6220/gpio.h
new file mode 100644 (file)
index 0000000..98122a2
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2015 Linaro
+ * Peter Griffin <peter.griffin@linaro.org>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef _HI6220_GPIO_H_
+#define _HI6220_GPIO_H_
+
+#define HI6220_GPIO_BASE(bank) (((bank < 4) ? 0xf8011000 : \
+                               0xf7020000 - 0x4000) + (0x1000 * bank))
+
+#define BIT(x)                 (1 << (x))
+
+#define HI6220_GPIO_PER_BANK   8
+#define HI6220_GPIO_DIR                0x400
+
+struct gpio_bank {
+       u8 *base;       /* address of registers in physical memory */
+};
+
+/* Information about a GPIO bank */
+struct hikey_gpio_platdata {
+       int bank_index;
+       unsigned int base;     /* address of registers in physical memory */
+};
+
+#endif /* _HI6220_GPIO_H_ */
diff --git a/arch/arm/include/asm/arch-hi6220/hi6220.h b/arch/arm/include/asm/arch-hi6220/hi6220.h
new file mode 100644 (file)
index 0000000..4b987c2
--- /dev/null
@@ -0,0 +1,387 @@
+/*
+ * (C) Copyright 2015 Linaro
+ * Peter Griffin <peter.griffin@linaro.org>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef __HI6220_H__
+#define __HI6220_H__
+
+#include "hi6220_regs_alwayson.h"
+
+#define HI6220_MMC0_BASE                       0xF723D000
+#define HI6220_MMC1_BASE                       0xF723E000
+
+#define HI6220_PMUSSI_BASE                     0xF8000000
+
+#define HI6220_PERI_BASE                       0xF7030000
+
+struct peri_sc_periph_regs {
+       u32 ctrl1;              /*0x0*/
+       u32 ctrl2;
+       u32 ctrl3;
+       u32 ctrl4;
+       u32 ctrl5;
+       u32 ctrl6;
+       u32 ctrl8;
+       u32 ctrl9;
+       u32 ctrl10;
+       u32 ctrl12;
+       u32 ctrl13;
+       u32 ctrl14;
+
+       u32 unknown_1[8];
+
+       u32 ddr_ctrl0;          /*0x50*/
+
+       u32 unknown_2[16];
+
+       u32 stat1;              /*0x94*/
+
+       u32 unknown_3[90];
+
+       u32 clk0_en;            /*0x200*/
+       u32 clk0_dis;
+       u32 clk0_stat;
+
+       u32 unknown_4;
+
+       u32 clk1_en;            /*0x210*/
+       u32 clk1_dis;
+       u32 clk1_stat;
+
+       u32 unknown_5;
+
+       u32 clk2_en;            /*0x220*/
+       u32 clk2_dis;
+       u32 clk2_stat;
+
+       u32 unknown_6;
+
+       u32 clk3_en;            /*0x230*/
+       u32 clk3_dis;
+       u32 clk3_stat;
+
+       u32 unknown_7;
+
+       u32 clk8_en;            /*0x240*/
+       u32 clk8_dis;
+       u32 clk8_stat;
+
+       u32 unknown_8;
+
+       u32 clk9_en;            /*0x250*/
+       u32 clk9_dis;
+       u32 clk9_stat;
+
+       u32 unknown_9;
+
+       u32 clk10_en;           /*0x260*/
+       u32 clk10_dis;
+       u32 clk10_stat;
+
+       u32 unknown_10;
+
+       u32 clk12_en;           /*0x270*/
+       u32 clk12_dis;
+       u32 clk12_stat;
+
+       u32 unknown_11[33];
+
+       u32 rst0_en;            /*0x300*/
+       u32 rst0_dis;
+       u32 rst0_stat;
+
+       u32 unknown_12;
+
+       u32 rst1_en;            /*0x310*/
+       u32 rst1_dis;
+       u32 rst1_stat;
+
+       u32 unknown_13;
+
+       u32 rst2_en;            /*0x320*/
+       u32 rst2_dis;
+       u32 rst2_stat;
+
+       u32 unknown_14;
+
+       u32 rst3_en;            /*0x330*/
+       u32 rst3_dis;
+       u32 rst3_stat;
+
+       u32 unknown_15;
+
+       u32 rst8_en;            /*0x340*/
+       u32 rst8_dis;
+       u32 rst8_stat;
+
+       u32 unknown_16[45];
+
+       u32 clk0_sel;           /*0x400*/
+
+       u32 unknown_17[36];
+
+       u32 clkcfg8bit1;        /*0x494*/
+       u32 clkcfg8bit2;
+
+       u32 unknown_18[538];
+
+       u32 reserved8_addr;     /*0xd04*/
+};
+
+
+/* CTRL1 bit definitions */
+
+#define PERI_CTRL1_ETR_AXI_CSYSREQ_N                   (1 << 0)
+#define PERI_CTRL1_HIFI_INT_MASK                       (1 << 1)
+#define PERI_CTRL1_HIFI_ALL_INT_MASK                   (1 << 2)
+#define PERI_CTRL1_ETR_AXI_CSYSREQ_N_MSK               (1 << 16)
+#define PERI_CTRL1_HIFI_INT_MASK_MSK                   (1 << 17)
+#define PERI_CTRL1_HIFI_ALL_INT_MASK_MSK               (1 << 18)
+
+
+/* CTRL2 bit definitions */
+
+#define PERI_CTRL2_MMC_CLK_PHASE_BYPASS_EN_MMC0                (1 << 0)
+#define PERI_CTRL2_MMC_CLK_PHASE_BYPASS_EN_MMC1                (1 << 2)
+#define PERI_CTRL2_NAND_SYS_MEM_SEL                    (1 << 6)
+#define PERI_CTRL2_G3D_DDRT_AXI_SEL                    (1 << 7)
+#define PERI_CTRL2_GU_MDM_BBP_TESTPIN_SEL              (1 << 8)
+#define PERI_CTRL2_CODEC_SSI_MASTER_CHECK              (1 << 9)
+#define PERI_CTRL2_FUNC_TEST_SOFT                      (1 << 12)
+#define PERI_CTRL2_CSSYS_TS_ENABLE                     (1 << 15)
+#define PERI_CTRL2_HIFI_RAMCTRL_S_EMA                  (1 << 16)
+#define PERI_CTRL2_HIFI_RAMCTRL_S_EMAW                 (1 << 20)
+#define PERI_CTRL2_HIFI_RAMCTRL_S_EMAS                 (1 << 22)
+#define PERI_CTRL2_HIFI_RAMCTRL_S_RET1N                        (1 << 26)
+#define PERI_CTRL2_HIFI_RAMCTRL_S_RET2N                        (1 << 27)
+#define PERI_CTRL2_HIFI_RAMCTRL_S_PGEN                 (1 << 28)
+
+/* CTRL3 bit definitions */
+
+#define PERI_CTRL3_HIFI_DDR_HARQMEM_ADDR               (1 << 0)
+#define PERI_CTRL3_HIFI_HARQMEMRMP_EN                  (1 << 12)
+#define PERI_CTRL3_HARQMEM_SYS_MED_SEL                 (1 << 13)
+#define PERI_CTRL3_SOC_AP_OCCUPY_GRP1                  (1 << 14)
+#define PERI_CTRL3_SOC_AP_OCCUPY_GRP2                  (1 << 16)
+#define PERI_CTRL3_SOC_AP_OCCUPY_GRP3                  (1 << 18)
+#define PERI_CTRL3_SOC_AP_OCCUPY_GRP4                  (1 << 20)
+#define PERI_CTRL3_SOC_AP_OCCUPY_GRP5                  (1 << 22)
+#define PERI_CTRL3_SOC_AP_OCCUPY_GRP6                  (1 << 24)
+
+/* CTRL4 bit definitions */
+
+#define PERI_CTRL4_PICO_FSELV                          (1 << 0)
+#define PERI_CTRL4_FPGA_EXT_PHY_SEL                    (1 << 3)
+#define PERI_CTRL4_PICO_REFCLKSEL                      (1 << 4)
+#define PERI_CTRL4_PICO_SIDDQ                          (1 << 6)
+#define PERI_CTRL4_PICO_SUSPENDM_SLEEPM                        (1 << 7)
+#define PERI_CTRL4_PICO_OGDISABLE                      (1 << 8)
+#define PERI_CTRL4_PICO_COMMONONN                      (1 << 9)
+#define PERI_CTRL4_PICO_VBUSVLDEXT                     (1 << 10)
+#define PERI_CTRL4_PICO_VBUSVLDEXTSEL                  (1 << 11)
+#define PERI_CTRL4_PICO_VATESTENB                      (1 << 12)
+#define PERI_CTRL4_PICO_SUSPENDM                       (1 << 14)
+#define PERI_CTRL4_PICO_SLEEPM                         (1 << 15)
+#define PERI_CTRL4_BC11_C                              (1 << 16)
+#define PERI_CTRL4_BC11_B                              (1 << 17)
+#define PERI_CTRL4_BC11_A                              (1 << 18)
+#define PERI_CTRL4_BC11_GND                            (1 << 19)
+#define PERI_CTRL4_BC11_FLOAT                          (1 << 20)
+#define PERI_CTRL4_OTG_PHY_SEL                         (1 << 21)
+#define PERI_CTRL4_USB_OTG_SS_SCALEDOWN_MODE           (1 << 22)
+#define PERI_CTRL4_OTG_DM_PULLDOWN                     (1 << 24)
+#define PERI_CTRL4_OTG_DP_PULLDOWN                     (1 << 25)
+#define PERI_CTRL4_OTG_IDPULLUP                                (1 << 26)
+#define PERI_CTRL4_OTG_DRVBUS                          (1 << 27)
+#define PERI_CTRL4_OTG_SESSEND                         (1 << 28)
+#define PERI_CTRL4_OTG_BVALID                          (1 << 29)
+#define PERI_CTRL4_OTG_AVALID                          (1 << 30)
+#define PERI_CTRL4_OTG_VBUSVALID                       (1 << 31)
+
+/* CTRL5 bit definitions */
+
+#define PERI_CTRL5_USBOTG_RES_SEL                      (1 << 3)
+#define PERI_CTRL5_PICOPHY_ACAENB                      (1 << 4)
+#define PERI_CTRL5_PICOPHY_BC_MODE                     (1 << 5)
+#define PERI_CTRL5_PICOPHY_CHRGSEL                     (1 << 6)
+#define PERI_CTRL5_PICOPHY_VDATSRCEND                  (1 << 7)
+#define PERI_CTRL5_PICOPHY_VDATDETENB                  (1 << 8)
+#define PERI_CTRL5_PICOPHY_DCDENB                      (1 << 9)
+#define PERI_CTRL5_PICOPHY_IDDIG                       (1 << 10)
+#define PERI_CTRL5_DBG_MUX                             (1 << 11)
+
+/* CTRL6 bit definitions */
+
+#define PERI_CTRL6_CSSYSOFF_RAMCTRL_S_EMA              (1 << 0)
+#define PERI_CTRL6_CSSYSOFF_RAMCTRL_S_EMAW             (1 << 4)
+#define PERI_CTRL6_CSSYSOFF_RAMCTRL_S_EMAS             (1 << 6)
+#define PERI_CTRL6_CSSYSOFF_RAMCTRL_S_RET1N            (1 << 10)
+#define PERI_CTRL6_CSSYSOFF_RAMCTRL_S_RET2N            (1 << 11)
+#define PERI_CTRL6_CSSYSOFF_RAMCTRL_S_PGEN             (1 << 12)
+
+/* CTRL8 bit definitions */
+
+#define PERI_CTRL8_PICOPHY_TXRISETUNE0                 (1 << 0)
+#define PERI_CTRL8_PICOPHY_TXPREEMPAMPTUNE0            (1 << 2)
+#define PERI_CTRL8_PICOPHY_TXRESTUNE0                  (1 << 4)
+#define PERI_CTRL8_PICOPHY_TXHSSVTUNE0                 (1 << 6)
+#define PERI_CTRL8_PICOPHY_COMPDISTUNE0                        (1 << 8)
+#define PERI_CTRL8_PICOPHY_TXPREEMPPULSETUNE0          (1 << 11)
+#define PERI_CTRL8_PICOPHY_OTGTUNE0                    (1 << 12)
+#define PERI_CTRL8_PICOPHY_SQRXTUNE0                   (1 << 16)
+#define PERI_CTRL8_PICOPHY_TXVREFTUNE0                 (1 << 20)
+#define PERI_CTRL8_PICOPHY_TXFSLSTUNE0                 (1 << 28)
+
+/* CTRL9 bit definitions */
+
+#define PERI_CTRL9_PICOPLY_TESTCLKEN                   (1 << 0)
+#define PERI_CTRL9_PICOPLY_TESTDATAOUTSEL              (1 << 1)
+#define PERI_CTRL9_PICOPLY_TESTADDR                    (1 << 4)
+#define PERI_CTRL9_PICOPLY_TESTDATAIN                  (1 << 8)
+
+/* CLK0 EN/DIS/STAT bit definitions */
+
+#define PERI_CLK0_MMC0                                 (1 << 0)
+#define PERI_CLK0_MMC1                                 (1 << 1)
+#define PERI_CLK0_MMC2                                 (1 << 2)
+#define PERI_CLK0_NANDC                                        (1 << 3)
+#define PERI_CLK0_USBOTG                               (1 << 4)
+#define PERI_CLK0_PICOPHY                              (1 << 5)
+#define PERI_CLK0_PLL                                  (1 << 6)
+
+/* CLK1 EN/DIS/STAT bit definitions */
+
+#define PERI_CLK1_HIFI                                 (1 << 0)
+#define PERI_CLK1_DIGACODEC                            (1 << 5)
+
+/* CLK2 EN/DIS/STAT bit definitions */
+
+#define PERI_CLK2_IPF                                  (1 << 0)
+#define PERI_CLK2_SOCP                                 (1 << 1)
+#define PERI_CLK2_DMAC                                 (1 << 2)
+#define PERI_CLK2_SECENG                               (1 << 3)
+#define PERI_CLK2_HPM0                                 (1 << 5)
+#define PERI_CLK2_HPM1                                 (1 << 6)
+#define PERI_CLK2_HPM2                                 (1 << 7)
+#define PERI_CLK2_HPM3                                 (1 << 8)
+
+/* CLK8 EN/DIS/STAT bit definitions */
+
+#define PERI_CLK8_RS0                                  (1 << 0)
+#define PERI_CLK8_RS2                                  (1 << 1)
+#define PERI_CLK8_RS3                                  (1 << 2)
+#define PERI_CLK8_MS0                                  (1 << 3)
+#define PERI_CLK8_MS2                                  (1 << 5)
+#define PERI_CLK8_XG2RAM0                              (1 << 6)
+#define PERI_CLK8_X2SRAM                               (1 << 7)
+#define PERI_CLK8_SRAM                                 (1 << 8)
+#define PERI_CLK8_ROM                                  (1 << 9)
+#define PERI_CLK8_HARQ                                 (1 << 10)
+#define PERI_CLK8_MMU                                  (1 << 11)
+#define PERI_CLK8_DDRC                                 (1 << 12)
+#define PERI_CLK8_DDRPHY                               (1 << 13)
+#define PERI_CLK8_DDRPHY_REF                           (1 << 14)
+#define PERI_CLK8_X2X_SYSNOC                           (1 << 15)
+#define PERI_CLK8_X2X_CCPU                             (1 << 16)
+#define PERI_CLK8_DDRT                                 (1 << 17)
+#define PERI_CLK8_DDRPACK_RS                           (1 << 18)
+
+/* CLK9 EN/DIS/STAT bit definitions */
+
+#define PERI_CLK9_CARM_DAP                             (1 << 0)
+#define PERI_CLK9_CARM_ATB                             (1 << 1)
+#define PERI_CLK9_CARM_LBUS                            (1 << 2)
+#define PERI_CLK9_CARM_KERNEL                          (1 << 3)
+
+/* CLK10 EN/DIS/STAT bit definitions */
+
+#define PERI_CLK10_IPF_CCPU                            (1 << 0)
+#define PERI_CLK10_SOCP_CCPU                           (1 << 1)
+#define PERI_CLK10_SECENG_CCPU                         (1 << 2)
+#define PERI_CLK10_HARQ_CCPU                           (1 << 3)
+#define PERI_CLK10_IPF_MCU                             (1 << 16)
+#define PERI_CLK10_SOCP_MCU                            (1 << 17)
+#define PERI_CLK10_SECENG_MCU                          (1 << 18)
+#define PERI_CLK10_HARQ_MCU                            (1 << 19)
+
+/* CLK12 EN/DIS/STAT bit definitions */
+
+#define PERI_CLK12_HIFI_SRC                            (1 << 0)
+#define PERI_CLK12_MMC0_SRC                            (1 << 1)
+#define PERI_CLK12_MMC1_SRC                            (1 << 2)
+#define PERI_CLK12_MMC2_SRC                            (1 << 3)
+#define PERI_CLK12_SYSPLL_DIV                          (1 << 4)
+#define PERI_CLK12_TPIU_SRC                            (1 << 5)
+#define PERI_CLK12_MMC0_HF                             (1 << 6)
+#define PERI_CLK12_MMC1_HF                             (1 << 7)
+#define PERI_CLK12_PLL_TEST_SRC                                (1 << 8)
+#define PERI_CLK12_CODEC_SOC                           (1 << 9)
+#define PERI_CLK12_MEDIA                               (1 << 10)
+
+/* RST0 EN/DIS/STAT bit definitions */
+
+#define PERI_RST0_MMC0                                 (1 << 0)
+#define PERI_RST0_MMC1                                 (1 << 1)
+#define PERI_RST0_MMC2                                 (1 << 2)
+#define PERI_RST0_NANDC                                        (1 << 3)
+#define PERI_RST0_USBOTG_BUS                           (1 << 4)
+#define PERI_RST0_POR_PICOPHY                          (1 << 5)
+#define PERI_RST0_USBOTG                               (1 << 6)
+#define PERI_RST0_USBOTG_32K                           (1 << 7)
+
+/* RST1 EN/DIS/STAT bit definitions */
+
+#define PERI_RST1_HIFI                                 (1 << 0)
+#define PERI_RST1_DIGACODEC                            (1 << 5)
+
+/* RST2 EN/DIS/STAT bit definitions */
+
+#define PERI_RST2_IPF                                  (1 << 0)
+#define PERI_RST2_SOCP                                 (1 << 1)
+#define PERI_RST2_DMAC                                 (1 << 2)
+#define PERI_RST2_SECENG                               (1 << 3)
+#define PERI_RST2_ABB                                  (1 << 4)
+#define PERI_RST2_HPM0                                 (1 << 5)
+#define PERI_RST2_HPM1                                 (1 << 6)
+#define PERI_RST2_HPM2                                 (1 << 7)
+#define PERI_RST2_HPM3                                 (1 << 8)
+
+/* RST3 EN/DIS/STAT bit definitions */
+
+#define PERI_RST3_CSSYS                                        (1 << 0)
+#define PERI_RST3_I2C0                                 (1 << 1)
+#define PERI_RST3_I2C1                                 (1 << 2)
+#define PERI_RST3_I2C2                                 (1 << 3)
+#define PERI_RST3_I2C3                                 (1 << 4)
+#define PERI_RST3_UART1                                        (1 << 5)
+#define PERI_RST3_UART2                                        (1 << 6)
+#define PERI_RST3_UART3                                        (1 << 7)
+#define PERI_RST3_UART4                                        (1 << 8)
+#define PERI_RST3_SSP                                  (1 << 9)
+#define PERI_RST3_PWM                                  (1 << 10)
+#define PERI_RST3_BLPWM                                        (1 << 11)
+#define PERI_RST3_TSENSOR                              (1 << 12)
+#define PERI_RST3_DAPB                                 (1 << 18)
+#define PERI_RST3_HKADC                                        (1 << 19)
+#define PERI_RST3_CODEC                                        (1 << 20)
+
+/* RST8 EN/DIS/STAT bit definitions */
+
+#define PERI_RST8_RS0                                  (1 << 0)
+#define PERI_RST8_RS2                                  (1 << 1)
+#define PERI_RST8_RS3                                  (1 << 2)
+#define PERI_RST8_MS0                                  (1 << 3)
+#define PERI_RST8_MS2                                  (1 << 5)
+#define PERI_RST8_XG2RAM0                              (1 << 6)
+#define PERI_RST8_X2SRAM_TZMA                          (1 << 7)
+#define PERI_RST8_SRAM                                 (1 << 8)
+#define PERI_RST8_HARQ                                 (1 << 10)
+#define PERI_RST8_DDRC                                 (1 << 12)
+#define PERI_RST8_DDRC_APB                             (1 << 13)
+#define PERI_RST8_DDRPACK_APB                          (1 << 14)
+#define PERI_RST8_DDRT                                 (1 << 17)
+
+#endif /*__HI62220_H__*/
diff --git a/arch/arm/include/asm/arch-hi6220/hi6220_regs_alwayson.h b/arch/arm/include/asm/arch-hi6220/hi6220_regs_alwayson.h
new file mode 100644 (file)
index 0000000..7d286c0
--- /dev/null
@@ -0,0 +1,420 @@
+/*
+ * (C) Copyright 2015 Linaro
+ * Peter Griffin <peter.griffin@linaro.org>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef __HI6220_ALWAYSON_H__
+#define __HI6220_ALWAYSON_H__
+
+#define ALWAYSON_CTRL_BASE                     0xF7800000
+
+struct alwayson_sc_regs {
+       u32 ctrl0;              /*0x0*/
+       u32 ctrl1;
+       u32 ctrl2;
+
+       u32 unknown;
+
+       u32 stat0;              /*0x10*/
+       u32 stat1;
+       u32 mcu_imctrl;
+       u32 mcu_imstat;
+
+       u32 unknown_1[9];
+
+       u32 secondary_int_en0;  /*0x44*/
+       u32 secondary_int_statr0;
+       u32 secondary_int_statm0;
+
+       u32 unknown_2;
+
+       u32 mcu_wkup_int_en6;   /*0x54*/
+       u32 mcu_wkup_int_statr6;
+       u32 mcu_wkup_int_statm6;
+
+       u32 unknown_3;
+
+       u32 mcu_wkup_int_en5;   /*0x64*/
+       u32 mcu_wkup_int_statr5;
+       u32 mcu_wkup_int_statm5;
+
+       u32 unknown_4[9];
+
+       u32 mcu_wkup_int_en4;   /*0x94*/
+       u32 mcu_wkup_int_statr4;
+       u32 mcu_wkup_int_statm4;
+
+       u32 unknown_5[2];
+
+       u32 mcu_wkup_int_en0;   /*0xa8*/
+       u32 mcu_wkup_int_statr0;
+       u32 mcu_wkup_int_statm0;
+
+       u32 mcu_wkup_int_en1;   /*0xb4*/
+       u32 mcu_wkup_int_statr1;
+       u32 mcu_wkup_int_statm1;
+
+       u32 unknown_6;
+
+       u32 int_statr;          /*0xc4*/
+       u32 int_statm;
+       u32 int_clear;
+
+       u32 int_en_set;         /*0xd0*/
+       u32 int_en_dis;
+       u32 int_en_stat;
+
+       u32 unknown_7[2];
+
+       u32 int_statr1;         /*0xc4*/
+       u32 int_statm1;
+       u32 int_clear1;
+
+       u32 int_en_set1;        /*0xf0*/
+       u32 int_en_dis1;
+       u32 int_en_stat1;
+
+       u32 unknown_8[53];
+
+       u32 timer_en0;          /*0x1d0*/
+       u32 timer_en1;
+
+       u32 unknown_9[6];
+
+       u32 timer_en4;          /*0x1f0*/
+       u32 timer_en5;
+
+       u32 unknown_10[130];
+
+       u32 mcu_subsys_ctrl0;   /*0x400*/
+       u32 mcu_subsys_ctrl1;
+       u32 mcu_subsys_ctrl2;
+       u32 mcu_subsys_ctrl3;
+       u32 mcu_subsys_ctrl4;
+       u32 mcu_subsys_ctrl5;
+       u32 mcu_subsys_ctrl6;
+       u32 mcu_subsys_ctrl7;
+
+       u32 unknown_10_1[8];
+
+       u32 mcu_subsys_stat0;   /*0x440*/
+       u32 mcu_subsys_stat1;
+       u32 mcu_subsys_stat2;
+       u32 mcu_subsys_stat3;
+       u32 mcu_subsys_stat4;
+       u32 mcu_subsys_stat5;
+       u32 mcu_subsys_stat6;
+       u32 mcu_subsys_stat7;
+
+       u32 unknown_11[116];
+
+       u32 clk4_en;            /*0x630*/
+       u32 clk4_dis;
+       u32 clk4_stat;
+
+       u32 clk5_en;            /*0x63c*/
+       u32 clk5_dis;
+       u32 clk5_stat;
+
+       u32 unknown_12[42];
+
+       u32 rst4_en;            /*0x6f0*/
+       u32 rst4_dis;
+       u32 rst4_stat;
+
+       u32 rst5_en;            /*0x6fc*/
+       u32 rst5_dis;
+       u32 rst5_stat;
+
+       u32 unknown_13[62];
+
+       u32 pw_clk0_en;         /*0x800*/
+       u32 pw_clk0_dis;
+       u32 pw_clk0_stat;
+
+       u32 unknown_13_1;
+
+       u32 pw_rst0_en;         /*0x810*/
+       u32 pw_rst0_dis;
+       u32 pw_rst0_stat;
+
+       u32 unknown_14;
+
+       u32 pw_isoen0;          /*0x820*/
+       u32 pw_isodis0;
+       u32 pw_iso_stat0;
+
+       u32 unknown_14_1;
+
+       u32 pw_mtcmos_en0;      /*0x830*/
+       u32 pw_mtcmos_dis0;
+       u32 pw_mtcmos_stat0;
+       u32 pw_mtcmos_ack_stat0;
+       u32 pw_mtcmos_timeout_stat0;
+
+       u32 unknown_14_2[3];
+
+       u32 pw_stat0;           /*0x850*/
+       u32 pw_stat1;
+
+       u32 unknown_15[10];
+
+       u32 systest_stat;       /*0x880*/
+
+       u32 unknown_16[3];
+
+       u32 systest_slicer_cnt0;/*0x890*/
+       u32 systest_slicer_cnt1;
+
+       u32 unknown_17[12];
+
+       u32 pw_ctrl1;           /*0x8C8*/
+       u32 pw_ctrl;
+
+       u32 mcpu_voteen;
+       u32 mcpu_votedis;
+       u32 mcpu_votestat;
+
+       u32 unknown_17_1;
+
+       u32 mcpu_vote_msk0;     /*0x8E0*/
+       u32 mcpu_vote_msk1;
+       u32 mcpu_votestat0_msk;
+       u32 mcpu_votestat1_msk;
+
+       u32 peri_voteen;        /*0x8F0*/
+       u32 peri_votedis;
+       u32 peri_votestat;
+
+       u32 unknown_17_2;
+
+       u32 peri_vote_msk0;     /*0x900*/
+       u32 peri_vote_msk1;
+       u32 peri_votestat0_msk;
+       u32 erpi_votestat1_msk;
+       u32 acpu_voteen;
+       u32 acpu_votedis;
+       u32 acpu_votestat;
+
+       u32 unknown_18;
+
+       u32 acpu_vote_msk0;     /*0x920*/
+       u32 acpu_vote_msk1;
+       u32 acpu_votestat0_msk;
+       u32 acpu_votestat1_msk;
+       u32 mcu_voteen;
+       u32 mcu_votedis;
+       u32 mcu_votestat;
+
+       u32 unknown_18_1;
+
+       u32 mcu_vote_msk0;      /*0x940*/
+       u32 mcu_vote_msk1;
+       u32 mcu_vote_votestat0_msk;
+       u32 mcu_vote_votestat1_msk;
+
+       u32 unknown_18_1_2[4];
+
+       u32 mcu_vote_vote1en;   /*0x960*/
+       u32 mcu_vote_vote1dis;
+       u32 mcu_vote_vote1stat;
+
+       u32 unknown_18_2;
+
+       u32 mcu_vote_vote1_msk0;/*0x970*/
+       u32 mcu_vote_vote1_msk1;
+       u32 mcu_vote_vote1stat0_msk;
+       u32 mcu_vote_vote1stat1_msk;
+       u32 mcu_vote_vote2en;
+       u32 mcu_vote_vote2dis;
+       u32 mcu_vote_vote2stat;
+
+       u32 unknown_18_3;
+
+       u32 mcu_vote2_msk0;     /*0x990*/
+       u32 mcu_vote2_msk1;
+       u32 mcu_vote2stat0_msk;
+       u32 mcu_vote2stat1_msk;
+       u32 vote_ctrl;
+       u32 vote_stat;          /*0x9a4*/
+
+       u32 unknown_19[342];
+
+       u32 econum;             /*0xf00*/
+
+       u32 unknown_20_1[3];
+
+       u32 scchipid;           /*0xf10*/
+
+       u32 unknown_20_2[2];
+
+       u32 scsocid;            /*0xf1c*/
+
+       u32 unknown_20[48];
+
+       u32 soc_fpga_rtl_def;   /*0xfe0*/
+       u32 soc_fpga_pr_def;
+       u32 soc_fpga_res_def0;
+       u32 soc_fpga_res_def1;  /*0xfec*/
+};
+
+/* ctrl0 bit definitions */
+
+#define ALWAYSON_SC_SYS_CTRL0_MODE_NORMAL                      0x004
+#define ALWAYSON_SC_SYS_CTRL0_MODE_MASK                                0x007
+
+/* ctrl1 bit definitions */
+
+#define ALWAYSON_SC_SYS_CTRL1_AARM_WD_RST_CFG                  (1 << 0)
+#define ALWAYSON_SC_SYS_CTRL1_REMAP_SRAM_AARM                  (1 << 1)
+#define ALWAYSON_SC_SYS_CTRL1_EFUSEC_REMAP                     (1 << 2)
+#define ALWAYSON_SC_SYS_CTRL1_EXT_PLL_SEL                      (1 << 3)
+#define ALWAYSON_SC_SYS_CTRL1_MCU_WDG0_RSTMCU_CFG              (1 << 4)
+#define ALWAYSON_SC_SYS_CTRL1_USIM0_HPD_DE_BOUNCE_CFG          (1 << 6)
+#define ALWAYSON_SC_SYS_CTRL1_USIM0_HPD_OE_CFG                 (1 << 7)
+#define ALWAYSON_SC_SYS_CTRL1_USIM1_HPD_DE_BOUNCE_CFG          (1 << 8)
+#define ALWAYSON_SC_SYS_CTRL1_USIM1_HPD_OE_CFG                 (1 << 9)
+#define ALWAYSON_SC_SYS_CTRL1_BUS_DFS_FORE_HD_CFG              (1 << 10)
+#define ALWAYSON_SC_SYS_CTRL1_BUS_DFS_FORE_HD_CFG1             (1 << 11)
+#define ALWAYSON_SC_SYS_CTRL1_USIM0_HPD_OE_SFT                 (1 << 12)
+#define ALWAYSON_SC_SYS_CTRL1_USIM1_HPD_OE_SFT                 (1 << 13)
+#define ALWAYSON_SC_SYS_CTRL1_MCU_CLKEN_HARDCFG                        (1 << 15)
+#define ALWAYSON_SC_SYS_CTRL1_AARM_WD_RST_CFG_MSK              (1 << 16)
+#define ALWAYSON_SC_SYS_CTRL1_REMAP_SRAM_AARM_MSK              (1 << 17)
+#define ALWAYSON_SC_SYS_CTRL1_EFUSEC_REMAP_MSK                 (1 << 18)
+#define ALWAYSON_SC_SYS_CTRL1_EXT_PLL_SEL_MSK                  (1 << 19)
+#define ALWAYSON_SC_SYS_CTRL1_MCU_WDG0_RSTMCU_CFG_MSK          (1 << 20)
+#define ALWAYSON_SC_SYS_CTRL1_USIM0_HPD_DE_BOUNCE_CFG_MSK      (1 << 22)
+#define ALWAYSON_SC_SYS_CTRL1_USIM0_HPD_OE_CFG_MSK             (1 << 23)
+#define ALWAYSON_SC_SYS_CTRL1_USIM1_HPD_DE_BOUNCE_CFG_MSK      (1 << 24)
+#define ALWAYSON_SC_SYS_CTRL1_USIM1_HPD_OE_CFG_MSK             (1 << 25)
+#define ALWAYSON_SC_SYS_CTRL1_BUS_DFS_FORE_HD_CFG_MSK          (1 << 26)
+#define ALWAYSON_SC_SYS_CTRL1_BUS_DFS_FORE_HD_CFG1_MSK         (1 << 27)
+#define ALWAYSON_SC_SYS_CTRL1_USIM0_HPD_OE_SFT_MSK             (1 << 28)
+#define ALWAYSON_SC_SYS_CTRL1_USIM1_HPD_OE_SFT_MSK             (1 << 29)
+#define ALWAYSON_SC_SYS_CTRL1_MCU_CLKEN_HARDCFG_MSK            (1 << 31)
+
+/* ctrl2 bit definitions */
+
+#define ALWAYSON_SC_SYS_CTRL2_MCU_SFT_RST_STAT_CLEAR           (1 << 26)
+#define ALWAYSON_SC_SYS_CTRL2_MCU_WDG0_RST_STAT_CLEAR          (1 << 27)
+#define ALWAYSON_SC_SYS_CTRL2_TSENSOR_RST_STAT_CLEAR           (1 << 28)
+#define ALWAYSON_SC_SYS_CTRL2_ACPU_WDG_RST_STAT_CLEAR          (1 << 29)
+#define ALWAYSON_SC_SYS_CTRL2_MCU_WDG1_RST_STAT_CLEAR          (1 << 30)
+#define ALWAYSON_SC_SYS_CTRL2_GLB_SRST_STAT_CLEAR              (1 << 31)
+
+/* stat0 bit definitions */
+
+#define ALWAYSON_SC_SYS_STAT0_MCU_RST_STAT                     (1 << 25)
+#define ALWAYSON_SC_SYS_STAT0_MCU_SOFTRST_STAT                 (1 << 26)
+#define ALWAYSON_SC_SYS_STAT0_MCU_WDGRST_STAT                  (1 << 27)
+#define ALWAYSON_SC_SYS_STAT0_TSENSOR_HARDRST_STAT             (1 << 28)
+#define ALWAYSON_SC_SYS_STAT0_ACPU_WD_GLB_RST_STAT             (1 << 29)
+#define ALWAYSON_SC_SYS_STAT0_CM3_WDG1_RST_STAT                        (1 << 30)
+#define ALWAYSON_SC_SYS_STAT0_GLB_SRST_STAT                    (1 << 31)
+
+/* stat1 bit definitions */
+
+#define ALWAYSON_SC_SYS_STAT1_MODE_STATUS                      (1 << 0)
+#define ALWAYSON_SC_SYS_STAT1_BOOT_SEL_LOCK                    (1 << 16)
+#define ALWAYSON_SC_SYS_STAT1_FUNC_MODE_LOCK                   (1 << 17)
+#define ALWAYSON_SC_SYS_STAT1_BOOT_MODE_LOCK                   (1 << 19)
+#define ALWAYSON_SC_SYS_STAT1_FUN_JTAG_MODE_OUT                        (1 << 20)
+#define ALWAYSON_SC_SYS_STAT1_SECURITY_BOOT_FLG                        (1 << 27)
+#define ALWAYSON_SC_SYS_STAT1_EFUSE_NANDBOOT_MSK               (1 << 28)
+#define ALWAYSON_SC_SYS_STAT1_EFUSE_NAND_BITWIDE               (1 << 29)
+
+/* ctrl3 bit definitions */
+
+#define ALWAYSON_SC_MCU_SUBSYS_CTRL3_RCLK_3                    0x003
+#define ALWAYSON_SC_MCU_SUBSYS_CTRL3_RCLK_MASK                 0x007
+#define ALWAYSON_SC_MCU_SUBSYS_CTRL3_CSSYS_CTRL_PROT           (1 << 3)
+#define ALWAYSON_SC_MCU_SUBSYS_CTRL3_TCXO_AFC_OEN_CRG          (1 << 4)
+#define ALWAYSON_SC_MCU_SUBSYS_CTRL3_AOB_IO_SEL18_USIM1                (1 << 8)
+#define ALWAYSON_SC_MCU_SUBSYS_CTRL3_AOB_IO_SEL18_USIM0                (1 << 9)
+#define ALWAYSON_SC_MCU_SUBSYS_CTRL3_AOB_IO_SEL18_SD           (1 << 10)
+#define ALWAYSON_SC_MCU_SUBSYS_CTRL3_MCU_SUBSYS_CTRL3_RESERVED (1 << 11)
+
+/* clk4_en bit definitions */
+
+#define ALWAYSON_SC_PERIPH_CLK4_EN_HCLK_MCU                    (1 << 0)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_CLK_MCU_DAP                 (1 << 3)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_CM3_TIMER0             (1 << 4)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_CM3_TIMER1             (1 << 5)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_CM3_WDT0               (1 << 6)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_CM3_WDT1               (1 << 7)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_HCLK_IPC_S                  (1 << 8)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_HCLK_IPC_NS                 (1 << 9)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_EFUSEC                 (1 << 10)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_TZPC                   (1 << 11)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_WDT0                   (1 << 12)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_WDT1                   (1 << 13)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_WDT2                   (1 << 14)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_TIMER0                 (1 << 15)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_TIMER1                 (1 << 16)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_TIMER2                 (1 << 17)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_TIMER3                 (1 << 18)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_TIMER4                 (1 << 19)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_TIMER5                 (1 << 20)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_TIMER6                 (1 << 21)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_TIMER7                 (1 << 22)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_TIMER8                 (1 << 23)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_CLK_UART0                   (1 << 24)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_CLK_RTC0                    (1 << 25)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_CLK_RTC1                    (1 << 26)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_PCLK_PMUSSI                 (1 << 27)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_CLK_JTAG_AUTH               (1 << 28)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_CLK_CS_DAPB_ON              (1 << 29)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_CLK_PDM                     (1 << 30)
+#define ALWAYSON_SC_PERIPH_CLK4_EN_CLK_SSI_PAD                 (1 << 31)
+
+/* clk5_en bit definitions */
+
+#define ALWAYSON_SC_PERIPH_CLK5_EN_PCLK_PMUSSI_CCPU            (1 << 0)
+#define ALWAYSON_SC_PERIPH_CLK5_EN_PCLK_EFUSEC_CCPU            (1 << 1)
+#define ALWAYSON_SC_PERIPH_CLK5_EN_HCLK_IPC_CCPU               (1 << 2)
+#define ALWAYSON_SC_PERIPH_CLK5_EN_HCLK_IPC_NS_CCPU            (1 << 3)
+#define ALWAYSON_SC_PERIPH_CLK5_EN_PCLK_PMUSSI_MCU             (1 << 16)
+#define ALWAYSON_SC_PERIPH_CLK5_EN_PCLK_EFUSEC_MCU             (1 << 17)
+#define ALWAYSON_SC_PERIPH_CLK5_EN_HCLK_IPC_MCU                        (1 << 18)
+#define ALWAYSON_SC_PERIPH_CLK5_EN_HCLK_IPC_NS_MCU             (1 << 19)
+
+/* rst4_dis bit definitions */
+
+#define ALWAYSON_SC_PERIPH_RST4_DIS_RESET_MCU_ECTR_N           (1 << 0)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_RESET_MCU_SYS_N            (1 << 1)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_RESET_MCU_POR_N            (1 << 2)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_RESET_MCU_DAP_N            (1 << 3)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_CM3_TIMER0_N                (1 << 4)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_CM3_TIMER1_N                (1 << 5)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_CM3_WDT0_N          (1 << 6)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_CM3_WDT1_N          (1 << 7)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_HRESET_IPC_S_N             (1 << 8)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_HRESET_IPC_NS_N            (1 << 9)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_EFUSEC_N            (1 << 10)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_WDT0_N              (1 << 12)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_WDT1_N              (1 << 13)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_WDT2_N              (1 << 14)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_TIMER0_N            (1 << 15)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_TIMER1_N            (1 << 16)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_TIMER2_N            (1 << 17)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_TIMER3_N            (1 << 18)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_TIMER4_N            (1 << 19)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_TIMER5_N            (1 << 20)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_TIMER6_N            (1 << 21)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_TIMER7_N            (1 << 22)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_TIMER8_N            (1 << 23)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_UART0_N             (1 << 24)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_RESET_RTC0_N               (1 << 25)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_RESET_RTC1_N               (1 << 26)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_PMUSSI_N            (1 << 27)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_RESET_JTAG_AUTH_N          (1 << 28)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_RESET_CS_DAPB_ON_N         (1 << 29)
+#define ALWAYSON_SC_PERIPH_RST4_DIS_MDM_SUBSYS_GLB             (1 << 30)
+
+#define PCLK_TIMER1                                            (1 << 16)
+#define PCLK_TIMER0                                            (1 << 15)
+
+#endif /* __HI6220_ALWAYSON_H__ */
diff --git a/arch/arm/include/asm/arch-hi6220/periph.h b/arch/arm/include/asm/arch-hi6220/periph.h
new file mode 100644 (file)
index 0000000..7155f60
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2015 Linaro
+ * Peter Griffin <peter.griffin@linaro.org>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef __ASM_ARM_ARCH_PERIPH_H
+#define __ASM_ARM_ARCH_PERIPH_H
+
+/*
+ * Peripherals required for pinmux configuration. List will
+ * grow with support for more devices getting added.
+ * Numbering based on interrupt table.
+ *
+ */
+enum periph_id {
+       PERIPH_ID_UART0 = 36,
+       PERIPH_ID_UART1,
+       PERIPH_ID_UART2,
+       PERIPH_ID_UART3,
+       PERIPH_ID_UART4,
+       PERIPH_ID_UART5,
+       PERIPH_ID_SDMMC0 = 72,
+       PERIPH_ID_SDMMC1,
+
+       PERIPH_ID_NONE = -1,
+};
+
+#endif /* __ASM_ARM_ARCH_PERIPH_H */
diff --git a/arch/arm/include/asm/arch-hi6220/pinmux.h b/arch/arm/include/asm/arch-hi6220/pinmux.h
new file mode 100644 (file)
index 0000000..1dd5f9b
--- /dev/null
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2015 Linaro
+ * Peter Griffin <peter.griffin@linaro.org>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef __ASM_ARM_ARCH_PINMUX_H
+#define __ASM_ARM_ARCH_PINMUX_H
+
+#include "periph.h"
+
+
+/* iomg bit definition */
+#define MUX_M0          0
+#define MUX_M1          1
+#define MUX_M2          2
+#define MUX_M3          3
+#define MUX_M4          4
+#define MUX_M5          5
+#define MUX_M6          6
+#define MUX_M7          7
+
+/* iocg bit definition */
+#define PULL_MASK       (3)
+#define PULL_DIS        (0)
+#define PULL_UP         (1 << 0)
+#define PULL_DOWN       (1 << 1)
+
+/* drive strength definition */
+#define DRIVE_MASK      (7 << 4)
+#define DRIVE1_02MA     (0 << 4)
+#define DRIVE1_04MA     (1 << 4)
+#define DRIVE1_08MA     (2 << 4)
+#define DRIVE1_10MA     (3 << 4)
+#define DRIVE2_02MA     (0 << 4)
+#define DRIVE2_04MA     (1 << 4)
+#define DRIVE2_08MA     (2 << 4)
+#define DRIVE2_10MA     (3 << 4)
+#define DRIVE3_04MA     (0 << 4)
+#define DRIVE3_08MA     (1 << 4)
+#define DRIVE3_12MA     (2 << 4)
+#define DRIVE3_16MA     (3 << 4)
+#define DRIVE3_20MA     (4 << 4)
+#define DRIVE3_24MA     (5 << 4)
+#define DRIVE3_32MA     (6 << 4)
+#define DRIVE3_40MA     (7 << 4)
+#define DRIVE4_02MA     (0 << 4)
+#define DRIVE4_04MA     (2 << 4)
+#define DRIVE4_08MA     (4 << 4)
+#define DRIVE4_10MA     (6 << 4)
+
+#define HI6220_PINMUX0_BASE 0xf7010000
+#define HI6220_PINMUX1_BASE 0xf7010800
+
+#ifndef        __ASSEMBLY__
+
+/* maybe more registers, but highest used is 123 */
+#define REG_NUM 123
+
+struct hi6220_pinmux0_regs {
+       uint32_t        iomg[REG_NUM];
+};
+
+struct hi6220_pinmux1_regs {
+       uint32_t        iocfg[REG_NUM];
+};
+
+#endif
+
+/**
+ * Configures the pinmux for a particular peripheral.
+ *
+ * This function will configure the peripheral pinmux along with
+ * pull-up/down and drive strength.
+ *
+ * @param peripheral   peripheral to be configured
+ * @return 0 if ok, -1 on error (e.g. unsupported peripheral)
+ */
+int hi6220_pinmux_config(int peripheral);
+
+#endif
index 94498695a0291814478db80cb3ba1198eca927c5..010211a7e102b0ef1b3a72304147007952ec5684 100644 (file)
@@ -153,7 +153,9 @@ struct clk_pm_regs {
 #define CLK_DMA_ENABLE                 (1 << 0)
 
 /* NAND Clock Control Register bits */
+#define CLK_NAND_SLC                   (1 << 0)
 #define CLK_NAND_MLC                   (1 << 1)
+#define CLK_NAND_SLC_SELECT            (1 << 2)
 #define CLK_NAND_MLC_INT               (1 << 5)
 
 /* SSP Clock Control Register bits */
index c3d890dde437f1502e470bcc947da2147948f090..0845f83e86f36df827060a613f2092d53537d9a0 100644 (file)
@@ -12,6 +12,7 @@
 void lpc32xx_uart_init(unsigned int uart_id);
 void lpc32xx_mac_init(void);
 void lpc32xx_mlc_nand_init(void);
+void lpc32xx_slc_nand_init(void);
 void lpc32xx_i2c_init(unsigned int devnum);
 void lpc32xx_ssp_init(void);
 #if defined(CONFIG_SPL_BUILD)
index b7044362d3da9faa42b38e49e06a788bb235735b..707a1f304a7255fddbd92e20d0f6463637aa9c61 100644 (file)
@@ -1,4 +1,6 @@
 /*
+ * Copyright 2014 Freescale Semiconductor, Inc.
+ *
  * SPDX-License-Identifier:    GPL-2.0+
  */
 
index 537d13b2637a625cbe3e79fdf49d12eaeb229731..2c94a814ef7cb9b863ac21157174ebd4fa6b8681 100644 (file)
@@ -51,6 +51,9 @@ struct control_prog_io {
 /* Bit definition for CONTROL_PROG_IO1 */
 #define PRG_I2C2_PULLUPRESX            0x00000001
 
+/* Scratchpad memory */
+#define OMAP34XX_SCRATCHPAD            (OMAP34XX_CTRL_BASE + 0x910)
+
 /* UART */
 #define OMAP34XX_UART1                 (OMAP34XX_L4_IO_BASE + 0x6a000)
 #define OMAP34XX_UART2                 (OMAP34XX_L4_IO_BASE + 0x6c000)
@@ -256,6 +259,10 @@ struct omap_boot_parameters {
        unsigned char ch_flags;
        unsigned int boot_device_descriptor;
 };
+
+char omap_reboot_mode(void);
+int omap_reboot_mode_clear(void);
+int omap_reboot_mode_store(char c);
 #endif
 
 #endif
index 6da8297c7292ec5329196fab082d45f93d9b12a5..7fcb7838940369c8613d1ce731b050a30f3d15d4 100644 (file)
@@ -81,5 +81,6 @@ static inline u32 usec_to_32k(u32 usec)
 }
 
 #define OMAP5_SERVICE_L2ACTLR_SET    0x104
+#define OMAP5_SERVICE_ACR_SET        0x107
 
 #endif
index 5afe791761f38eeb3b714138c52b8a60cd45bf69..847da59c1d14ebd0c8df64307f535b0d600b42be 100644 (file)
@@ -276,6 +276,7 @@ extern unsigned int __machine_arch_type;
 #define MACH_TYPE_TRIZEPS4WL           1649
 #define MACH_TYPE_TS78XX               1652
 #define MACH_TYPE_SFFSDR               1657
+#define MACH_TYPE_SMARTWEB             1668
 #define MACH_TYPE_PCM037               1673
 #define MACH_TYPE_DB88F6281_BP         1680
 #define MACH_TYPE_RD88F6192_NAS        1681
index 839af54d482e9fbc9e03c5a777eb9317566681ea..ef38b6308d870b1b4121c622993fe19db2f2851a 100644 (file)
 
 #include <asm/arch/cpu.h>
 
-enum gpio_method {
-       METHOD_GPIO_24XX        = 4,
-};
-
 #ifdef CONFIG_DM_GPIO
 
 /* Information about a GPIO bank */
 struct omap_gpio_platdata {
        int bank_index;
        ulong base;     /* address of registers in physical memory */
-       enum gpio_method method;
+       const char *port_name;
 };
 
 #else
 
 struct gpio_bank {
        void *base;
-       int method;
 };
 
 extern const struct gpio_bank *const omap_gpio_bank;
index 74cfde637c1c433f3f834cdfbdac48b05ff78b6a..cd13db3440ddf783e0cb8089e4cd5724a90e7831 100644 (file)
 #include <common.h>
 #include <malloc.h>
 
+/*
+ * Flush range from all levels of d-cache/unified-cache.
+ * Affects the range [start, start + size - 1].
+ */
 __weak void flush_cache(unsigned long start, unsigned long size)
 {
-#if defined(CONFIG_CPU_ARM1136)
-
-#if !defined(CONFIG_SYS_ICACHE_OFF)
-       asm("mcr p15, 0, r1, c7, c5, 0"); /* invalidate I cache */
-#endif
-
-#if !defined(CONFIG_SYS_DCACHE_OFF)
-       asm("mcr p15, 0, r1, c7, c14, 0"); /* Clean+invalidate D cache */
-#endif
-
-#endif /* CONFIG_CPU_ARM1136 */
-
-#ifdef CONFIG_CPU_ARM926EJS
-#if !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF))
-       /* test and clean, page 2-23 of arm926ejs manual */
-       asm("0: mrc p15, 0, r15, c7, c10, 3\n\t" "bne 0b\n" : : : "memory");
-       /* disable write buffer as well (page 2-22) */
-       asm("mcr p15, 0, %0, c7, c10, 4" : : "r" (0));
-#endif
-#endif /* CONFIG_CPU_ARM926EJS */
-       return;
+       flush_dcache_range(start, start + size);
 }
 
 /*
@@ -53,6 +37,15 @@ __weak void enable_caches(void)
        puts("WARNING: Caches not enabled\n");
 }
 
+__weak void invalidate_dcache_range(unsigned long start, unsigned long stop)
+{
+       /* An empty stub, real implementation should be in platform code */
+}
+__weak void flush_dcache_range(unsigned long start, unsigned long stop)
+{
+       /* An empty stub, real implementation should be in platform code */
+}
+
 #ifdef CONFIG_SYS_NONCACHED_MEMORY
 /*
  * Reserve one MMU section worth of address space below the malloc() area that
index 06f46795c3f1289d98a533c5a755cb2459e3bee4..ec3fb77f85160e02eff10e9864f683fcfc00b89d 100644 (file)
@@ -123,8 +123,8 @@ void bad_mode (void)
 
 void show_regs (struct pt_regs *regs)
 {
-       unsigned long flags;
-       const char *processor_modes[] = {
+       unsigned long __maybe_unused flags;
+       const char __maybe_unused *processor_modes[] = {
        "USER_26",      "FIQ_26",       "IRQ_26",       "SVC_26",
        "UK4_26",       "UK5_26",       "UK6_26",       "UK7_26",
        "UK8_26",       "UK9_26",       "UK10_26",      "UK11_26",
index bd8c7d2ede0c589aaf7526252dc92e95d2f8dc98..d737a5cce83dcc867a30a6487206e8ed7402e858 100644 (file)
@@ -13,7 +13,7 @@
 #include <image.h>
 #include <linux/compiler.h>
 
-#ifndef CONFIG_DM
+#ifndef CONFIG_SPL_DM
 /* Pointer to as well as the global data structure for SPL */
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -35,7 +35,7 @@ void __weak board_init_f(ulong dummy)
        /* Clear the BSS. */
        memset(__bss_start, 0, __bss_end - __bss_start);
 
-#ifndef CONFIG_DM
+#ifndef CONFIG_SPL_DM
        /* TODO: Remove settings of the global data pointer here */
        gd = &gdata;
 #endif
index bbf422836c26a3d9fccb787601dd249a32442762..d8d46dca5bc025b41320ed8e31daddfe615cd67b 100644 (file)
@@ -124,6 +124,11 @@ config TARGET_TAURUS
        select CPU_ARM926EJS
        select SUPPORT_SPL
 
+config TARGET_SMARTWEB
+       bool "Support smartweb"
+       select CPU_ARM926EJS
+       select SUPPORT_SPL
+
 endchoice
 
 config SYS_SOC
@@ -155,6 +160,7 @@ source "board/ronetix/pm9263/Kconfig"
 source "board/ronetix/pm9g45/Kconfig"
 source "board/siemens/corvus/Kconfig"
 source "board/siemens/taurus/Kconfig"
+source "board/siemens/smartweb/Kconfig"
 source "board/taskit/stamp9g20/Kconfig"
 
 endif
index 0d3ee48493d99b4073d43402b222406cd722c677..313eb47894819f4573d32942430d002aff4b6787 100644 (file)
@@ -1,5 +1,6 @@
 obj-$(CONFIG_AT91_WANTS_COMMON_PHY) += phy.o
 ifneq ($(CONFIG_SPL_BUILD),)
+obj-$(CONFIG_AT91SAM9260) += sdram.o spl_at91.o
 obj-$(CONFIG_AT91SAM9G20) += sdram.o spl_at91.o
 obj-$(CONFIG_AT91SAM9M10G45) += mpddrc.o spl_at91.o
 obj-$(CONFIG_AT91SAM9N12) += mpddrc.o spl_at91.o
index da1d35907e924d619cc2aac9aba65d96372cb589..990c689ad7c3f28227ef136d19203a8ec02c2c9c 100644 (file)
@@ -42,7 +42,7 @@ void arch_preboot_os(void)
 #if defined(CONFIG_DISPLAY_CPUINFO)
 int print_cpuinfo(void)
 {
-       char buf[32];
+       char __maybe_unused buf[32];
 
        printf("CPU: %s\n", ATMEL_CPU_NAME);
        printf("Crystal frequency: %8s MHz\n",
index a79a9dce75ac6548eb9729ce7d61ac0b49fab8b5..b19f95b0d07eaad86710d1a8558da0d93120cb56 100644 (file)
@@ -123,9 +123,12 @@ void board_init_f(ulong dummy)
        at91_periph_clk_enable(ATMEL_ID_PIOB);
        at91_periph_clk_enable(ATMEL_ID_PIOC);
 #endif
+
+#if defined(CONFIG_SPL_SERIAL_SUPPORT)
        /* init console */
        at91_seriald_hw_init();
        preloader_console_init();
+#endif
 
        mem_init();
 
index 54d369c46c03094f7ad4633e8caa65cddba2c202..ff959c8a97d8ee3249a742b564a2bd1e8f2314da 100644 (file)
@@ -522,6 +522,9 @@ int bcm2835_mbox_call_raw(u32 chan, u32 send, u32 *recv);
  * a termination value are expected to immediately follow the header in
  * memory, as required by the property protocol.
  *
+ * Each struct bcm2835_mbox_hdr passed must be allocated with
+ * ALLOC_CACHE_ALIGN_BUFFER(x, y, z) to ensure proper cache flush/invalidate.
+ *
  * Returns 0 for success, any other value for error.
  */
 int bcm2835_mbox_call_prop(u32 chan, struct bcm2835_mbox_hdr *buffer);
index 1af9be78c68a3ccb5ba019a3f1e95e9122160142..311bd8feaab071fdb7ffdb23477ef8c68cdbcd23 100644 (file)
@@ -111,9 +111,18 @@ int bcm2835_mbox_call_prop(u32 chan, struct bcm2835_mbox_hdr *buffer)
        dump_buf(buffer);
 #endif
 
+       flush_dcache_range((unsigned long)buffer,
+                          (unsigned long)((void *)buffer +
+                          roundup(buffer->buf_size, ARCH_DMA_MINALIGN)));
+
        ret = bcm2835_mbox_call_raw(chan, phys_to_bus((u32)buffer), &rbuffer);
        if (ret)
                return ret;
+
+       invalidate_dcache_range((unsigned long)buffer,
+                               (unsigned long)((void *)buffer +
+                               roundup(buffer->buf_size, ARCH_DMA_MINALIGN)));
+
        if (rbuffer != phys_to_bus((u32)buffer)) {
                printf("mbox: Response buffer mismatch\n");
                return -1;
index c54d69db0e4276a3e4236f24668fa87da20fe153..d506ee5b39cda6eb051c396259b0800df6f986ac 100644 (file)
@@ -53,4 +53,7 @@ config SYS_CONFIG_NAME
        default "integratorap" if ARCH_INTEGRATOR_AP
        default "integratorcp" if ARCH_INTEGRATOR_CP
 
+config SYS_MALLOC_F_LEN
+       default 0x2000
+
 endmenu
index ed030db2c888db153db3674d49c5cdec157627e1..ffd9eadb0a4949d93bce7387f35949f8bd10cad6 100644 (file)
@@ -8,9 +8,6 @@
 obj-y  += init.o
 obj-y  += psc.o
 obj-y  += clock.o
-obj-$(CONFIG_SOC_K2HK) += clock-k2hk.o
-obj-$(CONFIG_SOC_K2E) += clock-k2e.o
-obj-$(CONFIG_SOC_K2L) += clock-k2l.o
 obj-y  += cmd_clock.o
 obj-y  += cmd_mon.o
 obj-y  += msmc.o
index 31f66613effdc9691af05309629480f8dea4db33..7d163a4b1ab99c193f82236ff1faafd850d4d7fe 100644 (file)
 #include <asm/arch/clock.h>
 #include <asm/arch/clock_defs.h>
 
-const struct keystone_pll_regs keystone_pll_regs[] = {
-       [CORE_PLL] = {KS2_MAINPLLCTL0, KS2_MAINPLLCTL1},
-       [PASS_PLL] = {KS2_PASSPLLCTL0, KS2_PASSPLLCTL1},
-       [DDR3_PLL] = {KS2_DDR3APLLCTL0, KS2_DDR3APLLCTL1},
-};
-
-int dev_speeds[] = {
-       SPD800,
-       SPD850,
-       SPD1000,
-       SPD1250,
-       SPD1350,
-       SPD1400,
-       SPD1500,
-       SPD1400,
-       SPD1350,
-       SPD1250,
-       SPD1000,
-       SPD850,
-       SPD800
-};
-
 /**
  * pll_freq_get - get pll frequency
  * Fout = Fref * NF(mult) / NR(prediv) / OD
@@ -65,7 +43,7 @@ static unsigned long pll_freq_get(int pll)
                        reg = KS2_PASSPLLCTL0;
                        break;
                case DDR3_PLL:
-                       ret = external_clk[ddr3_clk];
+                       ret = external_clk[ddr3a_clk];
                        reg = KS2_DDR3APLLCTL0;
                        break;
                default:
index 1591960795d85c65abb0ed2672b999e82b598c95..2e368910bf050d2f9c1cacc3ba05661edc8e3bbc 100644 (file)
 #include <asm/arch/clock.h>
 #include <asm/arch/clock_defs.h>
 
-const struct keystone_pll_regs keystone_pll_regs[] = {
-       [CORE_PLL]      = {KS2_MAINPLLCTL0, KS2_MAINPLLCTL1},
-       [PASS_PLL]      = {KS2_PASSPLLCTL0, KS2_PASSPLLCTL1},
-       [TETRIS_PLL]    = {KS2_ARMPLLCTL0, KS2_ARMPLLCTL1},
-       [DDR3A_PLL]     = {KS2_DDR3APLLCTL0, KS2_DDR3APLLCTL1},
-       [DDR3B_PLL]     = {KS2_DDR3BPLLCTL0, KS2_DDR3BPLLCTL1},
-};
-
-int dev_speeds[] = {
-       SPD800,
-       SPD1000,
-       SPD1200,
-       SPD800,
-       SPD800,
-       SPD800,
-       SPD800,
-       SPD800,
-       SPD1200,
-       SPD1000,
-       SPD800,
-       SPD800,
-       SPD800,
-};
-
-int arm_speeds[] = {
-       SPD800,
-       SPD1000,
-       SPD1200,
-       SPD1350,
-       SPD1400,
-       SPD800,
-       SPD1400,
-       SPD1350,
-       SPD1200,
-       SPD1000,
-       SPD800,
-       SPD800,
-       SPD800,
-};
-
 /**
  * pll_freq_get - get pll frequency
  * Fout = Fref * NF(mult) / NR(prediv) / OD
index 1c5e4d54d89b68f114e7513d223b647564eaa75b..00040591925a6142f083d9b9a4f38577554c00be 100644 (file)
 #include <asm/arch/clock.h>
 #include <asm/arch/clock_defs.h>
 
-const struct keystone_pll_regs keystone_pll_regs[] = {
-       [CORE_PLL] = {KS2_MAINPLLCTL0, KS2_MAINPLLCTL1},
-       [PASS_PLL] = {KS2_PASSPLLCTL0, KS2_PASSPLLCTL1},
-       [TETRIS_PLL] = {KS2_ARMPLLCTL0,  KS2_ARMPLLCTL1},
-       [DDR3_PLL] = {KS2_DDR3APLLCTL0, KS2_DDR3APLLCTL1},
-};
-
-int dev_speeds[] = {
-       SPD800,
-       SPD1000,
-       SPD1200,
-       SPD800,
-       SPD800,
-       SPD800,
-       SPD800,
-       SPD800,
-       SPD1200,
-       SPD1000,
-       SPD800,
-       SPD800,
-       SPD800,
-};
-
-int arm_speeds[] = {
-       SPD800,
-       SPD1000,
-       SPD1200,
-       SPD1350,
-       SPD1400,
-       SPD800,
-       SPD1400,
-       SPD1350,
-       SPD1200,
-       SPD1000,
-       SPD800,
-       SPD800,
-       SPD800,
-};
-
 /**
  * pll_freq_get - get pll frequency
  * Fout = Fref * NF(mult) / NR(prediv) / OD
@@ -86,7 +47,7 @@ static unsigned long pll_freq_get(int pll)
                        reg = KS2_ARMPLLCTL0;
                        break;
                case DDR3_PLL:
-                       ret = external_clk[ddr3_clk];
+                       ret = external_clk[ddr3a_clk];
                        reg = KS2_DDR3APLLCTL0;
                        break;
                default:
index 625907fcda31d6a8aacdad9766edf5d1b4641fc8..fc3eadb3f27937a92b9e59d54bf0383227fc958e 100644 (file)
 #include <asm/arch/clock.h>
 #include <asm/arch/clock_defs.h>
 
-#define MAX_SPEEDS             13
+/* DEV and ARM speed definitions as specified in DEVSPEED register */
+int __weak speeds[DEVSPEED_NUMSPDS] = {
+       SPD1000,
+       SPD1200,
+       SPD1350,
+       SPD1400,
+       SPD1500,
+       SPD1400,
+       SPD1350,
+       SPD1200,
+       SPD1000,
+       SPD800,
+};
+
+const struct keystone_pll_regs keystone_pll_regs[] = {
+       [CORE_PLL]      = {KS2_MAINPLLCTL0, KS2_MAINPLLCTL1},
+       [PASS_PLL]      = {KS2_PASSPLLCTL0, KS2_PASSPLLCTL1},
+       [TETRIS_PLL]    = {KS2_ARMPLLCTL0, KS2_ARMPLLCTL1},
+       [DDR3A_PLL]     = {KS2_DDR3APLLCTL0, KS2_DDR3APLLCTL1},
+       [DDR3B_PLL]     = {KS2_DDR3BPLLCTL0, KS2_DDR3BPLLCTL1},
+};
 
 static void wait_for_completion(const struct pll_init_data *data)
 {
        int i;
        for (i = 0; i < 100; i++) {
                sdelay(450);
-               if ((pllctl_reg_read(data->pll, stat) & PLLSTAT_GO) == 0)
+               if (!(pllctl_reg_read(data->pll, stat) & PLLSTAT_GOSTAT_MASK))
                        break;
        }
 }
 
-void init_pll(const struct pll_init_data *data)
+static inline void bypass_main_pll(const struct pll_init_data *data)
+{
+       pllctl_reg_clrbits(data->pll, ctl, PLLCTL_PLLENSRC_MASK |
+                          PLLCTL_PLLEN_MASK);
+
+       /* 4 cycles of reference clock CLKIN*/
+       sdelay(340);
+}
+
+static void configure_mult_div(const struct pll_init_data *data)
 {
-       u32 tmp, tmp_ctl, pllm, plld, pllod, bwadj;
+       u32 pllm, plld, bwadj;
 
        pllm = data->pll_m - 1;
-       plld = (data->pll_d - 1) & PLL_DIV_MASK;
-       pllod = (data->pll_od - 1) & PLL_CLKOD_MASK;
+       plld = (data->pll_d - 1) & CFG_PLLCTL0_PLLD_MASK;
 
-       if (data->pll == MAIN_PLL) {
-               /* The requered delay before main PLL configuration */
-               sdelay(210000);
+       /* Program Multiplier */
+       if (data->pll == MAIN_PLL)
+               pllctl_reg_write(data->pll, mult, pllm & PLLM_MULT_LO_MASK);
+
+       clrsetbits_le32(keystone_pll_regs[data->pll].reg0,
+                       CFG_PLLCTL0_PLLM_MASK,
+                       pllm << CFG_PLLCTL0_PLLM_SHIFT);
+
+       /* Program BWADJ */
+       bwadj = (data->pll_m - 1) >> 1; /* Divide pllm by 2 */
+       clrsetbits_le32(keystone_pll_regs[data->pll].reg0,
+                       CFG_PLLCTL0_BWADJ_MASK,
+                       (bwadj << CFG_PLLCTL0_BWADJ_SHIFT) &
+                       CFG_PLLCTL0_BWADJ_MASK);
+       bwadj = bwadj >> CFG_PLLCTL0_BWADJ_BITS;
+       clrsetbits_le32(keystone_pll_regs[data->pll].reg1,
+                       CFG_PLLCTL1_BWADJ_MASK, bwadj);
+
+       /* Program Divider */
+       clrsetbits_le32(keystone_pll_regs[data->pll].reg0,
+                       CFG_PLLCTL0_PLLD_MASK, plld);
+}
 
-               tmp = pllctl_reg_read(data->pll, secctl);
+void configure_main_pll(const struct pll_init_data *data)
+{
+       u32 tmp, pllod, i, alnctl_val = 0;
+       u32 *offset;
 
-               if (tmp & (PLLCTL_BYPASS)) {
-                       setbits_le32(keystone_pll_regs[data->pll].reg1,
-                                    BIT(MAIN_ENSAT_OFFSET));
+       pllod = data->pll_od - 1;
 
-                       pllctl_reg_clrbits(data->pll, ctl, PLLCTL_PLLEN |
-                                          PLLCTL_PLLENSRC);
-                       sdelay(340);
+       /* 100 micro sec for stabilization */
+       sdelay(210000);
 
-                       pllctl_reg_setbits(data->pll, secctl, PLLCTL_BYPASS);
-                       pllctl_reg_setbits(data->pll, ctl, PLLCTL_PLLPWRDN);
-                       sdelay(21000);
+       tmp = pllctl_reg_read(data->pll, secctl);
 
-                       pllctl_reg_clrbits(data->pll, ctl, PLLCTL_PLLPWRDN);
-               } else {
-                       pllctl_reg_clrbits(data->pll, ctl, PLLCTL_PLLEN |
-                                          PLLCTL_PLLENSRC);
-                       sdelay(340);
-               }
+       /* Check for Bypass */
+       if (tmp & SECCTL_BYPASS_MASK) {
+               setbits_le32(keystone_pll_regs[data->pll].reg1,
+                            CFG_PLLCTL1_ENSAT_MASK);
 
-               pllctl_reg_write(data->pll, mult, pllm & PLLM_MULT_LO_MASK);
+               bypass_main_pll(data);
 
-               clrsetbits_le32(keystone_pll_regs[data->pll].reg0,
-                               PLLM_MULT_HI_SMASK, (pllm << 6));
+               /* Powerdown and powerup Main Pll */
+               pllctl_reg_setbits(data->pll, secctl, SECCTL_BYPASS_MASK);
+               pllctl_reg_setbits(data->pll, ctl, PLLCTL_PLLPWRDN_MASK);
+               /* 5 micro sec */
+               sdelay(21000);
 
-               /* Set the BWADJ     (12 bit field)  */
-               tmp_ctl = pllm >> 1; /* Divide the pllm by 2 */
-               clrsetbits_le32(keystone_pll_regs[data->pll].reg0,
-                               PLL_BWADJ_LO_SMASK,
-                               (tmp_ctl << PLL_BWADJ_LO_SHIFT));
-               clrsetbits_le32(keystone_pll_regs[data->pll].reg1,
-                               PLL_BWADJ_HI_MASK,
-                               (tmp_ctl >> 8));
+               pllctl_reg_clrbits(data->pll, ctl, PLLCTL_PLLPWRDN_MASK);
+       } else {
+               bypass_main_pll(data);
+       }
 
-               /*
-                * Set the pll divider (6 bit field) *
-                * PLLD[5:0] is located in MAINPLLCTL0
-                */
-               clrsetbits_le32(keystone_pll_regs[data->pll].reg0,
-                               PLL_DIV_MASK, plld);
+       configure_mult_div(data);
 
-               /* Set the OUTPUT DIVIDE (4 bit field) in SECCTL */
-               pllctl_reg_rmw(data->pll, secctl, PLL_CLKOD_SMASK,
-                              (pllod << PLL_CLKOD_SHIFT));
-               wait_for_completion(data);
+       /* Program Output Divider */
+       pllctl_reg_rmw(data->pll, secctl, SECCTL_OP_DIV_MASK,
+                      ((pllod << SECCTL_OP_DIV_SHIFT) & SECCTL_OP_DIV_MASK));
 
-               pllctl_reg_write(data->pll, div1, PLLM_RATIO_DIV1);
-               pllctl_reg_write(data->pll, div2, PLLM_RATIO_DIV2);
-               pllctl_reg_write(data->pll, div3, PLLM_RATIO_DIV3);
-               pllctl_reg_write(data->pll, div4, PLLM_RATIO_DIV4);
-               pllctl_reg_write(data->pll, div5, PLLM_RATIO_DIV5);
+       /* Program PLLDIVn */
+       wait_for_completion(data);
+       for (i = 0; i < PLLDIV_MAX; i++) {
+               if (i < 3)
+                       offset = pllctl_reg(data->pll, div1) + i;
+               else
+                       offset = pllctl_reg(data->pll, div4) + (i - 3);
 
-               pllctl_reg_setbits(data->pll, alnctl, 0x1f);
+               if (divn_val[i] != -1) {
+                       __raw_writel(divn_val[i] | PLLDIV_ENABLE_MASK, offset);
+                       alnctl_val |= BIT(i);
+               }
+       }
 
+       if (alnctl_val) {
+               pllctl_reg_setbits(data->pll, alnctl, alnctl_val);
                /*
                 * Set GOSET bit in PLLCMD to initiate the GO operation
                 * to change the divide
                 */
-               pllctl_reg_setbits(data->pll, cmd, PLLSTAT_GO);
-               sdelay(1500); /* wait for the phase adj */
+               pllctl_reg_setbits(data->pll, cmd, PLLSTAT_GOSTAT_MASK);
                wait_for_completion(data);
+       }
 
-               /* Reset PLL */
-               pllctl_reg_setbits(data->pll, ctl, PLLCTL_PLLRST);
-               sdelay(21000);  /* Wait for a minimum of 7 us*/
-               pllctl_reg_clrbits(data->pll, ctl, PLLCTL_PLLRST);
-               sdelay(105000); /* Wait for PLL Lock time (min 50 us) */
-
-               pllctl_reg_clrbits(data->pll, secctl, PLLCTL_BYPASS);
-
-               tmp = pllctl_reg_setbits(data->pll, ctl, PLLCTL_PLLEN);
-
-#ifndef CONFIG_SOC_K2E
-       } else if (data->pll == TETRIS_PLL) {
-               bwadj = pllm >> 1;
-               /* 1.5 Set PLLCTL0[BYPASS] =1 (enable bypass), */
-               setbits_le32(keystone_pll_regs[data->pll].reg0,  PLLCTL_BYPASS);
-               /*
-                * Set CHIPMISCCTL1[13] = 0 (enable glitchfree bypass)
-                * only applicable for Kepler
-                */
-               clrbits_le32(KS2_MISC_CTRL, KS2_ARM_PLL_EN);
-               /* 2 In PLLCTL1, write PLLRST = 1 (PLL is reset) */
-               setbits_le32(keystone_pll_regs[data->pll].reg1 ,
-                            PLL_PLLRST | PLLCTL_ENSAT);
-
-               /*
-                * 3 Program PLLM and PLLD in PLLCTL0 register
-                * 4 Program BWADJ[7:0] in PLLCTL0 and BWADJ[11:8] in
-                * PLLCTL1 register. BWADJ value must be set
-                * to ((PLLM + 1) >> 1) â€“ 1)
-                */
-               tmp = ((bwadj & PLL_BWADJ_LO_MASK) << PLL_BWADJ_LO_SHIFT) |
-                       (pllm << 6) |
-                       (plld & PLL_DIV_MASK) |
-                       (pllod << PLL_CLKOD_SHIFT) | PLLCTL_BYPASS;
-               __raw_writel(tmp, keystone_pll_regs[data->pll].reg0);
-
-               /* Set BWADJ[11:8] bits */
-               tmp = __raw_readl(keystone_pll_regs[data->pll].reg1);
-               tmp &= ~(PLL_BWADJ_HI_MASK);
-               tmp |= ((bwadj>>8) & PLL_BWADJ_HI_MASK);
-               __raw_writel(tmp, keystone_pll_regs[data->pll].reg1);
-               /*
-                * 5 Wait for at least 5 us based on the reference
-                * clock (PLL reset time)
-                */
-               sdelay(21000);  /* Wait for a minimum of 7 us*/
+       /* Reset PLL */
+       pllctl_reg_setbits(data->pll, ctl, PLLCTL_PLLRST_MASK);
+       sdelay(21000);  /* Wait for a minimum of 7 us*/
+       pllctl_reg_clrbits(data->pll, ctl, PLLCTL_PLLRST_MASK);
+       sdelay(105000); /* Wait for PLL Lock time (min 50 us) */
 
-               /* 6 In PLLCTL1, write PLLRST = 0 (PLL reset is released) */
-               clrbits_le32(keystone_pll_regs[data->pll].reg1, PLL_PLLRST);
-               /*
-                * 7 Wait for at least 500 * REFCLK cycles * (PLLD + 1)
-                * (PLL lock time)
-                */
-               sdelay(105000);
-               /* 8 disable bypass */
-               clrbits_le32(keystone_pll_regs[data->pll].reg0, PLLCTL_BYPASS);
-               /*
-                * 9 Set CHIPMISCCTL1[13] = 1 (disable glitchfree bypass)
-                * only applicable for Kepler
-                */
-               setbits_le32(KS2_MISC_CTRL, KS2_ARM_PLL_EN);
-#endif
-       } else {
-               setbits_le32(keystone_pll_regs[data->pll].reg1, PLLCTL_ENSAT);
-               /*
-                * process keeps state of Bypass bit while programming
-                * all other DDR PLL settings
-                */
-               tmp = __raw_readl(keystone_pll_regs[data->pll].reg0);
-               tmp &= PLLCTL_BYPASS;   /* clear everything except Bypass */
+       /* Enable PLL */
+       pllctl_reg_clrbits(data->pll, secctl, SECCTL_BYPASS_MASK);
+       pllctl_reg_setbits(data->pll, ctl, PLLCTL_PLLEN_MASK);
+}
 
-               /*
-                * Set the BWADJ[7:0], PLLD[5:0] and PLLM to PLLCTL0,
-                * bypass disabled
-                */
-               bwadj = pllm >> 1;
-               tmp |= ((bwadj & PLL_BWADJ_LO_MASK) << PLL_BWADJ_LO_SHIFT) |
-                       (pllm << PLL_MULT_SHIFT) |
-                       (plld & PLL_DIV_MASK) |
-                       (pllod << PLL_CLKOD_SHIFT);
-               __raw_writel(tmp, keystone_pll_regs[data->pll].reg0);
-
-               /* Set BWADJ[11:8] bits */
-               tmp = __raw_readl(keystone_pll_regs[data->pll].reg1);
-               tmp &= ~(PLL_BWADJ_HI_MASK);
-               tmp |= ((bwadj >> 8) & PLL_BWADJ_HI_MASK);
-
-               __raw_writel(tmp, keystone_pll_regs[data->pll].reg1);
-
-               /* Reset bit: bit 14 for both DDR3 & PASS PLL */
-               tmp = PLL_PLLRST;
-               /* Set RESET bit = 1 */
-               setbits_le32(keystone_pll_regs[data->pll].reg1, tmp);
-               /* Wait for a minimum of 7 us*/
-               sdelay(21000);
-               /* Clear RESET bit */
-               clrbits_le32(keystone_pll_regs[data->pll].reg1, tmp);
-               sdelay(105000);
+void configure_secondary_pll(const struct pll_init_data *data)
+{
+       int pllod = data->pll_od - 1;
+
+       /* Enable Bypass mode */
+       setbits_le32(keystone_pll_regs[data->pll].reg1, CFG_PLLCTL1_ENSAT_MASK);
+       setbits_le32(keystone_pll_regs[data->pll].reg0,
+                    CFG_PLLCTL0_BYPASS_MASK);
+
+       /* Enable Glitch free bypass for ARM PLL */
+       if (cpu_is_k2hk() && data->pll == TETRIS_PLL)
+               clrbits_le32(KS2_MISC_CTRL, MISC_CTL1_ARM_PLL_EN);
+
+       configure_mult_div(data);
+
+       /* Program Output Divider */
+       clrsetbits_le32(keystone_pll_regs[data->pll].reg0,
+                       CFG_PLLCTL0_CLKOD_MASK,
+                       (pllod << CFG_PLLCTL0_CLKOD_SHIFT) &
+                       CFG_PLLCTL0_CLKOD_MASK);
+
+       /* Reset PLL */
+       setbits_le32(keystone_pll_regs[data->pll].reg1, CFG_PLLCTL1_RST_MASK);
+       /* Wait for 5 micro seconds */
+       sdelay(21000);
+
+       /* Select the Output of PASS PLL as input to PASS */
+       if (data->pll == PASS_PLL)
+               setbits_le32(keystone_pll_regs[data->pll].reg1,
+                            CFG_PLLCTL1_PAPLL_MASK);
+
+       /* Select the Output of ARM PLL as input to ARM */
+       if (data->pll == TETRIS_PLL)
+               setbits_le32(KS2_MISC_CTRL, MISC_CTL1_ARM_PLL_EN);
+
+       clrbits_le32(keystone_pll_regs[data->pll].reg1, CFG_PLLCTL1_RST_MASK);
+       /* Wait for 500 * REFCLK cucles * (PLLD + 1) */
+       sdelay(105000);
+
+       /* Switch to PLL mode */
+       clrbits_le32(keystone_pll_regs[data->pll].reg0,
+                    CFG_PLLCTL0_BYPASS_MASK);
+}
 
-               /* clear BYPASS (Enable PLL Mode) */
-               clrbits_le32(keystone_pll_regs[data->pll].reg0, PLLCTL_BYPASS);
-               sdelay(21000);  /* Wait for a minimum of 7 us*/
-       }
+void init_pll(const struct pll_init_data *data)
+{
+       if (data->pll == MAIN_PLL)
+               configure_main_pll(data);
+       else
+               configure_secondary_pll(data);
 
        /*
         * This is required to provide a delay between multiple
@@ -209,64 +211,195 @@ void init_pll(const struct pll_init_data *data)
        sdelay(210000);
 }
 
-void init_plls(int num_pll, struct pll_init_data *config)
+void init_plls(void)
 {
-       int i;
+       struct pll_init_data *data;
+       int pll;
 
-       for (i = 0; i < num_pll; i++)
-               init_pll(&config[i]);
+       for (pll = MAIN_PLL; pll < MAX_PLL_COUNT; pll++) {
+               data = get_pll_init_data(pll);
+               if (data)
+                       init_pll(data);
+       }
 }
 
-static int get_max_speed(u32 val, int *speeds)
+static int get_max_speed(u32 val, u32 speed_supported)
 {
-       int j;
-
-       if (!val)
-               return speeds[0];
+       int speed;
 
-       for (j = 1; j < MAX_SPEEDS; j++) {
-               if (val == 1)
-                       return speeds[j];
-               val >>= 1;
+       /* Left most setbit gives the speed */
+       for (speed = DEVSPEED_NUMSPDS; speed >= 0; speed--) {
+               if ((val & BIT(speed)) & speed_supported)
+                       return speeds[speed];
        }
 
+       /* If no bit is set, use SPD800 */
        return SPD800;
 }
 
-#ifdef CONFIG_SOC_K2HK
-static u32 read_efuse_bootrom(void)
-{
-       return (cpu_revision() > 1) ? __raw_readl(KS2_EFUSE_BOOTROM) :
-               __raw_readl(KS2_REV1_DEVSPEED);
-}
-#else
 static inline u32 read_efuse_bootrom(void)
 {
-       return __raw_readl(KS2_EFUSE_BOOTROM);
+       if (cpu_is_k2hk() && (cpu_revision() <= 1))
+               return __raw_readl(KS2_REV1_DEVSPEED);
+       else
+               return __raw_readl(KS2_EFUSE_BOOTROM);
 }
-#endif
 
-#ifndef CONFIG_SOC_K2E
-inline int get_max_arm_speed(void)
+int get_max_arm_speed(void)
 {
-       return get_max_speed(read_efuse_bootrom() & 0xffff, arm_speeds);
+       u32 armspeed = read_efuse_bootrom();
+
+       armspeed = (armspeed & DEVSPEED_ARMSPEED_MASK) >>
+                   DEVSPEED_ARMSPEED_SHIFT;
+
+       return get_max_speed(armspeed, ARM_SUPPORTED_SPEEDS);
 }
-#endif
 
-inline int get_max_dev_speed(void)
+int get_max_dev_speed(void)
 {
-       return get_max_speed((read_efuse_bootrom() >> 16) & 0xffff, dev_speeds);
+       u32 devspeed = read_efuse_bootrom();
+
+       devspeed = (devspeed & DEVSPEED_DEVSPEED_MASK) >>
+                   DEVSPEED_DEVSPEED_SHIFT;
+
+       return get_max_speed(devspeed, DEV_SUPPORTED_SPEEDS);
 }
 
-void pass_pll_pa_clk_enable(void)
+/**
+ * pll_freq_get - get pll frequency
+ * @pll:       pll identifier
+ */
+static unsigned long pll_freq_get(int pll)
 {
-       u32 reg;
+       unsigned long mult = 1, prediv = 1, output_div = 2;
+       unsigned long ret;
+       u32 tmp, reg;
+
+       if (pll == MAIN_PLL) {
+               ret = external_clk[sys_clk];
+               if (pllctl_reg_read(pll, ctl) & PLLCTL_PLLEN_MASK) {
+                       /* PLL mode */
+                       tmp = __raw_readl(KS2_MAINPLLCTL0);
+                       prediv = (tmp & CFG_PLLCTL0_PLLD_MASK) + 1;
+                       mult = ((tmp & CFG_PLLCTL0_PLLM_HI_MASK) >>
+                               CFG_PLLCTL0_PLLM_SHIFT |
+                               (pllctl_reg_read(pll, mult) &
+                                PLLM_MULT_LO_MASK)) + 1;
+                       output_div = ((pllctl_reg_read(pll, secctl) &
+                                      SECCTL_OP_DIV_MASK) >>
+                                      SECCTL_OP_DIV_SHIFT) + 1;
+
+                       ret = ret / prediv / output_div * mult;
+               }
+       } else {
+               switch (pll) {
+               case PASS_PLL:
+                       ret = external_clk[pa_clk];
+                       reg = KS2_PASSPLLCTL0;
+                       break;
+               case TETRIS_PLL:
+                       ret = external_clk[tetris_clk];
+                       reg = KS2_ARMPLLCTL0;
+                       break;
+               case DDR3A_PLL:
+                       ret = external_clk[ddr3a_clk];
+                       reg = KS2_DDR3APLLCTL0;
+                       break;
+               case DDR3B_PLL:
+                       ret = external_clk[ddr3b_clk];
+                       reg = KS2_DDR3BPLLCTL0;
+                       break;
+               default:
+                       return 0;
+               }
+
+               tmp = __raw_readl(reg);
+
+               if (!(tmp & CFG_PLLCTL0_BYPASS_MASK)) {
+                       /* Bypass disabled */
+                       prediv = (tmp & CFG_PLLCTL0_PLLD_MASK) + 1;
+                       mult = ((tmp & CFG_PLLCTL0_PLLM_MASK) >>
+                               CFG_PLLCTL0_PLLM_SHIFT) + 1;
+                       output_div = ((tmp & CFG_PLLCTL0_CLKOD_MASK) >>
+                                     CFG_PLLCTL0_CLKOD_SHIFT) + 1;
+                       ret = ((ret / prediv) * mult) / output_div;
+               }
+       }
 
-       reg = readl(keystone_pll_regs[PASS_PLL].reg1);
+       return ret;
+}
 
-       reg |= PLLCTL_PAPLL;
-       writel(reg, keystone_pll_regs[PASS_PLL].reg1);
+unsigned long clk_get_rate(unsigned int clk)
+{
+       unsigned long freq = 0;
+
+       switch (clk) {
+       case core_pll_clk:
+               freq = pll_freq_get(CORE_PLL);
+               break;
+       case pass_pll_clk:
+               freq = pll_freq_get(PASS_PLL);
+               break;
+       case tetris_pll_clk:
+               if (!cpu_is_k2e())
+                       freq = pll_freq_get(TETRIS_PLL);
+               break;
+       case ddr3a_pll_clk:
+               freq = pll_freq_get(DDR3A_PLL);
+               break;
+       case ddr3b_pll_clk:
+               if (cpu_is_k2hk())
+                       freq = pll_freq_get(DDR3B_PLL);
+               break;
+       case sys_clk0_1_clk:
+       case sys_clk0_clk:
+               freq = pll_freq_get(CORE_PLL) / pll0div_read(1);
+               break;
+       case sys_clk1_clk:
+       return pll_freq_get(CORE_PLL) / pll0div_read(2);
+               break;
+       case sys_clk2_clk:
+               freq = pll_freq_get(CORE_PLL) / pll0div_read(3);
+               break;
+       case sys_clk3_clk:
+               freq = pll_freq_get(CORE_PLL) / pll0div_read(4);
+               break;
+       case sys_clk0_2_clk:
+               freq = clk_get_rate(sys_clk0_clk) / 2;
+               break;
+       case sys_clk0_3_clk:
+               freq = clk_get_rate(sys_clk0_clk) / 3;
+               break;
+       case sys_clk0_4_clk:
+               freq = clk_get_rate(sys_clk0_clk) / 4;
+               break;
+       case sys_clk0_6_clk:
+               freq = clk_get_rate(sys_clk0_clk) / 6;
+               break;
+       case sys_clk0_8_clk:
+               freq = clk_get_rate(sys_clk0_clk) / 8;
+               break;
+       case sys_clk0_12_clk:
+               freq = clk_get_rate(sys_clk0_clk) / 12;
+               break;
+       case sys_clk0_24_clk:
+               freq = clk_get_rate(sys_clk0_clk) / 24;
+               break;
+       case sys_clk1_3_clk:
+               freq = clk_get_rate(sys_clk1_clk) / 3;
+               break;
+       case sys_clk1_4_clk:
+               freq = clk_get_rate(sys_clk1_clk) / 4;
+               break;
+       case sys_clk1_6_clk:
+               freq = clk_get_rate(sys_clk1_clk) / 6;
+               break;
+       case sys_clk1_12_clk:
+               freq = clk_get_rate(sys_clk1_clk) / 12;
+               break;
+       default:
+               break;
+       }
 
-       /* wait till clock is enabled */
-       sdelay(15000);
+       return freq;
 }
index af1b701e826930a087cd7822f5b121fc011e8791..3d5cf3f7f01d5fc2e083715b41db823f971d975e 100644 (file)
@@ -67,7 +67,7 @@ U_BOOT_CMD(
 int do_getclk_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
        unsigned int clk;
-       unsigned int freq;
+       unsigned long freq;
 
        if (argc != 2)
                goto getclk_cmd_usage;
@@ -75,7 +75,10 @@ int do_getclk_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        clk = simple_strtoul(argv[1], NULL, 10);
 
        freq = clk_get_rate(clk);
-       printf("clock index [%d] - frequency %u\n", clk, freq);
+       if (freq)
+               printf("clock index [%d] - frequency %lu\n", clk, freq);
+       else
+               printf("clock index [%d] Not available\n", clk);
        return 0;
 
 getclk_cmd_usage:
index d013b830ed5c4243453ec3768a4497e90b660f28..4618560dd8737c86b05a641c8c65161c3e2a9fa1 100644 (file)
 #ifndef __ASM_ARCH_CLOCK_K2E_H
 #define __ASM_ARCH_CLOCK_K2E_H
 
-enum ext_clk_e {
-       sys_clk,
-       alt_core_clk,
-       pa_clk,
-       ddr3_clk,
-       mcm_clk,
-       pcie_clk,
-       sgmii_clk,
-       xgmii_clk,
-       usb_clk,
-       ext_clk_count /* number of external clocks */
-};
-
-extern unsigned int external_clk[ext_clk_count];
-
-#define CLK_LIST(CLK)\
-       CLK(0, core_pll_clk)\
-       CLK(1, pass_pll_clk)\
-       CLK(2, ddr3_pll_clk)\
-       CLK(3, sys_clk0_clk)\
-       CLK(4, sys_clk0_1_clk)\
-       CLK(5, sys_clk0_2_clk)\
-       CLK(6, sys_clk0_3_clk)\
-       CLK(7, sys_clk0_4_clk)\
-       CLK(8, sys_clk0_6_clk)\
-       CLK(9, sys_clk0_8_clk)\
-       CLK(10, sys_clk0_12_clk)\
-       CLK(11, sys_clk0_24_clk)\
-       CLK(12, sys_clk1_clk)\
-       CLK(13, sys_clk1_3_clk)\
-       CLK(14, sys_clk1_4_clk)\
-       CLK(15, sys_clk1_6_clk)\
-       CLK(16, sys_clk1_12_clk)\
-       CLK(17, sys_clk2_clk)\
-       CLK(18, sys_clk3_clk)
-
 #define PLLSET_CMD_LIST        "<pa|ddr3>"
 
 #define KS2_CLK1_6     sys_clk0_6_clk
 
-/* PLL identifiers */
-enum pll_type_e {
-       CORE_PLL,
-       PASS_PLL,
-       DDR3_PLL,
-};
-
-enum {
-       SPD800,
-       SPD850,
-       SPD1000,
-       SPD1250,
-       SPD1350,
-       SPD1400,
-       SPD1500,
-       SPD_RSV
-};
-
 #define CORE_PLL_800   {CORE_PLL, 16, 1, 2}
 #define CORE_PLL_850   {CORE_PLL, 17, 1, 2}
 #define CORE_PLL_1000  {CORE_PLL, 20, 1, 2}
@@ -82,4 +28,8 @@ enum {
 #define DDR3_PLL_800   {DDR3_PLL, 16, 1, 2}
 #define DDR3_PLL_333   {DDR3_PLL, 20, 1, 6}
 
+/* k2e DEV supports 800, 850, 1000, 1250, 1350, 1400, 1500 MHz */
+#define DEV_SUPPORTED_SPEEDS   0xFFF
+#define ARM_SUPPORTED_SPEEDS   0
+
 #endif
index f28d5f0c4e99b7eca524864e0c4b065847891e5d..b8f3e7629139a0373c2992e5e0e80f7cf781b9ee 100644 (file)
 #ifndef __ASM_ARCH_CLOCK_K2HK_H
 #define __ASM_ARCH_CLOCK_K2HK_H
 
-enum ext_clk_e {
-       sys_clk,
-       alt_core_clk,
-       pa_clk,
-       tetris_clk,
-       ddr3a_clk,
-       ddr3b_clk,
-       mcm_clk,
-       pcie_clk,
-       sgmii_srio_clk,
-       xgmii_clk,
-       usb_clk,
-       rp1_clk,
-       ext_clk_count /* number of external clocks */
-};
-
-extern unsigned int external_clk[ext_clk_count];
-
-#define CLK_LIST(CLK)\
-       CLK(0, core_pll_clk)\
-       CLK(1, pass_pll_clk)\
-       CLK(2, tetris_pll_clk)\
-       CLK(3, ddr3a_pll_clk)\
-       CLK(4, ddr3b_pll_clk)\
-       CLK(5, sys_clk0_clk)\
-       CLK(6, sys_clk0_1_clk)\
-       CLK(7, sys_clk0_2_clk)\
-       CLK(8, sys_clk0_3_clk)\
-       CLK(9, sys_clk0_4_clk)\
-       CLK(10, sys_clk0_6_clk)\
-       CLK(11, sys_clk0_8_clk)\
-       CLK(12, sys_clk0_12_clk)\
-       CLK(13, sys_clk0_24_clk)\
-       CLK(14, sys_clk1_clk)\
-       CLK(15, sys_clk1_3_clk)\
-       CLK(16, sys_clk1_4_clk)\
-       CLK(17, sys_clk1_6_clk)\
-       CLK(18, sys_clk1_12_clk)\
-       CLK(19, sys_clk2_clk)\
-       CLK(20, sys_clk3_clk)
-
 #define PLLSET_CMD_LIST                "<pa|arm|ddr3a|ddr3b>"
 
 #define KS2_CLK1_6 sys_clk0_6_clk
 
-/* PLL identifiers */
-enum pll_type_e {
-       CORE_PLL,
-       PASS_PLL,
-       TETRIS_PLL,
-       DDR3A_PLL,
-       DDR3B_PLL,
-};
-
-enum {
-       SPD800,
-       SPD1000,
-       SPD1200,
-       SPD1350,
-       SPD1400,
-       SPD_RSV
-};
-
 #define CORE_PLL_799    {CORE_PLL,     13,     1,      2}
 #define CORE_PLL_983    {CORE_PLL,     16,     1,      2}
 #define CORE_PLL_999   {CORE_PLL,      122,    15,     1}
@@ -100,4 +41,9 @@ enum {
 #define DDR3_PLL_800(x)        {DDR3##x##_PLL, 16,     1,      2}
 #define DDR3_PLL_333(x)        {DDR3##x##_PLL, 20,     1,      6}
 
+/* k2h DEV supports 800, 1000, 1200 MHz */
+#define DEV_SUPPORTED_SPEEDS   0x383
+/* k2h ARM supportd 800, 1000, 1200, 1350, 1400 MHz */
+#define ARM_SUPPORTED_SPEEDS   0x3EF
+
 #endif
index bb9a5c4dcf3bca5b7310082fe374a1de9c629e3e..8772a7dcb15a6b2eb51937e090ee3fb45e87a7cf 100644 (file)
 #ifndef __ASM_ARCH_CLOCK_K2L_H
 #define __ASM_ARCH_CLOCK_K2L_H
 
-enum ext_clk_e {
-       sys_clk,
-       alt_core_clk,
-       pa_clk,
-       tetris_clk,
-       ddr3_clk,
-       pcie_clk,
-       sgmii_clk,
-       usb_clk,
-       rp1_clk,
-       ext_clk_count /* number of external clocks */
-};
-
-extern unsigned int external_clk[ext_clk_count];
-
-#define CLK_LIST(CLK)\
-       CLK(0, core_pll_clk)\
-       CLK(1, pass_pll_clk)\
-       CLK(2, tetris_pll_clk)\
-       CLK(3, ddr3_pll_clk)\
-       CLK(4, sys_clk0_clk)\
-       CLK(5, sys_clk0_1_clk)\
-       CLK(6, sys_clk0_2_clk)\
-       CLK(7, sys_clk0_3_clk)\
-       CLK(8, sys_clk0_4_clk)\
-       CLK(9, sys_clk0_6_clk)\
-       CLK(10, sys_clk0_8_clk)\
-       CLK(11, sys_clk0_12_clk)\
-       CLK(12, sys_clk0_24_clk)\
-       CLK(13, sys_clk1_clk)\
-       CLK(14, sys_clk1_3_clk)\
-       CLK(15, sys_clk1_4_clk)\
-       CLK(16, sys_clk1_6_clk)\
-       CLK(17, sys_clk1_12_clk)\
-       CLK(18, sys_clk2_clk)\
-       CLK(19, sys_clk3_clk)\
-
 #define PLLSET_CMD_LIST        "<pa|arm|ddr3>"
 
 #define KS2_CLK1_6     sys_clk0_6_clk
 
-/* PLL identifiers */
-enum pll_type_e {
-       CORE_PLL,
-       PASS_PLL,
-       TETRIS_PLL,
-       DDR3_PLL,
-};
-
-enum {
-       SPD800,
-       SPD1000,
-       SPD1200,
-       SPD1350,
-       SPD1400,
-       SPD_RSV
-};
-
 #define CORE_PLL_799   {CORE_PLL, 13, 1, 2}
 #define CORE_PLL_983   {CORE_PLL, 16, 1, 2}
 #define CORE_PLL_1000  {CORE_PLL, 114, 7, 2}
@@ -92,4 +38,9 @@ enum {
 #define DDR3_PLL_800   {DDR3_PLL, 16, 1, 2}
 #define DDR3_PLL_333   {DDR3_PLL, 20, 1, 6}
 
+/* k2l DEV supports 800, 1000, 1200 MHz */
+#define DEV_SUPPORTED_SPEEDS   0x383
+/* k2l ARM supportd 800, 1000, 1200, MHz */
+#define ARM_SUPPORTED_SPEEDS   0x383
+
 #endif
index 9f6cfb265f4342f3b9e36b682cbb541462846397..ddc5f8e501c75610ada66d2c35657b318a44a5aa 100644 (file)
 #include <asm/arch/clock-k2l.h>
 #endif
 
-#define MAIN_PLL CORE_PLL
+#define CORE_PLL MAIN_PLL
+#define DDR3_PLL DDR3A_PLL
+
+#define CLK_LIST(CLK)\
+       CLK(0, core_pll_clk)\
+       CLK(1, pass_pll_clk)\
+       CLK(2, tetris_pll_clk)\
+       CLK(3, ddr3a_pll_clk)\
+       CLK(4, ddr3b_pll_clk)\
+       CLK(5, sys_clk0_clk)\
+       CLK(6, sys_clk0_1_clk)\
+       CLK(7, sys_clk0_2_clk)\
+       CLK(8, sys_clk0_3_clk)\
+       CLK(9, sys_clk0_4_clk)\
+       CLK(10, sys_clk0_6_clk)\
+       CLK(11, sys_clk0_8_clk)\
+       CLK(12, sys_clk0_12_clk)\
+       CLK(13, sys_clk0_24_clk)\
+       CLK(14, sys_clk1_clk)\
+       CLK(15, sys_clk1_3_clk)\
+       CLK(16, sys_clk1_4_clk)\
+       CLK(17, sys_clk1_6_clk)\
+       CLK(18, sys_clk1_12_clk)\
+       CLK(19, sys_clk2_clk)\
+       CLK(20, sys_clk3_clk)
 
 #include <asm/types.h>
 
 #define GENERATE_INDX_STR(NUM, STRING) #NUM"\t- "#STRING"\n"
 #define CLOCK_INDEXES_LIST     CLK_LIST(GENERATE_INDX_STR)
 
+enum {
+       SPD800,
+       SPD850,
+       SPD1000,
+       SPD1200,
+       SPD1250,
+       SPD1350,
+       SPD1400,
+       SPD1500,
+       NUM_SPDS,
+};
+
+/* PLL identifiers */
+enum {
+       MAIN_PLL,
+       TETRIS_PLL,
+       PASS_PLL,
+       DDR3A_PLL,
+       DDR3B_PLL,
+       MAX_PLL_COUNT,
+};
+
+enum ext_clk_e {
+       sys_clk,
+       alt_core_clk,
+       pa_clk,
+       tetris_clk,
+       ddr3a_clk,
+       ddr3b_clk,
+       ext_clk_count /* number of external clocks */
+};
+
 enum clk_e {
        CLK_LIST(GENERATE_ENUM)
 };
@@ -49,16 +105,17 @@ struct pll_init_data {
        int pll_od;             /* PLL output divider */
 };
 
+extern unsigned int external_clk[ext_clk_count];
 extern const struct keystone_pll_regs keystone_pll_regs[];
-extern int dev_speeds[];
-extern int arm_speeds[];
+extern s16 divn_val[];
+extern int speeds[];
 
-void init_plls(int num_pll, struct pll_init_data *config);
+void init_plls(void);
 void init_pll(const struct pll_init_data *data);
+struct pll_init_data *get_pll_init_data(int pll);
 unsigned long clk_get_rate(unsigned int clk);
 unsigned long clk_round_rate(unsigned int clk, unsigned long hz);
 int clk_set_rate(unsigned int clk, unsigned long hz);
-void pass_pll_pa_clk_enable(void);
 int get_max_dev_speed(void);
 int get_max_arm_speed(void);
 
index 85a046b89a92c11620512795cbb5210cb97eaa07..8ad371f43d27c18752419d8ffce86846d4c2b51b 100644 (file)
@@ -70,42 +70,66 @@ static struct pllctl_regs *pllctl_regs[] = {
 #define pll0div_read(N) ((pllctl_reg_read(CORE_PLL, div##N) & 0xff) + 1)
 
 /* PLLCTL Bits */
-#define PLLCTL_BYPASS           BIT(23)
-#define PLL_PLLRST              BIT(14)
-#define PLLCTL_PAPLL            BIT(13)
-#define PLLCTL_CLKMODE          BIT(8)
-#define PLLCTL_PLLSELB          BIT(7)
-#define PLLCTL_ENSAT            BIT(6)
-#define PLLCTL_PLLENSRC         BIT(5)
-#define PLLCTL_PLLDIS           BIT(4)
-#define PLLCTL_PLLRST           BIT(3)
-#define PLLCTL_PLLPWRDN         BIT(1)
-#define PLLCTL_PLLEN            BIT(0)
-#define PLLSTAT_GO              BIT(0)
-
-#define MAIN_ENSAT_OFFSET       6
-
-#define PLLDIV_ENABLE           BIT(15)
-
-#define PLL_DIV_MASK            0x3f
-#define PLL_MULT_MASK           0x1fff
-#define PLL_MULT_SHIFT          6
-#define PLLM_MULT_HI_MASK       0x7f
-#define PLLM_MULT_HI_SHIFT      12
-#define PLLM_MULT_HI_SMASK      (PLLM_MULT_HI_MASK << PLLM_MULT_HI_SHIFT)
-#define PLLM_MULT_LO_MASK       0x3f
-#define PLL_CLKOD_MASK          0xf
-#define PLL_CLKOD_SHIFT         19
-#define PLL_CLKOD_SMASK         (PLL_CLKOD_MASK << PLL_CLKOD_SHIFT)
-#define PLL_BWADJ_LO_MASK       0xff
-#define PLL_BWADJ_LO_SHIFT      24
-#define PLL_BWADJ_LO_SMASK      (PLL_BWADJ_LO_MASK << PLL_BWADJ_LO_SHIFT)
-#define PLL_BWADJ_HI_MASK       0xf
-
-#define PLLM_RATIO_DIV1         (PLLDIV_ENABLE | 0x0)
-#define PLLM_RATIO_DIV2         (PLLDIV_ENABLE | 0x0)
-#define PLLM_RATIO_DIV3         (PLLDIV_ENABLE | 0x1)
-#define PLLM_RATIO_DIV4         (PLLDIV_ENABLE | 0x4)
-#define PLLM_RATIO_DIV5         (PLLDIV_ENABLE | 0x17)
+#define PLLCTL_PLLENSRC_SHIF   5
+#define PLLCTL_PLLENSRC_MASK   BIT(5)
+#define PLLCTL_PLLRST_SHIFT    3
+#define PLLCTL_PLLRST_MASK     BIT(3)
+#define PLLCTL_PLLPWRDN_SHIFT  1
+#define PLLCTL_PLLPWRDN_MASK   BIT(1)
+#define PLLCTL_PLLEN_SHIFT     0
+#define PLLCTL_PLLEN_MASK      BIT(0)
+
+/* SECCTL Bits */
+#define SECCTL_BYPASS_SHIFT    23
+#define SECCTL_BYPASS_MASK     BIT(23)
+#define SECCTL_OP_DIV_SHIFT    19
+#define SECCTL_OP_DIV_MASK     (0xf << 19)
+
+/* PLLM Bits */
+#define PLLM_MULT_LO_SHIFT     0
+#define PLLM_MULT_LO_MASK      0x3f
+#define PLLM_MULT_LO_BITS      6
+
+/* PLLDIVn Bits */
+#define PLLDIV_ENABLE_SHIFT    15
+#define PLLDIV_ENABLE_MASK     BIT(15)
+#define PLLDIV_RATIO_SHIFT     0x0
+#define PLLDIV_RATIO_MASK      0xff
+#define PLLDIV_MAX             16
+
+/* PLLCMD Bits */
+#define PLLCMD_GOSET_SHIFT     0
+#define PLLCMD_GOSET_MASK      BIT(0)
+
+/* PLLSTAT Bits */
+#define PLLSTAT_GOSTAT_SHIFT   0
+#define PLLSTAT_GOSTAT_MASK    BIT(0)
+
+/* Device Config PLLCTL0 */
+#define CFG_PLLCTL0_BWADJ_SHIFT                24
+#define CFG_PLLCTL0_BWADJ_MASK         (0xff << 24)
+#define CFG_PLLCTL0_BWADJ_BITS         8
+#define CFG_PLLCTL0_BYPASS_SHIFT       23
+#define CFG_PLLCTL0_BYPASS_MASK                BIT(23)
+#define CFG_PLLCTL0_CLKOD_SHIFT                19
+#define CFG_PLLCTL0_CLKOD_MASK         (0xf << 19)
+#define CFG_PLLCTL0_PLLM_HI_SHIFT      12
+#define CFG_PLLCTL0_PLLM_HI_MASK       (0x7f << 12)
+#define CFG_PLLCTL0_PLLM_SHIFT         6
+#define CFG_PLLCTL0_PLLM_MASK          (0x1fff << 6)
+#define CFG_PLLCTL0_PLLD_SHIFT         0
+#define CFG_PLLCTL0_PLLD_MASK          0x3f
+
+/* Device Config PLLCTL1 */
+#define CFG_PLLCTL1_RST_SHIFT  14
+#define CFG_PLLCTL1_RST_MASK   BIT(14)
+#define CFG_PLLCTL1_PAPLL_SHIFT        13
+#define CFG_PLLCTL1_PAPLL_MASK BIT(13)
+#define CFG_PLLCTL1_ENSAT_SHIFT        6
+#define CFG_PLLCTL1_ENSAT_MASK BIT(6)
+#define CFG_PLLCTL1_BWADJ_SHIFT        0
+#define CFG_PLLCTL1_BWADJ_MASK 0xf
+
+#define MISC_CTL1_ARM_PLL_EN   BIT(13)
 
 #endif  /* _CLOCK_DEFS_H_ */
index 195c0d300396dbed07898089595e676c761ee791..8c771dc336e1cb48085da69a03d76cbfe4fe55a4 100644 (file)
 /* PA SS Registers */
 #define KS2_PASS_BASE                  0x02000000
 
-/* PLL control registers */
-#define KS2_DDR3BPLLCTL0               (KS2_DEVICE_STATE_CTRL_BASE + 0x368)
-#define KS2_DDR3BPLLCTL1               (KS2_DEVICE_STATE_CTRL_BASE + 0x36C)
-
 /* Power and Sleep Controller (PSC) Domains */
 #define KS2_LPSC_MOD                   0
 #define KS2_LPSC_DUMMY1                        1
index 16cbcee12b58534ac93afb3dfd0721ced3192eea..53f28ec8daf1712e37497ba55f3b6141bc917da7 100644 (file)
@@ -165,6 +165,8 @@ typedef volatile unsigned int   *dv_reg_p;
 #define KS2_PASSPLLCTL1                        (KS2_DEVICE_STATE_CTRL_BASE + 0x35C)
 #define KS2_DDR3APLLCTL0               (KS2_DEVICE_STATE_CTRL_BASE + 0x360)
 #define KS2_DDR3APLLCTL1               (KS2_DEVICE_STATE_CTRL_BASE + 0x364)
+#define KS2_DDR3BPLLCTL0               (KS2_DEVICE_STATE_CTRL_BASE + 0x368)
+#define KS2_DDR3BPLLCTL1               (KS2_DEVICE_STATE_CTRL_BASE + 0x36C)
 #define KS2_ARMPLLCTL0                 (KS2_DEVICE_STATE_CTRL_BASE + 0x370)
 #define KS2_ARMPLLCTL1                 (KS2_DEVICE_STATE_CTRL_BASE + 0x374)
 
@@ -237,6 +239,24 @@ typedef volatile unsigned int   *dv_reg_p;
 /* SGMII SerDes */
 #define KS2_SGMII_SERDES_BASE          0x0232a000
 
+/* JTAG ID register */
+#define JTAGID_VARIANT_SHIFT   28
+#define JTAGID_VARIANT_MASK    (0xf << 28)
+#define JTAGID_PART_NUM_SHIFT  12
+#define JTAGID_PART_NUM_MASK   (0xffff << 12)
+
+/* PART NUMBER definitions */
+#define CPU_66AK2Hx    0xb981
+#define CPU_66AK2Ex    0xb9a6
+#define CPU_66AK2Lx    0xb9a7
+
+/* DEVSPEED register */
+#define DEVSPEED_DEVSPEED_SHIFT        16
+#define DEVSPEED_DEVSPEED_MASK (0xfff << 16)
+#define DEVSPEED_ARMSPEED_SHIFT        0
+#define DEVSPEED_ARMSPEED_MASK 0xfff
+#define DEVSPEED_NUMSPDS       12
+
 #ifdef CONFIG_SOC_K2HK
 #include <asm/arch/hardware-k2hk.h>
 #endif
@@ -250,34 +270,33 @@ typedef volatile unsigned int   *dv_reg_p;
 #endif
 
 #ifndef __ASSEMBLY__
-static inline int cpu_is_k2hk(void)
+
+static inline u16 get_part_number(void)
 {
-       unsigned int jtag_id    = __raw_readl(KS2_JTAG_ID_REG);
-       unsigned int part_no    = (jtag_id >> 12) & 0xffff;
+       u32 jtag_id = __raw_readl(KS2_JTAG_ID_REG);
 
-       return (part_no == 0xb981) ? 1 : 0;
+       return (jtag_id & JTAGID_PART_NUM_MASK) >> JTAGID_PART_NUM_SHIFT;
 }
 
-static inline int cpu_is_k2e(void)
+static inline u8 cpu_is_k2hk(void)
 {
-       unsigned int jtag_id    = __raw_readl(KS2_JTAG_ID_REG);
-       unsigned int part_no    = (jtag_id >> 12) & 0xffff;
-
-       return (part_no == 0xb9a6) ? 1 : 0;
+       return get_part_number() == CPU_66AK2Hx;
 }
 
-static inline int cpu_is_k2l(void)
+static inline u8 cpu_is_k2e(void)
 {
-       unsigned int jtag_id    = __raw_readl(KS2_JTAG_ID_REG);
-       unsigned int part_no    = (jtag_id >> 12) & 0xffff;
+       return get_part_number() == CPU_66AK2Ex;
+}
 
-       return (part_no == 0xb9a7) ? 1 : 0;
+static inline u8 cpu_is_k2l(void)
+{
+       return get_part_number() == CPU_66AK2Lx;
 }
 
-static inline int cpu_revision(void)
+static inline u8 cpu_revision(void)
 {
-       unsigned int jtag_id    = __raw_readl(KS2_JTAG_ID_REG);
-       unsigned int rev        = (jtag_id >> 28) & 0xf;
+       u32 jtag_id     = __raw_readl(KS2_JTAG_ID_REG);
+       u8 rev  = (jtag_id & JTAGID_VARIANT_MASK) >> JTAGID_VARIANT_SHIFT;
 
        return rev;
 }
index c96845c4e27b93600454daa07d9cc87e483d39a2..a9a7d41160126e571ff073575c787a453df7a044 100644 (file)
@@ -149,3 +149,35 @@ void enable_caches(void)
        dcache_enable();
 #endif
 }
+
+#if defined(CONFIG_DISPLAY_CPUINFO)
+int print_cpuinfo(void)
+{
+       u16 cpu = get_part_number();
+       u8 rev = cpu_revision();
+
+       puts("CPU: ");
+       switch (cpu) {
+       case CPU_66AK2Hx:
+               puts("66AK2Hx SR");
+               break;
+       case CPU_66AK2Lx:
+               puts("66AK2Lx SR");
+               break;
+       case CPU_66AK2Ex:
+               puts("66AK2Ex SR");
+               break;
+       default:
+               puts("Unknown\n");
+       }
+
+       if (rev == 2)
+               puts("2.0\n");
+       else if (rev == 1)
+               puts("1.1\n");
+       else if (rev == 0)
+               puts("1.0\n");
+
+       return 0;
+}
+#endif
index 21daf3d1d0f65115145ccd1cff0f4192624a1d84..ace791beb18eda19d08be051c1f2cd8adcf387cc 100644 (file)
@@ -132,3 +132,12 @@ void dcache_invalid(void)
        __asm__ __volatile__("movec %0, %%cacr"::"r"(temp));
 #endif
 }
+
+__weak void invalidate_dcache_range(unsigned long start, unsigned long stop)
+{
+       /* An empty stub, real implementation should be in platform code */
+}
+__weak void flush_dcache_range(unsigned long start, unsigned long stop)
+{
+       /* An empty stub, real implementation should be in platform code */
+}
index 71794a82fe13ffa986f652ef069e8f2b1c339056..da7352abb27a67a2d4677e01d7afaa247e78e7d2 100644 (file)
@@ -1,4 +1,6 @@
 /*
+ * Copyright 2014 Freescale Semiconductor, Inc.
+ *
  * SPDX-License-Identifier:    GPL-2.0+
  */
 
index e94ac850c7515b66948a1f428cdab79619b2322c..cbe706170d0fd5fe1a442e18c02421050ff5961d 100644 (file)
 #include <common.h>
 #include <netdev.h>
 #include <asm/io.h>
+#include <dm/platdata.h>
+#include <dm/platform_data/serial_pl01x.h>
 #include "arm-ebi.h"
 #include "integrator-sc.h"
 
 DECLARE_GLOBAL_DATA_PTR;
 
+static const struct pl01x_serial_platdata serial_platdata = {
+       .base = 0x16000000,
+#ifdef CONFIG_ARCH_CINTEGRATOR
+       .type = TYPE_PL011,
+       .clock = 14745600,
+#else
+       .type = TYPE_PL010,
+       .clock = 0, /* Not used for PL010 */
+#endif
+};
+
+U_BOOT_DEVICE(integrator_serials) = {
+       .name = "serial_pl01x",
+       .platdata = &serial_platdata,
+};
+
 void peripheral_power_enable (void);
 
 #if defined(CONFIG_SHOW_BOOT_PROGRESS)
index eaad0b3d98f64d7cde65b9047618b32adbc4d79e..c28b203ceaac8555dd16420ff70caf7678fa9f1a 100644 (file)
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <asm/io.h>
 #include <config.h>
+#include <netdev.h>
 #include <asm/system.h>
 #include <asm/iproc-common/armpll.h>
 
@@ -67,3 +68,13 @@ void smp_waitloop(unsigned previous_address)
 {
 }
 #endif
+
+#ifdef CONFIG_BCM_SF2_ETH
+int board_eth_init(bd_t *bis)
+{
+       int rc = -1;
+       printf("Registering BCM sf2 eth\n");
+       rc = bcm_sf2_eth_register(bis, 0);
+       return rc;
+}
+#endif
diff --git a/board/compulab/cm_t43/Kconfig b/board/compulab/cm_t43/Kconfig
new file mode 100644 (file)
index 0000000..a191889
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_CM_T43
+
+config SYS_BOARD
+       default "cm_t43"
+
+config SYS_VENDOR
+       default "compulab"
+
+config SYS_SOC
+       default "am33xx"
+
+config SYS_CONFIG_NAME
+       default "cm_t43"
+
+endif
diff --git a/board/compulab/cm_t43/MAINTAINERS b/board/compulab/cm_t43/MAINTAINERS
new file mode 100644 (file)
index 0000000..951c370
--- /dev/null
@@ -0,0 +1,6 @@
+CM_T43 BOARD
+M:     Nikita Kiryanov <nikita@compulab.co.il>
+S:     Maintained
+F:     board/compulab/cm_t43/
+F:     include/configs/cm_t43.h
+F:     configs/cm_t43_defconfig
diff --git a/board/compulab/cm_t43/Makefile b/board/compulab/cm_t43/Makefile
new file mode 100644 (file)
index 0000000..3993689
--- /dev/null
@@ -0,0 +1,9 @@
+#
+# Makefile
+#
+# Copyright (C) 2015 Compulab, Ltd.
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+
+obj-y  += board.o mux.o
diff --git a/board/compulab/cm_t43/board.c b/board/compulab/cm_t43/board.c
new file mode 100644 (file)
index 0000000..4272c45
--- /dev/null
@@ -0,0 +1,272 @@
+/*
+ * Copyright (C) 2015 Compulab, Ltd.
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <common.h>
+#include <i2c.h>
+#include <miiphy.h>
+#include <cpsw.h>
+#include <spl.h>
+#include <asm/arch/clock.h>
+#include <asm/arch/sys_proto.h>
+#include <asm/arch/mux.h>
+#include <asm/arch/ddr_defs.h>
+#include <asm/errno.h>
+#include <asm/gpio.h>
+#include <asm/emif.h>
+#include <power/pmic.h>
+#include <power/tps65218.h>
+#include "board.h"
+
+DECLARE_GLOBAL_DATA_PTR;
+
+static struct ctrl_dev *cdev = (struct ctrl_dev *)CTRL_DEVICE_BASE;
+
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
+
+const struct dpll_params dpll_mpu  = { 800,  24, 1,  -1, -1, -1, -1 };
+const struct dpll_params dpll_core = { 1000, 24, -1, -1, 10,  8,  4 };
+const struct dpll_params dpll_per  = { 960,  24, 5,  -1, -1, -1, -1 };
+const struct dpll_params dpll_ddr  = { 400,  23, 1,  -1,  1, -1, -1 };
+
+const struct ctrl_ioregs ioregs_ddr3 = {
+       .cm0ioctl               = DDR3_ADDRCTRL_IOCTRL_VALUE,
+       .cm1ioctl               = DDR3_ADDRCTRL_WD0_IOCTRL_VALUE,
+       .cm2ioctl               = DDR3_ADDRCTRL_WD1_IOCTRL_VALUE,
+       .dt0ioctl               = DDR3_DATA0_IOCTRL_VALUE,
+       .dt1ioctl               = DDR3_DATA0_IOCTRL_VALUE,
+       .dt2ioctrl              = DDR3_DATA0_IOCTRL_VALUE,
+       .dt3ioctrl              = DDR3_DATA0_IOCTRL_VALUE,
+       .emif_sdram_config_ext  = 0x0143,
+};
+
+/* EMIF DDR3 Configurations are different for production AM43X GP EVMs */
+struct emif_regs ddr3_emif_regs = {
+       .sdram_config                   = 0x638413B2,
+       .ref_ctrl                       = 0x00000C30,
+       .sdram_tim1                     = 0xEAAAD4DB,
+       .sdram_tim2                     = 0x266B7FDA,
+       .sdram_tim3                     = 0x107F8678,
+       .read_idle_ctrl                 = 0x00050000,
+       .zq_config                      = 0x50074BE4,
+       .temp_alert_config              = 0x0,
+       .emif_ddr_phy_ctlr_1            = 0x0E004008,
+       .emif_ddr_ext_phy_ctrl_1        = 0x08020080,
+       .emif_ddr_ext_phy_ctrl_2        = 0x00000066,
+       .emif_ddr_ext_phy_ctrl_3        = 0x00000091,
+       .emif_ddr_ext_phy_ctrl_4        = 0x000000B9,
+       .emif_ddr_ext_phy_ctrl_5        = 0x000000E6,
+       .emif_rd_wr_exec_thresh         = 0x80000405,
+       .emif_prio_class_serv_map       = 0x80000001,
+       .emif_connect_id_serv_1_map     = 0x80000094,
+       .emif_connect_id_serv_2_map     = 0x00000000,
+       .emif_cos_config                = 0x000FFFFF
+};
+
+const u32 ext_phy_ctrl_const_base_ddr3[] = {
+       0x00000000,
+       0x00000044,
+       0x00000044,
+       0x00000046,
+       0x00000046,
+       0x00000000,
+       0x00000059,
+       0x00000077,
+       0x00000093,
+       0x000000A8,
+       0x00000000,
+       0x00000019,
+       0x00000037,
+       0x00000053,
+       0x00000068,
+       0x00000000,
+       0x0,
+       0x0,
+       0x40000000,
+       0x08102040
+};
+
+void emif_get_ext_phy_ctrl_const_regs(const u32 **regs, u32 *size)
+{
+       *regs = ext_phy_ctrl_const_base_ddr3;
+       *size = ARRAY_SIZE(ext_phy_ctrl_const_base_ddr3);
+}
+
+const struct dpll_params *get_dpll_ddr_params(void)
+{
+       return &dpll_ddr;
+}
+
+const struct dpll_params *get_dpll_mpu_params(void)
+{
+       return &dpll_mpu;
+}
+
+const struct dpll_params *get_dpll_core_params(void)
+{
+       return &dpll_core;
+}
+
+const struct dpll_params *get_dpll_per_params(void)
+{
+       return &dpll_per;
+}
+
+static void enable_vtt_regulator(void)
+{
+       u32 temp;
+
+       writel(GPIO_CTRL_ENABLEMODULE, AM33XX_GPIO5_BASE + OMAP_GPIO_CTRL);
+       writel(GPIO_SETDATAOUT(7), AM33XX_GPIO5_BASE + OMAP_GPIO_SETDATAOUT);
+       temp = readl(AM33XX_GPIO5_BASE + OMAP_GPIO_OE);
+       temp = temp & ~(GPIO_OE_ENABLE(7));
+       writel(temp, AM33XX_GPIO5_BASE + OMAP_GPIO_OE);
+}
+
+void sdram_init(void)
+{
+       unsigned long ram_size;
+
+       enable_vtt_regulator();
+       config_ddr(0, &ioregs_ddr3, NULL, NULL, &ddr3_emif_regs, 0);
+       ram_size = get_ram_size((long int *)CONFIG_SYS_SDRAM_BASE, 0x80000000);
+       if (ram_size == 0x80000000 ||
+           ram_size == 0x40000000 ||
+           ram_size == 0x20000000)
+               return;
+
+       ddr3_emif_regs.sdram_config = 0x638453B2;
+       config_ddr(0, &ioregs_ddr3, NULL, NULL, &ddr3_emif_regs, 0);
+       ram_size = get_ram_size((long int *)CONFIG_SYS_SDRAM_BASE, 0x80000000);
+       if (ram_size == 0x08000000)
+               return;
+
+       hang();
+}
+#endif
+
+/* setup board specific PMIC */
+int power_init_board(void)
+{
+       struct pmic *p;
+
+       power_tps65218_init(I2C_PMIC);
+       p = pmic_get("TPS65218_PMIC");
+       if (p && !pmic_probe(p))
+               puts("PMIC:  TPS65218\n");
+
+       return 0;
+}
+
+int board_init(void)
+{
+       gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
+       gpmc_init();
+       set_i2c_pin_mux();
+       i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE);
+       i2c_probe(TPS65218_CHIP_PM);
+
+       return 0;
+}
+
+#ifdef CONFIG_DRIVER_TI_CPSW
+
+static void cpsw_control(int enabled)
+{
+       return;
+}
+
+static struct cpsw_slave_data cpsw_slaves[] = {
+       {
+               .slave_reg_ofs  = 0x208,
+               .sliver_reg_ofs = 0xd80,
+               .phy_addr       = 0,
+               .phy_if         = PHY_INTERFACE_MODE_RGMII,
+       },
+       {
+               .slave_reg_ofs  = 0x308,
+               .sliver_reg_ofs = 0xdc0,
+               .phy_addr       = 1,
+               .phy_if         = PHY_INTERFACE_MODE_RGMII,
+       },
+};
+
+static struct cpsw_platform_data cpsw_data = {
+       .mdio_base              = CPSW_MDIO_BASE,
+       .cpsw_base              = CPSW_BASE,
+       .mdio_div               = 0xff,
+       .channels               = 8,
+       .cpdma_reg_ofs          = 0x800,
+       .slaves                 = 2,
+       .slave_data             = cpsw_slaves,
+       .ale_reg_ofs            = 0xd00,
+       .ale_entries            = 1024,
+       .host_port_reg_ofs      = 0x108,
+       .hw_stats_reg_ofs       = 0x900,
+       .bd_ram_ofs             = 0x2000,
+       .mac_control            = (1 << 5),
+       .control                = cpsw_control,
+       .host_port_num          = 0,
+       .version                = CPSW_CTRL_VERSION_2,
+};
+
+#define GPIO_PHY1_RST          170
+#define GPIO_PHY2_RST          168
+
+int board_phy_config(struct phy_device *phydev)
+{
+       unsigned short val;
+
+       /* introduce tx clock delay */
+       phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x5);
+       val = phy_read(phydev, MDIO_DEVAD_NONE, 0x1e);
+       val |= 0x0100;
+       phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, val);
+
+       if (phydev->drv->config)
+               return phydev->drv->config(phydev);
+
+       return 0;
+}
+
+static void board_phy_init(void)
+{
+       set_mdio_pin_mux();
+       writel(0x40003, 0x44e10a74); /* Mux pin as clkout2 */
+       writel(0x10006, 0x44df4108); /* Select EXTDEV as clock source */
+       writel(0x4, 0x44df2e60); /* Set EXTDEV as MNbypass */
+
+       /* For revision A */
+       writel(0x2000009, 0x44df2e6c);
+       writel(0x38a, 0x44df2e70);
+
+       mdelay(10);
+
+       gpio_request(GPIO_PHY1_RST, "phy1_rst");
+       gpio_request(GPIO_PHY2_RST, "phy2_rst");
+       gpio_direction_output(GPIO_PHY1_RST, 0);
+       gpio_direction_output(GPIO_PHY2_RST, 0);
+       mdelay(2);
+
+       gpio_set_value(GPIO_PHY1_RST, 1);
+       gpio_set_value(GPIO_PHY2_RST, 1);
+       mdelay(2);
+}
+
+int board_eth_init(bd_t *bis)
+{
+       int rv;
+
+       set_rgmii_pin_mux();
+       writel(RGMII_MODE_ENABLE | RGMII_INT_DELAY, &cdev->miisel);
+       board_phy_init();
+
+       rv = cpsw_register(&cpsw_data);
+       if (rv < 0)
+               printf("Error %d registering CPSW switch\n", rv);
+
+       return rv;
+}
+#endif
diff --git a/board/compulab/cm_t43/board.h b/board/compulab/cm_t43/board.h
new file mode 100644 (file)
index 0000000..b585db0
--- /dev/null
@@ -0,0 +1,12 @@
+/*
+ * Copyright (C) 2015 Compulab, Ltd.
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef _BOARD_H_
+#define _BOARD_H_
+void set_i2c_pin_mux(void);
+void set_mdio_pin_mux(void);
+void set_rgmii_pin_mux(void);
+#endif
diff --git a/board/compulab/cm_t43/mux.c b/board/compulab/cm_t43/mux.c
new file mode 100644 (file)
index 0000000..d4bf4b2
--- /dev/null
@@ -0,0 +1,143 @@
+/*
+ * Copyright (C) 2015 Compulab, Ltd.
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/arch/sys_proto.h>
+#include <asm/arch/mux.h>
+#include "board.h"
+
+static struct module_pin_mux rgmii1_pin_mux[] = {
+       {OFFSET(mii1_txen),  MODE(2)},
+       {OFFSET(mii1_txd3),  MODE(2)},
+       {OFFSET(mii1_txd2),  MODE(2)},
+       {OFFSET(mii1_txd1),  MODE(2)},
+       {OFFSET(mii1_txd0),  MODE(2)},
+       {OFFSET(mii1_txclk), MODE(2)},
+       {OFFSET(mii1_rxdv),  MODE(2) | RXACTIVE | PULLDOWN_EN},
+       {OFFSET(mii1_rxclk), MODE(2) | RXACTIVE | PULLDOWN_EN},
+       {OFFSET(mii1_rxd3),  MODE(2) | RXACTIVE | PULLDOWN_EN},
+       {OFFSET(mii1_rxd2),  MODE(2) | RXACTIVE | PULLDOWN_EN},
+       {OFFSET(mii1_rxd1),  MODE(2) | RXACTIVE | PULLDOWN_EN},
+       {OFFSET(mii1_rxd0),  MODE(2) | RXACTIVE | PULLDOWN_EN},
+       {-1},
+};
+
+static struct module_pin_mux rgmii2_pin_mux[] = {
+       {OFFSET(gpmc_a0),  MODE(2)}, /* txen */
+       {OFFSET(gpmc_a2),  MODE(2)}, /* txd3 */
+       {OFFSET(gpmc_a3),  MODE(2)}, /* txd2 */
+       {OFFSET(gpmc_a4),  MODE(2)}, /* txd1 */
+       {OFFSET(gpmc_a5),  MODE(2)}, /* txd0 */
+       {OFFSET(gpmc_a6),  MODE(2)}, /* txclk */
+       {OFFSET(gpmc_a1),  MODE(2) | RXACTIVE | PULLDOWN_EN}, /* rxvd */
+       {OFFSET(gpmc_a7),  MODE(2) | RXACTIVE | PULLDOWN_EN}, /* rxclk */
+       {OFFSET(gpmc_a8),  MODE(2) | RXACTIVE | PULLDOWN_EN}, /* rxd3 */
+       {OFFSET(gpmc_a9),  MODE(2) | RXACTIVE | PULLDOWN_EN}, /* rxd2 */
+       {OFFSET(gpmc_a10), MODE(2) | RXACTIVE | PULLDOWN_EN}, /* rxd1 */
+       {OFFSET(gpmc_a11), MODE(2) | RXACTIVE | PULLUP_EN},   /* rxd0 */
+       {-1},
+};
+
+static struct module_pin_mux mdio_pin_mux[] = {
+       {OFFSET(mdio_data), (MODE(0) | PULLUP_EN | RXACTIVE)},
+       {OFFSET(mdio_clk),  (MODE(0) | PULLUP_EN)},
+       {-1},
+};
+
+static struct module_pin_mux uart0_pin_mux[] = {
+       {OFFSET(uart0_rxd), (MODE(0) | PULLUP_EN | RXACTIVE  | SLEWCTRL)},
+       {OFFSET(uart0_txd), (MODE(0) | PULLUDDIS | PULLUP_EN | SLEWCTRL)},
+       {-1},
+};
+
+static struct module_pin_mux mmc0_pin_mux[] = {
+       {OFFSET(mmc0_clk),  (MODE(0) | PULLUDDIS | RXACTIVE)},
+       {OFFSET(mmc0_cmd),  (MODE(0) | PULLUP_EN | RXACTIVE)},
+       {OFFSET(mmc0_dat0), (MODE(0) | PULLUP_EN | RXACTIVE)},
+       {OFFSET(mmc0_dat1), (MODE(0) | PULLUP_EN | RXACTIVE)},
+       {OFFSET(mmc0_dat2), (MODE(0) | PULLUP_EN | RXACTIVE)},
+       {OFFSET(mmc0_dat3), (MODE(0) | PULLUP_EN | RXACTIVE)},
+       {-1},
+};
+
+static struct module_pin_mux i2c_pin_mux[] = {
+       {OFFSET(i2c0_sda),  (MODE(0) | PULLUP_EN | RXACTIVE | SLEWCTRL)},
+       {OFFSET(i2c0_scl),  (MODE(0) | PULLUP_EN | RXACTIVE | SLEWCTRL)},
+       {OFFSET(spi2_sclk), (MODE(1) | PULLUP_EN | RXACTIVE | SLEWCTRL)},
+       {OFFSET(spi2_cs0),  (MODE(1) | PULLUP_EN | RXACTIVE | SLEWCTRL)},
+       {-1},
+};
+
+static struct module_pin_mux nand_pin_mux[] = {
+       {OFFSET(gpmc_ad0),      (MODE(0) | PULLUDDIS | RXACTIVE)},
+       {OFFSET(gpmc_ad1),      (MODE(0) | PULLUDDIS | RXACTIVE)},
+       {OFFSET(gpmc_ad2),      (MODE(0) | PULLUDDIS | RXACTIVE)},
+       {OFFSET(gpmc_ad3),      (MODE(0) | PULLUDDIS | RXACTIVE)},
+       {OFFSET(gpmc_ad4),      (MODE(0) | PULLUDDIS | RXACTIVE)},
+       {OFFSET(gpmc_ad5),      (MODE(0) | PULLUDDIS | RXACTIVE)},
+       {OFFSET(gpmc_ad6),      (MODE(0) | PULLUDDIS | RXACTIVE)},
+       {OFFSET(gpmc_ad7),      (MODE(0) | PULLUDDIS | RXACTIVE)},
+       {OFFSET(gpmc_wait0),    (MODE(0) | PULLUP_EN | RXACTIVE)},
+       {OFFSET(gpmc_wpn),      (MODE(0) | PULLUP_EN)},
+       {OFFSET(gpmc_csn0),     (MODE(0) | PULLUP_EN)},
+       {OFFSET(gpmc_wen),      (MODE(0) | PULLDOWN_EN)},
+       {OFFSET(gpmc_oen_ren),  (MODE(0) | PULLDOWN_EN)},
+       {OFFSET(gpmc_advn_ale), (MODE(0) | PULLDOWN_EN)},
+       {OFFSET(gpmc_be0n_cle), (MODE(0) | PULLDOWN_EN)},
+       {-1},
+};
+
+static struct module_pin_mux emmc_pin_mux[] = {
+       {OFFSET(gpmc_csn1), (MODE(2) | PULLUDDIS | RXACTIVE)}, /* EMMC_CLK */
+       {OFFSET(gpmc_csn2), (MODE(2) | PULLUP_EN | RXACTIVE)}, /* EMMC_CMD */
+       {OFFSET(gpmc_ad8),  (MODE(2) | PULLUP_EN | RXACTIVE)}, /* EMMC_DAT0 */
+       {OFFSET(gpmc_ad9),  (MODE(2) | PULLUP_EN | RXACTIVE)}, /* EMMC_DAT1 */
+       {OFFSET(gpmc_ad10), (MODE(2) | PULLUP_EN | RXACTIVE)}, /* EMMC_DAT2 */
+       {OFFSET(gpmc_ad11), (MODE(2) | PULLUP_EN | RXACTIVE)}, /* EMMC_DAT3 */
+       {OFFSET(gpmc_ad12), (MODE(2) | PULLUP_EN | RXACTIVE)}, /* EMMC_DAT4 */
+       {OFFSET(gpmc_ad13), (MODE(2) | PULLUP_EN | RXACTIVE)}, /* EMMC_DAT5 */
+       {OFFSET(gpmc_ad14), (MODE(2) | PULLUP_EN | RXACTIVE)}, /* EMMC_DAT6 */
+       {OFFSET(gpmc_ad15), (MODE(2) | PULLUP_EN | RXACTIVE)}, /* EMMC_DAT7 */
+       {-1},
+};
+
+static struct module_pin_mux spi_flash_pin_mux[] = {
+       {OFFSET(spi0_d0),   (MODE(0) | RXACTIVE | PULLUDEN)},
+       {OFFSET(spi0_d1),   (MODE(0) | RXACTIVE | PULLUDEN)},
+       {OFFSET(spi0_cs0),  (MODE(0) | RXACTIVE | PULLUDEN)},
+       {OFFSET(spi0_sclk), (MODE(0) | RXACTIVE | PULLUDEN)},
+       {-1},
+};
+
+void set_uart_mux_conf(void)
+{
+       configure_module_pin_mux(uart0_pin_mux);
+}
+
+void set_mdio_pin_mux(void)
+{
+       configure_module_pin_mux(mdio_pin_mux);
+}
+
+void set_rgmii_pin_mux(void)
+{
+       configure_module_pin_mux(rgmii1_pin_mux);
+       configure_module_pin_mux(rgmii2_pin_mux);
+}
+
+void set_mux_conf_regs(void)
+{
+       configure_module_pin_mux(mmc0_pin_mux);
+       configure_module_pin_mux(emmc_pin_mux);
+       configure_module_pin_mux(i2c_pin_mux);
+       configure_module_pin_mux(spi_flash_pin_mux);
+       configure_module_pin_mux(nand_pin_mux);
+}
+
+void set_i2c_pin_mux(void)
+{
+       configure_module_pin_mux(i2c_pin_mux);
+}
index d6a209e1a3743fd6d732915e44d98293feb07d1d..783c46d882846d1f17e05ce48ed6b32cbca1105f 100644 (file)
@@ -9,6 +9,7 @@
 #include <power/pmic.h>
 #include <power/pfuze100_pmic.h>
 
+#ifndef CONFIG_DM_PMIC_PFUZE100
 int pfuze_mode_init(struct pmic *p, u32 mode)
 {
        unsigned char offset, i, switch_num;
@@ -90,3 +91,4 @@ struct pmic *pfuze_common_init(unsigned char i2cbus)
 
        return p;
 }
+#endif
index 469ee8e114663a3a2006d429db450382242f119c..55999ed2266bcb4045dc3975dcafbb18955a4ed1 100644 (file)
@@ -96,12 +96,6 @@ int dram_init(void)
        return 0;
 }
 
-void dram_init_banksize(void)
-{
-       gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
-       gd->bd->bi_dram[0].size =  PHYS_SDRAM_1_SIZE;
-}
-
 #if defined(CONFIG_OF_BOARD_SETUP)
 int ft_board_setup(void *fdt, bd_t *bd)
 {
diff --git a/board/hisilicon/hikey/Kconfig b/board/hisilicon/hikey/Kconfig
new file mode 100644 (file)
index 0000000..f7f1055
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_HIKEY
+
+config SYS_BOARD
+       default "hikey"
+
+config SYS_VENDOR
+       default "hisilicon"
+
+config SYS_SOC
+       default "hi6220"
+
+config SYS_CONFIG_NAME
+       default "hikey"
+
+endif
diff --git a/board/hisilicon/hikey/Makefile b/board/hisilicon/hikey/Makefile
new file mode 100644 (file)
index 0000000..d4ec8c7
--- /dev/null
@@ -0,0 +1,8 @@
+#
+# (C) Copyright 2000-2004
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+
+obj-y  := hikey.o
diff --git a/board/hisilicon/hikey/README b/board/hisilicon/hikey/README
new file mode 100644 (file)
index 0000000..25c8143
--- /dev/null
@@ -0,0 +1,160 @@
+Introduction
+============
+
+HiKey is the first certified 96Boards Consumer Edition board. The board/SoC has: -
+* HiSilicon Kirin 6220 eight-core ARM Cortex-A53 64-bit SoC running at 1.2GHz.
+* ARM Mali 450-MP4 GPU
+* 1GB 800MHz LPDDR3 DRAM
+* 4GB eMMC Flash Storage
+* microSD
+* 802.11a/b/g/n WiFi, Bluetooth
+
+The HiKey schematic can be found here: -
+https://github.com/96boards/documentation/blob/master/hikey/96Boards-Hikey-Rev-A1.pdf
+
+A SoC datasheet can be found here: -
+https://github.com/96boards/documentation/blob/master/hikey/
+Hi6220V100_Multi-Mode_Application_Processor_Function_Description.pdf
+
+Currently the u-boot port supports: -
+* USB
+* eMMC
+* SD card
+* GPIO
+
+Compile u-boot
+==============
+
+make CROSS_COMPILE=aarch64-linux-gnu- hikey_config
+make CROSS_COMPILE=aarch64-linux-gnu-
+
+ARM Trusted Firmware (ATF) & l-loader
+=====================================
+
+This u-boot port has been tested with l-loader, booting ATF, which then boots
+u-boot as the bl33.bin executable.
+
+1. Get ATF source code
+git clone https://github.com/96boards/arm-trusted-firmware.git
+
+2. Compile ATF I use the makefile here
+http://people.linaro.org/~peter.griffin/hikey/hikey-u-boot-release_r1/build-tf.mak
+
+3. Get l-loader
+git clone https://github.com/96boards/l-loader.git
+
+4. Make sym links to ATF bip / fip binaries
+ln -s /home/griffinp/aarch64/bl1-hikey.bin bl1.bin
+ln -s /home/griffinp/aarch64/fip-hikey.bin fip.bin
+
+arm-linux-gnueabihf-gcc -c -o start.o start.S
+arm-linux-gnueabihf-gcc -c -o debug.o debug.S
+arm-linux-gnueabihf-ld -Bstatic -Tl-loader.lds -Ttext 0xf9800800 start.o debug.o -o loader
+arm-linux-gnueabihf-objcopy -O binary loader temp
+
+python gen_loader.py -o l-loader.bin --img_loader=temp --img_bl1=bl1.bin
+sudo bash -x generate_ptable.sh
+python gen_loader.py -o ptable.img --img_prm_ptable=prm_ptable.img --img_sec_ptable=sec_ptable.img
+
+These instructions are adapted from
+https://github.com/96boards/documentation/wiki/HiKeyUEFI
+
+FLASHING
+========
+
+1. Connect jumper J2 to go into recovery mode and flash l-loader.bin with
+   fastboot using the hisi-idt.py utility
+
+> git clone https://github.com/96boards/burn-boot.git
+> sudo python /home/griffinp/Software/hikey/burn-boot/hisi-idt.py -d /dev/ttyUSB0 --img1=/tmp/l-loader.bin
+
+2. Once LED 0 comes on solid, it should be detected as a fastboot device
+   (on some boards I've found this to be unreliable)
+
+sudo fastboot devices
+
+3. Flash the images
+wget https://builds.96boards.org/releases/hikey/nvme.img
+sudo fastboot flash ptable ptable.img
+sudo fastboot flash fastboot fip.bin
+sudo fastboot flash nvme nvme.img
+
+4. Disconnect jumper J2, and reset the board and you will now (hopefully)
+   have ATF, booting u-boot from eMMC. On 'new' boards I've had to do the
+   flashing twice in the past to avoid an ATF error.
+
+See working boot trace below: -
+
+debug EMMC boot: print init OK
+debug EMMC boot: send RST_N .
+debug EMMC boot: start eMMC boot......
+load fastboot1!
+Switch to aarch64 mode. CPU0 executes at 0xf9801000!
+NOTICE:  Booting Trusted Firmware
+NOTICE:  BL1: v1.1(release):a0c0399
+NOTICE:  BL1: Built : 13:23:48, May 22 2015
+NOTICE:  succeed to init lpddr3 rank0 dram phy
+INFO:    lpddr3_freq_init, set ddrc 533mhz
+INFO:    init ddr3 rank0
+INFO:    ddr3 rank1 init pass
+INFO:    lpddr3_freq_init, set ddrc 800mhz
+INFO:    init ddr3 rank0
+INFO:    ddr3 rank1 init pass
+INFO:    Elpida DDR
+NOTICE:  BL1: Booting BL2
+INFO:    [BDID] [fff91c18] midr: 0x410fd033
+INFO:    [BDID] [fff91c1c] board type: 0
+INFO:    [BDID] [fff91c20] board id: 0x2b
+INFO:    init_acpu_dvfs: pmic version 17
+INFO:    init_acpu_dvfs: ACPU_CHIP_MAX_FREQ=0x186a00.
+INFO:    acpu_dvfs_volt_init: success!
+INFO:    acpu_dvfs_set_freq: support freq num is 5
+INFO:    acpu_dvfs_set_freq: start prof is 0x4
+INFO:    acpu_dvfs_set_freq: magic is 0x5a5ac5c5
+INFO:    acpu_dvfs_set_freq: voltage:
+INFO:      - 0: 0x3a
+INFO:      - 1: 0x3a
+INFO:      - 2: 0x4a
+INFO:      - 3: 0x5b
+INFO:      - 4: 0x6b
+NOTICE:  acpu_dvfs_set_freq: set acpu freq success!NOTICE:  BL2: v1.1(debug):a0c0399
+NOTICE:  BL2: Built : 10:19:28, May 27 2015
+INFO:    BL2: Loading BL3-0
+INFO:    Using FIP
+WARNING: Failed to access image 'bl30.bin' (-1)
+ERROR:   Failed to load BL3-0 (-1)
+ERROR:   Please burn mcu image:
+ERROR:     sudo fastboot flash mcuimage mcuimage.bin
+INFO:    BL2: TrustZone: protecting 16777216 bytes of memory at 0x3f000000
+INFO:    BL2: Loading BL3-1
+INFO:    Using FIP
+INFO:    Loading file 'bl31.bin' at address 0xf9858000
+INFO:    File 'bl31.bin' loaded: 0xf9858000 - 0xf9860010
+INFO:    BL2: Loading BL3-2
+INFO:    Using FIP
+WARNING: Failed to access image 'bl32.bin' (-1)
+WARNING: Failed to load BL3-2 (-1)
+INFO:    BL2: Loading BL3-3
+INFO:    Using FIP
+INFO:    Loading file 'bl33.bin' at address 0x35000000
+INFO:    File 'bl33.bin' loaded: 0x35000000 - 0x35042938
+NOTICE:  BL1: Booting BL3-1
+NOTICE:  BL3-1: v1.1(debug):a0c0399
+NOTICE:  BL3-1: Built : 10:19:31, May 27 2015
+INFO:    BL3-1: Initializing runtime services
+INFO:    BL3-1: Preparing for EL3 exit to normal world
+INFO:    BL3-1: Next image address = 0x35000000
+INFO:    BL3-1: Next image spsr = 0x3c9
+
+
+U-Boot 2015.04-00007-g1b3d379-dirty (May 27 2015 - 10:18:16) hikey
+
+DRAM:  1008 MiB
+MMC:   sd_card_detect: SD card present
+HiKey DWMMC: 0, HiKey DWMMC: 1
+In:    serial
+Out:   serial
+Err:   serial
+Net:   Net Initialization Skipped
+No ethernet found.
+Hit any key to stop autoboot:  0
diff --git a/board/hisilicon/hikey/hikey.c b/board/hisilicon/hikey/hikey.c
new file mode 100644 (file)
index 0000000..8c1271b
--- /dev/null
@@ -0,0 +1,356 @@
+/*
+ * (C) Copyright 2015 Linaro
+ * Peter Griffin <peter.griffin@linaro.org>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+#include <common.h>
+#include <dm.h>
+#include <errno.h>
+#include <malloc.h>
+#include <netdev.h>
+#include <asm/io.h>
+#include <usb.h>
+#include <power/hi6553_pmic.h>
+#include <asm-generic/gpio.h>
+#include <asm/arch/dwmmc.h>
+#include <asm/arch/gpio.h>
+#include <asm/arch/periph.h>
+#include <asm/arch/pinmux.h>
+#include <asm/arch/hi6220.h>
+
+/*TODO drop this table in favour of device tree */
+static const struct hikey_gpio_platdata hi6220_gpio[] = {
+       { 0, HI6220_GPIO_BASE(0)},
+       { 1, HI6220_GPIO_BASE(1)},
+       { 2, HI6220_GPIO_BASE(2)},
+       { 3, HI6220_GPIO_BASE(3)},
+       { 4, HI6220_GPIO_BASE(4)},
+       { 5, HI6220_GPIO_BASE(5)},
+       { 6, HI6220_GPIO_BASE(6)},
+       { 7, HI6220_GPIO_BASE(7)},
+       { 8, HI6220_GPIO_BASE(8)},
+       { 9, HI6220_GPIO_BASE(9)},
+       { 10, HI6220_GPIO_BASE(10)},
+       { 11, HI6220_GPIO_BASE(11)},
+       { 12, HI6220_GPIO_BASE(12)},
+       { 13, HI6220_GPIO_BASE(13)},
+       { 14, HI6220_GPIO_BASE(14)},
+       { 15, HI6220_GPIO_BASE(15)},
+       { 16, HI6220_GPIO_BASE(16)},
+       { 17, HI6220_GPIO_BASE(17)},
+       { 18, HI6220_GPIO_BASE(18)},
+       { 19, HI6220_GPIO_BASE(19)},
+
+};
+
+U_BOOT_DEVICES(hi6220_gpios) = {
+       { "gpio_hi6220", &hi6220_gpio[0] },
+       { "gpio_hi6220", &hi6220_gpio[1] },
+       { "gpio_hi6220", &hi6220_gpio[2] },
+       { "gpio_hi6220", &hi6220_gpio[3] },
+       { "gpio_hi6220", &hi6220_gpio[4] },
+       { "gpio_hi6220", &hi6220_gpio[5] },
+       { "gpio_hi6220", &hi6220_gpio[6] },
+       { "gpio_hi6220", &hi6220_gpio[7] },
+       { "gpio_hi6220", &hi6220_gpio[8] },
+       { "gpio_hi6220", &hi6220_gpio[9] },
+       { "gpio_hi6220", &hi6220_gpio[10] },
+       { "gpio_hi6220", &hi6220_gpio[11] },
+       { "gpio_hi6220", &hi6220_gpio[12] },
+       { "gpio_hi6220", &hi6220_gpio[13] },
+       { "gpio_hi6220", &hi6220_gpio[14] },
+       { "gpio_hi6220", &hi6220_gpio[15] },
+       { "gpio_hi6220", &hi6220_gpio[16] },
+       { "gpio_hi6220", &hi6220_gpio[17] },
+       { "gpio_hi6220", &hi6220_gpio[18] },
+       { "gpio_hi6220", &hi6220_gpio[19] },
+};
+
+DECLARE_GLOBAL_DATA_PTR;
+
+struct peri_sc_periph_regs *peri_sc =
+       (struct peri_sc_periph_regs *)HI6220_PERI_BASE;
+
+struct alwayson_sc_regs *ao_sc =
+       (struct alwayson_sc_regs *)ALWAYSON_CTRL_BASE;
+
+/* status offset from enable reg */
+#define STAT_EN_OFF 0x2
+
+void hi6220_clk_enable(u32 bitfield, unsigned int *clk_base)
+{
+       uint32_t data;
+
+       data = readl(clk_base);
+       data |= bitfield;
+
+       writel(bitfield, clk_base);
+       do {
+               data = readl(clk_base + STAT_EN_OFF);
+       } while ((data & bitfield) == 0);
+}
+
+/* status offset from disable reg */
+#define STAT_DIS_OFF 0x1
+
+void hi6220_clk_disable(u32 bitfield, unsigned int *clk_base)
+{
+       uint32_t data;
+
+       data = readl(clk_base);
+       data |= bitfield;
+
+       writel(data, clk_base);
+       do {
+               data = readl(clk_base + STAT_DIS_OFF);
+       } while (data & bitfield);
+}
+
+#define EYE_PATTERN    0x70533483
+
+int board_usb_init(int index, enum usb_init_type init)
+{
+       unsigned int data;
+
+       /* enable USB clock */
+       hi6220_clk_enable(PERI_CLK0_USBOTG, &peri_sc->clk0_en);
+
+       /* take usb IPs out of reset */
+       writel(PERI_RST0_USBOTG_BUS | PERI_RST0_POR_PICOPHY |
+               PERI_RST0_USBOTG | PERI_RST0_USBOTG_32K,
+               &peri_sc->rst0_dis);
+       do {
+               data = readl(&peri_sc->rst0_stat);
+               data &= PERI_RST0_USBOTG_BUS | PERI_RST0_POR_PICOPHY |
+                       PERI_RST0_USBOTG | PERI_RST0_USBOTG_32K;
+       } while (data);
+
+       /*CTRL 5*/
+       data = readl(&peri_sc->ctrl5);
+       data &= ~PERI_CTRL5_PICOPHY_BC_MODE;
+       data |= PERI_CTRL5_USBOTG_RES_SEL | PERI_CTRL5_PICOPHY_ACAENB;
+       data |= 0x300;
+       writel(data, &peri_sc->ctrl5);
+
+       /*CTRL 4*/
+
+       /* configure USB PHY */
+       data = readl(&peri_sc->ctrl4);
+
+       /* make PHY out of low power mode */
+       data &= ~PERI_CTRL4_PICO_SIDDQ;
+       data &= ~PERI_CTRL4_PICO_OGDISABLE;
+       data |= PERI_CTRL4_PICO_VBUSVLDEXTSEL | PERI_CTRL4_PICO_VBUSVLDEXT;
+       writel(data, &peri_sc->ctrl4);
+
+       writel(EYE_PATTERN, &peri_sc->ctrl8);
+
+       mdelay(5);
+       return 0;
+}
+
+static int config_sd_carddetect(void)
+{
+       int ret;
+
+       /* configure GPIO8 as nopull */
+       writel(0, 0xf8001830);
+
+       gpio_request(8, "SD CD");
+
+       gpio_direction_input(8);
+       ret = gpio_get_value(8);
+
+       if (!ret) {
+               printf("%s: SD card present\n", __func__);
+               return 1;
+       }
+
+       printf("%s: SD card not present\n", __func__);
+       return 0;
+}
+
+
+static void mmc1_init_pll(void)
+{
+       uint32_t data;
+
+       /* select SYSPLL as the source of MMC1 */
+       /* select SYSPLL as the source of MUX1 (SC_CLK_SEL0) */
+       writel(1 << 11 | 1 << 27, &peri_sc->clk0_sel);
+       do {
+               data = readl(&peri_sc->clk0_sel);
+       } while (!(data & (1 << 11)));
+
+       /* select MUX1 as the source of MUX2 (SC_CLK_SEL0) */
+       writel(1 << 30, &peri_sc->clk0_sel);
+       do {
+               data = readl(&peri_sc->clk0_sel);
+       } while (data & (1 << 14));
+
+       hi6220_clk_enable(PERI_CLK0_MMC1, &peri_sc->clk0_en);
+
+       hi6220_clk_enable(PERI_CLK12_MMC1_SRC, &peri_sc->clk12_en);
+
+       do {
+               /* 1.2GHz / 50 = 24MHz */
+               writel(0x31 | (1 << 7), &peri_sc->clkcfg8bit2);
+               data = readl(&peri_sc->clkcfg8bit2);
+       } while ((data & 0x31) != 0x31);
+}
+
+static void mmc1_reset_clk(void)
+{
+       unsigned int data;
+
+       /* disable mmc1 bus clock */
+       hi6220_clk_disable(PERI_CLK0_MMC1, &peri_sc->clk0_dis);
+
+       /* enable mmc1 bus clock */
+       hi6220_clk_enable(PERI_CLK0_MMC1, &peri_sc->clk0_en);
+
+       /* reset mmc1 clock domain */
+       writel(PERI_RST0_MMC1, &peri_sc->rst0_en);
+
+       /* bypass mmc1 clock phase */
+       data = readl(&peri_sc->ctrl2);
+       data |= 3 << 2;
+       writel(data, &peri_sc->ctrl2);
+
+       /* disable low power */
+       data = readl(&peri_sc->ctrl13);
+       data |= 1 << 4;
+       writel(data, &peri_sc->ctrl13);
+       do {
+               data = readl(&peri_sc->rst0_stat);
+       } while (!(data & PERI_RST0_MMC1));
+
+       /* unreset mmc0 clock domain */
+       writel(PERI_RST0_MMC1, &peri_sc->rst0_dis);
+       do {
+               data = readl(&peri_sc->rst0_stat);
+       } while (data & PERI_RST0_MMC1);
+}
+
+/* PMU SSI is the IP that maps the external PMU hi6553 registers as IO */
+static void hi6220_pmussi_init(void)
+{
+       uint32_t data;
+
+       /* Take PMUSSI out of reset */
+       writel(ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_PMUSSI_N,
+              &ao_sc->rst4_dis);
+       do {
+               data = readl(&ao_sc->rst4_stat);
+       } while (data & ALWAYSON_SC_PERIPH_RST4_DIS_PRESET_PMUSSI_N);
+
+       /* set PMU SSI clock latency for read operation */
+       data = readl(&ao_sc->mcu_subsys_ctrl3);
+       data &= ~ALWAYSON_SC_MCU_SUBSYS_CTRL3_RCLK_MASK;
+       data |= ALWAYSON_SC_MCU_SUBSYS_CTRL3_RCLK_3;
+       writel(data, &ao_sc->mcu_subsys_ctrl3);
+
+       /* enable PMUSSI clock */
+       data = ALWAYSON_SC_PERIPH_CLK5_EN_PCLK_PMUSSI_CCPU |
+              ALWAYSON_SC_PERIPH_CLK5_EN_PCLK_PMUSSI_MCU;
+
+       hi6220_clk_enable(data, &ao_sc->clk5_en);
+
+       /* Output high to PMIC on PWR_HOLD_GPIO0_0 */
+       gpio_request(0, "PWR_HOLD_GPIO0_0");
+       gpio_direction_output(0, 1);
+}
+
+int misc_init_r(void)
+{
+       return 0;
+}
+
+int board_init(void)
+{
+       gd->flags = 0;
+
+       return 0;
+}
+
+#ifdef CONFIG_GENERIC_MMC
+
+static int init_dwmmc(void)
+{
+       int ret;
+
+#ifdef CONFIG_DWMMC
+
+       /* mmc0 clocks are already configured by ATF */
+       ret = hi6220_pinmux_config(PERIPH_ID_SDMMC0);
+       if (ret)
+               printf("%s: Error configuring pinmux for eMMC (%d)\n"
+                       , __func__, ret);
+
+       ret |= hi6220_dwmci_add_port(0, HI6220_MMC0_BASE, 8);
+       if (ret)
+               printf("%s: Error adding eMMC port (%d)\n", __func__, ret);
+
+
+       /* take mmc1 (sd slot) out of reset, configure clocks and pinmuxing */
+       mmc1_init_pll();
+       mmc1_reset_clk();
+
+       ret |= hi6220_pinmux_config(PERIPH_ID_SDMMC1);
+       if (ret)
+               printf("%s: Error configuring pinmux for eMMC (%d)\n"
+                       , __func__, ret);
+
+       config_sd_carddetect();
+
+       ret |= hi6220_dwmci_add_port(1, HI6220_MMC1_BASE, 4);
+       if (ret)
+               printf("%s: Error adding SD port (%d)\n", __func__, ret);
+
+#endif
+       return ret;
+}
+
+/* setup board specific PMIC */
+int power_init_board(void)
+{
+       /* init the hi6220 pmussi ip */
+       hi6220_pmussi_init();
+
+       power_hi6553_init((u8 *)HI6220_PMUSSI_BASE);
+
+       return 0;
+}
+
+int board_mmc_init(bd_t *bis)
+{
+       int ret;
+
+       /* add the eMMC and sd ports */
+       ret = init_dwmmc();
+
+       if (ret)
+               debug("init_dwmmc failed\n");
+
+       return ret;
+}
+#endif
+
+int dram_init(void)
+{
+       gd->ram_size = PHYS_SDRAM_1_SIZE;
+       return 0;
+}
+
+void dram_init_banksize(void)
+{
+       gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
+       gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
+}
+
+/* Use the Watchdog to cause reset */
+void reset_cpu(ulong addr)
+{
+       /* TODO program the watchdog */
+}
diff --git a/board/lge/sniper/Kconfig b/board/lge/sniper/Kconfig
new file mode 100644 (file)
index 0000000..f7a682e
--- /dev/null
@@ -0,0 +1,12 @@
+if TARGET_SNIPER
+
+config SYS_BOARD
+       default "sniper"
+
+config SYS_VENDOR
+       default "lge"
+
+config SYS_CONFIG_NAME
+       default "sniper"
+
+endif
diff --git a/board/lge/sniper/MAINTAINERS b/board/lge/sniper/MAINTAINERS
new file mode 100644 (file)
index 0000000..0e7baa5
--- /dev/null
@@ -0,0 +1,6 @@
+SNIPER BOARD
+M:     Paul Kocialkowski <contact@paulk.fr>
+S:     Maintained
+F:     board/lge/sniper/
+F:     include/configs/sniper.h
+F:     configs/sniper_defconfig
diff --git a/board/lge/sniper/Makefile b/board/lge/sniper/Makefile
new file mode 100644 (file)
index 0000000..2d216fc
--- /dev/null
@@ -0,0 +1,9 @@
+#
+# LG Optimus Black (P970) codename sniper board
+#
+# Copyright (C) 2015 Paul Kocialkowski <contact@paulk.fr>
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+
+obj-y := sniper.o
diff --git a/board/lge/sniper/sniper.c b/board/lge/sniper/sniper.c
new file mode 100644 (file)
index 0000000..a43f640
--- /dev/null
@@ -0,0 +1,202 @@
+/*
+ * LG Optimus Black (P970) codename sniper board
+ *
+ * Copyright (C) 2015 Paul Kocialkowski <contact@paulk.fr>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <config.h>
+#include <common.h>
+#include <dm.h>
+#include <linux/ctype.h>
+#include <linux/usb/musb.h>
+#include <asm/omap_musb.h>
+#include <asm/arch/mmc_host_def.h>
+#include <asm/arch/sys_proto.h>
+#include <asm/arch/mem.h>
+#include <asm/io.h>
+#include <ns16550.h>
+#include <twl4030.h>
+#include "sniper.h"
+
+DECLARE_GLOBAL_DATA_PTR;
+
+const omap3_sysinfo sysinfo = {
+       .mtype = DDR_STACKED,
+       .board_string = "Sniper",
+       .nand_string = "MMC"
+};
+
+static const struct ns16550_platdata serial_omap_platdata = {
+       .base = OMAP34XX_UART3,
+       .reg_shift = 2,
+       .clock = V_NS16550_CLK
+};
+
+U_BOOT_DEVICE(sniper_serial) = {
+       .name = "serial_omap",
+       .platdata = &serial_omap_platdata
+};
+
+static struct musb_hdrc_config musb_config = {
+       .multipoint = 1,
+       .dyn_fifo = 1,
+       .num_eps = 16,
+       .ram_bits = 12
+};
+
+static struct omap_musb_board_data musb_board_data = {
+       .interface_type = MUSB_INTERFACE_ULPI,
+};
+
+static struct musb_hdrc_platform_data musb_platform_data = {
+       .mode = MUSB_PERIPHERAL,
+       .config = &musb_config,
+       .power = 100,
+       .platform_ops = &omap2430_ops,
+       .board_data = &musb_board_data,
+};
+
+#ifdef CONFIG_SPL_BUILD
+void get_board_mem_timings(struct board_sdrc_timings *timings)
+{
+       timings->mcfg = HYNIX_V_MCFG_200(256 << 20);
+       timings->ctrla = HYNIX_V_ACTIMA_200;
+       timings->ctrlb = HYNIX_V_ACTIMB_200;
+       timings->rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_200MHz;
+       timings->mr = MICRON_V_MR_165;
+}
+#endif
+
+u32 get_board_rev(void)
+{
+       /* Sold devices are expected to be at least revision F. */
+       return 6;
+}
+
+int board_init(void)
+{
+       /* GPMC init */
+       gpmc_init();
+
+       /* MACH number */
+       gd->bd->bi_arch_number = 3000;
+
+       /* ATAGs location */
+       gd->bd->bi_boot_params = OMAP34XX_SDRC_CS0 + 0x100;
+
+       return 0;
+}
+
+int misc_init_r(void)
+{
+       unsigned char keypad_matrix[64] = { 0 };
+       char serial_string[17] = { 0 };
+       char reboot_mode[2] = { 0 };
+       u32 dieid[4] = { 0 };
+       unsigned char keys[3];
+       unsigned char data = 0;
+
+       /* Power button reset init */
+
+       twl4030_power_reset_init();
+
+       /* Keypad */
+
+       twl4030_keypad_scan((unsigned char *)&keypad_matrix);
+
+       keys[0] = twl4030_keypad_key((unsigned char *)&keypad_matrix, 0, 0);
+       keys[1] = twl4030_keypad_key((unsigned char *)&keypad_matrix, 0, 1);
+       keys[2] = twl4030_keypad_key((unsigned char *)&keypad_matrix, 0, 2);
+
+       /* Reboot mode */
+
+       reboot_mode[0] = omap_reboot_mode();
+
+       if (keys[0])
+               reboot_mode[0] = 'r';
+       else if (keys[1])
+               reboot_mode[0] = 'b';
+
+       if (reboot_mode[0] > 0 && isascii(reboot_mode[0])) {
+               if (!getenv("reboot-mode"))
+                       setenv("reboot-mode", (char *)reboot_mode);
+
+               omap_reboot_mode_clear();
+       } else {
+               /*
+                * When not rebooting, valid power on reasons are either the
+                * power button, charger plug or USB plug.
+                */
+
+               data |= twl4030_input_power_button();
+               data |= twl4030_input_charger();
+               data |= twl4030_input_usb();
+
+               if (!data)
+                       twl4030_power_off();
+       }
+
+       /* Serial number */
+
+       get_dieid((u32 *)&dieid);
+
+       if (!getenv("serial#")) {
+               snprintf(serial_string, sizeof(serial_string),
+                       "%08x%08x", dieid[0], dieid[3]);
+
+               setenv("serial#", serial_string);
+       }
+
+       /* MUSB */
+
+       musb_register(&musb_platform_data, &musb_board_data, (void *)MUSB_BASE);
+
+       return 0;
+}
+
+void get_board_serial(struct tag_serialnr *serialnr)
+{
+       char *serial_string;
+       unsigned long long serial;
+
+       serial_string = getenv("serial#");
+
+       if (serial_string) {
+               serial = simple_strtoull(serial_string, NULL, 16);
+
+               serialnr->high = (unsigned int) (serial >> 32);
+               serialnr->low = (unsigned int) (serial & 0xffffffff);
+       } else {
+               serialnr->high = 0;
+               serialnr->low = 0;
+       }
+}
+
+void reset_misc(void)
+{
+       omap_reboot_mode_store('u');
+}
+
+int fb_set_reboot_flag(void)
+{
+       return omap_reboot_mode_store('b');
+}
+
+void set_muxconf_regs(void)
+{
+       MUX_SNIPER();
+}
+
+#ifndef CONFIG_SPL_BUILD
+int board_mmc_init(bd_t *bis)
+{
+       return omap_mmc_init(1, 0, 0, -1, -1);
+}
+#endif
+
+void board_mmc_power_init(void)
+{
+       twl4030_power_mmc_init(1);
+}
diff --git a/board/lge/sniper/sniper.h b/board/lge/sniper/sniper.h
new file mode 100644 (file)
index 0000000..b2a09b3
--- /dev/null
@@ -0,0 +1,365 @@
+/*
+ * LG Optimus Black (P970) codename sniper board
+ *
+ * Copyright (C) 2015 Paul Kocialkowski <contact@paulk.fr>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef _SNIPER_H_
+#define _SNIPER_H_
+
+#include <asm/arch/mux.h>
+
+#define MUX_SNIPER() \
+       /* SDRC */ \
+       MUX_VAL(CP(SDRC_D0),            (IEN  | PTD | DIS | M0)) /* SDRC_D0 */\
+       MUX_VAL(CP(SDRC_D1),            (IEN  | PTD | DIS | M0)) /* SDRC_D1 */\
+       MUX_VAL(CP(SDRC_D2),            (IEN  | PTD | DIS | M0)) /* SDRC_D2 */\
+       MUX_VAL(CP(SDRC_D3),            (IEN  | PTD | DIS | M0)) /* SDRC_D3 */\
+       MUX_VAL(CP(SDRC_D4),            (IEN  | PTD | DIS | M0)) /* SDRC_D4 */\
+       MUX_VAL(CP(SDRC_D5),            (IEN  | PTD | DIS | M0)) /* SDRC_D5 */\
+       MUX_VAL(CP(SDRC_D6),            (IEN  | PTD | DIS | M0)) /* SDRC_D6 */\
+       MUX_VAL(CP(SDRC_D7),            (IEN  | PTD | DIS | M0)) /* SDRC_D7 */\
+       MUX_VAL(CP(SDRC_D8),            (IEN  | PTD | DIS | M0)) /* SDRC_D8 */\
+       MUX_VAL(CP(SDRC_D9),            (IEN  | PTD | DIS | M0)) /* SDRC_D9 */\
+       MUX_VAL(CP(SDRC_D10),           (IEN  | PTD | DIS | M0)) /* SDRC_D10 */\
+       MUX_VAL(CP(SDRC_D11),           (IEN  | PTD | DIS | M0)) /* SDRC_D11 */\
+       MUX_VAL(CP(SDRC_D12),           (IEN  | PTD | DIS | M0)) /* SDRC_D12 */\
+       MUX_VAL(CP(SDRC_D13),           (IEN  | PTD | DIS | M0)) /* SDRC_D13 */\
+       MUX_VAL(CP(SDRC_D14),           (IEN  | PTD | DIS | M0)) /* SDRC_D14 */\
+       MUX_VAL(CP(SDRC_D15),           (IEN  | PTD | DIS | M0)) /* SDRC_D15 */\
+       MUX_VAL(CP(SDRC_D16),           (IEN  | PTD | DIS | M0)) /* SDRC_D16 */\
+       MUX_VAL(CP(SDRC_D17),           (IEN  | PTD | DIS | M0)) /* SDRC_D17 */\
+       MUX_VAL(CP(SDRC_D18),           (IEN  | PTD | DIS | M0)) /* SDRC_D18 */\
+       MUX_VAL(CP(SDRC_D19),           (IEN  | PTD | DIS | M0)) /* SDRC_D19 */\
+       MUX_VAL(CP(SDRC_D20),           (IEN  | PTD | DIS | M0)) /* SDRC_D20 */\
+       MUX_VAL(CP(SDRC_D21),           (IEN  | PTD | DIS | M0)) /* SDRC_D21 */\
+       MUX_VAL(CP(SDRC_D22),           (IEN  | PTD | DIS | M0)) /* SDRC_D22 */\
+       MUX_VAL(CP(SDRC_D23),           (IEN  | PTD | DIS | M0)) /* SDRC_D23 */\
+       MUX_VAL(CP(SDRC_D24),           (IEN  | PTD | DIS | M0)) /* SDRC_D24 */\
+       MUX_VAL(CP(SDRC_D25),           (IEN  | PTD | DIS | M0)) /* SDRC_D25 */\
+       MUX_VAL(CP(SDRC_D26),           (IEN  | PTD | DIS | M0)) /* SDRC_D26 */\
+       MUX_VAL(CP(SDRC_D27),           (IEN  | PTD | DIS | M0)) /* SDRC_D27 */\
+       MUX_VAL(CP(SDRC_D28),           (IEN  | PTD | DIS | M0)) /* SDRC_D28 */\
+       MUX_VAL(CP(SDRC_D29),           (IEN  | PTD | DIS | M0)) /* SDRC_D29 */\
+       MUX_VAL(CP(SDRC_D30),           (IEN  | PTD | DIS | M0)) /* SDRC_D30 */\
+       MUX_VAL(CP(SDRC_D31),           (IEN  | PTD | DIS | M0)) /* SDRC_D31 */\
+       MUX_VAL(CP(SDRC_CLK),           (IEN  | PTD | DIS | M0)) /* SDRC_CLK */\
+       MUX_VAL(CP(SDRC_DQS0),          (IEN  | PTD | DIS | M0)) /* SDRC_DQS0 */\
+       MUX_VAL(CP(SDRC_DQS1),          (IEN  | PTD | DIS | M0)) /* SDRC_DQS1 */\
+       MUX_VAL(CP(SDRC_DQS2),          (IEN  | PTD | DIS | M0)) /* SDRC_DQS2 */\
+       MUX_VAL(CP(SDRC_DQS3),          (IEN  | PTD | DIS | M0)) /* SDRC_DQS3 */ \
+       /* GPMC */ \
+       MUX_VAL(CP(GPMC_A1),            (IDIS | PTU | DIS | M4)) /* GPIO_34: LCD_RESET_N */ \
+       MUX_VAL(CP(GPMC_A2),            (IEN  | PTU | DIS | M4)) /* GPIO_35: TOUCH_INT_N */ \
+       MUX_VAL(CP(GPMC_A3),            (IDIS | PTU | DIS | M4)) /* GPIO_36: VT_CAM_PWDN */ \
+       MUX_VAL(CP(GPMC_A4),            (IDIS | PTU | DIS | M4)) /* GPIO_37: CAM_SUBPM_EN */\
+       MUX_VAL(CP(GPMC_A5),            (IEN  | PTD | DIS | M4)) /* GPIO_38: MODEM_PWR_CHK */\
+       MUX_VAL(CP(GPMC_A6),            (IDIS | PTD | DIS | M4)) /* GPIO_39: MODEM_WAKE */\
+       MUX_VAL(CP(GPMC_A7),            (IEN  | PTU | DIS | M4)) /* GPIO_40: MUIC_INT_N */\
+       MUX_VAL(CP(GPMC_A8),            (IEN  | PTD | DIS | M4)) /* GPIO_41: GYRO_INT_N */\
+       MUX_VAL(CP(GPMC_A9),            (IEN  | PTD | EN  | M4)) /* GPIO_42: MOTION_INT_N */\
+       MUX_VAL(CP(GPMC_A10),           (IEN  | PTD | DIS | M4)) /* GPIO_43: BT_HOST_WAKEUP */\
+       MUX_VAL(CP(GPMC_D0),            (IEN  | PTD | DIS | M0)) /* GPMC_D0 */ \
+       MUX_VAL(CP(GPMC_D1),            (IEN  | PTD | DIS | M0)) /* GPMC_D1 */ \
+       MUX_VAL(CP(GPMC_D2),            (IEN  | PTD | DIS | M0)) /* GPMC_D2 */ \
+       MUX_VAL(CP(GPMC_D3),            (IEN  | PTD | DIS | M0)) /* GPMC_D3 */ \
+       MUX_VAL(CP(GPMC_D4),            (IEN  | PTD | DIS | M0)) /* GPMC_D4 */ \
+       MUX_VAL(CP(GPMC_D5),            (IEN  | PTD | DIS | M0)) /* GPMC_D5 */ \
+       MUX_VAL(CP(GPMC_D6),            (IEN  | PTD | DIS | M0)) /* GPMC_D6 */ \
+       MUX_VAL(CP(GPMC_D7),            (IEN  | PTD | DIS | M0)) /* GPMC_D7 */ \
+       MUX_VAL(CP(GPMC_D8),            (IEN  | PTD | DIS | M0)) /* GPMC_D8 */ \
+       MUX_VAL(CP(GPMC_D9),            (IEN  | PTD | DIS | M0)) /* GPMC_D9 */ \
+       MUX_VAL(CP(GPMC_D10),           (IEN  | PTD | DIS | M0)) /* GPMC_D10 */ \
+       MUX_VAL(CP(GPMC_D11),           (IEN  | PTD | DIS | M0)) /* GPMC_D11 */ \
+       MUX_VAL(CP(GPMC_D12),           (IEN  | PTD | DIS | M0)) /* GPMC_D12 */ \
+       MUX_VAL(CP(GPMC_D13),           (IEN  | PTD | DIS | M0)) /* GPMC_D13 */ \
+       MUX_VAL(CP(GPMC_D14),           (IEN  | PTD | DIS | M0)) /* GPMC_D14 */ \
+       MUX_VAL(CP(GPMC_NCS0),          (IDIS | PTD | DIS | M7)) \
+       MUX_VAL(CP(GPMC_NCS1),          (IDIS | PTD | DIS | M4)) /* GPIO_52: BT_WAKE_UP */ \
+       MUX_VAL(CP(GPMC_NCS2),          (IEN  | PTD | DIS | M4)) /* GPIO_53: LCD_TE */ \
+       MUX_VAL(CP(GPMC_NCS3),          (IDIS | PTD | DIS | M4)) /* GPIO_54: LCD_CS */ \
+       MUX_VAL(CP(GPMC_NCS4),          (IDIS | PTD | DIS | M4)) /* GPIO_55: BT_MAKER_ID */ \
+       MUX_VAL(CP(GPMC_NCS5),          (IDIS | PTD | DIS | M3)) /* GPIO_56: VIBE_PWM */ \
+       MUX_VAL(CP(GPMC_NCS6),          (IDIS | PTD | DIS | M4)) /* GPIO_57: VIBE_EN */ \
+       MUX_VAL(CP(GPMC_NCS7),          (IEN  | PTD | DIS | M4)) /* GPIO_58: COM_INT */ \
+       MUX_VAL(CP(GPMC_CLK),           (IDIS | PTD | DIS | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(GPMC_NADV_ALE),      (IDIS | PTD | DIS | M7)) \
+       MUX_VAL(CP(GPMC_NOE),           (IDIS | PTD | DIS | M7)) \
+       MUX_VAL(CP(GPMC_NWE),           (IDIS | PTD | DIS | M7)) \
+       MUX_VAL(CP(GPMC_NBE0_CLE),      (IDIS | PTD | DIS | M4)) /* GPIO_60: PROXI_LDO_EN */ \
+       MUX_VAL(CP(GPMC_NBE1),          (IDIS | PTD | DIS | M4)) /* GPIO_61: VT_RESET_N */ \
+       MUX_VAL(CP(GPMC_NWP),           (IDIS | PTD | DIS | M4)) /* GPIO_62: LCD_CP_EN */ \
+       MUX_VAL(CP(GPMC_WAIT0),         (IEN  | PTU | EN  | M4)) \
+       MUX_VAL(CP(GPMC_WAIT1),         (IEN  | PTD | DIS | M4)) /* GPIO_63: ONENAND_INT */ \
+       MUX_VAL(CP(GPMC_WAIT2),         (IDIS | PTD | DIS | M2)) /* GPIO_64: UART4_TX_IPC */ \
+       MUX_VAL(CP(GPMC_WAIT3),         (IEN  | PTD | DIS | M2)) /* GPIO_65: UART4_RX_IPC */ \
+       /* DSS */ \
+       MUX_VAL(CP(DSS_PCLK),           (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_HSYNC),          (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_VSYNC),          (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_ACBIAS),         (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_DATA0),          (IDIS | PTD | DIS | M1)) /* DSI_DX0 */ \
+       MUX_VAL(CP(DSS_DATA1),          (IDIS | PTD | DIS | M1)) /* DSI_DY0 */ \
+       MUX_VAL(CP(DSS_DATA2),          (IDIS | PTD | DIS | M1)) /* DSI_DX1 */ \
+       MUX_VAL(CP(DSS_DATA3),          (IDIS | PTD | DIS | M1)) /* DSI_DY1 */ \
+       MUX_VAL(CP(DSS_DATA4),          (IDIS | PTD | DIS | M1)) /* DSI_DX2 */ \
+       MUX_VAL(CP(DSS_DATA5),          (IDIS | PTD | DIS | M1)) /* DSI_DY2 */ \
+       MUX_VAL(CP(DSS_DATA6),          (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_DATA7),          (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_DATA8),          (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_DATA9),          (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_DATA10),         (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_DATA11),         (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_DATA12),         (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_DATA13),         (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_DATA14),         (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_DATA15),         (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_DATA16),         (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_DATA17),         (IDIS | PTD | DIS | M4)) /* GPIO_87: MIC_SEL */ \
+       MUX_VAL(CP(DSS_DATA18),         (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_DATA19),         (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_DATA20),         (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_DATA21),         (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_DATA22),         (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(DSS_DATA23),         (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       /* CAM */ \
+       MUX_VAL(CP(CAM_HS),             (IEN  | PTD | EN  | M0)) /* CAM_HS */ \
+       MUX_VAL(CP(CAM_VS),             (IEN  | PTD | EN  | M0)) /* CAM_VS */ \
+       MUX_VAL(CP(CAM_XCLKA),          (IDIS | PTD | DIS | M0)) /* CAM_XCLKA */ \
+       MUX_VAL(CP(CAM_PCLK),           (IEN  | PTD | EN  | M0)) /* CAM_PCLK */ \
+       MUX_VAL(CP(CAM_FLD),            (IDIS | PTU | DIS | M4)) /* GPIO_98: 5M_RESET_N */ \
+       MUX_VAL(CP(CAM_D0),             (IEN  | PTD | DIS | M2)) /* CSI2_DX2 */ \
+       MUX_VAL(CP(CAM_D1),             (IEN  | PTD | DIS | M2)) /* CSI2_DY2 */ \
+       MUX_VAL(CP(CAM_D2),             (IDIS | PTD | EN  | M4)) /* GPIO_101: IFX_USB_VBUS_EN */ \
+       MUX_VAL(CP(CAM_D3),             (IDIS | PTD | DIS | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(CAM_D4),             (IEN  | PTD | DIS | M0)) /* CAM_D4 */ \
+       MUX_VAL(CP(CAM_D5),             (IEN  | PTD | DIS | M0)) /* CAM_D5 */ \
+       MUX_VAL(CP(CAM_D6),             (IEN  | PTD | DIS | M0)) /* CAM_D6 */ \
+       MUX_VAL(CP(CAM_D7),             (IEN  | PTD | DIS | M0)) /* CAM_D7 */ \
+       MUX_VAL(CP(CAM_D8),             (IEN  | PTD | DIS | M0)) /* CAM_D8 */ \
+       MUX_VAL(CP(CAM_D9),             (IEN  | PTD | DIS | M0)) /* CAM_D9 */ \
+       MUX_VAL(CP(CAM_D10),            (IEN  | PTD | DIS | M0)) /* CAM_D10 */ \
+       MUX_VAL(CP(CAM_D11),            (IEN  | PTD | DIS | M0)) /* CAM_D11 */ \
+       MUX_VAL(CP(CAM_XCLKB),          (IEN  | PTD | DIS | M0)) /* CAM_XCLKB */ \
+       MUX_VAL(CP(CAM_WEN),            (IDIS | PTD | DIS | M4)) /* GPIO_167: 5M_CAM_VCN_EN */ \
+       MUX_VAL(CP(CAM_STROBE),         (IEN  | PTD | DIS | M7)) /* SAFE_MODE */ \
+       /* CSI2 */ \
+       MUX_VAL(CP(CSI2_DX0),           (IEN  | PTD | DIS | M0)) /* CSI2_DX0 */ \
+       MUX_VAL(CP(CSI2_DY0),           (IEN  | PTD | DIS | M0)) /* CSI2_DY0 */ \
+       MUX_VAL(CP(CSI2_DX1),           (IEN  | PTD | DIS | M0)) /* CSI2_DX1 */ \
+       MUX_VAL(CP(CSI2_DY1),           (IEN  | PTD | DIS | M0)) /* CSI2_DY1 */ \
+       /* MCBSP2 */ \
+       MUX_VAL(CP(MCBSP2_FSX),         (IEN  | PTD | DIS | M0)) /* MCBSP2_FSX */ \
+       MUX_VAL(CP(MCBSP2_CLKX),        (IEN  | PTD | DIS | M0)) /* MCBSP2_CLKX */ \
+       MUX_VAL(CP(MCBSP2_DR),          (IEN  | PTD | DIS | M0)) /* MCBSP2_DR */ \
+       MUX_VAL(CP(MCBSP2_DX),          (IDIS | PTD | DIS | M0)) /* MCBSP2_DX */ \
+       /* MMC1 */ \
+       MUX_VAL(CP(MMC1_CLK),           (IDIS | PTD | DIS | M0)) /* MMC1_CLK */ \
+       MUX_VAL(CP(MMC1_CMD),           (IEN  | PTU | DIS | M0)) /* MMC1_CMD */ \
+       MUX_VAL(CP(MMC1_DAT0),          (IEN  | PTU | DIS | M0)) /* MMC1_DAT0 */ \
+       MUX_VAL(CP(MMC1_DAT1),          (IEN  | PTU | DIS | M0)) /* MMC1_DAT1 */ \
+       MUX_VAL(CP(MMC1_DAT2),          (IEN  | PTU | DIS | M0)) /* MMC1_DAT2 */ \
+       MUX_VAL(CP(MMC1_DAT3),          (IEN  | PTU | DIS | M0)) /* MMC1_DAT3 */ \
+       MUX_VAL(CP(MMC1_DAT4),          (IEN  | PTD | DIS | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(MMC1_DAT5),          (IEN  | PTD | DIS | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(MMC1_DAT6),          (IEN  | PTD | DIS | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(MMC1_DAT7),          (IEN  | PTD | DIS | M7)) /* SAFE_MODE */ \
+       /* MMC2 */ \
+       MUX_VAL(CP(MMC2_CLK),           (IEN  | PTD | DIS | M0)) /* MMC2_CLK */ \
+       MUX_VAL(CP(MMC2_CMD),           (IEN  | PTD | DIS | M0)) /* MMC2_CMD */ \
+       MUX_VAL(CP(MMC2_DAT0),          (IEN  | PTD | DIS | M0)) /* MMC2_DAT0 */ \
+       MUX_VAL(CP(MMC2_DAT1),          (IEN  | PTD | DIS | M0)) /* MMC2_DAT1 */ \
+       MUX_VAL(CP(MMC2_DAT2),          (IEN  | PTD | DIS | M0)) /* MMC2_DAT2 */ \
+       MUX_VAL(CP(MMC2_DAT3),          (IEN  | PTD | DIS | M0)) /* MMC2_DAT3 */ \
+       MUX_VAL(CP(MMC2_DAT4),          (IEN  | PTD | DIS | M0)) /* MMC2_DAT4 */ \
+       MUX_VAL(CP(MMC2_DAT5),          (IEN  | PTD | DIS | M0)) /* MMC2_DAT5 */ \
+       MUX_VAL(CP(MMC2_DAT6),          (IEN  | PTD | DIS | M0)) /* MMC2_DAT6 */ \
+       MUX_VAL(CP(MMC2_DAT7),          (IEN  | PTD | DIS | M0)) /* MMC2_DAT7 */ \
+       /* MCBSP3 */ \
+       MUX_VAL(CP(MCBSP3_DX),          (IDIS | PTD | DIS | M0)) /* MCBSP3_DX */ \
+       MUX_VAL(CP(MCBSP3_DR),          (IEN  | PTD | DIS | M0)) /* MCBSP3_DR */ \
+       MUX_VAL(CP(MCBSP3_CLKX),        (IEN  | PTD | DIS | M0)) /* MCBSP3_CLKX */ \
+       MUX_VAL(CP(MCBSP3_FSX),         (IEN  | PTD | DIS | M0)) /* MCBSP3_FSX */ \
+       /* UART2 */ \
+       MUX_VAL(CP(UART2_CTS),          (IEN  | PTU | DIS | M0)) /* UART2_CTS */ \
+       MUX_VAL(CP(UART2_RTS),          (IDIS | PTU | DIS | M0)) /* UART2_RTS */ \
+       MUX_VAL(CP(UART2_TX),           (IDIS | PTD | DIS | M0)) /* UART2_TX */ \
+       MUX_VAL(CP(UART2_RX),           (IEN  | PTD | DIS | M0)) /* UART2_RX */ \
+       /* UART1 */ \
+       MUX_VAL(CP(UART1_TX),           (IDIS | PTU | DIS | M0)) /* UART1_TX */ \
+       MUX_VAL(CP(UART1_RTS),          (IDIS | PTU | DIS | M0)) /* UART1_RTS */ \
+       MUX_VAL(CP(UART1_CTS),          (IEN  | PTU | DIS | M0)) /* UART1_CTS */ \
+       MUX_VAL(CP(UART1_RX),           (IEN  | PTU | DIS | M0)) /* UART1_RX */ \
+       /* MCBSP4 */ \
+       MUX_VAL(CP(MCBSP4_CLKX),        (IDIS | PTD | DIS | M4)) /* GPIO_152: GPS_PWR_ON */ \
+       MUX_VAL(CP(MCBSP4_DR),          (IDIS | PTD | DIS | M4)) /* GPIO_153: GPS_RESET_N */ \
+       MUX_VAL(CP(MCBSP4_DX),          (IDIS | PTD | DIS | M4)) /* GPIO_154: FLASH_LED_TORCH */ \
+       MUX_VAL(CP(MCBSP4_FSX),         (IDIS | PTD | DIS | M4)) /* GPIO_155: FLASH_LED_EN */ \
+       /* MCBSP1 */ \
+       MUX_VAL(CP(MCBSP1_CLKR),        (IEN  | PTD | DIS | M0)) /* MCBSP1_CLKR */ \
+       MUX_VAL(CP(MCBSP1_FSR),         (IEN  | PTD | DIS | M0)) /* MCBSP1_FSR */ \
+       MUX_VAL(CP(MCBSP1_DX),          (IDIS | PTD | DIS | M0)) /* MCBSP1_DX */ \
+       MUX_VAL(CP(MCBSP1_DR),          (IEN  | PTD | DIS | M0)) /* MCBSP1_DR */ \
+       MUX_VAL(CP(MCBSP_CLKS),         (IDIS | PTD | DIS | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(MCBSP1_FSX),         (IDIS | PTD | DIS | M4)) /* GPIO_161: OMAP_UART_SW */ \
+       MUX_VAL(CP(MCBSP1_CLKX),        (IDIS | PTD | DIS | M4)) /* GPIO_162: IFX_UART_SW */ \
+       /* UART3 */ \
+       MUX_VAL(CP(UART3_CTS_RCTX),     (IEN  | PTD | EN  | M4)) /* GPIO_163: HOOK_DIG */ \
+       MUX_VAL(CP(UART3_RTS_SD),       (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(UART3_RX_IRRX),      (IEN  | PTD | DIS | M0)) /* UART3_RX_IRRX */ \
+       MUX_VAL(CP(UART3_TX_IRTX),      (IDIS | PTD | DIS | M0)) /* UART3_TX_IRTX */ \
+       /* HSUSB0 */ \
+       MUX_VAL(CP(HSUSB0_CLK),         (IEN  | PTD | EN  | M0)) /* HSUSB0_CLK */\
+       MUX_VAL(CP(HSUSB0_STP),         (IDIS | PTD | DIS | M0)) /* HSUSB0_STP */\
+       MUX_VAL(CP(HSUSB0_DIR),         (IEN  | PTD | EN  | M0)) /* HSUSB0_DIR */\
+       MUX_VAL(CP(HSUSB0_NXT),         (IEN  | PTD | EN  | M0)) /* HSUSB0_NXT */\
+       MUX_VAL(CP(HSUSB0_DATA0),       (IEN  | PTD | EN  | M0)) /* HSUSB0_DATA0 */\
+       MUX_VAL(CP(HSUSB0_DATA1),       (IEN  | PTD | EN  | M0)) /* HSUSB0_DATA1 */\
+       MUX_VAL(CP(HSUSB0_DATA2),       (IEN  | PTD | EN  | M0)) /* HSUSB0_DATA2 */\
+       MUX_VAL(CP(HSUSB0_DATA3),       (IEN  | PTD | EN  | M0)) /* HSUSB0_DATA3 */\
+       MUX_VAL(CP(HSUSB0_DATA4),       (IEN  | PTD | EN  | M0)) /* HSUSB0_DATA4 */\
+       MUX_VAL(CP(HSUSB0_DATA5),       (IEN  | PTD | EN  | M0)) /* HSUSB0_DATA5 */\
+       MUX_VAL(CP(HSUSB0_DATA6),       (IEN  | PTD | EN  | M0)) /* HSUSB0_DATA6 */\
+       MUX_VAL(CP(HSUSB0_DATA7),       (IEN  | PTD | EN  | M0)) /* HSUSB0_DATA7 */ \
+       /* I2C1 */ \
+       MUX_VAL(CP(I2C1_SCL),           (IEN  | PTU | EN  | M0)) /* I2C1_SCL */ \
+       MUX_VAL(CP(I2C1_SDA),           (IEN  | PTU | EN  | M0)) /* I2C1_SDA */ \
+       /* I2C2 */ \
+       MUX_VAL(CP(I2C2_SCL),           (IEN  | PTU | DIS | M0)) /* I2C2_SCL */ \
+       MUX_VAL(CP(I2C2_SDA),           (IEN  | PTU | DIS | M0)) /* I2C2_SDA */ \
+       /* I2C3 */ \
+       MUX_VAL(CP(I2C3_SCL),           (IEN  | PTU | DIS | M0)) /* I2C3_SCL */ \
+       MUX_VAL(CP(I2C3_SDA),           (IEN  | PTU | DIS | M0)) /* I2C3_SDA */ \
+       /* I2C4 */ \
+       MUX_VAL(CP(I2C4_SCL),           (IEN  | PTU | EN  | M0)) /* I2C4_SCL */ \
+       MUX_VAL(CP(I2C4_SDA),           (IEN  | PTU | EN  | M0)) /* I2C4_SDA */ \
+       /* HDQ */ \
+       MUX_VAL(CP(HDQ_SIO),            (IEN  | PTD | EN  | M4)) /* GPIO_170: EAR_SENSE */ \
+       /* MCSPI1 */ \
+       MUX_VAL(CP(MCSPI1_CLK),         (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(MCSPI1_SIMO),        (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(MCSPI1_SOMI),        (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(MCSPI1_CS0),         (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(MCSPI1_CS1),         (IEN  | PTU | DIS | M4)) /* GPIO_175: GAUGE_INT  */ \
+       MUX_VAL(CP(MCSPI1_CS2),         (IEN  | PTU | DIS | M4)) /* GPIO_176: MODEM_SEND */ \
+       MUX_VAL(CP(MCSPI1_CS3),         (IDIS | PTU | DIS | M4)) /* GPIO_177: MODEM_CHK */ \
+       MUX_VAL(CP(MCSPI2_CLK),         (IEN  | PTD | EN  | M0)) /* MCSPI2_CLK */ \
+       MUX_VAL(CP(MCSPI2_SIMO),        (IDIS | PTD | DIS | M0)) /* MCSPI2_SIMO */ \
+       MUX_VAL(CP(MCSPI2_SOMI),        (IEN  | PTD | DIS | M0)) /* MCSPI2_SOMI */ \
+       MUX_VAL(CP(MCSPI2_CS0),         (IDIS | PTU | DIS | M4)) /* GPIO_181: WLAN_WAKEUP */ \
+       MUX_VAL(CP(MCSPI2_CS1),         (IDIS | PTD | DIS | M4)) /* GPIO_182: USIF1_SW */ \
+       /* SYS */ \
+       MUX_VAL(CP(SYS_32K),            (IEN  | PTD | DIS | M0)) /* SYS_32K */ \
+       MUX_VAL(CP(SYS_CLKREQ),         (IEN  | PTD | DIS | M0)) /* SYS_CLKREQ */ \
+       MUX_VAL(CP(SYS_NIRQ),           (IEN  | PTU | EN  | M0)) /* SYS_NIRQ */ \
+       MUX_VAL(CP(SYS_BOOT0),          (IEN  | PTU | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(SYS_BOOT1),          (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(SYS_BOOT2),          (IEN  | PTU | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(SYS_BOOT3),          (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(SYS_BOOT4),          (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(SYS_BOOT5),          (IEN  | PTD | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(SYS_BOOT6),          (IEN  | PTU | EN  | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(SYS_OFF_MODE),       (IDIS | PTD | DIS | M0)) /* SYS_OFF_MODE */ \
+       MUX_VAL(CP(SYS_CLKOUT1),        (IEN  | PTU | DIS | M4)) /* GPIO_10: MICROSD_DET_N */ \
+       MUX_VAL(CP(SYS_CLKOUT2),        (IDIS | PTD | EN  | M7)) /* SAFE_MODE */ \
+       /* JTAG */ \
+       MUX_VAL(CP(JTAG_NTRST),         (IEN  | PTD | DIS | M0)) /* JTAG_NTRST */ \
+       MUX_VAL(CP(JTAG_TCK),           (IEN  | PTD | DIS | M0)) /* JTAG_TCK */ \
+       MUX_VAL(CP(JTAG_TMS),           (IEN  | PTU | EN  | M0)) /* JTAG_TMS */ \
+       MUX_VAL(CP(JTAG_TDI),           (IEN  | PTU | EN  | M0)) /* JTAG_TDI */ \
+       MUX_VAL(CP(JTAG_EMU0),          (IEN  | PTU | DIS | M0)) /* JTAG_EMU0 */ \
+       MUX_VAL(CP(JTAG_EMU1),          (IEN  | PTU | DIS | M0)) /* JTAG_EMU1 */ \
+       /* ETK */ \
+       MUX_VAL(CP(ETK_CLK_ES2),        (IEN  | PTD | DIS | M2)) /* SDMMC3_CLK */ \
+       MUX_VAL(CP(ETK_CTL_ES2),        (IEN  | PTU | EN  | M2)) /* SDMMC3_CMD */ \
+       MUX_VAL(CP(ETK_D0_ES2),         (IEN  | PTD | EN  | M4)) /* GPIO_14: PROX_OUT */ \
+       MUX_VAL(CP(ETK_D1_ES2),         (IEN  | PTU | DIS | M4)) /* GPIO_15: CHG_STATUS_N_OMAP */ \
+       MUX_VAL(CP(ETK_D2_ES2),         (IEN  | PTD | DIS | M4)) /* GPIO_16: BT_EN */ \
+       MUX_VAL(CP(ETK_D3_ES2),         (IEN  | PTU | DIS | M2)) /* SDMMC3_DAT3 */ \
+       MUX_VAL(CP(ETK_D4_ES2),         (IEN  | PTU | DIS | M2)) /* SDMMC3_DAT0 */ \
+       MUX_VAL(CP(ETK_D5_ES2),         (IEN  | PTU | DIS | M2)) /* SDMMC3_DAT1 */ \
+       MUX_VAL(CP(ETK_D6_ES2),         (IEN  | PTU | DIS | M2)) /* SDMMC3_DAT2 */ \
+       MUX_VAL(CP(ETK_D7_ES2),         (IEN  | PTD | EN  | M4)) /* GPIO_21: IPC_SRDY */ \
+       MUX_VAL(CP(ETK_D8_ES2),         (IDIS | PTD | DIS | M4)) /* GPIO_22: IPC_MRDY */ \
+       MUX_VAL(CP(ETK_D9_ES2),         (IDIS | PTD | DIS | M4)) /* GPIO_23: WLAN_EN */ \
+       MUX_VAL(CP(ETK_D10_ES2),        (IEN  | PTD | EN  | M4)) /* GPIO_24: WLAN_HOST_WAKEUP */ \
+       MUX_VAL(CP(ETK_D11_ES2),        (IDIS | PTD | DIS | M4)) /* GPIO_25: CHG_EN_SET_N_OMAP */ \
+       MUX_VAL(CP(ETK_D12_ES2),        (IDIS | PTD | DIS | M4)) /* GPIO_26: IFX_RESET_1.8V */ \
+       MUX_VAL(CP(ETK_D13_ES2),        (IDIS | PTD | DIS | M4)) /* GPIO_27: IFX_PWRON_1.8V */ \
+       MUX_VAL(CP(ETK_D14_ES2),        (IEN  | PTU | EN  | M4)) /* GPIO_28: CRADLE_DETECT_N */ \
+       MUX_VAL(CP(ETK_D15_ES2),        (IEN  | PTU | EN  | M4)) /* GPIO_29: CRADLE_DETECT_S */ \
+       /* D2D */ \
+       MUX_VAL(CP(D2D_MCAD0),          (IEN  | PTD | EN  | M0)) /* D2D_MCAD0 */ \
+       MUX_VAL(CP(D2D_MCAD1),          (IEN  | PTD | EN  | M0)) /* D2D_MCAD1 */ \
+       MUX_VAL(CP(D2D_MCAD2),          (IEN  | PTD | EN  | M0)) /* D2D_MCAD2 */ \
+       MUX_VAL(CP(D2D_MCAD3),          (IEN  | PTD | EN  | M0)) /* D2D_MCAD3 */ \
+       MUX_VAL(CP(D2D_MCAD4),          (IEN  | PTD | EN  | M0)) /* D2D_MCAD4 */ \
+       MUX_VAL(CP(D2D_MCAD5),          (IEN  | PTD | EN  | M0)) /* D2D_MCAD5 */ \
+       MUX_VAL(CP(D2D_MCAD6),          (IEN  | PTD | EN  | M0)) /* D2D_MCAD6 */ \
+       MUX_VAL(CP(D2D_MCAD7),          (IEN  | PTD | EN  | M0)) /* D2D_MCAD7 */ \
+       MUX_VAL(CP(D2D_MCAD8),          (IEN  | PTD | EN  | M0)) /* D2D_MCAD8 */ \
+       MUX_VAL(CP(D2D_MCAD9),          (IEN  | PTD | EN  | M0)) /* D2D_MCAD9 */ \
+       MUX_VAL(CP(D2D_MCAD10),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD10 */ \
+       MUX_VAL(CP(D2D_MCAD11),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD11 */ \
+       MUX_VAL(CP(D2D_MCAD12),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD12 */ \
+       MUX_VAL(CP(D2D_MCAD13),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD13 */ \
+       MUX_VAL(CP(D2D_MCAD14),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD14 */ \
+       MUX_VAL(CP(D2D_MCAD15),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD15 */ \
+       MUX_VAL(CP(D2D_MCAD16),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD16 */ \
+       MUX_VAL(CP(D2D_MCAD17),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD17 */ \
+       MUX_VAL(CP(D2D_MCAD18),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD18 */ \
+       MUX_VAL(CP(D2D_MCAD19),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD19 */ \
+       MUX_VAL(CP(D2D_MCAD20),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD20 */ \
+       MUX_VAL(CP(D2D_MCAD21),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD21 */ \
+       MUX_VAL(CP(D2D_MCAD22),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD22 */ \
+       MUX_VAL(CP(D2D_MCAD23),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD23 */ \
+       MUX_VAL(CP(D2D_MCAD24),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD24 */ \
+       MUX_VAL(CP(D2D_MCAD25),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD25 */ \
+       MUX_VAL(CP(D2D_MCAD26),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD26 */ \
+       MUX_VAL(CP(D2D_MCAD27),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD27 */ \
+       MUX_VAL(CP(D2D_MCAD28),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD28 */ \
+       MUX_VAL(CP(D2D_MCAD29),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD29 */ \
+       MUX_VAL(CP(D2D_MCAD30),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD30 */ \
+       MUX_VAL(CP(D2D_MCAD31),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD31 */ \
+       MUX_VAL(CP(D2D_MCAD32),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD32 */ \
+       MUX_VAL(CP(D2D_MCAD33),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD33 */ \
+       MUX_VAL(CP(D2D_MCAD34),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD34 */ \
+       MUX_VAL(CP(D2D_MCAD35),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD35 */ \
+       MUX_VAL(CP(D2D_MCAD36),         (IEN  | PTD | EN  | M0)) /* D2D_MCAD36 */ \
+       MUX_VAL(CP(D2D_CLK26MI),        (IDIS | PTD | DIS | M0)) /* D2D_CLK26MI */ \
+       MUX_VAL(CP(D2D_NRESPWRON),      (IEN  | PTU | EN  | M0)) /* D2D_NRESPWRON */ \
+       MUX_VAL(CP(D2D_NRESWARM),       (IDIS | PTU | DIS | M0)) /* D2D_NRESWARM */ \
+       MUX_VAL(CP(D2D_ARM9NIRQ),       (IDIS | PTD | DIS | M0)) /* D2D_ARM9NIRQ */ \
+       MUX_VAL(CP(D2D_UMA2P6FIQ),      (IDIS | PTD | DIS | M0)) /* D2D_UMA2P6FIQ */ \
+       MUX_VAL(CP(D2D_SPINT),          (IEN  | PTD | DIS | M0)) /* D2D_SPINT */ \
+       MUX_VAL(CP(D2D_FRINT),          (IEN  | PTD | DIS | M0)) /* D2D_FRINT */ \
+       MUX_VAL(CP(D2D_DMAREQ0),        (IDIS | PTD | DIS | M0)) /* D2D_DMAREQ0 */ \
+       MUX_VAL(CP(D2D_DMAREQ1),        (IDIS | PTD | DIS | M0)) /* D2D_DMAREQ1 */ \
+       MUX_VAL(CP(D2D_DMAREQ2),        (IDIS | PTD | DIS | M0)) /* D2D_DMAREQ2 */ \
+       MUX_VAL(CP(D2D_DMAREQ3),        (IDIS | PTD | DIS | M0)) /* D2D_DMAREQ3 */ \
+       MUX_VAL(CP(D2D_N3GTRST),        (IEN  | PTD | DIS | M0)) /* D2D_N3GTRST */ \
+       MUX_VAL(CP(D2D_N3GTDI),         (IEN  | PTU | EN  | M0)) /* D2D_N3GTDI */ \
+       MUX_VAL(CP(D2D_N3GTDO),         (IDIS | PTD | DIS | M0)) /* D2D_N3GTDO */ \
+       MUX_VAL(CP(D2D_N3GTMS),         (IEN  | PTU | EN  | M0)) /* D2D_N3GTMS */ \
+       MUX_VAL(CP(D2D_N3GTCK),         (IEN  | PTD | DIS | M0)) /* D2D_N3GTCK */ \
+       MUX_VAL(CP(D2D_N3GRTCK),        (IEN  | PTD | DIS | M0)) /* D2D_N3GRTCK */ \
+       MUX_VAL(CP(D2D_MSTDBY),         (IEN  | PTU | EN  | M0)) /* D2D_MSTDBY */ \
+       MUX_VAL(CP(D2D_SWAKEUP),        (IEN  | PTD | EN  | M0)) /* D2D_SWAKEUP */ \
+       MUX_VAL(CP(D2D_IDLEREQ),        (IEN  | PTD | DIS | M0)) /* D2D_IDLEREQ */ \
+       MUX_VAL(CP(D2D_IDLEACK),        (IEN  | PTU | EN  | M0)) /* D2D_IDLEACK */ \
+       MUX_VAL(CP(D2D_MWRITE),         (IEN  | PTD | DIS | M0)) /* D2D_MWRITE */ \
+       MUX_VAL(CP(D2D_SWRITE),         (IEN  | PTD | DIS | M0)) /* D2D_SWRITE */ \
+       MUX_VAL(CP(D2D_MREAD),          (IEN  | PTD | DIS | M0)) /* D2D_MREAD */ \
+       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 */ \
+       MUX_VAL(CP(SDRC_CKE0),          (IDIS | PTU | DIS | M0)) /* SDRC_CKE0 */ \
+       MUX_VAL(CP(SDRC_CKE1),          (IDIS | PTU | DIS | M0)) /* SDRC_CKE1 */ \
+       MUX_VAL(CP(GPIO127),            (IEN  | PTD | DIS | M7)) /* SAFE_MODE */ \
+       MUX_VAL(CP(GPIO126),            (IDIS | PTD | DIS | M4)) /* GPIO_126: OMAP_SEND */ \
+       MUX_VAL(CP(GPIO128),            (IDIS | PTD | DIS | M4)) /* GPIO_128: KEY_LED_RESET */ \
+       MUX_VAL(CP(GPIO129),            (IEN  | PTD | DIS | M4)) /* GPIO_129: MODEM_AP_WAKE */
+
+#endif
index 96fe87064533cd7797593f0001fe27cf578058e7..d21750e2a0434d262a139681f805adc511abe847 100644 (file)
@@ -182,7 +182,7 @@ u32 rpi_board_rev = 0;
 
 int dram_init(void)
 {
-       ALLOC_ALIGN_BUFFER(struct msg_get_arm_mem, msg, 1, 16);
+       ALLOC_CACHE_ALIGN_BUFFER(struct msg_get_arm_mem, msg, 1);
        int ret;
 
        BCM2835_MBOX_INIT_HDR(msg);
@@ -212,7 +212,7 @@ static void set_fdtfile(void)
 
 static void set_usbethaddr(void)
 {
-       ALLOC_ALIGN_BUFFER(struct msg_get_mac_address, msg, 1, 16);
+       ALLOC_CACHE_ALIGN_BUFFER(struct msg_get_mac_address, msg, 1);
        int ret;
 
        if (!models[rpi_board_rev].has_onboard_eth)
@@ -245,7 +245,7 @@ int misc_init_r(void)
 
 static int power_on_module(u32 module)
 {
-       ALLOC_ALIGN_BUFFER(struct msg_set_power_state, msg_pwr, 1, 16);
+       ALLOC_CACHE_ALIGN_BUFFER(struct msg_set_power_state, msg_pwr, 1);
        int ret;
 
        BCM2835_MBOX_INIT_HDR(msg_pwr);
@@ -269,7 +269,7 @@ static int power_on_module(u32 module)
 
 static void get_board_rev(void)
 {
-       ALLOC_ALIGN_BUFFER(struct msg_get_board_rev, msg, 1, 16);
+       ALLOC_CACHE_ALIGN_BUFFER(struct msg_get_board_rev, msg, 1);
        int ret;
        const char *name;
 
@@ -324,7 +324,7 @@ int board_init(void)
 
 int board_mmc_init(bd_t *bis)
 {
-       ALLOC_ALIGN_BUFFER(struct msg_get_clock_rate, msg_clk, 1, 16);
+       ALLOC_CACHE_ALIGN_BUFFER(struct msg_get_clock_rate, msg_clk, 1);
        int ret;
 
        power_on_module(BCM2835_MBOX_POWER_DEVID_SDHCI);
diff --git a/board/siemens/smartweb/Kconfig b/board/siemens/smartweb/Kconfig
new file mode 100644 (file)
index 0000000..0871bcc
--- /dev/null
@@ -0,0 +1,12 @@
+if TARGET_SMARTWEB
+
+config SYS_BOARD
+       default "smartweb"
+
+config SYS_VENDOR
+       default "siemens"
+
+config SYS_CONFIG_NAME
+       default "smartweb"
+
+endif
diff --git a/board/siemens/smartweb/MAINTAINERS b/board/siemens/smartweb/MAINTAINERS
new file mode 100644 (file)
index 0000000..51298ff
--- /dev/null
@@ -0,0 +1,6 @@
+SMARTWEB_HW BOARD
+M:     Heiko Schocher <hs@denx.de>
+S:     Maintained
+F:     board/siemens/smartweb
+F:     include/configs/smartweb.h
+F:     configs/smartweb_defconfig
diff --git a/board/siemens/smartweb/Makefile b/board/siemens/smartweb/Makefile
new file mode 100644 (file)
index 0000000..55e7798
--- /dev/null
@@ -0,0 +1,20 @@
+#
+# (C) Copyright 2003-2008
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+#
+# (C) Copyright 2008
+# Stelian Pop <stelian@popies.net>
+# Lead Tech Design <www.leadtechdesign.com>
+#
+# (C) Copyright 2012
+# Markus Hubig <mhubig@imko.de>
+# IMKO GmbH <www.imko.de>
+#
+# (C) Copyright 2014
+# Heiko Schocher <hs@denx.de>
+# DENX Software Engineering GmbH
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+
+obj-y  += smartweb.o
diff --git a/board/siemens/smartweb/smartweb.c b/board/siemens/smartweb/smartweb.c
new file mode 100644 (file)
index 0000000..cf8a7f5
--- /dev/null
@@ -0,0 +1,220 @@
+/*
+ * (C) Copyright 2007-2008
+ * Stelian Pop <stelian@popies.net>
+ * Lead Tech Design <www.leadtechdesign.com>
+ *
+ * Achim Ehrlich <aehrlich@taskit.de>
+ * taskit GmbH <www.taskit.de>
+ *
+ * (C) Copyright 2012-
+ * Markus Hubig <mhubig@imko.de>
+ * IMKO GmbH <www.imko.de>
+ * (C) Copyright 2014
+ * Heiko Schocher <hs@denx.de>
+ * DENX Software Engineering GmbH
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/arch/at91sam9_sdramc.h>
+#include <asm/arch/at91sam9260_matrix.h>
+#include <asm/arch/at91sam9_smc.h>
+#include <asm/arch/at91_common.h>
+#include <asm/arch/at91_pmc.h>
+#include <asm/arch/at91_spi.h>
+#include <spi.h>
+#include <asm/arch/gpio.h>
+#include <watchdog.h>
+#ifdef CONFIG_MACB
+# include <net.h>
+# include <netdev.h>
+#endif
+
+DECLARE_GLOBAL_DATA_PTR;
+
+static void smartweb_nand_hw_init(void)
+{
+       struct at91_smc *smc = (struct at91_smc *)ATMEL_BASE_SMC;
+       struct at91_matrix *matrix = (struct at91_matrix *)ATMEL_BASE_MATRIX;
+       unsigned long csa;
+
+       /* Assign CS3 to NAND/SmartMedia Interface */
+       csa = readl(&matrix->ebicsa);
+       csa |= AT91_MATRIX_CS3A_SMC_SMARTMEDIA;
+       writel(csa, &matrix->ebicsa);
+
+       /* Configure SMC CS3 for NAND/SmartMedia */
+       writel(AT91_SMC_SETUP_NWE(1) | AT91_SMC_SETUP_NCS_WR(0) |
+               AT91_SMC_SETUP_NRD(1) | AT91_SMC_SETUP_NCS_RD(0),
+               &smc->cs[3].setup);
+       writel(AT91_SMC_PULSE_NWE(3) | AT91_SMC_PULSE_NCS_WR(3) |
+               AT91_SMC_PULSE_NRD(3) | AT91_SMC_PULSE_NCS_RD(3),
+               &smc->cs[3].pulse);
+       writel(AT91_SMC_CYCLE_NWE(5) | AT91_SMC_CYCLE_NRD(5),
+              &smc->cs[3].cycle);
+       writel(AT91_SMC_MODE_RM_NRD | AT91_SMC_MODE_WM_NWE |
+               AT91_SMC_MODE_TDF_CYCLE(2),
+               &smc->cs[3].mode);
+
+       /* Configure RDY/BSY */
+       at91_set_gpio_input(CONFIG_SYS_NAND_READY_PIN, 1);
+
+       /* Enable NandFlash */
+       at91_set_gpio_output(CONFIG_SYS_NAND_ENABLE_PIN, 1);
+}
+
+#ifdef CONFIG_MACB
+static void smartweb_macb_hw_init(void)
+{
+       struct at91_port *pioa = (struct at91_port *)ATMEL_BASE_PIOA;
+
+       /* Enable the PHY Chip via PA26 on the Stamp 2 Adaptor */
+       at91_set_gpio_output(AT91_PIN_PA26, 0);
+
+       /*
+        * Disable pull-up on:
+        *      RXDV (PA17) => PHY normal mode (not Test mode)
+        *      ERX0 (PA14) => PHY ADDR0
+        *      ERX1 (PA15) => PHY ADDR1
+        *      ERX2 (PA25) => PHY ADDR2
+        *      ERX3 (PA26) => PHY ADDR3
+        *      ECRS (PA28) => PHY ADDR4  => PHYADDR = 0x0
+        *
+        * PHY has internal pull-down
+        */
+       writel(pin_to_mask(AT91_PIN_PA14) |
+               pin_to_mask(AT91_PIN_PA15) |
+               pin_to_mask(AT91_PIN_PA17) |
+               pin_to_mask(AT91_PIN_PA25) |
+               pin_to_mask(AT91_PIN_PA26) |
+               pin_to_mask(AT91_PIN_PA28),
+               &pioa->pudr);
+
+       at91_phy_reset();
+
+       /* Re-enable pull-up */
+       writel(pin_to_mask(AT91_PIN_PA14) |
+               pin_to_mask(AT91_PIN_PA15) |
+               pin_to_mask(AT91_PIN_PA17) |
+               pin_to_mask(AT91_PIN_PA25) |
+               pin_to_mask(AT91_PIN_PA26) |
+               pin_to_mask(AT91_PIN_PA28),
+               &pioa->puer);
+
+       /* Initialize EMAC=MACB hardware */
+       at91_macb_hw_init();
+}
+#endif /* CONFIG_MACB */
+
+int board_early_init_f(void)
+{
+       /* enable this here, as we have SPL without serial support */
+       at91_seriald_hw_init();
+       return 0;
+}
+
+int board_init(void)
+{
+       /* Adress of boot parameters */
+       gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
+
+       smartweb_nand_hw_init();
+#ifdef CONFIG_MACB
+       smartweb_macb_hw_init();
+#endif
+       /* power LED red */
+       at91_set_gpio_output(AT91_PIN_PC6, 0);
+       at91_set_gpio_output(AT91_PIN_PC7, 1);
+       /* alarm LED off */
+       at91_set_gpio_output(AT91_PIN_PC8, 0);
+       at91_set_gpio_output(AT91_PIN_PC9, 0);
+       /* prog LED red */
+       at91_set_gpio_output(AT91_PIN_PC10, 0);
+       at91_set_gpio_output(AT91_PIN_PC11, 1);
+
+       return 0;
+}
+
+int dram_init(void)
+{
+       gd->ram_size = get_ram_size(
+               (void *)CONFIG_SYS_SDRAM_BASE,
+               CONFIG_SYS_SDRAM_SIZE);
+       return 0;
+}
+
+#ifdef CONFIG_MACB
+int board_eth_init(bd_t *bis)
+{
+       return macb_eth_initialize(0, (void *)ATMEL_BASE_EMAC0, 0x00);
+}
+#endif /* CONFIG_MACB */
+
+#if defined(CONFIG_SPL_BUILD)
+#include <spl.h>
+#include <nand.h>
+#include <spi_flash.h>
+
+void matrix_init(void)
+{
+       struct at91_matrix *mat = (struct at91_matrix *)ATMEL_BASE_MATRIX;
+
+       writel((readl(&mat->scfg[3]) & (~AT91_MATRIX_SLOT_CYCLE))
+                       | AT91_MATRIX_SLOT_CYCLE_(0x40),
+                       &mat->scfg[3]);
+}
+
+void spl_board_init(void)
+{
+       at91_set_gpio_output(AT91_PIN_PC6, 1);
+       at91_set_gpio_output(AT91_PIN_PC7, 1);
+       /* alarm LED orange */
+       at91_set_gpio_output(AT91_PIN_PC8, 1);
+       at91_set_gpio_output(AT91_PIN_PC9, 1);
+       /* prog LED red */
+       at91_set_gpio_output(AT91_PIN_PC10, 0);
+       at91_set_gpio_output(AT91_PIN_PC11, 1);
+
+       smartweb_nand_hw_init();
+       at91_set_gpio_input(AT91_PIN_PA28, 1);
+       at91_set_gpio_input(AT91_PIN_PA29, 1);
+
+       /* check if both  button are pressed */
+       if (at91_get_gpio_value(AT91_PIN_PA28) == 0 &&
+           at91_get_gpio_value(AT91_PIN_PA29) == 0) {
+               debug("Recovery button pressed\n");
+               nand_init();
+               spl_nand_erase_one(0, 0);
+       }
+}
+
+#define SDRAM_BASE_CONF        (AT91_SDRAMC_NC_9 | AT91_SDRAMC_NR_13 \
+                        | AT91_SDRAMC_CAS_2 \
+                        | AT91_SDRAMC_NB_4 | AT91_SDRAMC_DBW_32 \
+                        | AT91_SDRAMC_TWR_VAL(2) | AT91_SDRAMC_TRC_VAL(7) \
+                        | AT91_SDRAMC_TRP_VAL(2) | AT91_SDRAMC_TRCD_VAL(2) \
+                        | AT91_SDRAMC_TRAS_VAL(5) | AT91_SDRAMC_TXSR_VAL(8))
+
+void mem_init(void)
+{
+       struct at91_matrix *ma = (struct at91_matrix *)ATMEL_BASE_MATRIX;
+       struct at91_port *port = (struct at91_port *)ATMEL_BASE_PIOC;
+       struct sdramc_reg setting;
+
+       setting.cr = SDRAM_BASE_CONF;
+       setting.mdr = AT91_SDRAMC_MD_SDRAM;
+       setting.tr = (CONFIG_SYS_MASTER_CLOCK * 7) / 1000000;
+
+       /*
+        * I write here directly in this register, because this
+        * approach is smaller than calling at91_set_a_periph() in a
+        * for loop. This saved me 96 bytes.
+        */
+       writel(0xffff0000, &port->pdr);
+
+       writel(readl(&ma->ebicsa) | AT91_MATRIX_CS1A_SDRAMC, &ma->ebicsa);
+       sdramc_initialize(ATMEL_BASE_CS1, &setting);
+}
+#endif
index 3bbd86644de8cb4e4c33fd39114f9f2cd2615ff1..80341d99326dc8055b37ae9c3d082b9bcd5ed388 100644 (file)
@@ -9,4 +9,12 @@ config SYS_VENDOR
 config SYS_CONFIG_NAME
        default "dra7xx_evm"
 
+config CONS_INDEX
+       int "UART used for console"
+       range 1 6
+       default 1
+       help
+         The DRA7xx (and AM57x) SoC has a total of 6 UARTs available to it.
+         Depending on your specific board you may want something other than UART1
+         here.
 endif
index 0cefb340440337951d8a01138a7177d3bc349139..859a26011c4c67d69b1524ca58883c5e43da0407 100644 (file)
@@ -80,7 +80,6 @@ int board_eth_init(bd_t *bis)
                return -1;
        if (psc_enable_module(KS2_LPSC_CRYPTO))
                return -1;
-       pass_pll_pa_clk_enable();
 
        port_num = get_num_eth_ports();
 
index 43dfc48a53da2085f699450c698dd34af2d71163..dc00cf62a5725a0d5e16b4e3d8b0b884d23bd0e5 100644 (file)
@@ -18,27 +18,62 @@ unsigned int external_clk[ext_clk_count] = {
        [sys_clk]       = 100000000,
        [alt_core_clk]  = 100000000,
        [pa_clk]        = 100000000,
-       [ddr3_clk]      = 100000000,
-       [mcm_clk]       = 312500000,
-       [pcie_clk]      = 100000000,
-       [sgmii_clk]     = 156250000,
-       [xgmii_clk]     = 156250000,
-       [usb_clk]       = 100000000,
+       [ddr3a_clk]     = 100000000,
 };
 
-static struct pll_init_data core_pll_config[] = {
-       CORE_PLL_800,
-       CORE_PLL_850,
-       CORE_PLL_1000,
-       CORE_PLL_1250,
-       CORE_PLL_1350,
-       CORE_PLL_1400,
-       CORE_PLL_1500,
+static struct pll_init_data core_pll_config[NUM_SPDS] = {
+       [SPD800]        = CORE_PLL_800,
+       [SPD850]        = CORE_PLL_850,
+       [SPD1000]       = CORE_PLL_1000,
+       [SPD1250]       = CORE_PLL_1250,
+       [SPD1350]       = CORE_PLL_1350,
+       [SPD1400]       = CORE_PLL_1400,
+       [SPD1500]       = CORE_PLL_1500,
+};
+
+/* DEV and ARM speed definitions as specified in DEVSPEED register */
+int speeds[DEVSPEED_NUMSPDS] = {
+       SPD850,
+       SPD1000,
+       SPD1250,
+       SPD1350,
+       SPD1400,
+       SPD1500,
+       SPD1400,
+       SPD1350,
+       SPD1250,
+       SPD1000,
+       SPD850,
+       SPD800,
+};
+
+s16 divn_val[16] = {
+       0, 0, 1, 4, 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
 };
 
 static struct pll_init_data pa_pll_config =
        PASS_PLL_1000;
 
+struct pll_init_data *get_pll_init_data(int pll)
+{
+       int speed;
+       struct pll_init_data *data;
+
+       switch (pll) {
+       case MAIN_PLL:
+               speed = get_max_dev_speed();
+               data = &core_pll_config[speed];
+               break;
+       case PASS_PLL:
+               data = &pa_pll_config;
+               break;
+       default:
+               data = NULL;
+       }
+
+       return data;
+}
+
 #ifdef CONFIG_DRIVER_TI_KEYSTONE_NET
 struct eth_priv_t eth_priv_cfg[] = {
        {
@@ -108,24 +143,15 @@ int get_num_eth_ports(void)
 #if defined(CONFIG_BOARD_EARLY_INIT_F)
 int board_early_init_f(void)
 {
-       int speed;
-
-       speed = get_max_dev_speed();
-       init_pll(&core_pll_config[speed]);
-
-       init_pll(&pa_pll_config);
+       init_plls();
 
        return 0;
 }
 #endif
 
 #ifdef CONFIG_SPL_BUILD
-static struct pll_init_data spl_pll_config[] = {
-       CORE_PLL_800,
-};
-
 void spl_init_keystone_plls(void)
 {
-       init_plls(ARRAY_SIZE(spl_pll_config), spl_pll_config);
+       init_plls();
 }
 #endif
index ed181f44b8974a229b23b8fd838e02c304ebe94c..6e681d7cb6fbdb86aed942508218af5e4552bd03 100644 (file)
@@ -21,31 +21,53 @@ unsigned int external_clk[ext_clk_count] = {
        [tetris_clk]    =       125000000,
        [ddr3a_clk]     =       100000000,
        [ddr3b_clk]     =       100000000,
-       [mcm_clk]       =       312500000,
-       [pcie_clk]      =       100000000,
-       [sgmii_srio_clk] =      156250000,
-       [xgmii_clk]     =       156250000,
-       [usb_clk]       =       100000000,
-       [rp1_clk]       =       123456789
 };
 
-static struct pll_init_data core_pll_config[] = {
-       CORE_PLL_799,
-       CORE_PLL_999,
-       CORE_PLL_1200,
+static struct pll_init_data core_pll_config[NUM_SPDS] = {
+       [SPD800]        = CORE_PLL_799,
+       [SPD1000]       = CORE_PLL_999,
+       [SPD1200]       = CORE_PLL_1200,
+};
+
+s16 divn_val[16] = {
+       0, 0, 1, 4, 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
 };
 
 static struct pll_init_data tetris_pll_config[] = {
-       TETRIS_PLL_800,
-       TETRIS_PLL_1000,
-       TETRIS_PLL_1200,
-       TETRIS_PLL_1350,
-       TETRIS_PLL_1400,
+       [SPD800]        = TETRIS_PLL_800,
+       [SPD1000]       = TETRIS_PLL_1000,
+       [SPD1200]       = TETRIS_PLL_1200,
+       [SPD1350]       = TETRIS_PLL_1350,
+       [SPD1400]       = TETRIS_PLL_1400,
 };
 
 static struct pll_init_data pa_pll_config =
        PASS_PLL_983;
 
+struct pll_init_data *get_pll_init_data(int pll)
+{
+       int speed;
+       struct pll_init_data *data;
+
+       switch (pll) {
+       case MAIN_PLL:
+               speed = get_max_dev_speed();
+               data = &core_pll_config[speed];
+               break;
+       case TETRIS_PLL:
+               speed = get_max_arm_speed();
+               data = &tetris_pll_config[speed];
+               break;
+       case PASS_PLL:
+               data = &pa_pll_config;
+               break;
+       default:
+               data = NULL;
+       }
+
+       return data;
+}
+
 #ifdef CONFIG_DRIVER_TI_KEYSTONE_NET
 struct eth_priv_t eth_priv_cfg[] = {
        {
@@ -87,28 +109,15 @@ int get_num_eth_ports(void)
 #ifdef CONFIG_BOARD_EARLY_INIT_F
 int board_early_init_f(void)
 {
-       int speed;
-
-       speed = get_max_dev_speed();
-       init_pll(&core_pll_config[speed]);
-
-       init_pll(&pa_pll_config);
-
-       speed = get_max_arm_speed();
-       init_pll(&tetris_pll_config[speed]);
+       init_plls();
 
        return 0;
 }
 #endif
 
 #ifdef CONFIG_SPL_BUILD
-static struct pll_init_data spl_pll_config[] = {
-       CORE_PLL_799,
-       TETRIS_PLL_500,
-};
-
 void spl_init_keystone_plls(void)
 {
-       init_plls(ARRAY_SIZE(spl_pll_config), spl_pll_config);
+       init_plls();
 }
 #endif
index 729a19323957653d777f6f9cb8a7c0f370e726f1..70e25f10c423dcac1da15b21c67bc60fded54633 100644 (file)
@@ -19,29 +19,54 @@ unsigned int external_clk[ext_clk_count] = {
        [alt_core_clk]  = 100000000,
        [pa_clk]        = 122880000,
        [tetris_clk]    = 122880000,
-       [ddr3_clk]      = 100000000,
-       [pcie_clk]      = 100000000,
-       [sgmii_clk]     = 156250000,
-       [usb_clk]       = 100000000,
+       [ddr3a_clk]     = 100000000,
 };
 
-static struct pll_init_data core_pll_config[] = {
-       CORE_PLL_799,
-       CORE_PLL_1000,
-       CORE_PLL_1198,
+static struct pll_init_data core_pll_config[NUM_SPDS] = {
+       [SPD800]        = CORE_PLL_799,
+       [SPD1000]       = CORE_PLL_1000,
+       [SPD800]        = CORE_PLL_1198,
+};
+
+s16 divn_val[16] = {
+       0, 0, 1, 4, 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
 };
 
 static struct pll_init_data tetris_pll_config[] = {
-       TETRIS_PLL_799,
-       TETRIS_PLL_1000,
-       TETRIS_PLL_1198,
-       TETRIS_PLL_1352,
-       TETRIS_PLL_1401,
+       [SPD800]        = TETRIS_PLL_799,
+       [SPD1000]       = TETRIS_PLL_1000,
+       [SPD1200]       = TETRIS_PLL_1198,
+       [SPD1350]       = TETRIS_PLL_1352,
+       [SPD1400]       = TETRIS_PLL_1401,
 };
 
 static struct pll_init_data pa_pll_config =
        PASS_PLL_983;
 
+struct pll_init_data *get_pll_init_data(int pll)
+{
+       int speed;
+       struct pll_init_data *data;
+
+       switch (pll) {
+       case MAIN_PLL:
+               speed = get_max_dev_speed();
+               data = &core_pll_config[speed];
+               break;
+       case TETRIS_PLL:
+               speed = get_max_arm_speed();
+               data = &tetris_pll_config[speed];
+               break;
+       case PASS_PLL:
+               data = &pa_pll_config;
+               break;
+       default:
+               data = NULL;
+       }
+
+       return data;
+}
+
 #ifdef CONFIG_DRIVER_TI_KEYSTONE_NET
 struct eth_priv_t eth_priv_cfg[] = {
        {
@@ -83,28 +108,15 @@ int get_num_eth_ports(void)
 #ifdef CONFIG_BOARD_EARLY_INIT_F
 int board_early_init_f(void)
 {
-       int speed;
-
-       speed = get_max_dev_speed();
-       init_pll(&core_pll_config[speed]);
-
-       init_pll(&pa_pll_config);
-
-       speed = get_max_arm_speed();
-       init_pll(&tetris_pll_config[speed]);
+       init_plls();
 
        return 0;
 }
 #endif
 
 #ifdef CONFIG_SPL_BUILD
-static struct pll_init_data spl_pll_config[] = {
-       CORE_PLL_799,
-       TETRIS_PLL_491,
-};
-
 void spl_init_keystone_plls(void)
 {
-       init_plls(ARRAY_SIZE(spl_pll_config), spl_pll_config);
+       init_plls();
 }
 #endif
index 472298637fcfd1dc4344301dbf2812aff60d7e7f..74d5cd37b1b595203b2c2f6f2b6b85bad5f6d065 100644 (file)
@@ -6,3 +6,4 @@
 #
 
 obj-y  := devkit3250.o
+obj-$(CONFIG_SPL_BUILD) += devkit3250_spl.o
index 6acc416899bf139ebcf701001a7e665f09cd46f4..4b3c94eaf7bfa5ac713999efc374a8f672af8685 100644 (file)
@@ -1,23 +1,52 @@
 /*
  * Embest/Timll DevKit3250 board support
  *
- * Copyright (C) 2011 Vladimir Zapolskiy <vz@mleia.com>
+ * Copyright (C) 2011-2015 Vladimir Zapolskiy <vz@mleia.com>
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/arch/clk.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/emc.h>
+#include <asm/arch/wdt.h>
+#include <asm/io.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
 static struct emc_regs *emc = (struct emc_regs *)EMC_BASE;
+static struct clk_pm_regs *clk = (struct clk_pm_regs *)CLK_PM_BASE;
+static struct wdt_regs *wdt = (struct wdt_regs *)WDT_BASE;
+
+void reset_periph(void)
+{
+       /* This function resets peripherals by triggering RESOUT_N */
+       setbits_le32(&clk->timclk_ctrl, CLK_TIMCLK_WATCHDOG);
+       writel(WDTIM_MCTRL_RESFRC1, &wdt->mctrl);
+       udelay(300);
+
+       writel(0, &wdt->mctrl);
+       clrbits_le32(&clk->timclk_ctrl, CLK_TIMCLK_WATCHDOG);
+
+       /* Such a long delay is needed to initialize SMSC phy */
+       udelay(10000);
+}
 
 int board_early_init_f(void)
 {
        lpc32xx_uart_init(CONFIG_SYS_LPC32XX_UART);
+       lpc32xx_i2c_init(1);
+       lpc32xx_i2c_init(2);
+       lpc32xx_ssp_init();
+       lpc32xx_mac_init();
+
+       /*
+        * nWP may be controlled by GPO19, but unpopulated by default R23
+        * makes no sense to configure this GPIO level, nWP is always high
+        */
+       lpc32xx_slc_nand_init();
 
        return 0;
 }
diff --git a/board/timll/devkit3250/devkit3250_spl.c b/board/timll/devkit3250/devkit3250_spl.c
new file mode 100644 (file)
index 0000000..bf52698
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * Timll DevKit3250 board support, SPL board configuration
+ *
+ * (C) Copyright 2015 Vladimir Zapolskiy <vz@mleia.com>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/arch/sys_proto.h>
+#include <asm/arch/cpu.h>
+#include <asm/arch/emc.h>
+#include <asm/arch-lpc32xx/gpio.h>
+#include <spl.h>
+
+static struct gpio_regs *gpio = (struct gpio_regs *)GPIO_BASE;
+
+/*
+ * SDRAM K4S561632N-LC60 settings are selected in assumption that
+ * SDRAM clock may be set up to 166 MHz, however at the moment
+ * it is 104 MHz. Most delay values are converted to be a multiple of
+ * base clock, and precise pinned values are not needed here.
+ */
+struct emc_dram_settings dram_64mb = {
+       .cmddelay       = 0x0001C000,
+       .config0        = 0x00005682,
+       .rascas0        = 0x00000302,
+       .rdconfig       = 0x00000011,   /* undocumented but crucial value */
+
+       .trp    = 83333333,
+       .tras   = 23809524,
+       .tsrex  = 12500000,
+       .twr    = 83000000,             /* tWR = tRDL = 2 CLK */
+       .trc    = 15384616,
+       .trfc   = 15384616,
+       .txsr   = 12500000,
+       .trrd   = 1,
+       .tmrd   = 1,
+       .tcdlr  = 0,
+
+       .refresh        = 130000,       /* 800 clock cycles */
+
+       .mode   = 0x00018000,
+       .emode  = 0x02000000,
+};
+
+void spl_board_init(void)
+{
+       /* First of all silence buzzer controlled by GPO_20 */
+       writel((1 << 20), &gpio->p3_outp_clr);
+
+       lpc32xx_uart_init(CONFIG_SYS_LPC32XX_UART);
+       preloader_console_init();
+
+       ddr_init(&dram_64mb);
+
+       /*
+        * NAND initialization is done by nand_init(),
+        * here just enable NAND SLC clocks
+        */
+       lpc32xx_slc_nand_init();
+}
+
+u32 spl_boot_device(void)
+{
+       return BOOT_DEVICE_NAND;
+}
index 40cd69ed708503a472933310068af4764ce1a913..88dc0160796e745a8ec7f683591e75f45fa0c758 100644 (file)
@@ -17,6 +17,13 @@ config SYS_HUSH_PARSER
        help
          Backward compatibility.
 
+config SYS_PROMPT
+       string "Shell prompt"
+       default "=> "
+       help
+         This string is displayed in the command line to the left of the
+         cursor.
+
 menu "Autoboot options"
 
 config AUTOBOOT_KEYED
index 6dc4c899bcb4a8bda268b2d6d022ab46b1986e53..dc82433e90dee24e41423a1e7042313126c24d79 100644 (file)
@@ -251,7 +251,11 @@ obj-$(CONFIG_DDR_SPD) += ddr_spd.o
 obj-$(CONFIG_SPD_EEPROM) += ddr_spd.o
 obj-$(CONFIG_HWCONFIG) += hwconfig.o
 obj-$(CONFIG_BOUNCE_BUFFER) += bouncebuf.o
+ifdef CONFIG_SPL_BUILD
+obj-$(CONFIG_SPL_SERIAL_SUPPORT) += console.o
+else
 obj-y += console.o
+endif
 obj-$(CONFIG_CROS_EC) += cros_ec.o
 obj-y += dlmalloc.o
 ifdef CONFIG_SYS_MALLOC_F_LEN
index 6afe98edeee936ebf4313cfdcad1e11def5a8934..bd5dcfa066358c2cc44ce5d19fcc3e77d555cd09 100644 (file)
@@ -17,7 +17,7 @@ int __weak checkboard(void)
  */
 int show_board_info(void)
 {
-#ifdef CONFIG_OF_CONTROL
+#if defined(CONFIG_OF_CONTROL) && !defined(CONFIG_CUSTOM_BOARDINFO)
        DECLARE_GLOBAL_DATA_PTR;
        const char *model;
 
index 9a9fb35b712b09c8a9a416796c6df1ea27c7f1a0..c1476e42d95688cab1a1f9128d483027c4cfab09 100644 (file)
@@ -597,7 +597,7 @@ int cli_readline_into_buffer(const char *const prompt, char *buffer,
                                        puts(tab_seq + (col & 07));
                                        col += 8 - (col & 07);
                                } else {
-                                       char buf[2];
+                                       char __maybe_unused buf[2];
 
                                        /*
                                         * Echo input using puts() to force an
index 6c65cc686cb2d86af46574adbefdd9a41a617242..00a8d2f48b33d767d69310345eb900345b6197ab 100644 (file)
@@ -68,7 +68,7 @@ void cli_simple_process_macros(const char *input, char *output)
        /* 1 = waiting for '(' or '{' */
        /* 2 = waiting for ')' or '}' */
        /* 3 = waiting for '''  */
-       char *output_start = output;
+       char __maybe_unused *output_start = output;
 
        debug_parser("[PROCESS_MACROS] INPUT len %zd: \"%s\"\n", strlen(input),
                     input);
index d2a881ddc798f32c5a598f57245a208b9bb8036d..db7ab7e5f4092a0b996f96702e4ed53b9cd897bb 100644 (file)
@@ -33,7 +33,7 @@ source (ulong addr, const char *fit_uname)
 #if defined(CONFIG_IMAGE_FORMAT_LEGACY)
        const image_header_t *hdr;
 #endif
-       ulong           *data;
+       u32             *data;
        int             verify;
        void *buf;
 #if defined(CONFIG_FIT)
@@ -74,7 +74,7 @@ source (ulong addr, const char *fit_uname)
                }
 
                /* get length of script */
-               data = (ulong *)image_get_data (hdr);
+               data = (u32 *)image_get_data (hdr);
 
                if ((len = uimage_to_cpu (*data)) == 0) {
                        puts ("Empty Script\n");
@@ -128,7 +128,7 @@ source (ulong addr, const char *fit_uname)
                        return 1;
                }
 
-               data = (ulong *)fit_data;
+               data = (u32 *)fit_data;
                len = (ulong)fit_len;
                break;
 #endif
index 80e3e63805cdca31ec0c780c45ab79c3ec601dc1..5180a03a61bfdeed9014b651bf83a4cb9ee0b4dc 100644 (file)
@@ -492,7 +492,8 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
                }
        }
        if (IMAGE_OF_SYSTEM_SETUP) {
-               if (ft_system_setup(blob, gd->bd)) {
+               fdt_ret = ft_system_setup(blob, gd->bd);
+               if (fdt_ret) {
                        printf("ERROR: system-specific fdt fixup failed: %s\n",
                               fdt_strerror(fdt_ret));
                        goto err;
index 9efacf8b89ecb36b0f2c43dd5cd5fa373b648ebe..ca721c5401c29df4907576e3765b7c647afa0c5c 100644 (file)
@@ -54,6 +54,10 @@ static const image_header_t *image_get_ramdisk(ulong rd_addr, uint8_t arch,
 #include <u-boot/md5.h>
 #include <time.h>
 #include <image.h>
+
+#ifndef __maybe_unused
+# define __maybe_unused                /* unimplemented */
+#endif
 #endif /* !USE_HOSTCC*/
 
 #include <u-boot/crc.h>
@@ -274,7 +278,7 @@ void image_multi_getimg(const image_header_t *hdr, ulong idx,
 
 static void image_print_type(const image_header_t *hdr)
 {
-       const char *os, *arch, *type, *comp;
+       const char __maybe_unused *os, *arch, *type, *comp;
 
        os = genimg_get_os_name(image_get_os(hdr));
        arch = genimg_get_arch_name(image_get_arch(hdr));
@@ -299,7 +303,7 @@ static void image_print_type(const image_header_t *hdr)
 void image_print_contents(const void *ptr)
 {
        const image_header_t *hdr = (const image_header_t *)ptr;
-       const char *p;
+       const char __maybe_unused *p;
 
        p = IMAGE_INDENT_STRING;
        printf("%sImage Name:   %.*s\n", p, IH_NMLEN, image_get_name(hdr));
@@ -902,6 +906,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
 
        if (argc >= 2)
                select = argv[1];
+
        /*
         * Look for a '-' which indicates to ignore the
         * ramdisk argument
@@ -1000,6 +1005,12 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
                        images->fit_uname_rd = fit_uname_ramdisk;
                        images->fit_noffset_rd = rd_noffset;
                        break;
+#endif
+#ifdef CONFIG_ANDROID_BOOT_IMAGE
+               case IMAGE_FORMAT_ANDROID:
+                       android_image_get_ramdisk((void *)images->os.start,
+                               &rd_data, &rd_len);
+                       break;
 #endif
                default:
 #ifdef CONFIG_SUPPORT_RAW_INITRD
@@ -1031,16 +1042,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
                                (ulong)images->legacy_hdr_os);
 
                image_multi_getimg(images->legacy_hdr_os, 1, &rd_data, &rd_len);
-       }
-#ifdef CONFIG_ANDROID_BOOT_IMAGE
-       else if ((genimg_get_format((void *)images->os.start)
-                       == IMAGE_FORMAT_ANDROID) &&
-                (!android_image_get_ramdisk((void *)images->os.start,
-                &rd_data, &rd_len))) {
-               /* empty */
-       }
-#endif
-       else {
+       } else {
                /*
                 * no initrd image
                 */
index 5a52fe4287fa7383e8849348bff794f43d6b1138..d29308aeb6a8ab32d5c5f73c91af37f287333e20 100644 (file)
@@ -234,8 +234,8 @@ void lcd_clear(void)
        lcd_logo();
 #if defined(CONFIG_LCD_LOGO) && !defined(CONFIG_LCD_INFO_BELOW_LOGO)
        addr = (ulong)lcd_base + BMP_LOGO_HEIGHT * lcd_line_length;
-       lcd_init_console((void *)addr, panel_info.vl_row,
-                        panel_info.vl_col, panel_info.vl_rot);
+       lcd_init_console((void *)addr, panel_info.vl_col,
+                        panel_info.vl_row, panel_info.vl_rot);
 #endif
        lcd_sync();
 }
index 494f683b0aaaf64f79cbb393c35d35ac7330f4ae..ce58c5824f6d80add3705a588134d876da7bc474 100644 (file)
@@ -44,7 +44,7 @@ static int mmc_load_image_raw_sector(struct mmc *mmc, unsigned long sector)
 
        /* Read the header too to avoid extra memcpy */
        count = mmc->block_dev.block_read(0, sector, image_size_sectors,
-                                         (void *)spl_image.load_addr);
+                                         (void *)(ulong)spl_image.load_addr);
        debug("read %x sectors to %x\n", image_size_sectors,
              spl_image.load_addr);
 
index 58de96b08c8aabc41af142a611d3338058205f97..6a46194567883eb7b4b12c4ff7038929ba6aacbe 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_M68K=y
 CONFIG_TARGET_M5208EVBE=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index 6a2d175336e782d8bb5b5b4eacce831430135e48..608edc5acfedaa5430f1006bdde1799bd61406a2 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_SPANSION_BOOT,SYS_TEXT_BASE=0x00000000"
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="-> "
index 3292cff57a8371d4c8c276f82bb391cd285c2a9c..e9c2b7cd089fa099eb8703a256702f9247c4460b 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xFFE00000"
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index 23d54686bfe643d2d05dfbb43d9df1dacf415c84..6ad4e13329ecb989b638c52a5729e34dc00fe010 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_TARGET_M5272C3=y
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index f051bf12955bbfcc3b28479f5fc4cac2ccbefec4..b29021bb5d90dbb2326dc36cc225374898bcf77b 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_TARGET_M5275EVB=y
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index 6c130e818b0c8795b70fd0d084213437fda3026c..322ee9ab225d33e767c49f54894cd32df9b2c62b 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_TARGET_M5282EVB=y
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index 1f5bc86519c923c31fe00f68a67fb532e9fa80e3..3e722904327ed036c072191c8ee196763037b234 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_M68K=y
 CONFIG_TARGET_M53017EVB=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index 02af3a43aa655d9d76d464288622006ceed533f0..1d2bb81877869c7813d00e1dae388b5d0eaece7f 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_M68K=y
 CONFIG_TARGET_M5329EVB=y
 CONFIG_SYS_EXTRA_OPTIONS="NANDFLASH_SIZE=0"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index f757a352365553055b151c242bc478374ca24859..915734c412d0429ac5c85c9b41181a846898cdf9 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_M68K=y
 CONFIG_TARGET_M5329EVB=y
 CONFIG_SYS_EXTRA_OPTIONS="NANDFLASH_SIZE=16"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index 304ca48b835f136c93fc235ab663ffd3b1a1a003..eb7a96a47a3e16bb901ffca7fa3dbd71bdcb06d7 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_M68K=y
 CONFIG_TARGET_M5373EVB=y
 CONFIG_SYS_EXTRA_OPTIONS="NANDFLASH_SIZE=16"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index 9a93b3b16df8be8ee005ef3796164235ed1ff72c..a5c35d1f2baef0d68343e55824ce7ecd93dee2c5 100644 (file)
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="CF_SBF,SYS_SERIAL_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_IN
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="-> "
index c194ea742e75512aaf77bed494dbe49c1d06f2fe..20eadcf5740a92eea7231a1f522dcdc2986316f9 100644 (file)
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_NAND_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSR
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="-> "
index 4ee35ff7c0163ea88604cc37d96c1ba64c291a41..d47127c14a9e3a0683ab73e6c9fb428671fa2872 100644 (file)
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_NAND_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSR
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="-> "
index 4c4b70adec8ee3dbcb4878b222d1742001587e03..700745d1cb15d9bd626f4e7ca3a911451374a175 100644 (file)
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_NAND_BOOT,LOW_MCFCLK,SYS_TEXT_BASE=0x47E00000,SYS_
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="-> "
index 3be102c45e94736e06f6812e4a1a6c08ed18242c..44500848f0cbc734301e7fe79c7cec39d4119878 100644 (file)
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="CF_SBF,SYS_SERIAL_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_IN
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="-> "
index 9a93b3b16df8be8ee005ef3796164235ed1ff72c..a5c35d1f2baef0d68343e55824ce7ecd93dee2c5 100644 (file)
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="CF_SBF,SYS_SERIAL_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_IN
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="-> "
index b35bb81ce225352c48218892e0e708fefb76d0d1..0b446b8afa812f2fed70e848c5bfc4b2eda2eb0d 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x00000000,SYS_INPUT_CLKSRC=24000000"
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="-> "
index cb56586471b72ecd3517c2d39fdfb839ee0e2ade..c7a01644c254a70202e8bbb94ee0805144f50454 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_ATMEL_BOOT,SYS_TEXT_BASE=0x04000000,SYS_INPUT_CLKS
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="-> "
index 343f52f3a6d29cf424c2330785c2a15fd501b310..b29d1a6a56354105772470efc0f909725980ad48 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_M68K=y
 CONFIG_TARGET_M5475EVB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index c9667da172b49d580ae2ad64531b6af51059f976..e62fbf610e89e2732e03ddd20a6204ea3f9f69e0 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_M68K=y
 CONFIG_TARGET_M5475EVB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index c1a9558c42fc2b7c412883fa5a0ebaa365d6fb5d..195b4e30e12514db05f4c9e1663b58af7e705ca0 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_M68K=y
 CONFIG_TARGET_M5475EVB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16,SYS_VIDEO,SYS_USBCTRL"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index d879894e0b24f921e51b9feda3bf906ba612cccc..314ced6c3ad9748cf7a7dd880a7f493c972063b5 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_M68K=y
 CONFIG_TARGET_M5475EVB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_USBCTRL"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index 9b677ee88d25bbbaf3bfa2d11b6ab1b3093d3992..279808f45e589826d44bfe5621c435a60701e41d 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_M68K=y
 CONFIG_TARGET_M5475EVB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_VIDEO,SYS_USBCTRL"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index 4989b00ac69a881302c0c62117308c4fce6aae46..a00100e24c020594001e2f53325b7ac41ae86f59 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_M68K=y
 CONFIG_TARGET_M5475EVB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=32,SYS_VIDEO,SYS_USBCTRL,SYS_DRAMSZ1=64"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index 31df40e6395d422f6ffcedc4c14b6ebfc91b2713..1ea82a7ccfd562263fade3ebdd9a02cb39a8e500 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_M68K=y
 CONFIG_TARGET_M5475EVB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=133333333,SYS_BOOTSZ=4,SYS_DRAMSZ=64"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index 5381b74463f7fb654f23b63aff8fb4d633f97d44..70cfa8fc56e68faf45ae3e98bc27eac9bdf7c640 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_M68K=y
 CONFIG_TARGET_M5485EVB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index 36dcccf1ac9b3eae2bf846b752e28e005749756b..377b87fea44772052b17776e1a311379cfc34dd2 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_M68K=y
 CONFIG_TARGET_M5485EVB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index e5cc1e13ff55ced3b69cd3ef995e2750f53bf49b..faa019610193dd1b0996dcb87e6da2c049a0389f 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_M68K=y
 CONFIG_TARGET_M5485EVB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16,SYS_VIDEO,SYS_USBCTRL"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index fdf667a7e89a42948d05060e302130c0aba2eb65..71a028fe7fba5839c6822cb6d8134ef5f90599fa 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_M68K=y
 CONFIG_TARGET_M5485EVB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_USBCTRL"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index a5933f2516ab9f6fedb9fb86f672c82e2683b5a0..784803e87d08c5a574b1e079401d3440642b51a9 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_M68K=y
 CONFIG_TARGET_M5485EVB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_VIDEO,SYS_USBCTRL"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index 116c5cca8c3e9004c5393a1fc434f8c526971f4b..8a831e35e65f579f035ae847d21d7f2ce1791a24 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_M68K=y
 CONFIG_TARGET_M5485EVB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=32,SYS_VIDEO,SYS_USBCTRL,SYS_DRAMSZ1=64"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index fd5fc1a85be8550c7b142b8bcbaf2f3d4dc000b9..00c7479c377f2f15225ecd1274d42369fe136ddf 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_M68K=y
 CONFIG_TARGET_M5485EVB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=100000000,SYS_BOOTSZ=4,SYS_DRAMSZ=64"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index 6e2768c08cefe469ca057f2ffeca705f0a9fe8a4..887bd4d9151f92a076385a311020755acb1f5cf0 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_M68K=y
 CONFIG_TARGET_M5485EVB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16,SYS_VIDEO"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="-> "
index 7a43fa084c62edb86f178d3fbf7ceea70dcd5be8..4578b32ebeff2ec9f1c73a6f70299092cdaf260f 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8349ITX=y
 CONFIG_SYS_EXTRA_OPTIONS="MPC8349ITXGP,SYS_TEXT_BASE=0xFE000000"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="MPC8349E-mITX-GP> "
index f74d42c69e375aa9f395c1ae583fb25ced5aba51..c5fbeb90e1a22920e11325729de581522c1d2097 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8349ITX=y
 CONFIG_SYS_EXTRA_OPTIONS="MPC8349ITX,SYS_TEXT_BASE=0xFE000000"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="MPC8349E-mITX> "
index 84c117cd9eec503cbb0c294b3a4ca28bf9a2ce24..a895c53ab04eae64d4aaf3fe2e8e0a9ae7d78f82 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8349ITX=y
 CONFIG_SYS_EXTRA_OPTIONS="MPC8349ITX"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="MPC8349E-mITX> "
index da8525e5ab9d384a4cd0c669e203c54b15817cae..6c1bf172f67ec154db8812781644e35b8c33a7b7 100644 (file)
@@ -13,3 +13,4 @@ CONFIG_TARGET_PATI=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="pati=> "
index 010b15f767d8624cec5ec19121ca99874afa986e..cada7bb94582742c5ee4d22ea6a83c4787784a95 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc>\" to stop\n"
 CONFIG_AUTOBOOT_STOP_STR="\x1b"
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="B$ "
index 8885f1a97eccaf6d2aaaa99efdd74522c05b2b5d..e9b28a8ade8606e0d3eb1ee1713e226d4f6e2645 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_ARM=y
 CONFIG_TARGET_VCMA9=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="VCMA9 # "
index 37fb0e0ec7f0c90117ba9b28d364d0319db1d32b..238630e63ea9bbd9b2f8f1f3230d948fca9847cc 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC512X=y
 CONFIG_TARGET_AC14XX=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="ac14xx> "
index e550f71ebb88f27a06d60c7aaedb76ae2016d2bf..ac1dcaa3f28e03e413785b02a6d9b2059e890506 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_NDS32=y
 CONFIG_TARGET_ADP_AG101=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="NDS32 # "
index 740cb57df0112efafdbf694019d1159f05f542d3..92aa0bec467ddaf8644cd7528053e2b686d77b92 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_NDS32=y
 CONFIG_TARGET_ADP_AG101P=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="NDS32 # "
index 721f61d7f98aa2c9b5098b845c61907904a31eba..1bef35094641417e1e68400052ce0fdf9abd48b4 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_TARGET_ADP_AG102=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="NDS32 # "
diff --git a/configs/am335x_gp_evm_defconfig b/configs/am335x_gp_evm_defconfig
new file mode 100644 (file)
index 0000000..62d3b6b
--- /dev/null
@@ -0,0 +1,14 @@
+CONFIG_ARM=y
+CONFIG_TARGET_AM335X_EVM=y
+CONFIG_DEFAULT_DEVICE_TREE="am335x-evm"
+CONFIG_SPL=y
+CONFIG_SPL_STACK_R=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
+CONFIG_SYS_EXTRA_OPTIONS="NAND"
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_OF_CONTROL=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
+CONFIG_SPI_FLASH=y
+CONFIG_RSA=y
index a44ffe74a48f3155e1170bbb1000a5fed63b5d16..806dc3a0416340198f68166ed764716b3bd166f5 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="AM3517_CRANE # "
index c72d29e5d347a252f38cc44f9b3429dd531057f6..95b67545fe8fde1ba4a94d6d6315a7ecb1c0f347 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_FIT=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="AM3517_EVM # "
index 47c4f3d21f8b52c9bc46c631f9b286ceb27db33e..dc16d5bb1d7023f3c96e26bbef58ffe73bb36c74 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_TARGET_AMCORE=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="amcore $ "
index fa9f36565396fe19b9514f2f5d821589288bd363..c0bc3c5c06793d285695ad8c51bb665d7f68308a 100644 (file)
@@ -12,3 +12,4 @@ CONFIG_SPL_DM=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Apalis T30 # "
index 854a2b7450ba4b121bd1d53b93e0c58d0270fb7a..4503235c128eb843cfcbbd54311ccf13d445e768 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_TARGET_APF27=y
 CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
+CONFIG_SYS_PROMPT="BIOS> "
index 5683b81ab494ec996e75d30d5cdf14587fde1890..cd9aafdb3003405dbbb5f1eae54d54bead5d0aaf 100644 (file)
@@ -11,3 +11,4 @@ CONFIG_OF_EMBED=y
 CONFIG_DM=y
 CONFIG_DM_SERIAL=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="arcangel4# "
index ebac9ad40596475d13062285b70f990499ea83b8..1f94ff0ee960711f4f154e93e5f29eee9c32eb90 100644 (file)
@@ -15,3 +15,4 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_DM_I2C=y
 CONFIG_DM_I2C_COMPAT=y
+CONFIG_SYS_PROMPT="ARNDALE # "
index f394f4df57e48939ea217fcca1e07b54ee02ff74..867612070af4a5e25e8d49969aad0b7554208d77 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_TARGET_ASTRO_MCF5373L=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="URMEL > "
index 74d4f3a748abc298351800229fbdac15c2098596..10df5f8d1d21c8a45cfb151dd3a09ae4f2d8f553 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_ARCH_AT91=y
 CONFIG_TARGET_AT91RM9200EK=y
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index f499453ed15813713a88636115f39bc053b5223e..2765e9dc6ac0dac230eee2497d97941a7b976e5f 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_TARGET_AT91RM9200EK=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 96c5eeef337a6613b03a2a727a9e7ca14b434b84..9909bc8d38ea311f03dc1af1c5125ee1d18c9977 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9260,SYS_USE_DATAFLASH_CS0"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 6330c3e48205ea02e26ce1b8f2b0e8eaea6f654f..8fdbd88232777bc11cb4714f625b2d04cb510f67 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9260,SYS_USE_DATAFLASH_CS1"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index ae2defd029434ba38a3d0b0c46b0414610e96d4b..e4fc8d705e15df2794189b959fd8d85888727527 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9260,SYS_USE_NANDFLASH"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 838b235fe3be7343b33709a3c56d386be22ca103..e182f7065d272d2eeb04956444a8118f1641b6d2 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9261,SYS_USE_DATAFLASH_CS0"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 6104479479766180b480d39c6c35393e4be04cb8..b3a35dd04ec86b647d1038488a34cf8d118999fb 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9261,SYS_USE_DATAFLASH_CS3"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 4015c9f02a0e14d428608f870173de029aa2f324..58aa38f3cb3de55017143d0b2b4ff82189b5e25f 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9261,SYS_USE_NANDFLASH"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index d9003ff94bb9a3e0b653c9f9c3401e2e045002be..82e1b862206a597c6a1a0652e5a50d83f3c0cdad 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_DATAFLASH"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index d9003ff94bb9a3e0b653c9f9c3401e2e045002be..82e1b862206a597c6a1a0652e5a50d83f3c0cdad 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_DATAFLASH"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 600c5dd4fa5f96c339b12558d81cae4b26c2173d..bac882eec8b664b06f2ed1edca1fec99447309f8 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_NANDFLASH"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 2e34b79c1bd158874a473ba7906248e0691733e6..75f0ec6f1de24ad1b291172fce832f6ebd7a4aac 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_BOOT_NORFLASH"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index f72ed85a9e1049f96be95bd6413c3af1110ff078..5bcdab055e97dbf431ceeab46188d1c4cc360aea 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_NORFLASH"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 5f8d8031d346371e969582e4256b260e0e55407c..80e6a8a7f3a457983f1a995c9c234dade2b939b3 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G10,SYS_USE_DATAFLASH_CS0"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 3ed763ecf515e9f8772650449d0a6c0df4975407..e6c9f61e007fdfe1f697b0e84f8b3162b6151b4f 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G10,SYS_USE_DATAFLASH_CS3"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index c27e39ae7a4350028439da287a9deceda7787f49..0adaf11325b987815680265541a4245326ae34d2 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G10,SYS_USE_NANDFLASH"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index d58de8eee37347bea94fa67fac8ba167fbf296db..40cd6b1ca7a6ef6f9cd6857f5362570908f62afd 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,AT91SAM9G20EK_2MMC,SYS_USE_MMC"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 4b2883921d21256beadcb0d62cd887ebc63f02fb..6f593050d5cd721dbe4e57c62e55e7adc62fd84b 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,AT91SAM9G20EK_2MMC,SYS_USE_NANDFLASH"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index ee86dad1ae85a19f5b099854d37b5e7d2f106992..b63c6d659c3c6c28d40bda57bc1a6ab7c75db2d7 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,SYS_USE_DATAFLASH_CS0"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 39d4b0970e08c62fddb42ff1176c929d108737ca..aad9c1ec988dd2f7964018f3f2c7c9a5c517e734 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,SYS_USE_DATAFLASH_CS1"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index d636485140c70bade553efb458bc36977d7afefe..f24708471baeeb0522b73e2f96ce2fe15a3ebfa4 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,SYS_USE_NANDFLASH"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 1472d20ecf3e55f7d94cfa7c8aa54adc39ae6aee..f88b48b6dce6d3a690267eb3a1003bc40671f21c 100644 (file)
@@ -10,3 +10,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9M10G45,SYS_USE_MMC"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 526419cac0cc09c3edccc6f82be5578417a03218..7675f52410332de074fe290871b1ffe4c1be8529 100644 (file)
@@ -10,3 +10,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9M10G45,SYS_USE_NANDFLASH"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index c549baf39b9964133fd0bbde3b06e1dac9661f52..1702a32788a8b557dd78de8a9ac6430a4b924f2d 100644 (file)
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9N12,SYS_USE_MMC"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot> "
index 756db2a7e06796e8cb66e1171a785bfc2fbb8f7f..9f87469cd34248e5eb36bcf843d0c234d9529541 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9N12,SYS_USE_NANDFLASH"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot> "
index 0430de9bd1cb7544a95b8f9442c33a05dd4f8bc3..a7d05810a0203689741a3d8d9d410e16d7246e18 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9N12,SYS_USE_SPIFLASH"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot> "
index c555caaed62c4216a2591a768c7674f6af1dd002..ed2f5d2c467921a7785a65b59ce881952ddba028 100644 (file)
@@ -12,3 +12,4 @@ CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 5cb565574c22c70e3fe89819c51ddadfc076dd4c..760cf9299fe4911eb547453d3a6f8d953198eeda 100644 (file)
@@ -12,3 +12,4 @@ CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 3e3528efb13df508b6f6c7560e9b71acb4178151..191a26133fcaf5184b9a74806cfa144f99c9bbd6 100644 (file)
@@ -12,3 +12,4 @@ CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index c757fc4efef68d8292259bcec7756511e30f2ded..38607d00eb11c25b4390c23ed15a6aca3f7a24e2 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9X5,SYS_USE_DATAFLASH"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot> "
index 82e67f3bf320ad2592913e315c503006fe6bb4c7..8776627077791e221687b7239fbbfae033b9da57 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9X5,SYS_USE_MMC"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot> "
index b45d8d0cf558405249e7fc0f1102c2d157d70e79..cedc56008c172cbad0b5e800a1cc32deb31e3e8a 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9X5,SYS_USE_NANDFLASH"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot> "
index f33a2fd1e4a6ecb8a471eae249ca185899118d03..389630029402a4828566f8eac51e5476ce7c6914 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9X5,SYS_USE_SPIFLASH"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot> "
index 585d564beac2641305c69598969972e103d81343..fbdb564bb4bc1a0a72d3eb901bd7daf148b68bde 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9XE,SYS_USE_DATAFLASH_CS0"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 1c38777a779f013adbe21debbdc89cd9edbac08a..4f0cc11966599f7b523f713ab0d18e705207543a 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9XE,SYS_USE_DATAFLASH_CS1"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 5e9a08000b8c70498d8502138cf33ef4724d055d..3dde55c324c8da4d20b9a03c98a25df460c45a0a 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9XE,SYS_USE_NANDFLASH"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 0f5be56447932c9076d9fd54c342c09a8f6ab4f9..51facf72e63b03cf11cdad0f59ce4333b1989837 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot> "
index b4d8d1c143c68530e42075e0d5abdef816f95532..b7099f5c810a68d50262e223404f0b4332290834 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot> "
index bb0406e1ab834ee2349c4a40296fb263255a72ad..78e225615102a7f86da73974edb86e9ce13b6d84 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 04aec0b095a64e9256b6c06fa65d5e589b0605e8..9a6cef3670aa31d0c5290ba02dba76d6a8ed0f42 100644 (file)
@@ -10,3 +10,4 @@ CONFIG_SYS_TEXT_BASE=0x81000000
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="AXS# "
index ad74b85f3516b2b27a977cbd95bdc9c8d5d589d0..02e19d29bc5c49f5d039354f6d4771752f2ebd99 100644 (file)
@@ -14,3 +14,4 @@ CONFIG_SPI_FLASH=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Tegra30 (Beaver) # "
index 57e9a246b0d46d2edcac6918d8299da5db2e02b7..212f2bb41fb650ee3f69edf987e9f575d4b946ae 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_TARGET_BF537_MINOTAUR=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="minotaur> "
index 51022d80d9efb53b0b260b92d0432b067753da70..52abf99980636290316bff9a2d7469afe13736bb 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_TARGET_BF537_SRV1=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="srv1> "
index 897e44f5ac6c36fae8ea00909c111d1fae74847c..140990117320ed0d7d45320966899f0185a7662c 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_TARGET_BF561_ACVILON=y
 CONFIG_SPI_FLASH=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
 CONFIG_LIB_RAND=y
+CONFIG_SYS_PROMPT="Acvilon> "
index b129899e8bffa2fd0105b5ae3636a77c24c4de12..540dbef3dccc597d9a9db353bb7c68b26cc71550 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_TARGET_BR4=y
 CONFIG_SPI_FLASH=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
 CONFIG_LIB_RAND=y
+CONFIG_SYS_PROMPT="br4>"
index b837de32a42b1ddee4e9a0969250dd97aac68002..756457c26e4d40e27d32f303ba8dbe82a6a175bb 100644 (file)
@@ -7,3 +7,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_NET is not set
+CONFIG_SYS_PROMPT="Cairo # "
index 35f73e3f8833969593b850f407a5ce1d14973485..4d952cdafe6b6566f44e4ee7c1567709837517a5 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_TARGET_CALIMAIN=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR="\x0b"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="Calimain > "
index f7f6f12b93ca4c91f674ad12387b57d9ea78e45d..a67bf0ed9cc11720745697a790ea6816d6375cb6 100644 (file)
@@ -7,3 +7,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="cam_enc_4xx> "
index c0e98a5d7094c36e98b73bcc3b353451528d9c85..5c298d7cf9b75f0b8618ce791c611542644ddbf9 100644 (file)
@@ -14,3 +14,4 @@ CONFIG_SPI_FLASH=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Tegra30 (Cardhu) # "
index 6fd29a00aec17efa54743b87df800b7742a1f281..af322bcbe4b65e9da3cc583bff467126d49bfc66 100644 (file)
@@ -7,3 +7,4 @@ CONFIG_DM_THERMAL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="CGT-QMX6-Quad U-Boot > "
index 2aba3594ea74c0dfda43bce94c64ba07e443cffa..66fc3821553d41aa0d2ede8d3b9ca9528313430d 100644 (file)
@@ -30,3 +30,4 @@ CONFIG_USB_EHCI_MX6=y
 CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y
 CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP=y
+CONFIG_SYS_PROMPT="CM-FX6 # "
index 9ebd3270d2bf1e3c404031d3a46dd52150081e74..4f4bd0b55b3f65263fb8f9bdd61d2f7cc6e5a11e 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="CM-T335 # "
index 57b44ba5ab4f060b3e2afcd5a34952e5f28bf162..1eb4250fec94b081959eea09b9a1a0cb8bc6d123 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_TARGET_CM_T3517=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="CM-T3517 # "
index c8dc1244f3f2c77bee63f7920d47c4efd0fe1310..99dd2f4f545e7f39717c96296eff32fffbed30b4 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="CM-T3x # "
diff --git a/configs/cm_t43_defconfig b/configs/cm_t43_defconfig
new file mode 100644 (file)
index 0000000..19ac18a
--- /dev/null
@@ -0,0 +1,10 @@
+CONFIG_ARM=y
+CONFIG_TARGET_CM_T43=y
+CONFIG_SPL=y
+CONFIG_CMD_SF=y
+CONFIG_CMD_USB=y
+# CONFIG_CMD_FPGA is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_NFS is not set
+CONFIG_DM=y
+CONFIG_DM_GPIO=y
index af7c880143b1a3585ff706919e3ddf4613637356..fc72ffa78e7a5e2b1a366eb54a3d538df3af2790 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="CM-T54 # "
index 2ccb80c6f916d5d57d65c0e588cad190a6716c86..77ad34d8fa61fae4b17f6e24e6c47885717bf308 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_TARGET_COBRA5272=y
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="COBRA > "
index 4e1369bcf7f0e25ca96b35d191fad11a3b97848a..0d28b062bae22fab9825924f628932ad3537f9ed 100644 (file)
@@ -12,3 +12,4 @@ CONFIG_SPL_DM=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Colibri T20 # "
index 45cf20aebdb1649f9eb805181776867935eafcfb..d1ed09d17f2205bcbd94edecd2b39915c00ff7fe 100644 (file)
@@ -12,3 +12,4 @@ CONFIG_SPL_DM=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Colibri T30 # "
index ffb3b4fd859269fe7034d01a64dd2425ad1522ca..74af563d94044c585c547b0bd218ae4f4653dc20 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri_vf/imximage.cfg,ENV_I
 CONFIG_DM=y
 CONFIG_NAND_VF610_NFC=y
 CONFIG_SYS_NAND_VF610_NFC_60_ECC_BYTES=y
+CONFIG_SYS_PROMPT="Colibri VFxx # "
index 49f2105c0cca0b22cffecaa8d0f9906931caa168..54c3f2d9ea45b136f059c1734c4a3cf7a83eac9e 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_OF_CONTROL=y
 CONFIG_DM=y
 CONFIG_NAND_VF610_NFC=y
 CONFIG_SYS_NAND_VF610_NFC_60_ECC_BYTES=y
+CONFIG_SYS_PROMPT="Colibri VFxx # "
index 13afb0857a4cdb9de3c1f562838ece382689985d..1fed14e7c5ab68871578d6ae14acb6b8050b94e2 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9M10G45,MACH_TYPE=2066,SYS_USE_NANDFLASH"
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index f423980c4ec87489b6a971d0ee641fbfda87a599..187fcedaa1aadc31046b0c913066284dc15ec508 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="CPU9260,CPU9260_128M"
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="CPU9260=> "
index 88afe9fff5a63fdbd5fdd50efc07c2757f6f73ef..4b50505311c2116315b7ec01b136a76086dbce5f 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="CPU9260"
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="CPU9260=> "
index f59b0002ba8598a1df8db1c5689231d934dedf9e..797fb85d1fc33d136e4488722ee932ea7d18caac 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="CPU9260,CPU9260_128M,NANDBOOT"
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="CPU9260=> "
index e914c2b644521909fe4fd33c2c4141cedf8933b2..8d155d065b0207c6fb0b60814b754d508588cfbb 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="CPU9260,NANDBOOT"
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="CPU9260=> "
index d215cc04fb4d6e4555b6d79bd77841ead34c4562..650c93446ed5f0d24908357b57e0ee95dee3712b 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="CPU9G20,CPU9G20_128M"
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="CPU9G20=> "
index 51b19f0e694a64ca46443761064a721a79c0dbd9..997eec54f4fb3b5ce467532d2674ada0815f0cdb 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="CPU9G20"
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="CPU9G20=> "
index da4cbdd8184ca0b543aab9f9d18d95f76a5842fb..6d62732eeecfe23cf4c263f6f110c98f5f994e56 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="CPU9G20,CPU9G20_128M,NANDBOOT"
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="CPU9G20=> "
index b9e4b3c9901a7f7296d005bf23b527cb10677cc0..52f916f605a722c9f66922b74f5d45d01f7fb1f7 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="CPU9G20,NANDBOOT"
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="CPU9G20=> "
index cfc62aaa7754d3de304f87975929324a85917c6a..10b8ad2bec6d0785be0b176da16959350fb79293 100644 (file)
@@ -10,3 +10,4 @@ CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="CPUAT91=> "
index e0c8e25b6d291f09fa6779e7a9ba03cd902f2b51..d37ede359fc2e920a5aa614d3f250623447350c0 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_TARGET_DA830EVM=y
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot > "
index 41395e3f93af98d088753c85e4261bb2af25de7e..557c0d504de9720c2867a09a7bc6b127450b0acc 100644 (file)
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="MAC_ADDR_IN_SPIFLASH"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot > "
index a1cba1afa0bf4fa8f14f8b5388eb841a108c559f..79b877f13b2e11d6a27faaeb14824704de0fcf32 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_TARGET_DA850EVM=y
 CONFIG_SYS_EXTRA_OPTIONS="MAC_ADDR_IN_SPIFLASH,USE_NOR,DIRECT_NOR_BOOT"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot > "
index 2d8024759944f573bfc72e088737aaa2242d014e..bf0ee84e1107700c1dc37de96177596611672e33 100644 (file)
@@ -15,3 +15,4 @@ CONFIG_SPI_FLASH=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Tegra114 (Dalmore) # "
index f10b64377557440b9e2f7eae26fef44b791653a7..4513ce4c02541e35c62edf01c7e1a2258365d12c 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_TARGET_DAVINCI_DM355EVM=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="DM355 EVM # "
index 7b33f6df466254164a88afbe802f50ceda1098b1..7945605e166e53e37fbd5806aef7561d451b439c 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_TARGET_DAVINCI_DM355LEOPARD=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="DM355 LEOPARD # "
index f139b58c4850ad1230f837e419661dcbc388b356..3550e75180fda20fc0cb31f4950c0f45484d5b8e 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_TARGET_DAVINCI_DM365EVM=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="DM36x EVM # "
index 2a5262a2d1447c7eae10a90944683b6a6bde439c..b2021afddc0e46170ec19b130b6accb5e5f654c5 100644 (file)
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="REFCLK_FREQ=27000000"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="DM6467 EVM > "
index aa30d1bcf4b1289434aaa0e2427927186fa68d8a..7c6f03eaf323aab8a29cea99bbf3ad3bfb93a4fc 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_TARGET_DAVINCI_DVEVM=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot > "
index 7c11c8c16db1e7b3b30252fe510275e230b814ae..2fb4d9f22e8f21f6dc0e9f75685b5b6500b33b9c 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_TARGET_DAVINCI_SCHMOOGIE=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot > "
index 7aca6061aaef3f9784285a8f99d8a89157b0a78e..633b4a8185016343103d2e3cafc46bbec3a88f10 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_TARGET_DAVINCI_SFFSDR=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot > "
index 6014eee467fc650df10ebbb315bd734366f76244..697ce0622b080872ab87e369c17e503152844210 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_TARGET_DAVINCI_SONATA=y
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot > "
index 58da5b7ba240ece99514df37aa9a441bbaa7bb6e..5dc12d27cee425969c79c4d65d7faebfdc24065c 100644 (file)
@@ -10,3 +10,4 @@ CONFIG_SYS_EXTRA_OPTIONS="DBAU1000"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="DbAu1xx0 # "
index 14aeb4c948303ce20dd3c44264536b14a0376849..522b9bcf27d8242115fd46165996809515d25cc9 100644 (file)
@@ -10,3 +10,4 @@ CONFIG_DBAU1100=y
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="DbAu1xx0 # "
index 699b968f1e8fdb4d97e2ed4ebf558694e52fd3e9..2fdddc725c6184dafdc0fdb6149439f7eba43534 100644 (file)
@@ -10,3 +10,4 @@ CONFIG_DBAU1500=y
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="DbAu1xx0 # "
index 6b17da745bc1c71c5ea8f322b50d23b0f00088a6..07be3f16e40c7cc910d12c75999c71c3ea705372 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_DBAU1550=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="DbAu1xx0 # "
index 845bc87834ec57e32426dca1215e86021938ff59..7bd1e0c9efd4bc0d0aba65f0227f51942b69f879 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SYS_LITTLE_ENDIAN=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="DbAu1xx0 # "
index f0c4ee12d63fc29f2911af0441f4216ea1bec13f..7246da5f1f1b94170f0f1f767ca54c598eca2eef 100644 (file)
@@ -1,3 +1,7 @@
 CONFIG_ARM=y
 CONFIG_TARGET_DEVKIT3250=y
+CONFIG_SPL=y
+# CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_DM=y
+CONFIG_DM_GPIO=y
index 483c20e930b0ea47bc2c9fa172b295d52657f84c..4c2c9828e5250815912cd2d46ac7dee2efa57811 100644 (file)
@@ -7,3 +7,4 @@ CONFIG_TARGET_DIG297=y
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="DIG297# "
index 40f6e0f5a3401f7c71e339238dc9a84437375928..e4da4664a4dc18654641abd8b7f042ae3d128d19 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_TARGET_DOCKSTAR=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="DockStar> "
diff --git a/configs/dra72_evm_defconfig b/configs/dra72_evm_defconfig
new file mode 100644 (file)
index 0000000..3205e72
--- /dev/null
@@ -0,0 +1,17 @@
+CONFIG_ARM=y
+CONFIG_OMAP54XX=y
+CONFIG_TARGET_DRA7XX_EVM=y
+CONFIG_DEFAULT_DEVICE_TREE="dra72-evm"
+CONFIG_SPL=y
+CONFIG_SPL_STACK_R=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_SETEXPR is not set
+# CONFIG_CMD_NFS is not set
+CONFIG_OF_CONTROL=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
+CONFIG_DM=y
+CONFIG_SPI_FLASH=y
+CONFIG_SPI_FLASH_BAR=y
+CONFIG_DM_GPIO=y
index 463a7e264e8f5a67af53f855816829f1cfc64355..f98e7b71687e8a81db94c0efabbf0f49ac7034b4 100644 (file)
@@ -2,7 +2,8 @@ CONFIG_ARM=y
 CONFIG_OMAP54XX=y
 CONFIG_TARGET_DRA7XX_EVM=y
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=1"
+CONFIG_SPL_STACK_R=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
index 90e3cf4ad421ecc5f7f25f613ae1ca92af87554b..f14fa62a52de773012966b82b3ea17e9b265e66e 100644 (file)
@@ -2,7 +2,9 @@ CONFIG_ARM=y
 CONFIG_OMAP54XX=y
 CONFIG_TARGET_DRA7XX_EVM=y
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=1,QSPI_BOOT"
+CONFIG_SPL_STACK_R=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
+CONFIG_SYS_EXTRA_OPTIONS="QSPI_BOOT"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
index 474cada18ef366cbf1bbddc1081b61fe2ffb14f9..88822601029e49ad3890b94556b65c3fd82f9823 100644 (file)
@@ -1,8 +1,11 @@
 CONFIG_ARM=y
 CONFIG_OMAP54XX=y
 CONFIG_TARGET_DRA7XX_EVM=y
+CONFIG_CONS_INDEX=3
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=3,SPL_YMODEM_SUPPORT"
+CONFIG_SPL_STACK_R=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
+CONFIG_SYS_EXTRA_OPTIONS="SPL_YMODEM_SUPPORT"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
index 8b177b3a46343f29e760f22c8bbf7799a9b2b3b7..d2fc98d2a6a3035e591b45fe5367ac3df51752bc 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot# "
index 57410d3b93fd5ad1a1b0ce3a9fabaa0cfd2b33a5..d3de28a5d5740e13f92cfaf795661ff324f0937b 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="duovero # "
index 388dfec0c237033f1a13b60b128b616748bca4b5..1d7494f8f9c25f88b342e4daeee80538c71dbea3 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_TARGET_EA20=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="ea20 > "
index 1e19d3a1061251c2ebd3cfd0733f0fdfdea4ee62..0044de62fe3279dc4f5579c31ac73c3fe286500f 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_TARGET_EB_CPU5282=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xFF000000,SYS_MONITOR_BASE=0xFF000400"
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="\nEB+CPU5282> "
index bff65951a50b8cdc154af6dcba4c2a4afa176989..6a6f3cd2c2e7ae6da8fec3e8538c625221f429ed 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_EB_CPUX9K2=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index c43603b64b4645d3f9838fd7ec235db3ae2ab0ab..8b5874da3d0c54c68d74dc2a45e2657f20f5f285 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="ECO5-PK # "
index 80ff33f467b395222cdc354c03c909b7f0fd8c27..b2a2506a61b4f25bb58a9251398cca5af3b32aee 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_ORION5X=y
 CONFIG_TARGET_EDMINIV2=y
 CONFIG_SPL=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="EDMiniV2> "
index d2379ec1cb46038baa48b79648b7c0ac4941a192..d97008a3f52903ec972d8728ebfb88a92afebf2c 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9XE"
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot> "
index 7ea5da29611d4e47e96500ea68293eda712fdecd..c9e4a28d2cf9d2a2bf98dafbc7c6ff32df73ae6c 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_ARM=y
 CONFIG_TARGET_FLEA3=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="flea3 U-Boot > "
index 1013b70849fe0b6b9a4bd2f0725b157e81755ffa..02136811bc777f8cc811e518cad7ea48871f06d6 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x041000
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="FX12MM:/# "
index d1b9ba1d4f67f7c4006e303b51cbcc057be88ada..059ce80d1ecc6a40f0f253f60b8fb0371d7050f7 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_TARGET_GOFLEXHOME=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="GoFlexHome> "
index 2d9c8ade773f22affc153956291bc38122d799f0..eefc5f2eba0779794b8ed910404c665f4aaee549 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_AUTOBOOT_DELAY_STR="d"
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 401f77e18905f104e2626df6028817935b488118..d81f941627616e12b5a3f3a450e608b7e8782be2 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6QDL"
 # CONFIG_CMD_FLASH is not set
 CONFIG_DM=y
 CONFIG_DM_SERIAL=y
+CONFIG_SYS_PROMPT="Ventana > "
index f90a4a6f11b93542f94f4ff9d788585cc041eb8a..07b1706f78ac448501b622e967737f63ea3eaf6f 100644 (file)
@@ -17,3 +17,4 @@ CONFIG_TARGET_H2200=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_PROMPT="> "
index d88a082a50809681c6ea1b0159bb355f3cdef4e1..c9c0618cf93b67dd7356f8b20d56f40572251b91 100644 (file)
@@ -13,3 +13,4 @@ CONFIG_SPL_DM=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Tegra20 (Harmony) # "
diff --git a/configs/hikey_defconfig b/configs/hikey_defconfig
new file mode 100644 (file)
index 0000000..aa4fb0d
--- /dev/null
@@ -0,0 +1,5 @@
+# 96boards HiKey
+CONFIG_ARM=y
+CONFIG_TARGET_HIKEY=y
+CONFIG_NET=y
+# CONFIG_CMD_IMLS is not set
index e418d8f1ad4d2d60c1d1d352f547efcbe85604e6..b3fa8900638ee22b9fb54f5fe2169cff392a46d3 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_TARGET_IB62X0=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="ib62x0 => "
index 49d4fa0d2080786069a775425e7efa4765feec51..4c342904b98bab39d438c3a7c41586084913c7b0 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_TARGET_ICONNECT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="iconnect => "
index ef15127af6ce1da4dac09da76ad79e3eb763159a..1f5e3a6911622b1fed9847c66af4c733ba0972bf 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_TARGET_IMA3_MX53=y
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/esg/ima3-mx53/imximage.cfg"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="IMA3 MX53 U-Boot > "
index b197935bd0039738a5cf70801fe9f4629aee59a8..f10759b8aa1cc4e684e1c2791a7473dda7dcd8b6 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_ARM=y
 CONFIG_TARGET_IMX31_LITEKIT=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="uboot> "
index 161a604225975420e0123d0ff029b3954ba083dd..e801ee7325d920751f8790687b016a3b49785ef7 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_ARM=y
 CONFIG_TARGET_IMX31_PHYCORE=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="uboot> "
index 369add7f73deb1f4094ea26f4a548dd2480afd10..50c6005873f860b970df9a9f690d4d727c9a431b 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_ARCH_INTEGRATOR=y
 CONFIG_ARCH_INTEGRATOR_AP=y
 CONFIG_CM720T=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="Integrator-AP # "
index aa27cbdd227238193200cd501bf90e2b7d890dea..ab0cdbde47842f3f4c6a312475abb6d90369ca00 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_ARCH_INTEGRATOR=y
 CONFIG_ARCH_INTEGRATOR_AP=y
 CONFIG_CM920T=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="Integrator-AP # "
index 8155b67a1ed6de78552b7ae36eeb89ea0b2bccef..317c6d8a9e8527b12053ec826e2398491f55ada7 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_ARCH_INTEGRATOR=y
 CONFIG_ARCH_INTEGRATOR_AP=y
 CONFIG_CM926EJ_S=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="Integrator-AP # "
index b3b5edf99ba5db235c8e81090db4bf5271501023..5ce1c00dc0b6f30d24e5819d6e012f692c845074 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_ARCH_INTEGRATOR=y
 CONFIG_ARCH_INTEGRATOR_AP=y
 CONFIG_CM946ES=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="Integrator-AP # "
index 5ab7c271b0326ef4e58860b31aec7d21fbedf7c9..ddd2ce7a84a2e9553e14a17f2fd0ee31c1f92d63 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_ARCH_INTEGRATOR=y
 CONFIG_ARCH_INTEGRATOR_CP=y
 CONFIG_CM1136=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="Integrator-CP # "
index d0ed78d3dd1b951ab9d7d4f8b37c6d5323d65d81..036b32efbffc007cd984de3b55e0eb5add377b04 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_ARCH_INTEGRATOR=y
 CONFIG_ARCH_INTEGRATOR_CP=y
 CONFIG_CM920T=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="Integrator-CP # "
index 9aa86029e5ffbc2bb2f2d968197e9205232eebb8..6fc2a849ccaed52782db8838120425ed95ebdd98 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_ARCH_INTEGRATOR=y
 CONFIG_ARCH_INTEGRATOR_CP=y
 CONFIG_CM926EJ_S=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="Integrator-CP # "
index ef9d7d6c1c89aa9cbcaa4a5542b73544e4374f04..e077a5e23d819e62bf04a90e17e2592aa1d5f388 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_ARCH_INTEGRATOR=y
 CONFIG_ARCH_INTEGRATOR_CP=y
 CONFIG_CM946ES=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="Integrator-CP # "
index c053b3898f9416db9f2983e4498412dfe4425654..c41634031090a5ab3531cf10d098239a1d0d0018 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot > "
index 44c7a8ef269f850c21b62266b7f7594c13a4ecfe..1dc2679218399828887fda2c1f9c05ebdaadb119 100644 (file)
@@ -15,3 +15,4 @@ CONFIG_SPI_FLASH=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Tegra124 (Jetson TK1) # "
index 735c75f9a4fcdcb56e9a916e1357f9d2f81b91bf..65cbc2a107131fe40edca624a02e76dbfcf3d50e 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_TARGET_JORNADA=y
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_PROMPT="HP Jornada# "
index f42288697bbd2a66f2fcc8e2cee34363c390c8fb..c4cbadd15131fb1df67f630f000e6eaf199f2e77 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="K2E EVM # "
index 297183f9212add1f6a80f77906c6785bbd3d75c2..a604939c5e82d77987a734c7964ab4953ca65689 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="K2HK EVM # "
index 7aa538d791b1ed41dbb186a1106aceecce1eb585..a687e0ca65266a453d7e139a0309516ccd720d36 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="K2L EVM # "
index 5bca8117dac276315b029c3dc5a452550a1552db..928c4bf04f502dfbf921c714a1b897a5b6686d8b 100644 (file)
@@ -14,3 +14,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1"
 # CONFIG_CMD_ITEST is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="U-Boot (BuR V2.0)# "
index 3df79d4ccbd9eea7a280385eb33544b452935ff9..0669bbcdc1ae876e784f0a2290fd76a231b75d3c 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_ARM=y
 CONFIG_RMOBILE=y
 CONFIG_TARGET_KZM9G=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="KZM-A9-GT# "
index 1d3e978391aca94997a349b01210bbcd55006116..1f38640a812f4942d70d53dfad28150ba33361e6 100644 (file)
@@ -7,3 +7,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="mcx # "
index bb3354287ccc1706b75a3ded22ad05ac365ac56e..c0ba9d193d1dda21094c5e6d8dad2d39c0e754b5 100644 (file)
@@ -13,3 +13,4 @@ CONFIG_SPL_DM=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Tegra20 (Medcom-Wide) # "
index 8355c67c26915ec8353babb760374afd35f095ec..5de1bcd89a8b887467f7293292676158079502b1 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_SPL=y
 CONFIG_OF_CONTROL=y
 CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_OF_EMBED=y
+CONFIG_SYS_PROMPT="U-Boot-mONStR> "
index 3f66c860677531561aff1c8d6ef53e6dd7aa9ee4..44b7c31b7cba592e54a7f44cc4bf7a89691829b3 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x041000
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="ml507:/# "
index 0a6b7d61498d53a680b6133f93f2106fa5644af0..d5d26cf297a971f814bd45c6469cb44b280b30ff 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="mt_ventoux => "
index 9c0deb137f40f95bc80afaf083992e57b11de994..a88c2230646a57d62b38167b91fe841dee0d190c 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_MX51_EFIKAMX,IMX_CONFIG=board/gene
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="Efika> "
index 47e59114c2e2ffc2a5044f3c45f21d802ff72026..257c30586aaaa01343ac7b2f84c1656553fc73db 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_TARGET_NAS220=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="nas220> "
index f9fac6f05d1c6259046f3df11d921a7c2d2b718d..218d92a6ca58083ac921c1f635c6a04793c3d4c7 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_NOMADIK_NHK8815=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="Nomadik> "
index c40dadfde58f64e8142d8f7f0328513636a4c17b..3dd24e0313364dedda546a16aa1c6d0bb3cfd3a7 100644 (file)
@@ -10,3 +10,4 @@ CONFIG_AUTOBOOT_KEYED=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="Nokia RX-51 # "
index ccf656b2896cdd08daf475088ee4ee65f779ae87..44bae73e9821d7c66ab54fa87f312e86c89174d3 100644 (file)
@@ -21,3 +21,4 @@ CONFIG_VIDEO_TEGRA124=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Tegra124 (Nyan-big) # "
index 155ce3906106d4e42d1a7ca9e034a648d31f26cf..f0facf3965acd1df569b8038fe8b1d3cfa87260d 100644 (file)
@@ -13,3 +13,4 @@ CONFIG_DM_I2C_COMPAT=y
 CONFIG_DM_PMIC=y
 CONFIG_DM_REGULATOR=y
 CONFIG_VIDEO_BRIDGE=y
+CONFIG_SYS_PROMPT="ODROID-XU3 # "
index 3104f883e9e24e3b954a2aa42bddeb7d4e8cece5..0a4f63b6e0d2e0cf512c82efa035df3867efd330 100644 (file)
@@ -21,3 +21,4 @@ CONFIG_DM_REGULATOR_MAX77686=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_ERRNO_STR=y
+CONFIG_SYS_PROMPT="Odroid # "
index 65b6f6a9c6c617548e3c4173881b2a8edb43777d..de8fbd928b1ed8a86b341e83c00935b8627cd7e6 100644 (file)
@@ -7,3 +7,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="OMAP3_EVM # "
index 527b465aa80676ba25836a560fbe69c76087bf5a..7d15b1613e348913d8d8e550214738b3bdd6c2df 100644 (file)
@@ -23,3 +23,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_PROMPT="OMAP3_EVM # "
index e3278b5f2ca2c1f551e11e52f89ce627901bf4e3..cd30134f9cc9f80eee92f5201f1c7795d017f5c1 100644 (file)
@@ -23,3 +23,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_PROMPT="OMAP3_EVM # "
index b11d2e42da41293fa02e1d3387bde33b7e7b65bd..5d0ac9e576d8e8b8087211cc9ca1b979af1c827d 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_TARGET_OMAP3_LOGIC=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_PROMPT="OMAP Logic # "
index 415b02ebd849ee8eb701ced65162836d4c0fd7a5..fb12a70560ba47cfe17589ce6035932e7838efa0 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_AUTOBOOT_STOP_STR="S"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="mvblx # "
index 8d5559049a3540ab03a87e4c0f42dbf7e9bd6582..5d03485299c1a0ab0c6fa8c7f7f77daa85734b06 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="Overo # "
index f18a520ad236c32937ff3120f9af259edb414ae8..4fb7899795ec742bf08ae6c850d7f689e663fae7 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_TARGET_OMAP3_PANDORA=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="Pandora # "
index df9e709562aa2a157f0fe0b8aa93a57b281cdaea..2e46091986a0e5824218f65d01247c1a796be117 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_TARGET_OMAP3_SDP3430=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="OMAP34XX SDP # "
index a49be95c0db1e03d0eac3df46d011a70cb9f05ea..4cff178fd2b36178196a2a3f90e54940b8fb9a04 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot > "
index 696197827fe5078fbafe1d34fb666caf5f871fe2..d69d497aa6166fbb62000d430ef255df607e8acb 100644 (file)
@@ -13,3 +13,4 @@ CONFIG_OF_CONTROL=y
 CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_SYS_PROMPT="ORIGEN # "
index 8bf6c53cd60d51cbb79cc34eeb98e5cdbf3c2616..354071ac6f1360a1f043d0da7792c492486cf25b 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_TARGET_PALMLD=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="$ "
index 4042466220480446334ceb3e8af7f923e407d3c2..de617e1804e9f369db6b2930951cc724286000eb 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_TARGET_PALMTC=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="$ "
index 60fb2d6b2befe6edb86e454717658f56cb238e8d..5cba318aa9e74d98058932f2c15324a5c7eb272f 100644 (file)
@@ -13,3 +13,4 @@ CONFIG_SPL_DM=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Tegra20 (Paz00) MOD # "
index 72756a74fa0206db9367fe6ea31a1d186e14950b..c6221a38cc79d92288400d70837318f6b99a06de 100644 (file)
@@ -10,3 +10,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PB1000"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Pb1x00 # "
index df9309e191fd0815f305b56479e2367373c9eb56..630509211079e388d41d804e9da3363240b6c7d7 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC5xxx=y
 CONFIG_TARGET_PCM030=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="uboot> "
index 86d5a0bc54824daa6f06389fc14ab5d43ecc7e6b..a02e2ed3bbf432dfbe0f360cbc3e999084eefc36 100644 (file)
@@ -31,3 +31,4 @@ CONFIG_CMD_REGULATOR=y
 CONFIG_ERRNO_STR=y
 CONFIG_VIDEO_BRIDGE=y
 CONFIG_VIDEO_BRIDGE_PARADE_PS862X=y
+CONFIG_SYS_PROMPT="Peach-Pi # "
index 8fe423efb1ed5d82b01eaa3a82ffd9d8b291e33e..e9fc6aef1cc2150fd513ded5a244f317c9543930 100644 (file)
@@ -31,3 +31,4 @@ CONFIG_CMD_REGULATOR=y
 CONFIG_ERRNO_STR=y
 CONFIG_VIDEO_BRIDGE=y
 CONFIG_VIDEO_BRIDGE_PARADE_PS862X=y
+CONFIG_SYS_PROMPT="Peach-Pit # "
index eb1b6cf297adf897688152116430ada8c3f37f25..787c5f95f03479c8b85078a9cc89bce5f0e7bbac 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="pepper# "
index 3484c4628f759ac9b3ecb0965521898dc71de657..64da7c449b219a456b299b369cff5d19da48f9d6 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6DL"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="picon > "
index 6a2cacf61ee39eb6589ebd5453af077811f75a73..67957c38305614442e57aea4a968c5c50f8e3214 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6Q"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="titanium > "
index 8d96e33df9ce8681bd3886a324a3e2817d1bf779..07fa7f9a9792b0f43961c1ba5f86ff99dcef5ce0 100644 (file)
@@ -13,3 +13,4 @@ CONFIG_SPL_DM=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Tegra20 (Plutux) # "
index 2c842b4bebdcf62a0d2e31d1bea4dbdc0b3fff6c..0a7716eb3eb6fd1968ffe0b6e08e1cfc66771b9f 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9261"
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="pm9261> "
index a065ce033dcc71590a402b661eaee827ee2fa842..45e060bde665068132bd9af69fb54e9a9a845462 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263"
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="u-boot-pm9263> "
index bbaeae885a4e6a73b12347236851683e0812daad..3f34b3cbacbb55777b1b61099259c6fb7cc2c49e 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G45"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index f21237fa488f9e720f62b419ed9af0645ff6d1a3..50a058e0f24cdeca502f92969711c65dce95155c 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_TARGET_POGO_E02=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="PogoE02> "
index b06babccc86accc2591467b12d26be9b271c1b4d..583f132042eaa9c99a0adc89e30983de694fae28 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_TARGET_PR1=y
 CONFIG_SPI_FLASH=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
 CONFIG_LIB_RAND=y
+CONFIG_SYS_PROMPT="pr1>"
index 0bb42ff4f2ac363dc90fc16e9db8fbbf036b9298..41c28490255c21ab5b1ec2b834c428e4626403e2 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot# "
index 2b126acbc6cbc8a9bf9ea5d7cffb49e7cc5cf5c0..7a3ac701bb385a8b602a30c566c2f873dfe59e03 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot# "
index 139189dd033996532059013b2a89248e3d21cd1d..4b920454eeb1600837bd276ffd7964ff32d9028b 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_TARGET_RPI_2=y
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_PHYS_TO_BUS=y
+CONFIG_SYS_PROMPT="U-Boot> "
index db8da684ce8ebd6ac0fec9e270b42c2a8c98e3b4..195ff99d42d0b5544d12d98ed34df781728a8b85 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_TARGET_RPI=y
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_PHYS_TO_BUS=y
+CONFIG_SYS_PROMPT="U-Boot> "
index da9dfe3fd21cab2937fdb43c78a7f2c02c763703..774957c739be5abb1ec028ef8d7b234777af6100 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot# "
index 7e03b9d9464fa8dd390109c37f7bf978be85256a..5c873f779cb89533660ad3988d9b547c6aa11f39 100644 (file)
@@ -10,3 +10,4 @@ CONFIG_DEFAULT_DEVICE_TREE="s5pc1xx-goni"
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_PROMPT="Goni # "
index 21a470873a3070f9533643534e1ee0b56420cdb1..1a49978c70fb5d00e26e18012ca5aa22fde4446d 100644 (file)
@@ -12,3 +12,4 @@ CONFIG_OF_CONTROL=y
 CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_SYS_PROMPT="Universal # "
index 3104586cf60aaa6db7662c61fa4c751a6d0bd969..c9c503480830762f4b355b561c002322cd0f230c 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_TARGET_SCB9328=y
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="scb9328> "
index 942f17eb54849f140b83e72060d9f6972abc7c02..54afbdbca71840a4ac3d7886ad09a456834f85d5 100644 (file)
@@ -13,3 +13,4 @@ CONFIG_SPL_DM=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Tegra20 (SeaBoard) # "
index 0095cebb6f7dfa9655cbe789ff4f8bfa009e6b5a..c97172d2c0a345385ea3a494bf86e622c60d3760 100644 (file)
@@ -7,3 +7,4 @@ CONFIG_SECOMX6_2GB=y
 CONFIG_SYS_EXTRA_OPTIONS="ENV_IS_IN_MMC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
+CONFIG_SYS_PROMPT="SECO MX6Q uQ7 U-Boot > "
diff --git a/configs/smartweb_defconfig b/configs/smartweb_defconfig
new file mode 100644 (file)
index 0000000..8f12f30
--- /dev/null
@@ -0,0 +1,7 @@
+CONFIG_ARM=y
+CONFIG_ARCH_AT91=y
+CONFIG_TARGET_SMARTWEB=y
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9260"
+CONFIG_CMD_NET=y
+CONFIG_SYS_PROMPT="U-Boot> "
index 74bb9e3a66bcd1ec66f9714ec33d884440de6d76..51f348e23ba9484c88e82d528684f02b9f620ebe 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_ARM=y
 CONFIG_TARGET_SMDK2410=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="SMDK2410 # "
index b061e4789d39fc4dd0ca413df2d34dfbdef146ef..f0c9e01a5dee30b9b3b56220edda2da778ab208f 100644 (file)
@@ -24,3 +24,4 @@ CONFIG_ERRNO_STR=y
 CONFIG_DM_PMIC_MAX77686=y
 CONFIG_DM_REGULATOR_MAX77686=y
 CONFIG_VIDEO_BRIDGE=y
+CONFIG_SYS_PROMPT="SMDK5250 # "
index 1561f6a598319ba11e4d134f1d7aabe4e1609278..253fbe51943d53e4ca9332ad4dd2ddfaafce60ff 100644 (file)
@@ -14,3 +14,4 @@ CONFIG_DM_I2C_COMPAT=y
 CONFIG_DM_PMIC=y
 CONFIG_DM_REGULATOR=y
 CONFIG_VIDEO_BRIDGE=y
+CONFIG_SYS_PROMPT="SMDK5420 # "
index 6c8359e9f5dd506a6f0c1fa62c270fb130072412..676781e2f6905dd9645fa8b93f5fc5cc0aa6681a 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_DEFAULT_DEVICE_TREE="s5pc1xx-smdkc100"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="SMDKC100 # "
index 39dd5be6e0649f77b99a9fa841b8d4f9c5db45fe..7833f62b9d067b775e3c8e6d39e095fafeec0679 100644 (file)
@@ -10,3 +10,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_MISC is not set
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_SYS_PROMPT="SMDKV310 # "
index d319a4f671a47aec909edbe61c7733b2c72098a3..31cc5a0b23c4a1a49463a2cc01d52a81ce39fb1e 100644 (file)
@@ -10,3 +10,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9260"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="Snapper> "
diff --git a/configs/sniper_defconfig b/configs/sniper_defconfig
new file mode 100644 (file)
index 0000000..dd66ca0
--- /dev/null
@@ -0,0 +1,10 @@
+CONFIG_ARM=y
+CONFIG_OMAP34XX=y
+CONFIG_TARGET_SNIPER=y
+CONFIG_SPL=y
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+CONFIG_USB=y
+CONFIG_USB_MUSB_GADGET=y
+CONFIG_SYS_PROMPT="Sniper # "
index a7d9e7a0dbf1f6078c99d2a4a3ff4606defbf57f..4a90f0a0656eee336622e61e015b095d22c6a4b0 100644 (file)
@@ -41,3 +41,4 @@ CONFIG_REGULATOR_S5M8767=y
 CONFIG_VIDEO_BRIDGE=y
 CONFIG_VIDEO_BRIDGE_PARADE_PS862X=y
 CONFIG_VIDEO_BRIDGE_NXP_PTN3460=y
+CONFIG_SYS_PROMPT="snow # "
index 31aa58334c88af28bf1d902b5c4811574c3fbc29..e73bc48af11e0643bf9affc8f53cec370b94ee7e 100644 (file)
@@ -10,3 +10,4 @@ CONFIG_TARGET_SNOWBALL=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="U8500 $ "
index a3abb35470381b2a25adf2b5aa5a2e8f7ffc2160..2a9c6a916020ffeeac1f709c6df926ed89245825 100644 (file)
@@ -40,3 +40,4 @@ CONFIG_PMIC_S5M8767=y
 CONFIG_REGULATOR_S5M8767=y
 CONFIG_VIDEO_BRIDGE=y
 CONFIG_VIDEO_BRIDGE_PARADE_PS862X=y
+CONFIG_SYS_PROMPT="spring # "
index 78c47754fd99ca7d83cb50dbaaa7a961e2c06a58..40d6232b91e0033af096e2184173cf66c4ce7545 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 188adc53b6e97a9ec0ec9ddd36ea03736cd21771..0c54d5b20fab9ebd72ce83aeb1f43a25a00a8989 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_ARM=y
 CONFIG_TARGET_STM32F429_DISCOVERY=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot > "
index 3bdb1fc101d175ccdba8a3e849bdcdb383eebb4b..f71206a729d9f239198301793133cfdee27844f2 100644 (file)
@@ -12,3 +12,4 @@ CONFIG_AUTOBOOT_STOP_STR=" "
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_OF_CONTROL=y
+CONFIG_SYS_PROMPT="STV0991> "
index 86afe886cc55a73c3412710750f4bd25f3538248..816092d8c941bec74266445f242040d0617ba155 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_STXGP3=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="GPPP=> "
index c0724174aae92f9702d052e9542e6fd4e437e122..ec812c1c8e64f4eeeb76a4effbb48dad2a84362b 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_STXSSA=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="SSA=> "
index ae4b49b21c55a4a744ded8c7eff6cbff2a99fe3d..779f40064138bb4a51436da7dc97139520b62d3b 100644 (file)
@@ -7,3 +7,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="TAO-3530 # "
index 3787493330f28f3cf8ea398d8de342860b9811d9..838d0ed378f56093f226abc71a6d524dc7fc72f6 100644 (file)
@@ -11,3 +11,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,MACH_TYPE=2067,BOARD_TAURUS"
 # CONFIG_CMD_SOURCE is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot> "
index cc8f527f4c83e4fe645ea4b46bf6d6dc8a38c452..acd1f3a904d92094b89b2e4e78bb248f906024c7 100644 (file)
@@ -14,3 +14,4 @@ CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_SERIAL=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="[tb100]:~# "
index f0e5106e8c14f5f4bbb0bbe3a632daf282265741..745d32edd53eb7b720080a05254588c9192f4eb2 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q2g.cfg,
 # CONFIG_CMD_FLASH is not set
 CONFIG_DM=y
 CONFIG_DM_THERMAL=y
+CONFIG_SYS_PROMPT="Matrix U-Boot> "
index e731205f7627fc3fffc58ed753a7e0894c3fc73f..4e8f5c6b33fcb2097ce339eefecf2f68758882f8 100644 (file)
@@ -14,3 +14,4 @@ CONFIG_SPI_FLASH=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Tegra30 (TEC-NG) # "
index 3f815fe5bc509930ba06df465d876fe274382b50..84fa0be14fd895a0fd8c5e9d8b2988601ced3cd1 100644 (file)
@@ -13,3 +13,4 @@ CONFIG_SPL_DM=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Tegra20 (TEC) # "
index 8192b28a5809522cd04200e7e6abc98a81b7c459..e2a6b0ca4261769b83054c8708a63a99ba2a09b2 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot# "
index ade4ea229fb3539e7bed9b9b0b68649083fd5347..f7d1e11fb17c40d2e986e1041752143cbf0b59ed 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot# "
index 67e5e601af9feabc0c22e0f391991182a9e2b04c..1fd27193b72a545b9f4104e400e9be95b06fcef0 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="u-boot/ti816x# "
index e892d3ed090007abf904db7728d4af6b10c40401..d286fd61fe772a4778bacc5b522e85f9f7058463 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/barco/titanium/imximage.cfg"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="Titanium > "
index f3cbe6d150288df720a9b7a901480f90944f90fd..f0dd2b9fa292203036d27cdc810d964bce812912 100644 (file)
@@ -13,3 +13,4 @@ CONFIG_OF_CONTROL=y
 CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_SYS_PROMPT="Trats2 # "
index 6553edbc6dcc4d6a0f5c09d17a523aa4e789217c..6412f31f8a8b493c1ee443960406d0aa8c893f87 100644 (file)
@@ -12,3 +12,4 @@ CONFIG_OF_CONTROL=y
 CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_SYS_PROMPT="Trats # "
index cbd4dd31f909aa148645b66f42311f6cdfa8d35a..1da9e94f67243b9c54927ddc6a2c496dc823028f 100644 (file)
@@ -9,3 +9,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="OMAP3 Tricorder # "
index 9d2fb2d214579a4b76dcc75825b198e962e12f78..a1bcb1110f221d5004ad80e3a133850e84a2ce34 100644 (file)
@@ -14,3 +14,4 @@ CONFIG_SPI_FLASH=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Tegra20 (TrimSlice) # "
index 9ed13b603624e60977c8c512687f6653898f2591..a083ee07e28b467ebd8cc9f2b304b7ff14a4d3cc 100644 (file)
@@ -14,3 +14,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,EMMC_BOOT"
 # CONFIG_CMD_ITEST is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="U-Boot (BuR V2.0)# "
index 0b577edc355919a1837c4a075fce53c6efa3362a..aa66a0eda8045f77bcb673eccb716d1b087bd902 100644 (file)
@@ -14,3 +14,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND"
 # CONFIG_CMD_ITEST is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="U-Boot (BuR V2.0)# "
index 1602a43b4d77d9955049d37f8e0cc45bda88e367..1cb90d602acae4c4f9a340cd984b86f7b0aa1b6c 100644 (file)
@@ -15,3 +15,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,SPI_BOOT,EMMC_BOOT"
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="U-Boot (BuR V2.0)# "
index d23904d2966cd225f19ac7867907548e41bbb5a5..08f9f7bdca66c3c0040307036be71fe46c1b1003 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_ARM=y
 CONFIG_TARGET_TT01=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="TT01> "
index 7381665cf6c970622ce13a2ef44201f89104a16f..c3edd343fb14b7a743ea898b6acd830b7fe02ffe 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="twister => "
index 5a82ca8c7b9439361c86850cfef874e40f95634a..0aebc7846d9305bf9d9e44acf9ef6e8f846099f5 100644 (file)
@@ -10,3 +10,4 @@ CONFIG_TARGET_U8500_HREF=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="U8500 $ "
index 5f3974e6a18932c8d4d988e677ee2c2b4fca4df4..8cf3c4c130685c65abc5a6239715d0aa654062db 100644 (file)
@@ -10,3 +10,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_DATAFLASH"
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_ITEST is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index 8173f3ee914509e56f847793b6f87e97b7af37f3..e77dce91600b30c9f7fec5ad259b302f4ac3717e 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x041000
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="v5fx30t:/# "
index 81cf28011a7c1128fb7a2ccb8bfd38c6b64683f4..9a46dcb59146d69b056a44a284e045d5379ae9fe 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_TARGET_VCT=y
 CONFIG_VCT_PLATINUM=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="$ "
index 8d91aa58c6a57fa26d302bafef4dcceea1bea124..8c8d69a17f298fc1d96e808391b133a80e8e6155 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_VCT_ONENAND=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="$ "
index 6eaec0cbbd33353a7e240ee712cd18d5f8586fa2..4e6cbc742211fef47a2411463c14b486c7a44fec 100644 (file)
@@ -17,3 +17,4 @@ CONFIG_VCT_SMALL_IMAGE=y
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="$ "
index 088ab7e79a2e54a40ca73a4d5965494f7d39995b..f8968223af5ed3ce7fb61a8cac0d4431a4dbc522 100644 (file)
@@ -14,3 +14,4 @@ CONFIG_VCT_SMALL_IMAGE=y
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="$ "
index faeb6a2af7120739746c58ef7677f42bac17b91c..6e867b2d7a125b6620a2f77618b5a2044cec0d88 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_VCT_PLATINUMAVC=y
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="VCT# "
index 900a626b60b92df8efac1a05341ee8282b630623..55f8c91e2fabb56cc9779030cbcb63c5c83228ac 100644 (file)
@@ -8,3 +8,4 @@ CONFIG_VCT_ONENAND=y
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="$ "
index e9928a06a4db021e31f739954deba400e3e7969a..343ab8f7ac76cfff3c7e037c689e9aa5fd3e346b 100644 (file)
@@ -17,3 +17,4 @@ CONFIG_VCT_SMALL_IMAGE=y
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="$ "
index 719bd6403abb598937e6a91e3526a60f3427d6f3..b4acc4aa79ab1d809b163acea5fbfdd5d021603c 100644 (file)
@@ -14,3 +14,4 @@ CONFIG_VCT_SMALL_IMAGE=y
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="$ "
index 7b04e7cb7a04e54b12a1313cca88c66e7f409d1e..d71dd53e92f8b7445bb6ea2fcd8439ec60be2967 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_TARGET_VCT=y
 CONFIG_VCT_PREMIUM=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="$ "
index 769f8bdd70127e932ba011724fc4ff7a22f8aa80..6923db8366d9db475386852e85b38dfaa6d25421 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_VCT_ONENAND=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="$ "
index c062a01b75c16c983dd88cc02dd465f4815d9f8e..04a2855c03c77063707e1b6bac75a8436a487e2e 100644 (file)
@@ -17,3 +17,4 @@ CONFIG_VCT_SMALL_IMAGE=y
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="$ "
index 4a5cdb0a34a22397d39be70b7acfdde2ec3cb598..265a6a5a2717fdd33e52017a4bd1d8e2dc3830c7 100644 (file)
@@ -14,3 +14,4 @@ CONFIG_VCT_SMALL_IMAGE=y
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="$ "
index a4735f63922f880d98428eeb80fc549eb4939952..73a25586c6686fd651971b9b79bda347d953a7f7 100644 (file)
@@ -15,3 +15,4 @@ CONFIG_SPI_FLASH=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Tegra124 (Venice2) # "
index f728585d2ce98e0283fc998a23d909ea2096ec31..d3473175cf088c1578510f6bfca36456dd858aaa 100644 (file)
@@ -13,3 +13,4 @@ CONFIG_SPL_DM=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Tegra20 (Ventana) # "
index 765fe6ee232e7a561cfc291414d08b155bccc79d..3dc7d19660b5da9f9b2633977eada50de164d012 100644 (file)
@@ -1,5 +1,4 @@
 CONFIG_ARM=y
-CONFIG_ARCH_VERSATILE=y
 CONFIG_SYS_EXTRA_OPTIONS="ARCH_VERSATILE_AB"
 # CONFIG_CMD_CONSOLE is not set
 # CONFIG_CMD_BOOTD is not set
index 1973c38d4dabe7d58c3f947fa7a4c7f7744c4ebb..9fe83b97c30c7c2f322456d4ddee0675575c885c 100644 (file)
@@ -1,5 +1,4 @@
 CONFIG_ARM=y
-CONFIG_ARCH_VERSATILE=y
 CONFIG_SYS_EXTRA_OPTIONS="ARCH_VERSATILE_PB"
 # CONFIG_CMD_CONSOLE is not set
 # CONFIG_CMD_BOOTD is not set
index ea9c5b93f2ec662f45c4be294abe93c123f6f5f3..9ddef4d9bdd63a38f8497efe6a5d1326042c40ea 100644 (file)
@@ -1,5 +1,4 @@
 CONFIG_ARM=y
-CONFIG_ARCH_VERSATILE=y
 CONFIG_SYS_EXTRA_OPTIONS="ARCH_VERSATILE_QEMU,ARCH_VERSATILE_PB"
 # CONFIG_CMD_CONSOLE is not set
 # CONFIG_CMD_BOOTD is not set
index 0baaa91fa32dd4c05be7909fa1a88828bbc67f87..3390f0e1b78f5f9378dbaffb53158297a799b2c3 100644 (file)
@@ -15,3 +15,4 @@ CONFIG_DEFAULT_DEVICE_TREE="vexpress64"
 # CONFIG_CMD_MISC is not set
 CONFIG_DM=y
 CONFIG_DM_SERIAL=y
+CONFIG_SYS_PROMPT="VExpress64# "
index bf5576a5d026b017ffba7480ec0584b24ffaea9a..9890e641e17d0135e63d6c695e3cf209333bec2f 100644 (file)
@@ -16,3 +16,4 @@ CONFIG_DEFAULT_DEVICE_TREE="vexpress64"
 # CONFIG_CMD_MISC is not set
 CONFIG_DM=y
 CONFIG_DM_SERIAL=y
+CONFIG_SYS_PROMPT="VExpress64# "
index afe3b3c22f4f0bc3b73541432b3192d8a74a09ce..962dc5b2a0b7913c7f9b61b8864c12871aba5f40 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/ttcontrol/vision2/imximage_hynix.cfg"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_PROMPT="Vision II U-boot > "
index 7a66783acca9b3b5a22190209d171e75ddfcf8d6..c908c6e7fd1f00b416a263cc0fc9d1329bf5d306 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_TARGET_VL_MA2SC=y
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="U-Boot> "
index bbc6e6a95792ea99d6f5f1a39d183ef47bef8e90..1d116533abc390fbb5cd40e91dee3259e33a1159 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_TARGET_VPAC270=y
 CONFIG_SYS_EXTRA_OPTIONS="NOR,RAM_128M"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="$ "
index 3f1ae1ec45d1b3da44c57f15871516eb89523cd9..bcd10065b4fce8eb2d755ce45e50a5decf1a4cd6 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_TARGET_VPAC270=y
 CONFIG_SYS_EXTRA_OPTIONS="NOR,RAM_256M"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="$ "
index 7500b7c9744a761fb70fa8e01568b1c3834c3f65..d98981916ac631fbffc1138ad5890e244c35a1b8 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="ONENAND,RAM_256M"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="$ "
index 43d725bae93fef114e5d09d16a70da0041e0966f..e3ce9fd359528faa20528eace826bc3e16d01d7a 100644 (file)
@@ -13,3 +13,4 @@ CONFIG_SPL_DM=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_SYS_PROMPT="Tegra20 (Whistler) # "
index 5551d27d6cb686c6024a8e5e16bfe5c3d9206589..63013f61a3c58d46f8d88fefc9a24de5e26dae36 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_TARGET_WIRELESS_SPACE=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+ONFIG_SYS_PROMPT="ws> "
index 8dcf3e1f5cb1089261eb027ddec3d9457328d916..3b463c13434860ef8aa93c2c6b1adbfeb1e0d190 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_ARM=y
 CONFIG_TARGET_WOODBURN=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="woodburn U-Boot > "
index 96a00b326b637dc87cb1d6900596a6e6163a8c67..59f2ad0ce5eedb6a3d9c3425c2be66415c6982cf 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_TARGET_WOODBURN_SD=y
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/woodburn/imximage.cfg"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="woodburn U-Boot > "
index fdd4d3b71f300636ac47e24a524a1ce3a4f8ed8e..6be6cc36b6da8a124faab614506411887317285f 100644 (file)
@@ -7,3 +7,4 @@ CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_PROMPT="X600> "
index 9dae75587c3fea43b778f11d2e4dc4c0ec387bfc..98030d0a5d6b6f8577e1aeb70886af8e2b85fc09 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x041000
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="xlx-ppc405:/# "
index 398362b932f7768e05ac7088046c4511e44956f7..de6977307e362f242391b67a8dc02123fa01a520 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x041000
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="board:/# "
index fda44eaee04cc7209e4594e312a28485a3457f18..9c4d8721388fabb71be91abb3dfe2cf16db99cc1 100644 (file)
@@ -16,3 +16,5 @@ CONFIG_DEFAULT_DEVICE_TREE="zynqmp-ep"
 CONFIG_CMD_TIME=y
 CONFIG_CMD_TIMER=y
 CONFIG_SYS_TEXT_BASE=0x8000000
+CONFIG_SYS_PROMPT="ZynqMP> "
+
index 3591849b351d4dafb5fdb6030c0e57246f14f490..2977ccc8ddee8a17cb13ffe7c7653c906cadcd3e 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_TARGET_ZIPITZ2=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_PROMPT="$ "
index a34e82718dd84200b82d90b9ebe299b2192bb61d..c759cdfbefbdca045bd242c761f4fe8abec6e2e9 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_AUTOBOOT_PROMPT="boot in %d s\n"
 CONFIG_AUTOBOOT_DELAY_STR="delaygs"
 CONFIG_AUTOBOOT_STOP_STR="stopgs"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_PROMPT="zmx25> "
index 68b02a8e749b79a768e92f937be9c546ddc0e884..2cf4b9de8bad8880f3c78504401aa4a76c9d34c8 100644 (file)
@@ -15,15 +15,8 @@ For the node name e.g.: "prefix[:alpha:]num { ... }":
 
 Example the prefix "ldo" will pass for: "ldo1", "ldo@1", "LDO1", "LDOREG@1"...
 
-Required properties:
-- regulator-name: a string, required by the regulator uclass
-
-Note
-The "regulator-name" constraint is used for setting the device's uclass
-platform data '.name' field. And the regulator device name is set from
-it's node name.
-
 Optional properties:
+- regulator-name: a string, required by the regulator uclass
 - regulator-min-microvolt: a minimum allowed Voltage value
 - regulator-max-microvolt: a maximum allowed Voltage value
 - regulator-min-microamp: a minimum allowed Current value
@@ -31,6 +24,12 @@ Optional properties:
 - regulator-always-on: regulator should never be disabled
 - regulator-boot-on: enabled by bootloader/firmware
 
+Note
+The "regulator-name" constraint is used for setting the device's uclass
+platform data '.name' field. And the regulator device name is set from
+it's node name. If "regulator-name" is not provided in dts, node name
+is chosen for setting the device's uclass platform data '.name' field.
+
 Other kernel-style properties, are currently not used.
 
 Note:
@@ -41,10 +40,8 @@ For the regulator autoset from constraints, the framework expects that:
 
 Example:
 ldo0 {
-       /* Mandatory */
-       regulator-name = "VDDQ_EMMC_1.8V";
-
        /* Optional */
+       regulator-name = "VDDQ_EMMC_1.8V";
        regulator-min-microvolt = <1800000>;
        regulator-max-microvolt = <1800000>;
        regulator-min-microamp = <100000>;
index c82b5645cdfd86dface18dac4959980b3c2361c4..788f8b739bf40f8aca95f98466f9a3f77f03639e 100644 (file)
@@ -1,3 +1,5 @@
+menu "Generic Driver Options"
+
 config DM
        bool "Enable Driver Model"
        help
@@ -102,3 +104,5 @@ config DEBUG_DEVRES
          debug resource management for a managed device.
 
          If you are unsure about this, Say N here.
+
+endmenu
index bd26a2bcfa286d9fd6b80b60cbd7ee9cc4c63ac8..1ea116be7503b7e3054fc72fe48fb2afd563bb58 100644 (file)
@@ -1 +1,5 @@
+menu "Hardware crypto devices"
+
 source drivers/crypto/fsl/Kconfig
+
+endmenu
index 4aa91e4393192d6ae9e5b5a98905b702013790c6..fd736cf3bea98d3af4e7f88a9fdf5a74a5884af8 100644 (file)
@@ -1,9 +1,7 @@
 #
 # Copyright 2014 Freescale Semiconductor, Inc.
 #
-# 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.
+# SPDX-License-Identifier:     GPL-2.0+
 #
 
 obj-y += sec.o
index 7a8ce185551d05382d741dea3cfe35a097f7f354..98bb6333c1c0ef5f1874b3ac611351aed2402b1e 100644 (file)
@@ -1,3 +1,5 @@
+menu "Demo for driver model"
+
 config DM_DEMO
        bool "Enable demo uclass support"
        depends on DM
@@ -24,3 +26,5 @@ config DM_DEMO_SHAPE
          a shape when the 'demo hello' command is executed which targets
          this device. It can be used to help understand how driver model
          works.
+
+endmenu
index 0c43777cef9dacdeb5d878a3500d4de35450b2b8..5934597c4ed0b22df0dfdd6631f2be4738fa0e93 100644 (file)
@@ -1,3 +1,9 @@
+#
+# GPIO infrastructure and drivers
+#
+
+menu "GPIO Support"
+
 config DM_GPIO
        bool "Enable Driver Model for GPIO drivers"
        depends on DM
@@ -42,3 +48,5 @@ config VYBRID_GPIO
        default n
        help
          Say yes here to support Vybrid vf610 GPIOs.
+
+endmenu
index 67c6374d4736451843ed8906958bcc753e52fb91..26f2574c1cbbb99df658502dadff1f81578ef3cb 100644 (file)
@@ -42,3 +42,5 @@ obj-$(CONFIG_LPC32XX_GPIO)    += lpc32xx_gpio.o
 obj-$(CONFIG_STM32_GPIO)       += stm32_gpio.o
 obj-$(CONFIG_ZYNQ_GPIO)                += zynq_gpio.o
 obj-$(CONFIG_VYBRID_GPIO)      += vybrid_gpio.o
+obj-$(CONFIG_HIKEY_GPIO)       += hi6220_gpio.o
+
diff --git a/drivers/gpio/hi6220_gpio.c b/drivers/gpio/hi6220_gpio.c
new file mode 100644 (file)
index 0000000..3f41bff
--- /dev/null
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2015 Linaro
+ * Peter Griffin <peter.griffin@linaro.org>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <asm/gpio.h>
+#include <asm/io.h>
+#include <errno.h>
+
+static int hi6220_gpio_direction_input(struct udevice *dev, unsigned int gpio)
+{
+       struct gpio_bank *bank = dev_get_priv(dev);
+       u8 data;
+
+       data = readb(bank->base + HI6220_GPIO_DIR);
+       data &= ~(1 << gpio);
+       writeb(data, bank->base + HI6220_GPIO_DIR);
+
+       return 0;
+}
+
+static int hi6220_gpio_set_value(struct udevice *dev, unsigned gpio,
+                                 int value)
+{
+       struct gpio_bank *bank = dev_get_priv(dev);
+
+       writeb(!!value << gpio, bank->base + (BIT(gpio + 2)));
+       return 0;
+}
+
+static int hi6220_gpio_direction_output(struct udevice *dev, unsigned gpio,
+                                       int value)
+{
+       struct gpio_bank *bank = dev_get_priv(dev);
+       u8 data;
+
+       data = readb(bank->base + HI6220_GPIO_DIR);
+       data |= 1 << gpio;
+       writeb(data, bank->base + HI6220_GPIO_DIR);
+
+       hi6220_gpio_set_value(dev, gpio, value);
+
+       return 0;
+}
+
+static int hi6220_gpio_get_value(struct udevice *dev, unsigned gpio)
+{
+       struct gpio_bank *bank = dev_get_priv(dev);
+
+       return !!readb(bank->base + (BIT(gpio + 2)));
+}
+
+
+
+static const struct dm_gpio_ops gpio_hi6220_ops = {
+       .direction_input        = hi6220_gpio_direction_input,
+       .direction_output       = hi6220_gpio_direction_output,
+       .get_value              = hi6220_gpio_get_value,
+       .set_value              = hi6220_gpio_set_value,
+};
+
+static int hi6220_gpio_probe(struct udevice *dev)
+{
+       struct gpio_bank *bank = dev_get_priv(dev);
+       struct hikey_gpio_platdata *plat = dev_get_platdata(dev);
+       struct gpio_dev_priv *uc_priv = dev->uclass_priv;
+       char name[18], *str;
+
+       sprintf(name, "GPIO%d_", plat->bank_index);
+
+       str = strdup(name);
+       if (!str)
+               return -ENOMEM;
+
+       uc_priv->bank_name = str;
+       uc_priv->gpio_count = HI6220_GPIO_PER_BANK;
+
+       bank->base = (u8 *)plat->base;
+
+       return 0;
+}
+
+U_BOOT_DRIVER(gpio_hi6220) = {
+       .name   = "gpio_hi6220",
+       .id     = UCLASS_GPIO,
+       .ops    = &gpio_hi6220_ops,
+       .probe  = hi6220_gpio_probe,
+       .priv_auto_alloc_size = sizeof(struct gpio_bank),
+};
+
+
index 0a1e12419b0ed8071891f681b5c72b92f023e9d2..cd960dc013f0f128be8d625aab83996e3863eb65 100644 (file)
  */
 #include <common.h>
 #include <dm.h>
+#include <fdtdec.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/errno.h>
+#include <malloc.h>
+
+DECLARE_GLOBAL_DATA_PTR;
 
 #define OMAP_GPIO_DIR_OUT      0
 #define OMAP_GPIO_DIR_IN       1
@@ -34,7 +38,6 @@
 struct gpio_bank {
        /* TODO(sjg@chromium.org): Can we use a struct here? */
        void *base;     /* address of registers in physical memory */
-       enum gpio_method method;
 };
 
 #endif
@@ -55,13 +58,8 @@ static void _set_gpio_direction(const struct gpio_bank *bank, int gpio,
        void *reg = bank->base;
        u32 l;
 
-       switch (bank->method) {
-       case METHOD_GPIO_24XX:
-               reg += OMAP_GPIO_OE;
-               break;
-       default:
-               return;
-       }
+       reg += OMAP_GPIO_OE;
+
        l = __raw_readl(reg);
        if (is_input)
                l |= 1 << gpio;
@@ -79,13 +77,7 @@ static int _get_gpio_direction(const struct gpio_bank *bank, int gpio)
        void *reg = bank->base;
        u32 v;
 
-       switch (bank->method) {
-       case METHOD_GPIO_24XX:
-               reg += OMAP_GPIO_OE;
-               break;
-       default:
-               return -1;
-       }
+       reg += OMAP_GPIO_OE;
 
        v = __raw_readl(reg);
 
@@ -101,19 +93,12 @@ static void _set_gpio_dataout(const struct gpio_bank *bank, int gpio,
        void *reg = bank->base;
        u32 l = 0;
 
-       switch (bank->method) {
-       case METHOD_GPIO_24XX:
-               if (enable)
-                       reg += OMAP_GPIO_SETDATAOUT;
-               else
-                       reg += OMAP_GPIO_CLEARDATAOUT;
-               l = 1 << gpio;
-               break;
-       default:
-               printf("omap3-gpio unknown bank method %s %d\n",
-                      __FILE__, __LINE__);
-               return;
-       }
+       if (enable)
+               reg += OMAP_GPIO_SETDATAOUT;
+       else
+               reg += OMAP_GPIO_CLEARDATAOUT;
+
+       l = 1 << gpio;
        __raw_writel(l, reg);
 }
 
@@ -122,19 +107,13 @@ static int _get_gpio_value(const struct gpio_bank *bank, int gpio)
        void *reg = bank->base;
        int input;
 
-       switch (bank->method) {
-       case METHOD_GPIO_24XX:
-               input = _get_gpio_direction(bank, gpio);
-               switch (input) {
-               case OMAP_GPIO_DIR_IN:
-                       reg += OMAP_GPIO_DATAIN;
-                       break;
-               case OMAP_GPIO_DIR_OUT:
-                       reg += OMAP_GPIO_DATAOUT;
-                       break;
-               default:
-                       return -1;
-               }
+       input = _get_gpio_direction(bank, gpio);
+       switch (input) {
+       case OMAP_GPIO_DIR_IN:
+               reg += OMAP_GPIO_DATAIN;
+               break;
+       case OMAP_GPIO_DIR_OUT:
+               reg += OMAP_GPIO_DATAOUT;
                break;
        default:
                return -1;
@@ -310,24 +289,56 @@ static int omap_gpio_probe(struct udevice *dev)
        struct gpio_bank *bank = dev_get_priv(dev);
        struct omap_gpio_platdata *plat = dev_get_platdata(dev);
        struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
-       char name[18], *str;
 
-       sprintf(name, "GPIO%d_", plat->bank_index);
-       str = strdup(name);
-       if (!str)
-               return -ENOMEM;
-       uc_priv->bank_name = str;
+       uc_priv->bank_name = plat->port_name;
        uc_priv->gpio_count = GPIO_PER_BANK;
        bank->base = (void *)plat->base;
-       bank->method = plat->method;
 
        return 0;
 }
 
+static int omap_gpio_bind(struct udevice *dev)
+{
+       struct omap_gpio_platdata *plat = dev->platdata;
+       fdt_addr_t base_addr;
+
+       if (plat)
+               return 0;
+
+       base_addr = dev_get_addr(dev);
+       if (base_addr == FDT_ADDR_T_NONE)
+               return -ENODEV;
+
+       /*
+       * TODO:
+       * When every board is converted to driver model and DT is
+       * supported, this can be done by auto-alloc feature, but
+       * not using calloc to alloc memory for platdata.
+       */
+       plat = calloc(1, sizeof(*plat));
+       if (!plat)
+               return -ENOMEM;
+
+       plat->base = base_addr;
+       plat->port_name = fdt_get_name(gd->fdt_blob, dev->of_offset, NULL);
+       dev->platdata = plat;
+
+       return 0;
+}
+
+static const struct udevice_id omap_gpio_ids[] = {
+       { .compatible = "ti,omap3-gpio" },
+       { .compatible = "ti,omap4-gpio" },
+       { .compatible = "ti,am4372-gpio" },
+       { }
+};
+
 U_BOOT_DRIVER(gpio_omap) = {
        .name   = "gpio_omap",
        .id     = UCLASS_GPIO,
        .ops    = &gpio_omap_ops,
+       .of_match = omap_gpio_ids,
+       .bind   = omap_gpio_bind,
        .probe  = omap_gpio_probe,
        .priv_auto_alloc_size = sizeof(struct gpio_bank),
 };
index 9a62ddd9ca28dffe69dd78cfd10d4d4941a9ceb9..c40bd5c1e069749b5d06aac02b89e12f2d2789b6 100644 (file)
@@ -1,3 +1,9 @@
+#
+# I2C subsystem configuration
+#
+
+menu "I2C support"
+
 config DM_I2C
        bool "Enable Driver Model for I2C drivers"
        depends on DM
@@ -99,3 +105,5 @@ config SYS_I2C_UNIPHIER_F
          This I2C controller is used on PH1-Pro4 or newer UniPhier SoCs.
 
 source "drivers/i2c/muxes/Kconfig"
+
+endmenu
index a8e9be2f7fd28787c3dd76fb9ca0f68da9f2c898..24fec9b83ef1e6ea6d8a773775c31b7d7949c098 100644 (file)
@@ -7,6 +7,7 @@
 
 obj-$(CONFIG_I8042_KBD) += i8042.o
 obj-$(CONFIG_TEGRA_KEYBOARD) += tegra-kbc.o
+obj-$(CONFIG_TWL4030_INPUT) += twl4030.o
 obj-$(CONFIG_CROS_EC_KEYB) += cros_ec_keyb.o
 ifdef CONFIG_PS2KBD
 obj-y += keyboard.o pc_keyb.o
diff --git a/drivers/input/twl4030.c b/drivers/input/twl4030.c
new file mode 100644 (file)
index 0000000..dc5868c
--- /dev/null
@@ -0,0 +1,88 @@
+/*
+ * TWL4030 input
+ *
+ * Copyright (C) 2015 Paul Kocialkowski <contact@paulk.fr>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <twl4030.h>
+
+int twl4030_input_power_button(void)
+{
+       u8 data;
+
+       twl4030_i2c_read_u8(TWL4030_CHIP_PM_MASTER,
+                           TWL4030_PM_MASTER_STS_HW_CONDITIONS, &data);
+
+       if (data & TWL4030_PM_MASTER_STS_HW_CONDITIONS_PWON)
+               return 1;
+
+       return 0;
+}
+
+int twl4030_input_charger(void)
+{
+       u8 data;
+
+       twl4030_i2c_read_u8(TWL4030_CHIP_PM_MASTER,
+                           TWL4030_PM_MASTER_STS_HW_CONDITIONS, &data);
+
+       if (data & TWL4030_PM_MASTER_STS_HW_CONDITIONS_CHG)
+               return 1;
+
+       return 0;
+}
+
+int twl4030_input_usb(void)
+{
+       u8 data;
+
+       twl4030_i2c_read_u8(TWL4030_CHIP_PM_MASTER,
+                           TWL4030_PM_MASTER_STS_HW_CONDITIONS, &data);
+
+       if (data & TWL4030_PM_MASTER_STS_HW_CONDITIONS_USB ||
+           data & TWL4030_PM_MASTER_STS_HW_CONDITIONS_VBUS)
+               return 1;
+
+       return 0;
+}
+
+int twl4030_keypad_scan(unsigned char *matrix)
+{
+       u8 data;
+       u8 c, r;
+
+       twl4030_i2c_read_u8(TWL4030_CHIP_KEYPAD,
+                           TWL4030_KEYPAD_KEYP_CTRL_REG, &data);
+
+       data |= TWL4030_KEYPAD_CTRL_SOFT_NRST | TWL4030_KEYPAD_CTRL_KBD_ON;
+       data &= ~TWL4030_KEYPAD_CTRL_SOFTMODEN;
+
+       twl4030_i2c_write_u8(TWL4030_CHIP_KEYPAD,
+                            TWL4030_KEYPAD_KEYP_CTRL_REG, data);
+
+       for (c = 0; c < 8; c++) {
+               data = 0xff & ~(1 << c);
+               twl4030_i2c_write_u8(TWL4030_CHIP_KEYPAD,
+                                    TWL4030_KEYPAD_KBC_REG, data);
+
+               data = 0xff;
+               twl4030_i2c_read_u8(TWL4030_CHIP_KEYPAD,
+                                   TWL4030_KEYPAD_KBR_REG, &data);
+
+               for (r = 0; r < 8; r++)
+                       matrix[c * 8 + r] = !(data & (1 << r));
+       }
+
+       data = 0xff & ~(TWL4030_KEYPAD_CTRL_SOFT_NRST);
+       twl4030_i2c_write_u8(TWL4030_CHIP_KEYPAD,
+                            TWL4030_KEYPAD_KEYP_CTRL_REG, data);
+
+       return 0;
+}
+
+int twl4030_keypad_key(unsigned char *matrix, u8 c, u8 r)
+{
+       return matrix[c * 8 + r];
+}
index de5feea8dd3df15cb5418b844ae9979b4aecaccb..b21bc9474837f0917b6a3b1e8a84b1b612fa7cd8 100644 (file)
@@ -1,3 +1,5 @@
+menu "LED Support"
+
 config LED
        bool "Enable LED support"
        depends on DM
@@ -24,3 +26,5 @@ config LED_GPIO
          GPIOs may be on the SoC or some other device which provides GPIOs.
          The GPIO driver must used driver model. LEDs are configured using
          the device tree.
+
+endmenu
index 3b7f76ab78753c9ca6f2252b6130f536ffe3b961..f29a16977426bf60f666cd2ec7816fd3008943e7 100644 (file)
@@ -1,3 +1,9 @@
+#
+# Multifunction miscellaneous devices
+#
+
+menu "Multifunction device drivers"
+
 config CMD_CROS_EC
        bool "Enable crosec command"
        depends on CROS_EC
@@ -82,3 +88,5 @@ config RESET
          Each driver can provide a reset method which will be called to
          effect a reset. The uclass will try all available drivers when
          reset_walk() is called.
+
+endmenu
index 286df2fc7d360f1e615dddaab8c04a62014fbbbb..cae207c303460c7fcca0f04e07c41a96ccf6d960 100644 (file)
@@ -13,6 +13,7 @@ obj-$(CONFIG_BFIN_SDH) += bfin_sdh.o
 obj-$(CONFIG_DAVINCI_MMC) += davinci_mmc.o
 obj-$(CONFIG_DWMMC) += dw_mmc.o
 obj-$(CONFIG_EXYNOS_DWMMC) += exynos_dw_mmc.o
+obj-$(CONFIG_HIKEY_DWMMC) += hi6220_dw_mmc.o
 obj-$(CONFIG_FSL_ESDHC) += fsl_esdhc.o
 obj-$(CONFIG_FTSDC010) += ftsdc010_mci.o
 obj-$(CONFIG_FTSDC021) += ftsdc021_sdhci.o
diff --git a/drivers/mmc/hi6220_dw_mmc.c b/drivers/mmc/hi6220_dw_mmc.c
new file mode 100644 (file)
index 0000000..731458c
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * (C) Copyright 2015 Linaro
+ * peter.griffin <peter.griffin@linaro.org>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <common.h>
+#include <dwmmc.h>
+#include <malloc.h>
+#include <asm-generic/errno.h>
+
+#define        DWMMC_MAX_CH_NUM                4
+
+#define        DWMMC_MAX_FREQ                  50000000
+#define        DWMMC_MIN_FREQ                  400000
+
+/* Source clock is configured to 100MHz by ATF bl1*/
+#define MMC0_DEFAULT_FREQ              100000000
+
+static int hi6220_dwmci_core_init(struct dwmci_host *host, int index)
+{
+       host->name = "HiKey DWMMC";
+
+       host->dev_index = index;
+
+       /* Add the mmc channel to be registered with mmc core */
+       if (add_dwmci(host, DWMMC_MAX_FREQ, DWMMC_MIN_FREQ)) {
+               printf("DWMMC%d registration failed\n", index);
+               return -1;
+       }
+       return 0;
+}
+
+/*
+ * This function adds the mmc channel to be registered with mmc core.
+ * index -     mmc channel number.
+ * regbase -   register base address of mmc channel specified in 'index'.
+ * bus_width - operating bus width of mmc channel specified in 'index'.
+ */
+int hi6220_dwmci_add_port(int index, u32 regbase, int bus_width)
+{
+       struct dwmci_host *host = NULL;
+
+       host = calloc(1, sizeof(struct dwmci_host));
+       if (!host) {
+               error("dwmci_host calloc failed!\n");
+               return -ENOMEM;
+       }
+
+       host->ioaddr = (void *)regbase;
+       host->buswidth = bus_width;
+       host->bus_hz = MMC0_DEFAULT_FREQ;
+
+       return hi6220_dwmci_core_init(host, index);
+}
index 8238a7e8e0087852cc05d882b5d32b60400efec0..d7b388f3f4b2d926a50f062a021bb363bb112445 100644 (file)
@@ -296,7 +296,7 @@ static void mmc_reset_controller_fsm(struct hsmmc *mmc_base, u32 bit)
         *    (reset procedure is completed).
         */
 #if defined(CONFIG_OMAP44XX) || defined(CONFIG_OMAP54XX) || \
-       defined(CONFIG_AM33XX)
+       defined(CONFIG_AM33XX) || defined(CONFIG_AM43XX)
        if (!(readl(&mmc_base->sysctl) & bit)) {
                start = get_timer(0);
                while (!(readl(&mmc_base->sysctl) & bit)) {
@@ -661,8 +661,8 @@ int omap_mmc_init(int dev_index, uint host_caps_mask, uint f_max, int cd_gpio,
        case 1:
                priv_data->base_addr = (struct hsmmc *)OMAP_HSMMC2_BASE;
 #if (defined(CONFIG_OMAP44XX) || defined(CONFIG_OMAP54XX) || \
-     defined(CONFIG_DRA7XX) || defined(CONFIG_AM57XX)) && \
-               defined(CONFIG_HSMMC2_8BIT)
+       defined(CONFIG_DRA7XX) || defined(CONFIG_AM57XX) || \
+       defined(CONFIG_AM43XX)) && defined(CONFIG_HSMMC2_8BIT)
                /* Enable 8-bit interface for eMMC on OMAP4/5 or DRA7XX */
                host_caps_val |= MMC_MODE_8BIT;
 #endif
index b40dda890e8fd0a9586a5213eec822815846f7c6..46dce72bfebe417975a5727a3fdbf6d3981cc451 100644 (file)
@@ -54,6 +54,7 @@ obj-$(CONFIG_NAND_KB9202) += kb9202_nand.o
 obj-$(CONFIG_NAND_KIRKWOOD) += kirkwood_nand.o
 obj-$(CONFIG_NAND_KMETER1) += kmeter1_nand.o
 obj-$(CONFIG_NAND_LPC32XX_MLC) += lpc32xx_nand_mlc.o
+obj-$(CONFIG_NAND_LPC32XX_SLC) += lpc32xx_nand_slc.o
 obj-$(CONFIG_NAND_MPC5121_NFC) += mpc5121_nfc.o
 obj-$(CONFIG_NAND_VF610_NFC) += vf610_nfc.o
 obj-$(CONFIG_NAND_MXC) += mxc_nand.o
index a2016e7945d0f06a6c33bc9703e2bdb33665d998..0d4f327ed71e2196b01e88eeaab1486f7ae0229f 100644 (file)
@@ -1378,9 +1378,7 @@ int spl_nand_erase_one(int block, int page)
        hwctrl(&mtd, (page_addr >> 16) & 0x0f,
               NAND_CTRL_ALE | NAND_CTRL_CHANGE);
 #endif
-
        hwctrl(&mtd, NAND_CMD_ERASE2, NAND_CTRL_CLE | NAND_CTRL_CHANGE);
-       udelay(2000);
 
        while (!this->dev_ready(&mtd))
                ;
diff --git a/drivers/mtd/nand/lpc32xx_nand_slc.c b/drivers/mtd/nand/lpc32xx_nand_slc.c
new file mode 100644 (file)
index 0000000..719a74d
--- /dev/null
@@ -0,0 +1,176 @@
+/*
+ * LPC32xx SLC NAND flash controller driver
+ *
+ * (C) Copyright 2015 Vladimir Zapolskiy <vz@mleia.com>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <common.h>
+#include <nand.h>
+#include <asm/errno.h>
+#include <asm/io.h>
+#include <asm/arch/clk.h>
+#include <asm/arch/sys_proto.h>
+
+struct lpc32xx_nand_slc_regs {
+       u32 data;
+       u32 addr;
+       u32 cmd;
+       u32 stop;
+       u32 ctrl;
+       u32 cfg;
+       u32 stat;
+       u32 int_stat;
+       u32 ien;
+       u32 isr;
+       u32 icr;
+       u32 tac;
+       u32 tc;
+       u32 ecc;
+       u32 dma_data;
+};
+
+/* CFG register */
+#define CFG_CE_LOW             (1 << 5)
+
+/* CTRL register */
+#define CTRL_SW_RESET          (1 << 2)
+
+/* STAT register */
+#define STAT_NAND_READY                (1 << 0)
+
+/* INT_STAT register */
+#define INT_STAT_TC            (1 << 1)
+#define INT_STAT_RDY           (1 << 0)
+
+/* TAC register bits, be aware of overflows */
+#define TAC_W_RDY(n)           (max_t(uint32_t, (n), 0xF) << 28)
+#define TAC_W_WIDTH(n)         (max_t(uint32_t, (n), 0xF) << 24)
+#define TAC_W_HOLD(n)          (max_t(uint32_t, (n), 0xF) << 20)
+#define TAC_W_SETUP(n)         (max_t(uint32_t, (n), 0xF) << 16)
+#define TAC_R_RDY(n)           (max_t(uint32_t, (n), 0xF) << 12)
+#define TAC_R_WIDTH(n)         (max_t(uint32_t, (n), 0xF) << 8)
+#define TAC_R_HOLD(n)          (max_t(uint32_t, (n), 0xF) << 4)
+#define TAC_R_SETUP(n)         (max_t(uint32_t, (n), 0xF) << 0)
+
+static struct lpc32xx_nand_slc_regs __iomem *lpc32xx_nand_slc_regs
+       = (struct lpc32xx_nand_slc_regs __iomem *)SLC_NAND_BASE;
+
+static void lpc32xx_nand_init(void)
+{
+       uint32_t hclk = get_hclk_clk_rate();
+
+       /* Reset SLC NAND controller */
+       writel(CTRL_SW_RESET, &lpc32xx_nand_slc_regs->ctrl);
+
+       /* 8-bit bus, no DMA, no ECC, ordinary CE signal */
+       writel(0, &lpc32xx_nand_slc_regs->cfg);
+
+       /* Interrupts disabled and cleared */
+       writel(0, &lpc32xx_nand_slc_regs->ien);
+       writel(INT_STAT_TC | INT_STAT_RDY,
+              &lpc32xx_nand_slc_regs->icr);
+
+       /* Configure NAND flash timings */
+       writel(TAC_W_RDY(CONFIG_LPC32XX_NAND_SLC_WDR_CLKS) |
+              TAC_W_WIDTH(hclk / CONFIG_LPC32XX_NAND_SLC_WWIDTH) |
+              TAC_W_HOLD(hclk / CONFIG_LPC32XX_NAND_SLC_WHOLD) |
+              TAC_W_SETUP(hclk / CONFIG_LPC32XX_NAND_SLC_WSETUP) |
+              TAC_R_RDY(CONFIG_LPC32XX_NAND_SLC_RDR_CLKS) |
+              TAC_R_WIDTH(hclk / CONFIG_LPC32XX_NAND_SLC_RWIDTH) |
+              TAC_R_HOLD(hclk / CONFIG_LPC32XX_NAND_SLC_RHOLD) |
+              TAC_R_SETUP(hclk / CONFIG_LPC32XX_NAND_SLC_RSETUP),
+              &lpc32xx_nand_slc_regs->tac);
+}
+
+static void lpc32xx_nand_cmd_ctrl(struct mtd_info *mtd,
+                                 int cmd, unsigned int ctrl)
+{
+       debug("ctrl: 0x%08x, cmd: 0x%08x\n", ctrl, cmd);
+
+       if (ctrl & NAND_NCE)
+               setbits_le32(&lpc32xx_nand_slc_regs->cfg, CFG_CE_LOW);
+       else
+               clrbits_le32(&lpc32xx_nand_slc_regs->cfg, CFG_CE_LOW);
+
+       if (cmd == NAND_CMD_NONE)
+               return;
+
+       if (ctrl & NAND_CLE)
+               writel(cmd & 0xFF, &lpc32xx_nand_slc_regs->cmd);
+       else if (ctrl & NAND_ALE)
+               writel(cmd & 0xFF, &lpc32xx_nand_slc_regs->addr);
+}
+
+static int lpc32xx_nand_dev_ready(struct mtd_info *mtd)
+{
+       return readl(&lpc32xx_nand_slc_regs->stat) & STAT_NAND_READY;
+}
+
+static void lpc32xx_read_buf(struct mtd_info *mtd, uint8_t *buf, int len)
+{
+       while (len-- > 0)
+               *buf++ = readl(&lpc32xx_nand_slc_regs->data);
+}
+
+static uint8_t lpc32xx_read_byte(struct mtd_info *mtd)
+{
+       return readl(&lpc32xx_nand_slc_regs->data);
+}
+
+static void lpc32xx_write_buf(struct mtd_info *mtd, const uint8_t *buf, int len)
+{
+       while (len-- > 0)
+               writel(*buf++, &lpc32xx_nand_slc_regs->data);
+}
+
+static void lpc32xx_write_byte(struct mtd_info *mtd, uint8_t byte)
+{
+       writel(byte, &lpc32xx_nand_slc_regs->data);
+}
+
+/*
+ * LPC32xx has only one SLC NAND controller, don't utilize
+ * CONFIG_SYS_NAND_SELF_INIT to be able to reuse this function
+ * both in SPL NAND and U-boot images.
+ */
+int board_nand_init(struct nand_chip *lpc32xx_chip)
+{
+       lpc32xx_chip->cmd_ctrl  = lpc32xx_nand_cmd_ctrl;
+       lpc32xx_chip->dev_ready = lpc32xx_nand_dev_ready;
+
+       /*
+        * Hardware ECC calculation is not supported by the driver,
+        * because it requires DMA support, see LPC32x0 User Manual,
+        * note after SLC_ECC register description (UM10326, p.198)
+        */
+       lpc32xx_chip->ecc.mode = NAND_ECC_SOFT;
+
+       /*
+        * The implementation of these functions is quite common, but
+        * they MUST be defined, because access to data register
+        * is strictly 32-bit aligned.
+        */
+       lpc32xx_chip->read_buf   = lpc32xx_read_buf;
+       lpc32xx_chip->read_byte  = lpc32xx_read_byte;
+       lpc32xx_chip->write_buf  = lpc32xx_write_buf;
+       lpc32xx_chip->write_byte = lpc32xx_write_byte;
+
+       /*
+        * Use default ECC layout, but these values are predefined
+        * for both small and large page NAND flash devices.
+        */
+       lpc32xx_chip->ecc.size     = 256;
+       lpc32xx_chip->ecc.bytes    = 3;
+       lpc32xx_chip->ecc.strength = 1;
+
+#if defined(CONFIG_SYS_NAND_USE_FLASH_BBT)
+       lpc32xx_chip->bbt_options |= NAND_BBT_USE_FLASH;
+#endif
+
+       /* Initialize NAND interface */
+       lpc32xx_nand_init();
+
+       return 0;
+}
index 700ca324e21418bd3416599a2bc9726c007fdf03..e69f66226da3c116f9b367ec664484387ddbfa47 100644 (file)
@@ -115,6 +115,7 @@ static int nand_command(int block, int page, uint32_t offs,
 static int nand_is_bad_block(int block)
 {
        struct nand_chip *this = mtd.priv;
+       u_char bb_data[2];
 
        nand_command(block, 0, CONFIG_SYS_NAND_BAD_BLOCK_POS,
                NAND_CMD_READOOB);
@@ -123,10 +124,12 @@ static int nand_is_bad_block(int block)
         * Read one byte (or two if it's a 16 bit chip).
         */
        if (this->options & NAND_BUSWIDTH_16) {
-               if (readw(this->IO_ADDR_R) != 0xffff)
+               this->read_buf(&mtd, bb_data, 2);
+               if (bb_data[0] != 0xff || bb_data[1] != 0xff)
                        return 1;
        } else {
-               if (readb(this->IO_ADDR_R) != 0xff)
+               this->read_buf(&mtd, bb_data, 1);
+               if (bb_data[0] != 0xff)
                        return 1;
        }
 
index 6ef149aee7887c811dfa90bfc5f50e580685bd46..99c5778334a4350bf1b52b8aeb4ade0095d35c99 100644 (file)
@@ -7,6 +7,7 @@
 
 obj-$(CONFIG_DM_PMIC) += pmic-uclass.o
 obj-$(CONFIG_DM_PMIC_MAX77686) += max77686.o
+obj-$(CONFIG_DM_PMIC_PFUZE100) += pfuze100.o
 obj-$(CONFIG_DM_PMIC_SANDBOX) += sandbox.o i2c_pmic_emul.o
 obj-$(CONFIG_PMIC_TPS65090) += tps65090.o
 obj-$(CONFIG_PMIC_S5M8767) += s5m8767.o
@@ -22,3 +23,4 @@ obj-$(CONFIG_POWER_TPS65217) += pmic_tps65217.o
 obj-$(CONFIG_POWER_TPS65218) += pmic_tps62362.o
 obj-$(CONFIG_POWER_TPS65218) += pmic_tps65218.o
 obj-$(CONFIG_POWER_TPS65910) += pmic_tps65910.o
+obj-$(CONFIG_POWER_HI6553) += pmic_hi6553.o
diff --git a/drivers/power/pmic/pmic_hi6553.c b/drivers/power/pmic/pmic_hi6553.c
new file mode 100644 (file)
index 0000000..0af7987
--- /dev/null
@@ -0,0 +1,133 @@
+/*
+ *  Copyright (C) 2015 Linaro
+ *  Peter Griffin <peter.griffin@linaro.org>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+#include <asm/io.h>
+#include <common.h>
+#include <power/pmic.h>
+#include <power/max8997_muic.h>
+#include <power/hi6553_pmic.h>
+#include <errno.h>
+
+u8 *pmussi_base;
+
+uint8_t hi6553_readb(u32 offset)
+{
+       return readb(pmussi_base + (offset << 2));
+}
+
+void hi6553_writeb(u32 offset, uint8_t value)
+{
+       writeb(value, pmussi_base + (offset << 2));
+}
+
+int pmic_reg_write(struct pmic *p, u32 reg, u32 val)
+{
+       if (check_reg(p, reg))
+               return -1;
+
+       hi6553_writeb(reg, (uint8_t)val);
+
+       return 0;
+}
+
+int pmic_reg_read(struct pmic *p, u32 reg, u32 *val)
+{
+       if (check_reg(p, reg))
+               return -1;
+
+       *val = (u32)hi6553_readb(reg);
+
+       return 0;
+}
+
+static void hi6553_init(void)
+{
+       int data;
+
+       hi6553_writeb(HI6553_PERI_EN_MARK, 0x1e);
+       hi6553_writeb(HI6553_NP_REG_ADJ1, 0);
+       data = HI6553_DISABLE6_XO_CLK_CONN | HI6553_DISABLE6_XO_CLK_NFC |
+               HI6553_DISABLE6_XO_CLK_RF1 | HI6553_DISABLE6_XO_CLK_RF2;
+       hi6553_writeb(HI6553_DISABLE6_XO_CLK, data);
+
+       /* configure BUCK0 & BUCK1 */
+       hi6553_writeb(HI6553_BUCK01_CTRL2, 0x5e);
+       hi6553_writeb(HI6553_BUCK0_CTRL7, 0x10);
+       hi6553_writeb(HI6553_BUCK1_CTRL7, 0x10);
+       hi6553_writeb(HI6553_BUCK0_CTRL5, 0x1e);
+       hi6553_writeb(HI6553_BUCK1_CTRL5, 0x1e);
+       hi6553_writeb(HI6553_BUCK0_CTRL1, 0xfc);
+       hi6553_writeb(HI6553_BUCK1_CTRL1, 0xfc);
+
+       /* configure BUCK2 */
+       hi6553_writeb(HI6553_BUCK2_REG1, 0x4f);
+       hi6553_writeb(HI6553_BUCK2_REG5, 0x99);
+       hi6553_writeb(HI6553_BUCK2_REG6, 0x45);
+       mdelay(1);
+       hi6553_writeb(HI6553_VSET_BUCK2_ADJ, 0x22);
+       mdelay(1);
+
+       /* configure BUCK3 */
+       hi6553_writeb(HI6553_BUCK3_REG3, 0x02);
+       hi6553_writeb(HI6553_BUCK3_REG5, 0x99);
+       hi6553_writeb(HI6553_BUCK3_REG6, 0x41);
+       hi6553_writeb(HI6553_VSET_BUCK3_ADJ, 0x02);
+       mdelay(1);
+
+       /* configure BUCK4 */
+       hi6553_writeb(HI6553_BUCK4_REG2, 0x9a);
+       hi6553_writeb(HI6553_BUCK4_REG5, 0x99);
+       hi6553_writeb(HI6553_BUCK4_REG6, 0x45);
+
+       /* configure LDO20 */
+       hi6553_writeb(HI6553_LDO20_REG_ADJ, 0x50);
+
+       hi6553_writeb(HI6553_NP_REG_CHG, 0x0f);
+       hi6553_writeb(HI6553_CLK_TOP0, 0x06);
+       hi6553_writeb(HI6553_CLK_TOP3, 0xc0);
+       hi6553_writeb(HI6553_CLK_TOP4, 0x00);
+
+       /* configure LDO7 & LDO10 for SD slot */
+       data = hi6553_readb(HI6553_LDO7_REG_ADJ);
+       data = (data & 0xf8) | 0x2;
+       hi6553_writeb(HI6553_LDO7_REG_ADJ, data);
+       mdelay(5);
+       /* enable LDO7 */
+       hi6553_writeb(HI6553_ENABLE2_LDO1_8, 1 << 6);
+       mdelay(5);
+       data = hi6553_readb(HI6553_LDO10_REG_ADJ);
+       data = (data & 0xf8) | 0x5;
+       hi6553_writeb(HI6553_LDO10_REG_ADJ, data);
+       mdelay(5);
+       /* enable LDO10 */
+       hi6553_writeb(HI6553_ENABLE3_LDO9_16, 1 << 1);
+       mdelay(5);
+
+       /* select 32.764KHz */
+       hi6553_writeb(HI6553_CLK19M2_600_586_EN, 0x01);
+}
+
+int power_hi6553_init(u8 *base)
+{
+       static const char name[] = "HI6553 PMIC";
+       struct pmic *p = pmic_alloc();
+
+       if (!p) {
+               printf("%s: POWER allocation error!\n", __func__);
+               return -ENOMEM;
+       }
+
+       p->name = name;
+       p->interface = PMIC_NONE;
+       p->number_of_regs = 44;
+       pmussi_base = base;
+
+       hi6553_init();
+
+       puts("HI6553 PMIC init\n");
+
+       return 0;
+}
index e85c69231eaa14f8b1be40ca4ba2f3e348693f32..77d64e43c6a0b77a5c5f722c354e4484a56082d9 100644 (file)
@@ -16,6 +16,14 @@ config DM_REGULATOR
        for this purpose if PMIC I/O driver is implemented or dm_scan_fdt_node()
        otherwise. Detailed information can be found in the header file.
 
+config DM_REGULATOR_PFUZE100
+       bool "Enable Driver Model for REGULATOR PFUZE100"
+       depends on DM_REGULATOR && DM_PMIC_PFUZE100
+       ---help---
+       This config enables implementation of driver-model regulator uclass
+       features for REGULATOR PFUZE100. The driver implements get/set api for:
+       value, enable and mode.
+
 config DM_REGULATOR_MAX77686
        bool "Enable Driver Model for REGULATOR MAX77686"
        depends on DM_REGULATOR && DM_PMIC_MAX77686
index 08d7b0d26d7bf77156f38edbbabbbb3c26312695..7035936a35d75052a324d6d406602d349f76b562 100644 (file)
@@ -7,6 +7,7 @@
 
 obj-$(CONFIG_DM_REGULATOR) += regulator-uclass.o
 obj-$(CONFIG_DM_REGULATOR_MAX77686) += max77686.o
+obj-$(CONFIG_DM_REGULATOR_PFUZE100) += pfuze100.o
 obj-$(CONFIG_DM_REGULATOR_FIXED) += fixed.o
 obj-$(CONFIG_REGULATOR_S5M8767) += s5m8767.o
 obj-$(CONFIG_DM_REGULATOR_SANDBOX) += sandbox.o
index 946b87c60ad5970ae68864b14e197fc6c08d80a8..71678b60d3efdb064e2ed0ff52e0b61c8e6ef209 100644 (file)
@@ -87,8 +87,8 @@ static int max77686_buck_volt2hex(int buck, int uV)
                 * hex = (uV - 750000) / 50000. We assume that dynamic voltage
                 * scaling via GPIOs is not enabled and don't support that.
                 * If this is enabled then the driver will need to take that
-                * into account anrd check different registers depending on
-                * the current setting See the datasheet for details.
+                * into account and check different registers depending on
+                * the current setting. See the datasheet for details.
                 */
                hex = (uV - MAX77686_BUCK_UV_HMIN) / MAX77686_BUCK_UV_HSTEP;
                hex_max = MAX77686_BUCK_VOLT_MAX_HEX;
@@ -319,9 +319,9 @@ static int max77686_ldo_modes(int ldo, struct dm_regulator_mode **modesp,
 
 static int max77686_ldo_val(struct udevice *dev, int op, int *uV)
 {
-       unsigned int ret, hex, adr;
+       unsigned int hex, adr;
        unsigned char val;
-       int ldo;
+       int ldo, ret;
 
        if (op == PMIC_OP_GET)
                *uV = 0;
@@ -360,9 +360,9 @@ static int max77686_ldo_val(struct udevice *dev, int op, int *uV)
 
 static int max77686_buck_val(struct udevice *dev, int op, int *uV)
 {
-       unsigned int hex, ret, mask, adr;
+       unsigned int hex, mask, adr;
        unsigned char val;
-       int buck;
+       int buck, ret;
 
        buck = dev->driver_data;
        if (buck < 1 || buck > MAX77686_BUCK_NUM) {
@@ -414,9 +414,9 @@ static int max77686_buck_val(struct udevice *dev, int op, int *uV)
 
 static int max77686_ldo_mode(struct udevice *dev, int op, int *opmode)
 {
-       unsigned int ret, adr, mode;
+       unsigned int adr, mode;
        unsigned char val;
-       int ldo;
+       int ldo, ret;
 
        if (op == PMIC_OP_GET)
                *opmode = -EINVAL;
@@ -545,9 +545,9 @@ static int max77686_ldo_enable(struct udevice *dev, int op, bool *enable)
 
 static int max77686_buck_mode(struct udevice *dev, int op, int *opmode)
 {
-       unsigned int ret, mask, adr, mode, mode_shift;
+       unsigned int mask, adr, mode, mode_shift;
        unsigned char val;
-       int buck;
+       int buck, ret;
 
        buck = dev->driver_data;
        if (buck < 1 || buck > MAX77686_BUCK_NUM) {
diff --git a/drivers/power/regulator/pfuze100.c b/drivers/power/regulator/pfuze100.c
new file mode 100644 (file)
index 0000000..4702161
--- /dev/null
@@ -0,0 +1,568 @@
+#include <common.h>
+#include <fdtdec.h>
+#include <errno.h>
+#include <dm.h>
+#include <i2c.h>
+#include <power/pmic.h>
+#include <power/regulator.h>
+#include <power/pfuze100_pmic.h>
+
+/**
+ * struct pfuze100_regulator_desc - regulator descriptor
+ *
+ * @name: Identify name for the regulator.
+ * @type: Indicates the regulator type.
+ * @uV_step: Voltage increase for each selector.
+ * @vsel_reg: Register for adjust regulator voltage for normal.
+ * @vsel_mask: Mask bit for setting regulator voltage for normal.
+ * @stby_reg: Register for adjust regulator voltage for standby.
+ * @stby_mask: Mask bit for setting regulator voltage for standby.
+ * @volt_table: Voltage mapping table (if table based mapping).
+ * @voltage: Current voltage for REGULATOR_TYPE_FIXED type regulator.
+ */
+struct pfuze100_regulator_desc {
+       char *name;
+       enum regulator_type type;
+       unsigned int uV_step;
+       unsigned int vsel_reg;
+       unsigned int vsel_mask;
+       unsigned int stby_reg;
+       unsigned int stby_mask;
+       unsigned int *volt_table;
+       unsigned int voltage;
+};
+
+/**
+ * struct pfuze100_regulator_platdata - platform data for pfuze100
+ *
+ * @desc: Points the description entry of one regulator of pfuze100
+ */
+struct pfuze100_regulator_platdata {
+       struct pfuze100_regulator_desc *desc;
+};
+
+#define PFUZE100_FIXED_REG(_name, base, vol)                           \
+       {                                                               \
+               .name           =       #_name,                         \
+               .type           =       REGULATOR_TYPE_FIXED,           \
+               .voltage        =       (vol),                          \
+       }
+
+#define PFUZE100_SW_REG(_name, base, step)                             \
+       {                                                               \
+               .name           =       #_name,                         \
+               .type           =       REGULATOR_TYPE_BUCK,            \
+               .uV_step        =       (step),                         \
+               .vsel_reg       =       (base) + PFUZE100_VOL_OFFSET,   \
+               .vsel_mask      =       0x3F,                           \
+               .stby_reg       =       (base) + PFUZE100_STBY_OFFSET,  \
+               .stby_mask      =       0x3F,                           \
+       }
+
+#define PFUZE100_SWB_REG(_name, base, mask, step, voltages)            \
+       {                                                               \
+               .name           =       #_name,                         \
+               .type           =       REGULATOR_TYPE_BUCK,            \
+               .uV_step        =       (step),                         \
+               .vsel_reg       =       (base),                         \
+               .vsel_mask      =       (mask),                         \
+               .volt_table     =       (voltages),                     \
+       }
+
+#define PFUZE100_SNVS_REG(_name, base, mask, voltages)                 \
+       {                                                               \
+               .name           =       #_name,                         \
+               .type           =       REGULATOR_TYPE_OTHER,           \
+               .vsel_reg       =       (base),                         \
+               .vsel_mask      =       (mask),                         \
+               .volt_table     =       (voltages),                     \
+       }
+
+#define PFUZE100_VGEN_REG(_name, base, step)                           \
+       {                                                               \
+               .name           =       #_name,                         \
+               .type           =       REGULATOR_TYPE_LDO,             \
+               .uV_step        =       (step),                         \
+               .vsel_reg       =       (base),                         \
+               .vsel_mask      =       0xF,                            \
+               .stby_reg       =       (base),                         \
+               .stby_mask      =       0x20,                           \
+       }
+
+#define PFUZE3000_VCC_REG(_name, base, step)                           \
+       {                                                               \
+               .name           =       #_name,                         \
+               .type           =       REGULATOR_TYPE_LDO,             \
+               .uV_step        =       (step),                         \
+               .vsel_reg       =       (base),                         \
+               .vsel_mask      =       0x3,                            \
+               .stby_reg       =       (base),                         \
+               .stby_mask      =       0x20,                           \
+}
+
+#define PFUZE3000_SW1_REG(_name, base, step)                           \
+       {                                                               \
+               .name           =       #_name,                         \
+               .type           =       REGULATOR_TYPE_BUCK,            \
+               .uV_step        =       (step),                         \
+               .vsel_reg       =       (base) + PFUZE100_VOL_OFFSET,   \
+               .vsel_mask      =       0x1F,                           \
+               .stby_reg       =       (base) + PFUZE100_STBY_OFFSET,  \
+               .stby_mask      =       0x1F,                           \
+       }
+
+#define PFUZE3000_SW2_REG(_name, base, step)                           \
+       {                                                               \
+               .name           =       #_name,                         \
+               .type           =       REGULATOR_TYPE_BUCK,            \
+               .uV_step        =       (step),                         \
+               .vsel_reg       =       (base) + PFUZE100_VOL_OFFSET,   \
+               .vsel_mask      =       0x7,                            \
+               .stby_reg       =       (base) + PFUZE100_STBY_OFFSET,  \
+               .stby_mask      =       0x7,                            \
+       }
+
+#define PFUZE3000_SW3_REG(_name, base, step)                           \
+       {                                                               \
+               .name           =       #_name,                         \
+               .type           =       REGULATOR_TYPE_BUCK,            \
+               .uV_step        =       (step),                         \
+               .vsel_reg       =       (base) + PFUZE100_VOL_OFFSET,   \
+               .vsel_mask      =       0xF,                            \
+               .stby_reg       =       (base) + PFUZE100_STBY_OFFSET,  \
+               .stby_mask      =       0xF,                            \
+       }
+
+static unsigned int pfuze100_swbst[] = {
+       5000000, 5050000, 5100000, 5150000
+};
+
+static unsigned int pfuze100_vsnvs[] = {
+       1000000, 1100000, 1200000, 1300000, 1500000, 1800000, 3000000, -1
+};
+
+static unsigned int pfuze3000_vsnvs[] = {
+       -1, -1, -1, -1, -1, -1, 3000000, -1
+};
+
+static unsigned int pfuze3000_sw2lo[] = {
+       1500000, 1550000, 1600000, 1650000, 1700000, 1750000, 1800000, 1850000
+};
+
+/* PFUZE100 */
+static struct pfuze100_regulator_desc pfuze100_regulators[] = {
+       PFUZE100_SW_REG(sw1ab, PFUZE100_SW1ABVOL, 25000),
+       PFUZE100_SW_REG(sw1c, PFUZE100_SW1CVOL, 25000),
+       PFUZE100_SW_REG(sw2, PFUZE100_SW2VOL, 25000),
+       PFUZE100_SW_REG(sw3a, PFUZE100_SW3AVOL, 25000),
+       PFUZE100_SW_REG(sw3b, PFUZE100_SW3BVOL, 25000),
+       PFUZE100_SW_REG(sw4, PFUZE100_SW4VOL, 25000),
+       PFUZE100_SWB_REG(swbst, PFUZE100_SWBSTCON1, 0x3, 50000, pfuze100_swbst),
+       PFUZE100_SNVS_REG(vsnvs, PFUZE100_VSNVSVOL, 0x7, pfuze100_vsnvs),
+       PFUZE100_FIXED_REG(vrefddr, PFUZE100_VREFDDRCON, 750000),
+       PFUZE100_VGEN_REG(vgen1, PFUZE100_VGEN1VOL, 50000),
+       PFUZE100_VGEN_REG(vgen2, PFUZE100_VGEN2VOL, 50000),
+       PFUZE100_VGEN_REG(vgen3, PFUZE100_VGEN3VOL, 100000),
+       PFUZE100_VGEN_REG(vgen4, PFUZE100_VGEN4VOL, 100000),
+       PFUZE100_VGEN_REG(vgen5, PFUZE100_VGEN5VOL, 100000),
+       PFUZE100_VGEN_REG(vgen6, PFUZE100_VGEN6VOL, 100000),
+};
+
+/* PFUZE200 */
+static struct pfuze100_regulator_desc pfuze200_regulators[] = {
+       PFUZE100_SW_REG(sw1ab, PFUZE100_SW1ABVOL, 25000),
+       PFUZE100_SW_REG(sw2, PFUZE100_SW2VOL, 25000),
+       PFUZE100_SW_REG(sw3a, PFUZE100_SW3AVOL, 25000),
+       PFUZE100_SW_REG(sw3b, PFUZE100_SW3BVOL, 25000),
+       PFUZE100_SWB_REG(swbst, PFUZE100_SWBSTCON1, 0x3, 50000, pfuze100_swbst),
+       PFUZE100_SNVS_REG(vsnvs, PFUZE100_VSNVSVOL, 0x7, pfuze100_vsnvs),
+       PFUZE100_FIXED_REG(vrefddr, PFUZE100_VREFDDRCON, 750000),
+       PFUZE100_VGEN_REG(vgen1, PFUZE100_VGEN1VOL, 50000),
+       PFUZE100_VGEN_REG(vgen2, PFUZE100_VGEN2VOL, 50000),
+       PFUZE100_VGEN_REG(vgen3, PFUZE100_VGEN3VOL, 100000),
+       PFUZE100_VGEN_REG(vgen4, PFUZE100_VGEN4VOL, 100000),
+       PFUZE100_VGEN_REG(vgen5, PFUZE100_VGEN5VOL, 100000),
+       PFUZE100_VGEN_REG(vgen6, PFUZE100_VGEN6VOL, 100000),
+};
+
+/* PFUZE3000 */
+static struct pfuze100_regulator_desc pfuze3000_regulators[] = {
+       PFUZE3000_SW1_REG(sw1a, PFUZE100_SW1ABVOL, 25000),
+       PFUZE3000_SW1_REG(sw1b, PFUZE100_SW1CVOL, 25000),
+       PFUZE100_SWB_REG(sw2, PFUZE100_SW2VOL, 0x7, 50000, pfuze3000_sw2lo),
+       PFUZE3000_SW3_REG(sw3, PFUZE100_SW3AVOL, 50000),
+       PFUZE100_SWB_REG(swbst, PFUZE100_SWBSTCON1, 0x3, 50000, pfuze100_swbst),
+       PFUZE100_SNVS_REG(vsnvs, PFUZE100_VSNVSVOL, 0x7, pfuze3000_vsnvs),
+       PFUZE100_FIXED_REG(vrefddr, PFUZE100_VREFDDRCON, 750000),
+       PFUZE100_VGEN_REG(vldo1, PFUZE100_VGEN1VOL, 100000),
+       PFUZE100_VGEN_REG(vldo2, PFUZE100_VGEN2VOL, 50000),
+       PFUZE3000_VCC_REG(vccsd, PFUZE100_VGEN3VOL, 150000),
+       PFUZE3000_VCC_REG(v33, PFUZE100_VGEN4VOL, 150000),
+       PFUZE100_VGEN_REG(vldo3, PFUZE100_VGEN5VOL, 100000),
+       PFUZE100_VGEN_REG(vldo4, PFUZE100_VGEN6VOL, 100000),
+};
+
+#define MODE(_id, _val, _name) { \
+       .id = _id, \
+       .register_value = _val, \
+       .name = _name, \
+}
+
+/* SWx Buck regulator mode */
+static struct dm_regulator_mode pfuze_sw_modes[] = {
+       MODE(OFF_OFF, OFF_OFF, "OFF_OFF"),
+       MODE(PWM_OFF, PWM_OFF, "PWM_OFF"),
+       MODE(PFM_OFF, PFM_OFF, "PFM_OFF"),
+       MODE(APS_OFF, APS_OFF, "APS_OFF"),
+       MODE(PWM_PWM, PWM_PWM, "PWM_PWM"),
+       MODE(PWM_APS, PWM_APS, "PWM_APS"),
+       MODE(APS_APS, APS_APS, "APS_APS"),
+       MODE(APS_PFM, APS_PFM, "APS_PFM"),
+       MODE(PWM_PFM, PWM_PFM, "PWM_PFM"),
+};
+
+/* Boost Buck regulator mode for normal operation */
+static struct dm_regulator_mode pfuze_swbst_modes[] = {
+       MODE(SWBST_MODE_OFF, SWBST_MODE_OFF , "SWBST_MODE_OFF"),
+       MODE(SWBST_MODE_PFM, SWBST_MODE_PFM, "SWBST_MODE_PFM"),
+       MODE(SWBST_MODE_AUTO, SWBST_MODE_AUTO, "SWBST_MODE_AUTO"),
+       MODE(SWBST_MODE_APS, SWBST_MODE_APS, "SWBST_MODE_APS"),
+};
+
+/* VGENx LDO regulator mode for normal operation */
+static struct dm_regulator_mode pfuze_ldo_modes[] = {
+       MODE(LDO_MODE_OFF, LDO_MODE_OFF, "LDO_MODE_OFF"),
+       MODE(LDO_MODE_ON, LDO_MODE_ON, "LDO_MODE_ON"),
+};
+
+static struct pfuze100_regulator_desc *se_desc(struct pfuze100_regulator_desc *desc,
+                                              int size,
+                                              const char *name)
+{
+       int i;
+
+       for (i = 0; i < size; desc++) {
+               if (!strcmp(desc->name, name))
+                       return desc;
+               continue;
+       }
+
+       return NULL;
+}
+
+static int pfuze100_regulator_probe(struct udevice *dev)
+{
+       struct dm_regulator_uclass_platdata *uc_pdata;
+       struct pfuze100_regulator_platdata *plat = dev_get_platdata(dev);
+       struct pfuze100_regulator_desc *desc;
+
+       switch (dev_get_driver_data(dev_get_parent(dev))) {
+       case PFUZE100:
+               desc = se_desc(pfuze100_regulators,
+                              ARRAY_SIZE(pfuze100_regulators),
+                              dev->name);
+               break;
+       case PFUZE200:
+               desc = se_desc(pfuze200_regulators,
+                              ARRAY_SIZE(pfuze200_regulators),
+                              dev->name);
+               break;
+       case PFUZE3000:
+               desc = se_desc(pfuze3000_regulators,
+                              ARRAY_SIZE(pfuze3000_regulators),
+                              dev->name);
+               break;
+       default:
+               debug("Unsupported PFUZE\n");
+               return -EINVAL;
+       }
+       if (!desc) {
+               debug("Do not support regulator %s\n", dev->name);
+               return -EINVAL;
+       }
+
+       plat->desc = desc;
+       uc_pdata = dev_get_uclass_platdata(dev);
+
+       uc_pdata->type = desc->type;
+       if (uc_pdata->type == REGULATOR_TYPE_BUCK) {
+               if (!strcmp(dev->name, "swbst")) {
+                       uc_pdata->mode = pfuze_swbst_modes;
+                       uc_pdata->mode_count = ARRAY_SIZE(pfuze_swbst_modes);
+               } else {
+                       uc_pdata->mode = pfuze_sw_modes;
+                       uc_pdata->mode_count = ARRAY_SIZE(pfuze_sw_modes);
+               }
+       } else if (uc_pdata->type == REGULATOR_TYPE_LDO) {
+               uc_pdata->mode = pfuze_ldo_modes;
+               uc_pdata->mode_count = ARRAY_SIZE(pfuze_ldo_modes);
+       } else {
+               uc_pdata->mode = NULL;
+               uc_pdata->mode_count = 0;
+       }
+
+       return 0;
+}
+
+static int pfuze100_regulator_mode(struct udevice *dev, int op, int *opmode)
+{
+       unsigned char val;
+       struct pfuze100_regulator_platdata *plat = dev_get_platdata(dev);
+       struct pfuze100_regulator_desc *desc = plat->desc;
+
+       if (op == PMIC_OP_GET) {
+               if (desc->type == REGULATOR_TYPE_BUCK) {
+                       if (!strcmp(dev->name, "swbst")) {
+                               val = pmic_reg_read(dev->parent,
+                                                   desc->vsel_reg);
+                               if (val < 0)
+                                       return val;
+
+                               val &= SWBST_MODE_MASK;
+                               val >>= SWBST_MODE_SHIFT;
+                               *opmode = val;
+
+                               return 0;
+                       }
+                       val = pmic_reg_read(dev->parent,
+                                           desc->vsel_reg +
+                                           PFUZE100_MODE_OFFSET);
+                       if (val < 0)
+                               return val;
+
+                       val &= SW_MODE_MASK;
+                       val >>= SW_MODE_SHIFT;
+                       *opmode = val;
+
+                       return 0;
+
+               } else if (desc->type == REGULATOR_TYPE_LDO) {
+                       val = pmic_reg_read(dev->parent, desc->vsel_reg);
+                       if (val < 0)
+                               return val;
+
+                       val &= LDO_MODE_MASK;
+                       val >>= LDO_MODE_SHIFT;
+                       *opmode = val;
+
+                       return 0;
+               } else {
+                       return -EINVAL;
+               }
+       }
+
+       if (desc->type == REGULATOR_TYPE_BUCK) {
+               if (!strcmp(dev->name, "swbst"))
+                       return pmic_clrsetbits(dev->parent, desc->vsel_reg,
+                                              SWBST_MODE_MASK,
+                                              *opmode << SWBST_MODE_SHIFT);
+
+               val = pmic_clrsetbits(dev->parent,
+                                      desc->vsel_reg + PFUZE100_MODE_OFFSET,
+                                      SW_MODE_MASK,
+                                      *opmode << SW_MODE_SHIFT);
+
+       } else if (desc->type == REGULATOR_TYPE_LDO) {
+               val = pmic_clrsetbits(dev->parent, desc->vsel_reg,
+                                      LDO_MODE_MASK,
+                                      *opmode << LDO_MODE_SHIFT);
+               return val;
+       } else {
+               return -EINVAL;
+       }
+
+       return 0;
+}
+
+static int pfuze100_regulator_enable(struct udevice *dev, int op, bool *enable)
+{
+       unsigned char val;
+       int ret, on_off;
+       struct dm_regulator_uclass_platdata *uc_pdata =
+               dev_get_uclass_platdata(dev);
+
+       if (op == PMIC_OP_GET) {
+               if (!strcmp(dev->name, "vrefddr")) {
+                       val = pmic_reg_read(dev->parent, PFUZE100_VREFDDRCON);
+                       if (val < 0)
+                               return val;
+
+                       if (val & VREFDDRCON_EN)
+                               *enable = true;
+                       else
+                               *enable = false;
+                       return 0;
+               }
+               ret = pfuze100_regulator_mode(dev, op, &on_off);
+               if (ret)
+                       return ret;
+               switch (on_off) {
+               /* OFF_OFF, SWBST_MODE_OFF, LDO_MODE_OFF have same value */
+               case OFF_OFF:
+                       *enable = false;
+                       break;
+               default:
+                       *enable = true;
+                       break;
+               }
+       } else if (op == PMIC_OP_SET) {
+               if (!strcmp(dev->name, "vrefddr")) {
+                       val = pmic_reg_read(dev->parent, PFUZE100_VREFDDRCON);
+                       if (val < 0)
+                               return val;
+
+                       if (val & VREFDDRCON_EN)
+                               return 0;
+                       val |= VREFDDRCON_EN;
+
+                       return pmic_reg_write(dev->parent, PFUZE100_VREFDDRCON,
+                                             val);
+               }
+
+               if (uc_pdata->type == REGULATOR_TYPE_LDO) {
+                       on_off = *enable ? LDO_MODE_ON : LDO_MODE_OFF;
+               } else if (uc_pdata->type == REGULATOR_TYPE_BUCK) {
+                       if (!strcmp(dev->name, "swbst"))
+                               on_off = *enable ? SWBST_MODE_AUTO :
+                                       SWBST_MODE_OFF;
+                       else
+                               on_off = *enable ? APS_PFM : OFF_OFF;
+               } else {
+                       return -EINVAL;
+               }
+
+               return pfuze100_regulator_mode(dev, op, &on_off);
+       }
+
+       return 0;
+}
+
+static int pfuze100_regulator_val(struct udevice *dev, int op, int *uV)
+{
+       int i;
+       unsigned char val;
+       struct pfuze100_regulator_platdata *plat = dev_get_platdata(dev);
+       struct pfuze100_regulator_desc *desc = plat->desc;
+       struct dm_regulator_uclass_platdata *uc_pdata =
+               dev_get_uclass_platdata(dev);
+
+       if (op == PMIC_OP_GET) {
+               *uV = 0;
+               if (uc_pdata->type == REGULATOR_TYPE_FIXED) {
+                       *uV = desc->voltage;
+               } else if (desc->volt_table) {
+                       val = pmic_reg_read(dev->parent, desc->vsel_reg);
+                       if (val < 0)
+                               return val;
+                       val &= desc->vsel_mask;
+                       *uV = desc->volt_table[val];
+               } else {
+                       if (uc_pdata->min_uV < 0) {
+                               debug("Need to provide min_uV in dts.\n");
+                               return -EINVAL;
+                       }
+                       val = pmic_reg_read(dev->parent, desc->vsel_reg);
+                       if (val < 0)
+                               return val;
+                       val &= desc->vsel_mask;
+                       *uV = uc_pdata->min_uV + (int)val * desc->uV_step;
+               }
+
+               return 0;
+       }
+
+       if (uc_pdata->type == REGULATOR_TYPE_FIXED) {
+               debug("Set voltage for REGULATOR_TYPE_FIXED regulator\n");
+               return -EINVAL;
+       } else if (desc->volt_table) {
+               for (i = 0; i < desc->vsel_mask; i++) {
+                       if (*uV == desc->volt_table[i])
+                               break;
+               }
+               if (i == desc->vsel_mask) {
+                       debug("Unsupported voltage %u\n", *uV);
+                       return -EINVAL;
+               }
+
+               return pmic_clrsetbits(dev->parent, desc->vsel_reg,
+                                      desc->vsel_mask, i);
+       } else {
+               if (uc_pdata->min_uV < 0) {
+                       debug("Need to provide min_uV in dts.\n");
+                       return -EINVAL;
+               }
+               return pmic_clrsetbits(dev->parent, desc->vsel_reg,
+                                      desc->vsel_mask,
+                                      (*uV - uc_pdata->min_uV) / desc->uV_step);
+       }
+
+       return 0;
+}
+
+static int pfuze100_regulator_get_value(struct udevice *dev)
+{
+       int uV;
+       int ret;
+
+       ret = pfuze100_regulator_val(dev, PMIC_OP_GET, &uV);
+       if (ret)
+               return ret;
+
+       return uV;
+}
+
+static int pfuze100_regulator_set_value(struct udevice *dev, int uV)
+{
+       return pfuze100_regulator_val(dev, PMIC_OP_SET, &uV);
+}
+
+static bool pfuze100_regulator_get_enable(struct udevice *dev)
+{
+       int ret;
+       bool enable = false;
+
+       ret = pfuze100_regulator_enable(dev, PMIC_OP_GET, &enable);
+       if (ret)
+               return ret;
+
+       return enable;
+}
+
+static int pfuze100_regulator_set_enable(struct udevice *dev, bool enable)
+{
+       return pfuze100_regulator_enable(dev, PMIC_OP_SET, &enable);
+}
+
+static int pfuze100_regulator_get_mode(struct udevice *dev)
+{
+       int mode;
+       int ret;
+
+       ret = pfuze100_regulator_mode(dev, PMIC_OP_GET, &mode);
+       if (ret)
+               return ret;
+
+       return mode;
+}
+
+static int pfuze100_regulator_set_mode(struct udevice *dev, int mode)
+{
+       return pfuze100_regulator_mode(dev, PMIC_OP_SET, &mode);
+}
+
+static const struct dm_regulator_ops pfuze100_regulator_ops = {
+       .get_value  = pfuze100_regulator_get_value,
+       .set_value  = pfuze100_regulator_set_value,
+       .get_enable = pfuze100_regulator_get_enable,
+       .set_enable = pfuze100_regulator_set_enable,
+       .get_mode   = pfuze100_regulator_get_mode,
+       .set_mode   = pfuze100_regulator_set_mode,
+};
+
+U_BOOT_DRIVER(pfuze100_regulator) = {
+       .name = "pfuze100_regulator",
+       .id = UCLASS_REGULATOR,
+       .ops = &pfuze100_regulator_ops,
+       .probe = pfuze100_regulator_probe,
+       .platdata_auto_alloc_size = sizeof(struct pfuze100_regulator_platdata),
+};
index f3fe7a55e1b5828a728fb6bc47244cc7b143a1c9..a5170df9165152f81eda9c6f6dec0839ba0fbb74 100644 (file)
@@ -256,7 +256,9 @@ static int regulator_post_bind(struct udevice *dev)
        if (!uc_pdata->name) {
                debug("%s: dev: %s has no property 'regulator-name'\n",
                      __func__, dev->name);
-               return -EINVAL;
+               uc_pdata->name = fdt_get_name(blob, offset, NULL);
+               if (!uc_pdata->name)
+                       return -EINVAL;
        }
 
        if (regulator_name_is_unique(dev, uc_pdata->name))
index 7f1fdd1534c079638d16f2e8967ad0b4571276e0..8866bf1b19edb4ae4731eabacf434c501435a3d2 100644 (file)
@@ -45,6 +45,66 @@ void twl4030_power_reset_init(void)
        }
 }
 
+/*
+ * Power off
+ */
+void twl4030_power_off(void)
+{
+       u8 data;
+
+       /* PM master unlock (CFG and TST keys) */
+
+       data = 0xCE;
+       twl4030_i2c_write_u8(TWL4030_CHIP_PM_MASTER,
+                            TWL4030_PM_MASTER_PROTECT_KEY, data);
+       data = 0xEC;
+       twl4030_i2c_write_u8(TWL4030_CHIP_PM_MASTER,
+                            TWL4030_PM_MASTER_PROTECT_KEY, data);
+
+       /* VBAT start disable */
+
+       twl4030_i2c_read_u8(TWL4030_CHIP_PM_MASTER,
+                           TWL4030_PM_MASTER_CFG_P1_TRANSITION, &data);
+       data &= ~TWL4030_PM_MASTER_CFG_TRANSITION_STARTON_VBAT;
+       twl4030_i2c_write_u8(TWL4030_CHIP_PM_MASTER,
+                            TWL4030_PM_MASTER_CFG_P1_TRANSITION, data);
+
+       twl4030_i2c_read_u8(TWL4030_CHIP_PM_MASTER,
+                           TWL4030_PM_MASTER_CFG_P2_TRANSITION, &data);
+       data &= ~TWL4030_PM_MASTER_CFG_TRANSITION_STARTON_VBAT;
+       twl4030_i2c_write_u8(TWL4030_CHIP_PM_MASTER,
+                            TWL4030_PM_MASTER_CFG_P2_TRANSITION, data);
+
+       twl4030_i2c_read_u8(TWL4030_CHIP_PM_MASTER,
+                           TWL4030_PM_MASTER_CFG_P3_TRANSITION, &data);
+       data &= ~TWL4030_PM_MASTER_CFG_TRANSITION_STARTON_VBAT;
+       twl4030_i2c_write_u8(TWL4030_CHIP_PM_MASTER,
+                            TWL4030_PM_MASTER_CFG_P3_TRANSITION, data);
+
+       /* High jitter for PWRANA2 */
+
+       twl4030_i2c_read_u8(TWL4030_CHIP_PM_MASTER,
+                           TWL4030_PM_MASTER_CFG_PWRANA2, &data);
+       data &= ~(TWL4030_PM_MASTER_CFG_PWRANA2_LOJIT0_LOWV |
+                 TWL4030_PM_MASTER_CFG_PWRANA2_LOJIT1_LOWV);
+       twl4030_i2c_write_u8(TWL4030_CHIP_PM_MASTER,
+                            TWL4030_PM_MASTER_CFG_PWRANA2, data);
+
+       /* PM master lock */
+
+       data = 0xFF;
+       twl4030_i2c_write_u8(TWL4030_CHIP_PM_MASTER,
+                            TWL4030_PM_MASTER_PROTECT_KEY, data);
+
+       /* Power off */
+
+       twl4030_i2c_read_u8(TWL4030_CHIP_PM_MASTER,
+                           TWL4030_PM_MASTER_P1_SW_EVENTS, &data);
+       data |= TWL4030_PM_MASTER_SW_EVENTS_DEVOFF;
+       twl4030_i2c_write_u8(TWL4030_CHIP_PM_MASTER,
+                            TWL4030_PM_MASTER_P1_SW_EVENTS, data);
+}
+
 /*
  * Set Device Group and Voltage
  */
index bd63621e37162b085bbf2f15c12f33b55b988022..b5d9048ad6a54424ba2b898219bece4191fbf8d4 100644 (file)
@@ -1,3 +1,9 @@
+#
+# RTC drivers configuration
+#
+
+menu "Real Time Clock"
+
 config DM_RTC
        bool "Enable Driver Model for RTC drivers"
        depends on DM
@@ -6,3 +12,5 @@ config DM_RTC
          then provides the rtc_get()/rtc_set() interface, delegating to
          drivers to perform the actual functions. See rtc.h for a
          description of the API.
+
+endmenu
index a880eacfaf7149b8149bf7d8db006d7b4adfea56..4f6a3b87a137bdb6c51e4cd0b5196da8e9c9e50d 100644 (file)
@@ -1,3 +1,9 @@
+#
+# Serial device configuration
+#
+
+menu "Serial drivers"
+
 config REQUIRE_SERIAL_CONSOLE
        bool "Require a serial port for console"
        # Running without a serial console is not supported by the
@@ -139,3 +145,5 @@ config X86_SERIAL
          enabled in the device tree with the correct input clock frequency
          provided (default 1843200). Enable this to obtain serial console
          output.
+
+endmenu
index 265fe007a06c4bf64ef1f249e0c71321e57376cf..325fe427fd854211bbb6288a2d7075e892f708d4 100644 (file)
@@ -15,6 +15,7 @@ DECLARE_GLOBAL_DATA_PTR;
 #ifdef CONFIG_OF_CONTROL
 static const struct udevice_id omap_serial_ids[] = {
        { .compatible = "ti,omap3-uart" },
+       { .compatible = "ti,omap4-uart" },
        { }
 };
 
index 3b96e844806067066dad94cc5bcbc024a62e7067..5de86c05c600de10739001263485c96956ebc904 100644 (file)
@@ -1,3 +1,5 @@
+menu "Sound support"
+
 config SOUND
        bool "Enable sound support"
        help
@@ -53,3 +55,5 @@ config SOUND_WM8994
          Enable the wm8994 audio codec. This is connected via I2S for
          audio data and I2C for codec control. At present it only works
          with the Samsung I2S driver.
+
+endmenu
index ab7cd8444811a88b3599949ea2ab6a060af8e4b0..4af22c118ea1055a97d6c2002239d3a355dd3234 100644 (file)
@@ -14,7 +14,7 @@
 #ifndef _OMAP3_SPI_H_
 #define _OMAP3_SPI_H_
 
-#ifdef CONFIG_AM33XX
+#if defined(CONFIG_AM33XX) || defined(CONFIG_AM43XX)
 #define OMAP3_MCSPI1_BASE      0x48030100
 #define OMAP3_MCSPI2_BASE      0x481A0100
 #else
index 702ef63f87451466eea7b7601e3bf056270bfa64..09f91f190af3d07245b186d7765b3eac149d4b51 100644 (file)
@@ -27,8 +27,8 @@
 
 struct dwc2_priv {
 #ifdef CONFIG_DM_USB
-       uint8_t aligned_buffer[DWC2_DATA_BUF_SIZE] __aligned(8);
-       uint8_t status_buffer[DWC2_STATUS_BUF_SIZE] __aligned(8);
+       uint8_t aligned_buffer[DWC2_DATA_BUF_SIZE] __aligned(ARCH_DMA_MINALIGN);
+       uint8_t status_buffer[DWC2_STATUS_BUF_SIZE] __aligned(ARCH_DMA_MINALIGN);
 #else
        uint8_t *aligned_buffer;
        uint8_t *status_buffer;
@@ -39,9 +39,11 @@ struct dwc2_priv {
 };
 
 #ifndef CONFIG_DM_USB
-/* We need doubleword-aligned buffers for DMA transfers */
-DEFINE_ALIGN_BUFFER(uint8_t, aligned_buffer_addr, DWC2_DATA_BUF_SIZE, 8);
-DEFINE_ALIGN_BUFFER(uint8_t, status_buffer_addr, DWC2_STATUS_BUF_SIZE, 8);
+/* We need cacheline-aligned buffers for DMA transfers and dcache support */
+DEFINE_ALIGN_BUFFER(uint8_t, aligned_buffer_addr, DWC2_DATA_BUF_SIZE,
+               ARCH_DMA_MINALIGN);
+DEFINE_ALIGN_BUFFER(uint8_t, status_buffer_addr, DWC2_STATUS_BUF_SIZE,
+               ARCH_DMA_MINALIGN);
 
 static struct dwc2_priv local;
 #endif
@@ -821,8 +823,11 @@ int chunk_msg(struct dwc2_priv *priv, struct usb_device *dev,
                       &hc_regs->hctsiz);
 
                if (!in) {
-                       memcpy(priv->aligned_buffer, (char *)buffer + done,
-                              len);
+                       memcpy(priv->aligned_buffer, (char *)buffer + done, len);
+
+                       flush_dcache_range((unsigned long)priv->aligned_buffer,
+                               (unsigned long)((void *)priv->aligned_buffer +
+                               roundup(len, ARCH_DMA_MINALIGN)));
                }
 
                writel(phys_to_bus((unsigned long)priv->aligned_buffer),
@@ -840,6 +845,11 @@ int chunk_msg(struct dwc2_priv *priv, struct usb_device *dev,
 
                if (in) {
                        xfer_len -= sub;
+
+                       invalidate_dcache_range((unsigned long)priv->aligned_buffer,
+                               (unsigned long)((void *)priv->aligned_buffer +
+                               roundup(xfer_len, ARCH_DMA_MINALIGN)));
+
                        memcpy(buffer + done, priv->aligned_buffer, xfer_len);
                        if (sub)
                                stop_transfer = 1;
index 691ed1c900b837c7c61fa40dc2882add81942b45..0ffd838db29e2535ba064f73b5add9973af8d240 100644 (file)
@@ -105,21 +105,13 @@ static struct pci_device_id ehci_pci_ids[] = {
 # define m32_swap(x) cpu_to_le32(x)
 #endif /* CONFIG_SYS_OHCI_BE_CONTROLLER */
 
-#ifdef CONFIG_DM_USB
-/*
- * We really should do proper cache flushing everywhere, but for now we only
- * do it for new (driver-model) usb code to avoid regressions.
- */
+/* We really should do proper cache flushing everywhere */
 #define flush_dcache_buffer(addr, size) \
        flush_dcache_range((unsigned long)(addr), \
                ALIGN((unsigned long)(addr) + size, ARCH_DMA_MINALIGN))
 #define invalidate_dcache_buffer(addr, size) \
        invalidate_dcache_range((unsigned long)(addr), \
                ALIGN((unsigned long)(addr) + size, ARCH_DMA_MINALIGN))
-#else
-#define flush_dcache_buffer(addr, size)
-#define invalidate_dcache_buffer(addr, size)
-#endif
 
 /* Do not use sizeof(ed / td) as our ed / td structs contain extra members */
 #define flush_dcache_ed(addr) flush_dcache_buffer(addr, 16)
@@ -763,12 +755,10 @@ static void periodic_unlink(struct ohci *ohci, volatile struct ed *ed,
                        if (((struct ed *)
                                        m32_swap((unsigned long)ed_p)) == ed) {
                                *ed_p = ed->hwNextED;
-#ifdef CONFIG_DM_USB
                                aligned_ed_p = (unsigned long)ed_p;
                                aligned_ed_p &= ~(ARCH_DMA_MINALIGN - 1);
                                flush_dcache_range(aligned_ed_p,
                                        aligned_ed_p + ARCH_DMA_MINALIGN);
-#endif
                                break;
                        }
                        ed_p = &(((struct ed *)
index f1526d49004e1f32d19a043ecac720a2575f0752..9b0c4a2bd91e86baf2716cf070b607527ab16ac5 100644 (file)
@@ -18,7 +18,7 @@
 # define ohci_writel(a, b) (*((volatile u32 *)(b)) = ((volatile u32)a))
 #endif /* CONFIG_SYS_OHCI_SWAP_REG_ACCESS */
 
-#if defined CONFIG_DM_USB && ARCH_DMA_MINALIGN > 16
+#if ARCH_DMA_MINALIGN > 16
 #define ED_ALIGNMENT ARCH_DMA_MINALIGN
 #else
 #define ED_ALIGNMENT 16
index 3244cd7eddba19fca48f61902d4c916248b67fef..5cb36851e71ff1eb7ac4c8502889e41744cbb1ad 100644 (file)
@@ -1,3 +1,9 @@
+#
+# Video configuration
+#
+
+menu "Graphics support"
+
 config VIDEO_VESA
        bool "Enable VESA video driver support"
        default n
@@ -242,3 +248,5 @@ config VIDEO_TEGRA124
           have an eDP display connected.
 
 source "drivers/video/bridge/Kconfig"
+
+endmenu
index 1f18231ac69ddc3c698720b90dbd389a615f43dc..61d054dd8923d7423df19aa5ee13366c6e084d32 100644 (file)
@@ -38,8 +38,8 @@ struct msg_setup {
 
 void lcd_ctrl_init(void *lcdbase)
 {
-       ALLOC_ALIGN_BUFFER(struct msg_query, msg_query, 1, 16);
-       ALLOC_ALIGN_BUFFER(struct msg_setup, msg_setup, 1, 16);
+       ALLOC_CACHE_ALIGN_BUFFER(struct msg_query, msg_query, 1);
+       ALLOC_CACHE_ALIGN_BUFFER(struct msg_setup, msg_setup, 1);
        int ret;
        u32 w, h;
 
diff --git a/fs/fs.c b/fs/fs.c
index ac0897d94a08625de0bca16a913d8fcdb6392884..827b143e85e5538f9a250565ce2a54b0455fdab8 100644 (file)
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -301,10 +301,8 @@ int fs_read(const char *filename, ulong addr, loff_t offset, loff_t len,
        unmap_sysmem(buf);
 
        /* If we requested a specific number of bytes, check we got it */
-       if (ret == 0 && len && *actread != len) {
-               printf("** Unable to read file %s **\n", filename);
-               ret = -1;
-       }
+       if (ret == 0 && len && *actread != len)
+               printf("** %s shorter than offset + len **\n", filename);
        fs_close();
 
        return ret;
index 4cb0600cf9b9ad53f9f75568cc892e498c198f7d..3625d748d5721b423743879b05abdd6d85ee3f90 100644 (file)
@@ -10,4 +10,5 @@ obj-y += compr_rtime.o
 obj-y += compr_rubin.o
 obj-y += compr_zlib.o
 obj-y += jffs2_1pass.o
+obj-$(CONFIG_SYS_JFFS2_SORT_FRAGMENTS) += mergesort.o
 obj-y += mini_inflate.o
index b1d647021928897855166f34c421f5aac680c491..64f55425df53e6ac9e1e6f7075bb860e49065716 100644 (file)
@@ -545,49 +545,19 @@ static struct b_node *
 insert_node(struct b_list *list, u32 offset)
 {
        struct b_node *new;
-#ifdef CONFIG_SYS_JFFS2_SORT_FRAGMENTS
-       struct b_node *b, *prev;
-#endif
 
        if (!(new = add_node(list))) {
                putstr("add_node failed!\r\n");
                return NULL;
        }
        new->offset = offset;
+       new->next = NULL;
 
-#ifdef CONFIG_SYS_JFFS2_SORT_FRAGMENTS
-       if (list->listTail != NULL && list->listCompare(new, list->listTail))
-               prev = list->listTail;
-       else if (list->listLast != NULL && list->listCompare(new, list->listLast))
-               prev = list->listLast;
+       if (list->listTail != NULL)
+               list->listTail->next = new;
        else
-               prev = NULL;
-
-       for (b = (prev ? prev->next : list->listHead);
-            b != NULL && list->listCompare(new, b);
-            prev = b, b = b->next) {
-               list->listLoops++;
-       }
-       if (b != NULL)
-               list->listLast = prev;
-
-       if (b != NULL) {
-               new->next = b;
-               if (prev != NULL)
-                       prev->next = new;
-               else
-                       list->listHead = new;
-       } else
-#endif
-       {
-               new->next = (struct b_node *) NULL;
-               if (list->listTail != NULL) {
-                       list->listTail->next = new;
-                       list->listTail = new;
-               } else {
-                       list->listTail = list->listHead = new;
-               }
-       }
+               list->listHead = new;
+       list->listTail = new;
 
        return new;
 }
@@ -598,14 +568,18 @@ insert_node(struct b_list *list, u32 offset)
  */
 static int compare_inodes(struct b_node *new, struct b_node *old)
 {
-       struct jffs2_raw_inode ojNew;
-       struct jffs2_raw_inode ojOld;
-       struct jffs2_raw_inode *jNew =
-               (struct jffs2_raw_inode *)get_fl_mem(new->offset, sizeof(ojNew), &ojNew);
-       struct jffs2_raw_inode *jOld =
-               (struct jffs2_raw_inode *)get_fl_mem(old->offset, sizeof(ojOld), &ojOld);
-
-       return jNew->version > jOld->version;
+       /*
+        * Only read in the version info from flash, not the entire inode.
+        * This can make a big difference to speed if flash is slow.
+        */
+       u32 new_version;
+       u32 old_version;
+       get_fl_mem(new->offset + offsetof(struct jffs2_raw_inode, version),
+                  sizeof(new_version), &new_version);
+       get_fl_mem(old->offset + offsetof(struct jffs2_raw_inode, version),
+                  sizeof(old_version), &old_version);
+
+       return new_version > old_version;
 }
 
 /* Sort directory entries so all entries in the same directory
@@ -615,42 +589,45 @@ static int compare_inodes(struct b_node *new, struct b_node *old)
  */
 static int compare_dirents(struct b_node *new, struct b_node *old)
 {
-       struct jffs2_raw_dirent ojNew;
-       struct jffs2_raw_dirent ojOld;
-       struct jffs2_raw_dirent *jNew =
-               (struct jffs2_raw_dirent *)get_fl_mem(new->offset, sizeof(ojNew), &ojNew);
-       struct jffs2_raw_dirent *jOld =
-               (struct jffs2_raw_dirent *)get_fl_mem(old->offset, sizeof(ojOld), &ojOld);
-       int cmp;
-
-       /* ascending sort by pino */
-       if (jNew->pino != jOld->pino)
-               return jNew->pino > jOld->pino;
-
-       /* pino is the same, so use ascending sort by nsize, so
-        * we don't do strncmp unless we really must.
-        */
-       if (jNew->nsize != jOld->nsize)
-               return jNew->nsize > jOld->nsize;
-
-       /* length is also the same, so use ascending sort by name
-        */
-       cmp = strncmp((char *)jNew->name, (char *)jOld->name, jNew->nsize);
-       if (cmp != 0)
-               return cmp > 0;
-
-       /* we have duplicate names in this directory, so use ascending
-        * sort by version
+       /*
+        * Using NULL as the buffer for NOR flash prevents the entire node
+        * being read. This makes most comparisons much quicker as only one
+        * or two entries from the node will be used most of the time.
         */
-       if (jNew->version > jOld->version) {
-               /* since jNew is newer, we know jOld is not valid, so
-                * mark it with inode 0 and it will not be used
+       struct jffs2_raw_dirent *jNew = get_node_mem(new->offset, NULL);
+       struct jffs2_raw_dirent *jOld = get_node_mem(old->offset, NULL);
+       int cmp;
+       int ret;
+
+       if (jNew->pino != jOld->pino) {
+               /* ascending sort by pino */
+               ret = jNew->pino > jOld->pino;
+       } else if (jNew->nsize != jOld->nsize) {
+               /*
+                * pino is the same, so use ascending sort by nsize,
+                * so we don't do strncmp unless we really must.
                 */
-               jOld->ino = 0;
-               return 1;
+               ret = jNew->nsize > jOld->nsize;
+       } else {
+               /*
+                * length is also the same, so use ascending sort by name
+                */
+               cmp = strncmp((char *)jNew->name, (char *)jOld->name,
+                       jNew->nsize);
+               if (cmp != 0) {
+                       ret = cmp > 0;
+               } else {
+                       /*
+                        * we have duplicate names in this directory,
+                        * so use ascending sort by version
+                        */
+                       ret = jNew->version > jOld->version;
+               }
        }
+       put_fl_mem(jNew, NULL);
+       put_fl_mem(jOld, NULL);
 
-       return 0;
+       return ret;
 }
 #endif
 
@@ -719,11 +696,22 @@ jffs2_1pass_read_inode(struct b_lists *pL, u32 inode, char *dest)
                }
                put_fl_mem(jNode, pL->readbuf);
        }
+       /*
+        * If no destination is provided, we are done.
+        * Just return the total size.
+        */
+       if (!dest)
+               return totalSize;
 #endif
 
        for (b = pL->frag.listHead; b != NULL; b = b->next) {
-               jNode = (struct jffs2_raw_inode *) get_node_mem(b->offset,
-                                                               pL->readbuf);
+               /*
+                * Copy just the node and not the data at this point,
+                * since we don't yet know if we need this data.
+                */
+               jNode = (struct jffs2_raw_inode *)get_fl_mem(b->offset,
+                               sizeof(struct jffs2_raw_inode),
+                               pL->readbuf);
                if (inode == jNode->ino) {
 #if 0
                        putLabeledWord("\r\n\r\nread_inode: totlen = ", jNode->totlen);
@@ -747,7 +735,15 @@ jffs2_1pass_read_inode(struct b_lists *pL, u32 inode, char *dest)
 #endif
 
                        if(dest) {
-                               src = ((uchar *) jNode) + sizeof(struct jffs2_raw_inode);
+                               /*
+                                * Now that the inode has been checked,
+                                * read the entire inode, including data.
+                                */
+                               put_fl_mem(jNode, pL->readbuf);
+                               jNode = (struct jffs2_raw_inode *)
+                                       get_node_mem(b->offset, pL->readbuf);
+                               src = ((uchar *)jNode) +
+                                       sizeof(struct jffs2_raw_inode);
                                /* ignore data behind latest known EOF */
                                if (jNode->offset > totalSize) {
                                        put_fl_mem(jNode, pL->readbuf);
@@ -832,7 +828,6 @@ jffs2_1pass_find_inode(struct b_lists * pL, const char *name, u32 pino)
                jDir = (struct jffs2_raw_dirent *) get_node_mem(b->offset,
                                                                pL->readbuf);
                if ((pino == jDir->pino) && (len == jDir->nsize) &&
-                   (jDir->ino) &&      /* 0 for unlink */
                    (!strncmp((char *)jDir->name, name, len))) {        /* a match */
                        if (jDir->version < version) {
                                put_fl_mem(jDir, pL->readbuf);
@@ -953,16 +948,47 @@ jffs2_1pass_list_inodes(struct b_lists * pL, u32 pino)
        for (b = pL->dir.listHead; b; b = b->next) {
                jDir = (struct jffs2_raw_dirent *) get_node_mem(b->offset,
                                                                pL->readbuf);
-               if ((pino == jDir->pino) && (jDir->ino)) { /* ino=0 -> unlink */
+               if (pino == jDir->pino) {
                        u32 i_version = 0;
-                       struct jffs2_raw_inode ojNode;
                        struct jffs2_raw_inode *jNode, *i = NULL;
-                       struct b_node *b2 = pL->frag.listHead;
+                       struct b_node *b2;
 
-                       while (b2) {
+#ifdef CONFIG_SYS_JFFS2_SORT_FRAGMENTS
+                       /* Check for more recent versions of this file */
+                       int match;
+                       do {
+                               struct b_node *next = b->next;
+                               struct jffs2_raw_dirent *jDirNext;
+                               if (!next)
+                                       break;
+                               jDirNext = (struct jffs2_raw_dirent *)
+                                       get_node_mem(next->offset, NULL);
+                               match = jDirNext->pino == jDir->pino &&
+                                       jDirNext->nsize == jDir->nsize &&
+                                       strncmp((char *)jDirNext->name,
+                                               (char *)jDir->name,
+                                               jDir->nsize) == 0;
+                               if (match) {
+                                       /* Use next. It is more recent */
+                                       b = next;
+                                       /* Update buffer with the new info */
+                                       *jDir = *jDirNext;
+                               }
+                               put_fl_mem(jDirNext, NULL);
+                       } while (match);
+#endif
+                       if (jDir->ino == 0) {
+                               /* Deleted file */
+                               put_fl_mem(jDir, pL->readbuf);
+                               continue;
+                       }
+
+                       for (b2 = pL->frag.listHead; b2; b2 = b2->next) {
                                jNode = (struct jffs2_raw_inode *)
-                                       get_fl_mem(b2->offset, sizeof(ojNode), &ojNode);
-                               if (jNode->ino == jDir->ino && jNode->version >= i_version) {
+                                       get_fl_mem(b2->offset, sizeof(*jNode),
+                                                  NULL);
+                               if (jNode->ino == jDir->ino &&
+                                   jNode->version >= i_version) {
                                        i_version = jNode->version;
                                        if (i)
                                                put_fl_mem(i, NULL);
@@ -975,7 +1001,7 @@ jffs2_1pass_list_inodes(struct b_lists * pL, u32 pino)
                                                               sizeof(*i),
                                                               NULL);
                                }
-                               b2 = b2->next;
+                               put_fl_mem(jNode, NULL);
                        }
 
                        dump_inode(pL, jDir, i);
@@ -1424,7 +1450,7 @@ dump_dirents(struct b_lists *pL)
 }
 #endif
 
-#define DEFAULT_EMPTY_SCAN_SIZE        4096
+#define DEFAULT_EMPTY_SCAN_SIZE        256
 
 static inline uint32_t EMPTY_SCAN_SIZE(uint32_t sector_size)
 {
@@ -1445,7 +1471,7 @@ jffs2_1pass_build_lists(struct part_info * part)
        u32 counterF = 0;
        u32 counterN = 0;
        u32 max_totlen = 0;
-       u32 buf_size = DEFAULT_EMPTY_SCAN_SIZE;
+       u32 buf_size;
        char *buf;
 
        nr_sectors = lldiv(part->size, part->sector_size);
@@ -1457,7 +1483,7 @@ jffs2_1pass_build_lists(struct part_info * part)
        /* if we are building a list we need to refresh the cache. */
        jffs_init_1pass_list(part);
        pL = (struct b_lists *)part->jffs2_priv;
-       buf = malloc(buf_size);
+       buf = malloc(DEFAULT_EMPTY_SCAN_SIZE);
        puts ("Scanning JFFS2 FS:   ");
 
        /* start at the beginning of the partition */
@@ -1472,7 +1498,11 @@ jffs2_1pass_build_lists(struct part_info * part)
                uint32_t sumlen;
                int ret;
 #endif
+               /* Indicates a sector with a CLEANMARKER was found */
+               int clean_sector = 0;
 
+               /* Set buf_size to maximum length */
+               buf_size = DEFAULT_EMPTY_SCAN_SIZE;
                WATCHDOG_RESET();
 
 #ifdef CONFIG_JFFS2_SUMMARY
@@ -1547,6 +1577,11 @@ jffs2_1pass_build_lists(struct part_info * part)
 
                ofs += sector_ofs;
                prevofs = ofs - 1;
+               /*
+                * Set buf_size down to the minimum size required.
+                * This prevents reading in chunks of flash data unnecessarily.
+                */
+               buf_size = sizeof(union jffs2_node_union);
 
        scan_more:
                while (ofs < sector_ofs + part->sector_size) {
@@ -1589,6 +1624,14 @@ jffs2_1pass_build_lists(struct part_info * part)
                                        ofs += 4;
                                }
                                /* Ran off end. */
+                               /*
+                                * If this sector had a clean marker at the
+                                * beginning, and immediately following this
+                                * have been a bunch of FF bytes, treat the
+                                * entire sector as empty.
+                                */
+                               if (clean_sector)
+                                       break;
 
                                /* See how much more there is to read in this
                                 * eraseblock...
@@ -1610,6 +1653,11 @@ jffs2_1pass_build_lists(struct part_info * part)
                                buf_ofs = ofs;
                                goto more_empty;
                        }
+                       /*
+                        * Found something not erased in the sector, so reset
+                        * the 'clean_sector' flag.
+                        */
+                       clean_sector = 0;
                        if (node->magic != JFFS2_MAGIC_BITMASK ||
                                        !hdr_crc(node)) {
                                ofs += 4;
@@ -1627,13 +1675,18 @@ jffs2_1pass_build_lists(struct part_info * part)
                        case JFFS2_NODETYPE_INODE:
                                if (buf_ofs + buf_len < ofs + sizeof(struct
                                                        jffs2_raw_inode)) {
+                                       buf_len = min_t(uint32_t,
+                                                       sizeof(struct jffs2_raw_inode),
+                                                       sector_ofs +
+                                                       part->sector_size -
+                                                       ofs);
                                        get_fl_mem((u32)part->offset + ofs,
                                                   buf_len, buf);
                                        buf_ofs = ofs;
                                        node = (void *)buf;
                                }
-                               if (!inode_crc((struct jffs2_raw_inode *) node))
-                                      break;
+                               if (!inode_crc((struct jffs2_raw_inode *)node))
+                                       break;
 
                                if (insert_node(&pL->frag, (u32) part->offset +
                                                ofs) == NULL) {
@@ -1650,6 +1703,11 @@ jffs2_1pass_build_lists(struct part_info * part)
                                                        ((struct
                                                         jffs2_raw_dirent *)
                                                        node)->nsize) {
+                                       buf_len = min_t(uint32_t,
+                                                       node->totlen,
+                                                       sector_ofs +
+                                                       part->sector_size -
+                                                       ofs);
                                        get_fl_mem((u32)part->offset + ofs,
                                                   buf_len, buf);
                                        buf_ofs = ofs;
@@ -1681,6 +1739,16 @@ jffs2_1pass_build_lists(struct part_info * part)
                                                "%d != %zu\n",
                                                node->totlen,
                                                sizeof(struct jffs2_unknown_node));
+                               if ((node->totlen ==
+                                    sizeof(struct jffs2_unknown_node)) &&
+                                   (ofs == sector_ofs)) {
+                                       /*
+                                        * Found a CLEANMARKER at the beginning
+                                        * of the sector. It's in the correct
+                                        * place with correct size and CRC.
+                                        */
+                                       clean_sector = 1;
+                               }
                                break;
                        case JFFS2_NODETYPE_PADDING:
                                if (node->totlen < sizeof(struct jffs2_unknown_node))
@@ -1702,6 +1770,13 @@ jffs2_1pass_build_lists(struct part_info * part)
        }
 
        free(buf);
+#if defined(CONFIG_SYS_JFFS2_SORT_FRAGMENTS)
+       /*
+        * Sort the lists.
+        */
+       sort_list(&pL->frag);
+       sort_list(&pL->dir);
+#endif
        putstr("\b\b done.\r\n");               /* close off the dots */
 
        /* We don't care if malloc failed - then each read operation will
index 658b32521904c98eb0460f9760495402fd4a345d..06b6ca29194dd93cb0fcb3664fa674fb8711b213 100644 (file)
@@ -98,4 +98,8 @@ data_crc(struct jffs2_raw_inode *node)
        }
 }
 
+#if defined(CONFIG_SYS_JFFS2_SORT_FRAGMENTS)
+/* External merge sort. */
+int sort_list(struct b_list *list);
+#endif
 #endif /* jffs2_private.h */
diff --git a/fs/jffs2/mergesort.c b/fs/jffs2/mergesort.c
new file mode 100644 (file)
index 0000000..6e633a1
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * This file is copyright 2001 Simon Tatham.
+ * Rewritten from original source 2006 by Dan Merillat for use in u-boot.
+ *
+ * Original code can be found at:
+ * http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html
+ *
+ * SPDX-License-Identifier:    MIT
+ */
+
+#include <common.h>
+#include "jffs2_private.h"
+
+int sort_list(struct b_list *list)
+{
+       struct b_node *p, *q, *e, **tail;
+       int k, psize, qsize;
+
+       if (!list->listHead)
+               return 0;
+
+       for (k = 1; k < list->listCount; k *= 2) {
+               tail = &list->listHead;
+               for (p = q = list->listHead; p; p = q) {
+                       /* step 'k' places from p; */
+                       for (psize = 0; q && psize < k; psize++)
+                               q = q->next;
+                       qsize = k;
+
+                       /* two lists, merge them. */
+                       while (psize || (qsize && q)) {
+                               /* merge the next element */
+                               if (psize == 0 ||
+                                   ((qsize && q) &&
+                                    list->listCompare(p, q))) {
+                                       /* p is empty, or p > q, so q next */
+                                       e = q;
+                                       q = q->next;
+                                       qsize--;
+                               } else {
+                                       e = p;
+                                       p = p->next;
+                                       psize--;
+                               }
+                               e->next = NULL; /* break accidental loops. */
+                               *tail = e;
+                               tail = &e->next;
+                       }
+               }
+       }
+       return 0;
+}
index ec4815c8e05179508c00cce24655acd7382ba62e..b884c7460013faab98010d48b08952c77287683d 100644 (file)
@@ -54,5 +54,5 @@ static inline uint bitfield_replace(uint reg_val, uint shift, uint width,
 {
        uint mask = bitfield_mask(shift, width);
 
-       return (reg_val & ~mask) | (bitfield_val << shift);
+       return (reg_val & ~mask) | ((bitfield_val << shift) & mask);
 }
index fcc9ae7c21cf5b2ff5e2e57264bfa908f739fc99..5c076d6ce184dd7d7cc1d4dfd447a613db3c47aa 100644 (file)
@@ -830,11 +830,18 @@ int       getc(void);
 int    tstc(void);
 
 /* stdout */
+#if defined(CONFIG_SPL_BUILD) && !defined(CONFIG_SPL_SERIAL_SUPPORT)
+#define        putc(...) do { } while (0)
+#define puts(...) do { } while (0)
+#define printf(...) do { } while (0)
+#define vprintf(...) do { } while (0)
+#else
 void   putc(const char c);
 void   puts(const char *s);
 int    printf(const char *fmt, ...)
                __attribute__ ((format (__printf__, 1, 2)));
 int    vprintf(const char *fmt, va_list args);
+#endif
 
 /* stderr */
 #define eputc(c)               fputc(stderr, c)
index bd8fbcafc2d00c71f8d07b9a081963681018abf1..d8165cc80e3e8df95f8b4d17e040c9e1cdfa282c 100644 (file)
 #if defined(__arm__) || defined(__aarch64__)
 #define CONFIG_BOOTP_PXE_CLIENTARCH     0x100
 #if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__)
+#if !defined(CONFIG_BOOTP_VCI_STRING)
 #define CONFIG_BOOTP_VCI_STRING         "U-boot.armv7"
+#endif
 #elif defined(__aarch64__)
+#if !defined(CONFIG_BOOTP_VCI_STRING)
 #define CONFIG_BOOTP_VCI_STRING         "U-boot.armv8"
+#endif
 #else
+#if !defined(CONFIG_BOOTP_VCI_STRING)
 #define CONFIG_BOOTP_VCI_STRING         "U-boot.arm"
 #endif
+#endif
 #elif defined(__i386__)
 #define CONFIG_BOOTP_PXE_CLIENTARCH     0x0
 #elif defined(__x86_64__)
index a2468c38202b1ca17c5028c5e219a2f6298049d7..5e15dd91b3ee8c439b470875600e8dfb0a39418a 100644 (file)
@@ -88,7 +88,6 @@
        ""
 
 #define CONFIG_PRAM            512     /* 512 KB */
-#define CONFIG_SYS_PROMPT      "-> "
 #define CONFIG_SYS_LONGHELP    /* undef to save memory */
 
 #ifdef CONFIG_CMD_KGDB
index 2e860161844cf03e00e049bbe14a05defb3cd0b7..d1cadc0165b42f49d2fd17ff10824777854f6ba8 100644 (file)
 
 #define CONFIG_PRAM            2048    /* 2048 KB */
 
-#define CONFIG_SYS_PROMPT      "-> "
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 
 #if defined(CONFIG_CMD_KGDB)
index ae11e7d87953577e8845ee147edd316246ecded1..1472672087d9ad2139f04a2e81061d19772ff696 100644 (file)
        ""
 
 #define CONFIG_PRAM            512     /* 512 KB */
-#define CONFIG_SYS_PROMPT              "-> "
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 
 #if defined(CONFIG_KGDB)
index d888c3e549824dbb83a108d7eabe7dd385bc59f0..006f2d8e9b3df1c2a32ff672f4a718353c434934 100644 (file)
        "save\0"                                \
        ""
 
-#define CONFIG_SYS_PROMPT              "-> "
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 
 #if defined(CONFIG_CMD_KGDB)
index fa9b973fa8f55cb8ad79c9470f5dd3778902ce69..116e8e27f99ded3be244c3535e911026e7689bb1 100644 (file)
@@ -98,7 +98,6 @@
 #define CONFIG_SYS_I2C_PINMUX_CLR      (0xFFF0)
 #define CONFIG_SYS_I2C_PINMUX_SET      (0x000F)
 
-#define CONFIG_SYS_PROMPT              "-> "
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 
 #if (CONFIG_CMD_KGDB)
index 860abe7bca603f60a2ab1f5a6b197e3507c8413a..eff0aa600772f915dbbbb31e39272425db9eb01b 100644 (file)
@@ -94,7 +94,6 @@
        "save\0"                                \
        ""
 
-#define CONFIG_SYS_PROMPT              "-> "
 #define        CONFIG_SYS_LONGHELP             /* undef to save memory         */
 
 #if defined(CONFIG_CMD_KGDB)
index 817b142bf98b049d2cdc4d9316f2d1d40ff43739..a48ae6bccd33dee749bd2b3ceed33cb597d77f91 100644 (file)
        ""
 
 #define CONFIG_PRAM            512     /* 512 KB */
-#define CONFIG_SYS_PROMPT      "-> "
 #define CONFIG_SYS_LONGHELP    /* undef to save memory */
 
 #ifdef CONFIG_CMD_KGDB
index 4724a9c89dd98f01fc6811b795f8fa010c409c79..e806b7a3eb11283dae9455217b2d3aa4a247f5f5 100644 (file)
        ""
 
 #define CONFIG_PRAM            512     /* 512 KB */
-#define CONFIG_SYS_PROMPT              "-> "
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 
 #ifdef CONFIG_CMD_KGDB
index 32afa44147cde8b2dc7998a150d4b54e4ec4d56f..1df98f7e481f9b38a4909ba76d7f73a6833269c4 100644 (file)
        ""
 
 #define CONFIG_PRAM            512     /* 512 KB */
-#define CONFIG_SYS_PROMPT              "-> "
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 
 #ifdef CONFIG_CMD_KGDB
index 1f65918d0d811308d761269f6b8cb0165ee68dd9..db0ddcd5e4ed1e72f1ee0b045267212e3238b96b 100644 (file)
 #define CONFIG_SYS_HUSH_PARSER         1
 #define CONFIG_SYS_PROMPT_HUSH_PS2     "> "
 
-#define CONFIG_SYS_PROMPT              "-> "
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 
 #if defined(CONFIG_CMD_KGDB)
index 2c08512ff66e0e2a5a7a6671dac1d82b493ee6eb..de747a48be223973ee375afe7ae23db5bbd23ee4 100644 (file)
 
 #define CONFIG_PRAM                    2048    /* 2048 KB */
 
-#define CONFIG_SYS_PROMPT              "-> "
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 
 #if defined(CONFIG_CMD_KGDB)
index e82ba329845efef025f4dba4389225726fad2918..06da5f0e50e56add393060c4f5640388ec5b6bee 100644 (file)
 
 #define CONFIG_PRAM            2048    /* 2048 KB */
 
-#define CONFIG_SYS_PROMPT              "-> "
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 
 #if defined(CONFIG_CMD_KGDB)
index 3c1bb90de1b29d1d0ccae820f35b8159251761c2..e30b645efa4cd72ef4de8999b37e50c86a62f3be 100644 (file)
        ""
 
 #define CONFIG_PRAM            512     /* 512 KB */
-#define CONFIG_SYS_PROMPT              "-> "
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 
 #ifdef CONFIG_CMD_KGDB
index 7e1b3646f8adc9472e07698267106ed0f31c76ab..051c9409bdf250fca4f96bd88fc1b34d3a7d31d7 100644 (file)
        ""
 
 #define CONFIG_PRAM            512     /* 512 KB */
-#define CONFIG_SYS_PROMPT              "-> "
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 
 #ifdef CONFIG_CMD_KGDB
index 32cb007ab77d48a083ac1ab58b86b60f1931cc41..834786d9406c67462d8a7fb171a5a7306bcbc73f 100644 (file)
@@ -544,12 +544,6 @@ boards, we say we have two, but don't display a message if we find only one. */
 #define CONFIG_SYS_LOAD_ADDR   0x2000000       /* default load address */
 #define CONFIG_LOADADDR        800000  /* default location for tftp and bootm */
 
-#ifdef CONFIG_MPC8349ITX
-#define CONFIG_SYS_PROMPT "MPC8349E-mITX> "    /* Monitor Command Prompt */
-#else
-#define CONFIG_SYS_PROMPT "MPC8349E-mITX-GP> " /* Monitor Command Prompt */
-#endif
-
 #if defined(CONFIG_CMD_KGDB)
        #define CONFIG_SYS_CBSIZE       1024    /* Console I/O Buffer Size */
 #else
index dfc4fc0f36579afaf9c0293f6cd8e4b5a8437891..5d0e42204128a5b20dcc323020cb28bbdb8c91ba 100644 (file)
@@ -71,7 +71,6 @@
 #define CONFIG_PREBOOT
 
 #define        CONFIG_SYS_LONGHELP                             /* undef to save memory         */
-#define        CONFIG_SYS_PROMPT               "pati=> "               /* Monitor Command Prompt       */
 #if defined(CONFIG_CMD_KGDB)
 #define        CONFIG_SYS_CBSIZE               1024            /* Console I/O Buffer Size      */
 #else
index 0fa03cf93cd652af6ecc58dfe334c90941309d63..21a918a48499fd5feea907e55fffe4db89cf280c 100644 (file)
@@ -871,7 +871,6 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_CMDLINE_EDITING                 /* Command-line editing */
 #define CONFIG_AUTO_COMPLETE                   /* add autocompletion support */
 #define CONFIG_SYS_LOAD_ADDR   0x2000000       /* default load address */
-#define CONFIG_SYS_PROMPT      "=> "           /* Monitor Command Prompt */
 #ifdef CONFIG_CMD_KGDB
 #define CONFIG_SYS_CBSIZE      1024            /* Console I/O Buffer Size */
 #else
index bde71fbca35c47b6754b8ca41caef918dc8c6329..242c239b28cb74ae6741b627954b86ea0672b275 100644 (file)
@@ -873,7 +873,6 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_CMDLINE_EDITING                 /* Command-line editing */
 #define CONFIG_AUTO_COMPLETE                   /* add autocompletion support */
 #define CONFIG_SYS_LOAD_ADDR   0x2000000       /* default load address */
-#define CONFIG_SYS_PROMPT      "=> "           /* Monitor Command Prompt */
 #ifdef CONFIG_CMD_KGDB
 #define CONFIG_SYS_CBSIZE      1024            /* Console I/O Buffer Size */
 #else
index bdedef5374f959ec74f7bb4e5c86b0945aeff268..76611b079932057839f568278005cd0d608bf520 100644 (file)
 #define CONFIG_SYS_LONGHELP                    /* undef to save memory */
 #define CONFIG_CMDLINE_EDITING                 /* Command-line editing */
 #define CONFIG_SYS_LOAD_ADDR   0x2000000       /* default load address */
-#define CONFIG_SYS_PROMPT      "B$ "           /* Monitor Command Prompt */
 #if defined(CONFIG_CMD_KGDB)
 #define CONFIG_SYS_CBSIZE      1024            /* Console I/O Buffer Size */
 #else
index 60c2948f07465bc086135bf650d79147250c902a..5b2e09222bf46a74bf0a429a644e80faf951682d 100644 (file)
 
 /* Miscellaneous configurable options */
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
-#define CONFIG_SYS_PROMPT              "VCMA9 # "
 #define CONFIG_SYS_CBSIZE              256
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
index 8a5d1e6fa4168f3a6c2ecee4bc2af113023540d9..f05d9ecd149f424c5e03682a872f8e641057fb29 100644 (file)
  */
 #define CONFIG_SYS_LONGHELP                    /* undef to save memory */
 #define CONFIG_SYS_LOAD_ADDR   0x2000000       /* default load address */
-#define CONFIG_SYS_PROMPT      "ac14xx> "      /* Monitor Command Prompt */
 
 #ifdef CONFIG_CMD_KGDB
 # define CONFIG_SYS_CBSIZE     1024            /* Console I/O Buffer Size */
index 141fc99ceae5eb35addfbe322dd0fb1df19e0fff..0f256d8a134d63101e7eb448aca52c827fb92a1e 100644 (file)
  * Miscellaneous configurable options
  */
 #define CONFIG_SYS_LONGHELP                    /* undef to save memory */
-#define CONFIG_SYS_PROMPT      "NDS32 # "      /* Monitor Command Prompt */
 #define CONFIG_SYS_CBSIZE      256             /* Console I/O Buffer Size */
 
 /* Print Buffer Size */
index 4296c6b4770503a229408e91ec163dc925fc0eb3..94fcdbd2491593ca555a11c56cfc108ab1109ded 100644 (file)
  * Miscellaneous configurable options
  */
 #define CONFIG_SYS_LONGHELP                    /* undef to save memory */
-#define CONFIG_SYS_PROMPT      "NDS32 # "      /* Monitor Command Prompt */
 #define CONFIG_SYS_CBSIZE      256             /* Console I/O Buffer Size */
 
 /* Print Buffer Size */
index 0c7573a452479846a0aee521d7ecb60c58d3a78f..6f05d87c040d2ecc2d29250ffc112ae24dd93b56 100644 (file)
  * Miscellaneous configurable options
  */
 #define CONFIG_SYS_LONGHELP                    /* undef to save memory */
-#define CONFIG_SYS_PROMPT      "NDS32 # "      /* Monitor Command Prompt */
 #define CONFIG_SYS_CBSIZE      256             /* Console I/O Buffer Size */
 
 /* Print Buffer Size */
index 600fefbc203624180955d8fdb42a932398a51570..654b7780d19c17b1a9f9bcc4c674b3413aa174ce 100644 (file)
 /*
  * Miscellaneous configurable options
  */
-#define V_PROMPT                       "AM3517_CRANE # "
-
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER         /* use "hush" command parser */
-#define CONFIG_SYS_PROMPT              V_PROMPT
 #define CONFIG_SYS_CBSIZE              512     /* Console I/O Buffer Size */
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
 #define CONFIG_SPL_LDSCRIPT            "$(CPUDIR)/omap-common/u-boot-spl.lds"
 
 /* NAND boot config */
-#define CONFIG_SYS_NAND_BUSWIDTH_16BIT 16
+#define CONFIG_SYS_NAND_BUSWIDTH_16BIT
 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
 #define CONFIG_SYS_NAND_PAGE_COUNT     64
 #define CONFIG_SYS_NAND_PAGE_SIZE      2048
index 30f31a93ada7e9741842416f14f0e4f82dfbef62..70490910d7396c2b80881561523e0b8753c526e4 100644 (file)
 /*
  * Miscellaneous configurable options
  */
-#define V_PROMPT                       "AM3517_EVM # "
-
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER         /* use "hush" command parser */
-#define CONFIG_SYS_PROMPT              V_PROMPT
 #define CONFIG_SYS_CBSIZE              512     /* Console I/O Buffer Size */
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
index 45fd265d6770a3a0d36eadcb3a9ff1f4233e3ad9..bbab8b2f48171252dbcb1c566e94ff3c07c1ddfb 100644 (file)
@@ -26,7 +26,6 @@
 #define CONFIG_CMD_TIMER
 #define CONFIG_CMD_DIAG
 
-#define CONFIG_SYS_PROMPT              "amcore $ "
 /* undef to save memory        */
 #undef CONFIG_SYS_LONGHELP
 
index 620ca02d7c2bcd5c5263da08ba4a0d9d27137db3..bcaea95c4573a35f574b0d5181d96ca772acfd60 100644 (file)
@@ -12,7 +12,6 @@
 #include "tegra30-common.h"
 
 /* High-level configuration options */
-#define V_PROMPT                       "Apalis T30 # "
 #define CONFIG_TEGRA_BOARD_STRING      "Toradex Apalis T30"
 
 /* Board-specific serial config */
index a0a26bbf61729c3d05b8b5dca0aeb9ac23cf3cdb..43fbdd3d11d69df7f5f4725493294c70f527bac5 100644 (file)
@@ -40,6 +40,7 @@
 #define CONFIG_SPL_LDSCRIPT    "arch/$(ARCH)/cpu/u-boot-spl.lds"
 #define CONFIG_SPL_MAX_SIZE    2048
 #define CONFIG_SPL_TEXT_BASE    0xA0000000
+#define CONFIG_SPL_SERIAL_SUPPORT
 
 /* NAND boot config */
 #define CONFIG_SPL_NAND_SUPPORT
  * U-Boot general configurations
  */
 #define CONFIG_SYS_LONGHELP
-#define CONFIG_SYS_PROMPT              "BIOS> "        /* prompt string */
 #define CONFIG_SYS_CBSIZE              2048            /* console I/O buffer */
 #define CONFIG_SYS_PBSIZE              \
                                (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
index 6636e0e3c685358e3c11dd6967e3d01f3c121cef..a342d7ef92423f6885f804a356eadbae370fa984 100644 (file)
@@ -67,7 +67,6 @@
  * Console configuration
  */
 #define CONFIG_SYS_LONGHELP
-#define CONFIG_SYS_PROMPT              "arcangel4# "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_BARGSIZE            CONFIG_SYS_CBSIZE
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
index 8784c4e38d9346c8b95db3d816c6407fff689c0e..437a7454146c0f69d37e64f4062881af90ece57c 100644 (file)
@@ -25,7 +25,6 @@
 #define CONFIG_EXYNOS_SPL
 
 /* Miscellaneous configurable options */
-#define CONFIG_SYS_PROMPT              "ARNDALE # "
 #define CONFIG_DEFAULT_CONSOLE         "console=ttySAC2,115200n8\0"
 
 #define CONFIG_IDENT_STRING            " for ARNDALE"
index c6e1f5635aa086eb2d2b89573d549ece62734b75..1c3a1c978c13f445ce025d28ff207f15753574eb 100644 (file)
 #define CONFIG_BOOTARGS                " console=ttyS2,115200 rootfstype=romfs"\
                                " loaderversion=$loaderversion"
 
-#define CONFIG_SYS_PROMPT      "URMEL > "
-
 /* default RAM address for user programs */
 #define CONFIG_SYS_LOAD_ADDR   0x20000
 
index c2621ffe8419844972cf5b418e9bc47246aa18cf..2bded45548e5b05ac4b1130fca8e2a97d4d17b7b 100644 (file)
@@ -66,7 +66,6 @@
 
 #define CONFIG_BAUDRATE                        115200
 
-#define CONFIG_SYS_PROMPT              "U-Boot> "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_MAXARGS             16
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
index 6f1f65fb3cd18a7c8ac586a7402d89f0b9d0579f..7e026ef45425cdb43dd71e5ea051d3d93eefd6e0 100644 (file)
 #define CONFIG_SYS_LONGHELP
 #define CONFIG_AUTO_COMPLETE
 #define CONFIG_SYS_HUSH_PARSER
-#define CONFIG_SYS_PROMPT              "U-Boot> "
 #define CONFIG_SYS_CBSIZE              256     /* Console I/O Buffer Size */
 #define CONFIG_SYS_MAXARGS             16      /* max number of command args */
 /* Print Buffer Size */
index e98cf0ca5c5e3e4ab2d1f0da4e7925eb0f782ab2..459b8f97e0b80eaae4870f55dff8a01deee10b4f 100644 (file)
        "root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait"
 #endif
 
-#define CONFIG_SYS_PROMPT              "U-Boot> "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_MAXARGS             16
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
index 42461d2968854beb0aaa526b30e76ba5d7ae9ee1..9c595f28674133d705fbdb68070aef12dac624f5 100644 (file)
        "root=/dev/mtdblock7 rw rootfstype=jffs2"
 #endif
 
-#define CONFIG_SYS_PROMPT              "U-Boot> "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_MAXARGS             16
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
index 731c7f1f0e8b34255a7704763cb1cb6c260d3859..3eb0154c06cc22f1e64c02ca130e67673e20c5b7 100644 (file)
        "root=/dev/mtdblock7 rw rootfstype=jffs2"
 #endif
 
-#define CONFIG_SYS_PROMPT              "U-Boot> "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_MAXARGS             16
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
index 09d8bec0647736f50fe74f647117c207b68f3306..4d9020975ef9f819f5c39f6a40b7b2ec58a9688d 100644 (file)
 
 #define CONFIG_BAUDRATE                        115200
 
-#define CONFIG_SYS_PROMPT              "U-Boot> "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_MAXARGS             16
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
index a19d4d9e1736b147627d9a8ac653ceb1161c9cd7..ea0a94bcde32b3d61c9ef01fd17410ef8753aecf 100644 (file)
 
 #endif
 
-#define CONFIG_SYS_PROMPT      "U-Boot> "
 #define CONFIG_SYS_CBSIZE      256
 #define CONFIG_SYS_MAXARGS     16
 #define CONFIG_SYS_PBSIZE      (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) \
index e709f9cf37143c70ff51fc026925e4bad86e47b5..f7a174edbf3b2b1f2d4cb17c1a60a83e1e96e241 100644 (file)
                                "root=/dev/mmcblk0p2 rw rootwait"
 #endif
 
-#define CONFIG_SYS_PROMPT              "U-Boot> "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_MAXARGS             16
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
index b9a77547b6c3d1329b58d43e42b05d9d001335d9..9f767862021dad2bd82b77c24d87de623df6cab6 100644 (file)
 
 #define CONFIG_BAUDRATE                115200
 
-#define CONFIG_SYS_PROMPT      "U-Boot> "
 #define CONFIG_SYS_CBSIZE      256
 #define CONFIG_SYS_MAXARGS     16
 #define CONFIG_SYS_PBSIZE      (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) \
index 1cab0a92c2a719c061eb64934c3663e820fcd9db..c436fef7b5c3ce1c6ba1f577ccd9223b6c7a6018 100644 (file)
 #define CONFIG_SYS_BOOTPARAMS_LEN              (16 * 1024)
 
 /* Other configuration settings that shouldn't have to change all that often */
-#define CONFIG_SYS_PROMPT                      "U-Boot> "
 #define CONFIG_SYS_CBSIZE                      256
 #define CONFIG_SYS_MAXARGS                     16
 #define CONFIG_SYS_PBSIZE                      (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
index 486d9ee63c4f8b84caccafa2fb1c70995a5ff9ba..39358113d2b2737f15126d56b04bfd2ac39f244c 100644 (file)
 #define CONFIG_SYS_BOOTPARAMS_LEN      (16 * 1024)
 
 /* Other configuration settings that shouldn't have to change all that often */
-#define CONFIG_SYS_PROMPT              "U-Boot> "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_MAXARGS             16
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
index 1cd99e976581c1ba60a9861812668973bc06c6e4..8cd7c3566e89b2b80c0b10e84981f7abf634e98d 100644 (file)
 #define CONFIG_SYS_BOOTPARAMS_LEN              (16 * 1024)
 
 /* Other configuration settings that shouldn't have to change all that often */
-#define CONFIG_SYS_PROMPT                      "U-Boot> "
 #define CONFIG_SYS_CBSIZE                      256
 #define CONFIG_SYS_MAXARGS                     16
 #define CONFIG_SYS_PBSIZE                      (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
index 25116e50bb8763a29906cdc8e6ea7b3bfe779d97..7cb885323aa17207f72d2331d799ec95a3d44e89 100644 (file)
  * Console configuration
  */
 #define CONFIG_SYS_LONGHELP
-#define CONFIG_SYS_PROMPT              "AXS# "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_BARGSIZE            CONFIG_SYS_CBSIZE
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
index 12c5a6cd15436e7ed3232996ba074767535b3202..124a7663d6023ebf12476bc1e68b253a2363e065 100644 (file)
@@ -64,6 +64,7 @@
 #define        CONFIG_SYS_HUSH_PARSER          1
 
 #define        CONFIG_SYS_LONGHELP
+#undef CONFIG_SYS_PROMPT
 #ifdef CONFIG_SYS_HUSH_PARSER
 #define        CONFIG_SYS_PROMPT               "$ "
 #else
index adc578a56df08cf31db2cb738240d8267f7fa991..1790f60092ca9b4c1815e7a08fc45c37f639040d 100644 (file)
@@ -25,7 +25,6 @@
 #define CONFIG_TEGRA_VDD_CORE_TPS62366A_SET1
 
 /* High-level configuration options */
-#define V_PROMPT               "Tegra30 (Beaver) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Beaver"
 
 /* Board-specific serial config */
index 7e52d17627b0f9ba984ad41364f3ac32c57922f2..6674d28605b15c900144e8102dd497397b84b80b 100644 (file)
 
 #define CONFIG_BOOTCOMMAND     "run ramboot"
 #define CONFIG_BOOTARGS        "root=/dev/mtdblock0 rw"
-#define CONFIG_SYS_PROMPT      "minotaur> "
 
 #define BOOT_ENV_SETTINGS \
        "update=tftpboot $(loadaddr) u-boot.ldr;" \
index d8a0cc6b5d35c236729a6abae3006f938aa23664..15d912e89ad26b7a235dff5ad143a515990f6b29 100644 (file)
 
 #define CONFIG_BOOTCOMMAND     "run flashboot"
 #define CONFIG_BOOTARGS        "root=/dev/mtdblock0 rw"
-#define CONFIG_SYS_PROMPT      "srv1> "
 
 #define BOOT_ENV_SETTINGS \
        "update=tftpboot $(loadaddr) u-boot.ldr;" \
index da283963148d27af79968faf6c27523e45777e68..b3c6d299959e80b87e232f1757e7edef55949a0b 100644 (file)
  */
 #define CONFIG_UART_CONSOLE                    0
 #define CONFIG_BAUDRATE                                57600
-#define CONFIG_SYS_PROMPT "Acvilon> "
 
 /*
  * Pull in common ADI header for remaining command/environment setup
index cbef809c5a49e543c4eada1bd588c7f3a3d73f08..959f9a92f02adef4763ed32d4b79305aac898f31 100644 (file)
 #define CONFIG_BAUDRATE                115200
 #define CONFIG_RTC_BFIN
 #define CONFIG_UART_CONSOLE    0
-#define CONFIG_SYS_PROMPT      "br4>"
 #define CONFIG_BOOTCOMMAND     "run nandboot"
 #define CONFIG_BOOTDELAY       2
 #define CONFIG_LOADADDR                0x2000000
index 152141531c71176c1d9b85fc7015f868a687389a..838ef1f00a23df7188589d6e76d4caaa8b32bb5c 100644 (file)
  */
 #define CONFIG_SYS_MALLOC_LEN          (5120 << 10)
 #define CONFIG_SYS_HUSH_PARSER
-#define CONFIG_SYS_PROMPT              "U-Boot (BuR V2.0)# "
 #define CONFIG_SYS_CONSOLE_INFO_QUIET
 #define CONFIG_ENV_OVERWRITE           /* Overwrite ethaddr / serial# */
 #define CONFIG_SYS_CONSOLE_IS_IN_ENV
index 7d8bb4790d64f22e7ac297a4801c1520c3660d74..c8b15fb534217c7261f8d4a6cd45bafa99565671 100644 (file)
  * U-Boot general configuration
  */
 #define CONFIG_BOOTFILE        "uImage" /* Boot file name */
-#define CONFIG_SYS_PROMPT      "Calimain > " /* Command Prompt */
 #define CONFIG_SYS_CBSIZE      1024 /* Console I/O Buffer Size */
 #define CONFIG_SYS_PBSIZE      (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
 #define CONFIG_SYS_MAXARGS     16 /* max number of command args */
index 3400dd46f97f76521ef2e90d72895b7ac83ce4f4..578c4ab856fe26e1f35f300b4a1be035e0adb3af 100644 (file)
 
 /* U-Boot general configuration */
 #define CONFIG_BOOTFILE                "uImage"        /* Boot file name */
-#define CONFIG_SYS_PROMPT      "cam_enc_4xx> " /* Monitor Command Prompt */
 #define CONFIG_SYS_CBSIZE      1024            /* Console I/O Buffer Size  */
 #define CONFIG_SYS_PBSIZE                      /* Print buffer size */ \
                (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
index 93c5f482720c9fade5b98bf0100e157c810487e5..ce6b1582ef038550b65a8e11e74ce88406de673d 100644 (file)
@@ -25,7 +25,6 @@
 #define CONFIG_TEGRA_VDD_CORE_TPS62361B_SET3
 
 /* High-level configuration options */
-#define V_PROMPT               "Tegra30 (Cardhu) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Cardhu"
 
 #define BOARD_EXTRA_ENV_SETTINGS \
index bbd9f3874953a69afc47aeab0f36d6a9207099b3..ddf6b5f131991174aace331709455df073f725e5 100644 (file)
@@ -45,7 +45,6 @@
 #define CONFIG_SYS_BAUDRATE_TABLE      {9600, 19200, 38400, 57600, 115200}
 
 /* Shell */
-#define CONFIG_SYS_PROMPT      "CM-FX6 # "
 #define CONFIG_SYS_PBSIZE      (CONFIG_SYS_CBSIZE + \
                                        sizeof(CONFIG_SYS_PROMPT) + 16)
 
index 767ef3a266be96d372ee4cf8bc14d10d25ca8fab..adf05b1f297c1265f063826b7189c83f7fae99ce 100644 (file)
@@ -27,9 +27,6 @@
 #undef CONFIG_MAX_RAM_BANK_SIZE
 #define CONFIG_MAX_RAM_BANK_SIZE       (512 << 20)     /* 512MB */
 
-#undef CONFIG_SYS_PROMPT
-#define CONFIG_SYS_PROMPT              "CM-T335 # "
-
 #define CONFIG_OMAP_COMMON
 
 #define MACH_TYPE_CM_T335              4586    /* Until the next sync */
index 6885ae1e36ccdfd89151af7a9fb8fe58aa557b40..281d614de18294c009f29926e4a4e40742ecb411 100644 (file)
 #define CONFIG_SYS_AUTOLOAD            "no"
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER         /* use "hush" command parser */
-#define CONFIG_SYS_PROMPT              "CM-T3x # "
 #define CONFIG_SYS_CBSIZE              256     /* Console I/O Buffer Size */
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
index cf0841499bfec320c12cad26614836ae6876fef1..33b22a72b98968f4300ae57833502bb5e0a3ff93 100644 (file)
 #define CONFIG_SYS_AUTOLOAD            "no"
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER         /* use "hush" command parser */
-#define CONFIG_SYS_PROMPT              "CM-T3517 # "
 #define CONFIG_SYS_CBSIZE              512     /* Console I/O Buffer Size */
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
diff --git a/include/configs/cm_t43.h b/include/configs/cm_t43.h
new file mode 100644 (file)
index 0000000..c4d3b94
--- /dev/null
@@ -0,0 +1,182 @@
+/*
+ * cm_t43.h
+ *
+ * Copyright (C) 2015 Compulab, Ltd.
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef __CONFIG_CM_T43_H
+#define __CONFIG_CM_T43_H
+
+#define CONFIG_AM43XX
+#define CONFIG_CM_T43
+#define CONFIG_ARCH_CPU_INIT
+#define CONFIG_MAX_RAM_BANK_SIZE       (2048 << 20)    /* 2GB */
+#define CONFIG_SYS_TIMERBASE           0x48040000      /* Use Timer2 */
+
+#include <asm/arch/omap.h>
+
+/* Serial support */
+#define CONFIG_OMAP_SERIAL
+#define CONFIG_DM_SERIAL
+#define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_SERIAL
+#define CONFIG_SYS_NS16550_CLK         48000000
+#define CONFIG_SYS_NS16550_COM1                0x44e09000
+
+/* NAND support */
+#define CONFIG_NAND
+#define CONFIG_NAND_OMAP_ELM
+#define CONFIG_SYS_NAND_ONFI_DETECTION
+#define CONFIG_SYS_NAND_5_ADDR_CYCLE
+#define CONFIG_SYS_NAND_PAGE_SIZE      2048
+#define CONFIG_SYS_NAND_OOBSIZE                64
+#define CONFIG_SYS_NAND_BLOCK_SIZE     (128 * 1024)
+#define CONFIG_SYS_NAND_BAD_BLOCK_POS  NAND_LARGE_BADBLOCK_POS
+#define CONFIG_SYS_NAND_ECCSIZE                512
+#define CONFIG_SYS_NAND_ECCBYTES       14
+#define CONFIG_NAND_OMAP_ECCSCHEME     OMAP_ECC_BCH8_CODE_HW
+#define CONFIG_SYS_NAND_PAGE_COUNT     (CONFIG_SYS_NAND_BLOCK_SIZE / \
+                                        CONFIG_SYS_NAND_PAGE_SIZE)
+#define CONFIG_SYS_NAND_ECCPOS         { 2, 3, 4, 5, 6, 7, 8, 9, \
+                                        10, 11, 12, 13, 14, 15, 16, 17, \
+                                        18, 19, 20, 21, 22, 23, 24, 25, \
+                                        26, 27, 28, 29, 30, 31, 32, 33, \
+                                        34, 35, 36, 37, 38, 39, 40, 41, \
+                                        42, 43, 44, 45, 46, 47, 48, 49, \
+                                        50, 51, 52, 53, 54, 55, 56, 57, }
+
+/* CPSW Ethernet support */
+#define CONFIG_DRIVER_TI_CPSW
+#define CONFIG_MII
+#define CONFIG_BOOTP_DEFAULT
+#define CONFIG_BOOTP_SEND_HOSTNAME
+#define CONFIG_BOOTP_GATEWAY
+#define CONFIG_NET_MULTI
+#define CONFIG_PHY_GIGE
+#define CONFIG_PHY_ATHEROS
+#define CONFIG_PHYLIB
+#define CONFIG_SYS_RX_ETH_BUFFER       64
+
+/* USB support */
+#define CONFIG_USB_HOST
+#define CONFIG_USB_XHCI
+#define CONFIG_USB_XHCI_OMAP
+#define CONFIG_USB_XHCI_DWC3
+#define CONFIG_USB_STORAGE
+#define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2
+#define CONFIG_OMAP_USB_PHY
+#define CONFIG_AM437X_USB2PHY2_HOST
+
+/* SPI Flash support */
+#define CONFIG_SPI_FLASH
+#define CONFIG_SPI_FLASH_MACRONIX
+#define CONFIG_SPI_FLASH_ATMEL
+#define CONFIG_SPI_FLASH_EON
+#define CONFIG_SPI_FLASH_GIGADEVICE
+#define CONFIG_SPI_FLASH_SPANSION
+#define CONFIG_SPI_FLASH_STMICRO
+#define CONFIG_SPI_FLASH_SST
+#define CONFIG_SPI_FLASH_WINBOND
+#define CONFIG_TI_SPI_MMAP
+#define CONFIG_SPI_FLASH_BAR
+#define CONFIG_SF_DEFAULT_SPEED                48000000
+#define CONFIG_DEFAULT_SPI_MODE                SPI_MODE_3
+
+/* Power */
+#define CONFIG_POWER
+#define CONFIG_POWER_I2C
+#define CONFIG_POWER_TPS65218
+
+/* Enabling L2 Cache */
+#define CONFIG_SYS_L2_PL310
+#define CONFIG_SYS_PL310_BASE          0x48242000
+#define CONFIG_SYS_CACHELINE_SIZE      32
+
+/*
+ * Since SPL did pll and ddr initialization for us,
+ * we don't need to do it twice.
+ */
+#if !defined(CONFIG_SPL_BUILD)
+#define CONFIG_SKIP_LOWLEVEL_INIT
+#endif
+
+#define CONFIG_HSMMC2_8BIT
+
+#include <configs/ti_armv7_omap.h>
+#undef CONFIG_SPL_OS_BOOT
+#undef CONFIG_SPL_GPIO_SUPPORT
+#undef CONFIG_SPL_NAND_SUPPORT
+#undef CONFIG_SPL_BOARD_INIT
+#undef CONFIG_BOOTDELAY
+#include <config_distro_defaults.h>
+#define CONFIG_ZERO_BOOTDELAY_CHECK
+#undef CONFIG_CMD_IMLS
+
+#define CONFIG_ENV_SIZE                        (16 * 1024)
+#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
+
+#define V_OSCK                         24000000  /* Clock output from T2 */
+#define V_SCLK                         (V_OSCK)
+
+#define CONFIG_ENV_IS_IN_SPI_FLASH
+#define CONFIG_ENV_SECT_SIZE           (64 * 1024)
+#define CONFIG_ENV_OFFSET              (768 * 1024)
+#define CONFIG_ENV_SPI_MAX_HZ           48000000
+
+#define CONFIG_SPL_LDSCRIPT            "$(CPUDIR)/omap-common/u-boot-spl.lds"
+
+/* Enhance our eMMC support / experience. */
+#define CONFIG_CMD_GPT
+#define CONFIG_EFI_PARTITION
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+       "loadaddr=0x80200000\0" \
+       "fdtaddr=0x81200000\0" \
+       "bootm_size=0x8000000\0" \
+       "autoload=no\0" \
+       "console=ttyO0,115200n8\0" \
+       "fdtfile=am437x-sb-som-t43.dtb\0" \
+       "kernel=zImage-cm-t43\0" \
+       "bootscr=bootscr.img\0" \
+       "emmcroot=/dev/mmcblk0p2 rw\0" \
+       "emmcrootfstype=ext4 rootwait\0" \
+       "emmcargs=setenv bootargs console=${console} " \
+               "root=${emmcroot} " \
+               "rootfstype=${emmcrootfstype}\0" \
+       "loadbootscript=load mmc 0 ${loadaddr} ${bootscr}\0" \
+       "bootscript=echo Running bootscript from mmc ...; " \
+               "source ${loadaddr}\0" \
+       "emmcboot=echo Booting from emmc ... && " \
+               "run emmcargs && " \
+               "load mmc 1 ${loadaddr} ${kernel} && " \
+               "load mmc 1 ${fdtaddr} ${fdtfile} && " \
+               "bootz ${loadaddr} - ${fdtaddr}\0"
+
+#define CONFIG_BOOTCOMMAND \
+       "mmc dev 0; " \
+       "if mmc rescan; then " \
+               "if run loadbootscript; then " \
+                       "run bootscript; " \
+               "fi; " \
+       "fi; " \
+       "mmc dev 1; " \
+       "if mmc rescan; then " \
+               "run emmcboot; " \
+       "fi;"
+
+
+#define CONFIG_CONS_INDEX              1
+
+/* SPL defines. */
+#define CONFIG_SPL_TEXT_BASE           0x40300350
+#define CONFIG_SPL_MAX_SIZE            (64 * 1024)
+#define CONFIG_SYS_SPL_ARGS_ADDR       (CONFIG_SYS_SDRAM_BASE + (128 << 20))
+#define CONFIG_SPL_POWER_SUPPORT
+#define CONFIG_SYS_SPI_U_BOOT_OFFS     (256 * 1024)
+#define CONFIG_SPL_SPI_SUPPORT
+#define CONFIG_SPL_SPI_FLASH_SUPPORT
+#define CONFIG_SPL_SPI_LOAD
+
+#endif /* __CONFIG_CM_T43_H */
index 2a8b73022e5bda9ea2037f9b6eef0c59cf6e49de..95a5a606e33087c1f94b4edc3aa5ed041670a8a4 100644 (file)
  * Miscellaneous configurable options
  */
 #undef CONFIG_SYS_AUTOLOAD
-#undef CONFIG_SYS_PROMPT
 #undef CONFIG_EXTRA_ENV_SETTINGS
 #undef CONFIG_BOOTCOMMAND
 #undef CONFIG_BOOTDELAY
 
 #define CONFIG_BOOTDELAY               3
 #define CONFIG_SYS_AUTOLOAD            "no"
-#define CONFIG_SYS_PROMPT              "CM-T54 # "
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
        DEFAULT_LINUX_BOOT_ENV \
index 8a6106d3a79fa663526e407668e252f95c3c98d4..8e70d8c94c3d40c056424e6c5eb0d14e5500b2dc 100644 (file)
@@ -178,8 +178,6 @@ considered during boot */
 
 #endif
 
-#define CONFIG_SYS_PROMPT              "COBRA > "      /* Layout of u-boot prompt*/
-
 #define CONFIG_SYS_LOAD_ADDR           0x20000         /*Defines default RAM address
 from which user programs will be started */
 
index e3f0ab027f7f8fc277bf8d7b3d68817cd87ba335..a1b64c60e64500ddd11f84a9af0844980e0c8ac4 100644 (file)
@@ -81,6 +81,7 @@
 #define        CONFIG_SYS_HUSH_PARSER          1
 
 #undef CONFIG_SYS_LONGHELP             /* Saves 10 KB */
+#undef CONFIG_SYS_PROMPT
 #ifdef CONFIG_SYS_HUSH_PARSER
 #define        CONFIG_SYS_PROMPT               "$ "
 #else
index 6d73f9d3f21a01ac0e7f5af8d6941d7fa0c258b2..06c51c0923d199e0686164ef660e5e7ccecb1246 100644 (file)
@@ -10,7 +10,6 @@
 #include "tegra20-common.h"
 
 /* High-level configuration options */
-#define V_PROMPT                       "Colibri T20 # "
 #define CONFIG_TEGRA_BOARD_STRING      "Toradex Colibri T20"
 
 /* Board-specific serial config */
index 1e94c34b030ccfa5447275d115e81bb87e1a1fdb..fbfebcfc9b32b751afda6fc8120cb8c3f168ee26 100644 (file)
@@ -12,7 +12,6 @@
 #include "tegra30-common.h"
 
 /* High-level configuration options */
-#define V_PROMPT                       "Colibri T30 # "
 #define CONFIG_TEGRA_BOARD_STRING      "Toradex Colibri T30"
 
 /* Board-specific serial config */
index ab8d293dd751d5271aa8b18f01d033ecefa8c4d7..258315576cd0d7a08e3c7416b9a6b68d9ac08bd4 100644 (file)
@@ -69,7 +69,6 @@
                                "512k(u-boot-env),"             \
                                "-(ubi)"
 
-
 #define CONFIG_MMC
 #define CONFIG_FSL_ESDHC
 #define CONFIG_SYS_FSL_ESDHC_ADDR      0
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER         /* use "hush" command parser */
 #define CONFIG_SYS_PROMPT_HUSH_PS2     "> "
-#define CONFIG_SYS_PROMPT              "Colibri VFxx # "
 #undef CONFIG_AUTO_COMPLETE
 #define CONFIG_SYS_CBSIZE              1024    /* Console I/O Buffer Size */
 #define CONFIG_SYS_PBSIZE              \
index 3cfae212d425776d656f7a1d7a5281ee05ae8679..2d2f3c11aafd7337cc244bd8f49c4bca0c0cce47 100644 (file)
 
 #define CONFIG_BAUDRATE                        115200
 
-#define CONFIG_SYS_PROMPT              "U-Boot> "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_MAXARGS             16
 #define CONFIG_SYS_PBSIZE      (CONFIG_SYS_CBSIZE +    \
index d3c6f75a126820d439430018a591a61293e263a7..82f4fe7d3cc4be8e5ef631cb4d0afd153012f0fc 100644 (file)
 
 #define CONFIG_BAUDRATE                        115200
 
-#if defined(CONFIG_CPU9G20)
-#define CONFIG_SYS_PROMPT              "CPU9G20=> "
-#elif defined(CONFIG_CPU9260)
-#define CONFIG_SYS_PROMPT              "CPU9260=> "
-#endif
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_MAXARGS             16
 #define CONFIG_SYS_PBSIZE              \
index f990cf706728cd5ba5c74ce1f3942bf234a06877..29cd842cecc61677758197b8b7892ec39596af74 100644 (file)
 
 #define CONFIG_BAUDRATE                        115200
 
-#define CONFIG_SYS_PROMPT              "CPUAT91=> "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_MAXARGS             32
 #define CONFIG_SYS_PBSIZE              \
index b82140e93978335658934808ec37ea7c4eee0e56..7ac3224e6e9f2df2959759ddb0fc45f54fa00894 100644 (file)
 #undef CONFIG_MISC_INIT_R
 #undef CONFIG_BOOTDELAY
 #define CONFIG_BOOTFILE                "uImage" /* Boot file name */
-#define CONFIG_SYS_PROMPT      "U-Boot > " /* Command Prompt */
 #define CONFIG_SYS_CBSIZE      1024 /* Console I/O Buffer Size */
 #define CONFIG_SYS_PBSIZE      (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
 #define CONFIG_SYS_MAXARGS     16 /* max number of command args */
index 3da9da42df920fe37173f30581f9d778b0e1e0ef..1cd11c0ded246fba84bcb0b41220b77426f281e3 100644 (file)
 #define CONFIG_MISC_INIT_R
 #define CONFIG_BOARD_EARLY_INIT_F
 #define CONFIG_BOOTFILE                "uImage" /* Boot file name */
-#define CONFIG_SYS_PROMPT      "U-Boot > " /* Command Prompt */
 #define CONFIG_SYS_CBSIZE      1024 /* Console I/O Buffer Size */
 #define CONFIG_SYS_PBSIZE      (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
 #define CONFIG_SYS_MAXARGS     16 /* max number of command args */
index 30aecca220cffcd08ebb3bc7a2f8df4c51929d47..2251f591ebf46ef76270965227212b0fe270de26 100644 (file)
@@ -22,7 +22,6 @@
 #include "tegra114-common.h"
 
 /* High-level configuration options */
-#define V_PROMPT               "Tegra114 (Dalmore) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Dalmore"
 
 /* Board-specific serial config */
index e873fa4d8d8db3d51da5ceddd2d93622c05b09ae..72296a03ddb601c4220f952d202473fa7a5f12cb 100644 (file)
 
 /* U-Boot general configuration */
 #define CONFIG_BOOTFILE                "uImage"        /* Boot file name */
-#define CONFIG_SYS_PROMPT      "DM355 EVM # "  /* Monitor Command Prompt */
 #define CONFIG_SYS_CBSIZE      1024            /* Console I/O Buffer Size  */
 #define CONFIG_SYS_PBSIZE                      /* Print buffer size */ \
                (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
index d4b994ad2b209a83986fdb7d1c84d477069e6d75..e3ff9431dc9e10f5d40ca7ce9f84a6e62ffacaae 100644 (file)
@@ -78,7 +78,6 @@
 
 /* U-Boot general configuration */
 #define CONFIG_BOOTFILE                "uImage"        /* Boot file name */
-#define CONFIG_SYS_PROMPT      "DM355 LEOPARD # "
 #define CONFIG_SYS_CBSIZE      1024            /* Console I/O Buffer Size  */
 #define CONFIG_SYS_PBSIZE                      /* Print buffer size */ \
                (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
index 9bdd2d661199516ed59642df4d06b0c6a4f6fe40..bbc801b4db93ba9d64ff2ac2614dbe25f0c18f3c 100644 (file)
 
 /* U-Boot general configuration */
 #define CONFIG_BOOTFILE                "uImage"        /* Boot file name */
-#define CONFIG_SYS_PROMPT      "DM36x EVM # "  /* Monitor Command Prompt */
 #define CONFIG_SYS_CBSIZE      1024            /* Console I/O Buffer Size  */
 #define CONFIG_SYS_PBSIZE                      /* Print buffer size */ \
                (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
index 8571cbdbae557edf530bbd12968bb65f264ebaec..6346422b498c87055b2ea39552ba0d467d99adb0 100644 (file)
@@ -94,7 +94,6 @@ extern unsigned int davinci_arm_clk_get(void);
 /* U-Boot general configuration */
 #define CONFIG_BOOTDELAY       3
 #define CONFIG_BOOTFILE                "uImage"        /* Boot file name */
-#define CONFIG_SYS_PROMPT      "DM6467 EVM > " /* Monitor Command Prompt */
 #define CONFIG_SYS_CBSIZE      1024            /* Console I/O Buffer Size  */
 #define CONFIG_SYS_PBSIZE              \
                        (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
index 35e9a15a9de9aee24e62757bc46a0a2bdbc5d979..15d815084b4a4e3195390a44f581b1016ab82d85 100644 (file)
 #define CONFIG_MISC_INIT_R
 #undef CONFIG_BOOTDELAY
 #define CONFIG_BOOTFILE                "uImage"        /* Boot file name */
-#define CONFIG_SYS_PROMPT              "U-Boot > "     /* Monitor Command Prompt */
 #define CONFIG_SYS_CBSIZE              1024            /* Console I/O Buffer Size  */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)        /* Print buffer sz */
 #define CONFIG_SYS_MAXARGS             16              /* max number of command args */
index db636e4cf84f4762c01b285eb59158505c75fca2..bc5e1ca69729d4a3155af85553d7aa38f0f46cb0 100644 (file)
@@ -87,7 +87,6 @@
 #define CONFIG_MISC_INIT_R
 #undef CONFIG_BOOTDELAY
 #define CONFIG_BOOTFILE                "uImage"        /* Boot file name */
-#define CONFIG_SYS_PROMPT              "U-Boot > "     /* Monitor Command Prompt */
 #define CONFIG_SYS_CBSIZE              1024            /* Console I/O Buffer Size  */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)        /* Print buffer sz */
 #define CONFIG_SYS_MAXARGS             16              /* max number of command args */
index 9ecf6cebc267a764ebcacf2e009418035a527025..e719388722523018052d3fc6aed6775cfd27b16b 100644 (file)
@@ -74,7 +74,6 @@
 #define CONFIG_MISC_INIT_R
 #define CONFIG_BOOTDELAY       5               /* Autoboot after 5 seconds. */
 #define CONFIG_BOOTFILE                "uImage"        /* Boot file name */
-#define CONFIG_SYS_PROMPT              "U-Boot > "     /* Monitor Command Prompt */
 #define CONFIG_SYS_CBSIZE              1024            /* Console I/O Buffer Size  */
 #define CONFIG_SYS_PBSIZE                                                      \
                (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)    /* Print buffer size */
index 410cf687416aa0239843e713b718db3380dc89ca..b85c988b5d84f3744808cca16aa193c1c5029761 100644 (file)
 #define CONFIG_MISC_INIT_R
 #undef CONFIG_BOOTDELAY
 #define CONFIG_BOOTFILE                "uImage"        /* Boot file name */
-#define CONFIG_SYS_PROMPT              "U-Boot > "     /* Monitor Command Prompt */
 #define CONFIG_SYS_CBSIZE              1024            /* Console I/O Buffer Size  */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)        /* Print buffer sz */
 #define CONFIG_SYS_MAXARGS             16              /* max number of command args */
index 0abab78d2a95bd393cf048ce15bfa42656f77bb9..46e3a6ce38c483056cfb7710fdfbd25050bf4c24 100644 (file)
@@ -98,8 +98,6 @@
  */
 #define        CONFIG_SYS_LONGHELP                             /* undef to save memory      */
 
-#define        CONFIG_SYS_PROMPT               "DbAu1xx0 # "   /* Monitor Command Prompt    */
-
 #define        CONFIG_SYS_CBSIZE               256             /* Console I/O Buffer Size   */
 #define        CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)  /* Print Buffer Size */
 #define        CONFIG_SYS_MAXARGS              16              /* max number of command args*/
index 4f35234cedec118860830a560bd6104c610710a6..cc6a53e6753e3b9ec524f88820380b7ee616d7fe 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Embest/Timll DevKit3250 board configuration file
  *
- * Copyright (C) 2011 Vladimir Zapolskiy <vz@mleia.com>
+ * Copyright (C) 2011-2015 Vladimir Zapolskiy <vz@mleia.com>
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
@@ -21,7 +21,9 @@
 
 #define CONFIG_SYS_ICACHE_OFF
 #define CONFIG_SYS_DCACHE_OFF
+#if !defined(CONFIG_SPL_BUILD)
 #define CONFIG_SKIP_LOWLEVEL_INIT
+#endif
 #define CONFIG_BOARD_EARLY_INIT_F
 
 /*
 /*
  * Serial Driver
  */
-#define CONFIG_SYS_LPC32XX_UART                2   /* UART2 */
+#define CONFIG_SYS_LPC32XX_UART                5   /* UART5 */
 #define CONFIG_BAUDRATE                        115200
 
+/*
+ * I2C
+ */
+#define CONFIG_SYS_I2C
+#define CONFIG_SYS_I2C_LPC32XX
+#define CONFIG_SYS_I2C_SPEED           100000
+#define CONFIG_CMD_I2C
+
+/*
+ * GPIO
+ */
+#define CONFIG_LPC32XX_GPIO
+#define CONFIG_CMD_GPIO
+
+/*
+ * SSP/SPI
+ */
+#define CONFIG_LPC32XX_SSP
+#define CONFIG_LPC32XX_SSP_TIMEOUT     100000
+#define CONFIG_CMD_SPI
+
+/*
+ * Ethernet
+ */
+#define CONFIG_RMII
+#define CONFIG_PHY_SMSC
+#define CONFIG_LPC32XX_ETH
+#define CONFIG_PHYLIB
+#define CONFIG_PHY_ADDR                        0x1F
+#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
+#define CONFIG_CMD_MII
+#define CONFIG_CMD_PING
+#define CONFIG_CMD_DHCP
+
 /*
  * NOR Flash
  */
 #define CONFIG_SYS_FLASH_SIZE          SZ_4M
 #define CONFIG_SYS_FLASH_CFI
 
+/*
+ * NAND controller
+ */
+#define CONFIG_NAND_LPC32XX_SLC
+#define CONFIG_SYS_NAND_BASE           SLC_NAND_BASE
+#define CONFIG_SYS_MAX_NAND_DEVICE     1
+#define CONFIG_SYS_NAND_BASE_LIST      { CONFIG_SYS_NAND_BASE }
+
+/*
+ * NAND chip timings
+ */
+#define CONFIG_LPC32XX_NAND_SLC_WDR_CLKS       14
+#define CONFIG_LPC32XX_NAND_SLC_WWIDTH         66666666
+#define CONFIG_LPC32XX_NAND_SLC_WHOLD          200000000
+#define CONFIG_LPC32XX_NAND_SLC_WSETUP         50000000
+#define CONFIG_LPC32XX_NAND_SLC_RDR_CLKS       14
+#define CONFIG_LPC32XX_NAND_SLC_RWIDTH         66666666
+#define CONFIG_LPC32XX_NAND_SLC_RHOLD          200000000
+#define CONFIG_LPC32XX_NAND_SLC_RSETUP         50000000
+
+#define CONFIG_SYS_NAND_USE_FLASH_BBT
+#define CONFIG_CMD_NAND
+
 /*
  * U-Boot General Configurations
  */
 #define CONFIG_DISPLAY_CPUINFO
 #define CONFIG_DOS_PARTITION
 
-#define CONFIG_ENV_IS_NOWHERE
+/*
+ * Pass open firmware flat tree
+ */
+#define CONFIG_OF_LIBFDT
+
+/*
+ * Environment
+ */
+#define CONFIG_ENV_IS_IN_NAND          1
 #define CONFIG_ENV_SIZE                        SZ_128K
+#define CONFIG_ENV_OFFSET              0x000A0000
+
+#define CONFIG_BOOTCOMMAND                     \
+       "dhcp; "                                \
+       "tftp ${loadaddr} ${serverip}:${tftpdir}/${bootfile}; "         \
+       "tftp ${dtbaddr} ${serverip}:${tftpdir}/devkit3250.dtb; "       \
+       "setenv nfsargs ip=dhcp root=/dev/nfs nfsroot=${serverip}:${nfsroot},tcp; "     \
+       "setenv bootargs ${bootargs} ${nfsargs} ${userargs}; "                  \
+       "bootm ${loadaddr} - ${dtbaddr}"
+
+#define CONFIG_EXTRA_ENV_SETTINGS              \
+       "autoload=no\0"                         \
+       "ethaddr=00:01:90:00:C0:81\0"           \
+       "dtbaddr=0x81000000\0"                  \
+       "nfsroot=/opt/projects/images/vladimir/oe/devkit3250/rootfs\0"  \
+       "tftpdir=vladimir/oe/devkit3250\0"      \
+       "userargs=oops=panic\0"
 
 /*
  * U-Boot Commands
 #define CONFIG_CMDLINE_TAG
 #define CONFIG_SETUP_MEMORY_TAGS
 #define CONFIG_ZERO_BOOTDELAY_CHECK
-#define CONFIG_BOOTDELAY               3
+#define CONFIG_BOOTDELAY               1
 
 #define CONFIG_BOOTFILE                        "uImage"
-#define CONFIG_BOOTARGS                        "console=ttyS2,115200n8"
+#define CONFIG_BOOTARGS                        "console=ttyS0,115200n8"
 #define CONFIG_LOADADDR                        0x80008000
 
+/*
+ * SPL specific defines
+ */
+/* SPL will be executed at offset 0 */
+#define CONFIG_SPL_TEXT_BASE           0x00000000
+
+/* SPL will use SRAM as stack */
+#define CONFIG_SPL_STACK               0x0000FFF8
+#define CONFIG_SPL_BOARD_INIT
+
+/* Use the framework and generic lib */
+#define CONFIG_SPL_FRAMEWORK
+#define CONFIG_SPL_LIBGENERIC_SUPPORT
+#define CONFIG_SPL_LIBCOMMON_SUPPORT
+
+/* SPL will use serial */
+#define CONFIG_SPL_SERIAL_SUPPORT
+
+/* SPL loads an image from NAND */
+#define CONFIG_SPL_NAND_SIMPLE
+#define CONFIG_SPL_NAND_RAW_ONLY
+#define CONFIG_SPL_NAND_SUPPORT
+#define CONFIG_SPL_NAND_DRIVERS
+
+#define CONFIG_SYS_NAND_BLOCK_SIZE     0x20000
+#define CONFIG_SYS_NAND_PAGE_SIZE      0x800
+#define CONFIG_SYS_NAND_ECCSIZE                0x100
+#define CONFIG_SYS_NAND_OOBSIZE                64
+#define CONFIG_SYS_NAND_ECCPOS         { 40, 41, 42, 43, 44, 45, 46, 47, \
+                                         48, 49, 50, 51, 52, 53, 54, 55, \
+                                         56, 57, 58, 59, 60, 61, 62, 63, }
+#define CONFIG_SYS_NAND_ECCBYTES       3
+#define CONFIG_SYS_NAND_PAGE_COUNT     64
+#define CONFIG_SYS_NAND_BAD_BLOCK_POS  NAND_LARGE_BADBLOCK_POS
+
+#define CONFIG_SPL_NAND_ECC
+#define CONFIG_SPL_NAND_SOFTECC
+
+#define CONFIG_SPL_MAX_SIZE            0x20000
+#define CONFIG_SPL_PAD_TO              CONFIG_SPL_MAX_SIZE
+
+/* U-Boot will be 0x60000 bytes, loaded and run at CONFIG_SYS_TEXT_BASE */
+#define CONFIG_SYS_NAND_U_BOOT_OFFS    0x40000
+#define CONFIG_SYS_NAND_U_BOOT_SIZE    0x60000
+
+#define CONFIG_SYS_NAND_U_BOOT_START   CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_NAND_U_BOOT_DST     CONFIG_SYS_TEXT_BASE
+
+/* See common/spl/spl.c  spl_set_header_raw_uboot() */
+#define CONFIG_SYS_MONITOR_LEN         CONFIG_SYS_NAND_U_BOOT_SIZE
+
 /*
  * Include SoC specific configuration
  */
index 215dc30bde8ac25134944c885728eb92eaeadfd7..6d2c22e6baac6bde8fda352434c09026118732bb 100644 (file)
 #define CONFIG_SPL_TEXT_BASE           0x40200000 /*CONFIG_SYS_SRAM_START*/
 
 /* NAND boot config */
-#define CONFIG_SYS_NAND_BUSWIDTH_16BIT 16
+#define CONFIG_SYS_NAND_BUSWIDTH_16BIT
 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
 #define CONFIG_SYS_NAND_PAGE_COUNT     64
 #define CONFIG_SYS_NAND_PAGE_SIZE      2048
index f6d7ec4e782314e61477c70cbbda96847510d30c..98205adde035fdf2b9c84e6f21aaa2194b4b9d0f 100644 (file)
  * Board NAND Info.
  */
 #define CONFIG_NAND_OMAP_GPMC
-#define CONFIG_SYS_NAND_BUSWIDTH_16BIT 16
+#define CONFIG_SYS_NAND_BUSWIDTH_16BIT
 #define CONFIG_SYS_NAND_ADDR           NAND_BASE       /* physical address */
                                                        /* to access nand */
 #define CONFIG_SYS_NAND_BASE           NAND_BASE       /* physical address */
  */
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER         /* use "hush" command parser */
-#define CONFIG_SYS_PROMPT              "DIG297# "
 #define CONFIG_SYS_CBSIZE              256     /* Console I/O Buffer Size */
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
index b27b2026c35b8279e744a73567ef7b4ee224ea25..a62f4e3d3b3d6f62ae35ca2e9b090fddcb822c6b 100644 (file)
@@ -43,9 +43,6 @@
  */
 #include "mv-common.h"
 
-#undef CONFIG_SYS_PROMPT       /* previously defined in mv-common.h */
-#define CONFIG_SYS_PROMPT      "DockStar> "    /* Command Prompt */
-
 /*
  *  Environment variables configurations
  */
index 6e53da573de1e690168edd951829d791592fdcb3..28d12ad3b2e5f866327bb1e8682834efff222b93 100644 (file)
@@ -27,9 +27,6 @@
 #define CONFIG_SYS_AUTOMATIC_SDRAM_DETECTION
 #define CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS
 
-#undef CONFIG_SYS_PROMPT
-#define CONFIG_SYS_PROMPT              "duovero # "
-
 /* USB UHH support options */
 #define CONFIG_CMD_USB
 #define CONFIG_USB_HOST
index b9f28a34b88a6658678b867f4a8112c6c7f69762..9a70aaecbf47589a5584c7313c5b16b49723375f 100644 (file)
  * U-Boot general configuration
  */
 #define CONFIG_BOOTFILE                "uImage" /* Boot file name */
-#define CONFIG_SYS_PROMPT      "ea20 > " /* Command Prompt */
 #define CONFIG_SYS_CBSIZE      1024 /* Console I/O Buffer Size */
 #define CONFIG_SYS_PBSIZE      (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
 #define CONFIG_SYS_MAXARGS     16 /* max number of command args */
index 924362cb2338bcb757b166f3d3841cd2b981bcd5..f9ec02835aabafa1d862c84cbf4130f7edfbed7c 100644 (file)
@@ -73,7 +73,6 @@
 #define CONFIG_MCFTMR
 
 #define CONFIG_BOOTDELAY       5
-#define CONFIG_SYS_PROMPT      "\nEB+CPU5282> "
 #define        CONFIG_SYS_LONGHELP     1
 
 #define        CONFIG_SYS_CBSIZE       1024    /* Console I/O Buffer Size      */
index 271e071cbba9ffb6079d7f4cdd8c939f72a6bb2b..d27f7e0452ddc7ff02abac60276a6d2615886aa1 100644 (file)
@@ -44,7 +44,6 @@
 #define CONFIG_BOOT_RETRY_TIME         30
 #define CONFIG_CMDLINE_EDITING
 
-#define CONFIG_SYS_PROMPT      "U-Boot> "      /* Monitor Command Prompt */
 #define CONFIG_SYS_CBSIZE      512             /* Console I/O Buffer Size */
 #define CONFIG_SYS_MAXARGS     32              /* max number of command args */
 #define CONFIG_SYS_PBSIZE      \
index 49c53e452d02f1fd7c4a32f774deca46398a3edb..f23d383e39533faf6621f516ef0444b36540ee3b 100644 (file)
 #define CONFIG_BOOTFILE                "uImage"
 #define CONFIG_AUTO_COMPLETE
 
-/*
- * Miscellaneous configurable options
- */
-#define V_PROMPT               "ECO5-PK # "
-#define CONFIG_SYS_PROMPT      V_PROMPT
-
 /*
  * Set its own mtdparts, different from common
  */
index 87b29f89016e15b17b5d4377a225c687234e0d60..efe2a9daa7c150d16c172b596b76aed8ce2cacb8 100644 (file)
@@ -39,7 +39,7 @@
 
 #define CONFIG_SYS_LDSCRIPT    "board/cirrus/edb93xx/u-boot.lds"
 
-
+#undef CONFIG_SYS_PROMPT
 #ifdef CONFIG_EDB9301
 #define CONFIG_EP9301
 #define CONFIG_MACH_TYPE               MACH_TYPE_EDB9301
index b5e8e0ec203f00776486f9b465781ed8903ed030..8b38d7e75f16a2f4a8827e6b11761b3a82b04574 100644 (file)
 #define CONFIG_INITRD_TAG      1       /* enable INITRD tag */
 #define CONFIG_SETUP_MEMORY_TAGS 1     /* enable memory tag */
 
-#define        CONFIG_SYS_PROMPT       "EDMiniV2> "    /* Command Prompt */
 #define        CONFIG_SYS_CBSIZE       1024    /* Console I/O Buff Size */
 #define        CONFIG_SYS_PBSIZE       (CONFIG_SYS_CBSIZE \
                +sizeof(CONFIG_SYS_PROMPT) + 16)        /* Print Buff */
index c7b1e5cbf71717b31893a0ea745fe5e0384a9948..b49b9031c695619ba52b3d1c5435cc7625f32492 100644 (file)
 #endif
 
 /* Misc. u-boot settings */
-#define CONFIG_SYS_PROMPT              "U-Boot> "
 #define CONFIG_SYS_HUSH_PARSER
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_MAXARGS             16
index 5d66901f8b7a6f3614779288f4b263337ae8bbc0..5b4b0119573f3b80a767ab554242bc388aba612b 100644 (file)
  * Miscellaneous configurable options
  */
 #define CONFIG_SYS_LONGHELP    /* undef to save memory */
-#define CONFIG_SYS_PROMPT      "flea3 U-Boot > "
 #define CONFIG_CMDLINE_EDITING
 #define CONFIG_SYS_HUSH_PARSER /* Use the HUSH parser */
 
index f1cbc8eca72ed6d2ef067d43729954bdf9896e64..fa32a2e8cf3771e290bfc38486be4766b92eb907 100644 (file)
@@ -37,7 +37,6 @@
 #define CONFIG_ENV_OVERWRITE   1
 
 /*Misc*/
-#define CONFIG_SYS_PROMPT      "FX12MM:/# " /* Monitor Command Prompt */
 #define CONFIG_PREBOOT         "echo U-Boot is up and running;"
 
 /*Flash*/
index 967a05a2cbb347abfd0e463731e038eccd00ef70..2a42e7c62ed96260c0592974da6d3afe9e93d5c7 100644 (file)
@@ -70,9 +70,6 @@
  */
 #include "mv-common.h"
 
-#undef CONFIG_SYS_PROMPT       /* previously defined in mv-common.h */
-#define CONFIG_SYS_PROMPT      "GoFlexHome> "  /* Command Prompt */
-
 /*
  *  Environment variables configurations
  */
index 231f25a38b75e517757acaa9e1d7ba1ad59837bc..274175ba0f00297c67df452e243ef8681c8b3213 100644 (file)
 #define CONFIG_SYS_BOOTPARAMS_LEN      (16 * 1024)
 
 /* Other configuration settings that shouldn't have to change all that often */
-#define CONFIG_SYS_PROMPT              "U-Boot> "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_MAXARGS             16
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
index 7c90812dbfe1457425cfa47c0833e108059939bc..1c0d96ef10248ec46f523010fbcafa8f9f610785 100644 (file)
 #define CONFIG_IMX_VIDEO_SKIP
 
 /* Miscellaneous configurable options */
-#define CONFIG_SYS_PROMPT                   "Ventana > "
 #define CONFIG_HWCONFIG
 
 /* Print Buffer Size */
index 1d2d09ad54ea2515f62f6c8e85b48d9ec8dc26be..e8dfa748efae9d58f75b70c2b896eed01fdac840 100644 (file)
 #define CONFIG_INITRD_TAG
 
 /* Monitor Command Prompt */
-#define CONFIG_SYS_PROMPT              "> "
 #define CONFIG_SYS_HUSH_PARSER
 #define CONFIG_SYS_PROMPT_HUSH_PS2     "$ "
 
index 99a63d69988d0a4f01761a70174edc82cecef79e..e0bc7c0d730ee69b86238aa500df6eb4514ad809 100644 (file)
@@ -12,7 +12,6 @@
 #include "tegra20-common.h"
 
 /* High-level configuration options */
-#define V_PROMPT               "Tegra20 (Harmony) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Harmony"
 
 /* Board-specific serial config */
index 86823e235c6925d2cafe86102acba14b7b9e635b..7f331a6a73cdc5975dd9be2a6bdc74787476ac11 100644 (file)
@@ -75,8 +75,9 @@
 
 /*-----------------------------------------------------------------------
  * Physical Memory Map
+ * The DRAM is already setup, so do not touch the DT node later.
  */
-#define CONFIG_NR_DRAM_BANKS           1
+#define CONFIG_NR_DRAM_BANKS           0
 #define PHYS_SDRAM_1_SIZE              (4089 << 20)
 #define CONFIG_SYS_MEMTEST_START       0x100000
 #define CONFIG_SYS_MEMTEST_END         (PHYS_SDRAM_1_SIZE - 0x100000)
diff --git a/include/configs/hikey.h b/include/configs/hikey.h
new file mode 100644 (file)
index 0000000..8ff9077
--- /dev/null
@@ -0,0 +1,159 @@
+/*
+ * (C) Copyright 2015 Linaro
+ *
+ * Peter Griffin <peter.griffin@linaro.org>
+ *
+ * Configuration for HiKey 96boards CE. Parts were derived from other ARM
+ * configurations.
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef __HIKEY_H
+#define __HIKEY_H
+
+/* We use generic board for hikey */
+#define CONFIG_SYS_GENERIC_BOARD
+#define CONFIG_POWER
+#define CONFIG_POWER_HI6553
+
+#define CONFIG_REMAKE_ELF
+
+#define CONFIG_SUPPORT_RAW_INITRD
+
+/* Cache Definitions */
+#define CONFIG_SYS_DCACHE_OFF
+
+#define CONFIG_IDENT_STRING            "hikey"
+
+/* Flat Device Tree Definitions */
+#define CONFIG_OF_LIBFDT
+
+/* Physical Memory Map */
+
+/* CONFIG_SYS_TEXT_BASE needs to align with where ATF loads bl33.bin */
+#define CONFIG_SYS_TEXT_BASE           0x35000000
+
+#define CONFIG_NR_DRAM_BANKS           1
+#define PHYS_SDRAM_1                   0x00000000
+
+/* 1008 MB (the last 16Mb are secured for TrustZone by ATF*/
+#define PHYS_SDRAM_1_SIZE              0x3f000000
+#define CONFIG_SYS_SDRAM_BASE          PHYS_SDRAM_1
+
+#define CONFIG_SYS_INIT_RAM_SIZE       0x1000
+
+#define CONFIG_SYS_INIT_SP_ADDR         (CONFIG_SYS_SDRAM_BASE + 0x7fff0)
+
+#define CONFIG_SYS_LOAD_ADDR           (CONFIG_SYS_SDRAM_BASE + 0x80000)
+
+/* Generic Timer Definitions */
+#define COUNTER_FREQUENCY              19000000
+
+/* Generic Interrupt Controller Definitions */
+#define GICD_BASE                      0xf6801000
+#define GICC_BASE                      0xf6802000
+
+/* Size of malloc() pool */
+#define CONFIG_SYS_MALLOC_LEN          (CONFIG_ENV_SIZE + (8 << 20))
+
+/* PL011 Serial Configuration */
+#define CONFIG_PL011_SERIAL
+
+#define CONFIG_PL011_CLOCK             19200000
+#define CONFIG_PL01x_PORTS             {(void *)0xF8015000}
+#define CONFIG_CONS_INDEX              0
+
+#define CONFIG_BAUDRATE                        115200
+
+#define CONFIG_CMD_USB
+#ifdef CONFIG_CMD_USB
+#define CONFIG_USB_DWC2
+#define CONFIG_USB_DWC2_REG_ADDR 0xF72C0000
+/*#define CONFIG_DWC2_DFLT_SPEED_FULL*/
+#define CONFIG_DWC2_ENABLE_DYNAMIC_FIFO
+
+#define CONFIG_USB_STORAGE
+#define CONFIG_USB_HOST_ETHER
+#define CONFIG_USB_ETHER_SMSC95XX
+#define CONFIG_USB_ETHER_ASIX
+#define CONFIG_MISC_INIT_R
+#endif
+
+#define CONFIG_HIKEY_GPIO
+#define CONFIG_DM_GPIO
+#define CONFIG_CMD_GPIO
+#define CONFIG_DM
+
+/* SD/MMC configuration */
+#define CONFIG_GENERIC_MMC
+#define CONFIG_MMC
+#define CONFIG_DWMMC
+#define CONFIG_HIKEY_DWMMC
+#define CONFIG_BOUNCE_BUFFER
+#define CONFIG_CMD_MMC
+
+#define CONFIG_FS_EXT4
+
+/* Command line configuration */
+#define CONFIG_MENU
+#define CONFIG_CMD_CACHE
+#define CONFIG_CMD_UNZIP
+#define CONFIG_CMD_ENV
+
+#define CONFIG_MTD_PARTITIONS
+
+/* BOOTP options */
+#define CONFIG_BOOTP_BOOTFILESIZE
+
+#include <config_distro_defaults.h>
+
+/* Initial environment variables */
+
+/*
+ * Defines where the kernel and FDT will be put in RAM
+ */
+
+/* Assume we boot with root on the seventh partition of eMMC */
+#define CONFIG_BOOTARGS        "console=ttyAMA0,115200n8 root=/dev/mmcblk0p9 rw"
+
+#define BOOT_TARGET_DEVICES(func) \
+       func(USB, usb, 0) \
+       func(MMC, mmc, 1) \
+       func(DHCP, dhcp, na)
+#include <config_distro_bootcmd.h>
+
+#define CONFIG_EXTRA_ENV_SETTINGS      \
+                               "kernel_name=Image\0"   \
+                               "kernel_addr_r=0x00080000\0" \
+                               "fdt_name=hi6220-hikey.dtb\0" \
+                               "fdt_addr_r=0x02000000\0" \
+                               "fdt_high=0xffffffffffffffff\0" \
+                               "initrd_high=0xffffffffffffffff\0" \
+                               BOOTENV
+
+
+/* Preserve enviroment on sd card */
+#define CONFIG_COMMAND_HISTORY
+
+#define CONFIG_ENV_SIZE                        0x1000
+#define CONFIG_ENV_IS_IN_FAT
+#define FAT_ENV_INTERFACE               "mmc"
+#define FAT_ENV_DEVICE_AND_PART         "1:1"
+#define FAT_ENV_FILE                    "uboot.env"
+#define CONFIG_FAT_WRITE
+#define CONFIG_ENV_VARS_UBOOT_CONFIG
+
+/* Monitor Command Prompt */
+#define CONFIG_SYS_CBSIZE              512     /* Console I/O Buffer Size */
+#define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
+                                       sizeof(CONFIG_SYS_PROMPT) + 16)
+#define CONFIG_SYS_HUSH_PARSER
+#define CONFIG_SYS_BARGSIZE            CONFIG_SYS_CBSIZE
+#define CONFIG_SYS_LONGHELP
+#define CONFIG_CMDLINE_EDITING
+#define CONFIG_SYS_MAXARGS             64      /* max command args */
+
+#define CONFIG_SYS_NO_FLASH
+
+#endif /* __HIKEY_H */
index 08e2f42da6c616da75f1a31199841139162dff3a..558edfce8ee508919428c33ede755a4251a54402 100644 (file)
@@ -484,7 +484,6 @@ int fpga_gpio_get(unsigned int bus, int pin);
  */
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 #define CONFIG_SYS_LOAD_ADDR           0x2000000 /* default load address */
-#define CONFIG_SYS_PROMPT              "=> "   /* Monitor Command Prompt */
 #define CONFIG_SYS_HZ          1000    /* decrementer freq: 1ms ticks */
 
 #undef CONFIG_ZERO_BOOTDELAY_CHECK     /* ignore keypress on bootdelay==0 */
index ee524527aa5ba57d165a7530309069ebae7cdef4..6afe34092985c6a3422cbdad672c72053de5aabf 100644 (file)
@@ -59,9 +59,6 @@
  */
 #include "mv-common.h"
 
-#undef CONFIG_SYS_PROMPT
-#define CONFIG_SYS_PROMPT      "ib62x0 => "
-
 /*
  * Environment variables configuration
  */
index 1a5c93d11ba2a481a8c3801697ad325938c90d9e..bce97dc069df0ed30a5c556a0c0f95341b2aa899 100644 (file)
@@ -52,9 +52,6 @@
  */
 #include "mv-common.h"
 
-#undef CONFIG_SYS_PROMPT
-#define CONFIG_SYS_PROMPT      "iconnect => "
-
 /*
  * Environment variables configuration
  */
index 5a0291753d9dfc5ac9d7c7f82277f58fca0148ae..2fa6c3d91ba0fa4504bf011fb677b5f04af58a5b 100644 (file)
@@ -94,7 +94,6 @@
 /* Miscellaneous configurable options */
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER         /* use "hush" command parser */
-#define CONFIG_SYS_PROMPT              "IMA3 MX53 U-Boot > "
 #define CONFIG_AUTO_COMPLETE
 #define CONFIG_SYS_CBSIZE              256     /* Console I/O Buffer Size */
 
index c552e9f76e754cc0244b5c6667f5de15762e3d7a..23e3a6c5fc18575984b07e0254cb71a9c7b7c13e 100644 (file)
  * Miscellaneous configurable options
  */
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
-#define CONFIG_SYS_PROMPT              "uboot> "
 #define CONFIG_SYS_CBSIZE              256  /* Console I/O Buffer Size */
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
index 54e8121008e6ab7b5a03399b9fc454a6ff8f409f..86f327c82788b67004698ef4935ae8ad5bb0cfae 100644 (file)
  * Miscellaneous configurable options
  */
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
-#define CONFIG_SYS_PROMPT              "uboot> "
 /* Console I/O Buffer Size */
 #define CONFIG_SYS_CBSIZE              256
 /* Print Buffer Size */
index 1d307ca1e6a81040003492147e053b113303374d..a22efd699c17a496977acaa7952474b8fe6513b4 100644 (file)
 #define CONFIG_SYS_BARGSIZE            CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size*/
 #define CONFIG_SYS_MALLOC_LEN          (CONFIG_ENV_SIZE + 128*1024) /* Size of malloc() pool */
 
+/* Serial port PL010/PL011 through the device model */
+#define CONFIG_PL01X_SERIAL
+#define CONFIG_BAUDRATE                        38400
+#define CONFIG_CONS_INDEX              0
+
 #define CONFIG_CMDLINE_TAG             /* enable passing of ATAGs  */
 #define CONFIG_SETUP_MEMORY_TAGS
 #define CONFIG_OF_LIBFDT               /* enable passing a Device Tree */
index c76ebcbb60a99eaa7bc708669e287077bee89a61..c80e9152a3880ea3278715d63edd1e422847c628 100644 (file)
 /* Integrator/AP-specific configuration */
 #define CONFIG_SYS_HZ_CLOCK            24000000        /* Timer 1 is clocked at 24Mhz */
 
-/*
- * PL010 Configuration
- */
-#define CONFIG_PL010_SERIAL
-#define CONFIG_CONS_INDEX      0
-#define CONFIG_BAUDRATE                38400
-#define CONFIG_PL01x_PORTS     { (void *) (CONFIG_SYS_SERIAL0), (void *) (CONFIG_SYS_SERIAL1) }
-#define CONFIG_SYS_SERIAL0             0x16000000
-#define CONFIG_SYS_SERIAL1             0x17000000
-
-
 /*
  * BOOTP options
  */
 #define CONFIG_BOOTARGS                "root=/dev/mtdblock0 console=ttyAM0 console=tty"
 #define CONFIG_BOOTCOMMAND     ""
 
-/*
- * Miscellaneous configurable options
- */
-#define CONFIG_SYS_PROMPT      "Integrator-AP # "      /* Monitor Command Prompt   */
-
 /* Flash settings */
 #define CONFIG_SYS_FLASH_SIZE          0x02000000 /* 32 MiB */
 #define CONFIG_SYS_MAX_FLASH_SECT      128
index d6f260287534338532c50c0b8157b361ba76b91d..af69ad99c4cda87fcad3cebd07036d9b6811687b 100644 (file)
 #define CONFIG_SMC91111_BASE    0xC8000000
 #undef CONFIG_SMC91111_EXT_PHY
 
-/* PL011 configuration */
-#define CONFIG_PL011_SERIAL
-#define CONFIG_PL011_CLOCK     14745600
-#define CONFIG_PL01x_PORTS     { (void *)CONFIG_SYS_SERIAL0, (void *)CONFIG_SYS_SERIAL1 }
-#define CONFIG_CONS_INDEX      0
-#define CONFIG_BAUDRATE                38400
-#define CONFIG_SYS_SERIAL0             0x16000000
-#define CONFIG_SYS_SERIAL1             0x17000000
-
 /*
  * Command line configuration.
  */
@@ -50,8 +41,6 @@
 /*
  * Miscellaneous configurable options
  */
-#define CONFIG_SYS_PROMPT      "Integrator-CP # "      /* Monitor Command Prompt */
-
 #define PHYS_FLASH_SIZE                        0x01000000      /* 16MB */
 #define CONFIG_SYS_MAX_FLASH_SECT      64
 #define CONFIG_ENV_IS_IN_FLASH 1
index e68b6617c51a03e4b3800bd884fb9ca979a11035..b1cd7dfdc28fb4d4feb1ba882ae87f19fc961a7a 100644 (file)
 #define CONFIG_MISC_INIT_R
 #define CONFIG_BOARD_EARLY_INIT_F
 #define CONFIG_BOOTFILE                "uImage" /* Boot file name */
-#define CONFIG_SYS_PROMPT      "U-Boot > " /* Command Prompt */
 #define CONFIG_SYS_CBSIZE      1024 /* Console I/O Buffer Size */
 #define CONFIG_SYS_PBSIZE      (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
 #define CONFIG_SYS_MAXARGS     16 /* max number of command args */
index def0ab4121ce1ada052c33017647d5b813757790..e87a01047d30093fb8f3830adc9193117a3cad8c 100644 (file)
@@ -16,7 +16,6 @@
 #include "tegra124-common.h"
 
 /* High-level configuration options */
-#define V_PROMPT                       "Tegra124 (Jetson TK1) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Jetson TK1"
 
 /* Board-specific serial config */
index 71f2ee18a3c3086958a801ca81a61cf078bb69bf..309047634053917f214590b462626b4a2e76637c 100644 (file)
@@ -55,7 +55,6 @@
  * Miscellaneous configurable options
  */
 #define CONFIG_SYS_LONGHELP    /* undef to save memory */
-#define CONFIG_SYS_PROMPT              "HP Jornada# "
 #define CONFIG_SYS_CBSIZE              256     /* console buffsize */
 #define CONFIG_SYS_PBSIZE              (256+sizeof(CONFIG_SYS_PROMPT)+16)
 #define CONFIG_SYS_MAXARGS             16      /* max number of command args */
index 93c2976b217c09ea3e5ff2017c209e1c8196fdd8..8a451ecd02406a0e35719b82f434adb7c2d33302 100644 (file)
@@ -53,7 +53,6 @@
 
 /* prompt */
 #define CONFIG_SYS_LONGHELP
-#define CONFIG_SYS_PROMPT              "KZM-A9-GT# "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_PBSIZE              256
 #define CONFIG_SYS_MAXARGS             16
index e9ee3fb638b35bcd7ec265b3c3799877effcee45..10a7b05daf30e0c28d808bb604239b0539fc3b99 100644 (file)
@@ -97,6 +97,7 @@
 #define        CONFIG_SYS_HUSH_PARSER          1
 
 #define        CONFIG_SYS_LONGHELP
+#undef CONFIG_SYS_PROMPT
 #ifdef CONFIG_SYS_HUSH_PARSER
 #define        CONFIG_SYS_PROMPT               "$ "
 #else
index 5afee55ae9ca33832ce79eb00d78bf0aac525c28..39fb464593c50c228ab85f55abce7ab6e3edf79c 100644 (file)
@@ -260,7 +260,6 @@ unsigned long long get_qixis_addr(void);
 
 /* Monitor Command Prompt */
 #define CONFIG_SYS_CBSIZE              512     /* Console I/O Buffer Size */
-#define CONFIG_SYS_PROMPT              "=> "
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
                                        sizeof(CONFIG_SYS_PROMPT) + 16)
 #define CONFIG_SYS_HUSH_PARSER
index ddbf5cec67f14bb09e9a4f2b5ad47d10342228c1..18372584fb5f18dfe37f1c6d4926e0fe01ae2f72 100644 (file)
@@ -88,7 +88,6 @@
 #define CONFIG_SF_DEFAULT_SPEED                25000000
 
 
-#undef CONFIG_SYS_PROMPT
 #define CONFIG_SYS_PROMPT_HUSH_PS2     "> "
 
 /*
index ab2335fab8235dd1b191ef7ab671e2a0fbeb41c6..2f33f63b1cf5441b09e6007d911e72b2b709ddff 100644 (file)
@@ -59,6 +59,7 @@
 /*
  * Console configuration
  */
+#undef CONFIG_SYS_PROMPT
 #if defined(CONFIG_SYS_LITTLE_ENDIAN)
 #define CONFIG_SYS_PROMPT              "maltael # "
 #else
index 0a7b7cf36e454fb6b9d728dba924ac593d264ca9..0f70c47649ae78a13d361c74182e73deea6d17e4 100644 (file)
 #define CONFIG_USB_ULPI_VIEWPORT_OMAP
 #define CONFIG_OMAP_EHCI_PHY1_RESET_GPIO       57
 #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3
+#define        CONFIG_USB_HOST_ETHER
+#define        CONFIG_USB_ETHER_ASIX
+#define CONFIG_USB_ETHER_MCS7830
 
 /* commands to include */
 #define CONFIG_CMD_EXT2                /* EXT2 Support                 */
 /*
  * Miscellaneous configurable options
  */
-#define V_PROMPT                       "mcx # "
-
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER         /* use "hush" command parser */
-#define CONFIG_SYS_PROMPT              V_PROMPT
 #define CONFIG_SYS_CBSIZE              1024/* Console I/O Buffer Size */
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
  */
 
 /* **** PISMO SUPPORT *** */
+#define CONFIG_NAND
+#define CONFIG_SYS_NAND_BUSWIDTH_16BIT
 #define CONFIG_NAND_OMAP_GPMC
+#define CONFIG_NAND_OMAP_GPMC_PREFETCH
 #define CONFIG_ENV_IS_IN_NAND
 #define SMNAND_ENV_OFFSET              0x180000 /* environment starts here */
 
index b5d72e3966a83773becfe8d39631dc879bbf58bb..6dfd5e2c40c48c17ececc3dee33d43af94675bbc 100644 (file)
@@ -13,7 +13,6 @@
 #include "tegra20-common.h"
 
 /* High-level configuration options */
-#define V_PROMPT                       "Tegra20 (Medcom-Wide) # "
 #define CONFIG_TEGRA_BOARD_STRING      "Avionic Design Medcom-Wide"
 
 /* Board-specific serial config */
index e16965c56c8960c41438e7fd1b2f25e35c857f9e..626fa44927111d19003b611d8079474d95955aea 100644 (file)
                                "1m(cramfs),-(jffs2)"
 #endif
 
-/* Miscellaneous configurable options */
-#define        CONFIG_SYS_PROMPT       "U-Boot-mONStR> "
 /* size of console buffer */
 #define        CONFIG_SYS_CBSIZE       512
  /* print buffer size */
index b9ecb091b61d2d118114fd27b5f54a7f72e1ec08..89a72904b3d75239291d6008ebb90b818a6e6cb6 100644 (file)
@@ -24,7 +24,6 @@
 #define CONFIG_ENV_ADDR                (XPAR_FLASH_MEM0_BASEADDR+CONFIG_ENV_OFFSET)
 
 /*Misc*/
-#define CONFIG_SYS_PROMPT      "ml507:/# "     /* Monitor Command Prompt    */
 #define CONFIG_PREBOOT         "echo U-Boot is up and runnining;"
 
 /*Flash*/
index dd516acff5a1194581b09709344eb58d5b4f1b2a..3073db9ff8fffe673eb9eb8af14ec91c1f36daae 100644 (file)
 #define CONFIG_OMAP3_GPIO_4
 #define CONFIG_HOSTNAME mt_ventoux
 
-/*
- * Miscellaneous configurable options
- */
-#define V_PROMPT                       "mt_ventoux => "
-#define CONFIG_SYS_PROMPT              V_PROMPT
-
 /*
  * Set its own mtdparts, different from common
  */
index b90de14b30c067911e7849e78974fab0be633ad2..92e5429929266dc87f0ad457d11aec44ea0762d1 100644 (file)
@@ -70,7 +70,6 @@
 #define CONFIG_INITRD_TAG      1       /* enable INITRD tag */
 #define CONFIG_SETUP_MEMORY_TAGS 1     /* enable memory tag */
 
-#define        CONFIG_SYS_PROMPT       "Marvell>> "    /* Command Prompt */
 #define        CONFIG_SYS_CBSIZE       1024    /* Console I/O Buff Size */
 #define        CONFIG_SYS_PBSIZE       (CONFIG_SYS_CBSIZE \
                +sizeof(CONFIG_SYS_PROMPT) + 16)        /* Print Buff */
index 7e709cd936268372689e3640bc9ee795e8ab9bb8..72d28c9bd95e6162ffb2cccb4f39212ec913b53d 100644 (file)
@@ -35,6 +35,7 @@
 #define CONFIG_SPL_MAX_SIZE    2048
 #define CONFIG_SPL_NAND_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
+#define CONFIG_SPL_SERIAL_SUPPORT
 
 #define CONFIG_SPL_TEXT_BASE   0x87dc0000
 #define CONFIG_SYS_TEXT_BASE   0x87e00000
index 22aec4f1762c063083b7c896726ec909dd2cbc2e..373cfcbc79283f2f122b7fe334cc2e821d956bea 100644 (file)
 
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER         /* use "hush" command parser */
-#define CONFIG_SYS_PROMPT              "Efika> "
 #define CONFIG_AUTO_COMPLETE
 #define CONFIG_SYS_CBSIZE              256     /* Console I/O Buffer Size */
 /* Print Buffer Size */
index 436b0227b97d393ab0ed49d469c99485a3808308..6ae736f15492f50f3c303bf4dc95048abc5f1daf 100644 (file)
           "else run netboot; fi"
 
 /* Miscellaneous configurable options */
-#define CONFIG_SYS_PROMPT              "=> "
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
 
index 38b1e9377c328b50b1d21dec5b93e4fffdb5c1c1..9d823def6745162a7bda4471fe9ef3b5167ec24c 100644 (file)
@@ -55,6 +55,7 @@
 #define CONFIG_SPL_LDSCRIPT    "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds"
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
+#define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_GPIO_SUPPORT
 
 /* Memory sizes */
index 61af61f190bc2b1ec792ac37784115e1f44745ac..ebf67501f0b1c030187333c24f2e45a12b0981e9 100644 (file)
  */
 #include "mv-common.h"
 
-/* Remove or override few declarations from mv-common.h */
-#undef CONFIG_SYS_PROMPT       /* previously defined in mv-common.h */
-#define CONFIG_SYS_PROMPT "nas220> "
-
 /*
  *  Environment variables configurations
  */
index 8755be73b6b4cf8e0d910b258c2ced03614da23a..dd70adcceaff0a5f440a8aaf7928cf95c4cafe2b 100644 (file)
@@ -27,7 +27,6 @@
 /* user interface */
 #define CONFIG_SYS_LONGHELP
 #define CONFIG_SYS_HUSH_PARSER
-#define CONFIG_SYS_PROMPT              "Nomadik> "
 #define CONFIG_CMDLINE_EDITING
 #define CONFIG_SYS_CBSIZE              256     /* Console I/O Buffer Size */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE \
index 7ec9965a46401adbd5e7ea138848c84bcfbaa0ff..915df52ccfe8b6f840491f4e931091ae7ceebd0e 100644 (file)
@@ -396,7 +396,6 @@ int rx51_kp_getc(struct stdio_dev *sdev);
 #define CONFIG_SYS_LONGHELP                    /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER                 /* use "hush" command parser */
 #define CONFIG_SYS_PROMPT_HUSH_PS2     "> "
-#define CONFIG_SYS_PROMPT              "Nokia RX-51 # "
 #define CONFIG_SYS_CBSIZE              256     /* Console I/O Buffer Size */
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
index eac24d39ea8da1d855d6133b20f0a938328d8097..4b693e8230b9fd80f22cee1d2513d8bdfcd9b644 100644 (file)
@@ -13,7 +13,6 @@
 #include "tegra124-common.h"
 
 /* High-level configuration options */
-#define V_PROMPT                       "Tegra124 (Nyan-big) # "
 #define CONFIG_TEGRA_BOARD_STRING      "Google/NVIDIA Nyan-big"
 
 /* Board-specific serial config */
index 69be496c079d5ed4e78239372f86938ca6cfb015..1afe04ad8b39c7f2218481221442e3e2d640e50d 100644 (file)
@@ -14,9 +14,6 @@
 
 #include <configs/exynos4-common.h>
 
-#define CONFIG_SYS_PROMPT      "Odroid # "     /* Monitor Command Prompt */
-
-
 #define CONFIG_SYS_L2CACHE_OFF
 #ifndef CONFIG_SYS_L2CACHE_OFF
 #define CONFIG_SYS_L2_PL310
index 0deff460267f8f0571eded73475e0281e7cec513..3c701587bfbe1bd6384d5abf58640fadecce39b7 100644 (file)
@@ -12,7 +12,6 @@
 #include <configs/exynos5-common.h>
 
 #undef CONFIG_ENV_IS_IN_SPI_FLASH
-#define CONFIG_SYS_PROMPT              "ODROID-XU3 # "
 #define CONFIG_IDENT_STRING            " for ODROID-XU3"
 
 #define CONFIG_BOARD_COMMON
diff --git a/include/configs/odroid_xu3.h.rej b/include/configs/odroid_xu3.h.rej
new file mode 100644 (file)
index 0000000..a1c2964
--- /dev/null
@@ -0,0 +1,10 @@
+--- include/configs/odroid_xu3.h
++++ include/configs/odroid_xu3.h
+@@ -10,7 +10,6 @@
+ #include "exynos5420-common.h"
+-#define CONFIG_SYS_PROMPT             "ODROID-XU3 # "
+ #define CONFIG_IDENT_STRING           " for ODROID-XU3"
+ #define CONFIG_BOARD_COMMON
index dbe3e9be8ca14f4c97cfe3c6656a873f0e8e458c..f309b2e83b7103c511dd41c68d4dd5507684bade 100644 (file)
 #define CONFIG_SPL_OMAP3_ID_NAND
 
 /* NAND boot config */
-#define CONFIG_SYS_NAND_BUSWIDTH_16BIT 16
+#define CONFIG_SYS_NAND_BUSWIDTH_16BIT
 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
 #define CONFIG_SYS_NAND_PAGE_COUNT     64
 #define CONFIG_SYS_NAND_PAGE_SIZE      2048
index 81d4b34876e80cabfa27d4e771e2e0d693cf9d68..713df3cf80d9b7e7c40e946f087d4cf9274d8233 100644 (file)
 #define CONFIG_SERIAL2
 #endif
 
-/* Keep old prompt in case some existing script depends on it */
-#undef CONFIG_SYS_PROMPT
-#define CONFIG_SYS_PROMPT              "Cairo # "
-
 /* Provide MACH_TYPE for compatibility with non-DT kernels */
 #define MACH_TYPE_OMAP3_CAIRO  3063
 #define CONFIG_MACH_TYPE       MACH_TYPE_OMAP3_CAIRO
index 66c314fc42c15822b000375a18439bf4a000076e..7e7f6f2e9f4f15fe52092eff5385f984c032e4f4 100644 (file)
 
 /* Max number of NAND devices */
 #define CONFIG_SYS_MAX_NAND_DEVICE     1
-#define CONFIG_SYS_NAND_BUSWIDTH_16BIT 16
+#define CONFIG_SYS_NAND_BUSWIDTH_16BIT
 /* Timeout values (in ticks) */
 #define CONFIG_SYS_FLASH_ERASE_TOUT    (100 * CONFIG_SYS_HZ)
 #define CONFIG_SYS_FLASH_WRITE_TOUT    (100 * CONFIG_SYS_HZ)
  * U-boot features
  * ----------------------------------------------------------------------------
  */
-#define CONFIG_SYS_PROMPT              "OMAP3_EVM # "
 #define CONFIG_SYS_MAXARGS             16      /* max args for a command */
 
 #define CONFIG_MISC_INIT_R
index 8785d8fd501aeaa981dfdafcdc8d8f0962927dd6..04433edcc543c6fba908294bcfcb2d3e27e4df40 100644 (file)
 
 /* NAND boot config */
 #ifdef CONFIG_NAND
-#define CONFIG_SYS_NAND_BUSWIDTH_16BIT 16
+#define CONFIG_SYS_NAND_BUSWIDTH_16BIT
 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
 #define CONFIG_SYS_NAND_PAGE_COUNT     64
 #define CONFIG_SYS_NAND_PAGE_SIZE      2048
index af6ae73ef61c63a4f3c0c33a673cc6d05839e517..e09e617f73aedb8281b910ce766340cc77199017 100644 (file)
 
 #define CONFIG_SYS_MAX_NAND_DEVICE     1               /* Max number of */
                                                        /* NAND devices */
-#define CONFIG_SYS_NAND_BUSWIDTH_16BIT 16
+#define CONFIG_SYS_NAND_BUSWIDTH_16BIT
 #define CONFIG_JFFS2_NAND
 /* nand device jffs2 lives on */
 #define CONFIG_JFFS2_DEV               "nand0"
  */
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER         /* use "hush" command parser */
-#define CONFIG_SYS_PROMPT              "OMAP Logic # "
 #define CONFIG_SYS_CBSIZE              512     /* Console I/O Buffer Size */
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
index 19543a12b252bfaab42cd117b3c287ff066bdeeb..9e2cf7333cfc571c9e701f0e43986612346a1bb7 100644 (file)
  */
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER         /* use "hush" command parser */
-#define CONFIG_SYS_PROMPT              "mvblx # "
 #define CONFIG_SYS_CBSIZE              256     /* Console I/O Buffer Size */
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
index a1a90ec313ec782a3834dd35b3dcbdea31981020..53ff61d10c1f3d655508a4b7ff0f7c1c844e234a 100644 (file)
        "fi;" \
        "run nanddtsboot; " \
 
-/*
- * Miscellaneous configurable options
- */
-#undef CONFIG_SYS_PROMPT
-#define CONFIG_SYS_PROMPT              "Overo # "
-
 /* memtest works on */
 #define CONFIG_SYS_MEMTEST_START       (OMAP34XX_SDRC_CS0)
 #define CONFIG_SYS_MEMTEST_END         (OMAP34XX_SDRC_CS0 + \
 #define CONFIG_SYS_CACHELINE_SIZE      64
 
 /* NAND boot config */
-#define CONFIG_SYS_NAND_BUSWIDTH_16BIT 16
+#define CONFIG_SYS_NAND_BUSWIDTH_16BIT
 #define CONFIG_SYS_NAND_MAX_ECCPOS  56
 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
 #define CONFIG_SYS_NAND_PAGE_COUNT     64
index 49467c9c927f68aea4440a0f4e10d24c3c2da245..4e93705081697983c96088db0122d88a3bf693e7 100644 (file)
@@ -64,7 +64,7 @@
  */
 #define CONFIG_SYS_NAND_ADDR           NAND_BASE       /* physical address */
                                                        /* to access nand */
-#define CONFIG_SYS_NAND_BUSWIDTH_16BIT 16
+#define CONFIG_SYS_NAND_BUSWIDTH_16BIT
 #define CONFIG_NAND_OMAP_ECCSCHEME     OMAP_ECC_HAM1_CODE_SW
 #define CONFIG_SYS_NAND_PAGE_SIZE      2048
 #define CONFIG_SYS_NAND_OOBSIZE                64
        "ubi part boot && ubifsmount ubi:boot && " \
                "ubifsload ${loadaddr} uImage && bootm ${loadaddr}"
 
-/*
- * Miscellaneous configurable options
- */
-#undef CONFIG_SYS_PROMPT
-#define CONFIG_SYS_PROMPT              "Pandora # "
-
 /* memtest works on */
 #define CONFIG_SYS_MEMTEST_START       (OMAP34XX_SDRC_CS0)
 #define CONFIG_SYS_MEMTEST_END         (OMAP34XX_SDRC_CS0 + \
index 16ceb91887673c12e2ae8d08414b55698da4abe1..f43e477ad25f5863ba45f1021748671541867d19 100644 (file)
 
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER         /* use "hush" command parser */
-#define CONFIG_SYS_PROMPT              "OMAP34XX SDP # "
 #define CONFIG_SYS_CBSIZE              512     /* Console I/O Buffer Size */
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
index 2d1d53dc38135488670bdf86b31697b4ec6f2d15..cef2243bfeb59cc2f4498efa9b01449f5d3cc3a3 100644 (file)
@@ -97,7 +97,7 @@
 #define CONFIG_SYS_NAND_BASE           NAND_BASE       /* physical address */
                                                        /* to access nand at */
                                                        /* CS0 */
-#define CONFIG_SYS_NAND_BUSWIDTH_16BIT 16
+#define CONFIG_SYS_NAND_BUSWIDTH_16BIT
 
 /* Environment information */
 
index 6d0d020690f2f0241328f93967b4ae05d1558f8f..d9a3aa421763452157d13d525b5cc0789503cb20 100644 (file)
 #define CONFIG_MISC_INIT_R
 #define CONFIG_BOARD_EARLY_INIT_F
 #define CONFIG_BOOTFILE                "uImage" /* Boot file name */
-#define CONFIG_SYS_PROMPT      "U-Boot > " /* Command Prompt */
 #define CONFIG_SYS_CBSIZE      1024 /* Console I/O Buffer Size */
 #define CONFIG_SYS_PBSIZE      (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
 #define CONFIG_SYS_MAXARGS     16 /* max number of command args */
index dae8fd5aa487eee74b199e81ee176a25740c9ffe..21d8e7ac48bd85de8e520516f454ad6ced7a1e21 100644 (file)
@@ -11,9 +11,6 @@
 
 #include <configs/exynos4-common.h>
 
-#define CONFIG_SYS_PROMPT              "ORIGEN # "
-
-
 /* High Level Configuration Options */
 #define CONFIG_EXYNOS4210              1       /* which is a EXYNOS4210 SoC */
 #define CONFIG_ORIGEN                  1       /* working with ORIGEN*/
index a9f92fa29fdbd12fc8619fe9c7745d67610f7ed4..ec48c14acae456ab588c3fc78735b768cd712245 100644 (file)
@@ -96,9 +96,6 @@
 #define        CONFIG_SYS_HUSH_PARSER          1
 
 #define        CONFIG_SYS_LONGHELP
-#ifdef CONFIG_SYS_HUSH_PARSER
-#define        CONFIG_SYS_PROMPT               "$ "
-#endif
 #define        CONFIG_SYS_CBSIZE               256
 #define        CONFIG_SYS_PBSIZE               \
        (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
index b68ad3b7dd669c093ff2aee44c270d6ff6b6d7d6..81c3f028ff3116be0bddfccbf83f783ff4ee1b56 100644 (file)
@@ -99,9 +99,6 @@
 #define        CONFIG_SYS_HUSH_PARSER          1
 
 #define        CONFIG_SYS_LONGHELP
-#ifdef CONFIG_SYS_HUSH_PARSER
-#define        CONFIG_SYS_PROMPT               "$ "
-#endif
 #define        CONFIG_SYS_CBSIZE               256
 #define        CONFIG_SYS_PBSIZE               \
        (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
index 3946607512dfec9e5737133663879284e6464c9f..ffb0d1e19a05b4eccafd2e4ae90e887ef32ff50e 100644 (file)
@@ -92,6 +92,7 @@
 #define CONFIG_SYS_PROMPT_HUSH_PS2      "> "
 
 #define CONFIG_SYS_LONGHELP
+#undef CONFIG_SYS_PROMPT
 #ifdef CONFIG_SYS_HUSH_PARSER
 #define CONFIG_SYS_PROMPT               "$ "
 #else
index 0bdeccc5a92547bee2940175df08fa98f07f684d..8eac81aa218e7314399ece4760093c2e1f1e453e 100644 (file)
@@ -21,7 +21,6 @@
 #include "tegra20-common.h"
 
 /* High-level configuration options */
-#define V_PROMPT               "Tegra20 (Paz00) MOD # "
 #define CONFIG_TEGRA_BOARD_STRING      "Compal Paz00"
 
 /* Board-specific serial config */
index af2654e0f4b9c3a7355e6c966720faf6dee34422..516d38144a07dd6d3aa9cccfa40375e78f9f6e12 100644 (file)
@@ -52,7 +52,6 @@
  * Miscellaneous configurable options
  */
 #define        CONFIG_SYS_LONGHELP                             /* undef to save memory      */
-#define        CONFIG_SYS_PROMPT               "Pb1x00 # "     /* Monitor Command Prompt    */
 #define        CONFIG_SYS_CBSIZE               256             /* Console I/O Buffer Size   */
 #define        CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)  /* Print Buffer Size */
 #define        CONFIG_SYS_MAXARGS              16              /* max number of command args*/
index 83c96a8c7b1e1f7603938a86caa24dab47b6ade4..29feb7bba13210df6710df0a1501edab53af0993 100644 (file)
@@ -337,7 +337,6 @@ RTC configuration
  Miscellaneous configurable options
 -------------------------------------------------------------------------------*/
 #define CONFIG_SYS_LONGHELP    /* undef to save memory */
-#define CONFIG_SYS_PROMPT "uboot> " /* Monitor Command Prompt */
 
 #define CONFIG_CMDLINE_EDITING 1 /* add command line history */
 
index 0f5e9feeac3411ede81901bbe3800aea1df68fa5..6c42aaac0e596a0fda8cf69e241dea616b364609 100644 (file)
@@ -29,7 +29,6 @@
 #define CONFIG_SERIAL3         /* use SERIAL 3 */
 #define CONFIG_DEFAULT_CONSOLE "console=ttySAC1,115200n8\0"
 
-#define CONFIG_SYS_PROMPT      "Peach-Pi # "
 #define CONFIG_IDENT_STRING    " for Peach-Pi"
 
 /* Display */
index f2594345c3088e9e02c488110da3ce4139bd6f12..6c68dd2e0c6f1fe01052de07abdf545d3896c921 100644 (file)
@@ -29,7 +29,6 @@
 #define CONFIG_SERIAL3         /* use SERIAL 3 */
 #define CONFIG_DEFAULT_CONSOLE "console=ttySAC1,115200n8\0"
 
-#define CONFIG_SYS_PROMPT      "Peach-Pit # "
 #define CONFIG_IDENT_STRING    " for Peach-Pit"
 
 /* DRAM Memory Banks */
index 0bdcf22dc0d685ad507029b71b7b84a22afe6881..1bc8c4b7fa7eafab74db7a907ba58e0a38805419 100644 (file)
@@ -17,9 +17,6 @@
 #define V_OSCK                         24000000  /* Clock output from T2 */
 #define V_SCLK                         (V_OSCK)
 
-#undef CONFIG_SYS_PROMPT
-#define CONFIG_SYS_PROMPT              "pepper# "
-
 #define CONFIG_SYS_I2C_EEPROM_ADDR     0x50
 
 /* Mach type */
index f5b476f462e1c19275a52e48c2a5a6f4eade8059..36795304195b837fa20f3175f9aa44570bbad8f2 100644 (file)
@@ -19,8 +19,6 @@
 
 #define CONFIG_HOSTNAME                                picon
 
-#define CONFIG_SYS_PROMPT                      "picon > "
-
 #define CONFIG_PLATFORM_ENV_SETTINGS           "\0"
 
 #define CONFIG_EXTRA_ENV_SETTINGS              CONFIG_COMMON_ENV_SETTINGS \
index 9bca10fdf91553a243b4329b75d7057d544c41c1..ccb6441871b08a618a472a648d125f15f2baefcb 100644 (file)
@@ -26,8 +26,6 @@
 
 #define CONFIG_HOSTNAME                                titanium
 
-#define CONFIG_SYS_PROMPT                      "titanium > "
-
 #define CONFIG_PLATFORM_ENV_SETTINGS           "\0"
 
 #define CONFIG_EXTRA_ENV_SETTINGS              CONFIG_COMMON_ENV_SETTINGS \
index 7f7ea9754bedf7e9414c2d508f74128053510145..1d6df323e8b6d3139d78f0e9b901f24650f400cc 100644 (file)
@@ -13,7 +13,6 @@
 #include "tegra20-common.h"
 
 /* High-level configuration options */
-#define V_PROMPT                       "Tegra20 (Plutux) # "
 #define CONFIG_TEGRA_BOARD_STRING      "Avionic Design Plutux"
 
 /* Board-specific serial config */
index f9a1d5174749f59d39ee85e3aadddf0dde736de7..f4f96a71a05b5fadc3bc63e4ec9cd43fe763f6e3 100644 (file)
 
 #define CONFIG_BAUDRATE                        115200
 
-#define CONFIG_SYS_PROMPT              "pm9261> "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_MAXARGS             16
 #define CONFIG_SYS_PBSIZE              \
index 6c434f069978a31dd2d356b29969ed94fdb5147c..bd4357722c0ef0712f30868e804ec668a4a398a4 100644 (file)
 
 #define CONFIG_BAUDRATE                        115200
 
-#define CONFIG_SYS_PROMPT              "u-boot-pm9263> "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_MAXARGS             16
 #define CONFIG_SYS_PBSIZE              \
index c7938656b32ecf5439b59178c6148d084599daf6..09f0744b4100b43009589f1cc8946e53a8dd3fa0 100644 (file)
 
 #define CONFIG_BAUDRATE                        115200
 
-#define CONFIG_SYS_PROMPT              "U-Boot> "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_MAXARGS             16
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
index 3a0992a5cfa9073b86a9ab2b05b75473346728a8..8cf3ad847907e1a98e5fd120c021f980fd7c1d0d 100644 (file)
  */
 #include "mv-common.h"
 
-/* Remove or override few declarations from mv-common.h */
-#undef CONFIG_SYS_PROMPT       /* previously defined in mv-common.h */
-#define CONFIG_SYS_PROMPT      "PogoE02> "
-
 /*
  *  Environment variables configurations
  */
index 3e4aab45f7ed0f772b9e3471bca320e82861a535..f76e02325f344ec413b5ba797c159889a56e68c7 100644 (file)
 #define CONFIG_BAUDRATE                115200
 #define CONFIG_RTC_BFIN
 #define CONFIG_UART_CONSOLE    0
-#define CONFIG_SYS_PROMPT      "pr1>"
 #define CONFIG_BOOTCOMMAND     "run nandboot"
 #define CONFIG_BOOTDELAY       2
 #define CONFIG_LOADADDR                0x2000000
index 3edeb0812f0343e804c12f4bda809cf877662d4e..332d79f89f535d10454a0e45a7e17e1a699bffda 100644 (file)
 #define CONFIG_SYS_HUSH_PARSER         1
 
 #define CONFIG_SYS_LONGHELP                            /* undef to save memory         */
+#undef CONFIG_SYS_PROMPT
 #ifdef CONFIG_SYS_HUSH_PARSER
 #define CONFIG_SYS_PROMPT              "$ "            /* Monitor Command Prompt */
 #else
index b22637b367225bd0c481524f769f5a2baa7a5e15..a7ec8f54c5585e142e59f680d5498d086647d647 100644 (file)
@@ -78,6 +78,7 @@
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 
 /* Monitor Command Prompt */
+#undef CONFIG_SYS_PROMPT
 #if defined(CONFIG_SYS_LITTLE_ENDIAN)
 #define CONFIG_SYS_PROMPT              "qemu-mipsel # "
 #else
index fae5b0590b67cfeb28badd4ebb08a4565be01a0b..4de15bfb75611f5fbda52214ea88136f9b03ed52 100644 (file)
@@ -80,6 +80,7 @@
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 
 /* Monitor Command Prompt */
+#undef CONFIG_SYS_PROMPT
 #if defined(CONFIG_SYS_LITTLE_ENDIAN)
 #define CONFIG_SYS_PROMPT              "qemu-mips64el # "
 #else
index 1012cdd292a66857c42033b7ce6713329c1e6f3e..8830a10efb012755ae76e644212a20482b89c434 100644 (file)
@@ -14,7 +14,6 @@
 #define CONFIG_SYS_GENERIC_BOARD
 #define CONFIG_BCM2835
 #define CONFIG_ARCH_CPU_INIT
-#define CONFIG_SYS_DCACHE_OFF
 
 #define CONFIG_SYS_TIMER_RATE          1000000
 #define CONFIG_SYS_TIMER_COUNTER       \
 
 /* Shell */
 #define CONFIG_SYS_MAXARGS             8
-#define CONFIG_SYS_PROMPT              "U-Boot> "
 #define CONFIG_COMMAND_HISTORY
 
 /* Commands */
index ab2f4db39fec8b81f91de0298d05ca05b973c9ff..86422e390da2d966a15cf4b993c56f7e7966aa72 100644 (file)
@@ -7,6 +7,8 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
+#define CONFIG_SYS_CACHELINE_SIZE              32
+
 #include "rpi-common.h"
 
 #endif
index 2e7e74fd563b31797a92e21697409f4464bf317a..bea4ebda7facf13a625104946f5ad99482a06b41 100644 (file)
@@ -9,6 +9,8 @@
 
 #define CONFIG_SKIP_LOWLEVEL_INIT
 #define CONFIG_BCM2836
+#define CONFIG_SYS_CACHELINE_SIZE              64
+#define CONFIG_SYS_DCACHE_OFF
 
 #include "rpi-common.h"
 
index 235bba5de589367643edb0fd6f4cc7c64632463b..aff264bbd2932f6492cca178874cf72fa868d029 100644 (file)
 
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER         /* use "hush" command parser    */
-#define CONFIG_SYS_PROMPT      "Goni # "
 #define CONFIG_SYS_CBSIZE      256     /* Console I/O Buffer Size */
 #define CONFIG_SYS_PBSIZE      384     /* Print Buffer Size */
 #define CONFIG_SYS_MAXARGS     16      /* max number of command args */
index e7bace4345f919a4b55a016eb68a3f3c09487e6f..35fef2b244a0e05b2423bd504cb231ab5bb784f9 100644 (file)
@@ -12,9 +12,6 @@
 
 #include <configs/exynos4-common.h>
 
-#define CONFIG_SYS_PROMPT      "Universal # "  /* Monitor Command Prompt */
-
-
 #define CONFIG_TIZEN                   /* TIZEN lib */
 
 /* Keep L2 Cache Disabled */
index f367d62593cd9ba5362adbd48faf8e139e331393..d4ffb467bd8ab5654b3c7e65c6d97223cfb6d2b0 100644 (file)
@@ -51,7 +51,6 @@
  * General options for u-boot. Modify to save memory foot print
  */
 #define CONFIG_SYS_LONGHELP                                  /* undef saves memory  */
-#define CONFIG_SYS_PROMPT              "scb9328> "           /* prompt string       */
 #define CONFIG_SYS_CBSIZE              256                   /* console I/O buffer  */
 #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* print buffer size   */
 #define CONFIG_SYS_MAXARGS             16                    /* max command args    */
index fdeffb5ab3d87684b5203af61a8f468ef09d3533..3e904746f29517fc5cb51402caa5a20c06d7e97c 100644 (file)
@@ -20,7 +20,6 @@
 #include "tegra20-common.h"
 
 /* High-level configuration options */
-#define V_PROMPT               "Tegra20 (SeaBoard) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Seaboard"
 
 /* Board-specific serial config */
index 114d1fdb678b5b73d992af759b37a33da0c5ac3b..703f4fcfe925dfed03f3f4e92fd5fed908c4b914 100644 (file)
@@ -74,9 +74,6 @@
        "stderr=serial\0"
 
 
-/* Miscellaneous configurable options */
-#define CONFIG_SYS_PROMPT              "SECO MX6Q uQ7 U-Boot > "
-
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE +            \
                                         sizeof(CONFIG_SYS_PROMPT) + 16)
index ceac5e08660216a0911030b64bb2a4ec0e8d4ee3..bcc8dcbfb2558ced3139c5bdbfbaf7e563879fa1 100644 (file)
@@ -27,7 +27,6 @@
 #define CONFIG_SYS_MALLOC_LEN          (16 * 1024 * 1024)
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER         /* use "hush" command parser */
-#define CONFIG_SYS_PROMPT              "U-Boot# "
 #define CONFIG_SYS_PROMPT_HUSH_PS2     "> "
 #define CONFIG_BOARD_LATE_INIT
 #define CONFIG_SYS_NO_FLASH
diff --git a/include/configs/smartweb.h b/include/configs/smartweb.h
new file mode 100644 (file)
index 0000000..d696d4b
--- /dev/null
@@ -0,0 +1,288 @@
+/*
+ * (C) Copyright 2007-2008
+ * Stelian Pop <stelian@popies.net>
+ * Lead Tech Design <www.leadtechdesign.com>
+ *
+ * (C) Copyright 2010
+ * Achim Ehrlich <aehrlich@taskit.de>
+ * taskit GmbH <www.taskit.de>
+ *
+ * (C) Copyright 2012
+ * Markus Hubig <mhubig@imko.de>
+ * IMKO GmbH <www.imko.de>
+ *
+ * (C) Copyright 2014
+ * Heiko Schocher <hs@denx.de>
+ * DENX Software Engineering GmbH
+ *
+ * Configuation settings for the smartweb.
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+/*
+ * SoC must be defined first, before hardware.h is included.
+ * In this case SoC is defined in boards.cfg.
+ */
+#include <asm/hardware.h>
+
+/*
+ * Warning: changing CONFIG_SYS_TEXT_BASE requires adapting the initial boot
+ * program. Since the linker has to swallow that define, we must use a pure
+ * hex number here!
+ */
+#define CONFIG_SYS_TEXT_BASE           0x23000000
+
+/* ARM asynchronous clock */
+#define CONFIG_SYS_AT91_SLOW_CLOCK     32768           /* slow clock xtal */
+#define CONFIG_SYS_AT91_MAIN_CLOCK     18432000        /* 18.432MHz crystal */
+
+/* misc settings */
+#define CONFIG_CMDLINE_TAG             /* pass commandline to Kernel */
+#define CONFIG_SETUP_MEMORY_TAGS       /* pass memory defs to kernel */
+#define CONFIG_INITRD_TAG              /* pass initrd param to kernel */
+#define CONFIG_SKIP_LOWLEVEL_INIT      /* U-Boot is loaded by a bootloader */
+#define CONFIG_BOARD_EARLY_INIT_F      /* call board_early_init_f() */
+#define CONFIG_DISPLAY_CPUINFO         /* display CPU Info at startup */
+
+/* setting board specific options */
+# define CONFIG_MACH_TYPE              MACH_TYPE_SMARTWEB
+#define CONFIG_SYS_GENERIC_BOARD
+#define CONFIG_CMDLINE_EDITING
+#define CONFIG_AUTO_COMPLETE
+
+/* The LED PINs */
+#define CONFIG_RED_LED                 AT91_PIN_PA9
+#define CONFIG_GREEN_LED               AT91_PIN_PA6
+
+/*
+ * SDRAM: 1 bank, 64 MB, base address 0x20000000
+ * Already initialized before u-boot gets started.
+ */
+#define CONFIG_NR_DRAM_BANKS           1
+#define CONFIG_SYS_SDRAM_BASE          ATMEL_BASE_CS1
+#define CONFIG_SYS_SDRAM_SIZE          (64 << 20)
+
+/*
+ * Perform a SDRAM Memtest from the start of SDRAM
+ * till the beginning of the U-Boot position in RAM.
+ */
+#define CONFIG_SYS_MEMTEST_START       CONFIG_SYS_SDRAM_BASE
+#define CONFIG_SYS_MEMTEST_END         (CONFIG_SYS_TEXT_BASE - 0x100000)
+
+/* Size of malloc() pool */
+#define CONFIG_SYS_MALLOC_LEN \
+       ROUND(3 * CONFIG_ENV_SIZE + (128 << 10), 0x1000)
+
+/* NAND flash settings */
+#define CONFIG_NAND_ATMEL
+#define CONFIG_SYS_NO_FLASH
+#define CONFIG_SYS_MAX_NAND_DEVICE     1
+#define CONFIG_SYS_NAND_BASE           ATMEL_BASE_CS3
+#define CONFIG_SYS_NAND_DBW_8
+#define CONFIG_SYS_NAND_MASK_ALE       (1 << 21)
+#define CONFIG_SYS_NAND_MASK_CLE       (1 << 22)
+#define CONFIG_SYS_NAND_ENABLE_PIN     AT91_PIN_PC14
+#define CONFIG_SYS_NAND_READY_PIN      AT91_PIN_PC13
+
+#define CONFIG_CMD_MTDPARTS
+#define CONFIG_MTD_DEVICE
+#define MTDIDS_NAME_STR                "atmel_nand"
+#define MTDIDS_DEFAULT         "nand0=" MTDIDS_NAME_STR
+#define MTDPARTS_DEFAULT       "mtdparts=" MTDIDS_NAME_STR ":" \
+                                       "128k(Bootstrap),"              \
+                                       "896k(U-Boot)," \
+                                       "512k(ENV0),"   \
+                                       "512k(ENV1),"   \
+                                       "4M(Linux),"    \
+                                       "-(Root-FS)"
+
+/* general purpose I/O */
+#define CONFIG_ATMEL_LEGACY            /* required until (g)pio is fixed */
+#define CONFIG_AT91_GPIO               /* enable the GPIO features */
+#define CONFIG_AT91_GPIO_PULLUP        1       /* keep pullups on peripheral pins */
+
+/* serial console */
+#define CONFIG_ATMEL_USART
+#define CONFIG_USART_BASE              ATMEL_BASE_DBGU
+#define CONFIG_USART_ID                        ATMEL_ID_SYS
+#define CONFIG_BAUDRATE                        115200
+
+/*
+ * Ethernet configuration
+ *
+ */
+#define CONFIG_MACB
+#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
+#define CONFIG_BOOTP_BOOTPATH
+#define CONFIG_BOOTP_GATEWAY
+#define CONFIG_BOOTP_HOSTNAME
+#define CONFIG_NFSBOOTCOMMAND                                          \
+       "setenv autoload yes; setenv autoboot yes; "                    \
+       "setenv bootargs ${basicargs} ${mtdparts} "                     \
+       "root=/dev/nfs ip=dhcp nfsroot=${serverip}:/srv/nfs/rootfs; "   \
+       "dhcp"
+
+/* Enable the watchdog */
+#define CONFIG_AT91SAM9_WATCHDOG
+#if !defined(CONFIG_SPL_BUILD)
+#define CONFIG_HW_WATCHDOG
+#endif
+#define CONFIG_AT91_HW_WDT_TIMEOUT     15
+
+#if !defined(CONFIG_SPL_BUILD)
+/* USB configuration */
+#define CONFIG_USB_ATMEL
+#define CONFIG_USB_ATMEL_CLK_SEL_PLLB
+#define CONFIG_USB_OHCI_NEW
+#define CONFIG_USB_STORAGE
+#define CONFIG_DOS_PARTITION
+#define CONFIG_SYS_USB_OHCI_CPU_INIT
+#define CONFIG_SYS_USB_OHCI_REGS_BASE  ATMEL_UHP_BASE
+#define CONFIG_SYS_USB_OHCI_SLOT_NAME  "at91sam9260"
+#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS     2
+#endif
+
+/* General Boot Parameter */
+#define CONFIG_BOOTDELAY               3
+#define CONFIG_BOOTCOMMAND             "run flashboot"
+#define CONFIG_SYS_CBSIZE              512
+#define CONFIG_SYS_MAXARGS             16
+#define CONFIG_SYS_PBSIZE \
+       (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
+#define CONFIG_SYS_LONGHELP
+#define CONFIG_CMDLINE_EDITING
+
+/*
+ * RAM Memory address where to put the
+ * Linux Kernel befor starting.
+ */
+#define CONFIG_SYS_LOAD_ADDR           0x22000000
+
+/*
+ * The NAND Flash partitions:
+ */
+#define CONFIG_ENV_IS_IN_NAND
+#define CONFIG_ENV_OFFSET              (0x100000)
+#define CONFIG_ENV_OFFSET_REDUND       (0x180000)
+#define CONFIG_ENV_RANGE               (0x80000)
+#define CONFIG_ENV_SIZE                        (0x20000)
+
+/*
+ * Predefined environment variables.
+ * Usefull to define some easy to use boot commands.
+ */
+#define        CONFIG_EXTRA_ENV_SETTINGS                                       \
+                                                                       \
+       "basicargs=console=ttyS0,115200\0"                              \
+                                                                       \
+       "mtdparts="MTDPARTS_DEFAULT"\0"
+
+/* Command line & features configuration */
+#undef CONFIG_CMD_FPGA
+#undef CONFIG_CMD_IMI
+#undef CONFIG_CMD_IMLS
+#undef CONFIG_CMD_LOADS
+
+#define CONFIG_CMD_NAND
+#define CONFIG_CMD_USB
+#define CONFIG_CMD_FAT
+
+#ifdef CONFIG_MACB
+# define CONFIG_CMD_PING
+# define CONFIG_CMD_DHCP
+#else
+# undef CONFIG_CMD_BOOTD
+# undef CONFIG_CMD_NET
+# undef CONFIG_CMD_NFS
+#endif /* CONFIG_MACB */
+
+#if !defined(CONFIG_SPL_BUILD)
+/* Enable Device-Tree (FDT) support */
+#define CONFIG_OF_LIBFDT
+#define CONFIG_CMD_FDT
+#define CONFIG_FIT
+#endif
+
+#ifdef CONFIG_SPL_BUILD
+#define CONFIG_SYS_INIT_SP_ADDR                0x301000
+#define CONFIG_SPL_STACK_R
+#define CONFIG_SPL_STACK_R_ADDR                CONFIG_SYS_TEXT_BASE
+#else
+/*
+ * Initial stack pointer: 4k - GENERATED_GBL_DATA_SIZE in internal SRAM,
+ * leaving the correct space for initial global data structure above that
+ * address while providing maximum stack area below.
+ */
+#define CONFIG_SYS_INIT_SP_ADDR \
+       (ATMEL_BASE_SRAM1 + 0x1000 - GENERATED_GBL_DATA_SIZE)
+#endif
+
+
+/* Defines for SPL */
+#define CONFIG_SPL_FRAMEWORK
+#define CONFIG_SPL_TEXT_BASE           0x0
+#define CONFIG_SPL_MAX_SIZE            (4 * 1024)
+
+#define CONFIG_SPL_BSS_START_ADDR      CONFIG_SYS_SDRAM_BASE
+#define CONFIG_SPL_BSS_MAX_SIZE                (16 * 1024)
+#define CONFIG_SYS_SPL_MALLOC_START     (CONFIG_SPL_BSS_START_ADDR + \
+                                       CONFIG_SPL_BSS_MAX_SIZE)
+#define CONFIG_SYS_SPL_MALLOC_SIZE      CONFIG_SYS_MALLOC_LEN
+#define CONFIG_SPL_LDSCRIPT    arch/arm/mach-at91/arm926ejs/u-boot-spl.lds
+
+#define CONFIG_SPL_LIBCOMMON_SUPPORT
+#define CONFIG_SPL_LIBGENERIC_SUPPORT
+
+#define CONFIG_SPL_BOARD_INIT
+#define CONFIG_SPL_GPIO_SUPPORT
+#define CONFIG_SYS_NAND_ENABLE_PIN_SPL (2*32 + 14)
+#define CONFIG_SPL_NAND_SUPPORT
+#define CONFIG_SYS_USE_NANDFLASH       1
+#define CONFIG_SPL_NAND_DRIVERS
+#define CONFIG_SPL_NAND_BASE
+#define CONFIG_SPL_NAND_ECC
+#define CONFIG_SPL_NAND_RAW_ONLY
+#define CONFIG_SPL_NAND_SOFTECC
+#define CONFIG_SYS_NAND_U_BOOT_OFFS    0x20000
+#define CONFIG_SYS_NAND_U_BOOT_SIZE    0x80000
+#define        CONFIG_SYS_NAND_U_BOOT_START    CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_NAND_U_BOOT_DST     CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_NAND_5_ADDR_CYCLE
+
+#define CONFIG_SYS_NAND_SIZE           (256*1024*1024)
+#define CONFIG_SYS_NAND_PAGE_SIZE      2048
+#define CONFIG_SYS_NAND_BLOCK_SIZE     (128*1024)
+#define CONFIG_SYS_NAND_PAGE_COUNT     (CONFIG_SYS_NAND_BLOCK_SIZE / \
+                                        CONFIG_SYS_NAND_PAGE_SIZE)
+#define CONFIG_SYS_NAND_BAD_BLOCK_POS  NAND_LARGE_BADBLOCK_POS
+#define CONFIG_SYS_NAND_ECCSIZE                256
+#define CONFIG_SYS_NAND_ECCBYTES       3
+#define CONFIG_SYS_NAND_OOBSIZE                64
+#define CONFIG_SYS_NAND_ECCPOS         { 40, 41, 42, 43, 44, 45, 46, 47, \
+                                         48, 49, 50, 51, 52, 53, 54, 55, \
+                                         56, 57, 58, 59, 60, 61, 62, 63, }
+
+#define CONFIG_SPL_ATMEL_SIZE
+#define CONFIG_SYS_MASTER_CLOCK                (198656000/2)
+#define AT91_PLL_LOCK_TIMEOUT          1000000
+#define CONFIG_SYS_AT91_PLLA           0x2060bf09
+#define CONFIG_SYS_MCKR                        0x100
+#define CONFIG_SYS_MCKR_CSS            (0x02 | CONFIG_SYS_MCKR)
+#define CONFIG_SYS_AT91_PLLB           0x10483f0e
+
+#if defined(CONFIG_SPL_BUILD)
+#define CONFIG_SYS_THUMB_BUILD
+#define CONFIG_SYS_ICACHE_OFF
+#define CONFIG_SYS_DCACHE_OFF
+#undef CONFIG_SPL_OS_BOOT              /* Not supported by existing map */
+#endif
+#endif /* __CONFIG_H */
index 7b4b3b0af9303eacbd9aeca976c5713bf02c0a03..a6bfa76bf05ebcfe821c3d21bf19e650cd907441 100644 (file)
  * Miscellaneous configurable options
  */
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
-#define CONFIG_SYS_PROMPT      "SMDK2410 # "
 #define CONFIG_SYS_CBSIZE      256
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE      (CONFIG_SYS_CBSIZE + \
index 82d41ccfbb872a60c5f179f73741fa05a39e5cbe..f66bb121f32a11ad8bf98e85235afdef10fd1386 100644 (file)
@@ -17,7 +17,6 @@
 
 #define CONFIG_BOARD_COMMON
 
-#define CONFIG_SYS_PROMPT              "SMDK5250 # "
 #define CONFIG_IDENT_STRING            " for SMDK5250"
 #define CONFIG_DEFAULT_CONSOLE         "console=ttySAC1,115200n8\0"
 
index 623efa8a622b4b1d6b022a431a44171c1948f52f..9cf886c0664f7a5f92a587a096bf72129d749681 100644 (file)
@@ -27,7 +27,6 @@
 #define CONFIG_SERIAL3         /* use SERIAL 3 */
 #define CONFIG_DEFAULT_CONSOLE "console=ttySAC1,115200n8\0"
 
-#define CONFIG_SYS_PROMPT      "SMDK5420 # "
 #define CONFIG_IDENT_STRING    " for SMDK5420"
 #define CONFIG_DEFAULT_CONSOLE         "console=ttySAC1,115200n8\0"
 
index 08a2e9f85ebb7d5da737fc02d4b8400d601b3f37..4ec9c650dd5edc0fbc617344e74c16126906786a 100644 (file)
  */
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER         /* use "hush" command parser    */
-#define CONFIG_SYS_PROMPT              "SMDKC100 # "
 #define CONFIG_SYS_CBSIZE      256     /* Console I/O Buffer Size */
 #define CONFIG_SYS_PBSIZE      384     /* Print Buffer Size */
 #define CONFIG_SYS_MAXARGS     16      /* max number of command args */
index d26e5ecd6fd9e39f994132045218e16c79955a19..dbba88b09c895d679a1f3b1df98ed38dc79161a3 100644 (file)
@@ -55,7 +55,6 @@
 #define CONFIG_BOOTCOMMAND     "fatload mmc 0 40007000 uImage; bootm 40007000"
 
 /* Miscellaneous configurable options */
-#define CONFIG_SYS_PROMPT              "SMDKV310 # "
 #define CONFIG_DEFAULT_CONSOLE         "console=ttySAC2,115200n8\0"
 /* memtest works on */
 #define CONFIG_SYS_MEMTEST_START       CONFIG_SYS_SDRAM_BASE
index 70ef9395d7744739ed1217a5a1529cdc667d9549..7758b0f51d03f3d20bd57a2a6f12a9e6c5a440f8 100644 (file)
@@ -89,7 +89,6 @@
 #define CONFIG_USART_ID                        ATMEL_ID_SYS
 #endif
 #define CONFIG_BAUDRATE                        115200
-#define CONFIG_SYS_PROMPT              "Snapper> "
 
 /* I2C - Bit-bashed */
 #define CONFIG_SYS_I2C
diff --git a/include/configs/sniper.h b/include/configs/sniper.h
new file mode 100644 (file)
index 0000000..a0ee5bd
--- /dev/null
@@ -0,0 +1,307 @@
+/*
+ * LG Optimus Black (P970) codename sniper config
+ *
+ * Copyright (C) 2015 Paul Kocialkowski <contact@paulk.fr>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#include <asm/arch/cpu.h>
+#include <asm/arch/omap.h>
+
+/*
+ * CPU
+ */
+
+#define CONFIG_SYS_CACHELINE_SIZE      64
+
+#define CONFIG_ARM_ARCH_CP15_ERRATA
+#define CONFIG_ARM_ERRATA_454179
+#define CONFIG_ARM_ERRATA_430973
+#define CONFIG_ARM_ERRATA_621766
+
+/*
+ * Platform
+ */
+
+#define CONFIG_OMAP
+#define CONFIG_OMAP_COMMON
+
+/*
+ * Board
+ */
+
+#define CONFIG_SYS_GENERIC_BOARD
+#define CONFIG_MISC_INIT_R
+
+/*
+ * Clocks
+ */
+
+#define CONFIG_SYS_TIMERBASE   OMAP34XX_GPT2
+#define CONFIG_SYS_PTV         2
+
+#define V_NS16550_CLK          48000000
+#define V_OSCK                 26000000
+#define V_SCLK                 (V_OSCK >> 1)
+
+/*
+ * DRAM
+ */
+
+#define CONFIG_SDRC
+#define CONFIG_NR_DRAM_BANKS   2
+#define PHYS_SDRAM_1           OMAP34XX_SDRC_CS0
+#define PHYS_SDRAM_2           OMAP34XX_SDRC_CS1
+
+/*
+ * Memory
+ */
+
+#define CONFIG_SYS_TEXT_BASE           0x80100000
+#define CONFIG_SYS_SDRAM_BASE          OMAP34XX_SDRC_CS0
+#define CONFIG_SYS_INIT_RAM_ADDR       0x4020F800
+#define CONFIG_SYS_INIT_RAM_SIZE       0x800
+#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_INIT_RAM_ADDR + \
+                                        CONFIG_SYS_INIT_RAM_SIZE - \
+                                        GENERATED_GBL_DATA_SIZE)
+
+#define CONFIG_SYS_MALLOC_LEN          (1024 * 1024 + CONFIG_ENV_SIZE)
+
+/*
+ * GPIO
+ */
+
+#define CONFIG_OMAP_GPIO
+#define CONFIG_OMAP3_GPIO_2
+#define CONFIG_OMAP3_GPIO_3
+#define CONFIG_OMAP3_GPIO_4
+#define CONFIG_OMAP3_GPIO_5
+#define CONFIG_OMAP3_GPIO_6
+
+/*
+ * I2C
+ */
+
+#define CONFIG_SYS_I2C
+#define CONFIG_SYS_OMAP24_I2C_SPEED    400000
+#define CONFIG_SYS_OMAP24_I2C_SLAVE    1
+#define CONFIG_SYS_I2C_OMAP34XX
+#define CONFIG_I2C_MULTI_BUS
+
+#define CONFIG_CMD_I2C
+
+/*
+ * Flash
+ */
+
+#define CONFIG_SYS_NO_FLASH
+
+/*
+ * MMC
+ */
+
+#define CONFIG_GENERIC_MMC
+#define CONFIG_MMC
+#define CONFIG_OMAP_HSMMC
+
+#define CONFIG_CMD_MMC
+
+/*
+ * Power
+ */
+
+#define CONFIG_TWL4030_POWER
+
+/*
+ * Input
+ */
+
+#define CONFIG_TWL4030_INPUT
+
+/*
+ * Partitions
+ */
+
+#define CONFIG_PARTITION_UUIDS
+#define CONFIG_DOS_PARTITION
+#define CONFIG_EFI_PARTITION
+
+#define CONFIG_CMD_PART
+
+/*
+ * Filesystems
+ */
+
+#define CONFIG_CMD_FS_GENERIC
+#define CONFIG_CMD_EXT2
+#define CONFIG_CMD_EXT4
+#define CONFIG_CMD_FAT
+
+/*
+ * SPL
+ */
+
+#define CONFIG_SPL_FRAMEWORK
+
+#define CONFIG_SPL_TEXT_BASE           0x40200000
+#define CONFIG_SPL_MAX_SIZE            (54 * 1024)
+#define CONFIG_SPL_BSS_START_ADDR      0x80000000
+#define CONFIG_SPL_BSS_MAX_SIZE                (512 * 1024)
+#define CONFIG_SYS_SPL_MALLOC_START    0x80208000
+#define CONFIG_SYS_SPL_MALLOC_SIZE     (1024 * 1024)
+#define CONFIG_SPL_STACK               LOW_LEVEL_SRAM_STACK
+
+#define CONFIG_SPL_LDSCRIPT            "$(CPUDIR)/omap-common/u-boot-spl.lds"
+#define CONFIG_SPL_BOARD_INIT
+
+#define CONFIG_SPL_LIBGENERIC_SUPPORT
+#define CONFIG_SPL_LIBCOMMON_SUPPORT
+#define CONFIG_SPL_LIBDISK_SUPPORT
+#define CONFIG_SPL_SERIAL_SUPPORT
+#define CONFIG_SPL_POWER_SUPPORT
+#define CONFIG_SPL_GPIO_SUPPORT
+#define CONFIG_SPL_I2C_SUPPORT
+#define CONFIG_SPL_MMC_SUPPORT
+#define CONFIG_SPL_FAT_SUPPORT
+
+#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION     2
+
+#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION             1
+#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME                        "u-boot.img"
+
+/*
+ * Console
+ */
+
+#define CONFIG_SYS_CONSOLE_IS_IN_ENV
+
+#define CONFIG_DISPLAY_CPUINFO
+#define CONFIG_DISPLAY_BOARDINFO
+
+#define CONFIG_AUTO_COMPLETE
+
+#define CONFIG_SYS_LONGHELP
+#define CONFIG_SYS_HUSH_PARSER
+
+#define CONFIG_SYS_MAXARGS     16
+#define CONFIG_SYS_CBSIZE      512
+#define CONFIG_SYS_PBSIZE      (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) \
+                                + 16)
+
+/*
+ * Serial
+ */
+
+
+#ifndef CONFIG_SPL_BUILD
+#define CONFIG_OMAP_SERIAL
+#else
+#define CONFIG_SYS_NS16550_SERIAL
+#define CONFIG_SYS_NS16550_REG_SIZE    (-4)
+#define CONFIG_SYS_NS16550_CLK         V_NS16550_CLK
+#endif
+
+#define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_COM3                OMAP34XX_UART3
+#define CONFIG_CONS_INDEX              3
+#define CONFIG_SERIAL3                 3
+
+#define CONFIG_BAUDRATE                        115200
+#define CONFIG_SYS_BAUDRATE_TABLE      { 4800, 9600, 19200, 38400, 57600, \
+                                         115200 }
+
+/*
+ * USB gadget
+ */
+
+#define CONFIG_USB_MUSB_PIO_ONLY
+#define CONFIG_USB_MUSB_OMAP2PLUS
+#define CONFIG_TWL4030_USB
+
+#define CONFIG_USB_GADGET
+#define CONFIG_USB_GADGET_DUALSPEED
+#define CONFIG_USB_GADGET_VBUS_DRAW    0
+
+/*
+ * Download
+ */
+
+#define CONFIG_USB_GADGET_DOWNLOAD
+
+#define CONFIG_G_DNL_VENDOR_NUM                0x0451
+#define CONFIG_G_DNL_PRODUCT_NUM       0xd022
+#define CONFIG_G_DNL_MANUFACTURER      "Texas Instruments"
+
+/*
+ * Fastboot
+ */
+
+#define CONFIG_USB_FUNCTION_FASTBOOT
+
+#define CONFIG_FASTBOOT_BUF_ADDR       CONFIG_SYS_LOAD_ADDR
+#define CONFIG_FASTBOOT_BUF_SIZE       0x2000000
+
+#define CONFIG_FASTBOOT_FLASH
+#define CONFIG_FASTBOOT_FLASH_MMC_DEV  0
+
+#define CONFIG_CMD_FASTBOOT
+
+/*
+ * Environment
+ */
+
+#define CONFIG_ENV_SIZE                (128 * 1024)
+#define CONFIG_ENV_IS_NOWHERE
+
+#define CONFIG_ENV_OVERWRITE
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+       "kernel_addr_r=0x82000000\0" \
+       "boot_mmc_dev=0\0" \
+       "kernel_mmc_part=3\0" \
+       "recovery_mmc_part=4\0" \
+       "bootargs=console=ttyO2 vram=5M,0x9FA00000 omapfb.vram=0:5M\0"
+
+/*
+ * ATAGs / Device Tree
+ */
+
+#define CONFIG_OF_LIBFDT
+#define CONFIG_SETUP_MEMORY_TAGS
+#define CONFIG_CMDLINE_TAG
+#define CONFIG_INITRD_TAG
+#define CONFIG_REVISION_TAG
+#define CONFIG_SERIAL_TAG
+
+/*
+ * Boot
+ */
+
+#define CONFIG_SYS_LOAD_ADDR   0x82000000
+#define CONFIG_BOOTDELAY       1
+
+#define CONFIG_ANDROID_BOOT_IMAGE
+
+#define CONFIG_BOOTCOMMAND \
+       "setenv boot_mmc_part ${kernel_mmc_part}; " \
+       "if test reboot-${reboot-mode} = reboot-r; then " \
+       "echo recovery; setenv boot_mmc_part ${recovery_mmc_part}; fi; " \
+       "if test reboot-${reboot-mode} = reboot-b; then " \
+       "echo fastboot; fastboot 0; fi; " \
+       "part start mmc ${boot_mmc_dev} ${boot_mmc_part} boot_mmc_start; " \
+       "part size mmc ${boot_mmc_dev} ${boot_mmc_part} boot_mmc_size; " \
+       "mmc dev ${boot_mmc_dev}; " \
+       "mmc read ${kernel_addr_r} ${boot_mmc_start} ${boot_mmc_size} && " \
+       "bootm ${kernel_addr_r};"
+
+/*
+ * Defaults
+ */
+
+#include <config_defaults.h>
+
+#endif
index bf3377cb10c0df1d858de333c07787f054495e65..1d8d8da39738677f84fc3402296a12f6fef0ec8a 100644 (file)
@@ -15,7 +15,6 @@
 
 #define CONFIG_BOARD_COMMON
 
-#define CONFIG_SYS_PROMPT              "snow # "
 #define CONFIG_IDENT_STRING            " for snow"
 #define CONFIG_DEFAULT_CONSOLE         "console=ttySAC1,115200n8\0"
 
index 91aaffab6ae6054bc47d5220044a561acdc94f28..de03e76ba192129d139c3f8edd72d16e4226606a 100644 (file)
  */
 
 #define CONFIG_SYS_LONGHELP                    /* undef to save memory     */
-#define CONFIG_SYS_PROMPT      "U8500 $ "      /* Monitor Command Prompt   */
 #define CONFIG_SYS_CBSIZE      1024            /* Console I/O Buffer Size  */
 
 /* Print Buffer Size */
index f75c306b574ab02affa82e332383a60acfd61482..fb1bf66d0243bc7edf842b90bc70d70b28d6aa87 100644 (file)
 #define CONFIG_SYS_MALLOC_LEN                  (1024*1024)
 #define CONFIG_IDENT_STRING                    "-SPEAr"
 #define CONFIG_SYS_LONGHELP
-#define CONFIG_SYS_PROMPT                      "u-boot> "
 #define CONFIG_CMDLINE_EDITING
 #define CONFIG_SYS_CBSIZE                      256
 #define CONFIG_SYS_PBSIZE                      (CONFIG_SYS_CBSIZE + \
index a692dfd7ec766f2995ca3be040e266409765090a..8940123f34bde83de3ebc854cc3047393964ea2d 100644 (file)
@@ -13,7 +13,6 @@
 
 #define CONFIG_BOARD_COMMON
 
-#define CONFIG_SYS_PROMPT              "spring # "
 #define CONFIG_IDENT_STRING            " for spring"
 #define CONFIG_DEFAULT_CONSOLE         "console=ttySAC1,115200n8\0"
 
index 086ebcfc17f72780abbfa7be4e5581e25795ea4e..87df70bdacff664b8040f8a8ffba5ab49fd14195 100644 (file)
 /* General Boot Parameter */
 #define CONFIG_BOOTDELAY               3
 #define CONFIG_BOOTCOMMAND             "run flashboot"
-#define CONFIG_SYS_PROMPT              "U-Boot> "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_MAXARGS             16
 #define CONFIG_SYS_PBSIZE \
index 1ac3db69b1702ddae32bd41853b2b49e5d80cbda..19d9cf9abf329fb46b050db686f18f28128e38a6 100644 (file)
  */
 #define CONFIG_SYS_LONGHELP
 #define CONFIG_SYS_HUSH_PARSER
-#define CONFIG_SYS_PROMPT             "U-Boot > "
 #define CONFIG_AUTO_COMPLETE
 #define CONFIG_CMDLINE_EDITING
 
index 887f31a84d1c799762c1f169e90b6c261ce8ccc3..b1b69197d4f6dbc63407f1e4f131b2e455647c28 100644 (file)
@@ -36,7 +36,6 @@
 #define CONFIG_PL01X_SERIAL
 
 /* user interface */
-#define CONFIG_SYS_PROMPT                      "STV0991> "
 #define CONFIG_SYS_CBSIZE                      1024
 #define CONFIG_SYS_PBSIZE                      (CONFIG_SYS_CBSIZE \
                                                +sizeof(CONFIG_SYS_PROMPT) + 16)
index 6676f373f2f67525fe0e3e8712fb8f06ad240378..25b7d5f6a69dcefc8f0b3bef6d73e7cb587a8bd7 100644 (file)
  * Miscellaneous configurable options
  */
 #define CONFIG_SYS_LONGHELP                    /* undef to save memory         */
-#define CONFIG_SYS_PROMPT      "GPPP=> "       /* Monitor Command Prompt       */
 #if defined(CONFIG_CMD_KGDB)
 #define CONFIG_SYS_CBSIZE      1024            /* Console I/O Buffer Size      */
 #else
index 5b1f3ab4034a45cb57c6096dcd8cfbe1d3de644e..ee16fea3ae46c89b1b353da305cd75db414437a4 100644 (file)
  * Miscellaneous configurable options
  */
 #define CONFIG_SYS_LONGHELP                    /* undef to save memory         */
-#define CONFIG_SYS_PROMPT      "SSA=> "        /* Monitor Command Prompt       */
 #if defined(CONFIG_CMD_KGDB)
 #define CONFIG_SYS_CBSIZE      1024            /* Console I/O Buffer Size      */
 #else
index a2cbcf5d9541d646ca8d6c764ccca6bb2f15d1e2..0ecb91b78dfd94c827d00951fff5afaaec89fa26 100644 (file)
@@ -50,8 +50,6 @@
  */
 #define CONFIG_DISPLAY_CPUINFO
 
-#define CONFIG_SYS_PROMPT      "sunxi# "
-
 /* Serial & console */
 #define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
index 34f1228140349aeeea46a693533bf471488a7f60..801220a1ce48ac0c6e9c1c45d83bd0fdecc07e8c 100644 (file)
 #define CONFIG_SPL_BSS_MAX_SIZE                0x80000
 
 /* NAND boot config */
-#define CONFIG_SYS_NAND_BUSWIDTH_16BIT 16
+#define CONFIG_SYS_NAND_BUSWIDTH_16BIT
 #define CONFIG_SYS_NAND_PAGE_COUNT     64
 #define CONFIG_SYS_NAND_PAGE_SIZE      2048
 #define CONFIG_SYS_NAND_OOBSIZE                64
index c8ec79b1965568100dc96a94653fb95b11c6cac5..408895f3329a2b28445fff7e484f6ed9eb2b84b3 100644 (file)
 
 #define CONFIG_SYS_MAX_NAND_DEVICE     1               /* Max number of NAND */
                                                        /* devices */
-#define CONFIG_SYS_NAND_BUSWIDTH_16BIT 16
+#define CONFIG_SYS_NAND_BUSWIDTH_16BIT
 /* Environment information */
 #define CONFIG_BOOTDELAY               3
 
  */
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER         /* use "hush" command parser */
-#define CONFIG_SYS_PROMPT              "TAO-3530 # "
 #define CONFIG_SYS_CBSIZE              256     /* Console I/O Buffer Size */
 
 /* turn on command-line edit/hist/auto */
index d5b93eb6e77f6b5527bb5a48507b51fb19d0481c..2c9f5da55ad4d9db88ee1ca6091e3ff6c5609e04 100644 (file)
        "512k(dtb),6M(kernel)ro,-(rootfs) "                             \
        "root=/dev/mtdblock7 rw rootfstype=jffs2"
 
-#define CONFIG_SYS_PROMPT              "U-Boot> "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_MAXARGS             16
 #define CONFIG_SYS_PBSIZE \
index 42817aee765b67e28026a13c43d52a61e94a921e..41c2c729502bb7e81acda44af6846f9ff71e7b12 100644 (file)
@@ -96,7 +96,6 @@
  * Console configuration
  */
 #define CONFIG_SYS_LONGHELP
-#define CONFIG_SYS_PROMPT              "[tb100]:~# "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_BARGSIZE            CONFIG_SYS_CBSIZE
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
index 14985f859d879e9a78b037bc13a4f6b832bd4b1f..66cb274f68a4fbed81a423755d18c6f281dcb5b7 100644 (file)
@@ -18,7 +18,6 @@
 
 #define CONFIG_BOARD_EARLY_INIT_F
 
-#define CONFIG_SYS_PROMPT              "Matrix U-Boot> "
 #define CONFIG_SYS_HZ                  1000
 
 #define CONFIG_IMX6_THERMAL
index 08345cc1e091dd0cc1ae1513a8c51be41a3bd30c..32974249b0a0ea884fa5fa3c3d6967406810b18f 100644 (file)
@@ -11,7 +11,6 @@
 #include "tegra30-common.h"
 
 /* High-level configuration options */
-#define V_PROMPT                       "Tegra30 (TEC-NG) # "
 #define CONFIG_TEGRA_BOARD_STRING      "Avionic Design Tamontenâ„¢ NG Evaluation Carrier"
 
 /* Board-specific serial config */
index 3b543eba6bf762bc4284ee409cbf61b4ced71404..4b8ca5e8da30717d54658d14971e49fcff328960 100644 (file)
@@ -13,7 +13,6 @@
 #include "tegra20-common.h"
 
 /* High-level configuration options */
-#define V_PROMPT                       "Tegra20 (TEC) # "
 #define CONFIG_TEGRA_BOARD_STRING      "Avionic Design Tamonten Evaluation Carrier"
 
 /* Board-specific serial config */
index ffe167e85ac3bcdc90617cc2ff401d33f2ef09f9..145f63587fb91e8cdca63446bffa675408ecc8b8 100644 (file)
 #define CONFIG_SYS_STDIO_DEREGISTER
 #endif
 
-/*
- * Miscellaneous configurable options
- */
-#define CONFIG_SYS_PROMPT              V_PROMPT
 /*
  * Increasing the size of the IO buffer as default nfsargs size is more
  *  than 256 and so it is not possible to edit it
index fcfb70e309415063804c33ab39b726b87bbd0a5f..7fa35a154256b8d36434728195485487b22b36ae 100644 (file)
@@ -28,7 +28,6 @@
 #define CONFIG_SYS_MALLOC_LEN          (1024 << 10)
 #define CONFIG_SYS_LONGHELP            /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER         /* Use HUSH for command parsing */
-#define CONFIG_SYS_PROMPT              "U-Boot# "
 #define CONFIG_SYS_NO_FLASH
 #define CONFIG_MACH_TYPE               MACH_TYPE_TI8148EVM
 
index 8d52057419535128457626a41cd723237f4f563e..01d8233741545217ee1f5a49654210016bce4684 100644 (file)
@@ -24,7 +24,6 @@
 #define CONFIG_SYS_MALLOC_LEN          (CONFIG_ENV_SIZE + (32 * 1024))
 #define CONFIG_SYS_LONGHELP            /* undef save memory */
 #define CONFIG_SYS_HUSH_PARSER
-#define CONFIG_SYS_PROMPT              "u-boot/ti816x# "
 #define CONFIG_MACH_TYPE               MACH_TYPE_TI8168EVM
 
 #define CONFIG_OF_LIBFDT
index 6dc5ebdd3497d3296d456754eb211b9c0d3f791b..18fca02c4c383ccdd9bfb4033aaebf12de7a8e8a 100644 (file)
 #define CONFIG_SYS_MALLOC_LEN  (16 << 20)
 #endif
 #define CONFIG_SYS_HUSH_PARSER
-#define CONFIG_SYS_PROMPT              "U-Boot# "
 #define CONFIG_SYS_CONSOLE_INFO_QUIET
 #define CONFIG_BAUDRATE                        115200
 #define CONFIG_ENV_VARS_UBOOT_CONFIG   /* Strongly encouraged */
index af89f7090f954a8b044fdebb693a5337f00bbfb4..b441590635004cdbaf8ede849f544f62072380fa 100644 (file)
@@ -15,6 +15,7 @@
 /* U-Boot Build Configuration */
 #define CONFIG_SKIP_LOWLEVEL_INIT      /* U-Boot is a 2nd stage loader */
 #define CONFIG_BOARD_EARLY_INIT_F
+#define CONFIG_DISPLAY_CPUINFO
 
 /* SoC Configuration */
 #define CONFIG_ARCH_CPU_INIT
        "init_ramfs=run args_all args_ramfs get_fs_ramfs\0"             \
        "args_ramfs=setenv bootargs ${bootargs} "                       \
                "rdinit=/sbin/init rw root=/dev/ram0 "                  \
-               "initrd=0x802000000,9M\0"                               \
+               "initrd=0x808080000,80M\0"                              \
        "no_post=1\0"                                                   \
        "mtdparts=mtdparts=davinci_nand.0:"                             \
                "1024k(bootloader)ro,512k(params)ro,-(ubifs)\0"
index 49aa3c7de33e5d9e0da664f26af70c4c554e1149..1b4ca295bc8f440188f9bafdf7241776da4b3c9c 100644 (file)
 
 #define CONFIG_BOOTCOMMAND             "run nand_ubifs"
 
-/* Miscellaneous configurable options */
-#define CONFIG_SYS_PROMPT              "Titanium > "
-
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
                                         sizeof(CONFIG_SYS_PROMPT) + 16)
index 6808e789f359cb0b67e80705751388901d62db7d..5fb991be5dc5130e3fac5570dfdbb2dfb69b1eba 100644 (file)
@@ -12,8 +12,6 @@
 
 #include <configs/exynos4-common.h>
 
-#define CONFIG_SYS_PROMPT      "Trats # "      /* Monitor Command Prompt */
-
 #define CONFIG_TRATS
 
 
index 94c31fbf2b437f9a42b8cbe140fab3038f97cbed..f12a9528d650314509ebd11fc26bfa18a42b3568 100644 (file)
@@ -13,9 +13,6 @@
 
 #include <configs/exynos4-common.h>
 
-#define CONFIG_SYS_PROMPT      "Trats2 # "     /* Monitor Command Prompt */
-
-
 #define CONFIG_TIZEN                   /* TIZEN lib */
 
 #define CONFIG_SYS_L2CACHE_OFF
index 23bf599ec5ac39d15a6f62fd172a988156f301ff..f04b572985e91a709bf551cda364d741fcaaf498 100644 (file)
 #define CONFIG_SYS_HUSH_PARSER         /* use "hush" command parser */
 #define CONFIG_CMDLINE_EDITING         /* enable cmdline history */
 #define CONFIG_AUTO_COMPLETE
-#define CONFIG_SYS_PROMPT              "OMAP3 Tricorder # "
 #define CONFIG_SYS_CBSIZE              512     /* Console I/O Buffer Size */
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
index 2db38e5b93a4a5f79f48c9c11b78731acabfc595..2ab5511632e118f9d9222a1647c20145c316451f 100644 (file)
@@ -12,7 +12,6 @@
 #include "tegra20-common.h"
 
 /* High-level configuration options */
-#define V_PROMPT               "Tegra20 (TrimSlice) # "
 #define CONFIG_TEGRA_BOARD_STRING      "Compulab Trimslice"
 
 /* Board-specific serial config */
index 8368931e7b7a605d55f085afdba11d6275c734c7..40c8d718d83da8ae81047582eea2b135eadeb70a 100644 (file)
 #define CONFIG_SYS_HUSH_PARSER         1
 
 #define CONFIG_SYS_LONGHELP                            /* undef to save memory         */
+#undef CONFIG_SYS_PROMPT
 #ifdef CONFIG_SYS_HUSH_PARSER
 #define CONFIG_SYS_PROMPT              "$ "            /* Monitor Command Prompt */
 #else
index 9501a830d5043552e11fbb083b0404b93f8c777b..ca1e2e25fb5efe233fe310c2aaf5e07a7e3d7045 100644 (file)
 #define CONFIG_SYS_HUSH_PARSER
 
 #define CONFIG_SYS_LONGHELP                    /* undef to save memory */
-#define CONFIG_SYS_PROMPT      "TT01> "
 #define CONFIG_SYS_CBSIZE      256             /* Console I/O Buffer Size */
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE      (CONFIG_SYS_CBSIZE + \
index f24dc136caa29b281428201a36c50ec98ed77d72..4f5560fec3ba603d53153815fa7e134db3ea92da 100644 (file)
@@ -29,8 +29,6 @@
 /*
  * Miscellaneous configurable options
  */
-#define CONFIG_SYS_PROMPT              "twister => "
-
 #define CONFIG_SMC911X
 #define CONFIG_SMC911X_16_BIT
 #define CONFIG_SMC911X_BASE            0x2C000000
index e7b006c2d402deb2a61162a9b871fa3935bc8edc..834b6169f6fcf7f8764c705f861dc131b773db2b 100644 (file)
@@ -26,6 +26,7 @@
 #define CONFIG_SPL_MAX_SIZE            2048
 #define CONFIG_SPL_NAND_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
+#define CONFIG_SPL_SERIAL_SUPPORT
 
 #define CONFIG_SPL_TEXT_BASE           0x810c0000
 #define CONFIG_SYS_TEXT_BASE           0x81200000
index 6a225710c2c7ce8c448b12c6d64ccd03e503f8b9..a8cc0306cb1f44dc24ba134bf86cd9a6b2a388f8 100644 (file)
  */
 
 #define CONFIG_SYS_LONGHELP                    /* undef to save memory     */
-#define CONFIG_SYS_PROMPT      "U8500 $ "      /* Monitor Command Prompt   */
 #define CONFIG_SYS_CBSIZE      1024            /* Console I/O Buffer Size  */
 
 /* Print Buffer Size */
index 4774de5c9a6520d90ff47a669d83d165f3b59a14..10a1664f020b0c0907cb9fbe01297f1a94f61532 100644 (file)
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "mtdparts=" MTDPARTS_DEFAULT "\0" \
 
-#define CONFIG_SYS_PROMPT              "U-Boot> "
 #define CONFIG_SYS_CBSIZE              256
 #define CONFIG_SYS_MAXARGS             16
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
index f30a0904a3fab807e367bb1670ca515cc8ea7ea3..298fa3e6d0a6bd78ee525b507745c9b067eb1d3c 100644 (file)
@@ -24,7 +24,6 @@
 #define CONFIG_ENV_ADDR                (XPAR_FLASH_MEM0_BASEADDR+CONFIG_ENV_OFFSET)
 
 /*Misc*/
-#define CONFIG_SYS_PROMPT              "v5fx30t:/# "   /* Monitor Command Prompt    */
 #define CONFIG_PREBOOT         "echo U-Boot is up and runnining;"
 
 /*Flash*/
index b54519d3d1f607182cab3cbe05e58c36aa5a7693..80f6a60d84f908f016bb1f5598604cb5ccfe08ec 100644 (file)
  * Miscellaneous configurable options
  */
 #define CONFIG_SYS_LONGHELP                    /* undef to save memory         */
-#define CONFIG_SYS_PROMPT      "VCT# "         /* Monitor Command Prompt       */
 #define CONFIG_SYS_CBSIZE      512             /* Console I/O Buffer Size      */
 #define CONFIG_SYS_PBSIZE      (CONFIG_SYS_CBSIZE + \
                                 sizeof(CONFIG_SYS_PROMPT) + 16)
index 8b1189e7c4b883e11b9ca2b2dd7d4764aa0a56ed..0fc8cf7674d1d3ac8f4d106821e39f88ecf11a4c 100644 (file)
@@ -13,7 +13,6 @@
 #include "tegra124-common.h"
 
 /* High-level configuration options */
-#define V_PROMPT                       "Tegra124 (Venice2) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Venice2"
 
 /* Board-specific serial config */
index 3f1ebcd552f30be4aa725a4dcc61f511da6b8755..e9c3500109474a879f249465c860942ca0638197 100644 (file)
@@ -12,7 +12,6 @@
 #include "tegra20-common.h"
 
 /* High-level configuration options */
-#define V_PROMPT               "Tegra20 (Ventana) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Ventana"
 
 /* Board-specific serial config */
index de23375cd5eacaaae7e0a14916ca8215c11a0b13..636ca436d9faf7ecd24cc72ddc6cf64005e616d3 100644 (file)
 #define CONFIG_SYS_LONGHELP    /* undef to save memory */
 #define CONFIG_SYS_CBSIZE      256             /* Console I/O Buffer Size */
 /* Monitor Command Prompt       */
+#undef CONFIG_SYS_PROMPT
 #ifdef CONFIG_ARCH_VERSATILE_AB
 # define CONFIG_SYS_PROMPT     "VersatileAB # "
 #else
index c36237f3ebeb48eeb634136ace386552f430836e..6107c64dd2a6d3c4d801661f20d45620611177b6 100644 (file)
 
 /* Monitor Command Prompt */
 #define CONFIG_SYS_CBSIZE              512     /* Console I/O Buffer Size */
-#define CONFIG_SYS_PROMPT              "VExpress64# "
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
                                        sizeof(CONFIG_SYS_PROMPT) + 16)
 #define CONFIG_SYS_HUSH_PARSER
index b43afa29387df23fa5bccc37d734e83b2600406a..59b6310b5740315a6a45085436c4713c7487a927 100644 (file)
@@ -12,8 +12,8 @@
 #define __VEXPRESS_CA15X2_TC2_h
 
 #define CONFIG_VEXPRESS_EXTENDED_MEMORY_MAP
-#include "vexpress_common.h"
 #define CONFIG_BOOTP_VCI_STRING     "U-boot.armv7.vexpress_ca15x2_tc2"
+#include "vexpress_common.h"
 
 #define CONFIG_SYSFLAGS_ADDR   0x1c010030
 #define CONFIG_SMP_PEN_ADDR    CONFIG_SYSFLAGS_ADDR
index 7719d59e15eb3e6be08bfceeaeff179d08cfa9ed..a4ffdf54db4028b116ac17b91c54ef9ebab28d6f 100644 (file)
@@ -12,7 +12,7 @@
 #define __VEXPRESS_CA5X2_h
 
 #define CONFIG_VEXPRESS_EXTENDED_MEMORY_MAP
-#include "vexpress_common.h"
 #define CONFIG_BOOTP_VCI_STRING     "U-boot.armv7.vexpress_ca5x2"
+#include "vexpress_common.h"
 
 #endif /* __VEXPRESS_CA5X2_h */
index 38ac4ed38ddee4012970c54e10264bc5d05a0130..71233d8c3f99af0f0d0cb37a177708c19d6d8d4a 100644 (file)
@@ -12,7 +12,7 @@
 #define __VEXPRESS_CA9X4_H
 
 #define CONFIG_VEXPRESS_ORIGINAL_MEMORY_MAP
-#include "vexpress_common.h"
 #define CONFIG_BOOTP_VCI_STRING     "U-boot.armv7.vexpress_ca9x4"
+#include "vexpress_common.h"
 
 #endif /* VEXPRESS_CA9X4_H */
index 0c1da01edf97dc6ff1713f67ab4f898a00969bb4..98f6ae94e68d9b105a85620ab5279d60b36da086 100644 (file)
 #define CONFIG_SYS_L2CACHE_OFF         1
 #define CONFIG_INITRD_TAG              1
 #define CONFIG_SYS_GENERIC_BOARD
-#define CONFIG_OF_LIBFDT               1
 
 /* Size of malloc() pool */
 #define CONFIG_SYS_MALLOC_LEN          (CONFIG_ENV_SIZE + 128 * 1024)
 #define CONFIG_SYS_SERIAL0             V2M_UART0
 #define CONFIG_SYS_SERIAL1             V2M_UART1
 
-/* Command line configuration */
-#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_PXE
-#define CONFIG_MENU
-#define CONFIG_CMD_ELF
-#define CONFIG_CMD_ENV
-#define CONFIG_CMD_PING
-#define CONFIG_CMD_BOOTZ
-#define CONFIG_SUPPORT_RAW_INITRD
-
-#define CONFIG_CMD_FAT
-#define CONFIG_DOS_PARTITION           1
 #define CONFIG_MMC                     1
 #define CONFIG_CMD_MMC
 #define CONFIG_GENERIC_MMC
 #define CONFIG_BOOTP_BOOTPATH
 #define CONFIG_BOOTP_GATEWAY
 #define CONFIG_BOOTP_HOSTNAME
-#define CONFIG_BOOTP_PXE
-#define CONFIG_BOOTP_PXE_CLIENTARCH    0x100
 
 /* Miscellaneous configurable options */
 #define CONFIG_SYS_LOAD_ADDR           (V2M_BASE + 0x8000)
                                         CONFIG_SYS_INIT_RAM_SIZE - \
                                         GENERATED_GBL_DATA_SIZE)
 #define CONFIG_SYS_INIT_SP_ADDR                CONFIG_SYS_GBL_DATA_OFFSET
+#define CONFIG_CMD_ECHO
+
+#include <config_distro_defaults.h>
 
 /* Basic environment settings */
-#define CONFIG_BOOTCOMMAND             "run bootflash;"
+#define CONFIG_BOOTCOMMAND \
+       "run distro_bootcmd; " \
+       "run bootflash; "
+
+#define BOOT_TARGET_DEVICES(func) \
+        func(MMC, mmc, 1) \
+        func(MMC, mmc, 0) \
+        func(PXE, pxe, na) \
+        func(DHCP, dhcp, na)
+#include <config_distro_bootcmd.h>
+
 #ifdef CONFIG_VEXPRESS_ORIGINAL_MEMORY_MAP
 #define CONFIG_PLATFORM_ENV_SETTINGS \
                "loadaddr=0x80008000\0" \
                "ramdisk_addr=0x44800000\0" \
                "maxramdisk=0x1800000\0" \
                "pxefile_addr_r=0x88000000\0" \
+               "scriptaddr=0x88000000\0" \
                "kernel_addr_r=0x80008000\0"
 #elif defined(CONFIG_VEXPRESS_EXTENDED_MEMORY_MAP)
 #define CONFIG_PLATFORM_ENV_SETTINGS \
                "ramdisk_addr=0x0c800000\0" \
                "maxramdisk=0x1800000\0" \
                "pxefile_addr_r=0xa8000000\0" \
+               "scriptaddr=0xa8000000\0" \
                "kernel_addr_r=0xa0008000\0"
 #endif
 #define CONFIG_EXTRA_ENV_SETTINGS \
                CONFIG_PLATFORM_ENV_SETTINGS \
+                BOOTENV \
                "console=ttyAMA0,38400n8\0" \
                "dram=1024M\0" \
                "root=/dev/sda1 rw\0" \
 
 /* Monitor Command Prompt */
 #define CONFIG_SYS_CBSIZE              512     /* Console I/O Buffer Size */
-#define CONFIG_SYS_PROMPT              "VExpress# "
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
                                        sizeof(CONFIG_SYS_PROMPT) + 16)
 #define CONFIG_SYS_HUSH_PARSER
 
 #define CONFIG_SYS_BARGSIZE            CONFIG_SYS_CBSIZE /* Boot args buffer */
 #define CONFIG_SYS_LONGHELP
-#define CONFIG_CMDLINE_EDITING         1
 #define CONFIG_SYS_MAXARGS             16      /* max command args */
 
 #endif /* VEXPRESS_COMMON_H */
index 93c7348981aea68fbda1c609b20ec8008b462016..b43373f13449f4eec3e0ebdac1cd99f27e715ef7 100644 (file)
  * Miscellaneous configurable options
  */
 #define CONFIG_SYS_LONGHELP
-#define        CONFIG_SYS_PROMPT               "Vision II U-boot > "
 #define CONFIG_AUTO_COMPLETE
 #define CONFIG_SYS_CBSIZE              512     /* Console I/O Buffer Size */
 
index e4958ce5653fc37183374454e83103e0ba06cfc1..3facd7f257cc77fe29640c4fbb9e4a2d235a1773 100644 (file)
 #define CONFIG_SYS_BAUDRATE_TABLE      {312500, 230400, 115200, 19200, \
                                                38400, 57600, 9600 }
 
-#define CONFIG_SYS_PROMPT      "U-Boot> "
 #define CONFIG_SYS_CBSIZE      512             /* Console I/O Buffer Size */
 #define CONFIG_SYS_MAXARGS     32              /* max number of command args */
 #define CONFIG_SYS_PBSIZE      \
index 95a69b3978adf8cfcfa19c343492234fe9612dcd..976ba5db74292f49d42271a15fc8aba5b0160541 100644 (file)
 
 #define        CONFIG_SYS_LONGHELP
 #ifdef CONFIG_SYS_HUSH_PARSER
-#define        CONFIG_SYS_PROMPT               "$ "
 #else
 #endif
 #define        CONFIG_SYS_CBSIZE               256
index 13cc3d3c30ac25bd1a961451661da6f51cb53fb9..ff859644c36aa4c09f516458b648fcb3e22adcb3 100644 (file)
@@ -12,7 +12,6 @@
 #include "tegra20-common.h"
 
 /* High-level configuration options */
-#define V_PROMPT               "Tegra20 (Whistler) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Whistler"
 
 /* Board-specific serial config */
index 72190340f3bb51e33facf1cfc99189fd690fa036..191ac1b73f1c8732f89abf5bc00f5b5cd706c790 100644 (file)
@@ -64,8 +64,6 @@
 #undef CONFIG_SYS_IDE_MAXDEVICE
 #define CONFIG_SYS_IDE_MAXBUS           1
 #define CONFIG_SYS_IDE_MAXDEVICE        1
-#undef CONFIG_SYS_PROMPT
-#define CONFIG_SYS_PROMPT              "ws> "
 
 /*
  * Ethernet Driver configuration
index 52d392cb16e404a563ca33055f0380ba5e4da608..5d9f5297ce81e691efcf8805f364e6875da8392f 100644 (file)
  * Miscellaneous configurable options
  */
 #define CONFIG_SYS_LONGHELP    /* undef to save memory */
-#define CONFIG_SYS_PROMPT      "woodburn U-Boot > "
 #define CONFIG_CMDLINE_EDITING
 #define CONFIG_SYS_HUSH_PARSER /* Use the HUSH parser */
 
index 1d4c1a98269a7e6a78a8842fe305be3cbd031cb8..edb16b1a70de86f140485607a8c15b6b897f520a 100644 (file)
 #define CONFIG_SYS_MALLOC_LEN                  (1024 * 1024)
 #define CONFIG_IDENT_STRING                    "-SPEAr"
 #define CONFIG_SYS_LONGHELP
-#define CONFIG_SYS_PROMPT                      "X600> "
 #define CONFIG_CMDLINE_EDITING
 #define CONFIG_SYS_CBSIZE                      256
 #define CONFIG_SYS_PBSIZE                      (CONFIG_SYS_CBSIZE + \
index a072464c1081837a379215a7fb82abdc53e72dbf..8d19bffa025f33d1a536c1e80f3e18b1aaba5e0f 100644 (file)
@@ -94,7 +94,7 @@
 #define CONFIG_SYS_LONGHELP                            /* undef to save memory */
 #define CONFIG_SYS_HUSH_PARSER         1
 
-
+#undef CONFIG_SYS_PROMPT
 #ifdef CONFIG_SYS_HUSH_PARSER
 #define CONFIG_SYS_PROMPT              "u-boot$ "      /* Monitor Command Prompt */
 #else
index 75b119f8556d2ee0d8c7edd0e2308e42321d66e6..40fa0878a43f73ddbd2ca631b523c709d0a7ecf5 100644 (file)
@@ -26,7 +26,6 @@
 #define CONFIG_ENV_OVERWRITE           1
 
 /*Misc*/
-#define CONFIG_SYS_PROMPT      "xlx-ppc405:/# " /* Monitor Command Prompt */
 #define CONFIG_PREBOOT         "echo U-Boot is up and runnining;"
 
 /*Flash*/
index 8e684151efe5f016c48730eb558c8c2400eb9e9c..95b883407839e1de85c5cb3a67c78f21fcce814d 100644 (file)
@@ -24,7 +24,6 @@
 #define CONFIG_ENV_ADDR                (XPAR_FLASH_MEM0_BASEADDR+CONFIG_ENV_OFFSET)
 
 /*Misc*/
-#define CONFIG_SYS_PROMPT              "board:/# "     /* Monitor Command Prompt    */
 #define CONFIG_PREBOOT         "echo U-Boot is up and runnining;"
 
 /*Flash*/
index 68853b64de539a9591f950684f98533c8bcc72ca..01b7993bb6b81568b8e5829d7aaa2fa8246314f9 100644 (file)
 /* Monitor Command Prompt */
 /* Console I/O Buffer Size */
 #define CONFIG_SYS_CBSIZE              2048
-#define CONFIG_SYS_PROMPT              "ZynqMP> "
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
                                        sizeof(CONFIG_SYS_PROMPT) + 16)
 #define CONFIG_SYS_HUSH_PARSER
index cff3ba837c96bce86c3a14cc294755c795714bda..0199190eb87d73a88024553fe6a03552fb300654 100644 (file)
@@ -119,9 +119,6 @@ unsigned char zipitz2_spi_read(void);
 #define        CONFIG_SYS_HUSH_PARSER          1
 
 #define        CONFIG_SYS_LONGHELP                             /* undef to save memory */
-#ifdef CONFIG_SYS_HUSH_PARSER
-#define        CONFIG_SYS_PROMPT               "$ "            /* Monitor Command Prompt */
-#endif
 #define        CONFIG_SYS_CBSIZE               256             /* Console I/O Buffer Size */
 #define        CONFIG_SYS_PBSIZE               (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)        /* Print Buffer Size */
 #define        CONFIG_SYS_MAXARGS              16              /* max number of command args */
index af7cc497513483d76394bc4b422e945749c42116..81b9ce40d9e372b5357b397d0ab7a7fd2ba9944d 100644 (file)
 #define CONFIG_SYS_MEMTEST_START       (PHYS_SDRAM + (512*1024))
 #define CONFIG_SYS_MEMTEST_END         (PHYS_SDRAM + PHYS_SDRAM_SIZE)
 
-#define CONFIG_SYS_PROMPT      "zmx25> "
 #define CONFIG_SYS_CBSIZE      256
 #define CONFIG_SYS_MAXARGS     16
 #define CONFIG_SYS_PBSIZE      (CONFIG_SYS_CBSIZE + \
index 98bebd02f1d2f747eb5a10b41b1a48684a3f22d7..cc72c8689a3262dbb030f866ec34b32106a8e87c 100644 (file)
 #define CONFIG_SYS_LOAD_ADDR           0 /* default? */
 
 /* Miscellaneous configurable options */
-#define CONFIG_SYS_PROMPT              "zynq-uboot> "
 #define CONFIG_SYS_HUSH_PARSER
 
 #define CONFIG_CMDLINE_EDITING
diff --git a/include/dt-bindings/pinctrl/dra.h b/include/dt-bindings/pinctrl/dra.h
new file mode 100644 (file)
index 0000000..7448edf
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * This header provides constants for DRA pinctrl bindings.
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ * Author: Rajendra Nayak <rnayak@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.
+ */
+
+#ifndef _DT_BINDINGS_PINCTRL_DRA_H
+#define _DT_BINDINGS_PINCTRL_DRA_H
+
+/* DRA7 mux mode options for each pin. See TRM for options */
+#define MUX_MODE0      0x0
+#define MUX_MODE1      0x1
+#define MUX_MODE2      0x2
+#define MUX_MODE3      0x3
+#define MUX_MODE4      0x4
+#define MUX_MODE5      0x5
+#define MUX_MODE6      0x6
+#define MUX_MODE7      0x7
+#define MUX_MODE8      0x8
+#define MUX_MODE9      0x9
+#define MUX_MODE10     0xa
+#define MUX_MODE11     0xb
+#define MUX_MODE12     0xc
+#define MUX_MODE13     0xd
+#define MUX_MODE14     0xe
+#define MUX_MODE15     0xf
+
+#define PULL_ENA               (0 << 16)
+#define PULL_DIS               (1 << 16)
+#define PULL_UP                        (1 << 17)
+#define INPUT_EN               (1 << 18)
+#define SLEWCONTROL            (1 << 19)
+#define WAKEUP_EN              (1 << 24)
+#define WAKEUP_EVENT           (1 << 25)
+
+/* Active pin states */
+#define PIN_OUTPUT             (0 | PULL_DIS)
+#define PIN_OUTPUT_PULLUP      (PULL_UP)
+#define PIN_OUTPUT_PULLDOWN    (0)
+#define PIN_INPUT              (INPUT_EN | PULL_DIS)
+#define PIN_INPUT_SLEW         (INPUT_EN | SLEWCONTROL)
+#define PIN_INPUT_PULLUP       (PULL_ENA | INPUT_EN | PULL_UP)
+#define PIN_INPUT_PULLDOWN     (PULL_ENA | INPUT_EN)
+
+#endif
+
index 672bcef2f3b71f97c045e3552be122ad8b33f279..abc62da9928b1befb95e59d497b815ca1c0ec74b 100644 (file)
@@ -3,6 +3,7 @@
  *
  * Copyright 2014 Freescale Semiconductor, Inc.
  *
+ * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #ifndef __FSL_SEC_H
diff --git a/include/power/hi6553_pmic.h b/include/power/hi6553_pmic.h
new file mode 100644 (file)
index 0000000..fcd131a
--- /dev/null
@@ -0,0 +1,79 @@
+/*
+ * (C) Copyright 2015 Linaro
+ * Peter Griffin <peter.griffin@linaro.org>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef __HI6553_PMIC_H__
+#define __HI6553_PMIC_H__
+
+/* Registers */
+enum {
+       HI6553_VERSION_REG = 0x000,
+       HI6553_ENABLE2_LDO1_8 = 0x029,
+       HI6553_DISABLE2_LDO1_8,
+       HI6553_ONOFF_STATUS2_LDO1_8,
+       HI6553_ENABLE3_LDO9_16,
+       HI6553_DISABLE3_LDO9_16,
+       HI6553_ONOFF_STATUS3_LDO9_16,
+
+       HI6553_DISABLE6_XO_CLK = 0x036,
+       HI6553_PERI_EN_MARK = 0x040,
+       HI6553_BUCK2_REG1 = 0x04a,
+       HI6553_BUCK2_REG5 = 0x04e,
+       HI6553_BUCK2_REG6,
+
+       HI6553_BUCK3_REG3 = 0x054,
+       HI6553_BUCK3_REG5 = 0x056,
+       HI6553_BUCK3_REG6,
+       HI6553_BUCK4_REG2 = 0x05b,
+       HI6553_BUCK4_REG5 = 0x05e,
+       HI6553_BUCK4_REG6,
+
+       HI6553_CLK_TOP0 = 0x063,
+       HI6553_CLK_TOP3 = 0x066,
+       HI6553_CLK_TOP4,
+       HI6553_VSET_BUCK2_ADJ = 0x06d,
+       HI6553_VSET_BUCK3_ADJ,
+       HI6553_LDO7_REG_ADJ = 0x078,
+       HI6553_LDO10_REG_ADJ = 0x07b,
+       HI6553_LDO19_REG_ADJ = 0x084,
+       HI6553_LDO20_REG_ADJ,
+       HI6553_DR_LED_CTRL = 0x098,
+       HI6553_DR_OUT_CTRL,
+       HI6553_DR3_ISET,
+       HI6553_DR3_START_DEL,
+       HI6553_DR4_ISET,
+       HI6553_DR4_START_DEL,
+       HI6553_DR345_TIM_CONF0 = 0x0a0,
+       HI6553_NP_REG_ADJ1 = 0x0be,
+       HI6553_NP_REG_CHG = 0x0c0,
+       HI6553_BUCK01_CTRL2 = 0x0d9,
+       HI6553_BUCK0_CTRL1 = 0x0dd,
+       HI6553_BUCK0_CTRL5 = 0x0e1,
+       HI6553_BUCK0_CTRL7 = 0x0e3,
+       HI6553_BUCK1_CTRL1 = 0x0e8,
+       HI6553_BUCK1_CTRL5 = 0x0ec,
+       HI6553_BUCK1_CTRL7 = 0x0ef,
+       HI6553_CLK19M2_600_586_EN = 0x0fe,
+};
+
+#define HI6553_DISABLE6_XO_CLK_BB              (1 << 0)
+#define HI6553_DISABLE6_XO_CLK_CONN            (1 << 1)
+#define HI6553_DISABLE6_XO_CLK_NFC             (1 << 2)
+#define HI6553_DISABLE6_XO_CLK_RF1             (1 << 3)
+#define HI6553_DISABLE6_XO_CLK_RF2             (1 << 4)
+
+#define HI6553_LED_START_DELAY_TIME            0x00
+#define HI6553_LED_ELEC_VALUE                  0x07
+#define HI6553_LED_LIGHT_TIME                  0xf0
+#define HI6553_LED_GREEN_ENABLE                        (1 << 1)
+#define HI6553_LED_OUT_CTRL                    0x00
+
+#define HI6553_PMU_V300                                0x30
+#define HI6553_PMU_V310                                0x31
+
+int power_hi6553_init(u8 *base);
+
+#endif /* __HI6553_PMIC_H__ */
index 57b9ca94afc1204378e62dc009ce0ad27932ad0f..138132a69660b05c58bfb3a22ee406db0607d589 100644 (file)
@@ -57,6 +57,13 @@ enum {
        PMIC_NUM_OF_REGS        = 0x7f,
 };
 
+/* Registor offset based on VOLT register */
+#define PFUZE100_VOL_OFFSET    0
+#define PFUZE100_STBY_OFFSET   1
+#define PFUZE100_OFF_OFFSET    2
+#define PFUZE100_MODE_OFFSET   3
+#define PFUZE100_CONF_OFFSET   4
+
 /*
  * Buck Regulators
  */
@@ -133,6 +140,9 @@ enum {
 #define SW1x_STBY_MASK    0x3f
 #define SW1x_OFF_MASK     0x3f
 
+#define SW_MODE_MASK   0xf
+#define SW_MODE_SHIFT  0
+
 #define SW1xCONF_DVSSPEED_MASK 0xc0
 #define SW1xCONF_DVSSPEED_2US  0x00
 #define SW1xCONF_DVSSPEED_4US  0x40
@@ -181,7 +191,12 @@ enum {
 
 #define LDO_VOL_MASK   0xf
 #define LDO_EN         (1 << 4)
+#define LDO_MODE_SHIFT 4
+#define LDO_MODE_MASK  (1 << 4)
+#define LDO_MODE_OFF   0
+#define LDO_MODE_ON    1
 
+#define VREFDDRCON_EN  (1 << 4)
 /*
  * Boost Regulator
  */
@@ -193,11 +208,12 @@ enum {
 #define SWBST_5_15V    3
 
 #define SWBST_VOL_MASK 0x3
-#define SWBST_MODE_MASK        0x6
-#define SWBST_MODE_OFF (2 << 0)
-#define SWBST_MODE_PFM (2 << 1)
-#define SWBST_MODE_AUTO        (2 << 2)
-#define SWBST_MODE_APS (2 << 3)
+#define SWBST_MODE_MASK        0xC
+#define SWBST_MODE_SHIFT 0x2
+#define SWBST_MODE_OFF 0
+#define SWBST_MODE_PFM 1
+#define SWBST_MODE_AUTO        2
+#define SWBST_MODE_APS 3
 
 /*
  * Regulator Mode Control
index 015229027c874eeb860b91000eda11accf604e51..1a51c3f07bc80aa0911db796bfdbc12140916266 100644 (file)
@@ -46,6 +46,7 @@
  * Note: For the proper operation, at least name constraint is needed, since
  * it can be used when calling regulator_get_by_platname(). And the mandatory
  * rule for this name is, that it must be globally unique for the single dts.
+ * If regulator-name property is not provided, node name will be chosen.
  *
  * Regulator bind:
  * For each regulator device, the device_bind() should be called with passed
index 50f8da822afd364e987f781191ace7551b8ba713..103137372d309c2d2e906297d619d5841040e04f 100644 (file)
 #define TWL4030_PM_MASTER_BB_CFG                       0x6D
 #define TWL4030_PM_MASTER_MISC_TST                     0x6E
 #define TWL4030_PM_MASTER_TRIM1                                0x6F
-/* P[1-3]_SW_EVENTS */
-#define TWL4030_PM_MASTER_SW_EVENTS_STOPON_PWRON       (1 << 6)
-#define TWL4030_PM_MASTER_SW_EVENTS_STOPON_SYSEN       (1 << 5)
-#define TWL4030_PM_MASTER_SW_EVENTS_ENABLE_WARMRESET   (1 << 4)
-#define TWL4030_PM_MASTER_SW_EVENTS_LVL_WAKEUP         (1 << 3)
-#define TWL4030_PM_MASTER_SW_EVENTS_DEVACT             (1 << 2)
-#define TWL4030_PM_MASTER_SW_EVENTS_DEVSLP             (1 << 1)
-#define TWL4030_PM_MASTER_SW_EVENTS_DEVOFF             (1 << 0)
 
 /* Power bus message definitions */
 
 /* Power Reference */
 #define RES_Main_Ref            28
 
+/* P[1-3]_SW_EVENTS */
+#define TWL4030_PM_MASTER_SW_EVENTS_STOPON_PWRON       (1 << 6)
+#define TWL4030_PM_MASTER_SW_EVENTS_STOPON_SYSEN       (1 << 5)
+#define TWL4030_PM_MASTER_SW_EVENTS_ENABLE_WARMRESET   (1 << 4)
+#define TWL4030_PM_MASTER_SW_EVENTS_LVL_WAKEUP         (1 << 3)
+#define TWL4030_PM_MASTER_SW_EVENTS_DEVACT             (1 << 2)
+#define TWL4030_PM_MASTER_SW_EVENTS_DEVSLP             (1 << 1)
+#define TWL4030_PM_MASTER_SW_EVENTS_DEVOFF             (1 << 0)
+
+/* HW conditions */
+#define TWL4030_PM_MASTER_STS_HW_CONDITIONS_PWON       (1 << 0)
+#define TWL4030_PM_MASTER_STS_HW_CONDITIONS_CHG                (1 << 1)
+#define TWL4030_PM_MASTER_STS_HW_CONDITIONS_USB                (1 << 2)
+#define TWL4030_PM_MASTER_STS_HW_CONDITIONS_VBUS       (1 << 7)
+
+/* Power transition */
+#define TWL4030_PM_MASTER_CFG_TRANSITION_STARTON_PWON  (1 << 0)
+#define TWL4030_PM_MASTER_CFG_TRANSITION_STARTON_CHG   (1 << 1)
+#define TWL4030_PM_MASTER_CFG_TRANSITION_STARTON_USB   (1 << 2)
+#define TWL4030_PM_MASTER_CFG_TRANSITION_STARTON_RTC   (1 << 3)
+#define TWL4030_PM_MASTER_CFG_TRANSITION_STARTON_VBAT  (1 << 4)
+#define TWL4030_PM_MASTER_CFG_TRANSITION_STARTON_VBUS  (1 << 5)
+#define TWL4030_PM_MASTER_CFG_TRANSITION_STARTON_SWBUG (1 << 7)
+
+/* PWRANA2 */
+#define TWL4030_PM_MASTER_CFG_PWRANA2_LOJIT0_LOWV      (1 << 1)
+#define TWL4030_PM_MASTER_CFG_PWRANA2_LOJIT1_LOWV      (1 << 2)
+
 #define TOTAL_RESOURCES                28
 /*
  * Power Bus Message Format ... these can be sent individually by Linux,
@@ -645,6 +665,8 @@ static inline int twl4030_i2c_read_u8(u8 chip_no, u8 reg, u8 *val)
 
 /* For hardware resetting */
 void twl4030_power_reset_init(void);
+/* For power off */
+void twl4030_power_off(void);
 /* For setting device group and voltage */
 void twl4030_pmrecv_vsel_cfg(u8 vsel_reg, u8 vsel_val,
                             u8 dev_grp, u8 dev_grp_sel);
@@ -653,6 +675,17 @@ void twl4030_power_init(void);
 /* For initializing mmc power */
 void twl4030_power_mmc_init(int dev_index);
 
+/*
+ * Input
+ */
+
+int twl4030_input_power_button(void);
+int twl4030_input_charger(void);
+int twl4030_input_usb(void);
+
+int twl4030_keypad_scan(unsigned char *matrix);
+int twl4030_keypad_key(unsigned char *matrix, u8 c, u8 r);
+
 /*
  * LED
  */
index fce445a082a2f9ea28353d080243d2d6bf070c3b..45a031b4b603c1ba32b123d446e973300e033e35 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Ruchika Gupta.
+ * Copyright 2014 Freescale Semiconductor, Inc.
  *
  * SPDX-License-Identifier:    GPL-2.0+
 */
index 57fb9741dac1023b06a3939f16268230f78eb6f2..df134cd23a9671841dbff7d0361265d350106c83 100644 (file)
@@ -25,7 +25,10 @@ int display_options (void)
 
 void print_freq(uint64_t freq, const char *s)
 {
-       unsigned long m = 0, n;
+       unsigned long m = 0;
+#if defined(CONFIG_SPL_SERIAL_SUPPORT)
+       unsigned long n;
+#endif
        uint32_t f;
        static const char names[] = {'G', 'M', 'K'};
        unsigned long d = 1e9;
@@ -45,7 +48,9 @@ void print_freq(uint64_t freq, const char *s)
        }
 
        f = do_div(freq, d);
+#if defined(CONFIG_SPL_SERIAL_SUPPORT)
        n = freq;
+#endif
 
        /* If there's a remainder, show the first few digits */
        if (f) {
@@ -58,7 +63,9 @@ void print_freq(uint64_t freq, const char *s)
                        m = (m / 10) + (m % 100 >= 50);
        }
 
+#if defined(CONFIG_SPL_SERIAL_SUPPORT)
        printf("%lu", n);
+#endif
        if (m)
                printf(".%ld", m);
        printf(" %cHz%s", c, s);
@@ -121,9 +128,9 @@ int print_buffer(ulong addr, const void *data, uint width, uint count,
        } lb;
        int i;
 #ifdef CONFIG_SYS_SUPPORT_64BIT_DATA
-       uint64_t x;
+       uint64_t __maybe_unused x;
 #else
-       uint32_t x;
+       uint32_t __maybe_unused x;
 #endif
 
        if (linelen*width > MAX_LINE_LENGTH_BYTES)
diff --git a/tools/logos/toradex.bmp b/tools/logos/toradex.bmp
new file mode 100644 (file)
index 0000000..3e2dcf2
Binary files /dev/null and b/tools/logos/toradex.bmp differ