Commit 998800108928873d83d2da243623c937510fc3ef
Committed by
Stefano Babic
1 parent
70026345ed
Exists in
smarc_8mq_lf_v2020.04
and in
10 other branches
pico-imx6ul: Add DWARF baseboard support
This add the boot menu option for the DWARF baseboard as well as a specific config file for users which wish to use it as a pre-defined board. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Showing 2 changed files with 68 additions and 2 deletions Inline Diff
configs/pico-dwarf-imx6ul_defconfig
File was created | 1 | CONFIG_ARM=y | |
2 | CONFIG_ARCH_MX6=y | ||
3 | CONFIG_SYS_TEXT_BASE=0x87800000 | ||
4 | CONFIG_SPL_GPIO_SUPPORT=y | ||
5 | CONFIG_SPL_LIBCOMMON_SUPPORT=y | ||
6 | CONFIG_SPL_LIBGENERIC_SUPPORT=y | ||
7 | CONFIG_TARGET_PICO_IMX6UL=y | ||
8 | CONFIG_SPL_MMC_SUPPORT=y | ||
9 | CONFIG_SPL_SERIAL_SUPPORT=y | ||
10 | CONFIG_SPL=y | ||
11 | CONFIG_SPL_LIBDISK_SUPPORT=y | ||
12 | CONFIG_DISTRO_DEFAULTS=y | ||
13 | CONFIG_NR_DRAM_BANKS=1 | ||
14 | CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg" | ||
15 | CONFIG_BOOTDELAY=3 | ||
16 | CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd" | ||
17 | CONFIG_DEFAULT_FDT_FILE="imx6ul-pico-dwarf.dtb" | ||
18 | CONFIG_BOUNCE_BUFFER=y | ||
19 | CONFIG_BOARD_EARLY_INIT_F=y | ||
20 | CONFIG_SPL_USB_HOST_SUPPORT=y | ||
21 | CONFIG_SPL_USB_GADGET=y | ||
22 | CONFIG_SPL_USB_SDP_SUPPORT=y | ||
23 | CONFIG_CMD_BOOTMENU=y | ||
24 | CONFIG_CMD_MEMTEST=y | ||
25 | CONFIG_CMD_DFU=y | ||
26 | # CONFIG_CMD_FLASH is not set | ||
27 | CONFIG_CMD_GPIO=y | ||
28 | CONFIG_CMD_GPT=y | ||
29 | CONFIG_CMD_MMC=y | ||
30 | CONFIG_CMD_USB=y | ||
31 | CONFIG_CMD_USB_SDP=y | ||
32 | CONFIG_CMD_USB_MASS_STORAGE=y | ||
33 | CONFIG_CMD_CACHE=y | ||
34 | CONFIG_CMD_EXT4_WRITE=y | ||
35 | CONFIG_OF_CONTROL=y | ||
36 | CONFIG_DEFAULT_DEVICE_TREE="imx6ul-pico-pi" | ||
37 | CONFIG_ENV_IS_IN_MMC=y | ||
38 | CONFIG_DFU_MMC=y | ||
39 | CONFIG_USB_FUNCTION_FASTBOOT=y | ||
40 | CONFIG_FASTBOOT_BUF_SIZE=0x10000000 | ||
41 | CONFIG_FASTBOOT_FLASH=y | ||
42 | CONFIG_FASTBOOT_FLASH_MMC_DEV=0 | ||
43 | CONFIG_FASTBOOT_CMD_OEM_FORMAT=y | ||
44 | CONFIG_DM_GPIO=y | ||
45 | CONFIG_DM_I2C=y | ||
46 | CONFIG_DM_MMC=y | ||
47 | CONFIG_FSL_ESDHC=y | ||
48 | CONFIG_PHYLIB=y | ||
49 | CONFIG_PHY_MICREL=y | ||
50 | CONFIG_MII=y | ||
51 | CONFIG_PINCTRL=y | ||
52 | CONFIG_PINCTRL_IMX6=y | ||
53 | CONFIG_DM_PMIC=y | ||
54 | CONFIG_DM_PMIC_PFUZE100=y | ||
55 | CONFIG_DM_REGULATOR=y | ||
56 | CONFIG_DM_REGULATOR_PFUZE100=y | ||
57 | CONFIG_DM_REGULATOR_FIXED=y | ||
58 | CONFIG_DM_REGULATOR_GPIO=y | ||
59 | CONFIG_USB=y | ||
60 | CONFIG_USB_GADGET=y | ||
61 | CONFIG_USB_GADGET_MANUFACTURER="FSL" | ||
62 | CONFIG_USB_GADGET_VENDOR_NUM=0x0525 | ||
63 | CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 | ||
64 | CONFIG_CI_UDC=y | ||
65 |
include/configs/pico-imx6ul.h
1 | /* SPDX-License-Identifier: GPL-2.0+ */ | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
2 | /* | 2 | /* |
3 | * Copyright (C) 2015 Technexion Ltd. | 3 | * Copyright (C) 2015 Technexion Ltd. |
4 | * | 4 | * |
5 | * Configuration settings for the Technexion PICO-IMX6UL-EMMC board. | 5 | * Configuration settings for the Technexion PICO-IMX6UL-EMMC board. |
6 | */ | 6 | */ |
7 | #ifndef __PICO_IMX6UL_CONFIG_H | 7 | #ifndef __PICO_IMX6UL_CONFIG_H |
8 | #define __PICO_IMX6UL_CONFIG_H | 8 | #define __PICO_IMX6UL_CONFIG_H |
9 | 9 | ||
10 | 10 | ||
11 | #include <asm/arch/imx-regs.h> | 11 | #include <asm/arch/imx-regs.h> |
12 | #include <linux/sizes.h> | 12 | #include <linux/sizes.h> |
13 | #include "mx6_common.h" | 13 | #include "mx6_common.h" |
14 | #include <asm/mach-imx/gpio.h> | 14 | #include <asm/mach-imx/gpio.h> |
15 | #include "imx6_spl.h" | 15 | #include "imx6_spl.h" |
16 | 16 | ||
17 | #ifdef CONFIG_SPL_OS_BOOT | 17 | #ifdef CONFIG_SPL_OS_BOOT |
18 | /* Falcon Mode */ | 18 | /* Falcon Mode */ |
19 | #define CONFIG_SPL_FS_LOAD_ARGS_NAME "args" | 19 | #define CONFIG_SPL_FS_LOAD_ARGS_NAME "args" |
20 | #define CONFIG_SPL_FS_LOAD_KERNEL_NAME "uImage" | 20 | #define CONFIG_SPL_FS_LOAD_KERNEL_NAME "uImage" |
21 | #define CONFIG_SYS_SPL_ARGS_ADDR 0x88000000 | 21 | #define CONFIG_SYS_SPL_ARGS_ADDR 0x88000000 |
22 | 22 | ||
23 | /* Falcon Mode - MMC support: args@1MB kernel@2MB */ | 23 | /* Falcon Mode - MMC support: args@1MB kernel@2MB */ |
24 | #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR 0x800 /* 1MB */ | 24 | #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR 0x800 /* 1MB */ |
25 | #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS (CONFIG_CMD_SPL_WRITE_SIZE / 512) | 25 | #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS (CONFIG_CMD_SPL_WRITE_SIZE / 512) |
26 | #define CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR 0x1000 /* 2MB */ | 26 | #define CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR 0x1000 /* 2MB */ |
27 | #endif | 27 | #endif |
28 | 28 | ||
29 | /* Network support */ | 29 | /* Network support */ |
30 | 30 | ||
31 | #define CONFIG_FEC_MXC | 31 | #define CONFIG_FEC_MXC |
32 | #define IMX_FEC_BASE ENET2_BASE_ADDR | 32 | #define IMX_FEC_BASE ENET2_BASE_ADDR |
33 | #define CONFIG_FEC_MXC_PHYADDR 0x1 | 33 | #define CONFIG_FEC_MXC_PHYADDR 0x1 |
34 | #define CONFIG_FEC_XCV_TYPE RMII | 34 | #define CONFIG_FEC_XCV_TYPE RMII |
35 | 35 | ||
36 | /* Size of malloc() pool */ | 36 | /* Size of malloc() pool */ |
37 | #define CONFIG_SYS_MALLOC_LEN (35 * SZ_1M) /* Increase due to DFU */ | 37 | #define CONFIG_SYS_MALLOC_LEN (35 * SZ_1M) /* Increase due to DFU */ |
38 | 38 | ||
39 | #define CONFIG_MXC_UART | 39 | #define CONFIG_MXC_UART |
40 | #define CONFIG_MXC_UART_BASE UART6_BASE_ADDR | 40 | #define CONFIG_MXC_UART_BASE UART6_BASE_ADDR |
41 | 41 | ||
42 | /* MMC Configs */ | 42 | /* MMC Configs */ |
43 | #define CONFIG_SYS_FSL_ESDHC_ADDR USDHC1_BASE_ADDR | 43 | #define CONFIG_SYS_FSL_ESDHC_ADDR USDHC1_BASE_ADDR |
44 | 44 | ||
45 | /* USB Configs */ | 45 | /* USB Configs */ |
46 | #define CONFIG_EHCI_HCD_INIT_AFTER_RESET | 46 | #define CONFIG_EHCI_HCD_INIT_AFTER_RESET |
47 | #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) | 47 | #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) |
48 | #define CONFIG_MXC_USB_FLAGS 0 | 48 | #define CONFIG_MXC_USB_FLAGS 0 |
49 | #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 | 49 | #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 |
50 | 50 | ||
51 | #define CONFIG_USBD_HS | 51 | #define CONFIG_USBD_HS |
52 | 52 | ||
53 | #define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M | 53 | #define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M |
54 | #define DFU_DEFAULT_POLL_TIMEOUT 300 | 54 | #define DFU_DEFAULT_POLL_TIMEOUT 300 |
55 | 55 | ||
56 | #define CONFIG_DFU_ENV_SETTINGS \ | 56 | #define CONFIG_DFU_ENV_SETTINGS \ |
57 | "dfu_alt_info=" \ | 57 | "dfu_alt_info=" \ |
58 | "spl raw 0x2 0x400;" \ | 58 | "spl raw 0x2 0x400;" \ |
59 | "u-boot raw 0x8a 0x400;" \ | 59 | "u-boot raw 0x8a 0x400;" \ |
60 | "/boot/zImage ext4 0 1;" \ | 60 | "/boot/zImage ext4 0 1;" \ |
61 | "/boot/imx6ul-pico-hobbit.dtb ext4 0 1;" \ | 61 | "/boot/imx6ul-pico-hobbit.dtb ext4 0 1;" \ |
62 | "/boot/imx6ul-pico-pi.dtb ext4 0 1;" \ | 62 | "/boot/imx6ul-pico-pi.dtb ext4 0 1;" \ |
63 | "rootfs part 0 1\0" \ | 63 | "rootfs part 0 1\0" \ |
64 | 64 | ||
65 | #define BOOTMENU_ENV \ | 65 | #define BOOTMENU_ENV \ |
66 | "bootmenu_0=Boot using PICO-Hobbit baseboard=" \ | 66 | "bootmenu_0=Boot using PICO-Dwarf baseboard=" \ |
67 | "setenv fdtfile imx6ul-pico-dwarf.dtb\0" \ | ||
68 | "bootmenu_1=Boot using PICO-Hobbit baseboard=" \ | ||
67 | "setenv fdtfile imx6ul-pico-hobbit.dtb\0" \ | 69 | "setenv fdtfile imx6ul-pico-hobbit.dtb\0" \ |
68 | "bootmenu_1=Boot using PICO-Pi baseboard=" \ | 70 | "bootmenu_2=Boot using PICO-Pi baseboard=" \ |
69 | "setenv fdtfile imx6ul-pico-pi.dtb\0" \ | 71 | "setenv fdtfile imx6ul-pico-pi.dtb\0" \ |
70 | 72 | ||
71 | #define CONFIG_SYS_MMC_IMG_LOAD_PART 1 | 73 | #define CONFIG_SYS_MMC_IMG_LOAD_PART 1 |
72 | 74 | ||
73 | #define CONFIG_EXTRA_ENV_SETTINGS \ | 75 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
74 | "script=boot.scr\0" \ | 76 | "script=boot.scr\0" \ |
75 | "image=zImage\0" \ | 77 | "image=zImage\0" \ |
76 | "console=ttymxc5\0" \ | 78 | "console=ttymxc5\0" \ |
77 | "fdt_high=0xffffffff\0" \ | 79 | "fdt_high=0xffffffff\0" \ |
78 | "initrd_high=0xffffffff\0" \ | 80 | "initrd_high=0xffffffff\0" \ |
79 | "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ | 81 | "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ |
80 | BOOTMENU_ENV \ | 82 | BOOTMENU_ENV \ |
81 | "fdt_addr=0x83000000\0" \ | 83 | "fdt_addr=0x83000000\0" \ |
82 | "fdt_addr_r=0x83000000\0" \ | 84 | "fdt_addr_r=0x83000000\0" \ |
83 | "kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \ | 85 | "kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \ |
84 | "pxefile_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \ | 86 | "pxefile_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \ |
85 | "ramdisk_addr_r=0x83000000\0" \ | 87 | "ramdisk_addr_r=0x83000000\0" \ |
86 | "ramdiskaddr=0x83000000\0" \ | 88 | "ramdiskaddr=0x83000000\0" \ |
87 | "scriptaddr=" __stringify(CONFIG_LOADADDR) "\0" \ | 89 | "scriptaddr=" __stringify(CONFIG_LOADADDR) "\0" \ |
88 | "mmcautodetect=yes\0" \ | 90 | "mmcautodetect=yes\0" \ |
89 | CONFIG_DFU_ENV_SETTINGS \ | 91 | CONFIG_DFU_ENV_SETTINGS \ |
90 | "findfdt=" \ | 92 | "findfdt=" \ |
91 | "if test $fdtfile = ask ; then " \ | 93 | "if test $fdtfile = ask ; then " \ |
92 | "bootmenu -1; fi;" \ | 94 | "bootmenu -1; fi;" \ |
93 | "if test $fdtfile != ask ; then " \ | 95 | "if test $fdtfile != ask ; then " \ |
94 | "saveenv; fi;\0" \ | 96 | "saveenv; fi;\0" \ |
95 | "finduuid=part uuid mmc 0:1 uuid\0" \ | 97 | "finduuid=part uuid mmc 0:1 uuid\0" \ |
96 | "partitions=" \ | 98 | "partitions=" \ |
97 | "uuid_disk=${uuid_gpt_disk};" \ | 99 | "uuid_disk=${uuid_gpt_disk};" \ |
98 | "name=rootfs,size=0,uuid=${uuid_gpt_rootfs}\0" \ | 100 | "name=rootfs,size=0,uuid=${uuid_gpt_rootfs}\0" \ |
99 | "fastboot_partition_alias_system=rootfs\0" \ | 101 | "fastboot_partition_alias_system=rootfs\0" \ |
100 | "setup_emmc=mmc dev 0; gpt write mmc 0 $partitions; reset;\0" \ | 102 | "setup_emmc=mmc dev 0; gpt write mmc 0 $partitions; reset;\0" \ |
101 | BOOTENV | 103 | BOOTENV |
102 | 104 | ||
103 | #define BOOT_TARGET_DEVICES(func) \ | 105 | #define BOOT_TARGET_DEVICES(func) \ |
104 | func(MMC, mmc, 0) \ | 106 | func(MMC, mmc, 0) \ |
105 | func(USB, usb, 0) \ | 107 | func(USB, usb, 0) \ |
106 | func(PXE, pxe, na) \ | 108 | func(PXE, pxe, na) \ |
107 | func(DHCP, dhcp, na) | 109 | func(DHCP, dhcp, na) |
108 | 110 | ||
109 | #include <config_distro_bootcmd.h> | 111 | #include <config_distro_bootcmd.h> |
110 | 112 | ||
111 | #define CONFIG_SYS_MEMTEST_START 0x80000000 | 113 | #define CONFIG_SYS_MEMTEST_START 0x80000000 |
112 | #define CONFIG_SYS_MEMTEST_END CONFIG_SYS_MEMTEST_START + SZ_128M | 114 | #define CONFIG_SYS_MEMTEST_END CONFIG_SYS_MEMTEST_START + SZ_128M |
113 | 115 | ||
114 | #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR | 116 | #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR |
115 | #define CONFIG_SYS_HZ 1000 | 117 | #define CONFIG_SYS_HZ 1000 |
116 | 118 | ||
117 | /* Physical Memory Map */ | 119 | /* Physical Memory Map */ |
118 | #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR | 120 | #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR |
119 | 121 | ||
120 | #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM | 122 | #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM |
121 | #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR | 123 | #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR |
122 | #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE | 124 | #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE |
123 | 125 | ||
124 | #define CONFIG_SYS_INIT_SP_OFFSET \ | 126 | #define CONFIG_SYS_INIT_SP_OFFSET \ |
125 | (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) | 127 | (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) |
126 | #define CONFIG_SYS_INIT_SP_ADDR \ | 128 | #define CONFIG_SYS_INIT_SP_ADDR \ |
127 | (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) | 129 | (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) |
128 | 130 | ||
129 | /* I2C configs */ | 131 | /* I2C configs */ |
130 | #define CONFIG_SYS_I2C_MXC | 132 | #define CONFIG_SYS_I2C_MXC |
131 | #define CONFIG_SYS_I2C_SPEED 100000 | 133 | #define CONFIG_SYS_I2C_SPEED 100000 |
132 | 134 | ||
133 | /* environment organization */ | 135 | /* environment organization */ |
134 | #define CONFIG_ENV_SIZE SZ_8K | 136 | #define CONFIG_ENV_SIZE SZ_8K |
135 | #define CONFIG_ENV_OFFSET (8 * SZ_64K) | 137 | #define CONFIG_ENV_OFFSET (8 * SZ_64K) |
136 | 138 | ||
137 | #define CONFIG_SYS_MMC_ENV_DEV 0 | 139 | #define CONFIG_SYS_MMC_ENV_DEV 0 |
138 | #define CONFIG_SYS_MMC_ENV_PART 0 | 140 | #define CONFIG_SYS_MMC_ENV_PART 0 |
139 | 141 | ||
140 | #endif /* __PICO_IMX6UL_CONFIG_H */ | 142 | #endif /* __PICO_IMX6UL_CONFIG_H */ |
141 | 143 |