]> git.ipfire.org Git - people/ms/u-boot.git/log
people/ms/u-boot.git
8 years agogpio: zynq: Convert Zynq GPIO to driver model
Siva Durga Prasad Paladugu [Thu, 10 Mar 2016 10:57:38 +0000 (16:27 +0530)] 
gpio: zynq: Convert Zynq GPIO to driver model

Convert Zynq GPIO driver to driver model

Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Clean header after moving stuff to Kconfig
Michal Simek [Thu, 7 Apr 2016 14:25:35 +0000 (16:25 +0200)] 
ARM64: zynqmp: Clean header after moving stuff to Kconfig

Moving stuff to Kconfig by script is keep some empty lines
or comment in the file. Remove them.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Add support for zc1751 with DC cards
Michal Simek [Thu, 7 Apr 2016 14:00:11 +0000 (16:00 +0200)] 
ARM64: zynqmp: Add support for zc1751 with DC cards

Support ZynqMP zc1751 with DC cards.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Add defconfig for zcu102 revB board
Michal Simek [Mon, 11 Apr 2016 06:07:07 +0000 (08:07 +0200)] 
ARM64: zynqmp: Add defconfig for zcu102 revB board

Support natively revB board. Till now support for revB was done via
zcu102 defconfig where device-tree was changed to revB.
This patch is adding direct defconfig for RevB.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Add support for ZCU102 platform
Michal Simek [Thu, 7 Apr 2016 13:58:23 +0000 (15:58 +0200)] 
ARM64: zynqmp: Add support for ZCU102 platform

Add new board support.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Remove netdev.h from board file
Michal Simek [Mon, 11 Apr 2016 09:44:40 +0000 (11:44 +0200)] 
ARM64: zynqmp: Remove netdev.h from board file

Including netdev.h is causing compilation warning:
+ int fecmxc_register_mii_postcall(struct eth_device *dev, int
(*cb)(int));
+                                         ^
w+In file included from ../board/xilinx/zynqmp/zynqmp.c:9:0:
w+../include/netdev.h:204:41: warning: ‘struct eth_device’ declared
inside parameter list [enabled by default]
w+../include/netdev.h:204:41: warning: its scope is only this definition
or declaration, which is probably not what you want [enabled by default]

This patch removes it.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Make DDR detection code work on 32bit system
Michal Simek [Fri, 1 Apr 2016 13:55:47 +0000 (15:55 +0200)] 
ARM64: zynqmp: Make DDR detection code work on 32bit system

Define u64 types to be usable on 32bit system because of 64bit address
and size cells and 32bit shifts in the code.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Extend early malloc space to be able to run DM drivers
Michal Simek [Mon, 22 Feb 2016 09:01:27 +0000 (10:01 +0100)] 
ARM64: zynqmp: Extend early malloc space to be able to run DM drivers

DM drivers need more malloc space for early DM models allocation.
Use 4k instead of 1k.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Do not setup DM_ETH/GPIO/MMC by default for all boards
Michal Simek [Mon, 4 Apr 2016 13:32:20 +0000 (15:32 +0200)] 
ARM64: zynqmp: Do not setup DM_ETH/GPIO/MMC by default for all boards

There are mini configurations which need to be fit to OCM that's why
these options shouldn't be enabled by default.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Add missing nand node for ep108
Punnaiah Choudary Kalluri [Thu, 5 Nov 2015 16:51:14 +0000 (22:21 +0530)] 
ARM64: zynqmp: Add missing nand node for ep108

Add missing nand node for ep108.

Signed-off-by: Punnaiah Choudary Kalluri <punnaia@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Added OOB timing settings in zynqmp-ep108.dts
Anurag Kumar Vulisha [Thu, 5 Nov 2015 11:51:37 +0000 (17:21 +0530)] 
ARM64: zynqmp: Added OOB timing settings in zynqmp-ep108.dts

This patch adds the sata port phy OOB timing values in the sata
device-tree node.

Signed-off-by: Anurag Kumar Vulisha <anuragku@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Use 64bit size cell format for memory node
Michal Simek [Thu, 7 Apr 2016 13:07:38 +0000 (15:07 +0200)] 
ARM64: zynqmp: Use 64bit size cell format for memory node

Enable option to support more then 4GB memories in single size block.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Fix DWC3 binding with the kernel
Michal Simek [Thu, 7 Apr 2016 13:06:07 +0000 (15:06 +0200)] 
ARM64: zynqmp: Fix DWC3 binding with the kernel

Use the same binding as is used in mainline Linux kernel.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Add serdes address space dp driver
Michal Simek [Wed, 27 Jan 2016 18:02:37 +0000 (19:02 +0100)] 
ARM64: zynqmp: Add serdes address space dp driver

For run time serdes adjustment.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Align register description
Michal Simek [Thu, 7 Apr 2016 13:01:33 +0000 (15:01 +0200)] 
ARM64: zynqmp: Align register description

