2018-05-07 06:58:06 +09:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
arm: tegra: initial support for apalis tk1
This patch adds board support for the Toradex Apalis TK1 a computer on
module which can be used on different carrier boards.
The module consists of a Tegra TK1 SoC, a PMIC solution, 2 GB of DDR3L
RAM, a bunch of level shifters, an eMMC, a TMP451 temperature sensor
chip, an I210 gigabit Ethernet controller and a SGTL5000 audio codec.
Furthermore, there is a Kinetis MK20DN512 companion micro controller for
analogue, CAN and resistive touch functionality.
For the sake of ease of use we do not distinguish between different
carrier boards for now as the base module features are deemed
sufficient enough for regular booting.
The following functionality is working so far:
- eMMC boot, environment storage and Toradex factory config block
- Gigabit Ethernet
- MMC/SD cards (both MMC1 as well as SD1 slot)
- USB client/host (dual role OTG port as client e.g. for DFU/UMS or host,
other two ports as host)
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
2017-04-02 07:43:16 +09:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2017 Toradex, Inc.
|
|
|
|
*
|
|
|
|
* Configuration settings for the Toradex Apalis TK1 modules.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __CONFIG_H
|
|
|
|
#define __CONFIG_H
|
|
|
|
|
|
|
|
#include <linux/sizes.h>
|
|
|
|
|
|
|
|
#include "tegra124-common.h"
|
|
|
|
|
|
|
|
#define CONFIG_ARCH_MISC_INIT
|
|
|
|
|
|
|
|
/* Board-specific serial config */
|
|
|
|
#define CONFIG_TEGRA_ENABLE_UARTA
|
|
|
|
#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTA_BASE
|
|
|
|
|
2019-08-09 19:21:46 +09:00
|
|
|
#define FDT_MODULE "apalis-v1.2"
|
|
|
|
#define FDT_MODULE_V1_0 "apalis"
|
|
|
|
|
arm: tegra: initial support for apalis tk1
This patch adds board support for the Toradex Apalis TK1 a computer on
module which can be used on different carrier boards.
The module consists of a Tegra TK1 SoC, a PMIC solution, 2 GB of DDR3L
RAM, a bunch of level shifters, an eMMC, a TMP451 temperature sensor
chip, an I210 gigabit Ethernet controller and a SGTL5000 audio codec.
Furthermore, there is a Kinetis MK20DN512 companion micro controller for
analogue, CAN and resistive touch functionality.
For the sake of ease of use we do not distinguish between different
carrier boards for now as the base module features are deemed
sufficient enough for regular booting.
The following functionality is working so far:
- eMMC boot, environment storage and Toradex factory config block
- Gigabit Ethernet
- MMC/SD cards (both MMC1 as well as SD1 slot)
- USB client/host (dual role OTG port as client e.g. for DFU/UMS or host,
other two ports as host)
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
2017-04-02 07:43:16 +09:00
|
|
|
/* Environment in eMMC, before config block at the end of 1st "boot sector" */
|
|
|
|
#define CONFIG_SYS_MMC_ENV_DEV 0
|
|
|
|
#define CONFIG_SYS_MMC_ENV_PART 1
|
|
|
|
|
|
|
|
/* PCI host support */
|
|
|
|
#undef CONFIG_PCI_SCAN_SHOW
|
|
|
|
|
|
|
|
/* PCI networking support */
|
|
|
|
#define CONFIG_E1000_NO_NVM
|
|
|
|
|
|
|
|
/* General networking support */
|
|
|
|
#define CONFIG_TFTP_TSIZE
|
|
|
|
|
2020-06-17 04:20:06 +09:00
|
|
|
/*
|
|
|
|
* Custom Distro Boot configuration:
|
|
|
|
* 1. 8bit SD port (MMC1)
|
|
|
|
* 2. 4bit SD port (MMC2)
|
|
|
|
* 3. eMMC (MMC0)
|
|
|
|
*/
|
|
|
|
#define BOOT_TARGET_DEVICES(func) \
|
|
|
|
func(MMC, mmc, 1) \
|
|
|
|
func(MMC, mmc, 2) \
|
|
|
|
func(MMC, mmc, 0) \
|
|
|
|
func(USB, usb, 0) \
|
|
|
|
func(PXE, pxe, na) \
|
|
|
|
func(DHCP, dhcp, na)
|
|
|
|
|
arm: tegra: initial support for apalis tk1
This patch adds board support for the Toradex Apalis TK1 a computer on
module which can be used on different carrier boards.
The module consists of a Tegra TK1 SoC, a PMIC solution, 2 GB of DDR3L
RAM, a bunch of level shifters, an eMMC, a TMP451 temperature sensor
chip, an I210 gigabit Ethernet controller and a SGTL5000 audio codec.
Furthermore, there is a Kinetis MK20DN512 companion micro controller for
analogue, CAN and resistive touch functionality.
For the sake of ease of use we do not distinguish between different
carrier boards for now as the base module features are deemed
sufficient enough for regular booting.
The following functionality is working so far:
- eMMC boot, environment storage and Toradex factory config block
- Gigabit Ethernet
- MMC/SD cards (both MMC1 as well as SD1 slot)
- USB client/host (dual role OTG port as client e.g. for DFU/UMS or host,
other two ports as host)
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
2017-04-02 07:43:16 +09:00
|
|
|
#undef CONFIG_IPADDR
|
|
|
|
#define CONFIG_IPADDR 192.168.10.2
|
|
|
|
#define CONFIG_NETMASK 255.255.255.0
|
|
|
|
#undef CONFIG_SERVERIP
|
|
|
|
#define CONFIG_SERVERIP 192.168.10.1
|
|
|
|
|
|
|
|
#define DFU_ALT_EMMC_INFO "apalis-tk1.img raw 0x0 0x500 mmcpart 1; " \
|
|
|
|
"boot part 0 1 mmcpart 0; " \
|
|
|
|
"rootfs part 0 2 mmcpart 0; " \
|
2019-08-01 17:06:36 +09:00
|
|
|
"zImage fat 0 1 mmcpart 0; " \
|
arm: tegra: initial support for apalis tk1
This patch adds board support for the Toradex Apalis TK1 a computer on
module which can be used on different carrier boards.
The module consists of a Tegra TK1 SoC, a PMIC solution, 2 GB of DDR3L
RAM, a bunch of level shifters, an eMMC, a TMP451 temperature sensor
chip, an I210 gigabit Ethernet controller and a SGTL5000 audio codec.
Furthermore, there is a Kinetis MK20DN512 companion micro controller for
analogue, CAN and resistive touch functionality.
For the sake of ease of use we do not distinguish between different
carrier boards for now as the base module features are deemed
sufficient enough for regular booting.
The following functionality is working so far:
- eMMC boot, environment storage and Toradex factory config block
- Gigabit Ethernet
- MMC/SD cards (both MMC1 as well as SD1 slot)
- USB client/host (dual role OTG port as client e.g. for DFU/UMS or host,
other two ports as host)
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
2017-04-02 07:43:16 +09:00
|
|
|
"tegra124-apalis-eval.dtb fat 0 1 mmcpart 0"
|
|
|
|
|
2020-03-27 19:15:45 +09:00
|
|
|
#define UBOOT_UPDATE \
|
|
|
|
"uboot_hwpart=1\0" \
|
|
|
|
"uboot_blk=0\0" \
|
|
|
|
"set_blkcnt=setexpr blkcnt ${filesize} + 0x1ff && " \
|
|
|
|
"setexpr blkcnt ${blkcnt} / 0x200\0" \
|
|
|
|
"update_uboot=run set_blkcnt && mmc dev 0 ${uboot_hwpart} && " \
|
|
|
|
"mmc write ${loadaddr} ${uboot_blk} ${blkcnt}\0" \
|
|
|
|
|
arm: tegra: initial support for apalis tk1
This patch adds board support for the Toradex Apalis TK1 a computer on
module which can be used on different carrier boards.
The module consists of a Tegra TK1 SoC, a PMIC solution, 2 GB of DDR3L
RAM, a bunch of level shifters, an eMMC, a TMP451 temperature sensor
chip, an I210 gigabit Ethernet controller and a SGTL5000 audio codec.
Furthermore, there is a Kinetis MK20DN512 companion micro controller for
analogue, CAN and resistive touch functionality.
For the sake of ease of use we do not distinguish between different
carrier boards for now as the base module features are deemed
sufficient enough for regular booting.
The following functionality is working so far:
- eMMC boot, environment storage and Toradex factory config block
- Gigabit Ethernet
- MMC/SD cards (both MMC1 as well as SD1 slot)
- USB client/host (dual role OTG port as client e.g. for DFU/UMS or host,
other two ports as host)
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
2017-04-02 07:43:16 +09:00
|
|
|
#define NFS_BOOTCMD \
|
|
|
|
"nfsargs=ip=:::::eth0:on root=/dev/nfs rw\0" \
|
|
|
|
"nfsboot=pci enum; run setup; setenv bootargs ${defargs} ${nfsargs} " \
|
|
|
|
"${setupargs} ${vidargs}; echo Booting via DHCP/TFTP/NFS...; " \
|
|
|
|
"run nfsdtbload; dhcp ${kernel_addr_r} " \
|
2019-08-01 17:06:36 +09:00
|
|
|
"&& run fdt_fixup && bootz ${kernel_addr_r} - ${dtbparam}\0" \
|
arm: tegra: initial support for apalis tk1
This patch adds board support for the Toradex Apalis TK1 a computer on
module which can be used on different carrier boards.
The module consists of a Tegra TK1 SoC, a PMIC solution, 2 GB of DDR3L
RAM, a bunch of level shifters, an eMMC, a TMP451 temperature sensor
chip, an I210 gigabit Ethernet controller and a SGTL5000 audio codec.
Furthermore, there is a Kinetis MK20DN512 companion micro controller for
analogue, CAN and resistive touch functionality.
For the sake of ease of use we do not distinguish between different
carrier boards for now as the base module features are deemed
sufficient enough for regular booting.
The following functionality is working so far:
- eMMC boot, environment storage and Toradex factory config block
- Gigabit Ethernet
- MMC/SD cards (both MMC1 as well as SD1 slot)
- USB client/host (dual role OTG port as client e.g. for DFU/UMS or host,
other two ports as host)
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
2017-04-02 07:43:16 +09:00
|
|
|
"nfsdtbload=setenv dtbparam; tftp ${fdt_addr_r} " \
|
2019-08-09 19:21:46 +09:00
|
|
|
"${soc}-${fdt_module}-${fdt_board}.dtb " \
|
arm: tegra: initial support for apalis tk1
This patch adds board support for the Toradex Apalis TK1 a computer on
module which can be used on different carrier boards.
The module consists of a Tegra TK1 SoC, a PMIC solution, 2 GB of DDR3L
RAM, a bunch of level shifters, an eMMC, a TMP451 temperature sensor
chip, an I210 gigabit Ethernet controller and a SGTL5000 audio codec.
Furthermore, there is a Kinetis MK20DN512 companion micro controller for
analogue, CAN and resistive touch functionality.
For the sake of ease of use we do not distinguish between different
carrier boards for now as the base module features are deemed
sufficient enough for regular booting.
The following functionality is working so far:
- eMMC boot, environment storage and Toradex factory config block
- Gigabit Ethernet
- MMC/SD cards (both MMC1 as well as SD1 slot)
- USB client/host (dual role OTG port as client e.g. for DFU/UMS or host,
other two ports as host)
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
2017-04-02 07:43:16 +09:00
|
|
|
"&& setenv dtbparam ${fdt_addr_r}\0"
|
|
|
|
|
|
|
|
#define BOARD_EXTRA_ENV_SETTINGS \
|
2019-08-01 17:06:36 +09:00
|
|
|
"boot_file=zImage\0" \
|
arm: tegra: initial support for apalis tk1
This patch adds board support for the Toradex Apalis TK1 a computer on
module which can be used on different carrier boards.
The module consists of a Tegra TK1 SoC, a PMIC solution, 2 GB of DDR3L
RAM, a bunch of level shifters, an eMMC, a TMP451 temperature sensor
chip, an I210 gigabit Ethernet controller and a SGTL5000 audio codec.
Furthermore, there is a Kinetis MK20DN512 companion micro controller for
analogue, CAN and resistive touch functionality.
For the sake of ease of use we do not distinguish between different
carrier boards for now as the base module features are deemed
sufficient enough for regular booting.
The following functionality is working so far:
- eMMC boot, environment storage and Toradex factory config block
- Gigabit Ethernet
- MMC/SD cards (both MMC1 as well as SD1 slot)
- USB client/host (dual role OTG port as client e.g. for DFU/UMS or host,
other two ports as host)
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
2017-04-02 07:43:16 +09:00
|
|
|
"console=ttyS0\0" \
|
|
|
|
"defargs=lp0_vec=2064@0xf46ff000 core_edp_mv=1150 core_edp_ma=4000 " \
|
2019-08-01 17:06:34 +09:00
|
|
|
"usb_port_owner_info=2 lane_owner_info=6 emc_max_dvfs=0 " \
|
2019-08-01 17:06:35 +09:00
|
|
|
"user_debug=30 pcie_aspm=off\0" \
|
arm: tegra: initial support for apalis tk1
This patch adds board support for the Toradex Apalis TK1 a computer on
module which can be used on different carrier boards.
The module consists of a Tegra TK1 SoC, a PMIC solution, 2 GB of DDR3L
RAM, a bunch of level shifters, an eMMC, a TMP451 temperature sensor
chip, an I210 gigabit Ethernet controller and a SGTL5000 audio codec.
Furthermore, there is a Kinetis MK20DN512 companion micro controller for
analogue, CAN and resistive touch functionality.
For the sake of ease of use we do not distinguish between different
carrier boards for now as the base module features are deemed
sufficient enough for regular booting.
The following functionality is working so far:
- eMMC boot, environment storage and Toradex factory config block
- Gigabit Ethernet
- MMC/SD cards (both MMC1 as well as SD1 slot)
- USB client/host (dual role OTG port as client e.g. for DFU/UMS or host,
other two ports as host)
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
2017-04-02 07:43:16 +09:00
|
|
|
"dfu_alt_info=" DFU_ALT_EMMC_INFO "\0" \
|
|
|
|
"fdt_board=eval\0" \
|
|
|
|
"fdt_fixup=;\0" \
|
2019-08-09 19:21:46 +09:00
|
|
|
"fdt_module=" FDT_MODULE "\0" \
|
arm: tegra: initial support for apalis tk1
This patch adds board support for the Toradex Apalis TK1 a computer on
module which can be used on different carrier boards.
The module consists of a Tegra TK1 SoC, a PMIC solution, 2 GB of DDR3L
RAM, a bunch of level shifters, an eMMC, a TMP451 temperature sensor
chip, an I210 gigabit Ethernet controller and a SGTL5000 audio codec.
Furthermore, there is a Kinetis MK20DN512 companion micro controller for
analogue, CAN and resistive touch functionality.
For the sake of ease of use we do not distinguish between different
carrier boards for now as the base module features are deemed
sufficient enough for regular booting.
The following functionality is working so far:
- eMMC boot, environment storage and Toradex factory config block
- Gigabit Ethernet
- MMC/SD cards (both MMC1 as well as SD1 slot)
- USB client/host (dual role OTG port as client e.g. for DFU/UMS or host,
other two ports as host)
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
2017-04-02 07:43:16 +09:00
|
|
|
NFS_BOOTCMD \
|
2020-03-27 19:15:45 +09:00
|
|
|
UBOOT_UPDATE \
|
arm: tegra: initial support for apalis tk1
This patch adds board support for the Toradex Apalis TK1 a computer on
module which can be used on different carrier boards.
The module consists of a Tegra TK1 SoC, a PMIC solution, 2 GB of DDR3L
RAM, a bunch of level shifters, an eMMC, a TMP451 temperature sensor
chip, an I210 gigabit Ethernet controller and a SGTL5000 audio codec.
Furthermore, there is a Kinetis MK20DN512 companion micro controller for
analogue, CAN and resistive touch functionality.
For the sake of ease of use we do not distinguish between different
carrier boards for now as the base module features are deemed
sufficient enough for regular booting.
The following functionality is working so far:
- eMMC boot, environment storage and Toradex factory config block
- Gigabit Ethernet
- MMC/SD cards (both MMC1 as well as SD1 slot)
- USB client/host (dual role OTG port as client e.g. for DFU/UMS or host,
other two ports as host)
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
2017-04-02 07:43:16 +09:00
|
|
|
"setethupdate=if env exists ethaddr; then; else setenv ethaddr " \
|
|
|
|
"00:14:2d:00:00:00; fi; pci enum && tftpboot ${loadaddr} " \
|
|
|
|
"flash_eth.img && source ${loadaddr}\0" \
|
|
|
|
"setsdupdate=setenv interface mmc; setenv drive 1; mmc rescan; " \
|
|
|
|
"load ${interface} ${drive}:1 ${loadaddr} flash_blk.img " \
|
|
|
|
"|| setenv drive 2; mmc rescan; load ${interface} ${drive}:1 " \
|
|
|
|
"${loadaddr} flash_blk.img && " \
|
|
|
|
"source ${loadaddr}\0" \
|
|
|
|
"setup=setenv setupargs igb_mac=${ethaddr} " \
|
|
|
|
"consoleblank=0 no_console_suspend=1 console=tty1 " \
|
|
|
|
"console=${console},${baudrate}n8 debug_uartport=lsport,0 " \
|
|
|
|
"${memargs}\0" \
|
|
|
|
"setupdate=run setsdupdate || run setusbupdate || run setethupdate\0" \
|
|
|
|
"setusbupdate=usb start && setenv interface usb; setenv drive 0; " \
|
|
|
|
"load ${interface} ${drive}:1 ${loadaddr} flash_blk.img && " \
|
|
|
|
"source ${loadaddr}\0" \
|
2019-08-01 17:06:38 +09:00
|
|
|
"vidargs=fbcon=map:1\0"
|
arm: tegra: initial support for apalis tk1
This patch adds board support for the Toradex Apalis TK1 a computer on
module which can be used on different carrier boards.
The module consists of a Tegra TK1 SoC, a PMIC solution, 2 GB of DDR3L
RAM, a bunch of level shifters, an eMMC, a TMP451 temperature sensor
chip, an I210 gigabit Ethernet controller and a SGTL5000 audio codec.
Furthermore, there is a Kinetis MK20DN512 companion micro controller for
analogue, CAN and resistive touch functionality.
For the sake of ease of use we do not distinguish between different
carrier boards for now as the base module features are deemed
sufficient enough for regular booting.
The following functionality is working so far:
- eMMC boot, environment storage and Toradex factory config block
- Gigabit Ethernet
- MMC/SD cards (both MMC1 as well as SD1 slot)
- USB client/host (dual role OTG port as client e.g. for DFU/UMS or host,
other two ports as host)
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
2017-04-02 07:43:16 +09:00
|
|
|
|
|
|
|
/* Increase console I/O buffer size */
|
|
|
|
#undef CONFIG_SYS_CBSIZE
|
|
|
|
#define CONFIG_SYS_CBSIZE 1024
|
|
|
|
|
|
|
|
/* Increase arguments buffer size */
|
|
|
|
#undef CONFIG_SYS_BARGSIZE
|
|
|
|
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
|
|
|
|
|
|
|
|
/* Increase maximum number of arguments */
|
|
|
|
#undef CONFIG_SYS_MAXARGS
|
|
|
|
#define CONFIG_SYS_MAXARGS 32
|
|
|
|
|
|
|
|
#include "tegra-common-usb-gadget.h"
|
|
|
|
#include "tegra-common-post.h"
|
|
|
|
|
|
|
|
/* Reserve top 1M for secure RAM */
|
|
|
|
#define CONFIG_ARMV7_SECURE_BASE 0xfff00000
|
|
|
|
#define CONFIG_ARMV7_SECURE_RESERVE_SIZE 0x00100000
|
|
|
|
|
|
|
|
#endif /* __CONFIG_H */
|