1ff383220SAkshay Bhat /* 2ff383220SAkshay Bhat * Copyright (C) 2016 Timesys Corporation 3ff383220SAkshay Bhat * Copyright (C) 2016 Advantech Corporation 4ff383220SAkshay Bhat * Copyright (C) 2012 Freescale Semiconductor, Inc. 5ff383220SAkshay Bhat * 6ff383220SAkshay Bhat * SPDX-License-Identifier: GPL-2.0+ 7ff383220SAkshay Bhat */ 8ff383220SAkshay Bhat 9ff383220SAkshay Bhat #ifndef __ADVANTECH_DMSBA16_CONFIG_H 10ff383220SAkshay Bhat #define __ADVANTECH_DMSBA16_CONFIG_H 11ff383220SAkshay Bhat 12ff383220SAkshay Bhat #include <asm/arch/imx-regs.h> 13*552a848eSStefano Babic #include <asm/mach-imx/gpio.h> 14ff383220SAkshay Bhat 15ff383220SAkshay Bhat #define CONFIG_BOARD_NAME "Advantech DMS-BA16" 16ff383220SAkshay Bhat 17ff383220SAkshay Bhat #define CONFIG_MXC_UART_BASE UART4_BASE 1812ca05a3SSimon Glass #define CONSOLE_DEV "ttymxc3" 19ff383220SAkshay Bhat #define CONFIG_EXTRA_BOOTARGS "panic=10" 20ff383220SAkshay Bhat 21ff383220SAkshay Bhat #define CONFIG_BOOT_DIR "" 22ff383220SAkshay Bhat #define CONFIG_LOADCMD "fatload" 23ff383220SAkshay Bhat #define CONFIG_RFSPART "2" 24ff383220SAkshay Bhat 25ff383220SAkshay Bhat #define CONFIG_SUPPORT_EMMC_BOOT 26ff383220SAkshay Bhat 27ff383220SAkshay Bhat #include "mx6_common.h" 28ff383220SAkshay Bhat #include <linux/sizes.h> 29ff383220SAkshay Bhat 30ff383220SAkshay Bhat #define CONFIG_CMDLINE_TAG 31ff383220SAkshay Bhat #define CONFIG_SETUP_MEMORY_TAGS 32ff383220SAkshay Bhat #define CONFIG_INITRD_TAG 33ff383220SAkshay Bhat #define CONFIG_REVISION_TAG 34ff383220SAkshay Bhat #define CONFIG_SYS_MALLOC_LEN (10 * SZ_1M) 35ff383220SAkshay Bhat 36ff383220SAkshay Bhat #define CONFIG_MXC_GPIO 37ff383220SAkshay Bhat #define CONFIG_MXC_UART 38ff383220SAkshay Bhat 39ff383220SAkshay Bhat #define CONFIG_MXC_OCOTP 40ff383220SAkshay Bhat 41ff383220SAkshay Bhat /* SATA Configs */ 42ff383220SAkshay Bhat #define CONFIG_DWC_AHSATA 43ff383220SAkshay Bhat #define CONFIG_SYS_SATA_MAX_DEVICE 1 44ff383220SAkshay Bhat #define CONFIG_DWC_AHSATA_PORT_ID 0 45ff383220SAkshay Bhat #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR 46ff383220SAkshay Bhat #define CONFIG_LBA48 47ff383220SAkshay Bhat #define CONFIG_LIBATA 48ff383220SAkshay Bhat 49ff383220SAkshay Bhat /* MMC Configs */ 50ff383220SAkshay Bhat #define CONFIG_FSL_ESDHC 51ff383220SAkshay Bhat #define CONFIG_FSL_USDHC 52ff383220SAkshay Bhat #define CONFIG_SYS_FSL_ESDHC_ADDR 0 53ff383220SAkshay Bhat #define CONFIG_BOUNCE_BUFFER 54ff383220SAkshay Bhat 55ff383220SAkshay Bhat /* USB Configs */ 56ff383220SAkshay Bhat #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 57ff383220SAkshay Bhat #define CONFIG_EHCI_HCD_INIT_AFTER_RESET 58ff383220SAkshay Bhat #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) 59ff383220SAkshay Bhat #define CONFIG_MXC_USB_FLAGS 0 60ff383220SAkshay Bhat 61ff383220SAkshay Bhat #define CONFIG_USBD_HS 62ff383220SAkshay Bhat #define CONFIG_USB_FUNCTION_MASS_STORAGE 63ff383220SAkshay Bhat 64ff383220SAkshay Bhat /* Networking Configs */ 65ff383220SAkshay Bhat #define CONFIG_FEC_MXC 66ff383220SAkshay Bhat #define CONFIG_MII 67ff383220SAkshay Bhat #define IMX_FEC_BASE ENET_BASE_ADDR 68ff383220SAkshay Bhat #define CONFIG_FEC_XCV_TYPE RGMII 69ff383220SAkshay Bhat #define CONFIG_ETHPRIME "FEC" 70ff383220SAkshay Bhat #define CONFIG_FEC_MXC_PHYADDR 4 71ff383220SAkshay Bhat #define CONFIG_PHY_ATHEROS 72ff383220SAkshay Bhat 73ff383220SAkshay Bhat /* Serial Flash */ 74ff383220SAkshay Bhat #ifdef CONFIG_CMD_SF 75ff383220SAkshay Bhat #define CONFIG_MXC_SPI 76ff383220SAkshay Bhat #define CONFIG_SF_DEFAULT_BUS 0 77ff383220SAkshay Bhat #define CONFIG_SF_DEFAULT_CS 0 78ff383220SAkshay Bhat #define CONFIG_SF_DEFAULT_SPEED 20000000 79ff383220SAkshay Bhat #define CONFIG_SF_DEFAULT_MODE SPI_MODE_0 80ff383220SAkshay Bhat #endif 81ff383220SAkshay Bhat 82ff383220SAkshay Bhat /* allow to overwrite serial and ethaddr */ 83ff383220SAkshay Bhat #define CONFIG_ENV_OVERWRITE 84ff383220SAkshay Bhat #define CONFIG_CONS_INDEX 1 85ff383220SAkshay Bhat 86ff383220SAkshay Bhat #define CONFIG_LOADADDR 0x12000000 87ff383220SAkshay Bhat #define CONFIG_SYS_TEXT_BASE 0x17800000 88ff383220SAkshay Bhat 89ff383220SAkshay Bhat #define CONFIG_EXTRA_ENV_SETTINGS \ 90ff383220SAkshay Bhat "script=boot.scr\0" \ 91ff383220SAkshay Bhat "image=" CONFIG_BOOT_DIR "/uImage\0" \ 92ff383220SAkshay Bhat "uboot=u-boot.imx\0" \ 93ff383220SAkshay Bhat "fdt_file=" CONFIG_BOOT_DIR "/" CONFIG_DEFAULT_FDT_FILE "\0" \ 94ff383220SAkshay Bhat "fdt_addr=0x18000000\0" \ 95ff383220SAkshay Bhat "boot_fdt=yes\0" \ 96ff383220SAkshay Bhat "ip_dyn=yes\0" \ 9712ca05a3SSimon Glass "console=" CONSOLE_DEV "\0" \ 98ff383220SAkshay Bhat "fdt_high=0xffffffff\0" \ 99ff383220SAkshay Bhat "initrd_high=0xffffffff\0" \ 100ff383220SAkshay Bhat "sddev=0\0" \ 101ff383220SAkshay Bhat "emmcdev=1\0" \ 102ff383220SAkshay Bhat "partnum=1\0" \ 103ff383220SAkshay Bhat "loadcmd=" CONFIG_LOADCMD "\0" \ 104ff383220SAkshay Bhat "rfspart=" CONFIG_RFSPART "\0" \ 105ff383220SAkshay Bhat "update_sd_firmware=" \ 106ff383220SAkshay Bhat "if test ${ip_dyn} = yes; then " \ 107ff383220SAkshay Bhat "setenv get_cmd dhcp; " \ 108ff383220SAkshay Bhat "else " \ 109ff383220SAkshay Bhat "setenv get_cmd tftp; " \ 110ff383220SAkshay Bhat "fi; " \ 111ff383220SAkshay Bhat "if mmc dev ${mmcdev}; then " \ 112ff383220SAkshay Bhat "if ${get_cmd} ${update_sd_firmware_filename}; then " \ 113ff383220SAkshay Bhat "setexpr fw_sz ${filesize} / 0x200; " \ 114ff383220SAkshay Bhat "setexpr fw_sz ${fw_sz} + 1; " \ 115ff383220SAkshay Bhat "mmc write ${loadaddr} 0x2 ${fw_sz}; " \ 116ff383220SAkshay Bhat "fi; " \ 117ff383220SAkshay Bhat "fi\0" \ 118ff383220SAkshay Bhat "update_sf_uboot=" \ 119ff383220SAkshay Bhat "if tftp $loadaddr $uboot; then " \ 120ff383220SAkshay Bhat "sf probe; " \ 121ff383220SAkshay Bhat "sf erase 0 0xC0000; " \ 122ff383220SAkshay Bhat "sf write $loadaddr 0x400 $filesize; " \ 123ff383220SAkshay Bhat "echo 'U-Boot upgraded. Please reset'; " \ 124ff383220SAkshay Bhat "fi\0" \ 125ff383220SAkshay Bhat "setargs=setenv bootargs console=${console},${baudrate} " \ 126ff383220SAkshay Bhat "root=/dev/${rootdev} rw rootwait " CONFIG_EXTRA_BOOTARGS "\0" \ 127ff383220SAkshay Bhat "loadbootscript=" \ 128ff383220SAkshay Bhat "${loadcmd} ${dev} ${devnum}:${partnum} ${loadaddr} ${script};\0" \ 129ff383220SAkshay Bhat "bootscript=echo Running bootscript from ${dev}:${devnum}:${partnum};" \ 130ff383220SAkshay Bhat " source\0" \ 131ff383220SAkshay Bhat "loadimage=" \ 132ff383220SAkshay Bhat "${loadcmd} ${dev} ${devnum}:${partnum} ${loadaddr} ${image}\0" \ 133ff383220SAkshay Bhat "loadfdt=${loadcmd} ${dev} ${devnum}:${partnum} ${fdt_addr} ${fdt_file}\0" \ 134ff383220SAkshay Bhat "tryboot=" \ 135ff383220SAkshay Bhat "if run loadbootscript; then " \ 136ff383220SAkshay Bhat "run bootscript; " \ 137ff383220SAkshay Bhat "else " \ 138ff383220SAkshay Bhat "if run loadimage; then " \ 139ff383220SAkshay Bhat "run doboot; " \ 140ff383220SAkshay Bhat "fi; " \ 141ff383220SAkshay Bhat "fi;\0" \ 142ff383220SAkshay Bhat "doboot=echo Booting from ${dev}:${devnum}:${partnum} ...; " \ 143ff383220SAkshay Bhat "run setargs; " \ 144ff383220SAkshay Bhat "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 145ff383220SAkshay Bhat "if run loadfdt; then " \ 146ff383220SAkshay Bhat "bootm ${loadaddr} - ${fdt_addr}; " \ 147ff383220SAkshay Bhat "else " \ 148ff383220SAkshay Bhat "if test ${boot_fdt} = try; then " \ 149ff383220SAkshay Bhat "bootm; " \ 150ff383220SAkshay Bhat "else " \ 151ff383220SAkshay Bhat "echo WARN: Cannot load the DT; " \ 152ff383220SAkshay Bhat "fi; " \ 153ff383220SAkshay Bhat "fi; " \ 154ff383220SAkshay Bhat "else " \ 155ff383220SAkshay Bhat "bootm; " \ 156ff383220SAkshay Bhat "fi;\0" \ 157ff383220SAkshay Bhat "netargs=setenv bootargs console=${console},${baudrate} " \ 158ff383220SAkshay Bhat "root=/dev/nfs " \ 159ff383220SAkshay Bhat "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ 160ff383220SAkshay Bhat "netboot=echo Booting from net ...; " \ 161ff383220SAkshay Bhat "run netargs; " \ 162ff383220SAkshay Bhat "if test ${ip_dyn} = yes; then " \ 163ff383220SAkshay Bhat "setenv get_cmd dhcp; " \ 164ff383220SAkshay Bhat "else " \ 165ff383220SAkshay Bhat "setenv get_cmd tftp; " \ 166ff383220SAkshay Bhat "fi; " \ 167ff383220SAkshay Bhat "${get_cmd} ${image}; " \ 168ff383220SAkshay Bhat "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 169ff383220SAkshay Bhat "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ 170ff383220SAkshay Bhat "bootm ${loadaddr} - ${fdt_addr}; " \ 171ff383220SAkshay Bhat "else " \ 172ff383220SAkshay Bhat "if test ${boot_fdt} = try; then " \ 173ff383220SAkshay Bhat "bootm; " \ 174ff383220SAkshay Bhat "else " \ 175ff383220SAkshay Bhat "echo WARN: Cannot load the DT; " \ 176ff383220SAkshay Bhat "fi; " \ 177ff383220SAkshay Bhat "fi; " \ 178ff383220SAkshay Bhat "else " \ 179ff383220SAkshay Bhat "bootm; " \ 180ff383220SAkshay Bhat "fi;\0" \ 181ff383220SAkshay Bhat 182ff383220SAkshay Bhat #define CONFIG_BOOTCOMMAND \ 183ff383220SAkshay Bhat "usb start; " \ 184ff383220SAkshay Bhat "setenv dev usb; " \ 185ff383220SAkshay Bhat "setenv devnum 0; " \ 186ff383220SAkshay Bhat "setenv rootdev sda${rfspart}; " \ 187ff383220SAkshay Bhat "run tryboot; " \ 188ff383220SAkshay Bhat \ 189ff383220SAkshay Bhat "setenv dev mmc; " \ 190ff383220SAkshay Bhat "setenv rootdev mmcblk0p${rfspart}; " \ 191ff383220SAkshay Bhat \ 192ff383220SAkshay Bhat "setenv devnum ${sddev}; " \ 193ff383220SAkshay Bhat "if mmc dev ${devnum}; then " \ 194ff383220SAkshay Bhat "run tryboot; " \ 195ff383220SAkshay Bhat "fi; " \ 196ff383220SAkshay Bhat \ 197ff383220SAkshay Bhat "setenv devnum ${emmcdev}; " \ 198ff383220SAkshay Bhat "setenv rootdev mmcblk${emmcdev}p${rfspart}; " \ 199ff383220SAkshay Bhat "if mmc dev ${devnum}; then " \ 200ff383220SAkshay Bhat "run tryboot; " \ 201ff383220SAkshay Bhat "fi; " \ 202ff383220SAkshay Bhat \ 203ff383220SAkshay Bhat "bmode usb; " \ 204ff383220SAkshay Bhat 205ff383220SAkshay Bhat #define CONFIG_ARP_TIMEOUT 200UL 206ff383220SAkshay Bhat 207ff383220SAkshay Bhat /* Miscellaneous configurable options */ 208ff383220SAkshay Bhat #define CONFIG_SYS_LONGHELP 209ff383220SAkshay Bhat #define CONFIG_AUTO_COMPLETE 210ff383220SAkshay Bhat 211ff383220SAkshay Bhat #define CONFIG_SYS_MEMTEST_START 0x10000000 212ff383220SAkshay Bhat #define CONFIG_SYS_MEMTEST_END 0x10010000 213ff383220SAkshay Bhat #define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 214ff383220SAkshay Bhat 215ff383220SAkshay Bhat #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR 216ff383220SAkshay Bhat 217ff383220SAkshay Bhat #define CONFIG_CMDLINE_EDITING 218ff383220SAkshay Bhat 219ff383220SAkshay Bhat /* Physical Memory Map */ 220ff383220SAkshay Bhat #define CONFIG_NR_DRAM_BANKS 1 221ff383220SAkshay Bhat #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR 222ff383220SAkshay Bhat 223ff383220SAkshay Bhat #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM 224ff383220SAkshay Bhat #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 225ff383220SAkshay Bhat #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE 226ff383220SAkshay Bhat 227ff383220SAkshay Bhat #define CONFIG_SYS_INIT_SP_OFFSET \ 228ff383220SAkshay Bhat (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 229ff383220SAkshay Bhat #define CONFIG_SYS_INIT_SP_ADDR \ 230ff383220SAkshay Bhat (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 231ff383220SAkshay Bhat 232ff383220SAkshay Bhat /* FLASH and environment organization */ 233ff383220SAkshay Bhat 234ff383220SAkshay Bhat #define CONFIG_ENV_SIZE (8 * 1024) 235ff383220SAkshay Bhat #define CONFIG_ENV_OFFSET (768 * 1024) 236ff383220SAkshay Bhat #define CONFIG_ENV_SECT_SIZE (64 * 1024) 237ff383220SAkshay Bhat #define CONFIG_ENV_SPI_BUS CONFIG_SF_DEFAULT_BUS 238ff383220SAkshay Bhat #define CONFIG_ENV_SPI_CS CONFIG_SF_DEFAULT_CS 239ff383220SAkshay Bhat #define CONFIG_ENV_SPI_MODE CONFIG_SF_DEFAULT_MODE 240ff383220SAkshay Bhat #define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED 241ff383220SAkshay Bhat 242ff383220SAkshay Bhat #ifndef CONFIG_SYS_DCACHE_OFF 243ff383220SAkshay Bhat #endif 244ff383220SAkshay Bhat 245ff383220SAkshay Bhat #define CONFIG_SYS_FSL_USDHC_NUM 3 246ff383220SAkshay Bhat 247ff383220SAkshay Bhat /* Framebuffer */ 248f6f7e73dSYung-Ching LIN #ifdef CONFIG_VIDEO 249ff383220SAkshay Bhat #define CONFIG_VIDEO_IPUV3 250ff383220SAkshay Bhat #define CONFIG_VIDEO_BMP_RLE8 251ff383220SAkshay Bhat #define CONFIG_SPLASH_SCREEN 252ff383220SAkshay Bhat #define CONFIG_SPLASH_SCREEN_ALIGN 253ff383220SAkshay Bhat #define CONFIG_BMP_16BPP 254ff383220SAkshay Bhat #define CONFIG_VIDEO_LOGO 255ff383220SAkshay Bhat #define CONFIG_VIDEO_BMP_LOGO 256ff383220SAkshay Bhat #define CONFIG_IPUV3_CLK 260000000 257ff383220SAkshay Bhat #define CONFIG_IMX_HDMI 258ff383220SAkshay Bhat #define CONFIG_IMX_VIDEO_SKIP 259f6f7e73dSYung-Ching LIN #endif 260ff383220SAkshay Bhat 261ff383220SAkshay Bhat #define CONFIG_PWM_IMX 262ff383220SAkshay Bhat #define CONFIG_IMX6_PWM_PER_CLK 66000000 263ff383220SAkshay Bhat 264ff383220SAkshay Bhat #ifdef CONFIG_CMD_PCI 265ff383220SAkshay Bhat #define CONFIG_PCI_SCAN_SHOW 266ff383220SAkshay Bhat #define CONFIG_PCIE_IMX 267ff383220SAkshay Bhat #define CONFIG_PCIE_IMX_PERST_GPIO IMX_GPIO_NR(7, 12) 268ff383220SAkshay Bhat #define CONFIG_PCIE_IMX_POWER_GPIO IMX_GPIO_NR(1, 5) 269ff383220SAkshay Bhat #endif 270ff383220SAkshay Bhat 271ff383220SAkshay Bhat /* I2C Configs */ 272ff383220SAkshay Bhat #define CONFIG_SYS_I2C 273ff383220SAkshay Bhat #define CONFIG_SYS_I2C_MXC 274ff383220SAkshay Bhat #define CONFIG_SYS_I2C_SPEED 100000 275ff383220SAkshay Bhat #define CONFIG_SYS_I2C_MXC_I2C1 276ff383220SAkshay Bhat #define CONFIG_SYS_I2C_MXC_I2C2 277ff383220SAkshay Bhat #define CONFIG_SYS_I2C_MXC_I2C3 278ff383220SAkshay Bhat 279ff383220SAkshay Bhat #endif /* __ADVANTECH_DMSBA16_CONFIG_H */ 280