summaryrefslogtreecommitdiff
path: root/arch/arm
AgeCommit message (Collapse)Author
2018-03-29imx: fix CAAM base for i.MX6ULAnatolij Gustschin
HW accelerated "hash sha256 ..." command doesn't work on i.MX6UL, we get "CAAM was not setup properly or it is faulty" error message. This is due to wrong CAAM base 0x02100000, on i.MX6UL the CAAM base address is 0x02140000. Fix it. Note: with this patch applied the "hash sha256" commant still has some issues on i.MX6UL ("Invalid KEY Command" or other errors). With data cache off the "hash sha256" command works as expected. Signed-off-by: Anatolij Gustschin <agust@denx.de> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-03-29drivers: i2c: mxc: Update SYS_I2C_MXC_I2C support in KconfigSriram Dash
NXP layerscape platforms like ls1088a, ls2088a uses MXC I2C Controller. -Remove dependency of MX6 for the same. Update related configs to use Kconfig file. -Add SYS_I2C_MXC_I2C1,_I2C2,_I2C3,_I2C4 in Kconfig -Add CONFIG_SYS_MXC_I2C1_SPEED,_I2C2_,_I2C3_,_I2C4_ in Kconfig -Add CONFIG_SYS_MXC_I2C1_SLAVE,_I2C2_,_I2C3_,_I2C4_ in Kconfig Signed-off-by: Sriram Dash <sriram.dash@nxp.com> Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
2018-03-11imx: hab: Make usage of packed attribute consistentBryan O'Donoghue
commit cd2d46003ce1 ("arm: imx: hab: Add IVT header definitions") declares struct ivt_header as "__attribute__((packed))". commit ed286bc80e9d ("imx: hab: Check if CSF is valid before authenticating image") declares struct hab_hdr with __packed. This patch makes the __packed convention consistent. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Utkarsh Gupta <utkarsh.gupta@nxp.com> Cc: Breno Lima <breno.lima@nxp.com> Cc: Fabio Estevam <fabio.estevam@nxp.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-03-11imx: hab: Fix usage of packed attributeBryan O'Donoghue
commit ed286bc80e9d ("imx: hab: Check if CSF is valid before authenticating image") makes use of "__packed" as a prefix to the "struct hab_hdr" declaration. With my compiler "gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)" we get: ./arch/arm/include/asm/mach-imx/hab.h:42:25: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token struct __packed hab_hdr { Fix this problem by including <linux/compiler.h> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Utkarsh Gupta <utkarsh.gupta@nxp.com> Cc: Breno Lima <breno.lima@nxp.com> Cc: Fabio Estevam <fabio.estevam@nxp.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-03-11ARM: dts: imx6dl-icore-rqs: Fix to include correct dtsiJagan Teki
This patch fixes the wrongly included dtsi file which was breaking mainline support for Engicam i.CoreM6 DualLite/Solo RQS. Linux commit details for the same change as "ARM: dts: imx6dl: Include correct dtsi file for Engicam i.CoreM6 DualLite/Solo RQS" (sha1: c0c6bb2322964bd264b4ddedaa5776f40c709f0c) Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-03-11ARM: dts: imx6qdl-icore-rqs: Sync usdhc4 node from LinuxJagan Teki
usdhc4 node need to update pinctrl, bus-width and non-removable properties, sync the same from Linux. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-03-09imx: syscounter: make sure asm is volatileYasushi SHOJI
Without the volatile attribute, compilers are entitled to optimize out the same asm(). In the case of __udelay() in syscounter.c, it calls `get_ticks()` twice, one for the starting time and the second in the loop to check the current time. When compilers inline `get_ticks()` they see the same `mrrc` instructions and optimize out the second one. This leads to infinite loop since we don't get updated value from the system counter. Here is a portion of the disassembly of __udelay: 88: 428b cmp r3, r1 8a: f8ce 20a4 str.w r2, [lr, #164] ; 0xa4 8e: bf08 it eq 90: 4282 cmpeq r2, r0 92: f8ce 30a0 str.w r3, [lr, #160] ; 0xa0 96: d3f7 bcc.n 88 <__udelay+0x88> 98: e8bd 8cf0 ldmia.w sp!, {r4, r5, r6, r7, sl, fp, pc} Note that final jump / loop at 96 to 88, we don't have any `mrrc`. With a volatile attribute, the above changes to this: 8a: ec53 2f0e mrrc 15, 0, r2, r3, cr14 8e: 42ab cmp r3, r5 90: f8c1 20a4 str.w r2, [r1, #164] ; 0xa4 94: bf08 it eq 96: 42a2 cmpeq r2, r4 98: f8c1 30a0 str.w r3, [r1, #160] ; 0xa0 9c: d3f5 bcc.n 8a <__udelay+0x8a> 9e: e8bd 8cf0 ldmia.w sp!, {r4, r5, r6, r7, sl, fp, pc} a2: bf00 nop I'm advised[1] to put volatile on all asm(), so this commit also adds it to the asm() in timer_init(). [1]: https://lists.denx.de/pipermail/u-boot/2018-March/322062.html Signed-off-by: Yasushi SHOJI <yasushi.shoji@gmail.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-03-05Merge git://git.denx.de/u-boot-shTom Rini
2018-03-05ARM: DTS: Re-sync logicpd-som-lv with Linux 4.16-rc3Adam Ford
This should clean up a warning about a missing phy-cells Signed-off-by: Adam Ford <aford173@gmail.com>
2018-03-05libfdt: move headers to <linux/libfdt.h> and <linux/libfdt_env.h>Masahiro Yamada
Thomas reported U-Boot failed to build host tools if libfdt-devel package is installed because tools include libfdt headers from /usr/include/ instead of using internal ones. This commit moves the header code: include/libfdt.h -> include/linux/libfdt.h include/libfdt_env.h -> include/linux/libfdt_env.h and replaces include directives: #include <libfdt.h> -> #include <linux/libfdt.h> #include <libfdt_env.h> -> #include <linux/libfdt_env.h> Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-03-05spl: Kconfig: Rename SPL_USBETH_SUPPORT to SPL_USB_ETHER to match with the ↵Faiz Abbas
U-boot CONFIG Rename CONFIG_SPL_USBETH_SUPPORT to CONFIG_SPL_USB_ETHER. This enables users to block text using CONFIG_IS_ENABLED() instead of resorting to #if ladders with SPL and non-SPL cases. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
2018-03-05ARM: dts: rmobile: Add PHY reset GPIOMarek Vasut
This patch got dropped during the update of DTs to 4.14, re-add it back. This adds reset GPIOs to the ethernet PHYs. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2018-03-05ARM: dts: rmobile: Make PFC and RST available early on Gen2 onlyMarek Vasut
These do not need to be available early on Gen3 , so move them to the respective DT files. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2018-03-05ARM: rmobile: Add R8A77965 Salvator-XS board supportMarek Vasut
Add R8A77965 M3N Salvator-XS development kit support. This kit is similar to the other Salvator-X(S) ones, except is has M3N SoC on it. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2018-03-05ARM: dts: rmobile: Add SDHI nodes to R8A77965 M3N DTMarek Vasut
Add SDHI nodes to r8a77965.dtsi to get eMMC and SD slots operational. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2018-03-05ARM: dts: rmobile: Add xHCI node to R8A77965 M3N DTMarek Vasut
Add xHCI node to r8a77965.dtsi to get xHCI USB operational. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2018-03-05ARM: dts: rmobile: Add EHCI nodes to R8A77965 M3N DTMarek Vasut
Add generic EHCI nodes to r8a77965.dtsi to get EHCI USB operational. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2018-03-05ARM: dts: rmobile: Add RAVB node to R8A77965 M3N DTMarek Vasut
Add RAVB node to r8a77965.dtsi to get ethernet operational. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2018-03-05ARM: dts: rmobile: Import R8A77965 M3N DT files from LinuxMarek Vasut
Import the R8A77965 M3N DT from Linux 4.16-rc1 . Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2018-03-05ARM: rmobile: Add R8A77965 M3N IDsMarek Vasut
Add CPU and PRR IDs for R8A77965 M3N SoC. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2018-03-01Merge branch 'master' of git://git.denx.de/u-boot-socfpgaTom Rini
2018-03-01Merge branch 'master' of git://git.denx.de/u-boot-shTom Rini
2018-03-01mmc: Added Kconfig support for CONFIG_ZYNQ_SDHCI_MAX_FREQVipul Kumar
This patch added Kconfig support for CONFIG_ZYNQ_SDHCI_MAX_FREQ and enabled it in respective defconfig. Signed-off-by: Vipul Kumar <vipulk@xilinx.com> Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-02-26ARM: dts: rmobile: Import proper DTS for H2 StoutMarek Vasut
Replace the placeholder DTS for R8A7790 H2 Stout with a proper DTS from Linux next . Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2018-02-26ARM: socfpga: Add new CycloneV SoC Devboards DBM-SoC1 boardMarek Vasut
Add support for a new boards from devboards.de , the DBM-SoC1 . This board has one ethernet port, one USB OTG port and USB UART. Signed-off-by: Marek Vasut <marex@denx.de>
2018-02-25Merge git://git.denx.de/u-boot-mmcTom Rini
2018-02-26mmc: omap_hsmmc: do not embed struct mmc in struct omap_hsmmc_platJean-Jacques Hiblot
The area for struct mmc can be allocated dynamically. It greatly reduces the size of struct omap_hsmmc_plat. This is useful in cases where the board level code declares one or two struct omap_hsmmc_plat because it doesn't use the Driver Model. This saves around 740 bytes for the am335x_evm SPL. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Tested-by: Adam Ford <aford173@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2018-02-25Merge git://git.denx.de/u-boot-rockchipTom Rini
2018-02-25Merge git://git.denx.de/u-boot-imxTom Rini
2018-02-24imx: spl: Partially revert "spl: eMMC/SD: Provide one __weak spl_boot_mode() ↵Fabio Estevam
function" Commit d695d6627803 ("spl: eMMC/SD: Provide one __weak spl_boot_mode() function") breaks the boot on several i.MX6 boards, such as cuboxi and wandboard: U-Boot SPL 2018.03-rc1-00212-g48914fc119 (Feb 10 2018 - 11:04:33 +1300) Trying to boot from MMC1 Failed to mount ext2 filesystem... spl_load_image_ext: ext4fs mount err - 0 Partially revert it so that we can boot U-Boot again on these i.MX6 platforms. Reported-by: Jonathan Gray <jsg@jsg.id.au> Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Tested-by: Breno Lima <breno.lima@nxp.com>
2018-02-24rockchip: rk3288: Fix wrong TPL_TEXT_BASEJagan Teki
TPL offset 0xff704004 is unaligned address which is adding nearest 8-bytes for next instruction, So 0xff704004 is adding 0x20 for proper alignment which is causing the next instruction data 0xefffffff is moved. Hexdump with overlaped bytes: ----------------------------- 0000000 0000 0000 0000 0000 0000 0000 0000 0000 0000010 0000 0000 0000 0000 0000 0000 ffff eaff So, Fix the TEXT_BASE for proper aligned address 0xff704000 Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-02-24rockchip: rk3288: Add TPL_LDSCRIPTJagan Teki
Due to size limitations in SPL by adding falcon mode, rk3288 support TPL. In order to not overlap SPL_TEXT_BASE add TPL_TEXT_BASE with u-boot-tpl.lds that intern call u-boot-spl.lds with proper TEXT_BASE values. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-02-24ARM: dts: i.MX6QDL: icore-rqs: Fix eMMC detection during SPLJagan Teki
usdhc4 has eMMC on icore-rqs boards, SPL is not detecting it becuase of u-boot,dm-spl flag so add it to make eMMC working. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2018-02-23arm64: show_regs: Dump the LRs HW valuesKarl Beldan
These were dropped in [1], after relocation, for their values offset by reloc_off. Unconditionally show the HW values and add a '(reloc)' hint for the offset values showed after relocation. Also, the LRs' dumps are now formatted the same way the other regs' are. [1] Commit 082693f4 ("arm64 :show_regs: show the address before relocation") Signed-off-by: Karl Beldan <karl.beldan+oss@gmail.com>
2018-02-23ARM: Kconfig: Move TI_SECURE_DEVICE to a common areaAndrew F. Davis
TI_SECURE_DEVICE is used by both OMAP2+ and Keystone2 family devices, and so when ARCH_OMAP2PLUS was used to gate off the OMAP2+ Kconfig Keystone2 family devices lost this config option. Move this option out of mach-omap2 Kconfig to a spot accessible by both families. We picked arch/arm/Kconfig over the TI specific board/ti/ location as this option is not specific to our boards but rather our architecture. Plus at some point this option can be changed to just SECURE_DEVICE, as having secure parts is not exclusive to TI and so other vendors can interpret this option as needed by their device configurations. Fixes: a93fbf4a7892 ("ARM: omap2+: rename config to ARCH_OMAP2PLUS and consolidate Kconfig") Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2018-02-22imx6q: engicam: Use SPL_LOAD_FIT for MMC boardsJagan Teki
Currently SPL_LOAD_FIT is unable to boot from nand on i.MX6QDL platform, so enable only for MMC boards. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2018-02-22imx6ul: engicam: Drop isiot-mmc defconfigJagan Teki
Engicam Is.IoT has eMMC and NAND cpu modules where MMC is common for both, so remove explicit mmc defconfig. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2018-02-22arm: imx: hab: Define HAB_RVT_BASE according to the processor versionBreno Lima
Currently the following devices are using a different definition for ROM Vector Table addresses: - i.MX6DQP = All rev - i.MX6DQ >= rev 1.5 - i.MX6SDL >= rev 1.2 There is no need to create a new RVT macros since the only update were the RVT base address. Remove HAB_RVT_*_NEW macros and define a new RVT base address. More details about RVT base address can be found on processors Reference Manual and in the following documents: EB803: i.MX 6Dual/6Quad Applications Processor Silicon Revision 1.2 to 1.3 Comparison EB804: i.MX 6Solo/6DualLite Application Processor Silicon Revision 1.1 to 1.2/1.3 Comparison Signed-off-by: Breno Lima <breno.lima@nxp.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-02-22imx: hab: Check if CSF contains deprecated commandsUtkarsh Gupta
Write, Check and Set MID commands have been deprecated from the Code Signing Tool (CST) v2.3.3 and will not be implemented in newer versions of HAB, hence the following features are no longer available: - Write Data - Clear Mask - Set Mask - Check All Clear - Check All Set - Check Any Clear - Check Any Set - Set MID The inappropriate use of Write Data command may lead to an incorrect authentication boot flow. Since no specific application has been identified that requires the use of any of these features, it is highly recommended to add this check. Signed-off-by: Utkarsh Gupta <utkarsh.gupta@nxp.com> Signed-off-by: Breno Lima <breno.lima@nxp.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-02-22imx: hab: Check if CSF is valid before authenticating imageUtkarsh Gupta
For proper authentication the HAB code must check if the CSF is valid. Users must call the csf_is_valid() function to parse the CSF prior to authenticating any additional images. The function will return a failure if any of the following invalid conditions are met: - CSF pointer is NULL - CSF Header does not exist - CSF does not lie within the image bounds - CSF command length zero Signed-off-by: Utkarsh Gupta <utkarsh.gupta@nxp.com> Signed-off-by: Breno Lima <breno.lima@nxp.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-02-22imx: hab: Ensure the IVT DCD pointer is Null prior to calling HAB ↵Utkarsh Gupta
authenticate function. DCD commands should only be present in the initial boot image loaded by the SoC ROM. DCD should not be present in images that will be verified by software using HAB RVT authentication APIs. Newer versions of HAB will generate an error if a DCD pointer is present in an image being authenticated by calling the HAB RVT API. Older versions of HAB will process and run DCD if it is present, and this could lead to an incorrect authentication boot flow. It is highly recommended this check is in place to ensure additional HAB verified images do not include a DCD table. Signed-off-by: Utkarsh Gupta <utkarsh.gupta@nxp.com> Signed-off-by: Breno Lima <breno.lima@nxp.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-02-22imx: hab: Keep CAAM clock enabled after authenticating additional imagesBreno Lima
Currently it is not possible to run CMD_DEK on i.MX SPL targets: => dek_blob 0x12000000 0x12001000 128 The system hangs after running dek_blob because the CAAM clock is being disabled by the HAB code. There is no need to disable CAAM clock after authenticating additional boot images, thus keep CAAM clock enabled to address this issue. Signed-off-by: Breno Lima <breno.lima@nxp.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-02-19dts: am57xx-idk: disable HS200 supportJean-Jacques Hiblot
HS200 cannot be supported on mmc2, because the IO lines of mmc2 are connected to 3.3v. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2018-02-19dts: am57xx-beagle-x15: disable UHS and HS200 supportJean-Jacques Hiblot
The UHS modes are not supported in beagle-x15 because it's not possible to switch the IO lines supply voltage to 1.8v. Also HS200 cannot be supported on mmc2, because the IO lines of mmc2 are connected to 3.3v. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2018-02-19ARM: dts: dra7: Add supported MMC/SD modes in MMC dt nodesJean-Jacques Hiblot
On DRA7 family SoCs, MMC1 controller supports SDR104, SDR50, DDR50, SDR25 and SDR12 UHS modes. MMC2 controller supports HS200 and DDR modes. MMC3 controller supports SDR12, SDR25 and SDR50 modes. MMC4 controller supports SDR12 and SDR25 modes. Add these supported modes in device-tree file. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2018-02-19ARM: dts: DRA7: use new dra7-specific compatible stringKishon Vijay Abraham I
Use the new compatible string "ti,dra7-hsmmc" that was specifically added for dra7 and dra72. This is required since for dra7 and dra72 processors iodelay values has to be set unlike other processors. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2018-02-19ARM: OMAP5: set mmc clock frequency to 192MHzKishon Vijay Abraham I
Now that omap_hsmmc has support for hs200 mode, change the clock frequency to 192MHz. Also change the REFERENCE CLOCK frequency to 192MHz based on which the internal mmc clock divider is calculated. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2018-02-19mmc: omap_hsmmc: add signal voltage selection supportJean-Jacques Hiblot
I/O data lines of UHS SD card operates at 1.8V when in UHS speed mode (same is true for eMMC in DDR and HS200 modes). Add support to switch signal voltage to 1.8V in order to support UHS cards and eMMC HS200 and DDR modes. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2018-02-19mmc: omap_hsmmc: Add support to get pinctrl values and max frequency for ↵Kishon Vijay Abraham I
different hw revisions AM572x SR1.1 requires different IODelay values to be used than that used in AM572x SR2.0. These values are populated in device tree. Add capability in omap_hsmmc driver to extract IOdelay values for different silicon revision. The maximum frequency is also reduced when using a ES1.1. To keep the ability to boot both revsions with the same dtb, those values can be provided by the platform code. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2018-02-19ARM: OMAP5/DRA7: Enable iodelay recalibration to be done from ubootKishon Vijay Abraham I
Add a new API to perform iodelay recalibration without isolate io to be used in uboot. The data manual of J6/J6 Eco recommends to set different IODELAY values depending on the mode in which the MMC/SD is enumerated in order to ensure IO timings are met. The MMC driver can use the new API to set the IO delay values depending on the MMC mode. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>