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_STORAGE 57ff383220SAkshay Bhat #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 58ff383220SAkshay Bhat #define CONFIG_EHCI_HCD_INIT_AFTER_RESET 59ff383220SAkshay Bhat #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) 60ff383220SAkshay Bhat #define CONFIG_MXC_USB_FLAGS 0 61ff383220SAkshay Bhat #define CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP 62ff383220SAkshay Bhat 63ff383220SAkshay Bhat #define CONFIG_USBD_HS 64ff383220SAkshay Bhat #define CONFIG_USB_FUNCTION_MASS_STORAGE 65ff383220SAkshay Bhat #define CONFIG_USB_GADGET_VBUS_DRAW 2 66ff383220SAkshay Bhat 67ff383220SAkshay Bhat /* Networking Configs */ 68ff383220SAkshay Bhat #define CONFIG_FEC_MXC 69ff383220SAkshay Bhat #define CONFIG_MII 70ff383220SAkshay Bhat #define IMX_FEC_BASE ENET_BASE_ADDR 71ff383220SAkshay Bhat #define CONFIG_FEC_XCV_TYPE RGMII 72ff383220SAkshay Bhat #define CONFIG_ETHPRIME "FEC" 73ff383220SAkshay Bhat #define CONFIG_FEC_MXC_PHYADDR 4 74ff383220SAkshay Bhat #define CONFIG_PHYLIB 75ff383220SAkshay Bhat #define CONFIG_PHY_ATHEROS 76ff383220SAkshay Bhat 77ff383220SAkshay Bhat /* Serial Flash */ 78ff383220SAkshay Bhat #ifdef CONFIG_CMD_SF 79ff383220SAkshay Bhat #define CONFIG_MXC_SPI 80ff383220SAkshay Bhat #define CONFIG_SF_DEFAULT_BUS 0 81ff383220SAkshay Bhat #define CONFIG_SF_DEFAULT_CS 0 82ff383220SAkshay Bhat #define CONFIG_SF_DEFAULT_SPEED 20000000 83ff383220SAkshay Bhat #define CONFIG_SF_DEFAULT_MODE SPI_MODE_0 84ff383220SAkshay Bhat #endif 85ff383220SAkshay Bhat 86ff383220SAkshay Bhat /* allow to overwrite serial and ethaddr */ 87ff383220SAkshay Bhat #define CONFIG_ENV_OVERWRITE 88ff383220SAkshay Bhat #define CONFIG_CONS_INDEX 1 89ff383220SAkshay Bhat 90ff383220SAkshay Bhat #define CONFIG_LOADADDR 0x12000000 91ff383220SAkshay Bhat #define CONFIG_SYS_TEXT_BASE 0x17800000 92ff383220SAkshay Bhat 93ff383220SAkshay Bhat #define CONFIG_EXTRA_ENV_SETTINGS \ 94ff383220SAkshay Bhat "script=boot.scr\0" \ 95ff383220SAkshay Bhat "image=" CONFIG_BOOT_DIR "/uImage\0" \ 96ff383220SAkshay Bhat "uboot=u-boot.imx\0" \ 97ff383220SAkshay Bhat "fdt_file=" CONFIG_BOOT_DIR "/" CONFIG_DEFAULT_FDT_FILE "\0" \ 98ff383220SAkshay Bhat "fdt_addr=0x18000000\0" \ 99ff383220SAkshay Bhat "boot_fdt=yes\0" \ 100ff383220SAkshay Bhat "ip_dyn=yes\0" \ 10112ca05a3SSimon Glass "console=" CONSOLE_DEV "\0" \ 102ff383220SAkshay Bhat "fdt_high=0xffffffff\0" \ 103ff383220SAkshay Bhat "initrd_high=0xffffffff\0" \ 104ff383220SAkshay Bhat "sddev=0\0" \ 105ff383220SAkshay Bhat "emmcdev=1\0" \ 106ff383220SAkshay Bhat "partnum=1\0" \ 107ff383220SAkshay Bhat "loadcmd=" CONFIG_LOADCMD "\0" \ 108ff383220SAkshay Bhat "rfspart=" CONFIG_RFSPART "\0" \ 109ff383220SAkshay Bhat "update_sd_firmware=" \ 110ff383220SAkshay Bhat "if test ${ip_dyn} = yes; then " \ 111ff383220SAkshay Bhat "setenv get_cmd dhcp; " \ 112ff383220SAkshay Bhat "else " \ 113ff383220SAkshay Bhat "setenv get_cmd tftp; " \ 114ff383220SAkshay Bhat "fi; " \ 115ff383220SAkshay Bhat "if mmc dev ${mmcdev}; then " \ 116ff383220SAkshay Bhat "if ${get_cmd} ${update_sd_firmware_filename}; then " \ 117ff383220SAkshay Bhat "setexpr fw_sz ${filesize} / 0x200; " \ 118ff383220SAkshay Bhat "setexpr fw_sz ${fw_sz} + 1; " \ 119ff383220SAkshay Bhat "mmc write ${loadaddr} 0x2 ${fw_sz}; " \ 120ff383220SAkshay Bhat "fi; " \ 121ff383220SAkshay Bhat "fi\0" \ 122ff383220SAkshay Bhat "update_sf_uboot=" \ 123ff383220SAkshay Bhat "if tftp $loadaddr $uboot; then " \ 124ff383220SAkshay Bhat "sf probe; " \ 125ff383220SAkshay Bhat "sf erase 0 0xC0000; " \ 126ff383220SAkshay Bhat "sf write $loadaddr 0x400 $filesize; " \ 127ff383220SAkshay Bhat "echo 'U-Boot upgraded. Please reset'; " \ 128ff383220SAkshay Bhat "fi\0" \ 129ff383220SAkshay Bhat "setargs=setenv bootargs console=${console},${baudrate} " \ 130ff383220SAkshay Bhat "root=/dev/${rootdev} rw rootwait " CONFIG_EXTRA_BOOTARGS "\0" \ 131ff383220SAkshay Bhat "loadbootscript=" \ 132ff383220SAkshay Bhat "${loadcmd} ${dev} ${devnum}:${partnum} ${loadaddr} ${script};\0" \ 133ff383220SAkshay Bhat "bootscript=echo Running bootscript from ${dev}:${devnum}:${partnum};" \ 134ff383220SAkshay Bhat " source\0" \ 135ff383220SAkshay Bhat "loadimage=" \ 136ff383220SAkshay Bhat "${loadcmd} ${dev} ${devnum}:${partnum} ${loadaddr} ${image}\0" \ 137ff383220SAkshay Bhat "loadfdt=${loadcmd} ${dev} ${devnum}:${partnum} ${fdt_addr} ${fdt_file}\0" \ 138ff383220SAkshay Bhat "tryboot=" \ 139ff383220SAkshay Bhat "if run loadbootscript; then " \ 140ff383220SAkshay Bhat "run bootscript; " \ 141ff383220SAkshay Bhat "else " \ 142ff383220SAkshay Bhat "if run loadimage; then " \ 143ff383220SAkshay Bhat "run doboot; " \ 144ff383220SAkshay Bhat "fi; " \ 145ff383220SAkshay Bhat "fi;\0" \ 146ff383220SAkshay Bhat "doboot=echo Booting from ${dev}:${devnum}:${partnum} ...; " \ 147ff383220SAkshay Bhat "run setargs; " \ 148ff383220SAkshay Bhat "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 149ff383220SAkshay Bhat "if run loadfdt; then " \ 150ff383220SAkshay Bhat "bootm ${loadaddr} - ${fdt_addr}; " \ 151ff383220SAkshay Bhat "else " \ 152ff383220SAkshay Bhat "if test ${boot_fdt} = try; then " \ 153ff383220SAkshay Bhat "bootm; " \ 154ff383220SAkshay Bhat "else " \ 155ff383220SAkshay Bhat "echo WARN: Cannot load the DT; " \ 156ff383220SAkshay Bhat "fi; " \ 157ff383220SAkshay Bhat "fi; " \ 158ff383220SAkshay Bhat "else " \ 159ff383220SAkshay Bhat "bootm; " \ 160ff383220SAkshay Bhat "fi;\0" \ 161ff383220SAkshay Bhat "netargs=setenv bootargs console=${console},${baudrate} " \ 162ff383220SAkshay Bhat "root=/dev/nfs " \ 163ff383220SAkshay Bhat "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ 164ff383220SAkshay Bhat "netboot=echo Booting from net ...; " \ 165ff383220SAkshay Bhat "run netargs; " \ 166ff383220SAkshay Bhat "if test ${ip_dyn} = yes; then " \ 167ff383220SAkshay Bhat "setenv get_cmd dhcp; " \ 168ff383220SAkshay Bhat "else " \ 169ff383220SAkshay Bhat "setenv get_cmd tftp; " \ 170ff383220SAkshay Bhat "fi; " \ 171ff383220SAkshay Bhat "${get_cmd} ${image}; " \ 172ff383220SAkshay Bhat "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 173ff383220SAkshay Bhat "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ 174ff383220SAkshay Bhat "bootm ${loadaddr} - ${fdt_addr}; " \ 175ff383220SAkshay Bhat "else " \ 176ff383220SAkshay Bhat "if test ${boot_fdt} = try; then " \ 177ff383220SAkshay Bhat "bootm; " \ 178ff383220SAkshay Bhat "else " \ 179ff383220SAkshay Bhat "echo WARN: Cannot load the DT; " \ 180ff383220SAkshay Bhat "fi; " \ 181ff383220SAkshay Bhat "fi; " \ 182ff383220SAkshay Bhat "else " \ 183ff383220SAkshay Bhat "bootm; " \ 184ff383220SAkshay Bhat "fi;\0" \ 185ff383220SAkshay Bhat 186ff383220SAkshay Bhat #define CONFIG_BOOTCOMMAND \ 187ff383220SAkshay Bhat "usb start; " \ 188ff383220SAkshay Bhat "setenv dev usb; " \ 189ff383220SAkshay Bhat "setenv devnum 0; " \ 190ff383220SAkshay Bhat "setenv rootdev sda${rfspart}; " \ 191ff383220SAkshay Bhat "run tryboot; " \ 192ff383220SAkshay Bhat \ 193ff383220SAkshay Bhat "setenv dev mmc; " \ 194ff383220SAkshay Bhat "setenv rootdev mmcblk0p${rfspart}; " \ 195ff383220SAkshay Bhat \ 196ff383220SAkshay Bhat "setenv devnum ${sddev}; " \ 197ff383220SAkshay Bhat "if mmc dev ${devnum}; then " \ 198ff383220SAkshay Bhat "run tryboot; " \ 199ff383220SAkshay Bhat "fi; " \ 200ff383220SAkshay Bhat \ 201ff383220SAkshay Bhat "setenv devnum ${emmcdev}; " \ 202ff383220SAkshay Bhat "setenv rootdev mmcblk${emmcdev}p${rfspart}; " \ 203ff383220SAkshay Bhat "if mmc dev ${devnum}; then " \ 204ff383220SAkshay Bhat "run tryboot; " \ 205ff383220SAkshay Bhat "fi; " \ 206ff383220SAkshay Bhat \ 207ff383220SAkshay Bhat "bmode usb; " \ 208ff383220SAkshay Bhat 209ff383220SAkshay Bhat #define CONFIG_ARP_TIMEOUT 200UL 210ff383220SAkshay Bhat 211ff383220SAkshay Bhat /* Miscellaneous configurable options */ 212ff383220SAkshay Bhat #define CONFIG_SYS_LONGHELP 213ff383220SAkshay Bhat #define CONFIG_AUTO_COMPLETE 214ff383220SAkshay Bhat 215ff383220SAkshay Bhat /* Print Buffer Size */ 216ff383220SAkshay Bhat #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) 217ff383220SAkshay Bhat #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE 218ff383220SAkshay Bhat 219ff383220SAkshay Bhat #define CONFIG_SYS_MEMTEST_START 0x10000000 220ff383220SAkshay Bhat #define CONFIG_SYS_MEMTEST_END 0x10010000 221ff383220SAkshay Bhat #define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 222ff383220SAkshay Bhat 223ff383220SAkshay Bhat #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR 224ff383220SAkshay Bhat 225ff383220SAkshay Bhat #define CONFIG_CMDLINE_EDITING 226ff383220SAkshay Bhat 227ff383220SAkshay Bhat /* Physical Memory Map */ 228ff383220SAkshay Bhat #define CONFIG_NR_DRAM_BANKS 1 229ff383220SAkshay Bhat #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR 230ff383220SAkshay Bhat 231ff383220SAkshay Bhat #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM 232ff383220SAkshay Bhat #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 233ff383220SAkshay Bhat #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE 234ff383220SAkshay Bhat 235ff383220SAkshay Bhat #define CONFIG_SYS_INIT_SP_OFFSET \ 236ff383220SAkshay Bhat (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 237ff383220SAkshay Bhat #define CONFIG_SYS_INIT_SP_ADDR \ 238ff383220SAkshay Bhat (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 239ff383220SAkshay Bhat 240ff383220SAkshay Bhat /* FLASH and environment organization */ 241ff383220SAkshay Bhat 242ff383220SAkshay Bhat #define CONFIG_ENV_IS_IN_SPI_FLASH 243ff383220SAkshay Bhat #define CONFIG_ENV_SIZE (8 * 1024) 244ff383220SAkshay Bhat #define CONFIG_ENV_OFFSET (768 * 1024) 245ff383220SAkshay Bhat #define CONFIG_ENV_SECT_SIZE (64 * 1024) 246ff383220SAkshay Bhat #define CONFIG_ENV_SPI_BUS CONFIG_SF_DEFAULT_BUS 247ff383220SAkshay Bhat #define CONFIG_ENV_SPI_CS CONFIG_SF_DEFAULT_CS 248ff383220SAkshay Bhat #define CONFIG_ENV_SPI_MODE CONFIG_SF_DEFAULT_MODE 249ff383220SAkshay Bhat #define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED 250ff383220SAkshay Bhat 251ff383220SAkshay Bhat #ifndef CONFIG_SYS_DCACHE_OFF 252ff383220SAkshay Bhat #endif 253ff383220SAkshay Bhat 254ff383220SAkshay Bhat #define CONFIG_SYS_FSL_USDHC_NUM 3 255ff383220SAkshay Bhat 256ff383220SAkshay Bhat /* Framebuffer */ 257f6f7e73dSYung-Ching LIN #ifdef CONFIG_VIDEO 258ff383220SAkshay Bhat #define CONFIG_VIDEO_IPUV3 259ff383220SAkshay Bhat #define CONFIG_VIDEO_BMP_RLE8 260ff383220SAkshay Bhat #define CONFIG_SPLASH_SCREEN 261ff383220SAkshay Bhat #define CONFIG_SPLASH_SCREEN_ALIGN 262ff383220SAkshay Bhat #define CONFIG_BMP_16BPP 263ff383220SAkshay Bhat #define CONFIG_VIDEO_LOGO 264ff383220SAkshay Bhat #define CONFIG_VIDEO_BMP_LOGO 265ff383220SAkshay Bhat #define CONFIG_IPUV3_CLK 260000000 266ff383220SAkshay Bhat #define CONFIG_IMX_HDMI 267ff383220SAkshay Bhat #define CONFIG_IMX_VIDEO_SKIP 268f6f7e73dSYung-Ching LIN #endif 269ff383220SAkshay Bhat 270ff383220SAkshay Bhat #define CONFIG_PWM_IMX 271ff383220SAkshay Bhat #define CONFIG_IMX6_PWM_PER_CLK 66000000 272ff383220SAkshay Bhat 273ff383220SAkshay Bhat #undef CONFIG_CMD_PCI 274ff383220SAkshay Bhat #ifdef CONFIG_CMD_PCI 275ff383220SAkshay Bhat #define CONFIG_PCI_SCAN_SHOW 276ff383220SAkshay Bhat #define CONFIG_PCIE_IMX 277ff383220SAkshay Bhat #define CONFIG_PCIE_IMX_PERST_GPIO IMX_GPIO_NR(7, 12) 278ff383220SAkshay Bhat #define CONFIG_PCIE_IMX_POWER_GPIO IMX_GPIO_NR(1, 5) 279ff383220SAkshay Bhat #endif 280ff383220SAkshay Bhat 281ff383220SAkshay Bhat /* I2C Configs */ 282ff383220SAkshay Bhat #define CONFIG_SYS_I2C 283ff383220SAkshay Bhat #define CONFIG_SYS_I2C_MXC 284ff383220SAkshay Bhat #define CONFIG_SYS_I2C_SPEED 100000 285ff383220SAkshay Bhat #define CONFIG_SYS_I2C_MXC_I2C1 286ff383220SAkshay Bhat #define CONFIG_SYS_I2C_MXC_I2C2 287ff383220SAkshay Bhat #define CONFIG_SYS_I2C_MXC_I2C3 288ff383220SAkshay Bhat 289ff383220SAkshay Bhat #endif /* __ADVANTECH_DMSBA16_CONFIG_H */ 290