oweals/u-boot.git
5 years agocolibri_imx6: use UUID for rootfs
Igor Opaniuk [Mon, 15 Apr 2019 09:01:57 +0000 (11:01 +0200)]
colibri_imx6: use UUID for rootfs

1. Replace usage of "/dev/mmcblk*p*" with a proper UUID of rootfs
partition. This fixes the issue, when MMC controllers are probed in
a different order in U-boot and Linux kernel.
2. Fix legacy USB command (both sdboot and usbboot can be used now).

Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agowarp7: Switch to DM USB
Pierre-Jean Texier [Fri, 19 Apr 2019 18:34:12 +0000 (20:34 +0200)]
warp7: Switch to DM USB

This commit switches to DM USB for warp7 and warp7_bl33 defconfigs.

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Signed-off-by: Joris Offouga <offougajoris@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agowarp7: Switch to DM Serial
Pierre-Jean Texier [Fri, 19 Apr 2019 18:34:11 +0000 (20:34 +0200)]
warp7: Switch to DM Serial

This commit switches to DM SERIAL for warp7 and warp7_bl33 defconfigs.

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Signed-off-by: Joris Offouga <offougajoris@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agoddr: imx8m: hide i.MX8M DDR options from device driver entry
Peng Fan [Mon, 22 Apr 2019 10:41:28 +0000 (10:41 +0000)]
ddr: imx8m: hide i.MX8M DDR options from device driver entry

Use one menu to hide the several i.MX8M DDR options from device
driver entry.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoARM: dts: colibri-imx6ull: update device tree
Marcel Ziswiler [Wed, 17 Apr 2019 23:57:32 +0000 (01:57 +0200)]
ARM: dts: colibri-imx6ull: update device tree

Fix compatible node to use regular Toradex notation.
Annotate device tree with standard Colibri pin muxing comments.
Use open-drain I2C pin muxings.
Alphabetically re-order iomuxc nodes.
Rename snvs-ad7879-int-grp touch interrupt node as per Linux device tree.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoARM: dts: colibri-imx6ull: add osc32k_32k_out pinctrl
Marcel Ziswiler [Wed, 17 Apr 2019 23:57:31 +0000 (01:57 +0200)]
ARM: dts: colibri-imx6ull: add osc32k_32k_out pinctrl

Add GPIO1_IO03__OSC32K_32K_OUT pin muxing.
While at it also fix indentation of pinfunc header file.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoARM: dts: i.MX6Q: fix avoid_unnecessary_addr_size warnings
Marcel Ziswiler [Wed, 17 Apr 2019 23:47:36 +0000 (01:47 +0200)]
ARM: dts: i.MX6Q: fix avoid_unnecessary_addr_size warnings

Re-synced the device tree with Linux 5.0.

This fixes the following warnings:

w+arch/arm/dts/imx6-apalis.dtb: Warning (reg_format): /soc/ipu@2800000/
 port@2/endpoint@0:reg: property has invalid length (4 bytes)
 (#address-cells == 2, #size-cells == 1)
w+arch/arm/dts/imx6-apalis.dtb: Warning (reg_format): /soc/ipu@2800000/
 port@2/endpoint@1:reg: property has invalid length (4 bytes)
 (#address-cells == 2, #size-cells == 1)
w+arch/arm/dts/imx6-apalis.dtb: Warning (reg_format): /soc/ipu@2800000/
 port@2/endpoint@2:reg: property has invalid length (4 bytes)
 (#address-cells == 2, #size-cells == 1)
w+arch/arm/dts/imx6-apalis.dtb: Warning (reg_format): /soc/ipu@2800000/
 port@2/endpoint@3:reg: property has invalid length (4 bytes)
 (#address-cells == 2, #size-cells == 1)
w+arch/arm/dts/imx6-apalis.dtb: Warning (reg_format): /soc/ipu@2800000/
 port@2/endpoint@4:reg: property has invalid length (4 bytes)
 (#address-cells == 2, #size-cells == 1)
w+arch/arm/dts/imx6-apalis.dtb: Warning (reg_format): /soc/ipu@2800000/
 port@3/endpoint@1:reg: property has invalid length (4 bytes)
 (#address-cells == 2, #size-cells == 1)
w+arch/arm/dts/imx6-apalis.dtb: Warning (reg_format): /soc/ipu@2800000/
 port@3/endpoint@2:reg: property has invalid length (4 bytes)
 (#address-cells == 2, #size-cells == 1)
w+arch/arm/dts/imx6-apalis.dtb: Warning (reg_format): /soc/ipu@2800000/
 port@3/endpoint@3:reg: property has invalid length (4 bytes)
 (#address-cells == 2, #size-cells == 1)
w+arch/arm/dts/imx6-apalis.dtb: Warning (reg_format): /soc/ipu@2800000/
 port@3/endpoint@4:reg: property has invalid length (4 bytes)
 (#address-cells == 2, #size-cells == 1)
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_default_addr_size):
 /soc/ipu@2800000/port@2/endpoint@0: Relying on default #address-cells
 value
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_default_addr_size):
 /soc/ipu@2800000/port@2/endpoint@0: Relying on default #size-cells
 value
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_default_addr_size):
 /soc/ipu@2800000/port@2/endpoint@1: Relying on default #address-cells
 value
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_default_addr_size):
 /soc/ipu@2800000/port@2/endpoint@1: Relying on default #size-cells
 value
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_default_addr_size):
 /soc/ipu@2800000/port@2/endpoint@2: Relying on default #address-cells
 value
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_default_addr_size):
 /soc/ipu@2800000/port@2/endpoint@2: Relying on default #size-cells
 value
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_default_addr_size):
 /soc/ipu@2800000/port@2/endpoint@3: Relying on default #address-cells
 value
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_default_addr_size):
 /soc/ipu@2800000/port@2/endpoint@3: Relying on default #size-cells
 value
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_default_addr_size):
 /soc/ipu@2800000/port@2/endpoint@4: Relying on default #address-cells
 value
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_default_addr_size):
 /soc/ipu@2800000/port@2/endpoint@4: Relying on default #size-cells
 value
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_default_addr_size):
 /soc/ipu@2800000/port@3/endpoint@1: Relying on default #address-cells
 value
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_default_addr_size):
 /soc/ipu@2800000/port@3/endpoint@1: Relying on default #size-cells
 value
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_default_addr_size):
 /soc/ipu@2800000/port@3/endpoint@2: Relying on default #address-cells
 value
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_default_addr_size):
 /soc/ipu@2800000/port@3/endpoint@2: Relying on default #size-cells
 value
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_default_addr_size):
 /soc/ipu@2800000/port@3/endpoint@3: Relying on default #address-cells
 value
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_default_addr_size):
 /soc/ipu@2800000/port@3/endpoint@3: Relying on default #size-cells
 value
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_default_addr_size):
 /soc/ipu@2800000/port@3/endpoint@4: Relying on default #address-cells
 value
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_default_addr_size):
 /soc/ipu@2800000/port@3/endpoint@4: Relying on default #size-cells
 value
