Hi Marek, On Wed, Apr 1, 2020 at 9:42 PM Marek Vasut <marek.va...@gmail.com> wrote:
> @@ -0,0 +1,416 @@ > +// SPDX-License-Identifier: GPL-2.0+ > +/* > + * Copyright 2018 Wandboard, Org. > + * Copyright 2017 NXP > + * > + * Author: Richard Hu <hak...@gmail.com> > + */ > + > +/dts-v1/; > + > +/* First 128KB is for PSCI ATF. */ > +/memreserve/ 0x40000000 0x00020000; Please remove this as it is not part of the official device tree. If you really need it, then add it to the u-boot.dtsi version. I guess this is not needed and I plan to remove it from imx8mq-evk as well.0x0}, > +#include <common.h> > +#include <env.h> > +#include <init.h> > +#include <malloc.h> > +#include <errno.h> > +#include <asm/io.h> > +#include <miiphy.h> > +#include <netdev.h> > +#include <asm/mach-imx/iomux-v3.h> > +#include <asm-generic/gpio.h> > +#include <fsl_esdhc_imx.h> > +#include <mmc.h> > +#include <asm/arch/imx8mq_pins.h> > +#include <asm/arch/sys_proto.h> > +#include <asm/mach-imx/gpio.h> > +#include <asm/mach-imx/mxc_i2c.h> > +#include <asm/arch/clock.h> > +#include <spl.h> > +#include <power/pmic.h> > +#include <power/pfuze100_pmic.h> This include file is not needed as this PMIC is not used on this board. > +static void setup_iomux_fec(void) > +{ > + imx_iomux_v3_setup_multiple_pads(fec1_pads, ARRAY_SIZE(fec1_pads)); > + > + gpio_request(IMX_GPIO_NR(1, 0), "fec1_pwr"); > + gpio_direction_output(IMX_GPIO_NR(1, 0), 1); > + udelay(500); > + > + gpio_request(IMX_GPIO_NR(1, 9), "fec1_rst"); > + gpio_direction_output(IMX_GPIO_NR(1, 9), 0); > + udelay(500); > + gpio_direction_output(IMX_GPIO_NR(1, 9), 1); This should be done via device tree instead of board code. > +int board_late_init(void) > +{ > +#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG > + env_set("board_name", "EVK"); This board is not an EVK ;-) > + printf("%s: LPDDR4 %i GiB\n", __func__, size); > + ddr_init(dram_timing); > + writel(size, M4_BOOTROM_BASE_ADDR); Why is this needed? > + /* Adjust pmic voltage to 1.0V for 800M */ > + setup_i2c(0, CONFIG_SYS_I2C_SPEED, 0x7f, &i2c_pad_info1); The comment does not match the code. > index 0000000000..9193e1f406 > --- /dev/null > +++ b/configs/pico-imx8mq_defconfig > @@ -0,0 +1,49 @@ > +CONFIG_ARM=y > +CONFIG_SPL_SYS_ICACHE_OFF=y > +CONFIG_SPL_SYS_DCACHE_OFF=y Can't we have caches enabled now? I don't recall why we disabled it for i.MX8MQ EVK, but I thought this is no longer an issue. > diff --git a/include/configs/pico-imx8mq.h b/include/configs/pico-imx8mq.h > new file mode 100644 > index 0000000000..0f1c7831e6 > --- /dev/null > +++ b/include/configs/pico-imx8mq.h > @@ -0,0 +1,216 @@ > +/* SPDX-License-Identifier: GPL-2.0+ */ > +/* > + * Copyright 2018 NXP > + */ > + > +#ifndef __IMX8M_EVK_H > +#define __IMX8M_EVK_H This should be adjusted for the pico board name instead of evk. > +#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG > + > +#define CONFIG_POWER > +#define CONFIG_POWER_I2C > +#define CONFIG_POWER_PFUZE100 > +#define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08 This PMIC is not used on this board. > + > +/* ENET Config */ > +/* ENET1 */ > +#if defined(CONFIG_CMD_NET) > +#define CONFIG_CMD_PING > +#define CONFIG_CMD_DHCP > +#define CONFIG_CMD_MII > +#define CONFIG_MII > +#define CONFIG_ETHPRIME "FEC" > + > +#define CONFIG_FEC_MXC This could be moved to defconfig. > +#define CONFIG_FEC_XCV_TYPE RGMII > +#define CONFIG_FEC_MXC_PHYADDR 1 > +#define FEC_QUIRK_ENET_MAC > + > +#define CONFIG_PHY_GIGE > +#define IMX_FEC_BASE 0x30BE0000 Not needed if you use DM. > + > +#define CONFIG_PHYLIB > +#define CONFIG_PHY_ATHEROS > +#endif > + > +/* Initial environment variables */ > +#define CONFIG_EXTRA_ENV_SETTINGS \ > + "script=boot.scr\0" \ > + "image=Image\0" \ > + "console=ttymxc0,115200\0" \ > + "fdt_addr=0x43000000\0" \ > + "fdt_high=0xffffffffffffffff\0" \ > + "boot_fdt=try\0" \ Please remove "boot_fdt". This only made sense when we wanted to supported both dt and non-dt platforms in the beginning of i.MX6 times.