Re: [U-Boot] [EXT] [PATCH v2 2/2] arm: ls1028a: use the new flexspi driver

2019-11-04 Thread Kuldeep Singh
Hi Michael,

> -Original Message-
> From: U-Boot  On Behalf Of Michael Walle
> Sent: Saturday, November 2, 2019 11:56 PM
> To: u-boot@lists.denx.de
> Subject: [EXT] [U-Boot] [PATCH v2 2/2] arm: ls1028a: use the new flexspi
> driver
> 
> Caution: EXT Email
> 
> Also align the fspi node with the kernel one. There is actually no driver 
> which
> would match "nxp,dn-fspi".
> 
> Signed-off-by: Michael Walle 
> ---
> changes since v1:
>  - none
> 
>  arch/arm/dts/fsl-ls1028a.dtsi | 14 --
>  1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm/dts/fsl-ls1028a.dtsi b/arch/arm/dts/fsl-ls1028a.dtsi 
> index
> 43a154e8e7..774e477542 100644
> --- a/arch/arm/dts/fsl-ls1028a.dtsi
> +++ b/arch/arm/dts/fsl-ls1028a.dtsi
> @@ -49,14 +49,16 @@
>  <1 10 0x8>; /* Hypervisor PPI, active-low */
> };
> 
> -   fspi: flexspi@20C {
> -   compatible = "nxp,dn-fspi";
> +   fspi: flexspi@20c {
> +   compatible = "nxp,lx2160a-fspi";
> #address-cells = <1>;
> #size-cells = <0>;
> -   reg = <0x0 0x20C 0x0 0x1>,
> -   <0x0 0x2000 0x0 0x1000>; /*64MB flash*/
> -   reg-names = "FSPI", "FSPI-memory";
> -   num-cs = <1>;
> +   reg = <0x0 0x20c 0x0 0x1>,
> + <0x0 0x2000 0x0 0x1000>;
> +   reg-names = "fspi_base", "fspi_mmap";
> +   clocks = < 4 3>, < 4 3>;
> +   clock-names = "fspi_en", "fspi";
> +   interrupts = <0 25 0x4>;

Please change the interrupts to "" as it avoids 
magic numbers.

Reviewed-by: Kuldeep Singh 

> status = "disabled";
> };
> 
> --
> 2.20.1
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 4/8] riscv: andes_plic: Fix some wrong configurations

2019-11-04 Thread Anup Patel
On Tue, Nov 5, 2019 at 7:19 AM Rick Chen  wrote:
>
> Hi Anup
>
> > > On Thu, Oct 31, 2019 at 1:42 PM Anup Patel  wrote:
> > > >
> > > > On Thu, Oct 31, 2019 at 6:30 AM Alan Kao  wrote:
> > > > >
> > > > > Hi Bin,
> > > > >
> > > > > Thanks for the critics.  Comments below.
> > > > > On Wed, Oct 30, 2019 at 06:38:00PM +0800, Bin Meng wrote:
> > > > > > Hi Rick,
> > > > > >
> > > > > > On Wed, Oct 30, 2019 at 10:50 AM Rick Chen  
> > > > > > wrote:
> > > > > > >
> > > > > > > Hi Bin
> > > > > > >
> > > > > > > >
> > > > > > > > Hi Rick,
> > > > > > > >
> > > > > > > > On Fri, Oct 25, 2019 at 2:18 PM Andes  
> > > > > > > > wrote:
> > > > > > > > >
> > > > > > > > > From: Rick Chen 
> > > > > > > > >
> > > > > > > > > It will work fine due to hart 0 always will be main
> > > > > > > > > hart coincidentally. When develop SPL flow, I try to
> > > > > > > > > force other harts to be main hart. And it will go
> > > > > > > > > wrong in sending IPI flow. So fix it.
> > > > > > > >
> > > > > > > > Fix what? Does this commit contain 2 fixes, or just 1 fix?
> > > > > > >
> > > > > > > Yes, it include two fixs. But they will cause one negative result
> > > > > > > that only hart 0 can send ipi to other harts.
> > > > > > >
> > > > > > > >
> > > > > > > > >
> > > > > > > > > Having this fix, any hart can be main hart in U-Boot SPL
> > > > > > > > > theoretically, but it still fail somewhere. After dig in
> > > > > > > > > and found there is an assumption that hart 0 shall be
> > > > > > > > > main hart in OpenSbi.
> > > > > > > >
> > > > > > > > So does this mean there is a bug in OpenSBI too?
> > > > > > >
> > > > > > > I am not sure if it is a bug. Maybe it is a compatible issue.
> > > > > > > There is a limitation that only hart 0 can be main hart in 
> > > > > > > OpenSBI.
> > > > > >
> > > > > > I don't think OpenSBI has such limitation.
> > > > > >
> > > > >
> > > > > Please check the source.
> > > > > https://github.com/riscv/opensbi/blob/master/firmware/fw_base.S#L54
> > > > >
> > > > > Apparently, the FIRST TWO LINEs of the initialization are the
> > > > > 1. get hart ID.
> > > > > 2. determine which route to take based on their ID respectively.
> > > > >
> > > > > So, I do think OpenSBI has this signature, if you are not willing to 
> > > > > call it
> > > > > a limitation.
> > > >
> > > > This dependency on hart id #0 was not there until we added 
> > > > self-relocation
> > > > in OpenSBI for FW_DYNAMIC.
> > > >
> > > > I will try to fix this in OpenSBI but we might end-up having 
> > > > boot_lottery.
> > >
> > > I have send a patch to fix this OpenSBI:
> > > "[PATCH] firmware: Introduce relocation lottery"
> > >
> > > Can you try above patch and see if that helps ?
> > >
> > > It will be great if you can provide Tested-by to my patch as well.
> > >
> >
>
> I can not find this patch in mailing list.
> Can you provide a hyperlink ?

You can try latest riscv/opensbi master.

I have tested the patch on SiFive Unleashed multiple times.

Regards,
Anup

>
> Thanks
> Rick
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [NXP-IMX] please pull imx-master-11-4

2019-11-04 Thread Peng Fan
Hi Stefano,

Please pull imx-master-11-4. This pull request was based on imx/master commit 
ae8a53ece0ff
CI build pass: https://travis-ci.org/MrVan/u-boot/builds/607065958

This pull request contains patches that you dropped from imx/next since 
blocking CI,
and enabling enet for i.MX8MM.

The CI was blocked because of Kconfig dependency issue, I squashed 
https://patchwork.ozlabs.org/patch/1188733/ into
https://patchwork.ozlabs.org/patch/1162618/

Fabio,
I tried to add your ulp patches, but it not build, so I leave it for now.
Stefano could pick up your v3, or I could help later.


i.MX8MN SoC support
ROM API image download support
i.MX8MM enet enabling


Thanks,
Peng.

The following changes since commit ae8a53ece0ff3b1ed686c3e0af14e59973d25db8:

  imx: nandbcb: add support for writing BCB only (2019-11-03 21:49:49 +0100)

are available in the Git repository at:

  https://github.com/MrVan/u-boot.git imx-master-11-4

for you to fetch changes up to 795f7a18c56da2250079db697d1ee3e130f5bde8:

  imx: imx8mm-evk: enable ethernet (2019-11-04 18:56:15 +0800)


Peng Fan (30):
  imx8qm: mek: enable dm-spl for pm
  arm: dts: imx8qxp-mek: add u-boot, dm-spl for lpuart0
  arm: dts: imx8qm-mek: add u-boot, dm-spl for lpuart0
  misc: imx8: scu: simplify code to make it extendable
  power: domain: make imx8-power-domain.c legacy
  power: domain: add i.MX8 scu power domain driver
  imx: add i.MX8MN kconfig entry
  imx8mn: support get_cpu_rev
  imx8m: add clk support for i.MX8MN
  imx8mn: set BYPASS ID SWAP to avoid AXI bus errors
  imx: add i.MX8MN PE property
  imx8mn: add pin header
  imx: spl: use spl_board_boot_device for i.MX8MN
  imx: add rom api support
  imx: cpu: restrict get_boot_device
  imx8mn: add get_boot_device
  tools: imx8mimage: add ROM VERSION
  pinctrl: imx8m: support i.MX8MN
  tools: imx8m_image: support ddr4 firmware
  clk: imx: add i.MX8MN ccf driver
  imx8m: add i.MX8MN ddr4 image cfg file
  imx: add dtsi for i.MX8MN
  imx: add i.MX8MN DDR4 board support
  imx: imx8m: fix boot when CONFIG_$(SPL_)CLK not defined
  clk: imx8mm: add enet clk
  clk: imx: imx8mm: add set_parent callback
  arm: dts: imx8mm: drop assigned clocks for clk node
  net: Kconfig: FEC: Add dependency on i.MX8M
  net: fec_mxc: support i.MX8M with CLK_CCF
  imx: imx8mm-evk: enable ethernet

 arch/arm/dts/Makefile   |1 +
 arch/arm/dts/fsl-imx8qm-mek-u-boot.dtsi |   13 ++
 arch/arm/dts/fsl-imx8qxp-mek-u-boot.dtsi|8 +
 arch/arm/dts/imx8mm-evk-u-boot.dtsi |7 +
 arch/arm/dts/imx8mm-evk.dts |6 +-
 arch/arm/dts/imx8mn-ddr4-evk-u-boot.dtsi|   92 ++
 arch/arm/dts/imx8mn-ddr4-evk.dts|  221 +++
 arch/arm/dts/imx8mn-pinfunc.h   |  646 
+
 arch/arm/dts/imx8mn.dtsi|  712 
+++
 arch/arm/include/asm/arch-imx/cpu.h |1 +
 arch/arm/include/asm/arch-imx8m/clock.h |2 +-
 arch/arm/include/asm/arch-imx8m/clock_imx8mm.h  |   78 
 arch/arm/include/asm/arch-imx8m/imx8mn_pins.h   |  763 
+
 arch/arm/include/asm/mach-imx/iomux-v3.h|2 +-
 arch/arm/include/asm/mach-imx/sys_proto.h   |   35 
 arch/arm/mach-imx/Kconfig   |4 +
 arch/arm/mach-imx/Makefile  |2 +
 arch/arm/mach-imx/cpu.c |4 +-
 arch/arm/mach-imx/imx8m/Kconfig |   11 ++
 arch/arm/mach-imx/imx8m/Makefile|2 +-
 arch/arm/mach-imx/imx8m/clock_slice.c   |4 +-
 arch/arm/mach-imx/imx8m/imximage-8mn-ddr4.cfg   |   17 ++
 arch/arm/mach-imx/imx8m/soc.c   |   68 ++-
 arch/arm/mach-imx/spl.c |2 +-
 arch/arm/mach-imx/spl_imx_romapi.c  |  292 
++
 board/freescale/imx8mm_evk/imx8mm_evk.c |   37 
 board/freescale/imx8mn_evk/Kconfig  |   14 ++
 board/freescale/imx8mn_evk/MAINTAINERS  |6 +
 board/freescale/imx8mn_evk/Makefile |   12 ++
 board/freescale/imx8mn_evk/ddr4_timing.c| 1214 
++
 board/freescale/imx8mn_evk/imx8mn_evk.c |   29 +++
 board/freescale/imx8mn_evk/spl.c|  123 +
 board/freescale/imx8qm_mek/spl.c|   16 --
 configs/imx8mm_evk_defconfig  

Re: [U-Boot] [PATCH v2 6/6] mx7ulp: Add support for Embedded Artists COM board

2019-11-04 Thread Peng Fan

> Subject: [PATCH v2 6/6] mx7ulp: Add support for Embedded Artists COM
> board

Hi Fabio,

Seems you not add dts files. CI build fail
   arm:  +   mx7ulp_com
+make[3]: *** No rule to make target 'arch/arm/dts/imx7ulp-com.dtb', needed by 
'dtbs'.  Stop.
+make[2]: *** [arch-dtbs] Error 2
+make[1]: *** [dts/dt.dtb] Error 2
+make: *** [sub-make] Error 2

Thanks,
Peng.

