1f91c09acSMarek Vasut /* 2*a187559eSBin Meng * 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_MISC_INIT_R 14f91c09acSMarek Vasut #define CONFIG_KEYBOARD 15f91c09acSMarek Vasut 161c2d4a50SVagrant Cascadian #include <config_distro_defaults.h> 1760667a53SPeter Robinson #include "mx6_common.h" 18f91c09acSMarek Vasut 19f91c09acSMarek Vasut /* U-Boot Commands */ 20f91c09acSMarek Vasut 21f91c09acSMarek Vasut /* U-Boot general configurations */ 22f91c09acSMarek Vasut 23f91c09acSMarek Vasut /* U-Boot environment */ 24f91c09acSMarek Vasut #define CONFIG_ENV_SIZE (16 * 1024) 25f91c09acSMarek Vasut /* 26f91c09acSMarek Vasut * Environment is on MMC, starting at offset 512KiB from start of the card. 27f91c09acSMarek Vasut * Please place first partition at offset 1MiB from the start of the card 28f91c09acSMarek Vasut * as recommended by GNU/fdisk. See below for details: 29f91c09acSMarek Vasut * http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/disc-partition-alignment.html 30f91c09acSMarek Vasut */ 31f91c09acSMarek Vasut #ifdef CONFIG_CMD_MMC 32f91c09acSMarek Vasut #define CONFIG_SYS_MMC_ENV_DEV 0 33f91c09acSMarek Vasut #define CONFIG_ENV_OFFSET (512 * 1024) 34f91c09acSMarek Vasut #define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE 35f91c09acSMarek Vasut #define CONFIG_ENV_OFFSET_REDUND \ 36f91c09acSMarek Vasut (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE) 37f91c09acSMarek Vasut #endif 38f91c09acSMarek Vasut 39f91c09acSMarek Vasut /* Booting Linux */ 40f91c09acSMarek Vasut #define CONFIG_BOOTFILE "fitImage" 411c2d4a50SVagrant Cascadian #define CONFIG_BOOTCOMMAND "run distro_bootcmd ; run net_nfs" 42f91c09acSMarek Vasut #define CONFIG_HOSTNAME novena 43f91c09acSMarek Vasut 44f91c09acSMarek Vasut /* Physical Memory Map */ 45f91c09acSMarek Vasut #define CONFIG_NR_DRAM_BANKS 1 46f91c09acSMarek Vasut #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR 47f91c09acSMarek Vasut 48f91c09acSMarek Vasut #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM 49f91c09acSMarek Vasut #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 50f91c09acSMarek Vasut #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE 51f91c09acSMarek Vasut 52f91c09acSMarek Vasut #define CONFIG_SYS_INIT_SP_OFFSET \ 53f91c09acSMarek Vasut (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 54f91c09acSMarek Vasut #define CONFIG_SYS_INIT_SP_ADDR \ 55f91c09acSMarek Vasut (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 56f91c09acSMarek Vasut 57f91c09acSMarek Vasut #define CONFIG_SYS_MEMTEST_START 0x10000000 58f91c09acSMarek Vasut #define CONFIG_SYS_MEMTEST_END 0x20000000 59f91c09acSMarek Vasut 60f91c09acSMarek Vasut #define CONFIG_SYS_MALLOC_LEN (64 * 1024 * 1024) 61f91c09acSMarek Vasut 62f91c09acSMarek Vasut /* SPL */ 63f91c09acSMarek Vasut #include "imx6_spl.h" /* common IMX6 SPL configuration */ 64f91c09acSMarek Vasut 65f91c09acSMarek Vasut /* Ethernet Configuration */ 66f91c09acSMarek Vasut #ifdef CONFIG_CMD_NET 67f91c09acSMarek Vasut #define CONFIG_FEC_MXC 68f91c09acSMarek Vasut #define CONFIG_MII 69f91c09acSMarek Vasut #define IMX_FEC_BASE ENET_BASE_ADDR 70f91c09acSMarek Vasut #define CONFIG_FEC_XCV_TYPE RGMII 71f91c09acSMarek Vasut #define CONFIG_ETHPRIME "FEC" 72f91c09acSMarek Vasut #define CONFIG_FEC_MXC_PHYADDR 0x7 73f91c09acSMarek Vasut #define CONFIG_ARP_TIMEOUT 200UL 74f91c09acSMarek Vasut #endif 75f91c09acSMarek Vasut 76f91c09acSMarek Vasut /* I2C */ 77f91c09acSMarek Vasut #define CONFIG_SYS_I2C 78f91c09acSMarek Vasut #define CONFIG_SYS_I2C_MXC 7903544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */ 8003544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */ 81f8cb101eSYork Sun #define CONFIG_SYS_I2C_MXC_I2C3 /* enable I2C bus 3 */ 82f91c09acSMarek Vasut #define CONFIG_I2C_MULTI_BUS 83f91c09acSMarek Vasut #define CONFIG_I2C_MXC 84f91c09acSMarek Vasut #define CONFIG_SYS_I2C_SPEED 100000 85735b1a2eSMarek Vasut #define CONFIG_SYS_SPD_BUS_NUM 0 86f91c09acSMarek Vasut 87f91c09acSMarek Vasut /* I2C EEPROM */ 88f91c09acSMarek Vasut #ifdef CONFIG_CMD_EEPROM 89f91c09acSMarek Vasut #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2 90735b1a2eSMarek Vasut #define CONFIG_SYS_I2C_EEPROM_BUS 2 91f91c09acSMarek Vasut #endif 92f91c09acSMarek Vasut 93f91c09acSMarek Vasut /* MMC Configs */ 94f91c09acSMarek Vasut #define CONFIG_SYS_FSL_ESDHC_ADDR 0 95f91c09acSMarek Vasut #define CONFIG_SYS_FSL_USDHC_NUM 2 96f91c09acSMarek Vasut 97f91c09acSMarek Vasut /* PCI express */ 98f91c09acSMarek Vasut #ifdef CONFIG_CMD_PCI 99f91c09acSMarek Vasut #define CONFIG_PCI_SCAN_SHOW 100f91c09acSMarek Vasut #define CONFIG_PCIE_IMX 101f91c09acSMarek Vasut #define CONFIG_PCIE_IMX_PERST_GPIO IMX_GPIO_NR(3, 29) 102f91c09acSMarek Vasut #define CONFIG_PCIE_IMX_POWER_GPIO IMX_GPIO_NR(7, 12) 103f91c09acSMarek Vasut #endif 104f91c09acSMarek Vasut 105f91c09acSMarek Vasut /* PMIC */ 106f91c09acSMarek Vasut #define CONFIG_POWER 107f91c09acSMarek Vasut #define CONFIG_POWER_I2C 108f91c09acSMarek Vasut #define CONFIG_POWER_PFUZE100 109f91c09acSMarek Vasut #define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08 110f91c09acSMarek Vasut 111f91c09acSMarek Vasut /* SATA Configs */ 112f91c09acSMarek Vasut #ifdef CONFIG_CMD_SATA 113f91c09acSMarek Vasut #define CONFIG_DWC_AHSATA 114f91c09acSMarek Vasut #define CONFIG_SYS_SATA_MAX_DEVICE 1 115f91c09acSMarek Vasut #define CONFIG_DWC_AHSATA_PORT_ID 0 116f91c09acSMarek Vasut #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR 117f91c09acSMarek Vasut #define CONFIG_LBA48 118f91c09acSMarek Vasut #define CONFIG_LIBATA 119f91c09acSMarek Vasut #endif 120f91c09acSMarek Vasut 121f91c09acSMarek Vasut /* UART */ 122f91c09acSMarek Vasut #define CONFIG_MXC_UART 123f91c09acSMarek Vasut #define CONFIG_MXC_UART_BASE UART2_BASE 124f91c09acSMarek Vasut 125f91c09acSMarek Vasut /* USB Configs */ 126f91c09acSMarek Vasut #ifdef CONFIG_CMD_USB 127f91c09acSMarek Vasut #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 128f91c09acSMarek Vasut #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) 129f91c09acSMarek Vasut #define CONFIG_MXC_USB_FLAGS 0 130f91c09acSMarek Vasut /* Gadget part */ 131f91c09acSMarek Vasut #define CONFIG_USBD_HS 132f91c09acSMarek Vasut #define CONFIG_NETCONSOLE 133f91c09acSMarek Vasut #endif 134f91c09acSMarek Vasut 135f91c09acSMarek Vasut /* Video output */ 136f91c09acSMarek Vasut #ifdef CONFIG_VIDEO 137f91c09acSMarek Vasut #define CONFIG_VIDEO_IPUV3 138f91c09acSMarek Vasut #define CONFIG_VIDEO_BMP_RLE8 139f91c09acSMarek Vasut #define CONFIG_SPLASH_SCREEN 140f91c09acSMarek Vasut #define CONFIG_BMP_16BPP 141f91c09acSMarek Vasut #define CONFIG_VIDEO_LOGO 142f91c09acSMarek Vasut #define CONFIG_IPUV3_CLK 260000000 143f91c09acSMarek Vasut #define CONFIG_IMX_HDMI 144f91c09acSMarek Vasut #define CONFIG_IMX_VIDEO_SKIP 145f91c09acSMarek Vasut #endif 146f91c09acSMarek Vasut 147f91c09acSMarek Vasut /* Extra U-Boot environment. */ 1481c2d4a50SVagrant Cascadian #ifndef CONFIG_SPL_BUILD 149f91c09acSMarek Vasut #define CONFIG_EXTRA_ENV_SETTINGS \ 150f91c09acSMarek Vasut "fdt_high=0xffffffff\0" \ 151f91c09acSMarek Vasut "initrd_high=0xffffffff\0" \ 152f91c09acSMarek Vasut "consdev=ttymxc1\0" \ 153f91c09acSMarek Vasut "baudrate=115200\0" \ 154f91c09acSMarek Vasut "bootdev=/dev/mmcblk0p1\0" \ 155f91c09acSMarek Vasut "rootdev=/dev/mmcblk0p2\0" \ 156f91c09acSMarek Vasut "netdev=eth0\0" \ 157233509a5SMarek Vasut "kernel_addr_r="__stringify(CONFIG_LOADADDR)"\0" \ 1581c2d4a50SVagrant Cascadian "pxefile_addr_r="__stringify(CONFIG_LOADADDR)"\0" \ 1591c2d4a50SVagrant Cascadian "scriptaddr="__stringify(CONFIG_LOADADDR)"\0" \ 1601c2d4a50SVagrant Cascadian "ramdisk_addr_r=0x28000000\0" \ 1611c2d4a50SVagrant Cascadian "fdt_addr_r=0x18000000\0" \ 1621c2d4a50SVagrant Cascadian "fdtfile=imx6q-novena.dtb\0" \ 163f91c09acSMarek Vasut "addcons=" \ 164f91c09acSMarek Vasut "setenv bootargs ${bootargs} " \ 165f91c09acSMarek Vasut "console=${consdev},${baudrate}\0" \ 166f91c09acSMarek Vasut "addip=" \ 167f91c09acSMarek Vasut "setenv bootargs ${bootargs} " \ 168f91c09acSMarek Vasut "ip=${ipaddr}:${serverip}:${gatewayip}:" \ 169f91c09acSMarek Vasut "${netmask}:${hostname}:${netdev}:off\0" \ 170f91c09acSMarek Vasut "addmisc=" \ 171f91c09acSMarek Vasut "setenv bootargs ${bootargs} ${miscargs}\0" \ 172f91c09acSMarek Vasut "addargs=run addcons addmisc\0" \ 173f91c09acSMarek Vasut "mmcload=" \ 174f91c09acSMarek Vasut "mmc rescan ; " \ 175f91c09acSMarek Vasut "ext4load mmc 0:1 ${kernel_addr_r} ${bootfile}\0" \ 176f91c09acSMarek Vasut "netload=" \ 177f91c09acSMarek Vasut "tftp ${kernel_addr_r} ${hostname}/${bootfile}\0" \ 178f91c09acSMarek Vasut "miscargs=nohlt panic=1\0" \ 179f91c09acSMarek Vasut "mmcargs=setenv bootargs root=${rootdev} rw rootwait\0" \ 180f91c09acSMarek Vasut "nfsargs=" \ 181f91c09acSMarek Vasut "setenv bootargs root=/dev/nfs rw " \ 182f91c09acSMarek Vasut "nfsroot=${serverip}:${rootpath},v3,tcp\0" \ 183f91c09acSMarek Vasut "mmc_mmc=" \ 184f91c09acSMarek Vasut "run mmcload mmcargs addargs ; " \ 185f91c09acSMarek Vasut "bootm ${kernel_addr_r}\0" \ 186f91c09acSMarek Vasut "mmc_nfs=" \ 187f91c09acSMarek Vasut "run mmcload nfsargs addip addargs ; " \ 188f91c09acSMarek Vasut "bootm ${kernel_addr_r}\0" \ 189f91c09acSMarek Vasut "net_mmc=" \ 190f91c09acSMarek Vasut "run netload mmcargs addargs ; " \ 191f91c09acSMarek Vasut "bootm ${kernel_addr_r}\0" \ 192f91c09acSMarek Vasut "net_nfs=" \ 193f91c09acSMarek Vasut "run netload nfsargs addip addargs ; " \ 194f91c09acSMarek Vasut "bootm ${kernel_addr_r}\0" \ 195f91c09acSMarek Vasut "update_sd_spl_filename=SPL\0" \ 196f91c09acSMarek Vasut "update_sd_uboot_filename=u-boot.img\0" \ 197f91c09acSMarek Vasut "update_sd_firmware=" /* Update the SD firmware partition */ \ 198f91c09acSMarek Vasut "if mmc rescan ; then " \ 199f91c09acSMarek Vasut "if dhcp ${update_sd_spl_filename} ; then " \ 200f91c09acSMarek Vasut "mmc write ${loadaddr} 2 0x200 ; " \ 201f91c09acSMarek Vasut "fi ; " \ 202f91c09acSMarek Vasut "if dhcp ${update_sd_uboot_filename} ; then " \ 203f91c09acSMarek Vasut "fatwrite mmc 0:1 ${loadaddr} u-boot.img ${filesize} ; "\ 204f91c09acSMarek Vasut "fi ; " \ 205f91c09acSMarek Vasut "fi\0" \ 2061c2d4a50SVagrant Cascadian BOOTENV 2071c2d4a50SVagrant Cascadian 2081c2d4a50SVagrant Cascadian #define BOOT_TARGET_DEVICES(func) \ 2091c2d4a50SVagrant Cascadian func(MMC, mmc, 0) \ 2101c2d4a50SVagrant Cascadian func(USB, usb, 0) \ 2111c2d4a50SVagrant Cascadian func(SATA, sata, 0) \ 2121c2d4a50SVagrant Cascadian func(PXE, pxe, na) \ 2131c2d4a50SVagrant Cascadian func(DHCP, dhcp, na) 2141c2d4a50SVagrant Cascadian 2151c2d4a50SVagrant Cascadian #include <config_distro_bootcmd.h> 2161c2d4a50SVagrant Cascadian 2171c2d4a50SVagrant Cascadian #else 2181c2d4a50SVagrant Cascadian #define CONFIG_EXTRA_ENV_SETTINGS 2191c2d4a50SVagrant Cascadian #endif /* CONFIG_SPL_BUILD */ 220f91c09acSMarek Vasut 221f91c09acSMarek Vasut #endif /* __CONFIG_H */ 222