Separate register space and put it on more lines.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: dp: Add default properties to zynqmp.dtsi
Hyun Kwon [Tue, 24 Nov 2015 01:12:55 +0000 (17:12 -0800)] 
ARM64: zynqmp: dp: Add default properties to zynqmp.dtsi

Add some default properties to zynqmp.dtsi.

Signed-off-by: Hyun Kwon <hyun.kwon@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Use correct addresses in node names
Hyun Kwon [Tue, 24 Nov 2015 01:12:54 +0000 (17:12 -0800)] 
ARM64: zynqmp: Use correct addresses in node names

Reflect actual silicon addresses in DT node names.

Signed-off-by: Hyun Kwon <hyun.kwon@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Align node address with parent node for dpdma
Michal Simek [Wed, 27 Jan 2016 18:04:56 +0000 (19:04 +0100)] 
ARM64: zynqmp: Align node address with parent node for dpdma

Use right addresses for channel names

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Add backward compatible string for uart
Michal Simek [Fri, 27 Nov 2015 12:22:58 +0000 (13:22 +0100)] 
ARM64: zynqmp: Add backward compatible string for uart

Mainline kernel has no r1p12 compatible string that's why console stops
to work with the latest DTS files. Append generic compatible string.
Keep in your mind that using this generic compatible string not all uart
features will be available.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Fix coding style for pcie
Michal Simek [Wed, 20 Jan 2016 11:59:23 +0000 (12:59 +0100)] 
ARM64: zynqmp: Fix coding style for pcie

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Extend pcie node to support legacy interrupts
Bharat Kumar Gogada [Mon, 15 Feb 2016 15:48:58 +0000 (21:18 +0530)] 
ARM64: zynqmp: Extend pcie node to support legacy interrupts

Modifying device tree node to support legacy interrupts.

Signed-off-by: Bharat Kumar Gogada <bharatku@xilinx.com>
Signed-off-by: Ravi Kiran Gummaluri <rgummal@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Add interrupt-controller property to gpio nodes
Michal Simek [Mon, 23 Nov 2015 12:26:15 +0000 (13:26 +0100)] 
ARM64: zynqmp: Add interrupt-controller property to gpio nodes

GPIO driver supports an input interrupt that's why gpio node itself can
be labeled as interrupt controller.

Reported-by: John Linn <linnj@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Add ddrc node in dts
Naga Sureshkumar Relli [Fri, 11 Mar 2016 07:40:26 +0000 (13:10 +0530)] 
ARM64: zynqmp: Add ddrc node in dts

This patch adds ddrc memory controller node in dts.
size mentioned in dts is 0x30000, because we need to access DDR_QOS
INTR registers located at fd090208 from this driver.

Signed-off-by: Naga Sureshkumar Relli <nagasure@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Added clocks to DT
VNSL Durga [Thu, 24 Mar 2016 17:15:12 +0000 (22:45 +0530)] 
ARM64: zynqmp: Added clocks to DT

ZynqMP DMA's main clock and apb clock are added
in zynqmp DT.

Signed-off-by: VNSL Durga <vnsldurg@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Punnaiah Choudary Kalluri <punnaia@xilinx.com>
8 years agoARM64: zynqmp: Add CCI-400 node
Michal Simek [Thu, 26 Nov 2015 10:21:25 +0000 (11:21 +0100)] 
ARM64: zynqmp: Add CCI-400 node

Add CCI-400 node to DTSI.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Add missing interrupt-parent to PMU node
Michal Simek [Thu, 7 Apr 2016 13:28:33 +0000 (15:28 +0200)] 
ARM64: zynqmp: Add missing interrupt-parent to PMU node

ZynqMP is not using global interrupt-parent setting that's why
it has to be listed in every node separately. PMU node missed it and
this patch is adding it.

Reported-by: John Linn <John.Linn@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: DT: Add power domains
Soren Brinkmann [Mon, 11 Jan 2016 23:34:42 +0000 (15:34 -0800)] 
ARM64: zynqmp: DT: Add power domains

Add power-domains to the DT and attach devices to them.
The power-domains are all logical domains as understood by firmware.
Each PD is identified by a unique identifier that the platform firmware
understands.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Added broken-tuning property to SD, eMMC nodes
P L Sai Krishna [Tue, 19 Jan 2016 13:31:10 +0000 (19:01 +0530)] 
ARM64: zynqmp: Added broken-tuning property to SD, eMMC nodes

This patch adds broken-tuning property to SD and
eMMC nodes.

Signed-off-by: P L Sai Krishna <lakshmis@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Sync GEM nodes with Linux
Michal Simek [Thu, 11 Feb 2016 14:26:46 +0000 (15:26 +0100)] 
ARM64: zynqmp: Sync GEM nodes with Linux