> 
> The Embedded Artists COM board is based on NXP i.MX7ULP.
> 
> It has a BD70528 PMIC from Rohm with discrete DCDC powering option and
> improved current observability (compared to the existing NXP i.MX7ULP EVK).
> 
> Add the initial support for the board.
> 
> Signed-off-by: Fabio Estevam 
> ---
> Changes since v1:
> - Lower the DDR frequency inside DCD as it is safer (Ye Li)
> - Drop CONFIG_IMX7ULP_LOWER_DDR_FREQUENCY=y
> 
>  arch/arm/dts/Makefile|   3 +-
>  arch/arm/mach-imx/mx7ulp/Kconfig |   6 ++
>  board/ea/mx7ulp_com/Kconfig  |  12 +++
>  board/ea/mx7ulp_com/MAINTAINERS  |   6 ++
>  board/ea/mx7ulp_com/Makefile |   6 ++
>  board/ea/mx7ulp_com/imximage.cfg | 137
> +++
> board/ea/mx7ulp_com/mx7ulp_com.c |  48 +++
>  configs/mx7ulp_com_defconfig |  58 +
>  include/configs/mx7ulp_com.h | 107 
>  9 files changed, 382 insertions(+), 1 deletion(-)  create mode 100644
> board/ea/mx7ulp_com/Kconfig  create mode 100644
> board/ea/mx7ulp_com/MAINTAINERS  create mode 100644
> board/ea/mx7ulp_com/Makefile  create mode 100644
> board/ea/mx7ulp_com/imximage.cfg  create mode 100644
> board/ea/mx7ulp_com/mx7ulp_com.c  create mode 100644
> configs/mx7ulp_com_defconfig  create mode 100644
> include/configs/mx7ulp_com.h
> 
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index
> 6a7dbb6309..c5c29dbcd0 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -645,7 +645,8 @@ dtb-$(CONFIG_MX7) += imx7d-sdb.dtb \
>   imx7d-pico-hobbit.dtb
> 
> 
> -dtb-$(CONFIG_ARCH_MX7ULP) += imx7ulp-evk.dtb
> +dtb-$(CONFIG_ARCH_MX7ULP) += imx7ulp-com.dtb \
> + imx7ulp-evk.dtb
> 
>  dtb-$(CONFIG_ARCH_IMX8) += \
>   fsl-imx8qm-apalis.dtb \
> diff --git a/arch/arm/mach-imx/mx7ulp/Kconfig
> b/arch/arm/mach-imx/mx7ulp/Kconfig
> index 138c58363f..6680f856c5 100644
> --- a/arch/arm/mach-imx/mx7ulp/Kconfig
> +++ b/arch/arm/mach-imx/mx7ulp/Kconfig
> @@ -15,6 +15,11 @@ choice
>   prompt "MX7ULP board select"
>   optional
> 
> +config TARGET_MX7ULP_COM
> + bool "Support MX7ULP COM board"
> + select MX7ULP
> + select SYS_ARCH_TIMER
> +
>  config TARGET_MX7ULP_EVK
>   bool "Support mx7ulp EVK board"
>   select MX7ULP
> @@ -22,6 +27,7 @@ config TARGET_MX7ULP_EVK
> 
>  endchoice
> 
> +source "board/ea/mx7ulp_com/Kconfig"
>  source "board/freescale/mx7ulp_evk/Kconfig"
> 
>  endif
> diff --git a/board/ea/mx7ulp_com/Kconfig b/board/ea/mx7ulp_com/Kconfig
> new file mode 100644 index 00..90883aced4
> --- /dev/null
> +++ b/board/ea/mx7ulp_com/Kconfig
> @@ -0,0 +1,12 @@
> +if TARGET_MX7ULP_COM
> +
> +config SYS_BOARD
> + default "mx7ulp_com"
> +
> +config SYS_VENDOR
> + default "ea"
> +
> +config SYS_CONFIG_NAME
> + default "mx7ulp_com"
> +
> +endif
> diff --git a/board/ea/mx7ulp_com/MAINTAINERS
> b/board/ea/mx7ulp_com/MAINTAINERS new file mode 100644 index
> 00..3f69511b1a
> --- /dev/null
> +++ b/board/ea/mx7ulp_com/MAINTAINERS
> @@ -0,0 +1,6 @@
> +MX7ULPCOM BOARD
> +M:   Fabio Estevam 
> +S:   Maintained
> +F:   board/ea/mx7ulp_com/
> +F:   include/configs/mx7ulp_com.h
> +F:   configs/mx7ulp_com_defconfig
> diff --git a/board/ea/mx7ulp_com/Makefile
> b/board/ea/mx7ulp_com/Makefile new file mode 100644 index
> 00..b3b230b172
> --- /dev/null
> +++ b/board/ea/mx7ulp_com/Makefile
> @@ -0,0 +1,6 @@
> +# (C) Copyright 2016 Freescale Semiconductor, Inc.
> +#
> +# SPDX-License-Identifier:   GPL-2.0+
> +#
> +
> +obj-y  := mx7ulp_com.o
> diff --git a/board/ea/mx7ulp_com/imximage.cfg
> b/board/ea/mx7ulp_com/imximage.cfg
> new file mode 100644
> index 00..e405d758b5
> --- /dev/null
> +++ b/board/ea/mx7ulp_com/imximage.cfg
> @@ -0,0 +1,137 @@
> +/*
> + * Copyright (C) 2016 Freescale Semiconductor, Inc.
> + *
> + * SPDX-License-Identifier:  GPL-2.0+
> + *
> + * Refer docs/README.imxmage for more details about how-to configure
> + * and create imximage boot image
> + *
> + * The syntax is taken as close as possible with the kwbimage  */
> +
> +#define __ASSEMBLY__
> +#include 
> +
> +/* image version */
> +
> +IMAGE_VERSION 2
> +
> +/*
> + * Boot Device : one of
> + * spi/sd/nand/onenand, qspi/nor
> + */
> +
> +BOOT_FROMsd
> +
> +#ifdef CONFIG_USE_IMXIMG_PLUGIN
> +/*PLUGINplugin-binary-fileIRAM_FREE_START_ADDR*/
> +PLUGIN   board/freescale/mx7ulp_evk/plugin.bin 0x2F02
> +#else
> +
> +#ifdef CONFIG_SECURE_BOOT
> +CSF CONFIG_CSF_SIZE
> +#endif
> +/*
> + * Device Configuration Data (DCD)
> + *
> + * Each entry must have the format:
> + * Addr-type   AddressValue

Re: [U-Boot] [PATCH v3 00/18] misc: Add AVS class 0 support for AM6

2019-11-04 Thread Keerthy



On 24/10/19 3:45 PM, Lokesh Vutla wrote:



On 24/10/19 3:00 PM, Keerthy wrote:

Adaptive Voltage Scaling is a technology used in TI SoCs to optimize
the operating voltage based on characterization data written to efuse
during production.

Add support for Adaptive Voltage scaling class 0 support
for AM6 family of devices. Adaptive voltage scaling class 0
implies that optimized voltage values for a particular OPP
of a particular voltage domain are read from Efuse and programmed
on the pmic/regulator.

Tested on AM654-EVM for MPU @800 MHz.
Tested on J721e-evm for MPU.


For the entire series:

Reviewed-by: Lokesh Vutla 

Thanks and regards,
Lokesh


Tom,

If no further comments can this series be pulled in?

- Keerthy





The series is based on top of the branch:

https://github.com/lokeshvutla/u-boot/tree/devel/j721e-full-boot

Changes in v3:

   * Extended the support for j721e-evm.
   * Moved vtm node under r5-board dts.

Changes in v2:

   * Avoided creation of new uclass. AVS driver is now under misc.

Keerthy (11):
   clk: clk-ti-sci: Notify AVS driver upon setting clock rate
   misc: k3_avs: Add j721e support
   power: pmic: tps65941: Add support for tps65941 family of PMICs
   power: regulator: tps65941: add regulator support
   arm: mach-k3: am6_init: Initialize AVS class 0
   arm: mach-k3: j721e_init: Initialize avs class 0
   arm: dts: k3-am654-r5-base-board: Add VTM node
   arm: dts: k3-j721e-r5-common-proc-board: Add VTM node
   arm: dts: k3-j721e-r5-common: Add tps65941 node and dependent
 wkup_i2c0 node
   arm: dts: k3-j721e-r5-common-proc-board: Hook buck12_reg to vtm supply
   configs: j721e_evm_r5_defconfig: Enable AVS Class 0 & dependent
 configs

Tero Kristo (7):
   misc: k3_avs: add driver for K3 Adaptive Voltage Scaling Class 0
   power: regulator: tps6236x: add support for tps6236x regulators
   arm: dts: k3-am654-r5-base-board: enable wkup_i2c0 driver for spl
   arm: dts: k3-am654-r5-base-board: add supply rail for MPU
   arm: dts: k3-am654-r5-base-board: enable wkup_vtm0 node and link in
 supplies
   configs: am65x_evm_r5_defconfig: Enable TPS62363 regulator support
   configs: am65x_evm_r5_defconfig: Enable AVS class 0 support

  arch/arm/dts/k3-am654-r5-base-board.dts   |  27 ++
  arch/arm/dts/k3-j721e-mcu-wakeup.dtsi |  11 +
  .../arm/dts/k3-j721e-r5-common-proc-board.dts |  44 ++
  arch/arm/mach-k3/am6_init.c   |   7 +
  arch/arm/mach-k3/j721e_init.c |   7 +
  configs/am65x_evm_r5_defconfig|   2 +
  configs/j721e_evm_r5_defconfig|   9 +
  drivers/clk/clk-ti-sci.c  |   5 +
  drivers/misc/Kconfig  |   9 +
  drivers/misc/Makefile |   1 +
  drivers/misc/k3_avs.c | 388 +
  drivers/power/pmic/Kconfig|   7 +
  drivers/power/pmic/Makefile   |   1 +
  drivers/power/pmic/tps65941.c |  83 
  drivers/power/regulator/Kconfig   |  20 +
  drivers/power/regulator/Makefile  |   2 +
  drivers/power/regulator/tps62360_regulator.c  | 123 ++
  drivers/power/regulator/tps65941_regulator.c  | 407 ++
  include/k3-avs.h  |  30 ++
  include/power/tps65941.h  |  26 ++
  20 files changed, 1209 insertions(+)
  create mode 100644 drivers/misc/k3_avs.c
  create mode 100644 drivers/power/pmic/tps65941.c
  create mode 100644 drivers/power/regulator/tps62360_regulator.c
  create mode 100644 drivers/power/regulator/tps65941_regulator.c
  create mode 100644 include/k3-avs.h
  create mode 100644 include/power/tps65941.h


___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v5 00/19] efi_loader: non-volatile variables support

2019-11-04 Thread AKASHI Takahiro
Wolfgang,

On Mon, Nov 04, 2019 at 05:00:03PM +0100, Wolfgang Denk wrote:
> Dear Takahiro,
> 
> In message <20191101060434.gv10...@linaro.org> you wrote:
> >
> > > This is even worse, as instead of adding a single argument to a
> > > function call you are adding two full fucntion calls.
> > > 
> > > But why would that be needed?
> > > 
> > > U-Boot is strictly single tasking.  You always know what the current
> > > context is, and nobody will change it behind your back.
> > > 
> > > And UEFI functions are not being called in random places, they are
> > > limited to a small set of UEFI commands, right?  So why do you not
> > > just enter UEFI context when you start executing UEFI code, and
> > > restore the rpevious state when returning to non-UEFI U-Boot?
> >
> > Can you elaborate What you mean by "entering UEFI context"?
> 
> You wrote:
> 
> | So do you always admit the following coding?
> | ===8<===
> |   (in some UEFI function)
> |   ...
> |   old_ctx = env_set_context(ctx_uefi);
> |   env_set(var, value);
> |   env_set_context(old_ctx);
> |   ...
> | ===>8===
> 
> In this code, the function call ``env_set_context(ctx_uefi)'' would
> enter the UEFI context, right?  This is what I mean.

My point is not there. See below.

> > What I'm thinking of here is that we would add one more member field, which
> > is a pointer to my "env_context," in GD and change it in env_set_context().
> > This can be defined even as an inline function.
> 
> Yes, this is OK - I think I understood this already.

So we get one step closer.

> What I mean is that such a call of env_set_context() is not needed
> for each and every call of other env_*() functions.
> 
> If I understand correctly, only the UEFI specific commands will
> actually care about UEFI contexts - most likely no code outside
> cmd/nvedit_efi.c ?

No. There are a couple of reasons:
1) Other commands include cmd/bootefi.c (and cmd/efidebug.c).
2) Any EFI application, once kicked off, can directly call EFI APIs.
3) Bunch of EFI features (either services or protocols) fundamentally
   reply on U-Boot native functionality, including devices (disk,
   network, console, ...), file systems and so on.

   So calling such UEFI interfaces may eventually end up with invoking
   env_*() *indirectly*. I don't come up with good examples (probably,
   network is a candidate) now but such a situation will be quite likely
   and we should not exclude such a possibility in the future.

> So you have pretty clear entry and exit points into and from the
> UEFI world, and it should be sufficient to set and restore this
> context only then.

My point is what entry or exit points are.
They cannot be at each command, but *each* API.
So, let me repeat this example:
===8<===
   (in some UEFI function)
   ...
   old_ctx = env_set_context(ctx_uefi);
   env_set(var, value);
   env_set_context(old_ctx);
   ...
===>8===

This can be at most relaxed to:
===8<===
some_efi_api(...)
{
   old_ctx = env_set_context(ctx_uefi);
   ...
   (env_get(var1);)
   ...
   env_set(var2, value);
   ...
   env_set_context(old_ctx);

   return;
}
===>8===
It is merely a matter of optimization.
This is the reason that I want to introduce env_set_context().

Thanks,
-Takahiro Akashi

> > I don't see why you deny such a simple solution with lots of flexibility.
> 
> I am concerned about code size and execution speed.  So far, you did
> not provide any such numbers, even though I repeatedly asked for the
> size impact, especially for non-UEFI systems.
> 
> Please keep in mind that there are many cases where we need access
> to the environment already in SPL, and on all systems where security
> plays any role we must have the same set of features enabled for the
> environment code in SPL and TPL (if these need access to the
> envronment) as in U-Boot proper, and memory is a precious resource
> there.
> 
> Best regards,
> 
> Wolfgang Denk
> 
> -- 
> DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
> You may call me by my name, Wirth, or by my value, Worth.
> - Nicklaus Wirth
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH] net/phy: Fix phy_connect() for phy addr 0

2019-11-04 Thread Priyanka Jain
Fix 'mask' calculation in phy_connect() for phy addr '0'.
'mask' is getting set to '0x' for phy addr '0'
in phy_connect() whereas expected value is '0'.


Signed-off-by: Priyanka Jain 
---
 drivers/net/phy/phy.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index ae37dd6c1e..419e6869c0 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -952,7 +952,7 @@ struct phy_device *phy_connect(struct mii_dev *bus, int 
addr,
 #endif
 {
struct phy_device *phydev = NULL;
-   uint mask = (addr > 0) ? (1 << addr) : 0x;
+   uint mask = (addr >= 0) ? (1 << addr) : 0x;
 
 #ifdef CONFIG_PHY_FIXED
phydev = phy_connect_fixed(bus, dev, interface);
-- 
2.17.1

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [EXT] Re: Cavium/Marvell Octeon Support

2019-11-04 Thread Aaron Williams
Hi Wolfgang,

On Monday, November 4, 2019 9:22:16 AM PST Tom Rini wrote:
> On Thu, Oct 31, 2019 at 06:01:34PM +, Aaron Williams wrote:
> > Hi Wolfgang,
> > 
> > On Thursday, October 31, 2019 3:40:27 AM PDT Wolfgang Denk wrote:
> > > Dear Aaron,
> > > 
> > > In message <1889679.7FQr5zsBR1@flash> you wrote:
> > > > Currently we are using 39MB under arch/mips. I think I can easily cut
> > > > this
> > > > down to 15MB or smaller, especially by moving some code here to the
> > > > appropriate driver directories (i.e. DRAM,  pcie, watchdog, etc.)
> > > > 
> > > > It will still be a large SoC, though.
> > > 
> > > Have you already looked at formal requirements, like coding style
> > > etc.?   Did you ever run your additions through checkpatch.pl, for
> > > example?
> > 
> > We did follow the formal coding style. Everything will go through
> > checkpatch. My biggest complaint about it is the 80 columns for debug and
> > other print statements.
> 
> checkpatch doesn't complain about those when they use standard logging
> functions, however.

It complains plenty about printf(), debug() and a number of other standard U-
Boot logging calls.

Regards,

Aaron


___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH] configs: Rename roc-rk3399-pc -> roc-pc-rk3399 defconfig【请注意,邮件由u-boot-boun...@lists.denx.de代发】

2019-11-04 Thread Levin Du

The mainline uses 'rk3399-*', so there're rk3399-firefly.dts,
rk3399-roc-pc.dts, rk3399-khadas-edge.dts, etc. Shall we follow the kernel
convention, or add another roc-pc-rk3399 to the matrix? I prefer to keep it as
it is.


"Jonathan A. Kollasch"  writes:

> On Sat, Nov 02, 2019 at 10:19:02AM +0530, Jagan Teki wrote:
>> roc-rk3399-pc_defconfig is committed in below
>> 
>> commit <8a681f4c5aa15db51ad0209734859c9fe7c29cfd> ("rockchip: rk3399:
>
>> Add ROC-RK3399-PC support")
>> 
>> which doesn't follow the existing defconfigs on rk3399.
>> 
>> So, rename as followed with other rk3399 defconfigs.
>> 
>> Cc: Levin Du 
>> Signed-off-by: Jagan Teki 
>> ---
>
> This strikes me as wrong, as the existing name is the actual name of the
> board.
>
> https://libre.computer/products/boards/roc-rk3399-pc/
>
>   Jonathan Kollasch
> ___
> U-Boot mailing list
> U-Boot@lists.denx.de
> https://lists.denx.de/listinfo/u-boot
-- 
Levin Du


___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [EXT] Re: Cavium/Marvell Octeon Support

2019-11-04 Thread Aaron Williams
On Monday, November 4, 2019 8:23:08 AM PST Tom Rini wrote:
> On Mon, Nov 04, 2019 at 04:44:18PM +0100, Wolfgang Denk wrote:
> > Dear Aaron,
> > 
> > In message <2710076.TiSPtmOvtb@flash> you wrote:
> > > > What exactly do you need this for?  Why don't you just link your
> > > > code with the rest of U-Boot?
> > > 
> > > We need it to obtain and modify the phy parameters. This is a custom 25G
> > > gearbox that needs a lot of hand holding. This may end up being a low
> > > priority (not the gearbox, but the API). It's only a few hundred lines
> > > of code (the API).
> > 
> > Again you don't answer my question.  Why do you need a special new
> > API for such code?  Why do you not just link that code with the rest
> > of U-Boot?
> > 
> > It has been mentioned before, but just to be sure: this code which
> > uses your new API is licensed under a GPLv2 conforming lincense?
> 
> And, to be blunt, if it is not, handling your non-GPLv2 applications
> via an EFI binary is the way forward, not extending the U-Boot binary
> ABI, in my opinion.

To be blunt, the current U-Boot EFI driver does not provide the required 
functionality. It would need to be extended in order to work. In addition, 
spinlocks would be required in order to handle the case of reentrancy. Also, 
how does the EFI loader deal with loading multiple applications across 
multiple cores? The block support is the least important part of it. There are 
several other services not related to block devices or network calls.

-Aaron


___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [EXT] Re: Cavium/Marvell Octeon Support

2019-11-04 Thread Aaron Williams
Hi Wolfgang,

On Monday, November 4, 2019 7:44:18 AM PST Wolfgang Denk wrote:
> Dear Aaron,
> 
> In message <2710076.TiSPtmOvtb@flash> you wrote:
> > > What exactly do you need this for?  Why don't you just link your
> > > code with the rest of U-Boot?
> > 
> > We need it to obtain and modify the phy parameters. This is a custom 25G
> > gearbox that needs a lot of hand holding. This may end up being a low
> > priority (not the gearbox, but the API). It's only a few hundred lines of
> > code (the API).
> 
> Again you don't answer my question.  Why do you need a special new
> API for such code?  Why do you not just link that code with the rest
> of U-Boot?

The code in question that is calling the API is not GPL and hence cannot be 
linked with U-Boot though the phy code is GPL. The applications that are 
calling also have their own virtual memory configuration and there can be 
multiple applications running on multiple cores that can make simultaneous 
calls. Because of the way the phy must be maintained with a lot of state 
information, the code controlling it cannot be spread between the separate 
independent applications which run on their own dedicated cores and address 
spaces. The API I wrote takes care of the required context switching and 
provides the services for these applications, such as control of the phy, 
access to devices like eMMC, tuning our QLM interfaces (this code is required 
for U-Boot networking anyway), etc. There is no linking. Only a call table 
descriptor is published in a named block of memory. The API also provides the 
necessary spinlocks and switch stacks. The code in question adds around 36K in 
total, so it is fairly small. The main differences are the addition of a 
number of calls that are unique to our needs in addition to the method of 
calling since a context switch is required in addition to the spinlocks.

The phy in question also does not fit in the normal phy framework. It doesn't 
even communicate with  SMI. It is a complex gearbox where there needs to be 
interaction between applications and the gearbox where some code runs on the 
phy itself but a lot needs to be external.

The API also provides a number of other services such as access to and saving 
environment variables as well as access to block devices and filesystems. It 
is centralized in U-Boot because 1) the functionality is already available in 
U-Boot which is in memory anyway and 2) it's centralized and accessible by all 
applications so it can safely provide services to multiple applications 
simultaneously.

These applications are primarily bare-metal applications.

It may be that this functionality isn't needed. I will try and remove it if I 
can.

> 
> It has been mentioned before, but just to be sure: this code which
> uses your new API is licensed under a GPLv2 conforming lincense?
> 
There should be no need. None of the code is linked against U-Boot, either at 
compile time nor at runtime. The application doesn't even know where it is 
located except by looking for a named block of memory.

This is another thing we make use of in Octeon. There is a concept of named 
blocks in memory. These named blocks are used by U-Boot, simple executive 
applications and the Linux kernel. This allows physical memory to be 
partitioned between Linux and Simple Executive applications as well as 
providing some blocks that are used by some hardware blocks. I believe this 
support is already in the upstream Linux kernel for Octeon.

> Best regards,
> 
> Wolfgang Denk

Regards,

Aaron


___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 4/8] riscv: andes_plic: Fix some wrong configurations

2019-11-04 Thread Rick Chen
Hi Anup

> > On Thu, Oct 31, 2019 at 1:42 PM Anup Patel  wrote:
> > >
> > > On Thu, Oct 31, 2019 at 6:30 AM Alan Kao  wrote:
> > > >
> > > > Hi Bin,
> > > >
> > > > Thanks for the critics.  Comments below.
> > > > On Wed, Oct 30, 2019 at 06:38:00PM +0800, Bin Meng wrote:
> > > > > Hi Rick,
> > > > >
> > > > > On Wed, Oct 30, 2019 at 10:50 AM Rick Chen  
> > > > > wrote:
> > > > > >
> > > > > > Hi Bin
> > > > > >
> > > > > > >
> > > > > > > Hi Rick,
> > > > > > >
> > > > > > > On Fri, Oct 25, 2019 at 2:18 PM Andes  wrote:
> > > > > > > >
> > > > > > > > From: Rick Chen 
> > > > > > > >
> > > > > > > > It will work fine due to hart 0 always will be main
> > > > > > > > hart coincidentally. When develop SPL flow, I try to
> > > > > > > > force other harts to be main hart. And it will go
> > > > > > > > wrong in sending IPI flow. So fix it.
> > > > > > >
> > > > > > > Fix what? Does this commit contain 2 fixes, or just 1 fix?
> > > > > >
> > > > > > Yes, it include two fixs. But they will cause one negative result
> > > > > > that only hart 0 can send ipi to other harts.
> > > > > >
> > > > > > >
> > > > > > > >
> > > > > > > > Having this fix, any hart can be main hart in U-Boot SPL
> > > > > > > > theoretically, but it still fail somewhere. After dig in
> > > > > > > > and found there is an assumption that hart 0 shall be
> > > > > > > > main hart in OpenSbi.
> > > > > > >
> > > > > > > So does this mean there is a bug in OpenSBI too?
> > > > > >
> > > > > > I am not sure if it is a bug. Maybe it is a compatible issue.
> > > > > > There is a limitation that only hart 0 can be main hart in OpenSBI.
> > > > >
> > > > > I don't think OpenSBI has such limitation.
> > > > >
> > > >
> > > > Please check the source.
> > > > https://github.com/riscv/opensbi/blob/master/firmware/fw_base.S#L54
> > > >
> > > > Apparently, the FIRST TWO LINEs of the initialization are the
> > > > 1. get hart ID.
> > > > 2. determine which route to take based on their ID respectively.
> > > >
> > > > So, I do think OpenSBI has this signature, if you are not willing to 
> > > > call it
> > > > a limitation.
> > >
> > > This dependency on hart id #0 was not there until we added self-relocation
> > > in OpenSBI for FW_DYNAMIC.
> > >
> > > I will try to fix this in OpenSBI but we might end-up having boot_lottery.
> >
> > I have send a patch to fix this OpenSBI:
> > "[PATCH] firmware: Introduce relocation lottery"
> >
> > Can you try above patch and see if that helps ?
> >
> > It will be great if you can provide Tested-by to my patch as well.
> >
>

I can not find this patch in mailing list.
Can you provide a hyperlink ?

Thanks
Rick
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v1 1/4] drivers: Add a new framework for multiplexer devices

2019-11-04 Thread Bin Meng
+Alex who once worked in MUX on LS1028 IIRC.

On Wed, Oct 2, 2019 at 8:47 PM Jean-Jacques Hiblot  wrote:
>
> Add a new subsystem that handles multiplexer controllers. The API is the
> same as in Linux.
>
> Signed-off-by: Jean-Jacques Hiblot 
> ---
>
>  drivers/Kconfig   |   2 +
>  drivers/Makefile  |   1 +
>  drivers/mux/Kconfig   |   7 +
>  drivers/mux/Makefile  |   6 +
>  drivers/mux/mux-uclass.c  | 296 ++
>  include/dm/uclass-id.h|   1 +
>  include/dt-bindings/mux/mux.h |  17 ++
>  include/mux-internal.h|  80 +
>  include/mux.h | 114 +
>  9 files changed, 524 insertions(+)
>  create mode 100644 drivers/mux/Kconfig
>  create mode 100644 drivers/mux/Makefile
>  create mode 100644 drivers/mux/mux-uclass.c
>  create mode 100644 include/dt-bindings/mux/mux.h
>  create mode 100644 include/mux-internal.h
>  create mode 100644 include/mux.h
>

Regards,
Bin
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH] imx: sync with kernel device tree for Phycore SoM

2019-11-04 Thread Peng Fan
> Subject: [PATCH] imx: sync with kernel device tree for Phycore SoM
> 
> Sync the Linux Kernel 5.4-rc6 device tree for Phytec Phycore SoM and Segin
> board based on imx6UL and imx6ULL.
> 
> Changes includes Phytec naming convention for the devicetree files.
> 
> Signed-off-by: Parthiban Nallathambi 

Acked-by: Peng Fan 

> ---
>  arch/arm/dts/Makefile |   4 +-
>  arch/arm/dts/imx6ul-phycore-segin.dts |  81 
>  ...on.dtsi => imx6ul-phytec-phycore-som.dtsi} | 130 +++
>  .../dts/imx6ul-phytec-segin-ff-rdk-nand.dts   |  93 +
>  .../dts/imx6ul-phytec-segin-peb-eval-01.dtsi  |  57 +++
>  arch/arm/dts/imx6ul-phytec-segin.dtsi | 346
> ++
>  arch/arm/dts/imx6ull-phycore-segin.dts|  70 
>  arch/arm/dts/imx6ull-phytec-phycore-som.dtsi  |  24
> ++  .../dts/imx6ull-phytec-segin-ff-rdk-emmc.dts  |  93
> +  .../dts/imx6ull-phytec-segin-peb-eval-01.dtsi |  19 +
>  arch/arm/dts/imx6ull-phytec-segin.dtsi|  38 ++
>  board/phytec/pcl063/MAINTAINERS   |  12 +-
>  configs/phycore_pcl063_defconfig  |   3 +-
>  configs/phycore_pcl063_ull_defconfig  |   2 +-
>  14 files changed, 732 insertions(+), 240 deletions(-)  delete mode 100644
> arch/arm/dts/imx6ul-phycore-segin.dts
>  rename arch/arm/dts/{pcl063-common.dtsi =>
> imx6ul-phytec-phycore-som.dtsi} (56%)  create mode 100644
> arch/arm/dts/imx6ul-phytec-segin-ff-rdk-nand.dts
>  create mode 100644 arch/arm/dts/imx6ul-phytec-segin-peb-eval-01.dtsi
>  create mode 100644 arch/arm/dts/imx6ul-phytec-segin.dtsi
>  delete mode 100644 arch/arm/dts/imx6ull-phycore-segin.dts
>  create mode 100644 arch/arm/dts/imx6ull-phytec-phycore-som.dtsi
>  create mode 100644 arch/arm/dts/imx6ull-phytec-segin-ff-rdk-emmc.dts
>  create mode 100644 arch/arm/dts/imx6ull-phytec-segin-peb-eval-01.dtsi
>  create mode 100644 arch/arm/dts/imx6ull-phytec-segin.dtsi
> 
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index
> 47978e7685..935b661284 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -621,14 +621,14 @@ dtb-$(CONFIG_MX6UL) += \
>   imx6ul-9x9-evk.dtb \
>   imx6ul-9x9-evk.dtb \
>   imx6ul-liteboard.dtb \
> - imx6ul-phycore-segin.dtb \
> + imx6ul-phytec-segin-ff-rdk-nand.dtb \
>   imx6ul-pico-hobbit.dtb \
>   imx6ul-pico-pi.dtb
> 
>  dtb-$(CONFIG_MX6ULL) += \
>   imx6ull-14x14-evk.dtb \
>   imx6ull-colibri.dtb \
> - imx6ull-phycore-segin.dtb \
> + imx6ull-phytec-segin-ff-rdk-emmc.dtb \
>   imx6ull-dart-6ul.dtb \
>   imx6ulz-14x14-evk.dtb
> 
> diff --git a/arch/arm/dts/imx6ul-phycore-segin.dts
> b/arch/arm/dts/imx6ul-phycore-segin.dts
> deleted file mode 100644
> index 7d68bf8430..00
> --- a/arch/arm/dts/imx6ul-phycore-segin.dts
> +++ /dev/null
> @@ -1,81 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0+
> -/*
> - * Copyright (C) 2018 Collabora Ltd.
> - *
> - * Based on dts[i] from Phytec barebox port:
> - * Copyright (C) 2016 PHYTEC Messtechnik GmbH
> - * Author: Christian Hemp 
> - *
> - * The code contained herein is licensed under the GNU General Public
> - * License. You may obtain a copy of the GNU General Public License
> - * Version 2 or later at the following locations:
> - *
> - *
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.o
> pensource.org%2Flicenses%2Fgpl-license.htmldata=02%7C01%7Cpeng
> .fan%40nxp.com%7Cb5436c55ac684a693cf308d76157d5a3%7C686ea1d3bc
> 2b4c6fa92cd99c5c301635%7C0%7C1%7C637084902183324601sdata
> =3jSUWElygGkm68v%2BnCz%2BoNJDlFgqGFQ5TtHXR3ZrkhE%3Dreser
> ved=0
> - *
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.g
> nu.org%2Fcopyleft%2Fgpl.htmldata=02%7C01%7Cpeng.fan%40nxp.co
> m%7Cb5436c55ac684a693cf308d76157d5a3%7C686ea1d3bc2b4c6fa92cd99
> c5c301635%7C0%7C1%7C637084902183324601sdata=iUmn4qiL0Oyl
> PygYqMtZB2MNoToAhppXpwdHwFFBdyQ%3Dreserved=0
> - */
> -
> -/dts-v1/;
> -
> -#include "imx6ul.dtsi"
> -#include "pcl063-common.dtsi"
> -
> -/ {
> - model = "Phytec phyBOARD-i.MX6UL-Segin SBC";
> - compatible = "phytec,phyboard-imx6ul-segin", "phytec,imx6ul-pcl063",
> -  "fsl,imx6ul";
> -};
> -
> - {
> - status = "okay";
> -};
> -
> - {
> - i2c_rtc: rtc@68 {
> - compatible = "microcrystal,rv4162";
> - reg = <0x68>;
> - status = "okay";
> - };
> -};
> -
> - {
> - pinctrl-names = "default";
> - pinctrl-0 = <_uart5>;
> - uart-has-rtscts;
> - status = "okay";
> -};
> -
> - {
> - pinctrl-names = "default";
> - pinctrl-0 = <_usb_otg1_id>;
> - dr_mode = "otg";
> - srp-disable;
> - hnp-disable;
> - adp-disable;
> - status = "okay";
> -};
> -
> - {
> - dr_mode = "host";
> - disable-over-current;
> - status = "okay";
> -};
> -
> - {
> - pinctrl-names = "default";
> -
> - pinctrl_uart5: uart5grp {
> - fsl,pins = <
> - MX6UL_PAD_UART5_TX_DATA__UART5_DCE_TX   0x1b0b1
> 

Re: [U-Boot] [EXT] Re: [RFC PATCH 00/29] arm: Introduce Marvell/Cavium OcteonTX

2019-11-04 Thread Aaron Williams
Hi Tim,

On Thursday, October 31, 2019 12:12:34 PM PST Tim Harvey wrote:
> On Wed, Oct 30, 2019 at 5:04 PM Aaron Williams  
wrote:
> > Hi Tim,
> > 
> > I think I can answer some of your questions.
> > 
> > On Wednesday, October 30, 2019 10:06:41 AM PDT Tim Harvey wrote:
> > > External Email
> > > 
> > > --
> > > 
> > > On Tue, Oct 29, 2019 at 2:08 PM Suneel Garapati 
> > 
> > wrote:
> > > > This series will add support for OcteonTX and OcteonTX2 processsor
> > > > based
> > > > platforms. The Marvell/Cavium Octeon-TX 64-bit ARM based SoCs include
> > > > the CN80XX, CN81XX and CN83XX while Octeon-TX2 64-bit ARM based SoCs
> > > > include support for CN96XX and CN95XX.
> > > > These SoC's have peripheral drivers based on PCI ECAM.
> > > > 
> > > > Patches
> > > > [1 -10] Add requied changes to PCI framework
> > > > 
> > > >  - [6] Add support for multi-memory region range
> > > >  - [7] EA in bridges
> > > >  - [8] SR-IOV
> > > > 
> > > > [12] Add driver model support for RTC DS1337 driver
> > > > [15 - 17] AHCI changes
> > > > [18 - 27] Add OcteonTX drivers
> > > > [28 - 29] Add OcteonTX/TX2 board files and configurations
> > > 
> > > Suneel,
> > > 
> > > Thanks for submitting this series!
> > > 
> > > I've applied and built this and am testing on the Gateworks Newport
> > > boards with the CN802x/CN803x (octeontx_81xx) and this is what I've
> > > found:
> > > - I get hung in the smc_call from smc_dram_size which your calling
> > > with the function id of 0xc2000301. The older U-Boot from the Cavium
> > > OcteonTX SDK-6.2.0-p3 used 0x43000301 and this works for me. Is there
> > > a difference in our ATF version?
> > 
> > ATF has indeed changed significantly. The current U-Boot requires an
> > up-to-
> > date ATF. I recall this was one of the changes we made with regards to
> > getting the size of memory.
> 
> What ATF should I be using? Is Marvell merging patches to the ATF
> required for OcteonTX?
> 
> > > - configs/octeontx_81xx_defconfig - I have several changes I want to
> > > make here, but perhaps some of these would warrant a custom config for
> > > my boards
> > > 
> > >   - you assume there is only a SPI NOR flash for env which we
> > > 
> > > personally don't use. The env system supports multiple env types so we
> > > could just enable MMC as well as SPI but then I find all the
> > > hard-coded CONFIG_ENV_* defines restrictive. I wonder if anyone has
> > > defined a way for these to come from device-tree?
> > 
> > We have not tested loading the environment from eMMC. It would be nice if
> > the environment location could come from the device tree.
> 
> I tested it and it works fine.
> 
> The mmc-env partition, offset, and offset-redundant can be set via dts
> (doc/device-tree-bindings/config.txt and env/mmc.c) and I am setting
> these in my dts. I'll look into expanding this if necessary so that
> the defconfigs could just enable both SPI and MMC env and the dt will
> be able to dictate the details.
> 
> Does the 'Octeon' support your working on overlap with 'OcteonTX'?

Some of the Octeon support will leverage OcteonTX since some of the drivers 
are mostly compatible, such as eMMC, SPI and I2C. There is also a lot in 
Octeon that in the case of OcteonTX is handled by ATF and our BDK bootloader. 
In these cases there is no overlap.

> 
> Regards,
> 
> Tim

Regards,

Aaron


___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH] Kconfig: Make ZYNQMP_FIRMWARE depend on ARCH_ZYNQMP

2019-11-04 Thread Adam Ford
There is a menu option to enable ZYNQMP_FIRMWARE even when
ARCH_ZYNQMP is not enabled.

This makes ZYNQMP_FIRMWARE depend on ARCH_ZYNQMP to help
quiet unrelated options in menuconfig.

Signed-off-by: Adam Ford 

diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig
index b70a206355..a6227aa62d 100644
--- a/drivers/firmware/Kconfig
+++ b/drivers/firmware/Kconfig
@@ -30,6 +30,7 @@ config TI_SCI_PROTOCOL
 config ZYNQMP_FIRMWARE
bool "ZynqMP Firmware interface"
select FIRMWARE
+   depends on ARCH_ZYNQMP
help
  Firmware interface driver is used by different
  drivers to communicate with the firmware for
-- 
2.20.1

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v2 3/6] net: ti: cpsw: add support for standard eth "max-speed" dt property

