summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2021-03-03dm: gpio: Rename set_dir_flags() method to update_flags()Simon Glass
The current method is a misnomer since it is also used (e.g. by stm32) to update pull settings and open source/open drain. Rename it and expand the documentation to cover a few more details. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Pratyush Yadav <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2021-03-03gpio: Disable functions not used with of-platdataSimon Glass
These functions use devicetree and cannot work with of-platdata, which has no runtime devicetree. If they are used, the current linker error is confusing, since it talks about missing functions in the bowels of driver model. Avoid compiling these functions at all with of-platdata, so that a straightforward link error points to the problem. Series-changes; 3 - Fix 'wprl' typo Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2021-03-03Merge tag 'u-boot-imx-20210303' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx i.MX for 2021.04 ---------------- - new boards: - i.MX8MN Beacon EmbeddedWorks (2GB) - Gateworks Venice imx8mm - convert to DM: - imx53-qsb, mx53loco, mx51evk, mx23-evk - Fixes : - Network : FEC ethernet quirks - DH dh-imx6 CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/6597
2021-03-03video: sunxi_display: Convert to DM_VIDEOJagan Teki
DM_VIDEO migration deadline is already expired, but around 80 Allwinner boards are still using video in a legacy way: ===================== WARNING ====================== This board does not use CONFIG_DM_VIDEO Please update the board to use CONFIG_DM_VIDEO before the v2019.07 release. Failure to update by the deadline may result in board removal. See doc/driver-model/migration.rst for more info. ==================================================== Convert the legacy video driver over to the DM_VIDEO framework. This is a minimal conversion: it doesn't use the DT for finding its resources, nor does it use DM clocks or DM devices for the outputs (LCD, HDMI, CVBS). Tested in Bananapi M1+ Plus 1920x1200 HDMI out. (Jagan) Signed-off-by: Jagan Teki <[email protected]> [Andre: rebase and smaller fixes] Signed-off-by: Andre Przywara <[email protected]> Acked-by: Maxime Ripard <[email protected]> Reviewed-by: Jernej Skrabec <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-03-03usb: USB keyboard requires DM_KEYBOARDHeinrich Schuchardt
If CONFIG_DM_USB=y, the USB keyboard only works if CONFIG_DM_KEYBOARD=y. Signed-off-by: Heinrich Schuchardt <[email protected]>
2021-03-03usb: gadget: Use dbg_ep0() macro instead of serial_printf()Pali Rohár
All debug messages from ep0.c except a few are printed by dbg_ep0() macro. So for remaining few exceptions use also dbg_ep0() instead of serial_printf(). Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Acked-by: Pavel Machek <[email protected]>
2021-03-03usb: musb: Ensure that we set musb dynamic FIFO buffer for every endpointPali Rohár
If we do not set FIFO buffer address and size for some endpoint which is in use then default programmed address 0x0 would be used which is in conflict with address of FIFO buffer for endpoint 0. Moreover address of FIFO buffer for endpoint 0 cannot be programmed, it is fixed to 0x0. Sharing address space between more endpoints cause data loss and unexpected errors. This patch is fixing transmission of characters over usbtty serial console and allows using of usbtty for debugging purposes on Nokia N900. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Acked-by: Pavel Machek <[email protected]>
2021-03-03usb: musb: Fix handling interrupts for EP0 and SET ADDRESS commmandPali Rohár
Interrupt for EP0 is indicated in intrtx register via first bit. This bit is set for both RX and TX despite register has only TX in its name. First bit in intrrx register is reserved, not used and never set. So remove calling musb_peri_ep0() function at every iteration of udc_irq() and musb_peri_rx() and call it only from musb_peri_tx() when correct interrupt bit in initrtx it set. Address from SET ADDRESS command must be set to faddr register only after acknowledging SERV_RXPKTRDY followed by received EP0 interrupt. So prior calling musb_peri_ep0_set_address() check for EP0 interrupt instead of (incorrect) MUSB_INTR_SOF interrupt. This patch fixes issue that host (computer) cannot register U-Boot USB device and is failing with errors: usb 1-1: new full-speed USB device number 86 using xhci_hcd usb 1-1: Device not responding to setup address. usb 1-1: Device not responding to setup address. usb 1-1: device not accepting address 86, error -71 U-Boot was writing address to faddr register too early and did not wait for correct interrupt after which should update address. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Acked-by: Pavel Machek <[email protected]>
2021-03-03usb: musb: Fix receiving of bigger buffersPali Rohár
If musb_peri_rx_ep() was called to process received HW buffer but U-Boot cannot read it yet (e.g. because U-Boot SW buffer is full) then interrupt was marked as processed also when HW buffer stayed unprocessed. U-Boot tried to process this buffer again when it received interrupt again, but it can receive it only when sender (host) sends a new data. As sender (host) is not going to send a new data until U-Boot process current data this issue caused a deadlock in case sender (host) is emitting data faster than U-Boot can process it. Reading musb intrrx register automatically clears this register and marks interrupt as processed. So to prevent marking interrupt in U-Boot as processed, adds a new variable pending_intrrx which would contain unprocessed bits of intrrx register. For a second step, every time when musb_peri_rx_ep() is called and there are waiting data to be processed (signaled by MUSB_RXCSR_RXPKTRDY) either acknowledge sender (via musb_peri_rx_ack()) that whole HW buffer was processed or set corresponding bit in pending_intrrx that HW buffer was not fully processed yet and next iteration is required after U-Boot allocates space for reading HW buffer. This patch fixes receiving large usb buffers, e.g. file transfer via Kermit protocol implemented by 'loadb' U-Boot command over usbtty serial console. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Acked-by: Pavel Machek <[email protected]>
2021-03-03usb: musb: Fix transmission of bigger buffersPali Rohár
If udc_endpoint_write() was called with bigger payload which does not fit into one USB packet it is needed to transmit payload in more USB packets. First packet is transmitted by udc_endpoint_write() call itself and other packets are put into waiting queue. Implement function musb_peri_tx() which checks if endpoints are ready for transmit and continue transmission of waiting queue. This patch fixes sending big output from printenv command over usbtty serial console. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Acked-by: Pavel Machek <[email protected]>>
2021-03-03usb: musb: Read value of PERI_RXCSR to 16bit variablePali Rohár
PERI_RXCSR is 16bit register so store its value into 16bit local variable. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Acked-by: Pavel Machek <[email protected]>
2021-03-03usb: musb: Fix configuring FIFO for endpointsPali Rohár
This patch fixes configuring FIFOs for one-directional endpoints which have only one queue (either RX or TX, but noth both). Size of FIFO buffer is 2^(idx+3) bytes and starting address is 2^(addr+3). Moreover first 64 bytes are reserved for EP0. Without this patch if FIFO size specified by caller was zero then idx was incorrectly calculated (expr. ffs(0)-1) and size overflowed in fifosz register. This register uses has only 4 bits for FIFO size. Moreover specifying zero buffer size is not possible (with idx=0 is minimal buffer size 8 bytes). So even for one-directional endpoints we need to correctly specify both (RX and TX) FIFO buffer sizes and its addresses. This patch is fixing calculation of start address and buffer size to minimal value and ensures that it would not overlap with buffer reserved for EP0. This issue caused loose of packets on USB bus in both directions and basically usbtty was unusable. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Acked-by: Pavel Machek <[email protected]>
2021-03-03usb: musb: Always clear the data toggle bit when configuring epPali Rohár
Without this patch clearing was done only when U-Boot was compiled with MUSB Host Controller. But clearing of data toggle bit is needed also for MUSB Device Controller otherwise Device Controller does not work correctly. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Acked-by: Pavel Machek <[email protected]>
2021-03-03serial: usbtty: Send urb data in correct orderPali Rohár
Function next_urb() selects the last urb data buffer from linked list to which next data from usbtty's puts function should be appended. But to check if TX data still exists it is needed to look at the first urb data buffer from linked list. So check for endpoint->tx_urb (first from the linked list) instead of current_urb (the last from the linked list). Successful call to udc_endpoint_write() may invalidate active urb and allocate new urb in queue which invalidates pointer returned by next_urb() function. So call next_urb() prior putting data into urb buffer and call it every time after using udc_endpoint_write() function to prevent sending data from usbtty's puts function in incorrect order. This patch fixes issue that usbtty code does not transmit data when they are waiting in the tx queue. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Acked-by: Pavel Machek <[email protected]>
2021-03-03serial: usbtty: Fix puts functionPali Rohár
This function has incorrect implementation of prepending CR prior LF. Without this patch it prepended CR prior whole string which is going to be written and let LF without leading CR. Fix this issue by inserting CR at correct place to make output on usbtty serial console more readable. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Acked-by: Pavel Machek <[email protected]>
2021-03-02tpm: Use logging in the uclassSimon Glass
Update this to use log_debug() instead of the old debug(). Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2021-03-02tpm: Don't include cr50 in TPL/SPLSimon Glass
At present the security chip is not used in these U-Boot phases. Update the Makefile to exclude it. Fix a few logging statements while we are here. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2021-03-02reset: Remove addr parameter from reset_cpu()Harald Seiler
Historically, the reset_cpu() function had an `addr` parameter which was meant to pass in an address of the reset vector location, where the CPU should reset to. This feature is no longer used anywhere in U-Boot as all reset_cpu() implementations now ignore the passed value. Generic code has been added which always calls reset_cpu() with `0` which means this feature can no longer be used easily anyway. Over time, many implementations seem to have "misunderstood" the existence of this parameter as a way to customize/parameterize the reset (e.g. COLD vs WARM resets). As this is not properly supported, the code will almost always not do what it is intended to (because all call-sites just call reset_cpu() with 0). To avoid confusion and to clean up the codebase from unused left-overs of the past, remove the `addr` parameter entirely. Code which intends to support different kinds of resets should be rewritten as a sysreset driver instead. This transformation was done with the following coccinelle patch: @@ expression argvalue; @@ - reset_cpu(argvalue) + reset_cpu() @@ identifier argname; type argtype; @@ - reset_cpu(argtype argname) + reset_cpu(void) { ... } Signed-off-by: Harald Seiler <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-03-02rng: iproc_rng200: Enable support for RPi4 armv7Matthias Brugger
On the RPi4 armv7 build we have the situationt that we use physical addresses of 64 bit, while the virtual addresses are 32 bit. Remap the base address in this scenario via map_physmem(). Signed-off-by: Matthias Brugger <[email protected]>
2021-03-02drivers: mmc: iproc_sdhci: enable HS200 modeBharat Gooty
Add tuning functionality which is needed for HS200 mode. For HS200, program the correct needed 1.8 voltage Signed-off-by: Bharat Gooty <[email protected]> Signed-off-by: Rayagonda Kokatanur <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]> Signed-off-by: Matthias Brugger <[email protected]>
2021-03-02pinctrl: at91-pio4: add support for slew-rateClaudiu Beznea
SAMA7G5 supports slew rate configuration. Adapt the driver for this. For switching frequencies lower than 50MHz the slew rate needs to be enabled. Since most of the pins on SAMA7G5 fall into this category enabled the slew rate by default. Signed-off-by: Claudiu Beznea <[email protected]>
2021-03-01mmc: fsl_esdhc_imx: fix the DTOCV to 0xEHaibo Chen
On imx6Q/imx6DL, we find if config the DTOCV to 0~3, it will impact cmd6 behavior, after cmd6 get transfer complete interrupt, the data0 line will keep low over 5 seconds. This should be a IC bug on imx6Q/DL. For other platforms, do not has this issue. To fix this issue, fix the DTOCV to 0xE, the max setting, this also align with Linux configuration. Signed-off-by: Haibo Chen <[email protected]> Reviewed-by: Ye Li <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2021-03-01mmc: fsl_esdhc_imx: Add a compatible for i.MX51Fabio Estevam
Add a compatible for i.MX51 so that i.MX51 can use this driver via driver model. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2021-03-01thermal: imx_tmu: enable monitoring and default alert/criticalTim Harvey
Set default critical/alert temperature and enabling monoitoring. Without calling imx_tmu_enable_msite() monitoring will not be enabled and read_temperature will return 0. Additionally without setting alert temperature will cause imx_tmu_get_temp() to spin indefiniately thinking the system needs to cool. This resolves the board spinning endlessly when enabling IMX_TMU in the SPL. Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Tim Harvey <[email protected]>
2021-02-26Merge https://gitlab.denx.de/u-boot/custodians/u-boot-usbTom Rini
- fastboot updates / fixes
2021-02-26Merge https://gitlab.denx.de/u-boot/custodians/u-boot-spiTom Rini
- new GigaDevice flash ids - fixes for imx, nxp_spi drivers
2021-02-26usb: gadget: dwc2_udc_otg: Fix dwc2_gadget_start() and ↵Patrice Chotard
usb_gadget_register_driver() Since commit 8745b9ebccae ("usb: gadget: add super speed support") ums was no more functional on platform which use dwc2_udc_otg driver. This was due to a too restrictive test which checked that the gadget driver speed was either FS or HS. So all gadget driver with max speed set to speed higher than HS (SS in case of composite gadget driver in our case) are not allowed, which is wrong. Update the speed test in usb_gadget_register_driver() and in dwc2_gadget_start() to allow all gadget driver speed equal or higher than FS. Tested on stm32mp157c-ev1 board. Fixes: c791c8431c34 ("usb: dwc2: convert driver to DM_USB_GADGET") Signed-off-by: Patrice Chotard <[email protected]>
2021-02-26fastboot: add UUU command UCmd and ACmd supportHeiko Schocher
add support for the UUU commands ACmd and UCmd. Enable them through the Kconfig option CONFIG_FASTBOOT_UUU_SUPPORT base was commit in NXP kernel 9b149c2a2882: ("MLK-18591-3 android: Add FSL android fastboot support") and ported it to current mainline. Tested this patch on imx6ul based board. Signed-off-by: Heiko Schocher <[email protected]> Acked-by: Patrick Delaunay <[email protected]>
2021-02-26fastboot: Allow u-boot-style partitionsSean Anderson
This adds support for partitions of the form "dev.hwpart:part" and "dev#partname". This allows one to flash to eMMC boot partitions without having to use CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT. It also allows one to flash to an entire device without needing CONFIG_FASTBOOT_MMC_USER_NAME. Lastly, one can also flash MMC devices other than CONFIG_FASTBOOT_FLASH_MMC_DEV. Because devices can be specified explicitly, CONFIG_FASTBOOT_FLASH_MMC_DEV is used only when necessary for existing functionality. For those cases, fastboot_mmc_get_dev has been added as a helper function. This allows There should be no conflicts with the existing system, but just in case, I have ordered detection of these names after all existing names. The fastboot_mmc_part test has been updated for these new names. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-02-26fastboot: Move part_get_info_by_name_or_alias after raw_part_get_info_by_nameSean Anderson
This makes the next commit more readable by doing the move now. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-02-26fastboot: Remove mmcpart argument from raw_part_get_info_by_nameSean Anderson
The only thing mmcpart was used for was to pass to blk_dselect_hwpart. This calls blk_dselect_hwpart directly from raw_part_get_info_by_name. The error handling is dropped, but it is reintroduced in the next commit (albeit less specificly). Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-02-26mmc: sandbox: Add support for writingSean Anderson
This adds support writing to the sandbox mmc backed by an in-memory buffer. The unit test has been updated to test reading, writing, and erasing. I'm not sure what MMCs erase to; I picked 0, but if it's 0xFF then that can be easily changed. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-02-26Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvellTom Rini
- turris_mox: Enhancements, mostlly defconfig changes (Pali) - pci-aardvark: Set Max Payload Size and Max Read Request Size to 512 bytes (Pali) - pci_mvebu: Minor cleanup and refactoring (Marek) - Upgrade A38x DDR3 training to version 14.0.0 (Marek)
2021-02-26Merge https://gitlab.denx.de/u-boot/custodians/u-boot-samsungTom Rini
2021-02-26mtd: nand: spi: Support GigaDevice GD5F1GQ5UExxGReto Schneider
The relevant changes to the already existing GD5F1GQ4UExxG support has been determined by consulting the GigaDevice product change notice AN-0392-10, version 1.0 from November 30, 2020. As the overlaps are huge, variable names have been generalized accordingly. Apart form the lowered ECC strength (4 instead of 8 bits per 512 bytes), the new device ID, and the extra quad IO dummy byte, no changes had to be taken into account. New hardware features are not supported, namely: - Power on reset - Unique ID - Double transfer rate (DTR) - Parameter page - Random data quad IO The inverted semantic of the "driver strength" register bits, defaulting to 100% instead of 50% for the Q5 devices, got ignored as the driver has never touched them anyway. The no longer supported "read from cache during block erase" functionality is not reflected as the current SPI NAND core does not support it anyway. Implementation has been tested on MediaTek MT7688 based GARDENA smart Gateways using both, GigaDevice GD5F1GQ5UEYIG and GD5F1GQ4UBYIG. Signed-off-by: Reto Schneider <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Acked-by: Jagan Teki <[email protected]>
2021-02-26mtd: nand: spi: Only one dummy byte in QUADIOHauke Mehrtens
The datasheet only lists one dummy byte in the 0xEB operation for the following chips: * GD5F1GQ4xExxG * GD5F1GQ4xFxxG * GD5F1GQ4UAYIG * GD5F4GQ4UAYIG Reto Schneider: - Linux patch ported to U-Boot - Checked for compatibility with GD5F1GQ4xBxxG - Fixed operation code in original commit message (0xEH -> 0xEB) Signed-off-by: Reto Schneider <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Acked-by: Jagan Teki <[email protected]>
2021-02-26spi: nxp_fspi: Fix error reportingAdam Ford
On the i.MX8M Mini, ret = clk_set_rate() sets ret to the value of the rate the clock was able to set. When checking for errors, it only checks that it is not NULL. Since positive numbers are not errors, only check for negative numbers when handling errors. Fixes: 383fded70c4f ("spi: nxp_fspi: new driver for the FlexSPI controller") Signed-off-by: Adam Ford <[email protected]> Reviewed-by: Pratyush Yadav <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2021-02-26ddr: marvell: a38x: fix comment in conditional macroMarek Behún
The code was processed with unifdef utility to omit portions not relevant to A38x and DDR3. This removes usage of many macros, including A70X0, A80X0 and A3900. It seems that the unifdef utility did not remove the macros from #else comment. Signed-off-by: Marek Behún <[email protected]> Tested-by: Chris Packham <[email protected]>
2021-02-26ddr: marvell: a38x: bump version to 14.0.0Marek Behún
Bump version of a38x DDR3 trianing to version 14.0.0 to reflect the version in the mv-ddr-devel branch of upstream repository https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell.git. There is a new version numbering system, where after 18.12.0 came 1.0.0, 2.0.0, and so on until 14.0.0. So 14.0.0 is newer than 18.12.0. Signed-off-by: Marek Behún <[email protected]> Tested-by: Chris Packham <[email protected]>
2021-02-26ddr: marvell: a38x: enum mv_ddr_twin_die: change orderheaterC
commit 56db5d1464b44df10a02b99e615ebd6f6a35c428 upstream. @pali suggested this change In commit 6285efb ("mv_ddr: add support for twin-die combined memory device") was added support for twin-die combined memory device and default value for explicitly uninitialized structure members is zero, s also twin_die_combined is initialized to zero. Which means COMBINED value. As prior this commit there was no support for twin-die combined memory device, default value for twin_die_combined should be NOT_COMBINED. This change change order of enum mv_ddr_twin_die to ensure that NOT_COMBINED has value zero. Signed-off-by: heaterC <[email protected]> Signed-off-by: Marek Behún <[email protected]> Tested-by: Chris Packham <[email protected]>
2021-02-26ddr: marvell: a38x: import code change from upstreamMarek Behún
commit 2bdd12dd68b1f8e27a03a3443ae49a09a14c18e4 upstream. The commit mentioned above changes non-DDR3 stuff in upstream, but it also changes code in ddr3_training.c. Import this change to remain consistent with upstream. Signed-off-by: Marek Behún <[email protected]> Tested-by: Chris Packham <[email protected]>
2021-02-26ddr: marvell: a38x: fix memory cs size functionMoti Buskila
commit c8b301463d508c807a33f7b7eaea98bbda4aa35e upstream. The funtion returnd cs size in byte instead of MB, that cause calculation error since the caller was expected to get u32 and when he got above 4G it refers it as 0. The fix was to get the cs memory size from function as in MB and then multiply it by 1MB. Signed-off-by: Moti Buskila <[email protected]> Reviewed-by: Kostya Porotchkin <[email protected]> Signed-off-by: Marek Behún <[email protected]> Tested-by: Chris Packham <[email protected]>
2021-02-26ddr: marvell: a38x: import header change from upstreamMarek Behún
commit d653b305d0b3da9727c49124683f1a6d95d5c9a5 upstream. The commit mentioned above changes non-DDR3 stuff in upstream, but it also changes header ddr_topology_def.h. Import this header change to remain consistent with upstream. Signed-off-by: Marek Behún <[email protected]> Tested-by: Chris Packham <[email protected]>
2021-02-26ddr: marvell: a38x: disable WL phase correction stage in case of bus_width=16bitMoti Buskila
commit 20c89a28548cdab11f88d2ec8936344af0686a1e upstream. WL phase correcion stage is failing while using bus_width of 16bit, not to be fix this stage is un-necessary when working with bus_width of 16 bit. Signed-off-by: Moti Buskila <[email protected]> Reviewed-by: Kostya Porotchkin <[email protected]> Signed-off-by: Marek Behún <[email protected]> Tested-by: Chris Packham <[email protected]>
2021-02-26ddr: marvell: a38x: add support for twin-die combined memory deviceMoti Buskila
commit 6285efb8a118940877522c4c07bd7c64569b4f5f upstream. the twin-die combined memory device should be treatened as X8 device and not as X16 one Signed-off-by: Moti Buskila <[email protected]> Reviewed-by: Kostya Porotchkin <[email protected]> [ - the default value for twin_die_combined is set to NOT_COMBINED for all boards, as this was default behaviour prior this change ] Signed-off-by: Marek Behún <[email protected]> Tested-by: Chris Packham <[email protected]>
2021-02-26ddr: marvell: a38x: add 16Gbit memory devices supportMoti Buskila
commit 994509eb4fe6771d92cd06314c37895098ac48fa upstream. Signed-off-by: Moti Buskila <[email protected]> Reviewed-by: Kostya Porotchkin <[email protected]> Signed-off-by: Marek Behún <[email protected]> Tested-by: Chris Packham <[email protected]>
2021-02-26ddr: marvell: a38x: allow board specific ODT configurationBaruch Siach
commit 2d3b9437cf38c06c4330e0de07f29476197f5e04 upstream. The ODT enable heuristic based on active chip-selects is not always correct. Some board might use two chip-selects, but have only one ODT line connected. Allow board specific mv_ddr_topology_map to directly set the ODT configuration register value. Signed-off-by: Baruch Siach <[email protected]> Reviewed-by: Moti Buskila <[email protected]> Reviewed-by: Nadav Haklai <[email protected]> Reviewed-by: Kostya Porotchkin <[email protected]> Signed-off-by: Marek Behún <[email protected]> Tested-by: Chris Packham <[email protected]>
2021-02-26ddr: marvell: a38x: import header change from upstreamMarek Behún
commit 3908e20c6c520339e9bddb566823ae5e065d5218 upstream. The commit mentioned above changes non-DDR3 stuff in upstream, but it also changes header ddr_topology_def.h. Import this header change to remain consistent with upstream. Signed-off-by: Marek Behún <[email protected]> Tested-by: Chris Packham <[email protected]>
2021-02-26ddr: marvell: a38x: fix memory size calculation using 32bit bus widthMoti Buskila
commit ab9240402a70cc02496683971779e75eff410ab4 upstream. - function mv_ddr_spd_die_capacity_user_get() has a bug, since it insert a user memory enum to it, instead of SPD memory enum (which are different) - fix: remove mv_ddr_spd_die_capacity_user_get() function. - memory size with 64 and 32 bit already calculated correctly at mv_ddr_mem_sz_per_cs_get() function Signed-off-by: Moti Buskila <[email protected]> Reviewed-by: Stefan Chulski <[email protected]> Reviewed-by: Alex Leibovich <[email protected]> Reviewed-by: Kostya Porotchkin <[email protected]> Signed-off-by: Marek Behún <[email protected]> Tested-by: Chris Packham <[email protected]>
2021-02-26ddr: marvell: a38x: fix 32bitMoti Buskila
commit 0b5adedd4ced9b8f528faad1957d4d69e95759ef upstream. Signed-off-by: Moti Buskila <[email protected]> Reviewed-by: Alex Leibovich <[email protected]> Reviewed-by: Kostya Porotchkin <[email protected]> Signed-off-by: Marek Behún <[email protected]> Tested-by: Chris Packham <[email protected]>