Remove jumbo properties which are handled in the driver directly
and use mainline compatible string which is already handled by the
driver.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Hook up the GEMs to the SMMU
Edgar E. Iglesias [Thu, 26 Nov 2015 13:12:20 +0000 (14:12 +0100)] 
ARM64: zynqmp: Hook up the GEMs to the SMMU

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Correct IRQ nr for the SMMU
Edgar E. Iglesias [Thu, 26 Nov 2015 13:12:19 +0000 (14:12 +0100)] 
ARM64: zynqmp: Correct IRQ nr for the SMMU

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Add 8-bit bus width property.
P L Sai Krishna [Thu, 7 Jan 2016 09:27:27 +0000 (14:57 +0530)] 
ARM64: zynqmp: Add 8-bit bus width property.

This patch add 8-bit bus width property to eMMC node.

Signed-off-by: P L Sai Krishna <lakshmis@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: dt: Change qspi node compatible string
Ranjit Waghmode [Wed, 2 Dec 2015 04:36:58 +0000 (10:06 +0530)] 
ARM64: zynqmp: dt: Change qspi node compatible string

This patch makes compatible string as "m25p80" for qspi node in
ep108 device tree file

Signed-off-by: Ranjit Waghmode <ranjit.waghmode@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Add missing mmc aliases
Michal Simek [Tue, 23 Feb 2016 08:30:15 +0000 (09:30 +0100)] 
ARM64: zynqmp: Add missing mmc aliases

Add missing mmc aliases.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Use C pre-processor for includes in dts
Alistair Francis [Thu, 25 Feb 2016 17:30:03 +0000 (09:30 -0800)] 
ARM64: zynqmp: Use C pre-processor for includes in dts

Change the dtsi include code to use the C pre-processor #include instead
of the device tree /include/. This brings all ZynqMP device trees inline
with each other.

Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Reviewed-by: Sören Brinkmann <soren.brinkmann@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM64: zynqmp: Move kernel and fdt offsets and sizes to board config file
Siva Durga Prasad Paladugu [Mon, 2 Nov 2015 14:15:35 +0000 (19:45 +0530)] 
ARM64: zynqmp: Move kernel and fdt offsets and sizes to board config file

Move kernel and fdt offsets and sizes to board config file
as the flash size varies across boards

Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: zynq: Do not perform reset at the end of thor
Michal Simek [Thu, 7 Apr 2016 16:55:11 +0000 (18:55 +0200)] 
ARM: zynq: Do not perform reset at the end of thor

Setup reset off for lthor.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: zynq: Support systems with more memory banks
Michal Simek [Fri, 1 Apr 2016 13:56:33 +0000 (15:56 +0200)] 
ARM: zynq: Support systems with more memory banks

This is example how to change u-boot to support more memory banks read
from DT.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: zynq: Use memory initialization based on DTS file
Michal Simek [Fri, 1 Apr 2016 14:04:14 +0000 (16:04 +0200)] 
ARM: zynq: Use memory initialization based on DTS file

Remove hardcoded memory sizes. Use information from DT memory node.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: zynq: Fix usb phy node for Zybo
Michal Simek [Thu, 7 Apr 2016 12:42:53 +0000 (14:42 +0200)] 
ARM: zynq: Fix usb phy node for Zybo

Compatible property should be the first.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: zynq: Extend microzed board support
Michal Simek [Tue, 12 Jan 2016 07:06:36 +0000 (08:06 +0100)] 
ARM: zynq: Extend microzed board support

Add missing DT nodes and enable USB.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
8 years agoARM: zynq: Add missing qspi for xm013
Michal Simek [Thu, 7 Apr 2016 11:08:35 +0000 (13:08 +0200)] 
ARM: zynq: Add missing qspi for xm013

Add missing qspi node and make qspi as spi0.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: zynq: Create empty line below headers
Michal Simek [Thu, 7 Apr 2016 13:24:08 +0000 (15:24 +0200)] 
ARM: zynq: Create empty line below headers

Sync with others zynq DTS files.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: zynq: Align spi and qspi node locations
Michal Simek [Thu, 7 Apr 2016 11:04:15 +0000 (13:04 +0200)] 
ARM: zynq: Align spi and qspi node locations

Keep nodes alphabelitally sorted.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
8 years agoARM: zynq: zc706: Add adv7511 on i2c bus
Christian Kohn [Thu, 12 Nov 2015 23:53:36 +0000 (15:53 -0800)] 
ARM: zynq: zc706: Add adv7511 on i2c bus

Add missing adv7511 and configure to match Base TRD.

Signed-off-by: Christian Kohn <christian.kohn@xilinx.com>
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: zynq: zc702: Add adv7511 on i2c bus
Christian Kohn [Thu, 12 Nov 2015 23:53:35 +0000 (15:53 -0800)] 
ARM: zynq: zc702: Add adv7511 on i2c bus

Add bindings for adv7511.

Signed-off-by: Christian Kohn <christian.kohn@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: zynq: DT: Add ethernet phy reset information
Punnaiah Choudary Kalluri [Wed, 3 Feb 2016 09:57:18 +0000 (15:27 +0530)] 
ARM: zynq: DT: Add ethernet phy reset information

Added phy reset gpio information for gem0.

Signed-off-by: Punnaiah Choudary Kalluri <punnaia@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: zynq: Fix bootargs in board dtsi
Michal Simek [Thu, 7 Apr 2016 09:15:00 +0000 (11:15 +0200)] 
ARM: zynq: Fix bootargs in board dtsi