2019-11-04 Thread Tom Rini
On Thu, Sep 19, 2019 at 11:16:39AM +0300, Grygorii Strashko wrote:

> This patch adds support for standard Ethernet "max-speed" DT property to
> allow PHY link speed limitation.
> 
> Signed-off-by: Grygorii Strashko 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v2 5/6] net: ti: am65x-cpsw: fix mac tx internal delay for rgmii-rxid mode

2019-11-04 Thread Tom Rini
On Thu, Sep 19, 2019 at 11:16:41AM +0300, Grygorii Strashko wrote:

> Now AM65x CPSW2G driver will disable MAC TX internal delay for PHY
> interface mode "rgmii-rxid" which is incorrect. Hence, fix it by keeping
> default value (enabled) for MAC TX internal delay when "rgmii-rxid"
> interface mode is selected.
> 
> Signed-off-by: Grygorii Strashko 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v2 6/6] net: ti: cpsw: convert to use dev/ofnode api

2019-11-04 Thread Tom Rini
On Thu, Sep 19, 2019 at 11:16:42AM +0300, Grygorii Strashko wrote:

> Conver TI CPSW driver to use dev/ofnode api.
> 
> Signed-off-by: Grygorii Strashko 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 1/3] arm: dts: dra7: sync cpsw/mdio/phy with latest linux - drop phy_id

2019-11-04 Thread Tom Rini
On Sat, Aug 31, 2019 at 10:30:32AM +0300, Grygorii Strashko wrote:

> Synchronize CPSW/MDIO/PHY DT nodes with latest linux - replace deprecated
> phy_id property with phy-handle.
> 
> Signed-off-by: Grygorii Strashko 
> Cc: Lokesh Vutla 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v2 4/6] net: ti: cpsw: fix mac tx internal delay for rgmii-rxid mode

2019-11-04 Thread Tom Rini
On Thu, Sep 19, 2019 at 11:16:40AM +0300, Grygorii Strashko wrote:

> Now TI CPSW driver will disable MAC TX internal delay for PHY interface
> mode "rgmii-rxid" which is incorrect.
> 
> Hence, fix it by keeping default value (enabled) for MAC TX internal delay
> when "rgmii-rxid" interface mode is selected.
> 
> Signed-off-by: Grygorii Strashko 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v2 1/6] net: ti: cpsw: enable 10Mbps link speed support in rgmii mode

2019-11-04 Thread Tom Rini
On Thu, Sep 19, 2019 at 11:16:37AM +0300, Grygorii Strashko wrote:

> According to TRMs the 10Mbps link speed is supported in RGMII only when
> CPSW2G MAC SL is configured for External Control ("in band") mode
> CPSW_SL_MACCTRL.EXT_EN(18) = 1.
> 
> Hence update cpsw_slave_update_link() to follow documentation.
> 
> [1] https://patchwork.kernel.org/patch/10285239/
> Signed-off-by: Grygorii Strashko 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 3/3] arm: dts: am335x: sync cpsw/mdio/phy with latest linux - drop phy_id

2019-11-04 Thread Tom Rini
On Sat, Aug 31, 2019 at 10:30:34AM +0300, Grygorii Strashko wrote:

> Synchronize CPSW/MDIO/PHY DT nodes with latest linux - replace deprecated
> phy_id property with phy-handle.
> 
> Signed-off-by: Grygorii Strashko 
> Cc: Lokesh Vutla 
> Cc: Hannes Schmelzer 
> Cc: Heiko Schocher 
> Cc: Felix Brack 
> Cc: Jean-Jacques Hiblot 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v2 2/6] net: ti: cpsw: move parsing of dt port's parameters in separate func

2019-11-04 Thread Tom Rini
On Thu, Sep 19, 2019 at 11:16:38AM +0300, Grygorii Strashko wrote:

> Move parsing of dt port's parameters in separate func for better code
> readability.
> 
> Signed-off-by: Grygorii Strashko 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 2/3] arm: dts: am437x: sync cpsw/mdio/phy with latest linux - drop phy_id

2019-11-04 Thread Tom Rini
On Sat, Aug 31, 2019 at 10:30:33AM +0300, Grygorii Strashko wrote:

> Synchronize CPSW/MDIO/PHY DT nodes with latest linux - replace deprecated
> phy_id property with phy-handle.
> 
> Signed-off-by: Grygorii Strashko 
> Cc: Lokesh Vutla 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [GIT PULL] Pull request: u-boot-imx u-boot-imx-20191104

2019-11-04 Thread Tom Rini
On Mon, Nov 04, 2019 at 10:08:01AM +0100, Stefano Babic wrote:

> Hi Tom,
> 
> please pull from u-boot-imx, thanks !
> 
> The following changes since commit 5d6f05352b69d4858a2a9e9136ac3a734f0222bb:
> 
>   azure: Update the script to prepend PATH not override PATH (2019-11-01
> 13:59:14 -0400)
> 
> are available in the Git repository at:
> 
>   https://gitlab.denx.de/u-boot/custodians/u-boot-imx.git
> tags/u-boot-imx-20191104
> 
> for you to fetch changes up to ae8a53ece0ff3b1ed686c3e0af14e59973d25db8:
> 
>   imx: nandbcb: add support for writing BCB only (2019-11-03 21:49:49 +0100)
> 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH] Kconfig: ti: Make board detect EEPROM addresses depend BOARD_DETECT

2019-11-04 Thread Adam Ford
There is an option to enable the board detection for TI platforms.
If this is option is not set, there is no reason to set the EEPROM
bus address or chip address.

This patch makes both EEPROM_BUS_ADDRESS and EEPROM_CHIP_ADDRESS
depend on TI_I2C_BOARD_DETECT.

Signed-off-by: Adam Ford 

diff --git a/board/ti/common/Kconfig b/board/ti/common/Kconfig
index b1956b8100..9ead7ca038 100644
--- a/board/ti/common/Kconfig
+++ b/board/ti/common/Kconfig
@@ -8,11 +8,13 @@ config EEPROM_BUS_ADDRESS
int "Board EEPROM's I2C bus address"
range 0 8
default 0
+   depends on TI_I2C_BOARD_DETECT
 
 config EEPROM_CHIP_ADDRESS
hex "Board EEPROM's I2C chip address"
range 0 0xff
default 0x50
+   depends on TI_I2C_BOARD_DETECT
 
 config TI_COMMON_CMD_OPTIONS
bool "Enable cmd options on TI platforms"
-- 
2.20.1

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [RFC/RFT U-Boot PATCH] image: Add Image.gz parsing support in booti.

2019-11-04 Thread Tom Rini
On Mon, Nov 04, 2019 at 10:20:33PM +, Atish Patra wrote:
> On Fri, 2019-11-01 at 09:29 -0400, Tom Rini wrote:
> > On Thu, Oct 10, 2019 at 02:23:17PM -0700, Atish Patra wrote:
> > 
> > > Add gz parsing logic so that booti can parse both Image
> > > and Image.gz to boot Linux. Currently, it is difficult to calculate
> > > a safe address for every board where the Image.gz can be
> > > decompressed.
> > > It is also not possible to figure out the size of the compressed
> > > file
> > > as well. Thus, user need to set two additional environment
> > > variables
> > > kernel_gz_addr_r and kernel_gz_size to make Image.gz work.
> > > 
> > > Tested on HiFive Unleashed and Qemu for RISC-V.
> > > 
> > > Signed-off-by: Atish Patra 
> > > ---
> > > I could not test this patch on any ARM64 devices due to lack of
> > > access to any ARM64 board. If anybody can test it on ARM64, that
> > > would be great.

Oh, I missed this part before.  You should be able to get fairly far
with qemu :)

> > Can we do the compression check more generally?  I'd like to be able
> > to
> > see Image.xz/lz4/etc be able to be handled cleanly.
> 
> This patch is intended only handle Image.gz which is a compressed
> version of kernel "Image" file. That's why relevant code is only added
> to booti command.

Right.  But the linux kernel will happily spit out a handful of other
compressed Image files on arm64.  I see riscv is only .gz today, but I
want to be able to handle whatever the compression is, so long as we
have it available.

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [RFC/RFT U-Boot PATCH] image: Add Image.gz parsing support in booti.

2019-11-04 Thread Atish Patra
On Fri, 2019-11-01 at 09:29 -0400, Tom Rini wrote:
> On Thu, Oct 10, 2019 at 02:23:17PM -0700, Atish Patra wrote:
> 
> > Add gz parsing logic so that booti can parse both Image
> > and Image.gz to boot Linux. Currently, it is difficult to calculate
> > a safe address for every board where the Image.gz can be
> > decompressed.
> > It is also not possible to figure out the size of the compressed
> > file
> > as well. Thus, user need to set two additional environment
> > variables
> > kernel_gz_addr_r and kernel_gz_size to make Image.gz work.
> > 
> > Tested on HiFive Unleashed and Qemu for RISC-V.
> > 
> > Signed-off-by: Atish Patra 
> > ---
> > I could not test this patch on any ARM64 devices due to lack of
> > access to any ARM64 board. If anybody can test it on ARM64, that
> > would be great.
> 
> Can we do the compression check more generally?  I'd like to be able
> to
> see Image.xz/lz4/etc be able to be handled cleanly.

This patch is intended only handle Image.gz which is a compressed
version of kernel "Image" file. That's why relevant code is only added
to booti command.

>   When you say the
> compressed file, you do mean the Image.gz (for example) itself,
> right?

Yes.

> I would suggest documenting using $filesize after loading the
> compressed
> image as that should always be set.  Thanks!
> 

ok. I will change the kernel_gz_size to filesize.

-- 
Regards,
Atish
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 1/1] net: avoid address-of-packed-member error

2019-11-04 Thread Tom Rini
On Mon, Nov 04, 2019 at 10:21:14PM +0100, Simon Goldschmidt wrote:
> Tom Rini  schrieb am Mo., 4. Nov. 2019, 22:15:
> 
> > On Mon, Nov 04, 2019 at 09:28:51PM +0100, Simon Goldschmidt wrote:
> > > Am 04.11.2019 um 20:34 schrieb Heinrich Schuchardt:
> > > > struct ip_udp_hdr is naturally packed. There is no point in adding a
> > > > __packed attribute. With the attribute the network stack does not
> > compile
> > > > using GCC 9.2.1:
> > >
> > > Is this commit message correct? In lwIP, we *do* need to pack all these
> > > network header structs as they can come in unaligned. Especially the IP
> > > header is normally 16-bit aligned if the incoming Ethernet frame is
> > 32-bit
> > > aligned (which is a must for many DMA engines).
> > >
> > > This is also the reason why the below code works, I guess: it is rarely
> > > totally unaligned, but nearly always at least 16-bit aligned, so
> > > dereferencing the checksum pointer as aligned u16 just works.
> > >
> > > Nevertheless, the code is formally wrong and your patch is correct. I
> > just
> > > don't like the commit message saying 'packed' is not required.
> >
> > Perhaps we should fix the underlying code problem then?  Or does that
> > men "rewrite the whole file" ?
> >
> 
> This patch fixes the code problem. If there are more problems: any
> assignment to an u16 pointer from an address of a packed struct issues a
> warning (provided that appropriate warning settings are used). If we fix
> all of these warnings (e.g. like we do here, by using alignment agnostic
> byte accesses), we should be good.
> 
> I just think the misleading commit message should be fixed before giving my
> RB.

Ah, I get it now I hope, thanks.

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 1/1] net: avoid address-of-packed-member error

2019-11-04 Thread Simon Goldschmidt
Tom Rini  schrieb am Mo., 4. Nov. 2019, 22:15:

> On Mon, Nov 04, 2019 at 09:28:51PM +0100, Simon Goldschmidt wrote:
> > Am 04.11.2019 um 20:34 schrieb Heinrich Schuchardt:
> > > struct ip_udp_hdr is naturally packed. There is no point in adding a
> > > __packed attribute. With the attribute the network stack does not
> compile
> > > using GCC 9.2.1:
> >
> > Is this commit message correct? In lwIP, we *do* need to pack all these
> > network header structs as they can come in unaligned. Especially the IP
> > header is normally 16-bit aligned if the incoming Ethernet frame is
> 32-bit
> > aligned (which is a must for many DMA engines).
> >
> > This is also the reason why the below code works, I guess: it is rarely
> > totally unaligned, but nearly always at least 16-bit aligned, so
> > dereferencing the checksum pointer as aligned u16 just works.
> >
> > Nevertheless, the code is formally wrong and your patch is correct. I
> just
> > don't like the commit message saying 'packed' is not required.
>
> Perhaps we should fix the underlying code problem then?  Or does that
> men "rewrite the whole file" ?
>

This patch fixes the code problem. If there are more problems: any
assignment to an u16 pointer from an address of a packed struct issues a
warning (provided that appropriate warning settings are used). If we fix
all of these warnings (e.g. like we do here, by using alignment agnostic
byte accesses), we should be good.

I just think the misleading commit message should be fixed before giving my
RB.

Regards,
Simon

>
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 1/1] net: avoid address-of-packed-member error

2019-11-04 Thread Tom Rini
On Mon, Nov 04, 2019 at 09:28:51PM +0100, Simon Goldschmidt wrote:
> Am 04.11.2019 um 20:34 schrieb Heinrich Schuchardt:
> > struct ip_udp_hdr is naturally packed. There is no point in adding a
> > __packed attribute. With the attribute the network stack does not compile
> > using GCC 9.2.1:
> 
> Is this commit message correct? In lwIP, we *do* need to pack all these
> network header structs as they can come in unaligned. Especially the IP
> header is normally 16-bit aligned if the incoming Ethernet frame is 32-bit
> aligned (which is a must for many DMA engines).
> 
> This is also the reason why the below code works, I guess: it is rarely
> totally unaligned, but nearly always at least 16-bit aligned, so
> dereferencing the checksum pointer as aligned u16 just works.
> 
> Nevertheless, the code is formally wrong and your patch is correct. I just
> don't like the commit message saying 'packed' is not required.

Perhaps we should fix the underlying code problem then?  Or does that
men "rewrite the whole file" ?

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCHv2 0/4] support remote system update on Intel Stratix10 SoC

2019-11-04 Thread Simon Goldschmidt

Am 30.10.2019 um 21:34 schrieb richard.g...@linux.intel.com:

From: Richard Gong 

This is 2nd submission of Intel Remote System Update patches.


Ok, so what has changed since v1? You'd normally add a changelog 
(ideally to both this cover-letter and to each patch). Have a look at 
patman in tools/patman, that allows you to create those changelogs more 
easily.




The Intel Remote System Update (RSU) provides a way for users to update
the QSPI configuration bitstream of a Intel Stratix10 SoC device with
significantly reduced risk of corrupting the bitstream storage and
bricking the system.

The patchset adds RSU support which allows user to perform a complete set
of RSU operations via provided console commands.

The patches have reviewed by other colleagues at Intel.

Richard Gong (4):
   arm: socfpga: stratix10: add RSU mailbox support
   drivers: firmware: add RSU support for Stratix10 SoC
   dirvers: firmware: add console commands for RSU support
   arm: socfpga: stratix10: add environment variables for RSU support

  arch/arm/mach-socfpga/include/mach/mailbox_s10.h |   36 +-
  arch/arm/mach-socfpga/mailbox_s10.c  |   79 ++


Do you have plans to move this code to drivers/mailbox?


  arch/arm/mach-socfpga/misc_s10.c |9 +
  drivers/firmware/Kconfig |   11 +
  drivers/firmware/Makefile|1 +
  drivers/firmware/rsu.c   |  662 ++
  drivers/firmware/rsu_ll_qspi.c   | 1050 ++
  drivers/firmware/rsu_misc.c  |  817 +
  drivers/firmware/rsu_s10.c   |  874 ++


Ok, so you started to add this "RSU" as a driver, that's probably fine 
(sorry I did not find the time to review that, yet).


However, I think you'd need a more specific name, probably including 
'intel' or something to make this more clear.


I'll hope to find the time to review the rest this week.

Regards,
Simon


  include/intel/rsu.h  |  291 ++
  include/intel/rsu_ll.h   |   72 ++
  include/intel/rsu_misc.h |   60 ++
  include/intel/rsu_s10.h  |   46 +
  13 files changed, 3998 insertions(+), 10 deletions(-)
  create mode 100644 drivers/firmware/rsu.c
  create mode 100644 drivers/firmware/rsu_ll_qspi.c
  create mode 100644 drivers/firmware/rsu_misc.c
  create mode 100644 drivers/firmware/rsu_s10.c
  create mode 100644 include/intel/rsu.h
  create mode 100644 include/intel/rsu_ll.h
  create mode 100644 include/intel/rsu_misc.h
  create mode 100644 include/intel/rsu_s10.h



___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 1/1] net: avoid address-of-packed-member error

2019-11-04 Thread Simon Goldschmidt

Am 04.11.2019 um 20:34 schrieb Heinrich Schuchardt:

struct ip_udp_hdr is naturally packed. There is no point in adding a
__packed attribute. With the attribute the network stack does not compile
using GCC 9.2.1:


Is this commit message correct? In lwIP, we *do* need to pack all these 
network header structs as they can come in unaligned. Especially the IP 
header is normally 16-bit aligned if the incoming Ethernet frame is 
32-bit aligned (which is a must for many DMA engines).


This is also the reason why the below code works, I guess: it is rarely 
totally unaligned, but nearly always at least 16-bit aligned, so 
dereferencing the checksum pointer as aligned u16 just works.


Nevertheless, the code is formally wrong and your patch is correct. I 
just don't like the commit message saying 'packed' is not required.




net/net.c: In function ‘net_process_received_packet’:
net/net.c:1288:23: error: taking address of packed member of ‘struct
ip_udp_hdr’ may result in an unaligned pointer value
[-Werror=address-of-packed-member]
  1288 |sumptr = (ushort *)&(ip->udp_src);
   |   ^~

Unfortunately there was a bug in GCC 7.1 which required __packed here.
So let's avoid the error by using a uchar pointer instead of an u16
pointer.

Signed-off-by: Heinrich Schuchardt 
---
  net/net.c | 10 --
  1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/net/net.c b/net/net.c
index ded86e7456..e6f6d2cb45 100644
--- a/net/net.c
+++ b/net/net.c
@@ -1274,7 +1274,7 @@ void net_process_received_packet(uchar *in_packet, int 
len)
  #ifdef CONFIG_UDP_CHECKSUM
if (ip->udp_xsum != 0) {
ulong   xsum;
-   ushort *sumptr;
+   uchar *sumptr;
ushort  sumlen;

xsum  = ip->ip_p;
@@ -1285,13 +1285,11 @@ void net_process_received_packet(uchar *in_packet, int 
len)
xsum += (ntohl(ip->ip_dst.s_addr) >>  0) & 0x;

sumlen = ntohs(ip->udp_len);
-   sumptr = (ushort *)&(ip->udp_src);
+   sumptr = (uchar *)>udp_src;

while (sumlen > 1) {
-   ushort sumdata;
-
-   sumdata = *sumptr++;
-   xsum += ntohs(sumdata);
+   xsum += (sumptr[0] << 8) + sumptr[1];


Do we need a comment here stating why we have an open-coded copy of 
ntohs? That could keep us from getting this bug back in the future...


Regards,
Simon


+   sumptr += 2;
sumlen -= 2;
}
if (sumlen > 0) {
--
2.24.0.rc1

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot



___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v1 2/4] dm: board: complete the initialization of the muxes in initr_dm()

2019-11-04 Thread Simon Glass
Hi Jean-Jacques,

On Mon, 4 Nov 2019 at 11:07, Jean-Jacques Hiblot  wrote:
>
>
> On 30/10/2019 02:48, Simon Glass wrote:
> > Hi Jean-Jacques,
> >
> > On Wed, 2 Oct 2019 at 06:47, Jean-Jacques Hiblot  wrote:
> >> This will probe the multiplexer devices that have a "u-boot,mux-autoprobe"
> >> property. As a consequence they will be put in their idle state.
> >>
> >> Signed-off-by: Jean-Jacques Hiblot 
> >> ---
> >>
> >>   common/board_r.c | 2 ++
> >>   1 file changed, 2 insertions(+)
> > I worry this should happen later, or lazily, since at present we don't
> > actually probe any devices at this point, right?
>
> It has to be done early to make sure that the platform is in the right
> state before most of the drivers are initialized. Some devices may rely
> on it without knowing it. In this way, it is similar to the gpio-hog
> mechanism.
>
> Now, I have no strong opinion on when this should really take place.
> Only it has to be after dm is initialized. Maybe it could be inserted in
> init_sequence_r, after board_init() ?
>
> It should probably be before the serial port is used, just in case
> someone multiplexed the serial port of the console.

I hit a similar issue and created this patch, which I'll send soon.

https://gitlab.denx.de/u-boot/custodians/u-boot-dm/commit/087f241416bf7a1b65575840e02a3d270d4fa440

(actually it looks a bit broken, but hopefully you get the idea)

Regards,
Simon
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH 1/1] net: avoid address-of-packed-member error

2019-11-04 Thread Heinrich Schuchardt
struct ip_udp_hdr is naturally packed. There is no point in adding a
__packed attribute. With the attribute the network stack does not compile
using GCC 9.2.1:

net/net.c: In function ‘net_process_received_packet’:
net/net.c:1288:23: error: taking address of packed member of ‘struct
ip_udp_hdr’ may result in an unaligned pointer value
[-Werror=address-of-packed-member]
 1288 |sumptr = (ushort *)&(ip->udp_src);
  |   ^~

Unfortunately there was a bug in GCC 7.1 which required __packed here.
So let's avoid the error by using a uchar pointer instead of an u16
pointer.

