This change will clear the divider value while doing deinit of
SD devices. In-order to clear the divider value we have to write
into register GCC_SDCC1_MISC.
Writing 0x0 to this register will clear the divider value which is
set, while doing initialization got SD devices.
Without this change, while kernel bootup we can see the below error.
error:
[3.529917] mmc0: Skipping voltage switch
[4.131741] mmc0: error -110 whilst initialising SD card.
Change-Id: Ifeca94ae09532a4b506e645cc9254e438179c886
Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
This change adds drive-strength property for I2C GPIOs and
modify config_i2c_gpio function to get the drvstr value from dts.
Change-Id: Ieece9e2f9d6abc115a50d87bc512004d3efcad0f
Signed-off-by: Pavithra Palanisamy <pavip@codeaurora.org>
This change is a workaround for Micron eMMC card. As per the card
extended CSD register value, the minimum size of a write protect
region is 0x8000 blocks (16MB). So the user should give start address
and size to align with 0x8000. But this eMMC part actually does
protect 32MB of memory.
We changing the minimum write protect region size from 0x8000 to
0x10000 for Micron eMMC card.
Change-Id: Id53c337374dfba8adb6bd550826337d8ecfe17f3
Signed-off-by: Vinoth Gnanasekaran <vgnana@codeaurora.org>
The Device will accept the requested number of data blocks, terminate
the transaction and return to transfer state. Stop command is not
required at the end of this type of multiple blocks write unless
terminated with an error. This change will send the
STOP_TRANIMISSION command if the command failed.
Change-Id: I9bd419ab8931d80a4a2eeba9f5bd42222257a824
Signed-off-by: Vinoth Gnanasekaran <vgnana@codeaurora.org>
The malibu phy stucks if the continuous tftp, ping and reboot tests in the
long run. Added the Malibu phy serdes and uniphy calibration for PSGMII mode.
Change-Id: Ie2e0dc363689fff69011560994b37adf6da76a17
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
During serial init after relocation, if TX FIFO is
not empty, clock init on-the-fly causes baudrate
flucutation resulting in TX data corruption and
outputs as garbage data on the console.
This patch fixes this by waiting until TX FIFO
gets flushed before serial initialization starts.
Change-Id: I487c73fbfb4fdb80b20d8beb8daa111ee9bae34e
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
This patch checks for the errors during the fifo write itself
like in qca_pio_read function. Previously, error was checked
only after the total xfer_size is written to the fifo and
errors during the fifo write operation were ignored.
Change-Id: I2a549b0032bfd774973773cc49b595c75682aac7
Signed-off-by: Balaji Prakash Jagadeesan <bjagadee@codeaurora.org>
We are allocating the dma descriptors,but they are not explicitly
freed. This change will free the dma descriptors after every transfer.
Change-Id: I0a851923ab4d2551215e29b34c7c31b85502fb3f
Signed-off-by: sameeruddin shaik <samesh@codeaurora.org>
This change modifies kstrtoint function to update
the result in destination buffer and return zero on success.
Change-Id: Ibdd9b36eed39d5e2ee3afc6f1609c1e35d5fb464
Signed-off-by: Pavithra Palanisamy <pavip@codeaurora.org>
Some cards are not working due to pcie reset.
So doing pcie reset with pcie reset gpio.
Change-Id: I0c631b116923b90bf94223d09e5662900a31244e
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
Since set_sgmii_mode function does not return any value, changed its
functon type to void.
Change-Id: I4f098747ed2e562488cf97dc06dbb48a54b53fc3
Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
TX and RX descriptors are 16 bytes. This causes problems with the cache
maintenance on CPUs where the cache-line size exceeds the size of these
descriptors. What will happen is that when the driver receives a packet
it will be immediately requeued for the hardware to reuse. The CPU will
therefore need to flush the cache-line containing the descriptor, which
will cause all other descriptors in the same cache-line to be flushed
along with it. If one of those descriptors had been written to by the
device those changes (and the associated packet) will be lost.
To work around this, we make use of non-cached memory if available. If
descriptors are mapped uncached there's no need to manually flush them
or invalidate them.
Change-Id: I7b8a9a55226dfdcbab49a93bcdf43af4d70c108a
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
This change enables u-boot support for AP.DK07.1-C4 configuration.
AP.DK07.1-C4 enables QCA402x IOT support
Change-Id: I5982b8f8783755b03d11c878f8108d71e6ace6d1
Signed-off-by: Gitanjali Krishna <gitanjal@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>
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
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