w+arch/arm/dts/imx6-apalis.dtb: Warning (avoid_unnecessary_addr_size):
 Failed prerequisite 'avoid_default_addr_size'

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
5 years agoimx: Add variscite DART-6UL Evaluation Kit
Parthiban Nallathambi [Wed, 17 Apr 2019 22:04:09 +0000 (00:04 +0200)]
imx: Add variscite DART-6UL Evaluation Kit

Port for the DART-6UL Evaluation Kit SBC. Based on the variscite
DART-6UL iMX6ULL SoM.

CPU:   Freescale i.MX6ULL rev1.1 900 MHz (running at 396 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 43C
Reset cause: POR
Model: Variscite DART-6UL Evaluation Kit
Board: Variscite DART-6UL Evaluation Kit
DRAM:  512 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
In:    serial@02020000
Out:   serial@02020000
Err:   serial@02020000
Net:   FEC0

Working:
 - Eth0
 - i2c
 - MMC/SD
 - eMMC
 - USB host
 - UART 1

Note: LCDIF porting needs DM_VIDEO
https://lists.denx.de/pipermail/u-boot/2019-April/365506.html

Signed-off-by: Parthiban Nallathambi <parthitce@gmail.com>
5 years agomxc_ocotp: Disable fuse sense for imx8mq B1
Ye Li [Wed, 17 Apr 2019 09:41:23 +0000 (09:41 +0000)]
mxc_ocotp: Disable fuse sense for imx8mq B1

On iMX8MQ Rev B1, reading from fuse box is not allowed. The
OCOTP_READ_FUSE_DATA register is tied to magic number 0xff0055aa
for chip rev. So u-boot has to disable the fuse sense function for it.

Signed-off-by: Ye Li <ye.li@nxp.com>
Tested-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agomxc_ocotp: Update redundancy banks for mx7ulp B0
Ye Li [Wed, 17 Apr 2019 09:41:20 +0000 (09:41 +0000)]
mxc_ocotp: Update redundancy banks for mx7ulp B0

On mx7ulp B0, beside bank 0 and 1, the fuse bank 9, 10, 28 are changed to
Redundancy mode not ECC, so they can support to program different bits of
a word in multiple times.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx: i.MX8MQ: clear ocotp error bit
Peng Fan [Wed, 17 Apr 2019 09:41:16 +0000 (09:41 +0000)]
imx: i.MX8MQ: clear ocotp error bit

In case ocotp error bit is set, clear it.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx: 8qxp_mek: fix fdt_file and console
Peng Fan [Mon, 15 Apr 2019 12:00:50 +0000 (12:00 +0000)]
imx: 8qxp_mek: fix fdt_file and console

Fix fdt_file and console to boot upstream Linux Kernel.

Upstream linux use imx8qxp-mek.dtb, and pass lpuart32 to earlycon
will not work for i.MX8QXP, only need to pass earlycon,
check drivers/tty/serial/earlycon.c,
" /* Just 'earlycon' is a valid param for devicetree and ACPI SPCR. */ "

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agoARM: imx6: DHCOM i.MX6 PDK: use Kconfig for inclusion of DDR calibration
Ludwig Zenz [Mon, 15 Apr 2019 09:13:08 +0000 (11:13 +0200)]
ARM: imx6: DHCOM i.MX6 PDK: use Kconfig for inclusion of DDR calibration

The four x16 DDR3 are wired in T-topology. From NXP AN4467:
'Although not required, T-Topologies may also benefit from performing
Write Leveling as there are package delays on both the processor and DDR
devices that can be de-skewed by performing Write Leveling. Therefore,
Freescale recommends determining Write Leveling calibration parameters
for all boards, regardless of topology used.'
That is why write level calibration is also done.

Signed-off-by: Ludwig Zenz <lzenz@dh-electronics.com>
5 years agoARM: imx6: update 1GB DDR3 calibration for DHCOM i.MX6qd PDK
Ludwig Zenz [Mon, 15 Apr 2019 07:31:10 +0000 (09:31 +0200)]
ARM: imx6: update 1GB DDR3 calibration for DHCOM i.MX6qd PDK

The existing calibration values were found to be incorrect
in comparison to newly determined values.

The new values were generated with the help of 5 boards. They have
been determined with the NXP Utility 'DDR Stress Test (2.9.0)'.

Signed-off-by: Ludwig Zenz <lzenz@dh-electronics.com>
5 years agoimx: add lowlevel init for ARM64
Peng Fan [Mon, 15 Apr 2019 05:20:43 +0000 (05:20 +0000)]
imx: add lowlevel init for ARM64

Sometimes we met SERROR, but only to catch it when Linux boots up.
Let's enable catching in U-Boot to catch it ealier and ease debug.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoARM: imx: Fix typo in select option for ZMX25
Chris Packham [Sat, 13 Apr 2019 08:21:48 +0000 (20:21 +1200)]
ARM: imx: Fix typo in select option for ZMX25

Correct CPU_ARM926EJS1 to CPU_ARM926EJS.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agowarp7: Fix dfu_alt_info setting after DM conversion
Pierre-Jean Texier [Fri, 12 Apr 2019 20:36:36 +0000 (22:36 +0200)]
warp7: Fix dfu_alt_info setting after DM conversion

After DM conversion, U-Boot is larger than 512 KiB, so we need to increase
the "size" of the dfu_alt_info setting.

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Acked-by: Joris Offouga <offougajoris@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agodts: imx6ull: add USB aliases to support DM
Filip Brozovic [Fri, 12 Apr 2019 09:59:55 +0000 (11:59 +0200)]
dts: imx6ull: add USB aliases to support DM

Signed-off-by: Filip Brozovic <fbrozovic@gmail.com>
5 years agoimx8qxp_mek: drop warning due to unused variable
Stefano Babic [Thu, 25 Apr 2019 14:25:03 +0000 (16:25 +0200)]
imx8qxp_mek: drop warning due to unused variable

Signed-off-by: Stefano Babic <sbabic@denx.de>
5 years agopico-imx7d: Increase u-boot size for dfu request
Joris Offouga [Thu, 4 Apr 2019 12:00:56 +0000 (14:00 +0200)]
pico-imx7d: Increase u-boot size for dfu request

After DM conversion, the size of U-Boot binary to increase.
Previous size is 480K after DM Conversion the new size is 557K
So it's necessary to increase the dfu request for store u-boot-dtb.img in eMMC.

Signed-off-by: Joris Offouga <offougajoris@gmail.com>
5 years agopico-imx7d: Convert DM MMC
Joris Offouga [Thu, 4 Apr 2019 12:00:55 +0000 (14:00 +0200)]
pico-imx7d: Convert DM MMC

This patch enable convert DM MMC for imx7d-pico board and variant.

Before the DM conversion only usdhc3 was enabled and therefore it appeared
as MMC 0 to u-boot. After enabling MMC DM though usdhc3 defaults to MMC 2,
which left unattended would drive changes to existing pico-pi bootscripts and
environment variables that rely on mmc 0.

Setup the alias of mmc0 and usdhc3 so that existing pico-imx7d boot code will
work unmodified.

When converting to DM_MMC it is necessary that SPL initializes eMMC
by itself, so move the original eMMC initialization from U-Boot
proper to SPL.

Signed-off-by: Joris Offouga <offougajoris@gmail.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
5 years agoboard: toradex: tdx-cfg-block: add new skus
Marcel Ziswiler [Tue, 9 Apr 2019 15:25:33 +0000 (17:25 +0200)]
board: toradex: tdx-cfg-block: add new skus

Add all the latest new SKUs:
- Apalis iMX8 QuadXPlus 2GB Wi-Fi / BT IT
- Apalis iMX8 QuadMax 4GB IT
- Apalis iMX8 QuadPlus 2GB Wi-Fi / BT
- Apalis iMX8 QuadPlus 2GB",
- Colibri iMX8 QuadXPlus 2GB IT
- Colibri iMX8 DualX 1GB Wi-Fi / Bluetooth
- Colibri iMX8 DualX 1GB

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agopico-imx7d: defconfig Enable DM gpio pinctrl and pinctrl_imx7
Joris Offouga [Thu, 4 Apr 2019 12:00:54 +0000 (14:00 +0200)]
pico-imx7d: defconfig Enable DM gpio pinctrl and pinctrl_imx7

This patch is necessary for convert this board to dm driver model

DM GPIO requires gpio_request() to be called explicitly before
doing any gpio operation

Signed-off-by: Joris Offouga <offougajoris@gmail.com>
5 years agoboard: toradex: tdx-cfg-block: clean-up sku handling
Marcel Ziswiler [Tue, 9 Apr 2019 15:25:32 +0000 (17:25 +0200)]
board: toradex: tdx-cfg-block: clean-up sku handling

Clean-up handling of several SKUs.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agopico-imx7d: defconfig: Add DT file hooks
Joris Offouga [Thu, 4 Apr 2019 12:00:53 +0000 (14:00 +0200)]
pico-imx7d: defconfig: Add DT file hooks

This patch adds DT file hooks for Pico i.MX7D SOM and variant boards

Signed-off-by: Joris Offouga <offougajoris@gmail.com>
5 years agoarm: dts: imx8dx: add lpuart1, lpuart2, lpuart3
Marcel Ziswiler [Tue, 9 Apr 2019 15:25:31 +0000 (17:25 +0200)]
arm: dts: imx8dx: add lpuart1, lpuart2, lpuart3

Add support for lpuart1, lpuart2 and lpuart3.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agomisc: imx8: remove duplicates from scfw api
Marcel Ziswiler [Tue, 9 Apr 2019 15:25:30 +0000 (17:25 +0200)]
misc: imx8: remove duplicates from scfw api

Remove duplicate function declarations from the SCFW API header file.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoArm: imx7d-pico: Import all Linux device tree for Pico i.MX7D SOM
Joris Offouga [Thu, 4 Apr 2019 12:00:52 +0000 (14:00 +0200)]
Arm: imx7d-pico: Import all Linux device tree for Pico i.MX7D SOM

This patch imports the Linux kernel base board imx7d-pico.dtsi,
pi board imx7d-pico-pi.dts and hobbit board imx7d-pico-hobbit.dts
from Linux v5.1-rc1.

Signed-off-by: Joris Offouga <offougajoris@gmail.com>
5 years agoARM: dts: colibri-imx6ull: fix uart-has-rtscts property
Marcel Ziswiler [Tue, 9 Apr 2019 15:24:18 +0000 (17:24 +0200)]
ARM: dts: colibri-imx6ull: fix uart-has-rtscts property

Remove vendor pre-fix fsl, from uart-has-rtscts property.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri-imx6ull: migrate fec to using driver model
Marcel Ziswiler [Tue, 9 Apr 2019 15:24:17 +0000 (17:24 +0200)]
colibri-imx6ull: migrate fec to using driver model

Migrate Ethernet FEC to using driver model.
Drop PHY_MICREL_KSZ90X1 which slipped in from Apalis iMX6.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri-imx6ull: migrate usb to using driver model
Marcel Ziswiler [Tue, 9 Apr 2019 15:24:16 +0000 (17:24 +0200)]
colibri-imx6ull: migrate usb to using driver model

Migrate USB to using driver model.
Add USBH_PEN GPIO regulator.
While at it also add alias e.g. as required for UMS.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri-imx6ull: migrate mmc to using driver model
Marcel Ziswiler [Tue, 9 Apr 2019 15:24:15 +0000 (17:24 +0200)]
colibri-imx6ull: migrate mmc to using driver model

Migrate MMC to using driver model.
Migrate USDHC to using pinctrl.
While at it also add GPIO1_IO03__OSC32K_32K_OUT pin muxing.
While at it also update copyright period.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri-imx6ull: migrate pinctrl and regulators to dtb/dm
Marcel Ziswiler [Tue, 9 Apr 2019 15:24:14 +0000 (17:24 +0200)]
colibri-imx6ull: migrate pinctrl and regulators to dtb/dm

Migrate pinctrl and regulators to device tree resp. driver model:
Ethernet, NAND and UART.
Drop BOARD_EARLY_INIT_F as it is anyway no longer used.
Enable CMD_DM, CMD_MTD, CMD_REGULATOR and DM_REGULATOR_FIXED.
While at it also update copyright period.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri-imx6ull: configuration clean-up
Marcel Ziswiler [Tue, 9 Apr 2019 15:24:13 +0000 (17:24 +0200)]
colibri-imx6ull: configuration clean-up

Drop disabling SPL_SYS_THUMB_BUILD as we anyway do not use SPL.
Enbale CRC32 verify, USB SDP and EFI loader support.
Drop CMD_GPT and disabling RANDOM_UUID.
Do savedefconfig which drops USB_FUNCTION_SDP.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoboard: imx6ull: Add disable PMIC_STBY_REQ
Philippe Schenker [Tue, 9 Apr 2019 15:24:12 +0000 (17:24 +0200)]
board: imx6ull: Add disable PMIC_STBY_REQ

Disable output driver of PAD CCM_PMIC_STBY_REQ. This prevents the
SOC to request for a lower voltage during sleep. This is necessary
because the voltage is changing too slow for the SOC to wake up
properly.

Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri-imx6ull: fix ethernet phy power on
Marcel Ziswiler [Tue, 9 Apr 2019 15:24:11 +0000 (17:24 +0200)]
colibri-imx6ull: fix ethernet phy power on

Just give the new Ethernet PHY power save mode circuitry time to settle.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoapalis/colibri_imx6/imx6ull: make sure loadaddr does not collide
Stefan Agner [Tue, 9 Apr 2019 15:24:10 +0000 (17:24 +0200)]
apalis/colibri_imx6/imx6ull: make sure loadaddr does not collide

Currently $loadaddr and $fdt_addr_r point to the same address. This
might be not ideal for some distro boot scripts which make use of
$loadaddr after loading the device tree.

Make sure the two variables point to two different addresses. Moving
$loadaddr is not entirly trivial since it is defined in mx6_common.h.
Move $fdt_addr_r and $ramdisk_addr_r by 1MiB, which should be enough
for scripts.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri-imx6ull: set module variant depending on config block
Stefan Agner [Tue, 9 Apr 2019 15:24:09 +0000 (17:24 +0200)]
colibri-imx6ull: set module variant depending on config block

Using CPU temperature grading as a discriminator if the Wi-Fi /
Bluetooth chip is populated is no longer possible due to upcoming
SKUs. Set variant to -wifi only if a valid config block is present
and the product id mentions a SKU with Wi-Fi / Bluetooth.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agotdx-cfg-block: simplify i.MX 6 module detection
Stefan Agner [Tue, 9 Apr 2019 15:24:08 +0000 (17:24 +0200)]
tdx-cfg-block: simplify i.MX 6 module detection

Use CONFIG_TARGET_... at compile time to differentiate between
Apalis iMX6, Colibri iMX6 and Colibri iMX6ULL. Avoid code
duplication by moving question about Wi-Fi / Bluetooth before
IT/non-IT decision.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agotdx-cfg-block: add support for new colibri iMX6ull skus
Gerard Salvatella [Tue, 9 Apr 2019 15:24:07 +0000 (17:24 +0200)]
tdx-cfg-block: add support for new colibri iMX6ull skus

Add support for new Colibri iMX6ULL SKUs.

While at it also checkpatch fix the whole files.

Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri_vf: fix tab vs. spaces
Marcel Ziswiler [Thu, 28 Mar 2019 22:25:15 +0000 (23:25 +0100)]
colibri_vf: fix tab vs. spaces

Fix indentation using tab vs. spaces.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri_vf: fix ethernet by adding explicit phy node
Marcel Ziswiler [Thu, 28 Mar 2019 22:24:50 +0000 (23:24 +0100)]
colibri_vf: fix ethernet by adding explicit phy node

The implicit fallback mechanism for searching the whole MDIO bus for at
least one PHY has been gone with the following commit b882005a18de
("drivers/net/fec: phy_init: remove redundant logic"). This lead to the
Ethernet driver erroring out as follows:

Net:   Could not get PHY for FEC0: addr -19
eth-1: fec@400d1000
Colibri VFxx # dhcp
Could not get PHY for FEC0: addr -19
Could not get PHY for FEC0: addr -19
Could not get PHY for FEC0: addr -19
Could not get PHY for FEC0: addr -19
No ethernet found.
Could not get PHY for FEC0: addr -19
Colibri VFxx #

This commit adds an explicit PHY node which makes it work again.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoimx: support i.MX8QM MEK board
Peng Fan [Tue, 5 Mar 2019 02:32:49 +0000 (02:32 +0000)]
imx: support i.MX8QM MEK board

Add i.MX8QM MEK board support.
Included a basic dts, enabled SPL FIT

Boot log as below:
U-Boot SPL 2019.01-rc1-00029-gf002213219 (Dec 24 2018 - 10:28:30 +0800)
Normal Boot
Trying to boot from MMC2_2

U-Boot 2019.01-rc1-00029-gf002213219 (Dec 24 2018 - 10:28:30 +0800)

CPU:   NXP i.MX8QM RevB A53 at 142933 MHz

Model: Freescale i.MX8QM MEK
Board: iMX8QM MEK
Build: SCFW 9330215b
Boot:  SD1
DRAM:  6 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial@5a060000
Out:   serial@5a060000
Err:   serial@5a060000
Net:
Error: ethernet@5b040000 address not set.
eth-1: ethernet@5b040000
Hit any key to stop autoboot:  0

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agomisc: imx8: scu: add i.MX8QM support
Peng Fan [Tue, 5 Mar 2019 02:32:45 +0000 (02:32 +0000)]
misc: imx8: scu: add i.MX8QM support

According to IMX8QXP/8QM config option, choose the clk/iomuxc
compatible.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx8: imx8-pins: add i.MX8QM
Peng Fan [Tue, 5 Mar 2019 02:32:39 +0000 (02:32 +0000)]
imx8: imx8-pins: add i.MX8QM

Add i.MX8QM entry

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoclk: imx8: add i.MX8QM clk driver
Peng Fan [Tue, 5 Mar 2019 02:32:35 +0000 (02:32 +0000)]
clk: imx8: add i.MX8QM clk driver

Add i.MX8QM clk driver, SDHC/FEC/UART/I2C supported.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoclk: imx8: split code into common and soc specific part
Peng Fan [Tue, 5 Mar 2019 02:32:33 +0000 (02:32 +0000)]
clk: imx8: split code into common and soc specific part

To make it easy to add new clk driver for i.MX8, split
the code into common part and SoC specific part.

Make the get/set/enable non static and introduce a num_clks for
soc_clk_dump, because the arrays are moved to clk-imx8qxp.c.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx8: add cpu support
Peng Fan [Tue, 5 Mar 2019 02:32:28 +0000 (02:32 +0000)]
imx8: add cpu support

Add cpu type and Kconfig entry

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoarm: dts: introduce dtsi for i.MX8QM
Peng Fan [Tue, 5 Mar 2019 02:32:25 +0000 (02:32 +0000)]
arm: dts: introduce dtsi for i.MX8QM

Introduce basic dtsi for i.MX8QM, only support SDHC/FEC/LPUART.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agodt-bindings: clock: dt-bindings: pinctrl: add i.MX8QM clocks definition
Peng Fan [Tue, 5 Mar 2019 02:32:21 +0000 (02:32 +0000)]
dt-bindings: clock: dt-bindings: pinctrl: add i.MX8QM clocks definition

Add i.MX8QM clocks definition

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agodt-bindings: pinctrl: add i.MX8QM pads definition
Peng Fan [Tue, 5 Mar 2019 02:32:17 +0000 (02:32 +0000)]
dt-bindings: pinctrl: add i.MX8QM pads definition

Add i.MX8QM pads definition

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agopinctrl: imx8: add i.MX8QM compatible
Peng Fan [Tue, 5 Mar 2019 02:32:13 +0000 (02:32 +0000)]
pinctrl: imx8: add i.MX8QM compatible

Add i.MX8QM compatible

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoboot.src: Provide dsa_core.blacklist bootarg when booting via NFS
Lukasz Majewski [Thu, 4 Apr 2019 10:26:56 +0000 (12:26 +0200)]
boot.src: Provide dsa_core.blacklist bootarg when booting via NFS

This setup is a bit special as Linux kernel (4.19) is not supporting
in-kernel NFS rootfs mount and Distributed Switch Architecture (DSA)
operation.

For that reason it was necessary to provide a bootarg to allow userspace
enable it afterwards if needed.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoConvert CONFIG_USB_EHCI_MX5 to Kconfig
Lukasz Majewski [Thu, 4 Apr 2019 10:26:55 +0000 (12:26 +0200)]
Convert CONFIG_USB_EHCI_MX5 to Kconfig

This converts the following to Kconfig:
   CONFIG_USB_EHCI_MX5

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoARM: config: Remove not needed CONFIG_MXC_USB_PORT define
Lukasz Majewski [Thu, 4 Apr 2019 10:26:54 +0000 (12:26 +0200)]
ARM: config: Remove not needed CONFIG_MXC_USB_PORT define

After i.MX5's EHCI conversion to DM, the CONFIG_MXC_USB_PORT is not needed
anymore and should be removed.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoARM: defconfig: kp_imx53: Enable DM_USB support on HSC|DDC boards
Lukasz Majewski [Thu, 4 Apr 2019 10:26:53 +0000 (12:26 +0200)]
ARM: defconfig: kp_imx53: Enable DM_USB support on HSC|DDC boards

This commit enables the DM_USB on HSC|DDC i.MX53 based boards.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoUSB: DM: Convert i.MX5 ehci code to driver model
Lukasz Majewski [Thu, 4 Apr 2019 10:26:52 +0000 (12:26 +0200)]
USB: DM: Convert i.MX5 ehci code to driver model

This commit converts i.MX5's EHCI USB host driver to driver model (DM_USB).
It is a straightforward conversion (to reuse as much code as possible),
based on ehci-mx6.c code.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoARM: Remove EHCI specific code from HSC|DDC board file
Lukasz Majewski [Thu, 4 Apr 2019 10:26:51 +0000 (12:26 +0200)]
ARM: Remove EHCI specific code from HSC|DDC board file

As EHCI on i.MX5 has been converted to driver model, the board specific
code, necessary for VBUS USB power supply setup is not needed anymore.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoDTS: Enable USB host support (including regulators) on HSC|DDC boards
Lukasz Majewski [Thu, 4 Apr 2019 10:26:50 +0000 (12:26 +0200)]
DTS: Enable USB host support (including regulators) on HSC|DDC boards

This commit enables the support for K&P's HSC|DDC imx53 based boards.
It was also necessary to provide device tree description for regulators
to avoid board specific code definition.

The GPIO pin description responsible for VBUS control has been moved from
"hog" group to usbh1 dedicated one.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoDTS: Provide USB host DTS description for i.MX53 devices
Lukasz Majewski [Thu, 4 Apr 2019 10:26:49 +0000 (12:26 +0200)]
DTS: Provide USB host DTS description for i.MX53 devices

This code has been ported from Linux kernel - tag v5.1-rc2.
The difference from the kernel is the removal of:
fsl,usbmisc = <&usbmisc 1>;
fsl,usbphy = <&usbphy1>;

properties, which are not needed for correct u-boot operation (as PHY
setup is done in ehci-mx5.c file itself).

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoARM: kp_imx53: config: Do not use ${boardtype} to setup update wic file
Lukasz Majewski [Thu, 4 Apr 2019 10:26:48 +0000 (12:26 +0200)]
ARM: kp_imx53: config: Do not use ${boardtype} to setup update wic file

After unification of the rootfs for both HSC and DDC devices, only one,
common wic file is necessary - without the distinction of specific board.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoARM: Remove non DM/DTS esdhc3 code from HSC|DDC board related files
Lukasz Majewski [Thu, 4 Apr 2019 10:26:47 +0000 (12:26 +0200)]
ARM: Remove non DM/DTS esdhc3 code from HSC|DDC board related files

After switching to DM/DTS support of esdhc3 - the code in this patch
can be removed.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoARM: defconfig: Move CONFIG_FSL_ESDHC to Kconfig
Lukasz Majewski [Thu, 4 Apr 2019 10:26:46 +0000 (12:26 +0200)]
ARM: defconfig: Move CONFIG_FSL_ESDHC to Kconfig

The CONFIG_FSL_ESDHC is now enabled and defined in Kconfig, not in
include/configs/kp_imx53.h

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoARM: Enable CONFIG_DM_MMC and CONFIG_DM_BLK on HSC and DDC boards
Lukasz Majewski [Thu, 4 Apr 2019 10:26:45 +0000 (12:26 +0200)]
ARM: Enable CONFIG_DM_MMC and CONFIG_DM_BLK on HSC and DDC boards

This commit enables DM_MMC and DM_BLK on imx53 based HSC and DDC boards.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoDTS: Add esdhc3 device tree description tuning for HSC|DDC boards
Lukasz Majewski [Thu, 4 Apr 2019 10:26:44 +0000 (12:26 +0200)]
DTS: Add esdhc3 device tree description tuning for HSC|DDC boards

In this commit the esdhc3 controller is enabled as well as it is remaped
to mmc0 to not break legacy code.

The pinctrl setup (e.g. 0x1e4) is the same as one from in-board file
definition.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoARM: Remove HSC|DDC ETH PHY reset code after switching to DM/DTS
Lukasz Majewski [Thu, 4 Apr 2019 10:26:43 +0000 (12:26 +0200)]
ARM: Remove HSC|DDC ETH PHY reset code after switching to DM/DTS

After commit efd0b791069a ("eth: dm: fec: Add gpio phy reset binding")
the in-board file definition of ETH PHY reset can be removed.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoimx8qxp: mek: enable dm-spl for pm
Peng Fan [Thu, 7 Mar 2019 12:43:37 +0000 (12:43 +0000)]
imx8qxp: mek: enable dm-spl for pm

with u-boot,dm-spl added for imx8qx-pm node, and SPL_SIMPLE_BUS enabled,
the bind and probe code in board file could be removed.

Also we need to enlarge SYS_MALLOC_F_LEN to avoid calloc fail.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoARM: omap3_logic: Enable UUID
Adam Ford [Thu, 11 Apr 2019 20:24:33 +0000 (15:24 -0500)]
ARM: omap3_logic: Enable UUID

Instead of hardcoding the mmcroot to /dev/mmcblkX, use the UUID
method.

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoARM: imx6q_logic: Allow storing environment in FAT on eMMC
Adam Ford [Thu, 11 Apr 2019 18:44:59 +0000 (13:44 -0500)]
ARM: imx6q_logic: Allow storing environment in FAT on eMMC

Some variations of the imx6q_logic board have eMMC instead of
NAND.  Rather than creating a separate defconfig, this patch
adds the ability to read/write to eMMC (mmc 0:1) when NAND
doesn't exist.

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoARM: imx6q_logic: Allow optional arguments to cmd line
Adam Ford [Thu, 11 Apr 2019 18:46:09 +0000 (13:46 -0500)]
ARM: imx6q_logic: Allow optional arguments to cmd line

This adds an extra, optional environmental variable called
'optargs' which if enabled allow additional parameters to be
passed to the kernel (ie, quiet, cma=128M, etc.)
Each script that setups the bootargs will just append this.

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoimx8: mek: move HUSH_PARSER to defconfig
Peng Fan [Fri, 12 Apr 2019 07:55:12 +0000 (07:55 +0000)]
imx8: mek: move HUSH_PARSER to defconfig

Move HUSH_PARSER to defconfig, otherwise meet
"
=> run netboot
Booting from net ...
Unknown command 'if' - try 'help'
Unknown command 'then' - try 'help'
Unknown command 'else' - try 'help'
Unknown command 'fi' - try 'help'
Unknown command '0x80280000' - try 'help'
Unknown command 'if' - try 'help'
Unknown command 'then' - try 'help'
Unknown command 'then' - try 'help'
Unknown command 'else' - try 'help'
Unknown command 'fi' - try 'help'
Unknown command 'else' - try 'help'
Unknown command 'fi' - try 'help'
"

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx8qxp: mek: Enable CMD_FUSE
Peng Fan [Fri, 12 Apr 2019 07:54:57 +0000 (07:54 +0000)]
imx8qxp: mek: Enable CMD_FUSE

Enable CMD_FUSE for i.MX8QXP MEK

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx8: fuse: add fuse driver
Peng Fan [Fri, 12 Apr 2019 07:54:54 +0000 (07:54 +0000)]
imx8: fuse: add fuse driver

Add fuse write for i.MX8

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx: sip: add call_imx_sip_ret2
Peng Fan [Fri, 12 Apr 2019 07:54:50 +0000 (07:54 +0000)]
imx: sip: add call_imx_sip_ret2

This function will be used by i.MX8 fuse driver.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoMerge branch '2019-04-22-master-imports'
Tom Rini [Wed, 24 Apr 2019 13:04:23 +0000 (09:04 -0400)]
Merge branch '2019-04-22-master-imports'

- Add and enable brcmnand driver on a number of relevant platforms.
  Also add and enable LED drivers on more bcm platforms.
- Various ARMv8 fixes/improvements, including extending PSCI
  functionality.
- fs_loader improvments
- Various FIT/SPL improvements
- PCI bugfixes
- Poplar platform ethernet support
- MediaTek MMC improvements
- Android boot improvements

5 years agoimage: android: fix 'iminfo' typo
Eugeniu Rosca [Mon, 8 Apr 2019 15:35:28 +0000 (17:35 +0200)]
image: android: fix 'iminfo' typo

Fix below CP warning triggered by the 'iminfo' output in another patch:
WARNING: 'addrress' may be misspelled - perhaps 'address'?

Fixes: 4f1318b29c7a20 ("common: image: minimal android image iminfo support")
Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
Acked-by: Marek Vasut <marek.vasut@gmail.com>
5 years agoimage: android: allow booting lz4-compressed kernels
Eugeniu Rosca [Mon, 8 Apr 2019 15:35:27 +0000 (17:35 +0200)]
image: android: allow booting lz4-compressed kernels

According to Android image format [1], kernel image resides at 1 page
offset from the boot image address. Grab the magic number from there
and allow U-Boot to handle LZ4-compressed KNL binaries instead of
hardcoding compression type to IH_COMP_NONE. Other compression types,
if needed, can be added later.

Tested on H3ULCB-KF using the image detailed in [2].

[1] Excerpt from include/android_image.h
    +-----------------+
    | boot header     | 1 page
    +-----------------+
    | kernel          | n pages
    +-----------------+
    | ramdisk         | m pages
    +-----------------+
    | second stage    | o pages
    +-----------------+

[2] => iminfo 4c000000
    ## Checking Image at 4c000000 ...
    Android image found
    kernel size:      85b9d1
    kernel address:   48080000
    ramdisk size:     54ddbc
    ramdisk addrress: 4a180000
    second size:      0
    second address:   48000800
    tags address:     48000100
    page size:        800
    os_version:       1200012a (ver: 0.9.0, level: 2018.10)
    name:
    cmdline:          buildvariant=userdebug

Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
5 years agotest: env: Enable env unit tests by default
Heinrich Schuchardt [Sun, 7 Apr 2019 15:57:40 +0000 (17:57 +0200)]
test: env: Enable env unit tests by default

If CONFIG_UNIT_TEST is enabled we should enable the individual tests by
default to ensure good test coverage.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoARMv8: PSCI: Fix PSCI_TABLE relocation issue
Lars Povlsen [Thu, 4 Apr 2019 12:38:50 +0000 (14:38 +0200)]
ARMv8: PSCI: Fix PSCI_TABLE relocation issue

This fixes relaction isses with the PSCI_TABLE entries in
the psci_32_table and psci_64_table.

When using 32-bit adress pointers relocation was not being applied to
the tables, causing PSCI handlers to point to the un-relocated code
area. By using 64-bit data relocation is properly applied. The
handlers are thus in the "secure data" area, which is protected by
/memreserve/ in the FDT.

Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
5 years agobootm: Simplying cache flush code
Trent Piepho [Wed, 27 Mar 2019 23:50:09 +0000 (23:50 +0000)]
bootm: Simplying cache flush code

The cache flush of the kernel load area needs to be aligned outward to
the DMA cache alignment.  The operations are simpler if we think of this
as aligning the start down, ALIGN_DOWN(load, ARCH_DMA_MINALIGN), and
aligning the end up, ALIGN(load_end, ARCH_DMA_MINALIGN), and then find
the length of the flushed region by subtracting the former from the
latter.

Cc: Tom Rini <trini@konsulko.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Trent Piepho <tpiepho@impinj.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agomalloc: Fix memalign not honoring alignment prior to full malloc init
Andreas Dannenberg [Wed, 27 Mar 2019 18:17:26 +0000 (13:17 -0500)]
malloc: Fix memalign not honoring alignment prior to full malloc init

When using memalign() in a scenario where U-Boot is configured for full
malloc support with simple malloc not explicitly enabled and before the
full malloc support is initialized, a memory block is being allocated
and returned without the alignment parameter getting honored.

Fix this issue by replacing the existing memalign pre-full malloc init
logic with a call to memalign_simple() this way ensuring proper alignment
of the returned memory block.

Fixes: ee038c58d519 ("malloc: Use malloc simple before malloc is fully initialized in memalign()")
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
5 years agospl: spl_nand.c: Add NAND loading message
Stefan Roese [Tue, 26 Mar 2019 12:04:00 +0000 (13:04 +0100)]
spl: spl_nand.c: Add NAND loading message

This patch adds a short message to the SPL NAND loader, which displays
the source and destinations addresses including the size of the
loaded image, like this:

U-Boot SPL 2019.04-rc3-00113-g486efd8aaf (Mar 15 2019 - 14:18:02 +0100)
Trying to boot from NAND
Loading U-Boot from 0x00040000 (size 0x000a0000) to 0x22900000

I find this message quite helpful - hopefully others do so as well.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Cc: Tom Rini <trini@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
5 years agoARM: MediaTek: Add support for MT8516 SoC
Fabien Parent [Sun, 24 Mar 2019 15:46:38 +0000 (16:46 +0100)]
ARM: MediaTek: Add support for MT8516 SoC

Add support for MediaTek MT8516 SoC. This include the file
that will initialize the SoC after boot and its device tree.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
5 years agopinctrl: add driver for MT8516
Fabien Parent [Sun, 24 Mar 2019 15:46:37 +0000 (16:46 +0100)]
pinctrl: add driver for MT8516

Add Pinctrl driver for MediaTek MT8516 SoC.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Acked-by: Ryder Lee <ryder.lee@mediatek.com>
5 years agoclk: mediatek: add driver for MT8516
Fabien Parent [Sun, 24 Mar 2019 15:46:36 +0000 (16:46 +0100)]
clk: mediatek: add driver for MT8516

Add clock driver for MediaTek MT8516 SoC.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Acked-by: Ryder Lee <ryder.lee@mediatek.com>
[trini: Redo whitespace]
Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoclk: mediatek: add support for SETCLR_INV and NO_SETCLR flags
Fabien Parent [Sun, 24 Mar 2019 15:46:35 +0000 (16:46 +0100)]
clk: mediatek: add support for SETCLR_INV and NO_SETCLR flags

Add the implementation for the CLK_GATE_SETCLR_INV and
CLK_GATE_NO_SETCLR flags.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Acked-by: Ryder Lee <ryder.lee@mediatek.com>
5 years agommc: mtk-sd: fix configuration option check
Fabien Parent [Sun, 24 Mar 2019 15:46:34 +0000 (16:46 +0100)]
mmc: mtk-sd: fix configuration option check

We either need to use IS_ENABLED(CONFIG_FOO) or CONFIG_IS_ENABLED(FOO).
IS_ENABLE(FOO) will always return false.

This commit fixes the comparison by using the CONFIG_IS_ENABLED(FOO)
syntax.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
5 years agommc: mtk-sd: add support for MT8516
Fabien Parent [Sun, 24 Mar 2019 15:46:33 +0000 (16:46 +0100)]
mmc: mtk-sd: add support for MT8516

Add config for handling MT8516 SoC.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Acked-by: Ryder Lee <ryder.lee@mediatek.com>
5 years agommc: mtk-sd: add source_cg clock support
Fabien Parent [Sun, 24 Mar 2019 15:46:32 +0000 (16:46 +0100)]
mmc: mtk-sd: add source_cg clock support

Some MediaTek SoC need an additional clock "source_cg". Enable
this new clock. We reuse the same clock name as in the kernel.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Acked-by: Ryder Lee <ryder.lee@mediatek.com>
5 years agopoplar: enable Ethernet driver support
Shawn Guo [Wed, 20 Mar 2019 07:32:41 +0000 (15:32 +0800)]
poplar: enable Ethernet driver support

The 'phy' reset of gmac device in kernel device tree is not generic
enough for u-boot to use, so we need to overwrite the 'resets' property
as needed.  With this device tree fixup and poplar_defconfig changes,
Ethernet starts working on Poplar board.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agonet: add higmacv300 Ethernet driver for HiSilicon platform
Shawn Guo [Wed, 20 Mar 2019 07:32:40 +0000 (15:32 +0800)]
net: add higmacv300 Ethernet driver for HiSilicon platform

It adds the driver for HIGMACV300 Ethernet controller found on HiSilicon
SoCs like Hi3798CV200.  It's based on a downstream U-Boot driver, but
quite a lot of code gets rewritten and cleaned up to adopt driver model
and PHY API.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoreset: add reset driver for HiSilicon platform
Shawn Guo [Wed, 20 Mar 2019 07:32:39 +0000 (15:32 +0800)]
reset: add reset driver for HiSilicon platform

It adds a Driver Model compatible reset driver for HiSlicon platform.
The driver implements a custom .of_xlate function, and uses .data field
as reset register offset and .id field as bit shift.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoreset: add polarity field into struct reset_ctl
Shawn Guo [Wed, 20 Mar 2019 07:32:38 +0000 (15:32 +0800)]
reset: add polarity field into struct reset_ctl

Some reset controllers support different polarities for reset operation,
so let's add a polarity field into struct reset_ctl.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agopci: Scale MAX_PCI_REGIONS based on CONFIG_NR_DRAM_BANKS
Thierry Reding [Fri, 15 Mar 2019 15:32:33 +0000 (16:32 +0100)]
pci: Scale MAX_PCI_REGIONS based on CONFIG_NR_DRAM_BANKS

If a platform defines CONFIG_NR_DRAM_BANKS, each DRAM bank will be added
as a PCI region. The number of MAX_PCI_REGIONS therefore needs to scale
with the number of DRAM banks, otherwise we will end up with too little
space in the hose->regions array to store all system memory regions.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agopci: Add boundary check for hose->regions
Thierry Reding [Fri, 15 Mar 2019 15:32:32 +0000 (16:32 +0100)]
pci: Add boundary check for hose->regions

Make sure that we don't overflow the hose->regions array, otherwise we
would end up overwriting the hose->region_count field and cause mayhem
to ensue. Also print an error message when we'd be overflowing because
it indicates that there aren't enough regions available and the number
needs to be increased.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agoARM: da850evm: Remove legacy MMC code
Adam Ford [Fri, 15 Mar 2019 19:29:20 +0000 (14:29 -0500)]
ARM: da850evm: Remove legacy MMC code

With the migration to DM in SPL and the DT support, the
old legacy code is no longer neaded, so this patch removes it

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agobcm963158: enable led support
Philippe Reynes [Fri, 22 Mar 2019 16:02:08 +0000 (17:02 +0100)]
bcm963158: enable led support

Enable the led support in the configuration
of the board bcm963158.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agodt: bcm963158: enable led controller
Philippe Reynes [Fri, 22 Mar 2019 16:02:07 +0000 (17:02 +0100)]
dt: bcm963158: enable led controller

Enable the led controller in the device tree
of the board bcm963158.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agodt: bcm63158: add led controller
Philippe Reynes [Fri, 22 Mar 2019 16:02:06 +0000 (17:02 +0100)]
dt: bcm63158: add led controller

Add the led controller in the bcm63158 device tree.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agoled: bcm6858: allow to use this driver on ARCH_963158
Philippe Reynes [Fri, 22 Mar 2019 16:02:05 +0000 (17:02 +0100)]
led: bcm6858: allow to use this driver on ARCH_963158

Allow the led bcm6858 driver to be used on bcm63158.
They have the same led controller.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>