Signed-off-by: Heinrich Schuchardt 
---
 net/net.c | 10 --
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/net/net.c b/net/net.c
index ded86e7456..e6f6d2cb45 100644
--- a/net/net.c
+++ b/net/net.c
@@ -1274,7 +1274,7 @@ void net_process_received_packet(uchar *in_packet, int 
len)
 #ifdef CONFIG_UDP_CHECKSUM
if (ip->udp_xsum != 0) {
ulong   xsum;
-   ushort *sumptr;
+   uchar *sumptr;
ushort  sumlen;

xsum  = ip->ip_p;
@@ -1285,13 +1285,11 @@ void net_process_received_packet(uchar *in_packet, int 
len)
xsum += (ntohl(ip->ip_dst.s_addr) >>  0) & 0x;

sumlen = ntohs(ip->udp_len);
-   sumptr = (ushort *)&(ip->udp_src);
+   sumptr = (uchar *)>udp_src;

while (sumlen > 1) {
-   ushort sumdata;
-
-   sumdata = *sumptr++;
-   xsum += ntohs(sumdata);
+   xsum += (sumptr[0] << 8) + sumptr[1];
+   sumptr += 2;
sumlen -= 2;
}
if (sumlen > 0) {
--
2.24.0.rc1

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH] imx: sync with kernel device tree for Phycore SoM

2019-11-04 Thread Parthiban Nallathambi
Sync the Linux Kernel 5.4-rc6 device tree for Phytec Phycore
SoM and Segin board based on imx6UL and imx6ULL.

Changes includes Phytec naming convention for the devicetree files.

Signed-off-by: Parthiban Nallathambi 
---
 arch/arm/dts/Makefile |   4 +-
 arch/arm/dts/imx6ul-phycore-segin.dts |  81 
 ...on.dtsi => imx6ul-phytec-phycore-som.dtsi} | 130 +++
 .../dts/imx6ul-phytec-segin-ff-rdk-nand.dts   |  93 +
 .../dts/imx6ul-phytec-segin-peb-eval-01.dtsi  |  57 +++
 arch/arm/dts/imx6ul-phytec-segin.dtsi | 346 ++
 arch/arm/dts/imx6ull-phycore-segin.dts|  70 
 arch/arm/dts/imx6ull-phytec-phycore-som.dtsi  |  24 ++
 .../dts/imx6ull-phytec-segin-ff-rdk-emmc.dts  |  93 +
 .../dts/imx6ull-phytec-segin-peb-eval-01.dtsi |  19 +
 arch/arm/dts/imx6ull-phytec-segin.dtsi|  38 ++
 board/phytec/pcl063/MAINTAINERS   |  12 +-
 configs/phycore_pcl063_defconfig  |   3 +-
 configs/phycore_pcl063_ull_defconfig  |   2 +-
 14 files changed, 732 insertions(+), 240 deletions(-)
 delete mode 100644 arch/arm/dts/imx6ul-phycore-segin.dts
 rename arch/arm/dts/{pcl063-common.dtsi => imx6ul-phytec-phycore-som.dtsi} 
(56%)
 create mode 100644 arch/arm/dts/imx6ul-phytec-segin-ff-rdk-nand.dts
 create mode 100644 arch/arm/dts/imx6ul-phytec-segin-peb-eval-01.dtsi
 create mode 100644 arch/arm/dts/imx6ul-phytec-segin.dtsi
 delete mode 100644 arch/arm/dts/imx6ull-phycore-segin.dts
 create mode 100644 arch/arm/dts/imx6ull-phytec-phycore-som.dtsi
 create mode 100644 arch/arm/dts/imx6ull-phytec-segin-ff-rdk-emmc.dts
 create mode 100644 arch/arm/dts/imx6ull-phytec-segin-peb-eval-01.dtsi
 create mode 100644 arch/arm/dts/imx6ull-phytec-segin.dtsi

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 47978e7685..935b661284 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -621,14 +621,14 @@ dtb-$(CONFIG_MX6UL) += \
imx6ul-9x9-evk.dtb \
imx6ul-9x9-evk.dtb \
imx6ul-liteboard.dtb \
-   imx6ul-phycore-segin.dtb \
+   imx6ul-phytec-segin-ff-rdk-nand.dtb \
imx6ul-pico-hobbit.dtb \
imx6ul-pico-pi.dtb
 
 dtb-$(CONFIG_MX6ULL) += \
imx6ull-14x14-evk.dtb \
imx6ull-colibri.dtb \
-   imx6ull-phycore-segin.dtb \
+   imx6ull-phytec-segin-ff-rdk-emmc.dtb \
imx6ull-dart-6ul.dtb \
imx6ulz-14x14-evk.dtb
 
diff --git a/arch/arm/dts/imx6ul-phycore-segin.dts 
b/arch/arm/dts/imx6ul-phycore-segin.dts
deleted file mode 100644
index 7d68bf8430..00
--- a/arch/arm/dts/imx6ul-phycore-segin.dts
+++ /dev/null
@@ -1,81 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * Copyright (C) 2018 Collabora Ltd.
- *
- * Based on dts[i] from Phytec barebox port:
- * Copyright (C) 2016 PHYTEC Messtechnik GmbH
- * Author: Christian Hemp 
- *
- * The code contained herein is licensed under the GNU General Public
- * License. You may obtain a copy of the GNU General Public License
- * Version 2 or later at the following locations:
- *
- * http://www.opensource.org/licenses/gpl-license.html
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/dts-v1/;
-
-#include "imx6ul.dtsi"
-#include "pcl063-common.dtsi"
-
-/ {
-   model = "Phytec phyBOARD-i.MX6UL-Segin SBC";
-   compatible = "phytec,phyboard-imx6ul-segin", "phytec,imx6ul-pcl063",
-"fsl,imx6ul";
-};
-
- {
-   status = "okay";
-};
-
- {
-   i2c_rtc: rtc@68 {
-   compatible = "microcrystal,rv4162";
-   reg = <0x68>;
-   status = "okay";
-   };
-};
-
- {
-   pinctrl-names = "default";
-   pinctrl-0 = <_uart5>;
-   uart-has-rtscts;
-   status = "okay";
-};
-
- {
-   pinctrl-names = "default";
-   pinctrl-0 = <_usb_otg1_id>;
-   dr_mode = "otg";
-   srp-disable;
-   hnp-disable;
-   adp-disable;
-   status = "okay";
-};
-
- {
-   dr_mode = "host";
-   disable-over-current;
-   status = "okay";
-};
-
- {
-   pinctrl-names = "default";
-
-   pinctrl_uart5: uart5grp {
-   fsl,pins = <
-   MX6UL_PAD_UART5_TX_DATA__UART5_DCE_TX   0x1b0b1
-   MX6UL_PAD_UART5_RX_DATA__UART5_DCE_RX   0x1b0b1
-   MX6UL_PAD_GPIO1_IO08__UART5_DCE_RTS 0x1b0b1
-   MX6UL_PAD_GPIO1_IO09__UART5_DCE_CTS 0x1b0b1
-   >;
-   };
-
-   pinctrl_usb_otg1_id: usbotg1idgrp {
-   fsl,pins = <
-   MX6UL_PAD_GPIO1_IO00__ANATOP_OTG1_ID0x17059
-   >;
-   };
-
-};
diff --git a/arch/arm/dts/pcl063-common.dtsi 
b/arch/arm/dts/imx6ul-phytec-phycore-som.dtsi
similarity index 56%
rename from arch/arm/dts/pcl063-common.dtsi
rename to arch/arm/dts/imx6ul-phytec-phycore-som.dtsi
index b88dde2fb0..c2a7c78779 100644
--- a/arch/arm/dts/pcl063-common.dtsi
+++ b/arch/arm/dts/imx6ul-phytec-phycore-som.dtsi
@@ -1,22 +1,35 @@
-// SPDX-License-Identifier: GPL-2.0+

Re: [U-Boot] [PATCH v1 3/4] drivers: mux: mmio-based syscon mux controller

2019-11-04 Thread Jean-Jacques Hiblot

Simon,

On 30/10/2019 02:48, Simon Glass wrote:

On Wed, 2 Oct 2019 at 06:47, Jean-Jacques Hiblot  wrote:

This adds a driver for mmio-based syscon multiplexers controlled by
bitfields in a syscon register range.
This is heavily based on the linux mmio-mux driver.

Signed-off-by: Jean-Jacques Hiblot 
---

  drivers/mux/Kconfig  |  15 +
  drivers/mux/Makefile |   1 +
  drivers/mux/mmio.c   | 155 +++
  3 files changed, 171 insertions(+)
  create mode 100644 drivers/mux/mmio.c

Reviewed-by: Simon Glass 

So much memory allocation! But I suppose it is unavoidable. No way to
use DM's auto-alloc?


I didn't try very hard to reduce the number of allocations to keep the 
code simple.


Part of the trouble comes from the fact that the number of mux_controls 
is read from the DT making it not possible to use the auto-alloc.


With other type of multiplexers (like a I2C or analog-lines multiplexer) 
the number of controls will be fixed and using auto-alloc will be possible.


JJ



Regards,
Simon


___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 1/1] net: remove superfluous __packed attribute

2019-11-04 Thread Tom Rini
On Mon, Nov 04, 2019 at 07:07:46PM +0100, Heinrich Schuchardt wrote:
> On 10/12/19 3:29 PM, Heinrich Schuchardt wrote:
> > On 10/3/19 8:01 PM, Heinrich Schuchardt wrote:
> > > On 10/3/19 7:09 PM, Tom Rini wrote:
> > > > On Thu, Oct 03, 2019 at 07:01:22PM +0200, Heinrich Schuchardt wrote:
> > > > 
> > > > > struct ip_udp_hdr is naturally packed. There is no point in adding a
> > > > > __packed attribute. With the attribute the network stack does not
> > > > > compile
> > > > > using GCC 9.2.1:
> > > > > 
> > > > > net/net.c: In function ‘net_process_received_packet’:
> > > > > net/net.c:1288:23: error: taking address of packed member of ‘struct
> > > > > ip_udp_hdr’ may result in an unaligned pointer value
> > > > > [-Werror=address-of-packed-member]
> > > > >   1288 |    sumptr = (ushort *)&(ip->udp_src);
> > > > >    |   ^~
> > > > > 
> > > > > So let's remove the attribute.
> > > > > 
> > > > > Signed-off-by: Heinrich Schuchardt 
> > > > > ---
> > > > >   include/net.h | 2 +-
> > > > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > > > > 
> > > > > diff --git a/include/net.h b/include/net.h
> > > > > index 75a16e4c8f..bd875b56f5 100644
> > > > > --- a/include/net.h
> > > > > +++ b/include/net.h
> > > > > @@ -390,7 +390,7 @@ struct ip_udp_hdr {
> > > > >   u16    udp_dst;    /* UDP destination port    */
> > > > >   u16    udp_len;    /* Length of UDP packet    */
> > > > >   u16    udp_xsum;    /* Checksum    */
> > > > > -} __attribute__((packed));
> > > > > +};
> > > > > 
> > > > >   #define IP_UDP_HDR_SIZE    (sizeof(struct ip_udp_hdr))
> > > > >   #define UDP_HDR_SIZE    (IP_UDP_HDR_SIZE - IP_HDR_SIZE)
> > > > 
> > > > This came from:
> > > > commit 704f3acfcf55343043bbed01c5fb0a0094a68e8a
> > > > Author: Denis Pynkin 
> > > > Date:   Fri Jul 21 19:28:42 2017 +0300
> > > > 
> > > >  net: Use packed structures for networking
> > > > 
> > > >  PXE boot is broken with GCC 7.1 due option '-fstore-merging'
> > > > enabled
> > > >  by default for '-O2':
> > > > 
> > > >  BOOTP broadcast 1
> > > >  data abort
> > > >  pc : [<8ff8bb30>]  lr : [<4f1f>]
> > > >  reloc pc : [<17832b30>]    lr : [<878abf1f>]
> > > >  sp : 8f558bc0  ip :  fp : 8ffef5a4
> > > >  r10: 8ffed248  r9 : 8f558ee0 r8 : 8ffef594
> > > >  r7 : 000e  r6 : 8ffed700 r5 :   r4 : 8ffed74e
> > > >  r3 : 00060101  r2 : 8ffed230 r1 : 8ffed706  r0 : 0ddd
> > > >  Flags: nzcv  IRQs off  FIQs off  Mode SVC_32
> > > >  Resetting CPU ...
> > > > 
> > > >  Core reason is usage of structures for network headers without
> > > > packed
> > > >  attribute.
> > > > 
> > > >  Reviewed-by: Yauheni Kaliuta 
> > > >  Signed-off-by: Denis Pynkin 
> > > >  Acked-by: Joe Hershberger 
> > > > 
> > > > ... so adding a few folks to the list and lets see if patchwork picks up
> > > > this tag:
> > > > Fixes: 704f3acfcf55 ("net: Use packed structures for networking")
> > > > 
> > > 
> > > Thanks for providing this background.
> > > 
> > > -fstore-merging is enabled for O2 and Os. But it should not change the
> > > program behavior.
> > > 
> > > The relevant code is in gcc/gimple-ssa-store-merging.c. It has been
> > > completely overhauled since GCC 7.1.
> > > 
> > > I have seen no problems with DHCP, ping and tFTP on arm and arm64 with
> > > GCC 9.2.1.
> > > 
> > > Best regards
> > > 
> > > Heinrich
> > > 
> > > Since GCC 7.1 some bugs have been fixed, e.g.
> > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86492
> > > 
> > 
> > Hello Joe,
> > 
> > how will we carry on, to get the issue resolved?
> > 
> > Best regards
> > 
> > Heinrich
> > ___
> 
> Hello Tom, hello Joe,
> 
> I still cannot build sandbox_defconfig. How will we resolve this issue?

We can't drop gcc-7.1 support at this point.  Perhaps use an accessor
function of some sort?

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 1/1] net: remove superfluous __packed attribute

2019-11-04 Thread Heinrich Schuchardt

On 10/12/19 3:29 PM, Heinrich Schuchardt wrote:

On 10/3/19 8:01 PM, Heinrich Schuchardt wrote:

On 10/3/19 7:09 PM, Tom Rini wrote:

On Thu, Oct 03, 2019 at 07:01:22PM +0200, Heinrich Schuchardt wrote:


struct ip_udp_hdr is naturally packed. There is no point in adding a
__packed attribute. With the attribute the network stack does not
compile
using GCC 9.2.1:

net/net.c: In function ‘net_process_received_packet’:
net/net.c:1288:23: error: taking address of packed member of ‘struct
ip_udp_hdr’ may result in an unaligned pointer value
[-Werror=address-of-packed-member]
  1288 |    sumptr = (ushort *)&(ip->udp_src);
   |   ^~

So let's remove the attribute.

Signed-off-by: Heinrich Schuchardt 
---
  include/net.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/net.h b/include/net.h
index 75a16e4c8f..bd875b56f5 100644
--- a/include/net.h
+++ b/include/net.h
@@ -390,7 +390,7 @@ struct ip_udp_hdr {
  u16    udp_dst;    /* UDP destination port    */
  u16    udp_len;    /* Length of UDP packet    */
  u16    udp_xsum;    /* Checksum    */
-} __attribute__((packed));
+};

  #define IP_UDP_HDR_SIZE    (sizeof(struct ip_udp_hdr))
  #define UDP_HDR_SIZE    (IP_UDP_HDR_SIZE - IP_HDR_SIZE)


This came from:
commit 704f3acfcf55343043bbed01c5fb0a0094a68e8a
Author: Denis Pynkin 
Date:   Fri Jul 21 19:28:42 2017 +0300

 net: Use packed structures for networking

 PXE boot is broken with GCC 7.1 due option '-fstore-merging'
enabled
 by default for '-O2':

 BOOTP broadcast 1
 data abort
 pc : [<8ff8bb30>]  lr : [<4f1f>]
 reloc pc : [<17832b30>]    lr : [<878abf1f>]
 sp : 8f558bc0  ip :  fp : 8ffef5a4
 r10: 8ffed248  r9 : 8f558ee0 r8 : 8ffef594
 r7 : 000e  r6 : 8ffed700 r5 :   r4 : 8ffed74e
 r3 : 00060101  r2 : 8ffed230 r1 : 8ffed706  r0 : 0ddd
 Flags: nzcv  IRQs off  FIQs off  Mode SVC_32
 Resetting CPU ...

 Core reason is usage of structures for network headers without
packed
 attribute.

 Reviewed-by: Yauheni Kaliuta 
 Signed-off-by: Denis Pynkin 
 Acked-by: Joe Hershberger 

... so adding a few folks to the list and lets see if patchwork picks up
this tag:
Fixes: 704f3acfcf55 ("net: Use packed structures for networking")



Thanks for providing this background.

-fstore-merging is enabled for O2 and Os. But it should not change the
program behavior.

The relevant code is in gcc/gimple-ssa-store-merging.c. It has been
completely overhauled since GCC 7.1.

I have seen no problems with DHCP, ping and tFTP on arm and arm64 with
GCC 9.2.1.

Best regards

Heinrich

Since GCC 7.1 some bugs have been fixed, e.g.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86492



Hello Joe,

how will we carry on, to get the issue resolved?

Best regards

Heinrich
___


Hello Tom, hello Joe,

I still cannot build sandbox_defconfig. How will we resolve this issue?

Best regards

Heinrich
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v1 2/4] dm: board: complete the initialization of the muxes in initr_dm()

2019-11-04 Thread Jean-Jacques Hiblot


On 30/10/2019 02:48, Simon Glass wrote:

Hi Jean-Jacques,

On Wed, 2 Oct 2019 at 06:47, Jean-Jacques Hiblot  wrote:

This will probe the multiplexer devices that have a "u-boot,mux-autoprobe"
property. As a consequence they will be put in their idle state.

Signed-off-by: Jean-Jacques Hiblot 
---

  common/board_r.c | 2 ++
  1 file changed, 2 insertions(+)

I worry this should happen later, or lazily, since at present we don't
actually probe any devices at this point, right?


It has to be done early to make sure that the platform is in the right 
state before most of the drivers are initialized. Some devices may rely 
on it without knowing it. In this way, it is similar to the gpio-hog 
mechanism.


Now, I have no strong opinion on when this should really take place. 
Only it has to be after dm is initialized. Maybe it could be inserted in 
init_sequence_r, after board_init() ?


It should probably be before the serial port is used, just in case 
someone multiplexed the serial port of the console.



JJ




Regards,
Simon


___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v1 1/4] drivers: Add a new framework for multiplexer devices

2019-11-04 Thread Jean-Jacques Hiblot

Hi Simon,

Thank for the review.

On 30/10/2019 02:48, Simon Glass wrote:

Hi Jean-Jacques,

On Wed, 2 Oct 2019 at 06:47, Jean-Jacques Hiblot  wrote:

Add a new subsystem that handles multiplexer controllers. The API is the
same as in Linux.

Signed-off-by: Jean-Jacques Hiblot 
---

  drivers/Kconfig   |   2 +
  drivers/Makefile  |   1 +
  drivers/mux/Kconfig   |   7 +
  drivers/mux/Makefile  |   6 +
  drivers/mux/mux-uclass.c  | 296 ++
  include/dm/uclass-id.h|   1 +
  include/dt-bindings/mux/mux.h |  17 ++
  include/mux-internal.h|  80 +
  include/mux.h | 114 +
  9 files changed, 524 insertions(+)
  create mode 100644 drivers/mux/Kconfig
  create mode 100644 drivers/mux/Makefile
  create mode 100644 drivers/mux/mux-uclass.c
  create mode 100644 include/dt-bindings/mux/mux.h
  create mode 100644 include/mux-internal.h
  create mode 100644 include/mux.h


I feel this needs more documentation. What is a multiplexer?


I'll add a description of what a mux is in include/mux.h




diff --git a/drivers/Kconfig b/drivers/Kconfig
index 350acf81f3..5334974ad4 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -60,6 +60,8 @@ source "drivers/mmc/Kconfig"

  source "drivers/mtd/Kconfig"

+source "drivers/mux/Kconfig"
+
  source "drivers/net/Kconfig"

  source "drivers/nvme/Kconfig"
diff --git a/drivers/Makefile b/drivers/Makefile
index a4bb5e4975..f4d71f3b3c 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -12,6 +12,7 @@ obj-$(CONFIG_$(SPL_TPL_)INPUT) += input/
  obj-$(CONFIG_$(SPL_TPL_)LED) += led/
  obj-$(CONFIG_$(SPL_TPL_)MMC_SUPPORT) += mmc/
  obj-$(CONFIG_$(SPL_TPL_)NAND_SUPPORT) += mtd/nand/raw/
+obj-$(CONFIG_$(SPl_)MULTIPLEXER) += mux/

SPL?

good catch



  obj-$(CONFIG_$(SPL_TPL_)PCH_SUPPORT) += pch/
  obj-$(CONFIG_$(SPL_TPL_)PCI) += pci/
  obj-$(CONFIG_$(SPL_TPL_)PHY) += phy/
diff --git a/drivers/mux/Kconfig b/drivers/mux/Kconfig
new file mode 100644
index 00..ad0199c058
--- /dev/null
+++ b/drivers/mux/Kconfig
@@ -0,0 +1,7 @@
+menu "Multiplexer drivers"
+
+config MULTIPLEXER
+   bool "Multiplexer Support"
+   depends on DM
+
+endmenu
diff --git a/drivers/mux/Makefile b/drivers/mux/Makefile
new file mode 100644
index 00..351e4363d3
--- /dev/null
+++ b/drivers/mux/Makefile
@@ -0,0 +1,6 @@
+# SPDX-License-Identifier: GPL-2.0+
+#
+# (C) Copyright 2019
+# Jean-Jacques Hiblot 
+
+obj-$(CONFIG_$(SPL_)MULTIPLEXER) += mux-uclass.o
diff --git a/drivers/mux/mux-uclass.c b/drivers/mux/mux-uclass.c
new file mode 100644
index 00..58998af29c
--- /dev/null
+++ b/drivers/mux/mux-uclass.c
@@ -0,0 +1,296 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Multiplexer subsystem
+ *
+ * Based on the linux multiplexer framework
+ *
+ * Copyright (C) 2017 Axentia Technologies AB
+ * Author: Peter Rosin 
+ *
+ * Copyright (C) 2017-2018 Texas Instruments Incorporated - http://www.ti.com/
+ * Jean-Jacques Hiblot 
+ */
+
+#include 
+#include 

should go above the dm/device-internal


+#include 
+#include 

Shouldn't need this

+#include 

Shouldn't need this


+#include 
+#include 
+#include 

Shouldn't need this

I'll cleanup the headers in v2.