- Sync with Linux kernel
- Remove rootfs
- Remove earlyprintk

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: zynq: Align devcfg node
Michal Simek [Thu, 7 Apr 2016 09:00:37 +0000 (11:00 +0200)] 
ARM: zynq: Align devcfg node

- Have compatible string as the first property
- Sync with Linux kernel dtsi
- Add missing interrupt properties

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: dts: Updated devicetree bindings for Zynq 7000 platform
Moritz Fischer [Tue, 23 Jun 2015 06:18:44 +0000 (23:18 -0700)] 
ARM: dts: Updated devicetree bindings for Zynq 7000 platform

Added addtional bindings required for FPGA Manager operation
of the Xilinx Zynq Devc configuration interface.

Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: dts: zynq: Add devicetree entry for Xilinx Zynq reset controller.
Moritz Fischer [Fri, 31 Jul 2015 01:13:55 +0000 (18:13 -0700)] 
ARM: dts: zynq: Add devicetree entry for Xilinx Zynq reset controller.

Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: zynq: Add interrupt-controller property to gpio nodes
Michal Simek [Thu, 7 Apr 2016 08:54:08 +0000 (10:54 +0200)] 
ARM: zynq: Add interrupt-controller property to gpio nodes

GPIO driver supports an input interrupt that's why gpio node itself can
be labeled as interrupt controller.

Reported-by: John Linn <linnj@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoPrepare v2016.05-rc1
Tom Rini [Tue, 12 Apr 2016 02:22:25 +0000 (22:22 -0400)] 
Prepare v2016.05-rc1

Signed-off-by: Tom Rini <trini@konsulko.com>
8 years agofastboot: sparse: remove unnecessary logging
Steve Rae [Tue, 9 Feb 2016 19:19:11 +0000 (11:19 -0800)] 
fastboot: sparse: remove unnecessary logging

remove logging of the 'skipped' blocks

Signed-off-by: Steve Rae <srae@broadcom.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
8 years agofastboot: sparse: fix block addressing for don't care chunk type
Steve Rae [Tue, 9 Feb 2016 19:19:10 +0000 (11:19 -0800)] 
fastboot: sparse: fix block addressing for don't care chunk type

