1f91c09acSMarek Vasut /* 2f91c09acSMarek Vasut * Configuration settings for the Novena U-boot. 3f91c09acSMarek Vasut * 4f91c09acSMarek Vasut * Copyright (C) 2014 Marek Vasut <marex@denx.de> 5f91c09acSMarek Vasut * 6f91c09acSMarek Vasut * SPDX-License-Identifier: GPL-2.0+ 7f91c09acSMarek Vasut */ 8f91c09acSMarek Vasut 9f91c09acSMarek Vasut #ifndef __CONFIG_H 10f91c09acSMarek Vasut #define __CONFIG_H 11f91c09acSMarek Vasut 12f91c09acSMarek Vasut /* System configurations */ 13f91c09acSMarek Vasut #define CONFIG_BOARD_EARLY_INIT_F 14331ae846SMarek Vasut #define CONFIG_BOARD_LATE_INIT 15f91c09acSMarek Vasut #define CONFIG_MISC_INIT_R 16f91c09acSMarek Vasut #define CONFIG_FIT 17f91c09acSMarek Vasut #define CONFIG_KEYBOARD 18f91c09acSMarek Vasut 19*1c2d4a50SVagrant Cascadian #include <config_distro_defaults.h> 2060667a53SPeter Robinson #include "mx6_common.h" 21f91c09acSMarek Vasut 22f91c09acSMarek Vasut /* U-Boot Commands */ 23f91c09acSMarek Vasut #define CONFIG_CMD_ASKENV 24f91c09acSMarek Vasut #define CONFIG_CMD_BMODE 25f91c09acSMarek Vasut #define CONFIG_CMD_DHCP 26f91c09acSMarek Vasut #define CONFIG_CMD_EEPROM 27f91c09acSMarek Vasut #define CONFIG_CMD_I2C 286c1751efSMarek Vasut #define CONFIG_FAT_WRITE 29f91c09acSMarek Vasut #define CONFIG_CMD_MII 30f91c09acSMarek Vasut #define CONFIG_CMD_PCI 31f91c09acSMarek Vasut #define CONFIG_CMD_PING 32f91c09acSMarek Vasut #define CONFIG_CMD_SATA 33f91c09acSMarek Vasut #define CONFIG_CMD_TIME 34f91c09acSMarek Vasut #define CONFIG_CMD_USB 35f91c09acSMarek Vasut #define CONFIG_VIDEO 36f91c09acSMarek Vasut 37f91c09acSMarek Vasut /* U-Boot general configurations */ 38f91c09acSMarek Vasut #define CONFIG_VERSION_VARIABLE /* U-BOOT version */ 39f91c09acSMarek Vasut 40f91c09acSMarek Vasut /* U-Boot environment */ 41f91c09acSMarek Vasut #define CONFIG_ENV_SIZE (16 * 1024) 42f91c09acSMarek Vasut /* 43f91c09acSMarek Vasut * Environment is on MMC, starting at offset 512KiB from start of the card. 44f91c09acSMarek Vasut * Please place first partition at offset 1MiB from the start of the card 45f91c09acSMarek Vasut * as recommended by GNU/fdisk. See below for details: 46f91c09acSMarek Vasut * http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/disc-partition-alignment.html 47f91c09acSMarek Vasut */ 48f91c09acSMarek Vasut #ifdef CONFIG_CMD_MMC 49f91c09acSMarek Vasut #define CONFIG_ENV_IS_IN_MMC 50f91c09acSMarek Vasut #define CONFIG_SYS_MMC_ENV_DEV 0 51f91c09acSMarek Vasut #define CONFIG_ENV_OFFSET (512 * 1024) 52f91c09acSMarek Vasut #define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE 53f91c09acSMarek Vasut #define CONFIG_ENV_OFFSET_REDUND \ 54f91c09acSMarek Vasut (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE) 55f91c09acSMarek Vasut #else 56f91c09acSMarek Vasut #define CONFIG_ENV_IS_NOWHERE 57f91c09acSMarek Vasut #endif 58f91c09acSMarek Vasut 59f91c09acSMarek Vasut /* Booting Linux */ 60f91c09acSMarek Vasut #define CONFIG_BOOTFILE "fitImage" 61f91c09acSMarek Vasut #define CONFIG_BOOTARGS "console=ttymxc1,115200 " 62*1c2d4a50SVagrant Cascadian #define CONFIG_BOOTCOMMAND "run distro_bootcmd ; run net_nfs" 63f91c09acSMarek Vasut #define CONFIG_HOSTNAME novena 64f91c09acSMarek Vasut 65f91c09acSMarek Vasut /* Physical Memory Map */ 66f91c09acSMarek Vasut #define CONFIG_NR_DRAM_BANKS 1 67f91c09acSMarek Vasut #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR 68f91c09acSMarek Vasut #define PHYS_SDRAM_SIZE 0xF0000000 69f91c09acSMarek Vasut 70f91c09acSMarek Vasut #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM 71f91c09acSMarek Vasut #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 72f91c09acSMarek Vasut #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE 73f91c09acSMarek Vasut 74f91c09acSMarek Vasut #define CONFIG_SYS_INIT_SP_OFFSET \ 75f91c09acSMarek Vasut (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 76f91c09acSMarek Vasut #define CONFIG_SYS_INIT_SP_ADDR \ 77f91c09acSMarek Vasut (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 78f91c09acSMarek Vasut 79f91c09acSMarek Vasut #define CONFIG_SYS_MEMTEST_START 0x10000000 80f91c09acSMarek Vasut #define CONFIG_SYS_MEMTEST_END 0x20000000 81f91c09acSMarek Vasut 82f91c09acSMarek Vasut #define CONFIG_SYS_MALLOC_LEN (64 * 1024 * 1024) 83f91c09acSMarek Vasut 84f91c09acSMarek Vasut /* SPL */ 85f91c09acSMarek Vasut #define CONFIG_SPL_FAT_SUPPORT 86a80a999cSMarek Vasut #define CONFIG_SPL_EXT_SUPPORT 87f91c09acSMarek Vasut #define CONFIG_SPL_MMC_SUPPORT 88f91c09acSMarek Vasut #include "imx6_spl.h" /* common IMX6 SPL configuration */ 89f91c09acSMarek Vasut 90f91c09acSMarek Vasut /* Ethernet Configuration */ 91f91c09acSMarek Vasut #ifdef CONFIG_CMD_NET 92f91c09acSMarek Vasut #define CONFIG_FEC_MXC 93f91c09acSMarek Vasut #define CONFIG_MII 94f91c09acSMarek Vasut #define IMX_FEC_BASE ENET_BASE_ADDR 95f91c09acSMarek Vasut #define CONFIG_FEC_XCV_TYPE RGMII 96f91c09acSMarek Vasut #define CONFIG_ETHPRIME "FEC" 97f91c09acSMarek Vasut #define CONFIG_FEC_MXC_PHYADDR 0x7 98f91c09acSMarek Vasut #define CONFIG_PHYLIB 99f91c09acSMarek Vasut #define CONFIG_PHY_MICREL 100f91c09acSMarek Vasut #define CONFIG_PHY_MICREL_KSZ9021 101f91c09acSMarek Vasut #define CONFIG_ARP_TIMEOUT 200UL 102f91c09acSMarek Vasut #endif 103f91c09acSMarek Vasut 104f91c09acSMarek Vasut /* I2C */ 105f91c09acSMarek Vasut #define CONFIG_SYS_I2C 106f91c09acSMarek Vasut #define CONFIG_SYS_I2C_MXC 10703544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */ 10803544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */ 109f8cb101eSYork Sun #define CONFIG_SYS_I2C_MXC_I2C3 /* enable I2C bus 3 */ 110f91c09acSMarek Vasut #define CONFIG_I2C_MULTI_BUS 111f91c09acSMarek Vasut #define CONFIG_I2C_MXC 112f91c09acSMarek Vasut #define CONFIG_SYS_I2C_SPEED 100000 113f91c09acSMarek Vasut 114f91c09acSMarek Vasut /* I2C EEPROM */ 115f91c09acSMarek Vasut #ifdef CONFIG_CMD_EEPROM 116f91c09acSMarek Vasut #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2 117f91c09acSMarek Vasut #define CONFIG_SYS_SPD_BUS_NUM 2 118f91c09acSMarek Vasut #endif 119f91c09acSMarek Vasut 120f91c09acSMarek Vasut /* MMC Configs */ 121f91c09acSMarek Vasut #define CONFIG_SYS_FSL_ESDHC_ADDR 0 122f91c09acSMarek Vasut #define CONFIG_SYS_FSL_USDHC_NUM 2 123f91c09acSMarek Vasut 124f91c09acSMarek Vasut /* PCI express */ 125f91c09acSMarek Vasut #ifdef CONFIG_CMD_PCI 126f91c09acSMarek Vasut #define CONFIG_PCI 127f91c09acSMarek Vasut #define CONFIG_PCI_PNP 128f91c09acSMarek Vasut #define CONFIG_PCI_SCAN_SHOW 129f91c09acSMarek Vasut #define CONFIG_PCIE_IMX 130f91c09acSMarek Vasut #define CONFIG_PCIE_IMX_PERST_GPIO IMX_GPIO_NR(3, 29) 131f91c09acSMarek Vasut #define CONFIG_PCIE_IMX_POWER_GPIO IMX_GPIO_NR(7, 12) 132f91c09acSMarek Vasut #endif 133f91c09acSMarek Vasut 134f91c09acSMarek Vasut /* PMIC */ 135f91c09acSMarek Vasut #define CONFIG_POWER 136f91c09acSMarek Vasut #define CONFIG_POWER_I2C 137f91c09acSMarek Vasut #define CONFIG_POWER_PFUZE100 138f91c09acSMarek Vasut #define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08 139f91c09acSMarek Vasut 140f91c09acSMarek Vasut /* SATA Configs */ 141f91c09acSMarek Vasut #ifdef CONFIG_CMD_SATA 142f91c09acSMarek Vasut #define CONFIG_DWC_AHSATA 143f91c09acSMarek Vasut #define CONFIG_SYS_SATA_MAX_DEVICE 1 144f91c09acSMarek Vasut #define CONFIG_DWC_AHSATA_PORT_ID 0 145f91c09acSMarek Vasut #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR 146f91c09acSMarek Vasut #define CONFIG_LBA48 147f91c09acSMarek Vasut #define CONFIG_LIBATA 148f91c09acSMarek Vasut #endif 149f91c09acSMarek Vasut 150f91c09acSMarek Vasut /* UART */ 151f91c09acSMarek Vasut #define CONFIG_MXC_UART 152f91c09acSMarek Vasut #define CONFIG_MXC_UART_BASE UART2_BASE 153f91c09acSMarek Vasut 154f91c09acSMarek Vasut /* USB Configs */ 155f91c09acSMarek Vasut #ifdef CONFIG_CMD_USB 156f91c09acSMarek Vasut #define CONFIG_USB_EHCI 157f91c09acSMarek Vasut #define CONFIG_USB_EHCI_MX6 158f91c09acSMarek Vasut #define CONFIG_USB_STORAGE 159f91c09acSMarek Vasut #define CONFIG_USB_KEYBOARD 160f91c09acSMarek Vasut #define CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP 161f91c09acSMarek Vasut #define CONFIG_USB_HOST_ETHER 162f91c09acSMarek Vasut #define CONFIG_USB_ETHER_ASIX 163f91c09acSMarek Vasut #define CONFIG_USB_ETHER_SMSC95XX 164f91c09acSMarek Vasut #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 165f91c09acSMarek Vasut #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) 166f91c09acSMarek Vasut #define CONFIG_MXC_USB_FLAGS 0 167f91c09acSMarek Vasut /* Gadget part */ 168f91c09acSMarek Vasut #define CONFIG_CI_UDC 169f91c09acSMarek Vasut #define CONFIG_USBD_HS 170f91c09acSMarek Vasut #define CONFIG_USB_GADGET_DUALSPEED 171f91c09acSMarek Vasut #define CONFIG_USB_ETHER 172f91c09acSMarek Vasut #define CONFIG_USB_ETH_CDC 173f91c09acSMarek Vasut #define CONFIG_NETCONSOLE 174f91c09acSMarek Vasut #endif 175f91c09acSMarek Vasut 176f91c09acSMarek Vasut /* Video output */ 177f91c09acSMarek Vasut #ifdef CONFIG_VIDEO 178f91c09acSMarek Vasut #define CONFIG_VIDEO_IPUV3 179f91c09acSMarek Vasut #define CONFIG_CFB_CONSOLE 180f91c09acSMarek Vasut #define CONFIG_VGA_AS_SINGLE_DEVICE 181f91c09acSMarek Vasut #define CONFIG_SYS_CONSOLE_IS_IN_ENV 182f91c09acSMarek Vasut #define CONFIG_VIDEO_BMP_RLE8 183f91c09acSMarek Vasut #define CONFIG_SPLASH_SCREEN 184f91c09acSMarek Vasut #define CONFIG_BMP_16BPP 185f91c09acSMarek Vasut #define CONFIG_VIDEO_LOGO 186f91c09acSMarek Vasut #define CONFIG_IPUV3_CLK 260000000 187f91c09acSMarek Vasut #define CONFIG_CMD_HDMIDETECT 188f91c09acSMarek Vasut #define CONFIG_CONSOLE_MUX 189f91c09acSMarek Vasut #define CONFIG_IMX_HDMI 190f91c09acSMarek Vasut #define CONFIG_IMX_VIDEO_SKIP 191f91c09acSMarek Vasut #endif 192f91c09acSMarek Vasut 193f91c09acSMarek Vasut /* Extra U-Boot environment. */ 194*1c2d4a50SVagrant Cascadian #ifndef CONFIG_SPL_BUILD 195f91c09acSMarek Vasut #define CONFIG_EXTRA_ENV_SETTINGS \ 196f91c09acSMarek Vasut "fdt_high=0xffffffff\0" \ 197f91c09acSMarek Vasut "initrd_high=0xffffffff\0" \ 198f91c09acSMarek Vasut "consdev=ttymxc1\0" \ 199f91c09acSMarek Vasut "baudrate=115200\0" \ 200f91c09acSMarek Vasut "bootdev=/dev/mmcblk0p1\0" \ 201f91c09acSMarek Vasut "rootdev=/dev/mmcblk0p2\0" \ 202f91c09acSMarek Vasut "netdev=eth0\0" \ 203233509a5SMarek Vasut "kernel_addr_r="__stringify(CONFIG_LOADADDR)"\0" \ 204*1c2d4a50SVagrant Cascadian "pxefile_addr_r="__stringify(CONFIG_LOADADDR)"\0" \ 205*1c2d4a50SVagrant Cascadian "scriptaddr="__stringify(CONFIG_LOADADDR)"\0" \ 206*1c2d4a50SVagrant Cascadian "ramdisk_addr_r=0x28000000\0" \ 207*1c2d4a50SVagrant Cascadian "fdt_addr_r=0x18000000\0" \ 208*1c2d4a50SVagrant Cascadian "fdtfile=imx6q-novena.dtb\0" \ 209f91c09acSMarek Vasut "addcons=" \ 210f91c09acSMarek Vasut "setenv bootargs ${bootargs} " \ 211f91c09acSMarek Vasut "console=${consdev},${baudrate}\0" \ 212f91c09acSMarek Vasut "addip=" \ 213f91c09acSMarek Vasut "setenv bootargs ${bootargs} " \ 214f91c09acSMarek Vasut "ip=${ipaddr}:${serverip}:${gatewayip}:" \ 215f91c09acSMarek Vasut "${netmask}:${hostname}:${netdev}:off\0" \ 216f91c09acSMarek Vasut "addmisc=" \ 217f91c09acSMarek Vasut "setenv bootargs ${bootargs} ${miscargs}\0" \ 218f91c09acSMarek Vasut "addargs=run addcons addmisc\0" \ 219f91c09acSMarek Vasut "mmcload=" \ 220f91c09acSMarek Vasut "mmc rescan ; " \ 221f91c09acSMarek Vasut "ext4load mmc 0:1 ${kernel_addr_r} ${bootfile}\0" \ 222f91c09acSMarek Vasut "netload=" \ 223f91c09acSMarek Vasut "tftp ${kernel_addr_r} ${hostname}/${bootfile}\0" \ 224f91c09acSMarek Vasut "miscargs=nohlt panic=1\0" \ 225f91c09acSMarek Vasut "mmcargs=setenv bootargs root=${rootdev} rw rootwait\0" \ 226f91c09acSMarek Vasut "nfsargs=" \ 227f91c09acSMarek Vasut "setenv bootargs root=/dev/nfs rw " \ 228f91c09acSMarek Vasut "nfsroot=${serverip}:${rootpath},v3,tcp\0" \ 229f91c09acSMarek Vasut "mmc_mmc=" \ 230f91c09acSMarek Vasut "run mmcload mmcargs addargs ; " \ 231f91c09acSMarek Vasut "bootm ${kernel_addr_r}\0" \ 232f91c09acSMarek Vasut "mmc_nfs=" \ 233f91c09acSMarek Vasut "run mmcload nfsargs addip addargs ; " \ 234f91c09acSMarek Vasut "bootm ${kernel_addr_r}\0" \ 235f91c09acSMarek Vasut "net_mmc=" \ 236f91c09acSMarek Vasut "run netload mmcargs addargs ; " \ 237f91c09acSMarek Vasut "bootm ${kernel_addr_r}\0" \ 238f91c09acSMarek Vasut "net_nfs=" \ 239f91c09acSMarek Vasut "run netload nfsargs addip addargs ; " \ 240f91c09acSMarek Vasut "bootm ${kernel_addr_r}\0" \ 241f91c09acSMarek Vasut "update_sd_spl_filename=SPL\0" \ 242f91c09acSMarek Vasut "update_sd_uboot_filename=u-boot.img\0" \ 243f91c09acSMarek Vasut "update_sd_firmware=" /* Update the SD firmware partition */ \ 244f91c09acSMarek Vasut "if mmc rescan ; then " \ 245f91c09acSMarek Vasut "if dhcp ${update_sd_spl_filename} ; then " \ 246f91c09acSMarek Vasut "mmc write ${loadaddr} 2 0x200 ; " \ 247f91c09acSMarek Vasut "fi ; " \ 248f91c09acSMarek Vasut "if dhcp ${update_sd_uboot_filename} ; then " \ 249f91c09acSMarek Vasut "fatwrite mmc 0:1 ${loadaddr} u-boot.img ${filesize} ; "\ 250f91c09acSMarek Vasut "fi ; " \ 251f91c09acSMarek Vasut "fi\0" \ 252*1c2d4a50SVagrant Cascadian BOOTENV 253*1c2d4a50SVagrant Cascadian 254*1c2d4a50SVagrant Cascadian #define BOOT_TARGET_DEVICES(func) \ 255*1c2d4a50SVagrant Cascadian func(MMC, mmc, 0) \ 256*1c2d4a50SVagrant Cascadian func(USB, usb, 0) \ 257*1c2d4a50SVagrant Cascadian func(SATA, sata, 0) \ 258*1c2d4a50SVagrant Cascadian func(PXE, pxe, na) \ 259*1c2d4a50SVagrant Cascadian func(DHCP, dhcp, na) 260*1c2d4a50SVagrant Cascadian 261*1c2d4a50SVagrant Cascadian #include <config_distro_bootcmd.h> 262*1c2d4a50SVagrant Cascadian 263*1c2d4a50SVagrant Cascadian #else 264*1c2d4a50SVagrant Cascadian #define CONFIG_EXTRA_ENV_SETTINGS 265*1c2d4a50SVagrant Cascadian #endif /* CONFIG_SPL_BUILD */ 266f91c09acSMarek Vasut 267f91c09acSMarek Vasut #endif /* __CONFIG_H */ 268