+#include 
+
+/*
+ * The idle-as-is "state" is not an actual state that may be selected, it
+ * only implies that the state should not be changed. So, use that state
+ * as indication that the cached state of the multiplexer is unknown.
+ */
+#define MUX_CACHE_UNKNOWN MUX_IDLE_AS_IS
+
+static inline const struct mux_control_ops *mux_dev_ops(struct udevice *dev)
+{
+   return (const struct mux_control_ops *)dev->driver->ops;
+}
+
+static int mux_control_set(struct mux_control *mux, int state)
+{
+   int ret = mux_dev_ops(mux->dev)->set(mux, state);
+
+   mux->cached_state = ret < 0 ? MUX_CACHE_UNKNOWN : state;
+
+   return ret;
+}
+
+unsigned int mux_control_states(struct mux_control *mux)
+{
+   return mux->states;
+}
+
+static int __mux_control_select(struct mux_control *mux, int state)
+{
+   int ret;
+
+   if (WARN_ON(state < 0 || state >= mux->states))
+   return -EINVAL;
+
+   if (mux->cached_state == state)
+   return 0;
+
+   ret = mux_control_set(mux, state);
+   if (ret >= 0)
+   return 0;
+
+   /* The mux update failed, try to revert if appropriate... */
+   if (mux->idle_state != MUX_IDLE_AS_IS)
+   mux_control_set(mux, mux->idle_state);
+
+   return ret;
+}
+
+int mux_control_select(struct mux_control *mux, unsigned int state)
+{
+   int ret;
+
+   if (mux->in_use)
+   return -EBUSY;
+
+   ret = __mux_control_select(mux, state);
+
+   if (ret < 0)
+   return ret;
+
+   mux->in_use = true;
+
+   return 0;
+}
+
+int mux_control_deselect(struct mux_control *mux)
+{
+   int ret = 0;
+
+   if (mux->idle_state != MUX_IDLE_AS_IS &&
+   mux->idle_state != 

Re: [U-Boot] [PATCH 26/34] binman: Correct symbol calculation with non-zero image base

2019-11-04 Thread Stephen Warren

On 10/15/19 10:09 AM, Stephen Warren wrote:

On 10/15/19 8:07 AM, Simon Glass wrote:

Hi Stephen,

On Mon, 14 Oct 2019 at 09:49, Stephen Warren  
wrote:


On 9/26/19 6:38 PM, s...@google.com wrote:
At present binman adds the image base address to the symbol value 
before

it writes it to the binary. This is not correct since the symbol value
itself (e.g. image position) has no relationship to the image base.

Fix this and update the tests to cover this case.

Signed-off-by: Simon Glass 
---

   tools/binman/elf.py  | 4 +---
   tools/binman/test/u_boot_binman_syms.lds | 2 +-
   2 files changed, 2 insertions(+), 4 deletions(-)

Applied to u-boot-dm, thanks!


This seems to have only just been pushed. This patch breaks boot on
Jetson TK1; u-boot-dm.git master hangs in SPL or before the main U-Boot
prints anything, whereas after reverting this patch solves the issue.

With this patch applied, all I get is:

U-Boot SPL 2019.10-00490-g4f035abcde98 (Oct 14 2019 - 09:48:30 -0600)
Trying to boot from RAM


Yes, just pushed as I had to wait for u-boot-dm/testing to pass, and
it has some flaky runs and then I went on holiday.

This is unfortunate. It looks like we were missing test coverage. I'll
see if I can look at it later in the week, but for now I think I might
drop this patch.


Thanks. The latest push to u-boot-dm/master solves/removes this issue.


This patch has now shown in in u-boot/master and u-boot-video/master, so 
Jetson TK1 testing is broken there now. Reverting this patch fixes the 
issue (I only tested that in u-boot/master).

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [EXT] Re: Cavium/Marvell Octeon Support

2019-11-04 Thread Tom Rini
On Thu, Oct 31, 2019 at 06:01:34PM +, Aaron Williams wrote:
> Hi Wolfgang,
> 
> On Thursday, October 31, 2019 3:40:27 AM PDT Wolfgang Denk wrote:
> > Dear Aaron,
> > 
> > In message <1889679.7FQr5zsBR1@flash> you wrote:
> > > Currently we are using 39MB under arch/mips. I think I can easily cut this
> > > down to 15MB or smaller, especially by moving some code here to the
> > > appropriate driver directories (i.e. DRAM,  pcie, watchdog, etc.)
> > > 
> > > It will still be a large SoC, though.
> > 
> > Have you already looked at formal requirements, like coding style
> > etc.?   Did you ever run your additions through checkpatch.pl, for
> > example?
> 
> We did follow the formal coding style. Everything will go through checkpatch. 
> My biggest complaint about it is the 80 columns for debug and other print 
> statements.

checkpatch doesn't complain about those when they use standard logging
functions, however.

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [RFC PATCH 4/5] ram: add SDRAM driver for i.MXRT SoCs

2019-11-04 Thread Giulio Benetti

On 11/4/19 5:33 PM, Fabio Estevam wrote:

Hi Giulio,

On Thu, Oct 31, 2019 at 9:11 AM Giulio Benetti
 wrote:


...in this register and the next one there are parameters like CKEOFF
and ACT2PRE impossible to lead to classic tXXX sdram timing parameters.
I've done this way inspired by stm32-sdram, but maybe U should go back
using i.MXRT names(i.e. PRE2ACT instead of tRP) and list all possible
useful registers in DM as I've done for tRP etc.
What do you think?


I think it is OK to use the i.MXRT names.


Ok


#define TWR_10x0

+#define TWR_20x1
+#define TWR_30x2
+#define TWR_40x3
+#define TWR_50x4
+#define TWR_60x5
+#define TWR_70x6
+#define TWR_80x7
+#define TWR_90x8
+#define TWR_10   0x9
+#define TWR_11   0xA
+#define TWR_12   0xB
+#define TWR_13   0xC
+#define TWR_14   0xD
+#define TWR_15   0xE
+#define TWR_16   0xF
+
+#endif



...is it ok listing every possible value for DM parameter?
I mean, some of them would be 8-bit, this would mean having 256 cases,
that sound very ugly to me.


It doesn't seem necessary to write all 256 cases. I would suggest to
write the direct hex number.



Well, thanks a lot!

Best regards
--
Giulio Benetti
Benetti Engineering sas
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [RFC PATCH 4/5] ram: add SDRAM driver for i.MXRT SoCs

2019-11-04 Thread Fabio Estevam
Hi Giulio,

On Thu, Oct 31, 2019 at 9:11 AM Giulio Benetti
 wrote:

> ...in this register and the next one there are parameters like CKEOFF
> and ACT2PRE impossible to lead to classic tXXX sdram timing parameters.
> I've done this way inspired by stm32-sdram, but maybe U should go back
> using i.MXRT names(i.e. PRE2ACT instead of tRP) and list all possible
> useful registers in DM as I've done for tRP etc.
> What do you think?

I think it is OK to use the i.MXRT names.

#define TWR_10x0
> > +#define TWR_20x1
> > +#define TWR_30x2
> > +#define TWR_40x3
> > +#define TWR_50x4
> > +#define TWR_60x5
> > +#define TWR_70x6
> > +#define TWR_80x7
> > +#define TWR_90x8
> > +#define TWR_10   0x9
> > +#define TWR_11   0xA
> > +#define TWR_12   0xB
> > +#define TWR_13   0xC
> > +#define TWR_14   0xD
> > +#define TWR_15   0xE
> > +#define TWR_16   0xF
> > +
> > +#endif
> >
>
> ...is it ok listing every possible value for DM parameter?
> I mean, some of them would be 8-bit, this would mean having 256 cases,
> that sound very ugly to me.

It doesn't seem necessary to write all 256 cases. I would suggest to
write the direct hex number.
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [RFC PATCH 5/5] Add support for the NXP IMXRT1050-EVK board

2019-11-04 Thread Giulio Benetti

Hi Fabio,

On 11/1/19 1:40 PM, Fabio Estevam wrote:

Hi Giulio,

On Wed, Oct 30, 2019 at 6:09 PM Giulio Benetti
 wrote:

Please add a commit log that briefly describes the board.


Yes.



Signed-off-by: Giulio Benetti 
---
  arch/arm/dts/Makefile |   2 +
  arch/arm/dts/imxrt1050-evk.dts| 124 
  arch/arm/dts/imxrt1050.dtsi   |  73 +
  arch/arm/mach-imx/imxrt/Kconfig   |  11 +
  board/freescale/imxrt1050-evk/Kconfig |  19 ++
  board/freescale/imxrt1050-evk/MAINTAINERS |   6 +
  board/freescale/imxrt1050-evk/Makefile|   6 +


Please add a board/freescale/imxrt1050-evk/README that explains how to
build, flash the U-Boot binary and boot.


Right.


  board/freescale/imxrt1050-evk/imxrt1050-evk.c |  94 ++
  configs/imxrt1050-evk_defconfig   |  52 
  include/configs/imxrt1050-evk.h   |  68 +
  include/dt-bindings/clock/imxrt-clock.h   | 272 ++
  11 files changed, 727 insertions(+)
  create mode 100644 arch/arm/dts/imxrt1050-evk.dts
  create mode 100644 arch/arm/dts/imxrt1050.dtsi
  create mode 100644 board/freescale/imxrt1050-evk/Kconfig
  create mode 100644 board/freescale/imxrt1050-evk/MAINTAINERS
  create mode 100644 board/freescale/imxrt1050-evk/Makefile
  create mode 100644 board/freescale/imxrt1050-evk/imxrt1050-evk.c
  create mode 100644 configs/imxrt1050-evk_defconfig
  create mode 100644 include/configs/imxrt1050-evk.h
  create mode 100644 include/dt-bindings/clock/imxrt-clock.h


This imxrt-clock.h header and the arch/arm/dts/imxrt1050.dts  is
common imxrt code and not related to the evk board, so better put them
on a separate patch.


Ok, already done since I'm working right on clock driver now.

Thanks for reviewing my patches, can you also take a look at this [1]?
Because I don't know how to proceed with sdram driver.

Thanks in advance

[1]: https://lists.denx.de/pipermail/u-boot/2019-October/388905.html

Best regards
--
Giulio Benetti
Benetti Engineering sas
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [RFC PATCH 0/5] WIP Add support for i.MXRT family

2019-11-04 Thread Giulio Benetti

Hi Fabio,

On 11/1/19 1:41 PM, Fabio Estevam wrote:

Hi Giulio,

On Wed, Oct 30, 2019 at 6:09 PM Giulio Benetti
 wrote:


This patchset is a WIP for adding i.MXRT family.
It provides:
- soc family entry
- pinctrl driver
- serial driver tweaking
- partial sdram controller driver
- imxrt1050-evk board partial support


Where do you store the U-Boot environment?Is there a eSDHC driver for
it, for example?


Yes, I want to use eSDHC to store there u-boot environment and I'm still 
working on it.


--
Giulio Benetti
Benetti Engineering sas
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [EXT] Re: Cavium/Marvell Octeon Support

2019-11-04 Thread Tom Rini
On Mon, Nov 04, 2019 at 04:44:18PM +0100, Wolfgang Denk wrote:
> Dear Aaron,
> 
> In message <2710076.TiSPtmOvtb@flash> you wrote:
> >
> > > What exactly do you need this for?  Why don't you just link your
> > > code with the rest of U-Boot?
> >
> > We need it to obtain and modify the phy parameters. This is a custom 25G 
> > gearbox that needs a lot of hand holding. This may end up being a low 
> > priority 
> > (not the gearbox, but the API). It's only a few hundred lines of code (the 
> > API).
> 
> Again you don't answer my question.  Why do you need a special new
> API for such code?  Why do you not just link that code with the rest
> of U-Boot?
> 
> It has been mentioned before, but just to be sure: this code which
> uses your new API is licensed under a GPLv2 conforming lincense?

And, to be blunt, if it is not, handling your non-GPLv2 applications
via an EFI binary is the way forward, not extending the U-Boot binary
ABI, in my opinion.

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v5 00/19] efi_loader: non-volatile variables support

2019-11-04 Thread Tom Rini
On Mon, Nov 04, 2019 at 05:00:03PM +0100, Wolfgang Denk wrote:
> Dear Takahiro,
> 
> In message <20191101060434.gv10...@linaro.org> you wrote:
> >
> > > This is even worse, as instead of adding a single argument to a
> > > function call you are adding two full fucntion calls.
> > > 
> > > But why would that be needed?
> > > 
> > > U-Boot is strictly single tasking.  You always know what the current
> > > context is, and nobody will change it behind your back.
> > > 
> > > And UEFI functions are not being called in random places, they are
> > > limited to a small set of UEFI commands, right?  So why do you not
> > > just enter UEFI context when you start executing UEFI code, and
> > > restore the rpevious state when returning to non-UEFI U-Boot?
> >
> > Can you elaborate What you mean by "entering UEFI context"?
> 
> You wrote:
> 
> | So do you always admit the following coding?
> | ===8<===
> |   (in some UEFI function)
> |   ...
> |   old_ctx = env_set_context(ctx_uefi);
> |   env_set(var, value);
> |   env_set_context(old_ctx);
> |   ...
> | ===>8===
> 
> In this code, the function call ``env_set_context(ctx_uefi)'' would
> enter the UEFI context, right?  This is what I mean.
> 
> > What I'm thinking of here is that we would add one more member field, which
> > is a pointer to my "env_context," in GD and change it in env_set_context().
> > This can be defined even as an inline function.
> 
> Yes, this is OK - I think I understood this already.
> 
> What I mean is that such a call of env_set_context() is not needed
> for each and every call of other env_*() functions.
> 
> If I understand correctly, only the UEFI specific commands will
> actually care about UEFI contexts - most likely no code outside
> cmd/nvedit_efi.c ?
> 
> So you have pretty clear entry and exit points into and from the
> UEFI world, and it should be sufficient to set and restore this
> context only then.
> 
> > I don't see why you deny such a simple solution with lots of flexibility.
> 
> I am concerned about code size and execution speed.  So far, you did
> not provide any such numbers, even though I repeatedly asked for the
> size impact, especially for non-UEFI systems.
> 
> Please keep in mind that there are many cases where we need access
> to the environment already in SPL, and on all systems where security
> plays any role we must have the same set of features enabled for the
> environment code in SPL and TPL (if these need access to the
> envronment) as in U-Boot proper, and memory is a precious resource
> there.

I too am very concerned that whatever we come up with here needs to have
between zero and near-zero impact on the rest of the U-Boot world.
We've once again hit the case where some boards don't build due to
bugfixes increasing their binary size.  And they aren't "no one uses
these, we can drop them" boards either.

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v1 3/5] regmap: Allow providing read/write callbacks through struct regmap_config

2019-11-04 Thread Jean-Jacques Hiblot


On 30/10/2019 02:48, Simon Glass wrote:

Hi Jean-Jacques,

On Fri, 27 Sep 2019 at 07:22, Jean-Jacques Hiblot  wrote:

Some linux drivers provide their own read/write functions to access data
from/of the regmap. Adding support for it.

Signed-off-by: Jean-Jacques Hiblot 
---

  drivers/core/regmap.c | 12 
  include/regmap.h  | 26 +++---
  2 files changed, 35 insertions(+), 3 deletions(-)

This increases code size in SPL so should probably be controlled by a Kconfig.

OK.


Also I wonder if regmap should become a uclass if we are adding


I don't see a real value in making a regmap a device. IMO It will just 
make things more complex than needed.


JJ


operations to it?

Regards,
Simon


___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v5 00/19] efi_loader: non-volatile variables support

2019-11-04 Thread Wolfgang Denk
Dear Takahiro,

In message <20191101060434.gv10...@linaro.org> you wrote:
>
> > This is even worse, as instead of adding a single argument to a
> > function call you are adding two full fucntion calls.
> > 
> > But why would that be needed?
> > 
> > U-Boot is strictly single tasking.  You always know what the current
> > context is, and nobody will change it behind your back.
> > 
> > And UEFI functions are not being called in random places, they are
> > limited to a small set of UEFI commands, right?  So why do you not
> > just enter UEFI context when you start executing UEFI code, and
> > restore the rpevious state when returning to non-UEFI U-Boot?
>
> Can you elaborate What you mean by "entering UEFI context"?

You wrote:

| So do you always admit the following coding?
| ===8<===
|   (in some UEFI function)
|   ...
|   old_ctx = env_set_context(ctx_uefi);
|   env_set(var, value);
|   env_set_context(old_ctx);
|   ...
| ===>8===

In this code, the function call ``env_set_context(ctx_uefi)'' would
enter the UEFI context, right?  This is what I mean.

> What I'm thinking of here is that we would add one more member field, which
> is a pointer to my "env_context," in GD and change it in env_set_context().
> This can be defined even as an inline function.

Yes, this is OK - I think I understood this already.

What I mean is that such a call of env_set_context() is not needed
for each and every call of other env_*() functions.

If I understand correctly, only the UEFI specific commands will
actually care about UEFI contexts - most likely no code outside
cmd/nvedit_efi.c ?

So you have pretty clear entry and exit points into and from the
UEFI world, and it should be sufficient to set and restore this
context only then.

> I don't see why you deny such a simple solution with lots of flexibility.

I am concerned about code size and execution speed.  So far, you did
not provide any such numbers, even though I repeatedly asked for the
size impact, especially for non-UEFI systems.

Please keep in mind that there are many cases where we need access
to the environment already in SPL, and on all systems where security
plays any role we must have the same set of features enabled for the
environment code in SPL and TPL (if these need access to the
envronment) as in U-Boot proper, and memory is a precious resource
there.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
You may call me by my name, Wirth, or by my value, Worth.
- Nicklaus Wirth
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [EXT] Re: Cavium/Marvell Octeon Support

2019-11-04 Thread Wolfgang Denk
Dear Aaron,

In message <2710076.TiSPtmOvtb@flash> you wrote:
>
> > What exactly do you need this for?  Why don't you just link your
> > code with the rest of U-Boot?
>
> We need it to obtain and modify the phy parameters. This is a custom 25G 
> gearbox that needs a lot of hand holding. This may end up being a low 
> priority 
> (not the gearbox, but the API). It's only a few hundred lines of code (the 
> API).

Again you don't answer my question.  Why do you need a special new
API for such code?  Why do you not just link that code with the rest
of U-Boot?

It has been mentioned before, but just to be sure: this code which
uses your new API is licensed under a GPLv2 conforming lincense?

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
If you believe that feeling bad or worrying long enough will change a
past or future event, then you are residing on another planet with  a
different reality system.
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v2 16/17] binman: Move to use Python 3

2019-11-04 Thread Tom Rini
On Thu, Oct 31, 2019 at 10:12:04AM -0600, Simon Glass wrote:
> Hi Tom,
> 
> On Thu, 31 Oct 2019 at 09:50, Tom Rini  wrote:
> >
> > On Thu, Oct 31, 2019 at 09:19:50AM -0600, Simon Glass wrote:
> > > Hi Tom,
> > >
> > > On Thu, 31 Oct 2019 at 07:55, Tom Rini  wrote:
> > > >
> > > > On Thu, Oct 31, 2019 at 07:43:05AM -0600, Simon Glass wrote:
> > > >
> > > > > Update this tool to use Python 3 to meet the 2020 deadline.
> > > > >
> > > > > Unfortunately this introduces a test failure due to a problem in 
> > > > > pylibfdt
> > > > > on Python 3. I will investigate.
> > > > >
> > > > > Signed-off-by: Simon Glass 
> > > > > ---
> > > > >
> > > > > Changes in v2:
> > > > > - Add a few more patches to correct remaining problems
> > > >
> > > > Is there still a failure or did you fix it?  If there still is, what
> > > > board(s) make use of that feature?  Thanks!
> > > >
> > >
> > > Everything works fine now, so far as I can tell. The pylibfdt fix was
> > > accepted upstream, too.
> >
> > OK, so a v3 to fix the commit message :)  Do you want to pull all of
> > this together in the end and give me a PR or do you want me to (and kick
> > Azure/Travis/GitLab as needed) ?
> 
> Ooops, OK, will do.
> 
> I am happy to do either.  I got a successful run. The latest one is
> going here, but only has commit-message changes:
> 
> https://gitlab.denx.de/u-boot/custodians/u-boot-dm/pipelines/1181

OK.  Can you please put together a fdt PR with those changes and then
I'll grab all of the rest of the Python stuff and make sure all the CIs
pass?  Thanks again!

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v3 050/108] x86: Set the DRAM banks to reflect real location

2019-11-04 Thread Bin Meng
On Mon, Oct 21, 2019 at 11:40 AM Simon Glass  wrote:
>
> At present with fsp a single DRAM bank is added which extends to the
> whole size of memory. However there is typically only 2GB of memory
> available below the 4GB boundary, and this is what is used by U-Boot while
> running in 32-bit mode.
>
> Scan the tables to set the banks correct. The first bank is set to memory
> below 4GB, and the rest of memory is put into subsequent banks.
>
> Signed-off-by: Simon Glass 
> ---
>
> Changes in v3:
> - Move mtrr_add_request() call to next patch
>
> Changes in v2: None
>
>  arch/x86/lib/fsp/fsp_dram.c | 30 +-
>  1 file changed, 29 insertions(+), 1 deletion(-)
>

Reviewed-by: Bin Meng 
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v3 048/108] x86: Add mrccache support for a 'variable' cache

2019-11-04 Thread Bin Meng
On Mon, Oct 21, 2019 at 11:40 AM Simon Glass  wrote:
>
> Add support for a second cache type, for apollolake.
>
> Signed-off-by: Simon Glass 
> ---
>
> Changes in v3:
> - Move the mrccache_get_region() change into this patch
>
> Changes in v2: None
>
>  arch/x86/include/asm/mrccache.h | 1 +
>  arch/x86/lib/mrccache.c | 3 ++-
>  2 files changed, 3 insertions(+), 1 deletion(-)
>

Reviewed-by: Bin Meng 
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v3 047/108] x86: Update mrccache to support multiple caches

2019-11-04 Thread Bin Meng
On Mon, Oct 21, 2019 at 11:40 AM Simon Glass  wrote:
>
> With apollolake we need to support a normal cache, which almost never
> changes and a much smaller 'variable' cache which changes every time.
>
> Update the code to add a cache type, use an array for the caches and use a
> for loop to iterate over the caches.
>
> Signed-off-by: Simon Glass 
> ---
>
> Changes in v3:
> - Move line related to variable-cache into the next patch
>
> Changes in v2: None
>
>  arch/x86/cpu/broadwell/sdram.c |  8 ++-
>  arch/x86/cpu/ivybridge/sdram.c |  8 ++-
>  arch/x86/cpu/quark/dram.c  |  8 ++-
>  arch/x86/include/asm/global_data.h | 21 +--
>  arch/x86/include/asm/mrccache.h| 11 +++-
>  arch/x86/lib/fsp/fsp_common.c  |  2 +-
>  arch/x86/lib/fsp1/fsp_dram.c   |  8 ++-
>  arch/x86/lib/mrccache.c| 88 --
>  8 files changed, 106 insertions(+), 48 deletions(-)
>

Reviewed-by: Bin Meng 
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v1 2/3] drivers: reset: Add a managed API to get reset controllers from the DT

2019-11-04 Thread Jean-Jacques Hiblot


On 30/10/2019 02:48, Simon Glass wrote:

On Mon, 30 Sep 2019 at 10:15, Jean-Jacques Hiblot  wrote:

Add managed functions to get a reset_ctl from the device-tree, based on a
name or an index.
Also add a managed functions to get a reset_ctl_bulk (array of reset_ctl)
from the device-tree.

When the device is unbound, the reset controllers are automatically
released and the data structure is freed.

Signed-off-by: Jean-Jacques Hiblot 
---

  drivers/reset/reset-uclass.c | 116 +-
  include/reset.h  | 135 ++-
  2 files changed, 247 insertions(+), 4 deletions(-)

Reviewed-by: Simon Glass 

I really don't like these ERR_PTR returns. I suppose they make the
code easier to port, and we can be sure that pointers will not be in
the last 4KB of address space?


It seems rather unlikely because the returned pointer points to actual 
RAM allocated from the heap. On most platforms I've worked with, the top 
of the address space is not dedicated to memory. If ever the need to fix 
this  arises it could done by tweaking the macros to use another unused 
address space.


JJ



Regards,
Simon


___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v1 2/2] MAINTAINERS: change colibri_imx6/imx6ull/t30/vf maintainers

2019-11-04 Thread Stefan Agner
On 2019-11-04 12:56, Igor Opaniuk wrote:
> From: Igor Opaniuk 
> 
> Take over maintainership for colibri_imx6/imx6ull/t30/vf modules.
> 
> Signed-off-by: Igor Opaniuk 

Acked-by: Stefan Agner 


Thanks for looking after those boards!

--
Stefan