When 7bfc3b1 (sparse: Refactor chunk parsing function) was implemented,
it dropped 9981945 (aboot: fix block addressing for don't care chunk type).

This re-implements the required fix for the "don't care chunk type"...

Signed-off-by: Steve Rae <srae@broadcom.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
8 years agoMerge branch 'master' of git://git.denx.de/u-boot-arc
Tom Rini [Mon, 11 Apr 2016 18:05:37 +0000 (14:05 -0400)] 
Merge branch 'master' of git://git.denx.de/u-boot-arc

8 years agospl: mmc: raw: Try to load u-boot if Linux image is not found
Lokesh Vutla [Mon, 11 Apr 2016 09:54:50 +0000 (15:24 +0530)] 
spl: mmc: raw: Try to load u-boot if Linux image is not found

If CONFIG_SPL_OS_BOOT is enabled and Linux image is not flashed at
RAW_MODE_KERNEL_SECTOR in MMC, spl still assumes that Linux is
available and tries to boot it and hangs. In order to avoid this,
adding a check to verify if parsed image header is of type IH_OS_LINUX.
If it fails then fall back to load u-boot image.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
8 years agoarm: Replace v7_maint_dcache_all(ARMV7_DCACHE_INVAL_ALL) with asm code
Hans de Goede [Sat, 9 Apr 2016 11:53:49 +0000 (13:53 +0200)] 
arm: Replace v7_maint_dcache_all(ARMV7_DCACHE_INVAL_ALL) with asm code

Lets be consistent and also replace v7_maint_dcache_all()
with asm code for the invalidate case.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agoarm: Replace v7_maint_dcache_all(ARMV7_DCACHE_CLEAN_INVAL_ALL) with asm code
Hans de Goede [Sat, 9 Apr 2016 11:53:48 +0000 (13:53 +0200)] 
arm: Replace v7_maint_dcache_all(ARMV7_DCACHE_CLEAN_INVAL_ALL) with asm code

v7_maint_dcache_all() does not work reliable when build with gcc6,
see: https://bugzilla.redhat.com/show_bug.cgi?id=1318788

While debugging this I learned that v7_maint_dcache_all() is unreliable
when build with gcc5 too when it is marked as noinline.

This commit fixes the reliability issues by replacing the C-code with
the ready to use asm implementation from the kernel.

Given that this code when written as C-code clearly is quite fragile
(also see the existing comments about the C-code being the way it is
 to get optimal assembly) and that we have a proven asm alternative,
I believe that this is the best solution.

Note that we actually already had a copy of the kernel's
v7_flush_dcache_all() before this commit in
arch/arm/mach-uniphier/arm32/lowlevel_init.S.

This commit moves that code arch/arm/cpu/armv7/cache_v7_asm.S, renames
it to __v7_flush_dcache_all(), and adds a v7_flush_dcache_all() wrapper
which saves / restores the clobbered registers for use from C-code.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agolib/crc8: Add crc start value
Stefan Roese [Fri, 8 Apr 2016 13:56:29 +0000 (15:56 +0200)] 
lib/crc8: Add crc start value

To make the usage of this function more flexible, lets add the CRC start
value as parameter to this function. This way it can be used by other
functions requiring different start values than 0 as well.

For non-zero CRC start values to work, I've reworked the function a bit.
The new implementation is copied from the Linux version in
drivers/i2c/i2c-core.c / i2c_smbus_pec(). Which supports non-zero
CRC stating values.

I've double-checked that the results for zero starting values are
identical to the results from the original version of this function.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agotest/py: README: link to example hook scripts
Stephen Warren [Wed, 6 Apr 2016 17:46:59 +0000 (11:46 -0600)] 
test/py: README: link to example hook scripts

When implementing test/py hook scripts, it's helpful to read some working
examples. Provide a link to some. The link was mentioned in the commit
message which first added test/py, but not in any documentation file.

Suggested-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agobootcounter_ram: Flush dcache after data is written into SDRAM
Stefan Roese [Wed, 6 Apr 2016 09:02:22 +0000 (11:02 +0200)] 
bootcounter_ram: Flush dcache after data is written into SDRAM

This patch adds a call to flush_dcache_range() to bootcount_store() to
make sure, that the bootcounter data (including the patterns) is
written to memory. Without this, platforms with dcache enabled may not
have the bootcounter updated upon reset.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Valentin Longchamp <valentin.longchamp@keymile.com>
8 years agodisk: part: Enable get_info pointer for CONFIG_SPL_FAT_SUPPORT
Michal Simek [Tue, 5 Apr 2016 11:34:20 +0000 (13:34 +0200)] 
disk: part: Enable get_info pointer for CONFIG_SPL_FAT_SUPPORT

The patch "dm: part: Convert partition API use to linker lists"
(sha1: 96e5b03c8ab749b6547f6a3ceb4d4b9f274211aa) is adding new
dependency for enabling SPL_EXT_SUPPORT to be able to get
information about DOS partition.
get_info is also required for FAT support only which is used on Xilinx
Zynq boards.

Reported-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agoam33xx changed BOOT_DEVICE_SPI to correct value
Vogt, Christof [Tue, 5 Apr 2016 08:56:57 +0000 (10:56 +0200)] 
am33xx changed BOOT_DEVICE_SPI to correct value

Changed BOOT_DEVICE Code for SPI on AM33xx.
According AM335x reference manual page 4960
(SPRUH73L-October 2011-Revised February 2015)
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
8 years agorpi: remove redundant board files
Stephen Warren [Tue, 5 Apr 2016 02:00:41 +0000 (20:00 -0600)] 
rpi: remove redundant board files

Now that rpi_*defconfig and Kconfig (rather than the config header file)
provide the identity of the build, we don't need to separate config
headers and board directories for each RPi variant. Set CONFIG_SYS_BOARD
and CONFIG_SYS_CONFIG_NAME so that we can get rid of the duplication. This
requires a tiny number of extra ifdefs in the config header.

The only disadvantage of this approach is that the $board/$board_name
environment variables aren't as descriptive as they used to be. This isn't
really an issue because those only exist to allow scripts to create DTB
filenames at runtime. However, the RPi board code already sets $fdtfile to
something more accurate based on FW-reported board ID anyway.

While at it, unify some Kconfig select options, and add a MAINTAINERS
entry for bcm283x too.

Partially-suggested-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agostm32: stm32_flash: add memory barrier during flash write
Vikas Manocha [Mon, 4 Apr 2016 23:49:02 +0000 (16:49 -0700)] 
stm32: stm32_flash: add memory barrier during flash write

After writing data to flash space, next instruction is checking if flash
controller is busy writing to the flash memory. Memory barrier is required here
to avoid transaction re-ordering for data write and busy status check.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
8 years agotest/py: Add support for loading image via tftp to specified location
Michal Simek [Mon, 4 Apr 2016 18:06:14 +0000 (20:06 +0200)] 
test/py: Add support for loading image via tftp to specified location

For example this setting:

env__net_tftp_readable_file = {
    "fn": "ep108/image.ub",
    "addr": 0x10000000,
    "size": 25846296,
    "crc32": "b726f9de",
}

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
8 years agospmi: Fix sandbox spmi driver memory corruption
Mateusz Kulikowski [Mon, 4 Apr 2016 17:55:58 +0000 (19:55 +0200)] 
spmi: Fix sandbox spmi driver memory corruption

There is off-by-one error in sandbox_emul_gpio that causes
segfault of certain tests.

EMUL_GPIO_REG_END is the address of last valid (emulated) register.
This patch fixed this (by adding one more element to emulated register array).

Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
8 years agotest/py: pass -v option when executing sandbox
Stephen Warren [Mon, 4 Apr 2016 17:04:50 +0000 (11:04 -0600)] 
test/py: pass -v option when executing sandbox

This shows more output, such as the internal output generated by the unit
test ("ut") command, which makes it easier to debug issues.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agoboard: ti: am57xx: Prevent init_sata() from being called twice
Roger Quadros [Mon, 4 Apr 2016 07:53:31 +0000 (10:53 +0300)] 
board: ti: am57xx: Prevent init_sata() from being called twice

init_sata() is done as part of scsi_init() in
arch/arm/cpu/armv7/omap-common/sata.c so no need to duplicate
it here.

This seems to fix SATA problems in the kernel when CONFIG_TI_PIPE3 is
configured as loadable module.

Cc: Cooper Jr., Franklin <fcooper@ti.com>
Cc: Nishanth Menon <nm@ti.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
8 years agoarc: Add virt_to_phys() stub
Alexey Brodkin [Fri, 8 Apr 2016 16:21:12 +0000 (09:21 -0700)] 
arc: Add virt_to_phys() stub

Commit cf7c93cdd755 "usb: ehci: Implement V2P mapping"
introduced usage of virt_to_phys() in ehci-hcd.

Since there was no implementation of virt_to_phys() for ARC
compilation of the ehci-generic driver failed.

This change adds virt_to_phys() stub for ARC so now
USB driver for AXS101 board could be built again.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Acked-by: Marek Vasut <marex@denx.de>
8 years agoarc: get rid of running_on_hw
Alexey Brodkin [Sat, 20 Feb 2016 08:30:19 +0000 (11:30 +0300)] 
arc: get rid of running_on_hw

ISS is obsolete now and nSIM is used for simulation instead.
In its turn nSIM properly handles baud-rate settings so get rid
of now useless check.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
8 years agoREADME: Specify the full path for README.video
Fabio Estevam [Sat, 2 Apr 2016 14:53:18 +0000 (11:53 -0300)] 
README: Specify the full path for README.video

It is clearer to specify the full path to access the
doc/README.video file.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agodrivers: block: fix placement of parameters
Eric Nelson [Sat, 2 Apr 2016 14:37:14 +0000 (07:37 -0700)] 
drivers: block: fix placement of parameters

Signed-off-by: Eric Nelson <eric@nelint.com>
8 years agocmd: blkcache: simplify sub-command handling
Eric Nelson [Sat, 2 Apr 2016 14:37:13 +0000 (07:37 -0700)] 
cmd: blkcache: simplify sub-command handling

Signed-off-by: Eric Nelson <eric@nelint.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
8 years agocmd: blkcache: remove indentation from output of 'show'
Eric Nelson [Sat, 2 Apr 2016 14:37:12 +0000 (07:37 -0700)] 
cmd: blkcache: remove indentation from output of 'show'

Signed-off-by: Eric Nelson <eric@nelint.com>
8 years agoARM: rpi: add some missing Kconfig help text
Stephen Warren [Sat, 2 Apr 2016 03:38:04 +0000 (21:38 -0600)] 
ARM: rpi: add some missing Kconfig help text

Add notes re: enabling the UART to the RPi 3 32-bit help text. Fully
describe the RPi 3 64-bit board option.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoARM: add Raspberry Pi 3 64-bit config
Stephen Warren [Sat, 2 Apr 2016 03:14:15 +0000 (21:14 -0600)] 
ARM: add Raspberry Pi 3 64-bit config

On all Pis so far, the VC FW provides a short stub to set up the ARM CPU
before entering the kernel (a/k/a U-Boot for us). This feature is not
currently supported by the VC FW when booting in 64-bit mode. However,
this feature will likely appear in the near future, and this U-Boot port
assumes that such a feature is in place. Without that feature, or a
temporary workaround described below, U-Boot will not boot.

Once the VC FW does provide the ARM stub, u-boot.bin built for rpi_3 can
be used drectly as kernel7.img, in the same way as any other RPi port. The
following config.txt is required:

    # Fix mini UART input frequency, and setup/enable up the UART.
    # Without this option, U-Boot will not boot, even if you don't care
    # about the serial console. This option will always be required for
    # all RPi3 use-cases, unless the PL011 UART is used, which is not
    # yet supported by rpi_3* builds of U-Boot.
    enable_uart=1
    # Boot in AArch64 (64-bit) mode.
    # It is possible that a future VC FW will remove the need for this
    # option, instead auto-setting 32-/64-bit mode based on the "kernel"
    # filename present on the SD card.
    arm_control=0x200

Prior to the VC FW providing the ARM boot stub, you can use the following
steps to build an equivalent stub into the U-Boot binary:

git clone https://github.com/swarren/rpi-3-aarch64-demo.git \
    ../rpi-3-aarch64-demo
(cd ../rpi-3-aarch64-demo && ./build.sh)
Build U-Boot for rpi_3 in the usual way
cat ../rpi-3-aarch64-demo/armstub64.bin u-boot.bin > u-boot.bin.stubbed
Use u-boot.bin.stubbed as kernel7.img on the Pi SD card.

In this case, the following additional entries are required in config.txt:

    # Tell the FW to load the kernel image at address 0, the reset vector.
    kernel_old=1

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoARM: allow CONFIG_GICV* not to be defined
Stephen Warren [Sat, 2 Apr 2016 03:14:14 +0000 (21:14 -0600)] 
ARM: allow CONFIG_GICV* not to be defined

There are ARM SoCs (such as the BCM2837) do not contain an ARM GIC. Fix
the ARMv8 CPU startup code to compile in this case.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoarm: socfpga: sr1500: Remove USB_GADGET
Sam Protsenko [Fri, 1 Apr 2016 18:27:50 +0000 (21:27 +0300)] 
arm: socfpga: sr1500: Remove USB_GADGET

"buildman" tool revealed that USB_GADGET was enabled by mistake for this
board in process of moving that option to Kconfig. Remove it to bring
things back to correct state.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Acked-by: Stefan Roese <sr@denx.de>
8 years agoenv_eeprom invalidates gd->env_addr by setting it to an offset value
Guy Thouret [Fri, 11 Mar 2016 13:31:39 +0000 (13:31 +0000)] 
env_eeprom invalidates gd->env_addr by setting it to an offset value

Patch to fix boot hang when using env on i2c eeprom caused by invalid gd->env_addr

Signed-off-by: Guy Thouret <guy.thouret@wems.co.uk>
Cc: Heiko Schocher <hs@denx.de>
8 years agofastboot: sparse: fix sparse blocks calculation
Jeffy Chen [Wed, 3 Feb 2016 10:13:55 +0000 (18:13 +0800)] 
fastboot: sparse: fix sparse blocks calculation

It may overflow in sparse_block_size_to_storage, use uint64_t instead in
the calculation.

Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
8 years agoMerge branch 'master' of git://git.denx.de/u-boot-socfpga
Tom Rini [Sun, 10 Apr 2016 23:55:25 +0000 (19:55 -0400)] 
Merge branch 'master' of git://git.denx.de/u-boot-socfpga

8 years agoMerge branch 'master' of git://git.denx.de/u-boot-usb
Tom Rini [Sun, 10 Apr 2016 23:55:08 +0000 (19:55 -0400)] 
Merge branch 'master' of git://git.denx.de/u-boot-usb

8 years agoarm: socfpga: Drop space after 'loadaddr=' in extra env
Marek Vasut [Sun, 3 Apr 2016 17:11:12 +0000 (19:11 +0200)] 
arm: socfpga: Drop space after 'loadaddr=' in extra env

There is an incorrect space after loadaddr= in the extra environment,
so drop it.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Chin Liang See <clsee@altera.com>
8 years agoarm: socfpga: Nuke useless include
Marek Vasut [Sat, 19 Mar 2016 17:59:11 +0000 (18:59 +0100)] 
arm: socfpga: Nuke useless include

The dwmmc.h include was forgotten during the migration of dwmmc
probing to DM. Since the shiny DM is in place now, remove this
relic of the past.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Chin Liang See <clsee@altera.com>
8 years agoarm: socfpga: migration of CONFIG_SPI_FLASH_BAR
Denis Bakhvalov [Thu, 24 Mar 2016 21:39:09 +0000 (22:39 +0100)] 
arm: socfpga: migration of CONFIG_SPI_FLASH_BAR

CONFIG_SPI_FLASH_BAR was deleted from socfpga_common.h
and placed in socfpga_*_defconfig because it is Kconfig symbol.

Signed-off-by: Denis Bakhvalov <dendibakh@gmail.com>
Reported-by: Denis Bakhvalov <dendibakh@gmail.com>
Cc: Marek Vasut <marex@denx.de>
Acked-by: Marek Vasut <marex@denx.de>
8 years agoarm: socfpga: sockit: Use more relaxed DRAM timings
Marek Vasut [Sun, 20 Mar 2016 17:02:44 +0000 (18:02 +0100)] 
arm: socfpga: sockit: Use more relaxed DRAM timings

The currently present DRAM timings generated from GHRD 14.0 did
not work on SoCkit rev. D because they were too tight. Load the
DRAM timings from GHRD 13.0 which are more relaxed and work with
SoCkit rev. D.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Chin Liang See <clsee@altera.com>
8 years agoarm: socfpga: Handle phy-mode OF property for GMACs
Marek Vasut [Mon, 21 Mar 2016 12:38:11 +0000 (13:38 +0100)] 
arm: socfpga: Handle phy-mode OF property for GMACs

Thus far, the socfpga init code had hard-coded the configuration
of the ethernet PHY interface to RGMII in the ethernet registers
in sysmgr space, so PHYs connected in another modes did not work.

This patch fixes support for configurations where the ethernet PHYs
are connected over MII/GMII/RMII interfaces by parsing the phy-mode
OF property of the GMACs and configuring the ethernet registers in
sysmgr space accordingly.

Signed-off-by: Marek Vasut <marex@denx.de>
Reported-by: Denis Bakhvalov <denis.bakhvalov@nokia.com>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
8 years agodm: usb: Do not reprobe usb hosts on "usb tree" command
Hans de Goede [Sat, 2 Apr 2016 22:04:39 +0000 (00:04 +0200)] 
dm: usb: Do not reprobe usb hosts on "usb tree" command

Some usb hosts may have failed to probe on "usb start", i.e. an otg
host without an otg-host cable plugged in.

"usb tree" would cause the probe method of these hosts to get called
again, something which should only happen on "usb reset".

This commit fixes this.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agomusb: Properly call musb_stop() on probe failure
Hans de Goede [Sat, 2 Apr 2016 18:46:10 +0000 (20:46 +0200)] 
musb: Properly call musb_stop() on probe failure

musb_lowlevelinit(): if no device is plugged in / detected call
musb_stop() to undo the preceding musb_start() call.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agomusb: sunxi: Do not allocate musb struct multiple times
Hans de Goede [Sat, 2 Apr 2016 18:46:09 +0000 (20:46 +0200)] 
musb: sunxi: Do not allocate musb struct multiple times

The probe function of the musb host driver can be called multiple
times. The code assumes that it can save the pointer to the allocated
musb struct in the driver model priv_auto_alloc data, but this data
gets free-ed on a probe failure or on removal, so we must save the
pointer elsewhere.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agousb: bcm_udc_otg: enable clocks
Steve Rae [Mon, 4 Apr 2016 19:59:43 +0000 (12:59 -0700)] 
usb: bcm_udc_otg: enable clocks

Turn on the USB OTG clocks.

Signed-off-by: Steve Rae <srae@broadcom.com>
8 years agodrivers:usb:common:fsl-dt-fixup: fix return value of fdt_usb_get_node_type
Sriram Dash [Tue, 5 Apr 2016 09:11:22 +0000 (14:41 +0530)] 
drivers:usb:common:fsl-dt-fixup: fix return value of fdt_usb_get_node_type

Changes the return type of fdt_usb_get_node_type from char* to int

Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
8 years agodrivers:usb:common:fsl-dt-fixup: Add device-tree fixup support for xhci controller
Sriram Dash [Tue, 5 Apr 2016 09:11:21 +0000 (14:41 +0530)] 
drivers:usb:common:fsl-dt-fixup: Add device-tree fixup support for xhci controller

Enables usb device-tree fixup code to incorporate xhci controller

Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
8 years agodrivers:usb:common:fsl-dt-fixup: Remove code duplication for fdt_usb_get_node_type
Sriram Dash [Tue, 5 Apr 2016 09:11:20 +0000 (14:41 +0530)] 
drivers:usb:common:fsl-dt-fixup: Remove code duplication for fdt_usb_get_node_type

Call fdt_usb_get_node_type() from fdt_fixup_usb_mode_phy_type() to
avoid code duplication.

Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Acked-by: Marek Vasut <marex@denx.de>
8 years agodrivers:usb:common:fsl-dt-fixup: Move device-tree fixup framework to common file
Sriram Dash [Tue, 5 Apr 2016 09:11:19 +0000 (14:41 +0530)] 
drivers:usb:common:fsl-dt-fixup: Move device-tree fixup framework to common file

Move usb device-tree fixup framework from ehci-fsl.c to common place so
that it can be used by other drivers as well (xhci-fsl.c).

Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
Acked-by: Marek Vasut <marex@denx.de>
8 years agousb: kbd: Do not deregister usbkbd twice when using dm
Hans de Goede [Sun, 3 Apr 2016 07:18:53 +0000 (09:18 +0200)] 
usb: kbd: Do not deregister usbkbd twice when using dm

The dm usb_kbd_remove function() will deregister the usb keyboard for
us on a "usb reset" / "usb stop" so there is no need to manually call
usb_kbd_deregister() in the dm case.

This commit removes usb_kbd_deregister() in the dm case fixing the
following "usb reset" errors:

usb_kbd_remove: warning, ret=-6
device_remove: Device 'usb_kbd' failed to remove, but children are gone

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agousb: ehci-hcd: Fix crash when no ops are provided to ehci_register()
Mateusz Kulikowski [Sun, 3 Apr 2016 11:38:26 +0000 (13:38 +0200)] 
usb: ehci-hcd: Fix crash when no ops are provided to ehci_register()

This commit fixes crash on BananaPi (and possibly others)
casued by 3f9f8a5b83f8aec40c9f4ee496046a695e333c45.

Crash reason:
When no ops were passed to ehci_register(), USB host driver caused
NULL pointer dereference.

Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
8 years agoboard: pic32mzda: enable USB-host, USB-storage support.
Purna Chandra Mandal [Mon, 21 Mar 2016 07:35:43 +0000 (13:05 +0530)] 
board: pic32mzda: enable USB-host, USB-storage support.

Enable MUSB host and USB storage support for Microchip
PIC32MZ[DA] Starter Kit.

Signed-off-by: Purna Chandra Mandal <purna.mandal@microchip.com>