This patch enables the support to authenticate the signed images
before flashing through the 'secure_authenticate' command.
Also, changes have been done for compatibility with the 64Bit TZ variants.
Change-Id: I0972b481b826c9594367eda31a2e9c87566db705
Signed-off-by: Kathiravan T <kathirav@codeaurora.org>
In imxtract, if destination pointer is not given,
skipping dcache flush at the destination pointer
to avoid null-pointer issue.
Change-Id: I4dc08bd35c4ffb083ab0c646961644560fbf4c1a
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
Adding device tree support for HK08 in u-boot-2016.
Change-Id: I30d653e0dcb5a0f2da453360f7255edd153c6606
Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
To use u-boot-2016 in DK04-C5 (Spi nor + Spi nand),
dk04-c5.dtb can be added
Change-Id: Id61a0d4d03b5e1482eca5572e73ed42fca175bc9
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
Currently, the nand driver expects the start address to be page
aligned. This patch adds the support for reading data from
non-page aligned start address by using intermediate buffer.
1. Determine the number of pages with start address and
length.
2. Do the full page read for all the pages. For first page,
check the start address and determine the column. If column is
non-zero then use the intermediate buffer for page data and copy
the required number of bytes from this intermediate buffer to
actual buffer.
Change-Id: I05a4b98547c83f785096027596cedd83a283edd8
Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
eMMC part THGBMBG5D1KBAIT is taking long time for the secure trim.
This leads to erase timeout. Manufacturer ID based quirk is added
for the specific part to use trim instead of secure trim for block erase.
Change-Id: Id4ecfde9585e112521863439f684feb5e0caaa51
Signed-off-by: Vinoth Gnanasekaran <vgnana@codeaurora.org>
When SPI NOR is treated as psudo-nand,
SPI-NOR gets stuck in 3-byte mode
causing reads at incorrect offssets.
Change-Id: I062bce4755ee1b7be0d8dcc88ae9d5412143b6e1
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
USB 3.0 hub port status field has different bit positions from 2.0
hubs. Since U-Boot only understands the old version, translate the
new one into the old one.
Since we are going to add USB 3.0 hub support, this feature is only
available with driver model USB.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit 74ffc7cbb1)
Signed-off-by: Santan Kumar <santank@codeaurora.org>
Conflicts:
common/usb_hub.c
Change-Id: I0456a1753f879592572ea40bc352d943065f8666
USB 3.0 hub port status has different bit position regarding to
port power, port speed, etc. But others are the same as 2.0 hubs.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Stefan Roese <sr@denx.de>
Tested-by: Stefan Roese <sr@denx.de>
(cherry picked from commit 98ba3d6c23)
Signed-off-by: Santan Kumar <santank@codeaurora.org>
Change-Id: I77b72af7669aa05070ebacd1d95123413761c11c
xHCI spec says: the values of the 'route string' field shall be
initialized by the first 'Address Device' command issued to a
device slot, and shall not be modified by any other command.
So far U-Boot does not program this field, and it does not prevent
SS device directly attached to root port, or HS device behind an HS
hub, from working, due to the fact that 'route string' is used by
the xHC to target SS packets. But in order to enumerate devices
behind an SS hub, this field must be programmed.
With this commit and along with previous commits, now SS & HS devices
attached to a USB 3.0 hub can be enumerated by U-Boot.
As usual, this new feature is only available when DM is on.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit 493b8dd070)
Signed-off-by: Santan Kumar <santank@codeaurora.org>
Change-Id: I367a0f1fa5e310c1c6af2d4675a86a3293337d64
USB 3.0 hub uses a hub depth value multiplied by four as an offset
into the 'route string' to locate the bits it uses to determine the
downstream port number. We shall set the hub depth value of a USB
3.0 hub after it is configured.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit bbc6f06c00)
Signed-off-by: Santan Kumar <santank@codeaurora.org>
Conflicts:
include/usb.h
Change-Id: I7fa67c83c854c136fa9401201189e0597912e2a8
For future extension, change xhci_setup_addressable_virt_dev()
signature to accept a pointer to 'struct usb_device', instead
of its members slot_id & speed, as the struct already contains
these two plus some other useful information of the device.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit daec469144)
Signed-off-by: Santan Kumar <santank@codeaurora.org>
Change-Id: Ibd7991073f0de4a97babbd9a96270f53f77cb185
Use USB hub device's dev->uclass_priv to point to 'usb_hub_device'
so that with driver model usb_hub_reset() and usb_hub_allocate()
are no longer needed.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit dfa96e0676)
Signed-off-by: Santan Kumar <santank@codeaurora.org>
Conflicts:
common/usb_hub.c
Change-Id: I7a46a12c62aa7429ef2241c9543dd877abe6ac0b
Sometimes we need know if a given hub device is root hub or not.
Add a new API to test this. This removes the xHCI driver's own
version is_root_hub() and change to use the new API.
While we are here, remove the unused/commented out get_usb_device()
in the xHCI driver too.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
(cherry picked from commit 46c1d49330)
Signed-off-by: Santan Kumar <santank@codeaurora.org>
Change-Id: Ia27ee3b541f936e3eebf6ecb57c3499c08da3781
USB 3.0 hubs have a slightly different hub descriptor than USB 2.0
hubs, with a fixed (rather than variable length) size. Change the
host controller drivers that access those last two fields
(DeviceRemovable and PortPowerCtrlMask) to use the union.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Stefan Roese <sr@denx.de>
Tested-by: Stefan Roese <sr@denx.de>
(cherry picked from commit 337fc7e665)
Signed-off-by: Santan Kumar <santank@codeaurora.org>
Change-Id: I4ee4c866f4d35fea3ecf6431b90cec1af121fe29
Testing a USB 3.0 hub by connecting it to the xHCI port on Intel
MinnowMax, when issuing 'get hub descriptor' to the hub, xHCI
reports a transfer event TRB with a completion code 6 which means
'Stall Error'.
In fact super speed USB hub descriptor type is 0x2a, not 0x29.
Sending correct SETUP packet to the hub makes it not stall anymore.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Stefan Roese <sr@denx.de>
Tested-by: Stefan Roese <sr@denx.de>
(cherry picked from commit f342119602)
Signed-off-by: Santan Kumar <santank@codeaurora.org>
Change-Id: I105e81557ec4097e6fafafdd2e2b5ecffb75b56b
This change increases Drive strength of nand-controller
GPIO pins from 2 MA to 8 MA to support all NAND flash.
Change-Id: I250deb47f0ddc770fe5c22dad1be32eb1a8f129d
Signed-off-by: Pavithra Palanisamy <pavip@codeaurora.org>
Add environment variable in uboot and device-tree node
in kernel as "flash_type" to expose current boot mode.
Change-Id: I15d4547f135f187a157dd7b303fc31f2df77cec2
Signed-off-by: Pavithra Palanisamy <pavip@codeaurora.org>
Get flash device ID based on partition to
extend grow partition support to NAND devices.
Change-Id: I332e4bb88d7506184ec0194cba34a1f69a80c76c
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
Make strlcat() and memscpy() function
as compilable by removing unnecessary
things.
Change-Id: I77759fbf7e150a169d9a756542c806493e85e183
Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
Add strlcat() and memscpy() currently its not
present in uboot. make these function available
in uboot.
Update function declaration also in headers as
avoid warnings.
strlcat(): Append a length limited string to another.
memscpy(): Copy data between buffer. The main aim of memscpy
is to prevent buffer overflows by taking in both the
destination size and copy size.
Change-Id: Icfc4cb4f8d668c0cace02af97617ccc3eecc5651
Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
eMMC part SDIN8DE1-8G is taking long time for the secure trim.
This leads to erase timeout. Manufacturer ID based quirk is added
for the specific part to use trim instead of secure trim for block erase.
Change-Id: I13d5a9f19edf5daf9c1f4d5c2ec16b4f3b680159
Signed-off-by: Pradeep Das <pkdas@codeaurora.org>
This change adds the two new command secure_authenticate, is_sec_boot_enabled.
command secure_authenticate, helps to authenticate the given image before
writing into the flash. This command takes three arguments, which are sw_id,
img_addr and img_size. Each image has its own sw_id.
command is_sec_boot_enabled, helps to check if the secure fuse is enabled or
not.
Change-Id: I7c388cc7a25e66f2c5d16ff6439d143193ca305b
Signed-off-by: Kathiravan T <kathirav@codeaurora.org>