> ---
> 
>  board/toradex/colibri-imx6ull/MAINTAINERS | 2 +-
>  board/toradex/colibri_imx7/MAINTAINERS| 2 +-
>  board/toradex/colibri_t30/MAINTAINERS | 2 +-
>  board/toradex/colibri_vf/MAINTAINERS  | 2 +-
>  4 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/board/toradex/colibri-imx6ull/MAINTAINERS
> b/board/toradex/colibri-imx6ull/MAINTAINERS
> index c8199fa60a..4107d29876 100644
> --- a/board/toradex/colibri-imx6ull/MAINTAINERS
> +++ b/board/toradex/colibri-imx6ull/MAINTAINERS
> @@ -1,5 +1,5 @@
>  Colibri iMX6ULL
> -M:   Stefan Agner 
> +M:   Igor Opaniuk 
>  W:   http://developer.toradex.com/software/linux/linux-software
>  W:   https://www.toradex.com/community
>  S:   Maintained
> diff --git a/board/toradex/colibri_imx7/MAINTAINERS
> b/board/toradex/colibri_imx7/MAINTAINERS
> index cd0f9c9b2d..178dece797 100644
> --- a/board/toradex/colibri_imx7/MAINTAINERS
> +++ b/board/toradex/colibri_imx7/MAINTAINERS
> @@ -1,5 +1,5 @@
>  Colibri iMX7
> -M:   Stefan Agner 
> +M:   Igor Opaniuk 
>  W:   http://developer.toradex.com/software/linux/linux-software
>  W:   https://www.toradex.com/community
>  S:   Maintained
> diff --git a/board/toradex/colibri_t30/MAINTAINERS
> b/board/toradex/colibri_t30/MAINTAINERS
> index 73b8e5d099..00c03c89b8 100644
> --- a/board/toradex/colibri_t30/MAINTAINERS
> +++ b/board/toradex/colibri_t30/MAINTAINERS
> @@ -1,5 +1,5 @@
>  Colibri T30
> -M:   Stefan Agner 
> +M:   Igor Opaniuk 
>  S:   Maintained
>  F:   board/toradex/colibri_t30/
>  F:   include/configs/colibri_t30.h
> diff --git a/board/toradex/colibri_vf/MAINTAINERS
> b/board/toradex/colibri_vf/MAINTAINERS
> index 66b2150986..f94cc0fbe2 100644
> --- a/board/toradex/colibri_vf/MAINTAINERS
> +++ b/board/toradex/colibri_vf/MAINTAINERS
> @@ -1,5 +1,5 @@
>  Colibri VFxx
> -M:   Stefan Agner 
> +M:   Igor Opaniuk 
>  W:   http://developer.toradex.com/software/linux/linux-software
>  W:   https://www.toradex.com/community
>  S:   Maintained
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v3 043/108] x86: Adjust mrccache_get_region() to use livetree

2019-11-04 Thread Bin Meng
Hi Simon,

On Mon, Oct 21, 2019 at 11:40 AM Simon Glass  wrote:
>
> Change the algorithm to first find the flash device then read the
> properties using the livetree API. With this change the device is not
> probed so this needs to be done in mrccache_save().
>
> Signed-off-by: Simon Glass 
> ---
>
> Changes in v3:
> - Update mrccache livetree patch to just convert to livetree
>
> Changes in v2: None
>
>  arch/x86/lib/mrccache.c | 55 +++--
>  1 file changed, 26 insertions(+), 29 deletions(-)
>
> diff --git a/arch/x86/lib/mrccache.c b/arch/x86/lib/mrccache.c
> index 7292d1fe070..b8bc5de602c 100644
> --- a/arch/x86/lib/mrccache.c
> +++ b/arch/x86/lib/mrccache.c
> @@ -14,6 +14,8 @@
>  #include 
>  #include 
>  #include 
> +#include 
> +#include 
>
>  DECLARE_GLOBAL_DATA_PTR;
>
> @@ -201,45 +203,37 @@ int mrccache_reserve(void)
>
>  int mrccache_get_region(struct udevice **devp, struct mrc_region *entry)
>  {
> -   const void *blob = gd->fdt_blob;
> -   int node, mrc_node;
> +   struct udevice *dev;
> +   ofnode mrc_node;
> u32 reg[2];
> int ret;
>
> -   /* Find the flash chip within the SPI controller node */
> -   node = fdtdec_next_compatible(blob, 0, COMPAT_GENERIC_SPI_FLASH);
> -   if (node < 0) {
> -   debug("%s: Cannot find SPI flash\n", __func__);
> -   return -ENOENT;
> -   }
> -
> -   if (fdtdec_get_int_array(blob, node, "memory-map", reg, 2)) {
> -   debug("%s: Cannot find memory map\n", __func__);
> -   return -EINVAL;
> -   }
> +   /*
> +* Find the flash chip within the SPI controller node. Avoid probing
> +* the device here since it may put it into a strange state where the
> +* memory map cannot be read.
> +*/
> +   ret = uclass_find_first_device(UCLASS_SPI_FLASH, );

Adding probe of UCLASS_SPI_FLASH should be in the next patch:

[U-Boot,v3,044/108] x86: Adjust mrccache_get_region() to support get_mmap()

> +   if (ret)
> +   return log_msg_ret("Cannot find SPI flash\n", ret);
> +   ret = dev_read_u32_array(dev, "memory-map", reg, 2);
> +   if (ret)
> +   return log_msg_ret("Cannot find memory map\n", ret);
> entry->base = reg[0];
>
> /* Find the place where we put the MRC cache */
> -   mrc_node = fdt_subnode_offset(blob, node, "rw-mrc-cache");
> -   if (mrc_node < 0) {
> -   debug("%s: Cannot find node\n", __func__);
> -   return -EPERM;
> -   }
> +   mrc_node = dev_read_subnode(dev, "rw-mrc-cache");
> +   if (!ofnode_valid(mrc_node))
> +   return log_msg_ret("Cannot find node", -EPERM);
>
> -   if (fdtdec_get_int_array(blob, mrc_node, "reg", reg, 2)) {
> -   debug("%s: Cannot find address\n", __func__);
> -   return -EINVAL;
> -   }
> +   ret = ofnode_read_u32_array(mrc_node, "reg", reg, 2);
> +   if (ret)
> +   return log_msg_ret("Cannot find address", ret);
> entry->offset = reg[0];
> entry->length = reg[1];
>
> -   if (devp) {
> -   ret = uclass_get_device_by_of_offset(UCLASS_SPI_FLASH, node,
> -devp);
> -   debug("ret = %d\n", ret);
> -   if (ret)
> -   return ret;
> -   }
> +   if (devp)
> +   *devp = dev;
>
> return 0;
>  }
> @@ -257,6 +251,9 @@ int mrccache_save(void)
>   gd->arch.mrc_output_len);
>
> ret = mrccache_get_region(, );
> +   if (ret)
> +   goto err_entry;
> +   ret = device_probe(sf);

This needs a comment as we discussed in v2, or maybe it should also go
into next patch?

> if (ret)
> goto err_entry;
> data  = (struct mrc_data_container *)gd->arch.mrc_output;
> --

Regards,
Bin
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v3 042/108] x86: Correct mrccache find_next_mrc_cache() calculation

2019-11-04 Thread Bin Meng
Hi Simon,

On Mon, Oct 21, 2019 at 11:40 AM Simon Glass  wrote:
>
> This should take account of the end of the new cache record since a record
> cannot extend beyond the end of the flash region. This problem was not
> seen before due to the alignment of the relatively small amount of MRC
> data.
>
> But with apollolake the MRC data is about 45KB, even if most of it is
> zeroes.
>
> Fix this bug and update the parameter name to be less confusing.
>
> Signed-off-by: Simon Glass 
> ---
>
> Changes in v3:
> - Add an extra size parameter to the find_next_mrc_cache() function
>
> Changes in v2: None
>
>  arch/x86/lib/mrccache.c | 13 +
>  1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/arch/x86/lib/mrccache.c b/arch/x86/lib/mrccache.c
> index 33bb52039bd..7292d1fe070 100644
> --- a/arch/x86/lib/mrccache.c
> +++ b/arch/x86/lib/mrccache.c
> @@ -80,21 +80,26 @@ struct mrc_data_container *mrccache_find_current(struct 
> mrc_region *entry)
>  /**
>   * find_next_mrc_cache() - get next cache entry
>   *
> + * This moves to the next cache entry in the region, making sure it has 
> enough
> + * space to hold data of size @data_size.
> + *
>   * @entry: MRC cache flash area
>   * @cache: Entry to start from
> + * @data_size: Required data size of the new entry
>   *
>   * @return next cache entry if found, NULL if we got to the end
>   */
>  static struct mrc_data_container *find_next_mrc_cache(struct mrc_region 
> *entry,
> -   struct mrc_data_container *cache)
> +   struct mrc_data_container *prev, int data_size)
>  {
> +   struct mrc_data_container *cache;
> ulong base_addr, end_addr;
>
> base_addr = entry->base + entry->offset;
> end_addr = base_addr + entry->length;
>
> -   cache = next_mrc_block(cache);
> -   if ((ulong)cache >= end_addr) {
> +   cache = next_mrc_block(prev);
> +   if ((ulong)cache + mrc_block_size(prev->data_size) > end_addr) {

It takes me another several minutes to understand this, as I was
confused by the v2 patch :)

So in v2 we agreed to add some comments here, as we assume the
data_size will be the same.

> /* Crossed the boundary */
> cache = NULL;
> debug("%s: no available entries found\n", __func__);
> @@ -131,7 +136,7 @@ int mrccache_update(struct udevice *sf, struct mrc_region 
> *entry,
>
> /* Move to the next block, which will be the first unused block */
> if (cache)
> -   cache = find_next_mrc_cache(entry, cache);
> +   cache = find_next_mrc_cache(entry, cache, cur->data_size);
>
> /*
>  * If we have got to the end, erase the entire mrc-cache area and 
> start
> --

Regards,
Bin
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v2] mx6: Allow configuring the NoC registers on i.MX6QP

2019-11-04 Thread Stefano Babic
On 04/11/19 13:44, Fabio Estevam wrote:
> The NoC registers on i.MX6QP needs to be configured, otherwise some
> usecases in the kernel behave incorrectly, such as rotation and resize.
> 
> Currently the NoC registers are not configured in the kernel, so
> configure them in U-Boot like it is done in the NXP U-Boot tree.
> 
> Signed-off-by: Fabio Estevam 
> Reviewed-by: Peng Fan 
> ---
> Changes since v1:
> - Fix the build on mx6sxsabresd_defconfig (Stefano)
> 
>  arch/arm/mach-imx/mx6/soc.c | 35 +++
>  1 file changed, 35 insertions(+)
> 
> diff --git a/arch/arm/mach-imx/mx6/soc.c b/arch/arm/mach-imx/mx6/soc.c
> index 6dccee484c..3671d3182b 100644
> --- a/arch/arm/mach-imx/mx6/soc.c
> +++ b/arch/arm/mach-imx/mx6/soc.c
> @@ -374,6 +374,37 @@ static void init_bandgap(void)
>   }
>  }
>  
> +#if defined(CONFIG_MX6Q) || defined(CONFIG_MX6QDL)
> +static void noc_setup(void)
> +{
> + enable_ipu_clock();
> +
> + writel(0x8201, 0xbb0608);
> + /* Bypass IPU1 QoS generator */
> + writel(0x0002, 0x00bb048c);
> + /* Bypass IPU2 QoS generator */
> + writel(0x0002, 0x00bb050c);
> + /* Bandwidth THR for of PRE0 */
> + writel(0x0200, 0x00bb0690);
> + /* Bandwidth THR for of PRE1 */
> + writel(0x0200, 0x00bb0710);
> + /* Bandwidth THR for of PRE2 */
> + writel(0x0200, 0x00bb0790);
> + /* Bandwidth THR for of PRE3 */
> + writel(0x0200, 0x00bb0810);
> + /* Saturation THR for of PRE0 */
> + writel(0x0010, 0x00bb0694);
> + /* Saturation THR for of PRE1 */
> + writel(0x0010, 0x00bb0714);
> + /* Saturation THR for of PRE2 */
> + writel(0x0010, 0x00bb0794);
> + /* Saturation THR for of PRE */
> + writel(0x0010, 0x00bb0814);
> +
> + disable_ipu_clock();
> +}
> +#endif
> +
>  int arch_cpu_init(void)
>  {
>   struct mxc_ccm_reg *ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
> @@ -451,6 +482,10 @@ int arch_cpu_init(void)
>  
>   init_src();
>  
> +#if defined(CONFIG_MX6Q) || defined(CONFIG_MX6QDL)
> + if (is_mx6dqp())
> + noc_setup();
> +#endif
>   return 0;
>  }
>  
> 

Reviewed-by: Stefano Babic 

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 4/4] mx6: Allow configuring the NoC registers on i.MX6QP

2019-11-04 Thread Fabio Estevam
Hi Stefano,

On Sun, Nov 3, 2019 at 1:06 PM Stefano Babic  wrote:

> I found a good reason why they were out. Patch 4 breaks the build for
> mx6sxsabresd because enable_[disable]ipu is called (of course, it should
> not be).
>
> Could you take a look and repost ? Thanks !

Thanks for the feedback.

I have fixed it and submitted a v2.

Thanks
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v2] mx6: Allow configuring the NoC registers on i.MX6QP

2019-11-04 Thread Fabio Estevam
The NoC registers on i.MX6QP needs to be configured, otherwise some
usecases in the kernel behave incorrectly, such as rotation and resize.

Currently the NoC registers are not configured in the kernel, so
configure them in U-Boot like it is done in the NXP U-Boot tree.

Signed-off-by: Fabio Estevam 
Reviewed-by: Peng Fan 
---
Changes since v1:
- Fix the build on mx6sxsabresd_defconfig (Stefano)

 arch/arm/mach-imx/mx6/soc.c | 35 +++
 1 file changed, 35 insertions(+)

diff --git a/arch/arm/mach-imx/mx6/soc.c b/arch/arm/mach-imx/mx6/soc.c
index 6dccee484c..3671d3182b 100644
--- a/arch/arm/mach-imx/mx6/soc.c
+++ b/arch/arm/mach-imx/mx6/soc.c
@@ -374,6 +374,37 @@ static void init_bandgap(void)
}
 }
 
+#if defined(CONFIG_MX6Q) || defined(CONFIG_MX6QDL)
+static void noc_setup(void)
+{
+   enable_ipu_clock();
+
+   writel(0x8201, 0xbb0608);
+   /* Bypass IPU1 QoS generator */
+   writel(0x0002, 0x00bb048c);
+   /* Bypass IPU2 QoS generator */
+   writel(0x0002, 0x00bb050c);
+   /* Bandwidth THR for of PRE0 */
+   writel(0x0200, 0x00bb0690);
+   /* Bandwidth THR for of PRE1 */
+   writel(0x0200, 0x00bb0710);
+   /* Bandwidth THR for of PRE2 */
+   writel(0x0200, 0x00bb0790);
+   /* Bandwidth THR for of PRE3 */
+   writel(0x0200, 0x00bb0810);
+   /* Saturation THR for of PRE0 */
+   writel(0x0010, 0x00bb0694);
+   /* Saturation THR for of PRE1 */
+   writel(0x0010, 0x00bb0714);
+   /* Saturation THR for of PRE2 */
+   writel(0x0010, 0x00bb0794);
+   /* Saturation THR for of PRE */
+   writel(0x0010, 0x00bb0814);
+
+   disable_ipu_clock();
+}
+#endif
+
 int arch_cpu_init(void)
 {
struct mxc_ccm_reg *ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
@@ -451,6 +482,10 @@ int arch_cpu_init(void)
 
init_src();
 
+#if defined(CONFIG_MX6Q) || defined(CONFIG_MX6QDL)
+   if (is_mx6dqp())
+   noc_setup();
+#endif
return 0;
 }
 
-- 
2.17.1

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v2 1/2] rockchip: make_fit_atf.py: allow inclusion of a tee binary

2019-11-04 Thread Heiko Stübner
Hi Simon,

Am Mittwoch, 30. Oktober 2019, 02:49:46 CET schrieb Simon Glass:
> On Tue, 22 Oct 2019 at 03:45, Kever Yang  wrote:
> > On 2019/10/22 上午7:46, Simon Glass wrote:
> > > On Mon, 14 Oct 2019 at 03:07, Kever Yang  
> > > wrote:
> > >>
> > >> On 2019/10/7 上午2:10, Heiko Stuebner wrote:
> > >>> A trusted execution environment should also get loaded as loadable from
> > >>> a fit image, so add the possibility to present a tee.elf to 
> > >>> make_fit_atf.py
> > >>> that then gets included as additional loadable into the generated its.
> > >>>
> > >>> For ease of integration the additional loadable is created as atf_(x+1)
> > >>> after all others to re-use core generation loops.
> > >>>
> > >>> Tested against the combinations of 1-part-atf and multi-part-atf each
> > >>> time with and without a tee binary present.
> > >>>
> > >>> Signed-off-by: Heiko Stuebner 
> > >> Reviewed-by: Kever Yang
> > >>
> > >>
> > >> Thanks,
> > >> - Kever
> > >>> ---
> > >>> changes in v2: none
> > >>>
> > >>>arch/arm/mach-rockchip/make_fit_atf.py | 52 
> > >>> +++---
> > >>>1 file changed, 46 insertions(+), 6 deletions(-)
> > > I see there is an effort to move this to binman. To me that is a much
> > > more productive approach!
> >
> >
> > Do you mean the patch set from Jagan for rockchip platform to using binman?
> >
> > That patch is actually using the output of the u-boot.itb which is based
> > on this script.
> >
> > >
> > > Is there a feature or example missing in binman that you need to get
> > > this over the hump?
> >
> >
> > I think Heiko and you has a discussion about this in previous version
> > thread.
> > The U-Boot project build output is: tpl.bin, spl.bin, u-boot.bin
> > For rockchip platform, package needs:
> > - pack tpl.bin+spl.bin with mkimage -rksd/rkspi into idbloader.img
> > - get ATF binaries from bl31.bin/optee.bin with a script
> > - generate u-boot.its to describe the u-boot.itb
> > - pack u-boot.bin and ATF/OPTEE binaries into u-boot.itb with mkimage -f
> > u-boot.its
> >
> > Does the binman mainly target for pack the idbloader.img+u-boot.itb?
> 
> I actually think binman could handle all of that.
> 
> Is there something I could do that would help with that?

I think the main sparse element is time here and maybe a voluteer with
enough of time available to lay the groundwork.

Like on my personal side, I really don't see me finding the time to
actually look at binman and finding out how everything should
translate from the current state to binman - soonish.

Hooking up new small things into an existing infrastructure is somehow
alway easier ;-) . 

Heiko


___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v1 2/2] MAINTAINERS: change colibri_imx6/imx6ull/t30/vf maintainers

2019-11-04 Thread Max Krummenacher
On Mon, 2019-11-04 at 12:56 +0100, Igor Opaniuk wrote:
> From: Igor Opaniuk 
> 
> Take over maintainership for colibri_imx6/imx6ull/t30/vf modules.
> 
> Signed-off-by: Igor Opaniuk 

Acked-by: Max Krummenacher 

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v1 1/2] MAINTAINERS: change apalis_imx6/colibri_imx6 maintainers

2019-11-04 Thread Max Krummenacher
On Mon, 2019-11-04 at 12:56 +0100, Igor Opaniuk wrote:
> From: Igor Opaniuk 
> 
> Take over maintainership for apalis_imx6 and colibri_imx6 modules.
> 
> Signed-off-by: Igor Opaniuk 

Acked-by: Max Krummenacher 

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v1 1/2] MAINTAINERS: change apalis_imx6/colibri_imx6 maintainers

2019-11-04 Thread Igor Opaniuk
From: Igor Opaniuk 

Take over maintainership for apalis_imx6 and colibri_imx6 modules.

Signed-off-by: Igor Opaniuk 
---

 board/toradex/apalis_imx6/MAINTAINERS  | 2 +-
 board/toradex/colibri_imx6/MAINTAINERS | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/board/toradex/apalis_imx6/MAINTAINERS 
b/board/toradex/apalis_imx6/MAINTAINERS
index 7efe816a78..4a2707e771 100644
--- a/board/toradex/apalis_imx6/MAINTAINERS
+++ b/board/toradex/apalis_imx6/MAINTAINERS
@@ -1,5 +1,5 @@
 Apalis iMX6
-M: Max Krummenacher 
+M: Igor Opaniuk 
 W: http://developer.toradex.com/software/linux/linux-software
 W:  https://www.toradex.com/community
 S: Maintained
diff --git a/board/toradex/colibri_imx6/MAINTAINERS 
b/board/toradex/colibri_imx6/MAINTAINERS
index e25c07306c..76f9446bba 100644
--- a/board/toradex/colibri_imx6/MAINTAINERS
+++ b/board/toradex/colibri_imx6/MAINTAINERS
@@ -1,5 +1,5 @@
 Colibri iMX6
-M: Max Krummenacher 
+M: Igor Opaniuk 
 W: http://developer.toradex.com/software/linux/linux-software
 W:  https://www.toradex.com/community
 S: Maintained
-- 
2.17.1

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v1 2/2] MAINTAINERS: change colibri_imx6/imx6ull/t30/vf maintainers

2019-11-04 Thread Igor Opaniuk
From: Igor Opaniuk 

Take over maintainership for colibri_imx6/imx6ull/t30/vf modules.

Signed-off-by: Igor Opaniuk 
---

 board/toradex/colibri-imx6ull/MAINTAINERS | 2 +-
 board/toradex/colibri_imx7/MAINTAINERS| 2 +-
 board/toradex/colibri_t30/MAINTAINERS | 2 +-
 board/toradex/colibri_vf/MAINTAINERS  | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/board/toradex/colibri-imx6ull/MAINTAINERS 
b/board/toradex/colibri-imx6ull/MAINTAINERS
index c8199fa60a..4107d29876 100644
--- a/board/toradex/colibri-imx6ull/MAINTAINERS
+++ b/board/toradex/colibri-imx6ull/MAINTAINERS
@@ -1,5 +1,5 @@
 Colibri iMX6ULL
-M: Stefan Agner 
+M: Igor Opaniuk 
 W: http://developer.toradex.com/software/linux/linux-software
 W: https://www.toradex.com/community
 S: Maintained
diff --git a/board/toradex/colibri_imx7/MAINTAINERS 
b/board/toradex/colibri_imx7/MAINTAINERS
index cd0f9c9b2d..178dece797 100644
--- a/board/toradex/colibri_imx7/MAINTAINERS
+++ b/board/toradex/colibri_imx7/MAINTAINERS
@@ -1,5 +1,5 @@
 Colibri iMX7
-M: Stefan Agner 
+M: Igor Opaniuk 
 W: http://developer.toradex.com/software/linux/linux-software
 W: https://www.toradex.com/community
 S: Maintained
diff --git a/board/toradex/colibri_t30/MAINTAINERS 
b/board/toradex/colibri_t30/MAINTAINERS
index 73b8e5d099..00c03c89b8 100644
--- a/board/toradex/colibri_t30/MAINTAINERS
+++ b/board/toradex/colibri_t30/MAINTAINERS
@@ -1,5 +1,5 @@
 Colibri T30
-M: Stefan Agner 
+M: Igor Opaniuk 
 S: Maintained
 F: board/toradex/colibri_t30/
 F: include/configs/colibri_t30.h
diff --git a/board/toradex/colibri_vf/MAINTAINERS 
b/board/toradex/colibri_vf/MAINTAINERS
index 66b2150986..f94cc0fbe2 100644
--- a/board/toradex/colibri_vf/MAINTAINERS
+++ b/board/toradex/colibri_vf/MAINTAINERS
@@ -1,5 +1,5 @@
 Colibri VFxx
-M: Stefan Agner 
+M: Igor Opaniuk 
 W: http://developer.toradex.com/software/linux/linux-software
 W: https://www.toradex.com/community
 S: Maintained
-- 
2.17.1

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v1 3/6] ARM: dts: imx6_apalis: introduce fec node

2019-11-04 Thread Igor Opaniuk
From: Igor Opaniuk 

Sync DTS with the mainline Linux and introduce fec node.

Signed-off-by: Igor Opaniuk 
---

 arch/arm/dts/imx6-apalis.dts | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/arch/arm/dts/imx6-apalis.dts b/arch/arm/dts/imx6-apalis.dts
index b2fdfa1af4..72f7439aed 100644
--- a/arch/arm/dts/imx6-apalis.dts
+++ b/arch/arm/dts/imx6-apalis.dts
@@ -22,6 +22,7 @@
mmc1 = 
mmc2 = 
usb0 =  /* required for ums */
+   ethernet0 = 
};
 
chosen {
@@ -197,6 +198,27 @@
status = "okay";
 };
 
+ {
+   pinctrl-names = "default";
+   pinctrl-0 = <_enet>;
+   phy-mode = "rgmii";
+   phy-handle = <>;
+   phy-reset-duration = <10>;
+   phy-reset-gpios = < 25 GPIO_ACTIVE_LOW>;
+   status = "okay";
+
+   mdio {
+   #address-cells = <1>;
+   #size-cells = <0>;
+
+   ethphy: ethernet-phy@7 {
+   interrupt-parent = <>;
+   interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
+   reg = <7>;
+   };
+   };
+};
+
 /* Apalis Serial ATA */
  {
status = "okay";
-- 
2.17.1

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v1 6/6] colibri_imx7: migrate to DM_ETH

2019-11-04 Thread Igor Opaniuk
From: Igor Opaniuk 

Migrate to DM_ETH and remove hardcoded pinmux configuration.

Signed-off-by: Igor Opaniuk 
---

 board/toradex/colibri_imx7/colibri_imx7.c | 44 ---
 configs/colibri_imx7_defconfig|  5 ++-
 configs/colibri_imx7_emmc_defconfig   |  5 ++-
 include/configs/colibri_imx7.h| 11 --
 4 files changed, 8 insertions(+), 57 deletions(-)

diff --git a/board/toradex/colibri_imx7/colibri_imx7.c 
b/board/toradex/colibri_imx7/colibri_imx7.c
index c001316591..3ef381da1a 100644
--- a/board/toradex/colibri_imx7/colibri_imx7.c
+++ b/board/toradex/colibri_imx7/colibri_imx7.c
@@ -159,50 +159,12 @@ void board_preboot_os(void)
gpio_direction_output(GPIO_BL_ON, 0);
 }
 
-#ifdef CONFIG_FEC_MXC
-static iomux_v3_cfg_t const fec1_pads[] = {
-#ifndef CONFIG_COLIBRI_IMX7_EXT_PHYCLK
-   MX7D_PAD_GPIO1_IO12__CCM_ENET_REF_CLK1 | MUX_PAD_CTRL(ENET_PAD_CTRL) | 
MUX_MODE_SION,
-#else
-   MX7D_PAD_GPIO1_IO12__CCM_ENET_REF_CLK1 | MUX_PAD_CTRL(ENET_PAD_CTRL),
-#endif
-   MX7D_PAD_SD2_CD_B__ENET1_MDIO | MUX_PAD_CTRL(ENET_PAD_CTRL_MII),
-   MX7D_PAD_SD2_WP__ENET1_MDC | MUX_PAD_CTRL(ENET_PAD_CTRL_MII),
-   MX7D_PAD_ENET1_RGMII_RD0__ENET1_RGMII_RD0 | 
MUX_PAD_CTRL(ENET_RX_PAD_CTRL),
-   MX7D_PAD_ENET1_RGMII_RD1__ENET1_RGMII_RD1 | 
MUX_PAD_CTRL(ENET_RX_PAD_CTRL),
-   MX7D_PAD_ENET1_RGMII_RXC__ENET1_RX_ER | MUX_PAD_CTRL(ENET_RX_PAD_CTRL),
-   MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL   | 
MUX_PAD_CTRL(ENET_RX_PAD_CTRL),
-   MX7D_PAD_ENET1_RGMII_TD0__ENET1_RGMII_TD0 | MUX_PAD_CTRL(ENET_PAD_CTRL),
-   MX7D_PAD_ENET1_RGMII_TD1__ENET1_RGMII_TD1 | MUX_PAD_CTRL(ENET_PAD_CTRL),
-   MX7D_PAD_ENET1_RGMII_TX_CTL__ENET1_RGMII_TX_CTL | 
MUX_PAD_CTRL(ENET_PAD_CTRL),
-};
-
-static void setup_iomux_fec(void)
-{
-   imx_iomux_v3_setup_multiple_pads(fec1_pads, ARRAY_SIZE(fec1_pads));
-}
-#endif
-
 static void setup_iomux_uart(void)
 {
imx_iomux_v3_setup_multiple_pads(uart1_pads, ARRAY_SIZE(uart1_pads));
 }
 
 #ifdef CONFIG_FEC_MXC
-int board_eth_init(bd_t *bis)
-{
-   int ret;
-
-   setup_iomux_fec();
-
-   ret = fecmxc_initialize_multi(bis, 0,
-   CONFIG_FEC_MXC_PHYADDR, IMX_FEC_BASE);
-   if (ret)
-   printf("FEC1 MXC: %s:failed\n", __func__);
-
-   return ret;
-}
-
 static int setup_fec(void)
 {
struct iomuxc_gpr_base_regs *const iomuxc_gpr_regs
@@ -226,12 +188,6 @@ static int setup_fec(void)
return set_clk_enet(ENET_50MHZ);
 }
 
-int board_phy_config(struct phy_device *phydev)
-{
-   if (phydev->drv->config)
-   phydev->drv->config(phydev);
-   return 0;
-}
 #endif
 
 int board_early_init_f(void)
diff --git a/configs/colibri_imx7_defconfig b/configs/colibri_imx7_defconfig
index a6457d5054..504af04b7b 100644
--- a/configs/colibri_imx7_defconfig
+++ b/configs/colibri_imx7_defconfig
@@ -2,11 +2,11 @@ CONFIG_ARM=y
 CONFIG_SYS_THUMB_BUILD=y
 CONFIG_ARCH_MX7=y
 CONFIG_SYS_TEXT_BASE=0x8780
-CONFIG_IMX_HAB=y
 CONFIG_TARGET_COLIBRI_IMX7=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_IMX_RDC=y
 CONFIG_IMX_BOOTAUX=y
+CONFIG_IMX_HAB=y
 # CONFIG_CMD_DEKBLOB is not set
 CONFIG_DISTRO_DEFAULTS=y
 
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri_imx7/imximage.cfg,MX7D"
@@ -62,6 +62,9 @@ CONFIG_MTD_UBI_FASTMAP=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ8XXX=y
+CONFIG_DM_ETH=y
+CONFIG_DM_MDIO=y
+CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX7=y
diff --git a/configs/colibri_imx7_emmc_defconfig 
b/configs/colibri_imx7_emmc_defconfig
index b4ca115f13..eee39c70d9 100644
--- a/configs/colibri_imx7_emmc_defconfig
+++ b/configs/colibri_imx7_emmc_defconfig
@@ -2,12 +2,12 @@ CONFIG_ARM=y
 CONFIG_SYS_THUMB_BUILD=y
 CONFIG_ARCH_MX7=y
 CONFIG_SYS_TEXT_BASE=0x8780
-CONFIG_IMX_HAB=y
 CONFIG_TARGET_COLIBRI_IMX7=y
 CONFIG_TARGET_COLIBRI_IMX7_EMMC=y
 CONFIG_ARMV7_BOOT_SEC_DEFAULT=y
 CONFIG_IMX_RDC=y
 CONFIG_IMX_BOOTAUX=y
+CONFIG_IMX_HAB=y
 # CONFIG_CMD_DEKBLOB is not set
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
@@ -58,6 +58,9 @@ CONFIG_FSL_USDHC=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ8XXX=y
+CONFIG_DM_ETH=y
+CONFIG_DM_MDIO=y
+CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX7=y
diff --git a/include/configs/colibri_imx7.h b/include/configs/colibri_imx7.h
index c2d98291b0..9cb07c08f3 100644
--- a/include/configs/colibri_imx7.h
+++ b/include/configs/colibri_imx7.h
@@ -16,17 +16,6 @@
 /* Size of malloc() pool */
 #define CONFIG_SYS_MALLOC_LEN  (32 * SZ_1M)
 
-/* Network */
-#define CONFIG_FEC_MXC
-#define CONFIG_FEC_XCV_TYPE RMII
-#define CONFIG_ETHPRIME "FEC"
-#define CONFIG_FEC_MXC_PHYADDR  0
-
-#define CONFIG_TFTP_TSIZE
-
-/* ENET1 */
-#define IMX_FEC_BASE   ENET_IPS_BASE_ADDR
-
 /* MMC Config*/
 #define CONFIG_SYS_FSL_ESDHC_ADDR  0
 #ifdef CONFIG_TARGET_COLIBRI_IMX7_NAND
-- 
2.17.1

___

[U-Boot] [PATCH v1 2/6] colibri_imx6: migrate to DM_ETH

2019-11-04 Thread Igor Opaniuk
From: Igor Opaniuk 

Migrate to DM_ETH and remove hardcoded pinmux configuration.

Signed-off-by: Igor Opaniuk 
---

 board/toradex/colibri_imx6/colibri_imx6.c | 59 ++-
 configs/colibri_imx6_defconfig|  3 ++
 include/configs/colibri_imx6.h|  8 ---
 3 files changed, 7 insertions(+), 63 deletions(-)

diff --git a/board/toradex/colibri_imx6/colibri_imx6.c 
b/board/toradex/colibri_imx6/colibri_imx6.c
index ad40b589c1..64295a42e5 100644
--- a/board/toradex/colibri_imx6/colibri_imx6.c
+++ b/board/toradex/colibri_imx6/colibri_imx6.c
@@ -51,9 +51,6 @@ DECLARE_GLOBAL_DATA_PTR;
PAD_CTL_SPEED_LOW | PAD_CTL_DSE_80ohm | \
PAD_CTL_SRE_FAST  | PAD_CTL_HYS)
 
-#define ENET_PAD_CTRL  (PAD_CTL_PUS_100K_UP |  \
-   PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
-
 #define WEAK_PULLUP(PAD_CTL_PUS_100K_UP |  \
PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS |   \
PAD_CTL_SRE_SLOW)
@@ -112,24 +109,6 @@ iomux_v3_cfg_t const usdhc3_pads[] = {
 };
 #endif /* CONFIG_FSL_ESDHC_IMX & CONFIG_SPL_BUILD */
 
-iomux_v3_cfg_t const enet_pads[] = {
-   MX6_PAD_ENET_MDC__ENET_MDC  | MUX_PAD_CTRL(ENET_PAD_CTRL),
-   MX6_PAD_ENET_MDIO__ENET_MDIO| MUX_PAD_CTRL(ENET_PAD_CTRL),
-   MX6_PAD_ENET_RXD0__ENET_RX_DATA0| MUX_PAD_CTRL(ENET_PAD_CTRL),
-   MX6_PAD_ENET_RXD1__ENET_RX_DATA1| MUX_PAD_CTRL(ENET_PAD_CTRL),
-   MX6_PAD_ENET_RX_ER__ENET_RX_ER  | MUX_PAD_CTRL(ENET_PAD_CTRL),
-   MX6_PAD_ENET_TX_EN__ENET_TX_EN  | MUX_PAD_CTRL(ENET_PAD_CTRL),
-   MX6_PAD_ENET_TXD0__ENET_TX_DATA0| MUX_PAD_CTRL(ENET_PAD_CTRL),
-   MX6_PAD_ENET_TXD1__ENET_TX_DATA1| MUX_PAD_CTRL(ENET_PAD_CTRL),
-   MX6_PAD_ENET_CRS_DV__ENET_RX_EN | MUX_PAD_CTRL(ENET_PAD_CTRL),
-   MX6_PAD_GPIO_16__ENET_REF_CLK   | MUX_PAD_CTRL(ENET_PAD_CTRL),
-};
-
-static void setup_iomux_enet(void)
-{
-   imx_iomux_v3_setup_multiple_pads(enet_pads, ARRAY_SIZE(enet_pads));
-}
-
 /* mux auxiliary pins to GPIO, so they can be used from the U-Boot cmdline */
 iomux_v3_cfg_t const gpio_pads[] = {
/* ADDRESS[17:18] [25] used as GPIO */
@@ -371,12 +350,8 @@ int board_phy_config(struct phy_device *phydev)
return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int setup_fec(void)
 {
-   struct iomuxc *iomuxc_regs = (struct iomuxc *)IOMUXC_BASE_ADDR;
-   uint32_t base = IMX_FEC_BASE;
-   struct mii_dev *bus = NULL;
-   struct phy_device *phydev = NULL;
int ret;
 
/* provide the PHY clock from the i.MX 6 */
@@ -384,34 +359,6 @@ int board_eth_init(bd_t *bis)
if (ret)
return ret;
 
-   /* set gpr1[ENET_CLK_SEL] */
-   setbits_le32(_regs->gpr[1], IOMUXC_GPR1_ENET_CLK_SEL_MASK);
-
-   setup_iomux_enet();
-
-#ifdef CONFIG_FEC_MXC
-   bus = fec_get_miibus(base, -1);
-   if (!bus)
-   return 0;
-
-   /* scan PHY 1..7 */
-   phydev = phy_find_by_mask(bus, 0xff, PHY_INTERFACE_MODE_RMII);
-   if (!phydev) {
-   free(bus);
-   puts("no PHY found\n");
-   return 0;
-   }
-
-   phy_reset(phydev);
-   printf("using PHY at %d\n", phydev->addr);
-   ret = fec_probe(bis, -1, base, bus, phydev);
-   if (ret) {
-   printf("FEC MXC: %s:failed\n", __func__);
-   free(phydev);
-   free(bus);
-   }
-#endif /* CONFIG_FEC_MXC */
-
return 0;
 }
 
@@ -633,7 +580,9 @@ int board_init(void)
 {
/* address of boot parameters */
gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
-
+#if defined(CONFIG_FEC_MXC)
+   setup_fec();
+#endif
 #if defined(CONFIG_VIDEO_IPUV3)
setup_display();
 #endif
diff --git a/configs/colibri_imx6_defconfig b/configs/colibri_imx6_defconfig
index 4f7ca7b91d..647564a03a 100644
--- a/configs/colibri_imx6_defconfig
+++ b/configs/colibri_imx6_defconfig
@@ -62,6 +62,9 @@ CONFIG_FSL_USDHC=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ8XXX=y
+CONFIG_DM_ETH=y
+CONFIG_DM_MDIO=y
+CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
diff --git a/include/configs/colibri_imx6.h b/include/configs/colibri_imx6.h
index 1f2b89e722..390052362b 100644
--- a/include/configs/colibri_imx6.h
+++ b/include/configs/colibri_imx6.h
@@ -43,14 +43,6 @@
 #define CONFIG_SYS_FSL_ESDHC_ADDR  0
 #define CONFIG_SYS_FSL_USDHC_NUM   2
 
-/* Network */
-#define CONFIG_FEC_MXC
-#define IMX_FEC_BASE   ENET_BASE_ADDR
-#define CONFIG_FEC_XCV_TYPERMII
-#define CONFIG_ETHPRIME"FEC"
-#define CONFIG_FEC_MXC_PHYADDR 1
-#define CONFIG_TFTP_TSIZE
-
 /* USB Configs */
 /* Host */
 #define CONFIG_USB_MAX_CONTROLLER_COUNT2
-- 
2.17.1

___
U-Boot mailing list
U-Boot@lists.denx.de

[U-Boot] [PATCH v1 5/6] ARM: dts: imx7: imx7_colibri: introduce fec node

2019-11-04 Thread Igor Opaniuk
From: Igor Opaniuk 

Sync DTS with the mainline Linux and introduce fec node and
regulator configuration for rn5t567 PMU.

Signed-off-by: Igor Opaniuk 
---

 arch/arm/dts/imx7-colibri.dtsi | 116 +
 arch/arm/dts/imx7d.dtsi|   3 +
 arch/arm/dts/imx7s.dtsi|   1 +
 3 files changed, 120 insertions(+)

diff --git a/arch/arm/dts/imx7-colibri.dtsi b/arch/arm/dts/imx7-colibri.dtsi
index 308e0b2a63..ec95f22a0c 100644
--- a/arch/arm/dts/imx7-colibri.dtsi
+++ b/arch/arm/dts/imx7-colibri.dtsi
@@ -18,6 +18,70 @@
rn5t567@33 {
compatible = "ricoh,rn5t567";
reg = <0x33>;
+
+   regulators {
+   reg_DCDC1: DCDC1 {  /* V1.0_SOC */
+   regulator-min-microvolt = <100>;
+   regulator-max-microvolt = <110>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+
+   reg_DCDC2: DCDC2 { /* V1.1_ARM */
+   regulator-min-microvolt = <975000>;
+   regulator-max-microvolt = <110>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+
+   reg_DCDC3: DCDC3 { /* V1.8 */
+   regulator-min-microvolt = <180>;
+   regulator-max-microvolt = <180>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+
+   reg_DCDC4: DCDC4 { /* V1.35_DRAM */
+   regulator-min-microvolt = <135>;
+   regulator-max-microvolt = <135>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+
+   reg_LDO1: LDO1 { /* PWR_EN_+V3.3_ETH */
+   regulator-min-microvolt = <180>;
+   regulator-max-microvolt = <330>;
+   regulator-boot-on;
+   };
+
+   reg_LDO2: LDO2 { /* +V1.8_SD */
+   regulator-min-microvolt = <180>;
+   regulator-max-microvolt = <330>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+
+   reg_LDO3: LDO3 { /* PWR_EN_+V3.3_LPSR */
+   regulator-min-microvolt = <330>;
+   regulator-max-microvolt = <330>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+
+   reg_LDO4: LDO4 { /* V1.8_LPSR */
+   regulator-min-microvolt = <180>;
+   regulator-max-microvolt = <180>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+
+   reg_LDO5: LDO5 { /* PWR_EN_+V3.3 */
+   regulator-min-microvolt = <330>;
+   regulator-max-microvolt = <330>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+   };
};
 };
 
@@ -30,6 +94,25 @@
status = "okay";
 };
 
+ {
+   pinctrl-names = "default", "sleep";
+   pinctrl-0 = <_enet1>;
+   pinctrl-1 = <_enet1_sleep>;
+   clocks = < IMX7D_ENET_AXI_ROOT_CLK>,
+   < IMX7D_ENET_AXI_ROOT_CLK>,
+   < IMX7D_ENET1_TIME_ROOT_CLK>,
+   < IMX7D_PLL_ENET_MAIN_50M_CLK>;
+   clock-names = "ipg", "ahb", "ptp", "enet_clk_ref";
+   assigned-clocks = < IMX7D_ENET1_TIME_ROOT_SRC>,
+ < IMX7D_ENET1_TIME_ROOT_CLK>;
+   assigned-clock-parents = < IMX7D_PLL_ENET_MAIN_100M_CLK>;
+   assigned-clock-rates = <0>, <1>;
+   phy-mode = "rmii";
+   phy-supply = <_LDO1>;
+   fsl,magic-packet;
+   status = "okay";
+};
+
  {
pinctrl-names = "default";
pinctrl-0 = <_uart1 _uart1_ctrl1>;
@@ -88,6 +171,39 @@
MX7D_PAD_SD1_DATA3__SD1_DATA3   0x59
>;
};
+
+   pinctrl_enet1: enet1grp {
+   fsl,pins = <
+   MX7D_PAD_ENET1_CRS__GPIO7_IO14  0x14
+   MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL 0x73
+   MX7D_PAD_ENET1_RGMII_RD0__ENET1_RGMII_RD0   0x73
+   MX7D_PAD_ENET1_RGMII_RD1__ENET1_RGMII_RD1   0x73
+   

[U-Boot] [PATCH v1 4/6] apalis_imx6: migrate to DM_ETH

2019-11-04 Thread Igor Opaniuk
From: Igor Opaniuk 

Migrate to DM_ETH and remove hardcoded pinmux configuration.

Signed-off-by: Igor Opaniuk 
---

 board/toradex/apalis_imx6/apalis_imx6.c | 51 -
 configs/apalis_imx6_defconfig   |  3 ++
 include/configs/apalis_imx6.h   |  6 ---
 3 files changed, 3 insertions(+), 57 deletions(-)

diff --git a/board/toradex/apalis_imx6/apalis_imx6.c 
b/board/toradex/apalis_imx6/apalis_imx6.c
index 51505b63e1..ec6a28104f 100644
--- a/board/toradex/apalis_imx6/apalis_imx6.c
+++ b/board/toradex/apalis_imx6/apalis_imx6.c
@@ -176,22 +176,6 @@ iomux_v3_cfg_t const enet_pads[] = {
 #  define GPIO_ENET_PHY_RESET IMX_GPIO_NR(1, 25)
 };
 
-static void setup_iomux_enet(void)
-{
-   imx_iomux_v3_setup_multiple_pads(enet_pads, ARRAY_SIZE(enet_pads));
-}
-
-static int reset_enet_phy(struct mii_dev *bus)
-{
-   /* Reset KSZ9031 PHY */
-   gpio_request(GPIO_ENET_PHY_RESET, "ETH_RESET#");
-   gpio_direction_output(GPIO_ENET_PHY_RESET, 0);
-   mdelay(10);
-   gpio_set_value(GPIO_ENET_PHY_RESET, 1);
-
-   return 0;
-}
-
 /* mux the Apalis GPIO pins, so they can be used from the U-Boot cmdline */
 iomux_v3_cfg_t const gpio_pads[] = {
/* Apalis GPIO1 - GPIO8 */
@@ -366,41 +350,6 @@ int board_phy_config(struct phy_device *phydev)
return 0;
 }
 
-int board_eth_init(bd_t *bis)
-{
-   uint32_t base = IMX_FEC_BASE;
-   struct mii_dev *bus = NULL;
-   struct phy_device *phydev = NULL;
-   int ret;
-
-   setup_iomux_enet();
-
-#ifdef CONFIG_FEC_MXC
-   bus = fec_get_miibus(base, -1);
-   if (!bus)
-   return 0;
-
-   bus->reset = reset_enet_phy;
-   /* scan PHY 4,5,6,7 */
-   phydev = phy_find_by_mask(bus, (0xf << 4), PHY_INTERFACE_MODE_RGMII);
-   if (!phydev) {
-   free(bus);
-   puts("no PHY found\n");
-   return 0;
-   }
-
-   printf("using PHY at %d\n", phydev->addr);
-   ret = fec_probe(bis, -1, base, bus, phydev);
-   if (ret) {
-   printf("FEC MXC: %s:failed\n", __func__);
-   free(phydev);
-   free(bus);
-   }
-#endif /* CONFIG_FEC_MXC */
-
-   return 0;
-}
-
 static iomux_v3_cfg_t const pwr_intb_pads[] = {
/*
 * the bootrom sets the iomux to vselect, potentially connecting
diff --git a/configs/apalis_imx6_defconfig b/configs/apalis_imx6_defconfig
index 797bbb0ed0..7c91ab9c58 100644
--- a/configs/apalis_imx6_defconfig
+++ b/configs/apalis_imx6_defconfig
@@ -63,6 +63,9 @@ CONFIG_FSL_USDHC=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ90X1=y
+CONFIG_DM_ETH=y
+CONFIG_DM_MDIO=y
+CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h
index a5f9a96732..a346b987a0 100644
--- a/include/configs/apalis_imx6.h
+++ b/include/configs/apalis_imx6.h
@@ -53,13 +53,7 @@
 #endif
 
 /* Network */
-#define CONFIG_FEC_MXC
-#define IMX_FEC_BASE   ENET_BASE_ADDR
-#define CONFIG_FEC_XCV_TYPERGMII
-#define CONFIG_ETHPRIME"FEC"
 #define PHY_ANEG_TIMEOUT   15000 /* PHY needs longer aneg time */
-#define CONFIG_FEC_MXC_PHYADDR 6
-#define CONFIG_TFTP_TSIZE
 
 /* USB Configs */
 /* Host */
-- 
2.17.1

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v1 1/6] ARM: dts: imx6_colibri: introduce fec node

2019-11-04 Thread Igor Opaniuk
From: Igor Opaniuk 

Sync DTS with the mainline Linux and introduce fec node.

Signed-off-by: Igor Opaniuk 
---

 arch/arm/dts/imx6-colibri.dts | 20 
 1 file changed, 20 insertions(+)

diff --git a/arch/arm/dts/imx6-colibri.dts b/arch/arm/dts/imx6-colibri.dts
index 5c9f1f0d2b..387d6d5ca7 100644
--- a/arch/arm/dts/imx6-colibri.dts
+++ b/arch/arm/dts/imx6-colibri.dts
@@ -21,6 +21,7 @@
mmc0 = 
mmc1 = 
usb0 =  /* required for ums */
+   ethernet0 = 
};
 
chosen {
@@ -46,6 +47,25 @@
};
 };
 
+ {
+   pinctrl-names = "default";
+   pinctrl-0 = <_enet>;
+   phy-mode = "rmii";
+   phy-handle = <>;
+   status = "okay";
+
+   mdio {
+   #address-cells = <1>;
+   #size-cells = <0>;
+
+   ethphy: ethernet-phy@0 {
+   reg = <0>;
+   micrel,led-mode = <0>;
+   status = "okay";
+   };
+   };
+};
+
 /*
  * PWR_I2C: power I2C to audio codec, PMIC, temperature sensor and
  * touch screen controller
-- 
2.17.1

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v1 0/6] imx: colibri imx6/imx7: apalis imx6: migrate to DM_ETH

2019-11-04 Thread Igor Opaniuk
Migrate to DM_ETH and remove hardcoded pinmux configuration.

Igor Opaniuk (6):
  ARM: dts: imx6_colibri: introduce fec node
  colibri_imx6: migrate to DM_ETH
  ARM: dts: imx6_apalis: introduce fec node
  apalis_imx6: migrate to DM_ETH
  ARM: dts: imx7: imx7_colibri: introduce fec node
  colibri_imx7: migrate to DM_ETH

 arch/arm/dts/imx6-apalis.dts  |  22 
 arch/arm/dts/imx6-colibri.dts |  20 
 arch/arm/dts/imx7-colibri.dtsi| 116 ++
 arch/arm/dts/imx7d.dtsi   |   3 +
 arch/arm/dts/imx7s.dtsi   |   1 +
 board/toradex/apalis_imx6/apalis_imx6.c   |  51 --
 board/toradex/colibri_imx6/colibri_imx6.c |  59 +--
 board/toradex/colibri_imx7/colibri_imx7.c |  44 
 configs/apalis_imx6_defconfig |   3 +
 configs/colibri_imx6_defconfig|   3 +
 configs/colibri_imx7_defconfig|   5 +-
 configs/colibri_imx7_emmc_defconfig   |   5 +-
 include/configs/apalis_imx6.h |   6 --
 include/configs/colibri_imx6.h|   8 --
 include/configs/colibri_imx7.h|  11 --
 15 files changed, 180 insertions(+), 177 deletions(-)

-- 
2.17.1

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH] usb: composite: add BOS descriptor support to composite framework

2019-11-04 Thread Michal Simek
On 25. 10. 19 12:28, Roger Quadros wrote:
> 
> 
> On 24/10/2019 18:44, Jean-Jacques Hiblot wrote:
>> + Vignesh and Roger
>>
>> On 24/10/2019 13:22, Michal Simek wrote:
>>> po 14. 10. 2019 v 14:52 odesílatel Michal Simek
>>>  napsal:
 From: T Karthik Reddy 

 To add usb-3.0 support to peripheral device add BOS & SS capability
 descriptors to gadget composite framework.

 Signed-off-by: T Karthik Reddy 
 Signed-off-by: Siva Durga Prasad Paladugu
 
 Signed-off-by: Michal Simek 
> 
> Reviewed-by: Roger Quadros 

Lukasz: This patch is assigned to you in patchwork. Can you please
comment it or take it via your tree?

Thanks,
Michal
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 0/7] mmc: fsl_esdhc: clean up and shrink the driver

2019-11-04 Thread Y.b. Lu
Here is the CI build result.
https://travis-ci.org/yangbolu1991/u-boot-test/builds/605435128

I had verified both SD and eMMC with both DM_MMC and non-DM_MMC modes.
Thanks a lot.

Best regards,
Yangbo Lu

> -Original Message-
> From: Yangbo Lu 
> Sent: Thursday, October 31, 2019 6:54 PM
> To: u-boot@lists.denx.de; Peng Fan 
> Cc: Y.b. Lu 
> Subject: [PATCH 0/7] mmc: fsl_esdhc: clean up and shrink the driver
> 
> This patch-set is to clean up and shrink the fsl_esdhc driver.
> 
> Yangbo Lu (7):
>   mmc: fsl_esdhc: drop controller initialization in fsl_esdhc_init()
>   mmc: fsl_esdhc: fix voltage validation
>   mmc: fsl_esdhc: clean up bus width configuration code
>   mmc: fsl_esdhc: convert to use fsl_esdhc_get_cfg_common()
>   mmc: fsl_esdhc: drop redundant code for non-removable feature
>   mmc: fsl_esdhc: always check write protect state
>   mmc: fsl_esdhc: clean up DM and non-DM code
> 
>  drivers/mmc/fsl_esdhc.c | 370 
> 
>  include/fsl_esdhc.h |  14 +-
>  2 files changed, 129 insertions(+), 255 deletions(-)
> 
> --
> 2.7.4

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH 1/1] net: sun8i_emac: Remove debug message

2019-11-04 Thread Stefan Mavrodiev
When booting with sun8i_emac driver, the user get output like this:

  ...
  Net:   phy interface7
  eth0: ethernet@1c3
  ...

The first line doesn't provide any useful information except for the
developers. I guess this is some leftover debugging message. This
patch change it to such. The new output is:

  ...
  Net:   eth0: ethernet@1c3
  ...

Signed-off-by: Stefan Mavrodiev 
---
 drivers/net/sun8i_emac.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/sun8i_emac.c b/drivers/net/sun8i_emac.c
index 0629b16e57..e6cb074bc4 100644
--- a/drivers/net/sun8i_emac.c
+++ b/drivers/net/sun8i_emac.c
@@ -968,7 +968,7 @@ static int sun8i_emac_eth_ofdata_to_platdata(struct udevice 
*dev)
 
if (phy_mode)
pdata->phy_interface = phy_get_interface_by_name(phy_mode);
-   printf("phy interface%d\n", pdata->phy_interface);
+   debug("phy interface%d\n", pdata->phy_interface);
 
if (pdata->phy_interface == -1) {
debug("%s: Invalid PHY interface '%s'\n", __func__, phy_mode);
-- 
2.17.1

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH 2/2] mmc: fsl_esdhc_imx: Update compatible string for imx8m

2019-11-04 Thread Peng Fan
To enable HS400(ES) and UHS for imx8m platforms, update the driver data
to share with imx8qm esdhc_soc_data.

Signed-off-by: Peng Fan 
---
 drivers/mmc/fsl_esdhc_imx.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c
index 67549036d4..4099386313 100644
--- a/drivers/mmc/fsl_esdhc_imx.c
+++ b/drivers/mmc/fsl_esdhc_imx.c
@@ -1647,6 +1647,9 @@ static const struct udevice_id fsl_esdhc_ids[] = {
{ .compatible = "fsl,imx7d-usdhc", .data = (ulong)_imx7d_data,},
{ .compatible = "fsl,imx7ulp-usdhc", },
{ .compatible = "fsl,imx8qm-usdhc", .data = (ulong)_imx8qm_data,},
+   { .compatible = "fsl,imx8mm-usdhc", .data = (ulong)_imx8qm_data,},
+   { .compatible = "fsl,imx8mn-usdhc", .data = (ulong)_imx8qm_data,},
+   { .compatible = "fsl,imx8mq-usdhc", .data = (ulong)_imx8qm_data,},
{ .compatible = "fsl,esdhc", },
{ /* sentinel */ }
 };
-- 
2.16.4

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH 1/2] mmc: fsl_esdhc_imx: drop redundant clock settings

2019-11-04 Thread Peng Fan
During mmc initialization, there are several calls to mmc_set_clock
and mmc_set_ios. When mmc_power_off, the mmc->clock will be set,
but the imx driver will use 400KHz. So the following calls
to mmc_set_ios will set the clock several times which is redundant
in fsl_esdhc_imx driver. So let's simplify to remove redundant
clock settings.

Signed-off-by: Peng Fan 
---
 drivers/mmc/fsl_esdhc_imx.c | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c
index 43106dec75..67549036d4 100644
--- a/drivers/mmc/fsl_esdhc_imx.c
+++ b/drivers/mmc/fsl_esdhc_imx.c
@@ -627,9 +627,6 @@ static void set_sysctl(struct fsl_esdhc_priv *priv, struct 
mmc *mmc, uint clock)
int sdhc_clk = priv->sdhc_clk;
uint clk;
 
-   if (clock < mmc->cfg->f_min)
-   clock = mmc->cfg->f_min;
-
while (sdhc_clk / (16 * pre_div * ddr_pre_div) > clock && pre_div < 256)
pre_div *= 2;
 
@@ -958,6 +955,7 @@ static int esdhc_set_ios_common(struct fsl_esdhc_priv 
*priv, struct mmc *mmc)
 {
struct fsl_esdhc *regs = priv->esdhc_regs;
int ret __maybe_unused;
+   u32 clock;
 
 #ifdef CONFIG_FSL_ESDHC_USE_PERIPHERAL_CLK
/* Select to use peripheral clock */
@@ -966,8 +964,12 @@ static int esdhc_set_ios_common(struct fsl_esdhc_priv 
*priv, struct mmc *mmc)
esdhc_clock_control(priv, true);
 #endif
/* Set the clock speed */
-   if (priv->clock != mmc->clock)
-   set_sysctl(priv, mmc, mmc->clock);
+   clock = mmc->clock;
+   if (clock < mmc->cfg->f_min)
+   clock = mmc->cfg->f_min;
+
+   if (priv->clock != clock)
+   set_sysctl(priv, mmc, clock);
 
 #ifdef MMC_SUPPORTS_TUNING
if (mmc->clk_disable) {
-- 
2.16.4

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH] power: regulator: support off-on-delay-us

2019-11-04 Thread Peng Fan
off-on-delay-us has been supported by Linux, so let's use it.

Signed-off-by: Peng Fan 
---

V1:
 Linux Tree:
 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=f7907e57aea2adcd0b57ebcca410e125412ab680

 drivers/power/regulator/regulator_common.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/drivers/power/regulator/regulator_common.c 
b/drivers/power/regulator/regulator_common.c
index 2041086567..939efb2c0d 100644
--- a/drivers/power/regulator/regulator_common.c
+++ b/drivers/power/regulator/regulator_common.c
@@ -37,7 +37,11 @@ int regulator_common_ofdata_to_platdata(struct udevice *dev,
dev_pdata->startup_delay_us = dev_read_u32_default(dev,
"startup-delay-us", 0);
dev_pdata->off_on_delay_us =
+   dev_read_u32_default(dev, "off-on-delay-us", 0);
+   if (!dev_pdata->off_on_delay_us) {
+   dev_pdata->off_on_delay_us =
dev_read_u32_default(dev, "u-boot,off-on-delay-us", 0);
+   }
 
return 0;
 }
-- 
2.16.4

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [GIT PULL] Pull request: u-boot-imx u-boot-imx-20191104

2019-11-04 Thread Stefano Babic
Hi Tom,

please pull from u-boot-imx, thanks !

The following changes since commit 5d6f05352b69d4858a2a9e9136ac3a734f0222bb:

  azure: Update the script to prepend PATH not override PATH (2019-11-01
13:59:14 -0400)

are available in the Git repository at:

  https://gitlab.denx.de/u-boot/custodians/u-boot-imx.git
tags/u-boot-imx-20191104

for you to fetch changes up to ae8a53ece0ff3b1ed686c3e0af14e59973d25db8:

  imx: nandbcb: add support for writing BCB only (2019-11-03 21:49:49 +0100)


u-boot-imx-20191104
---

- i.MX NAND: nandbcb support for MX6UL / i.MX7
- i.MX8: support for HAB
- Convert to DM (opos6ul, mccmon6)
- Toradex i.MX6ull colibri
- sync DTS with kernel

Travis : https://travis-ci.org/sbabic/u-boot-imx/builds/606853416


Anatolij Gustschin (1):
  imx8: output SECO-FW and ATF commit IDs

Claudius Heine (5):
  ARM: imx: Fix bmode detection from grp10
  ARM: imx: Use IMX6_SRC_GPR10_BMODE instead of magic number
  ARM: imx6: DHCOM i.MX6 PDK: fix board_boot_modes emmc entry
  ARM: imx6: DHCOM i.MX6 PDK: defconfig: Enable MMC support of SPL
  ARM: imx6: DHCOM i.MX6 PDK: spl: Add eMMC initialization to SPL code

Fabio Estevam (2):
  mx6: clock: Use setbits_le32()
  mx6: clock: Introduce disable_ipu_clock()

Hannes Schmelzer (1):
  board/BuR/brppt2: initial commit

Igor Opaniuk (7):
  ARM: dts: imx6ull-colibri: change hierarchy of DTS files
  ARM: dts: imx6ull-colibri: pre-reloc for uart pinmux modes
  imx: gpmi: add defines for hw randominizer
  nand: mxs_nand: add API for switching different BCH layouts
  imx: nandbcb: add support for i.MX7
  imx: nandbcb: refactor update function
  imx: nandbcb: add support for writing BCB only

Lukasz Majewski (7):
  imx: defconfig: Enable CONFIG_SPL_FORCE_MMC_BOOT on display5
  imx: Enable RTC (ds1307) support in the U-Boot proper on TPC70 board
  ARM: imx: Convert mccmon6 to use DM/DTS in the u-boot proper
  ARM: imx: Decouple mccmon6's SPL and u-boot proper code
  spl: nor: Provide falcon boot support for NOR memories
  ARM: imx: Convert mccmon6 to use fitImage instead of uImage+DTB
  mccmon6: defconfig: nor: Enable usage of *_TINY_* drivers in SPL

Manivannan Sadhasivam (1):
  arm: dts: Add devicetree support for iMXQXP AI_ML board

Marek Vasut (1):
  arm: mxs: Increase VDDD voltage to match specification

Oliver Graute (1):
  imx: support i.MX8QM ROM 7720 a1 board

Parthiban Nallathambi (1):
  i.MX6: nand: extend nandbcb command for imx6UL(L)

Patrick Wildt (1):
  imx: update i.MX8MQ device trees

Peng Fan (13):
  imx8m: imx8mq: get chip rev for B1 revision
  imx8m: clock: improve irq response latency
  imx: imx8mq: add init_nand_clk
  imx: spl: implement spl_boot_mode for i.MX7/8/8M
  dt-bindings: import usb pd
  pmic: bd71837: drop DEBUG macro
  power: pmic: Kconfig: add CONFIG_SPL_DM_PMIC_BD71837
  imx8m: evk: spl: probe clk in spl early stage
  imx8mm: evk: enable bd71837 pmic
  imx8: Add AHAB secure boot support
  imx8qm: mek: add secure boot script
  imx8qxp: mek: add secure boot script
  arm: dts: imx8mm: sync dts from Linux Kernel

Robert Hancock (2):
  watchdog: imx: Add DT ext-reset handling
  watchdog: imx: Use immediate reset bits for expire_now

Sébastien Szymanski (3):
  imx6ul: opos6ul: migrate to DM_ETH
  opos6uldev: migrate to DM_VIDEO
  video: mxsfb: set gd->fb_base

Tom Rini (1):
  tbs2910: Disable Plan9/RTEMS bootm support

Ye Li (1):
  mach-imx: Adding new argument for SIP call interface

 arch/arm/cpu/arm926ejs/mxs/spl_power_init.c   |4 +-
 arch/arm/dts/Makefile |9 +-
 arch/arm/dts/fsl-imx8mq-evk.dts   |  414

 arch/arm/dts/fsl-imx8mq.dtsi  |  462
--
 arch/arm/dts/fsl-imx8qxp-ai_ml-u-boot.dtsi|  117
+
 arch/arm/dts/fsl-imx8qxp-ai_ml.dts|  181
+++
 arch/arm/dts/imx6dl-brppt2.dts|  278
+++
 arch/arm/dts/imx6q-kp.dts |5 ++
 arch/arm/dts/imx6q-mccmon6.dts|  382
+
 arch/arm/dts/imx6ul-opos6uldev-u-boot.dtsi|   10 +++
 arch/arm/dts/imx6ul-opos6uldev.dts|4 +-
 arch/arm/dts/imx6ull-colibri-u-boot.dtsi  |   12 +++
 arch/arm/dts/imx6ull-colibri.dts  |  

[U-Boot] [PATCH] imx: update i.MX8MQ device trees

2019-11-04 Thread sbabic
> This updates the i.MX8MQ device trees and, necessarily, also the
> i.MX8MQ clock bindings.  These are taken verbatim from from the
> Linux kernel version v5.4-rc2, which three small changes which
> were already part of the previous device tree:
>  * Keep the PSCI reserved memory range
>  * Keep the alias for ethernet, so that the MAC address can be set
>  * Keep the modified #include for the IOMUXC pins
> Signed-off-by: Patrick Wildt 
> Acked-by: Peng Fan 

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v2 1/5] ARM: imx: Covnert mccmon6 to use DM/DTS in the u-boot proper

2019-11-04 Thread sbabic
> This commit converts mccmon6's u-boot proper (in a single commit to avoid
> build breaks) to use solely DM/DTS.
> The DTS description of the mccmon6 has been ported from Linux kernel
> (v4.20, SHA1: 8fe28cb58bcb235034b64cbbb7550a8a43fd88be)
> Signed-off-by: Lukasz Majewski 

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v2 2/3] ARM: imx6: DHCOM i.MX6 PDK: spl: Add eMMC initialization to SPL code

2019-11-04 Thread sbabic
> In order for 'bmode emmc' to work, the eMMC needs to be initialized in the
> SPL. This change initializes the eMMC as BOOT_DEVICE_MMC1 (index=0).
> Signed-off-by: Claudius Heine 

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH 04/10] imx: spl: implement spl_boot_mode for i.MX7/8/8M

2019-11-04 Thread sbabic
> It will be easy to separate SD/EMMC when booting in SPL stage, then
> no need to bother which device is BOOT_DEVICE_MMC1/2.
> Signed-off-by: Peng Fan 

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH 09/10] imx8m: evk: spl: probe clk in spl early stage

2019-11-04 Thread sbabic
> We are going to add i2c pmic support before dram could be used.
> So we need enable clk driver earlier, so use spl_early_init
> and move clock controller probe eariler to board_init_f.
> Signed-off-by: Peng Fan 

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v3 RESEND 2/2] ARM: imx: Use IMX6_SRC_GPR10_BMODE instead of magic number

2019-11-04 Thread sbabic
> Signed-off-by: Claudius Heine 

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH 2/2] watchdog: imx: Use immediate reset bits for expire_now

2019-11-04 Thread sbabic
> The expire_now function was previously setting the watchdog timeout to
> minimum and waiting for the watchdog to expire. However, this watchdog
> also has bits to trigger immediate reset. Use those instead, like the
> Linux imx2_wdt driver does.
> Signed-off-by: Robert Hancock 

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v5] imx: support i.MX8QM ROM 7720 a1 board

2019-11-04 Thread sbabic
> Add i.MX8QM ROM 7720a1 board support
> Boot log as below:
> U-Boot 2019.10-rc3-4-gd073e0242f (Sep 20 2019 - 08:24:13 +0200)
> CPU:   NXP i.MX8QM RevB A53 at 1200 MHz
> Model: Advantech iMX8QM Qseven series
> Board: ROM-7720-A1 4GB
> Build: SCFW 65afe5f6
> Boot:  SD2
> DRAM:  4 GiB
> MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
> Loading Environment from MMC... OK
> In:serial@5a06
> Out:   serial@5a06
> Err:   serial@5a06
> Net:   eth0: ethernet@5b04Could not get PHY for FEC1: addr 1
> , eth-1: ethernet@5b05
> Hit any key to stop autoboot:  0
> Signed-off-by: Oliver Graute 
> Cc: Stefano Babic 
> Cc: Fabio Estevam 
> Cc: Peng Fan 
> Cc: Simon Glass 
> Cc: Ye Li 
> Cc: uboot-imx 

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v1] imx: defconfig: Enable CONFIG_SPL_FORCE_MMC_BOOT on display5

2019-11-04 Thread sbabic
> After the following commit:
> commit 772b55723bcb ("imx: Introduce CONFIG_SPL_FORCE_MMC_BOOT to force MMC
> boot on falcon mode")
> it is possible to set the CONFIG_SPL_FORCE_MMC_BOOT flag, which allows
> using MMC device as boot device regardless of the device used by Boot ROM
> (FBL) as the first boot medium.
> Display5 board needs this flag set to allow falcon boot from eMMC device.
> Signed-off-by: Lukasz Majewski 

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH 10/10] imx8mm: evk: enable bd71837 pmic

2019-11-04 Thread sbabic
> Enable bd71837 pmic for i.MX8MM EVK board, need to set voltage for
> DRAM and linux suspend voltage requirement.
> Signed-off-by: Peng Fan 

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH 1/2] watchdog: imx: Add DT ext-reset handling

2019-11-04 Thread sbabic
> The Linux imx2_wdt driver uses a fsl,ext-reset-output boolean in the
> device tree to specify whether the board design should use the external
> reset instead of the internal reset. Use this boolean to determine which
> mode to use rather than using external reset unconditionally.
> For the legacy non-DM mode, the external reset is always used in order
> to maintain the previous behavior.
> Signed-off-by: Robert Hancock 

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH 07/10] pmic: bd71837: drop DEBUG macro

2019-11-04 Thread sbabic
> Drop DEBUG macro definition which is used for debug purpose.
> Signed-off-by: Peng Fan 

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH 01/10] imx8m: imx8mq: get chip rev for B1 revision

2019-11-04 Thread sbabic
> The i.MX8MQ B1 uses OCOTP_HW_OCOTP_READ_FUSE_DATA register for chip id.
> It returns a magic number 0xff0055aa. update get_cpu_rev to support it,
> and enable ocotp clock to access ocotp.
> Signed-off-by: Peng Fan 

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v3 1/2] ARM: dts: imx6ull-colibri: change hierarchy of DTS files

2019-11-04 Thread sbabic
> From: Igor Opaniuk 
> Introduce imx6ull-colibri-u-boot.dtsi for u-boot specific properties to
> keep original imx6ull-colibri.dts in sync with Linux.
> Move all contents of imx6ull-colibri.dts to imx6ull-colibri.dtsi +
> additionally fix checkpatch warnings.
> Reviewed-by: Oleksandr Suvorov 
> Reviewed-by: Fabio Estevam 
> Signed-off-by: Igor Opaniuk 

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v2 4/5] ARM: imx: Convert mccmon6 to use fitImage instead of uImage+DTB

2019-11-04 Thread sbabic
> This commit enabled support for fitImage on mccmon6 when we
> switch to DT/DTS (including falcon mode).
> Signed-off-by: Lukasz Majewski 

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v2 1/3] ARM: imx6: DHCOM i.MX6 PDK: fix board_boot_modes emmc entry

2019-11-04 Thread sbabic
> The board_boot_modes contained the wrong values for the emmc entry.
> The eMMC here is connected over a 8-bit bus.
> This change allows to use the 'bmode emmc' command to boot from emmc.
> Signed-off-by: Claudius Heine 

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v3 2/2] ARM: dts: imx6ull-colibri: pre-reloc for uart pinmux modes

2019-11-04 Thread sbabic
> From: Igor Opaniuk 
> Add u-boot,dm-pre-reloc properties for uart pinmux configuration
> nodes, which enables UART as early as possible (before relocation).
> Without this we miss almost the half of output (U-boot version,
> CPU defails, Reset cause, DRAM details etc.).
> Fixes: cd69e8ef9b ("colibri-imx6ull: migrate pinctrl and regulators to 
> dtb/dm")
> Reviewed-by: Oleksandr Suvorov 
> Reviewed-by: Fabio Estevam 
> Signed-off-by: Igor Opaniuk 

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


  1   2   >