summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-03-30power: pmic: Add NXP PCA9451A PMIC supportYe Li
PCA9451A uses similar BUCKs and LDO regulators as PCA9450B/C but has LDO2 and LDO3 removed. So reuse pca9450 PMIC and regulator driver and add new type for PCA9451A. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-03-30imx: spl_imx_romapi: Get and print boot stageYe Li
Get and print boot stage through ROM API in SPL Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29mx6sabresd: Convert to DM_PMICFabio Estevam
The usage of DM_PMIC is preferred, so convert to it. This also brings the benefit of causing a significant amount of code removal. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29mx6sabreauto: Convert to DM_PMICFabio Estevam
The usage of DM_PMIC is preferred, so convert to it. This also brings the benefit of causing a significant amount of code removal. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29mx6sxsabreauto: Remove myself from MAINTAINERSFabio Estevam
I don't have access to the mx6sxsabreauto board, so remove myself from the MAINTAINERS entry and add Peng instead. Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Peng Fan <[email protected]>
2023-03-29pico-imx6: Pass the mmc alias to fix boot regressionFabio Estevam
Originally, the mmc aliases node was present in imx6qdl-pico.dtsi. After the sync with Linux in commit d0399a46e7cd ("imx6dl/imx6qdl: synchronise device trees with linux"), the aliases node is gone as the upstream version does not have it. This causes a boot regression in which the eMMC card cannot be found anymore. Fix it by passing the alias node in the u-boot.dtsi file to restore the original behaviour where the eMMC (esdhc3) was mapped to mmc0. Fixes: d0399a46e7cd ("imx6dl/imx6qdl: synchronise device trees with linux") Signed-off-by: Fabio Estevam <[email protected]>
2023-03-29pico-imx6: Add DM_SERIAL supportFabio Estevam
The conversion to DM_SERIAL is mandatory, so add support for it. Signed-off-by: Fabio Estevam <[email protected]>
2023-03-29udoo: Add DM_SERIAL supportFabio Estevam
The conversion to DM_SERIAL is mandatory, so add support for it. Signed-off-by: Fabio Estevam <[email protected]>
2023-03-29mx6sxsabresd: Add DM_SERIAL supportFabio Estevam
The conversion to DM_SERIAL is mandatory, so add support for it. Signed-off-by: Fabio Estevam <[email protected]>
2023-03-29mx51evk: Add DM_SERIAL supportFabio Estevam
The conversion to DM_SERIAL is mandatory, so add support for it. Signed-off-by: Fabio Estevam <[email protected]>
2023-03-29mx53loco: Add DM_I2C supportFabio Estevam
The conversion to DM_I2C is mandatory, so add support for it. Signed-off-by: Fabio Estevam <[email protected]>
2023-03-29mx53loco: Add DM_SERIAL supportFabio Estevam
The conversion to DM_SERIAL is mandatory, so add support for it. Signed-off-by: Fabio Estevam <[email protected]>
2023-03-29imx: ele_ahab: Remove OEM Secure World Closed printYe Li
The OEM Secure World Closed is not a valid lifecycle on iMX8ULP/iMX9. So remove it from lifecycle print. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29imx: ele_ahab: confirm lifecycle before closing the partYe Li
Before moving the lifecycle to OEM closed, confirm the lifecycle is OEM open, otherwise cancel to move forward the lifecycle. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29misc: sentinel: s400_api: Use new command request definitionsYe Li
Remove legacy command definitions, change to use new ELE_xxx command request. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29imx: ahab: Move imx9 and imx8ulp AHAB support togetherYe Li
Use common file ele_ahab.c for i.MX9 and iMX8ULP AHAB support, since both of them use same sentinel ELE APIs Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29imx93: ahab: Get and decode AHAB eventsYe Li
For ahab_status command, support to get and decode AHAB events Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29misc: sentinel: s400_api: Add get_events APIYe Li
Add get_events API to retrieve any singular events that has occurred since the FW has started from sentinel Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29imx8ulp_evk: Clear data at fdt_addr_r before booting kernelYe Li
When using dual boot mode, the DDR won't be reset when APD power off or reboot. It has possibility that obsolete fdt data existing on fdt_addr_r address. Then even nothing in EFI partitions, the distro boot still continue to parse fdt and get uboot crashed. Clear the data at fdt_addr_r, so the fdt header check in above case will not pass. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29imx8ulp_evk: disable overflow of port0 for LPAVPeng Fan
Bit0: Port 0 behavior when bandwidth maximized. Set to 1 to allow overflow With overflow set, we see some issue that A35 may not able to get enough bandwidth and A35 will report hrtimer takes too much time, workqueue lockup. With overflow cleared, the issues are gone. Reviewed-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2023-03-29imx8ulp_evk: Update DDR ports arbitration for DCNANO underrunYe Li
To resolve DCNANO underrun issue, change the DDR Port 0 arbitration from round robin fashion to fixed priority level 1, while other ports are not assigned any priority, so they will be serviced in round robin fashion if there is no active request from Port 0. Signed-off-by: Ye Li <[email protected]> Acked-by: Peng Fan <[email protected]>
2023-03-29imx8ulp_evk: Change to use DDR driverYe Li
Remove the DDR initialization codes from board and enable the iMX8ULP DDR driver. Signed-off-by: Ye Li <[email protected]>
2023-03-29imx8ulp_evk: Update the DDR timingJacky Bai
Update the dram timing to support PLL bypass mode for F1. Signed-off-by: Jacky Bai <[email protected]> Reviewed-by: Ye Li <[email protected]>
2023-03-29ddr: imx: Update the ddr init flow on imx8ulpJacky Bai
Update the ddr init flow to support LPDDR3 and PLL bypass mode. Signed-off-by: Jacky Bai <[email protected]> Reviewed-by: Ye Li <[email protected]>
2023-03-29misc: fuse: Lock 8ULP ECC-protected fuse when programmingYe Li
The ECC fuse on 8ULP can't be written twice. If any user did it, the ECC value would be wrong then cause accessing problem to the fuse. The patch will lock the ECC fuse word to avoid this problem. For iMX9, the OTP controller automatically prevents an ECC fuse word to be written twice. So it does not need the setting. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29misc: fuse: Update fuse mapping for 8ULP S400 APIYe Li
Since new 8ULP A1 S400 FW (v0.0.8-e329b760) can support to read more fuses: like PMU trim, Test flow/USB, GP1-5, GP8-10. Update the u-boot driver for the new mapping. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]> Reviewed-by: Alice Guo <[email protected]>
2023-03-29imx: sentinel: Update S400 API get info message structureYe Li
From Sentinel FW v0.0.9-9df0f503, the response message of get info API is changed to add OEM SRK and some states (IMEM, CSAL, TRNG). With old structure, we get failure from sentinel due to the buffer size can't fit with new response message. So update the API structure to fix the issue. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29imx: imx8ulp: Update clocks to meet max rate restrictionsYe Li
Update PLL3/PLL4 PFD and USDHC clocks to meet maximum frequency restrictions. Detail clock rate changes in the patch: PLL3 PFD2: 389M -> 324M PLL3 PFD3: 336M -> 389M PLL3 PFD3: DIV1 336M -> 389M (OD), 194M (ND/LD) PLL3 PFD3: DIV2 336M -> 194M (OD), 97M (ND/LD) PLL4 PFD0: 792M -> 594M PLL4 PFD2: 792M -> 316.8M NIC_AP: 96M (ND) -> 192M, 48M (LD) -> 96M NIC_LPAV: 198 (ND) -> 192M, 99M (LD) -> 96M USDHC0: PLL3 PFD3 DIV1, 389M (OD), 194M (ND/LD) USDHC1: PLL3 PFD3 DIV2, 194M (OD), 97M (ND/LD) USDHC2: PLL3 PFD3 DIV2, 194M (OD), 97M (ND/LD) Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29imx: imx8ulp: Configure XRDC PDAC and MSC for DBD owner=S400 onlyYe Li
This patch is used to support DBD owner fuse changed to S400 only. The XRDC PDAC2 for LPAV pbridge5 and MSC1/2/3 for GPIO and LPAV are not configured by S400 default setting. So these PDAC and MSC are invalid, only DBD owner can access the corresponding resources. We have to configure necessary PDAC and MSC for SPL before DDR initialization. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29imx: imx8ulp: upower: make code cleanerPeng Fan
To clean the upower codes by aligning codes format, check err_code and add detail bits list for the memory magic number Reviewed-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2023-03-29imx: imx8ulp: upower: replace magic number with macroPeng Fan
The swton indicates the logic switch, magic number 0xfff80 is hard to understand, so use macro. Some board design may not have MIPI_CSI voltage input connected per data sheet. In that case, the upower power on API may dead loop mu to wait response, however there is no response. So remove MIPI_CSI here, let linux power domain driver to runtime enable the power domain. Reviewed-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2023-03-29imx: imx8ulp: Clear dividers in PLL3DIV_PFD registersYe Li
At present, in cgc1_pll3_init we don't set the pll3pfd div values, just use the default 0. But on A1 part, ROM will set PLL3 pfd1div2 to 1 and pfd2div1 to 3. This finally causes some clocks' rate decreased, for example USDHC. So clear the PLL3DIV_PFD dividers to get correct rate. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29imx: imx8ulp: Reconfigure MRC3 for SRAM0 accessYe Li
Some space in SRAM0 will be protected by S400 to allow RX SecPriv mode access only for boot purpose. Since SW will reuse the SRAM0 as SCMI buffer and SPL container loading buffer, need to reconfigure MRC3. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29ddr: imx8ulp: Change DRAM timing save area to 0x20055000Ye Li
To align with ARM trusted firmware's change, adjust DRAM timing save area to new position 0x20055000. So we can release the space since 0x2006c000 for the NOBITS region of ARM trusted firmware Signed-off-by: Ye Li <[email protected]> Reviewed-by: Jacky Bai <[email protected]>
2023-03-29imx: imx8ulp: configure XRDC for DRAM access from S400Ye Li
Need to add DRAM access permission for S400, as S400 needs to access it When SPL calls image authentication Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29imx: imx8ulp: Adjust handshake to sync TRDC and XRDC completionYe Li
To fit the DBD_EN fused part, we re-design the TRDC and XRDC assignment. M33 will be the TRDC owner and needs to configure TRDC. A35 is the XRDC owner, ATF will configure XRDC. The handshake between U-boot and M33 image is used to sync TRDC and XRDC configuration completion. Once the handshake is done, A35 and M33 can access the allowed resources in others domain. The handshake is needed when M33 is booted or DBD_EN fused, because both cases will enable the TRDC. If handshake is timeout, the boot will hang. We use SIM GPR0 to pass the info from SPL to u-boot, because before the handshake, u-boot can't access SEC SIM and FSB. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Jacky Bai <[email protected]>
2023-03-29imx: imx8ulp: Remove the TRDC configure from A35Ye Li
As M33 is responsible for TRDC configuration, the settings for A35 nonsecure world access and DMA0 access are moved to M33 image. So remove the codes to release TRDC and configure it. Just keep the configurations for reference. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Jacky Bai <[email protected]>
2023-03-29imx: imx8ulp: Set XRDC MRC4/5 for access DDR from APDYe Li
iMX8ULP A1 S400 ROM removes the setting for MRC4/5. So we have to set them in SPL to allow access to DDR from A35 and APD PER masters Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29imx: imx8ulp: Limit the eMMC ROM API workaround to A0.1 partYe Li
Since A1 ROM has fixed the ROM API eMMC issue, we should only use the workaround for A0.1 part. Add a SOC revision check. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29imx: imx8ulp: Get chip revision from SentinelYe Li
In both SPL and u-boot, after probing the S400 MU, get the chip revision, lifecycle and UID from Sentinel. Update get_cpu_rev to use the chip revision not hard coded it for A0 Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-03-29imx: imx8ulp: Fix MU device probe failureYe Li
Since latest DTS has added multiple MU nodes, using compatible string to find the device node is not proper. It finds the first node with the compatible string matched even the node is disabled. Signed-off-by: Ye Li <[email protected]>
2023-03-29include: configs: am65x_evm: Change to using .envNikhil M Jain
Move to using .env file for setting up environment variables for am65x. Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-03-29board: ti: am62x: am62x: Include K3 common .env filesNikhil M Jain
Include ti_armv7_common.env and ti/mmc.env, which includes' K3 common environment variables used across different K3 boards. This patch depends on https://lore.kernel.org/all/[email protected]/ Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-03-29include: configs: am62ax: Change to using .envNikhil M Jain
Move to using .env file for setting up environment variables for am62ax. This patch depends on https://lore.kernel.org/all/[email protected]/ Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-03-29configs: am62ax: enable secure device configs by defaultBryan Brattlof
TI's security enforcing SoCs will authenticate each binary it loads by comparing it's signature with keys etched into the SoC during the boot up process. The am62ax family of SoCs by default will have some level of security enforcement checking. To keep things as simple as possible, enable the CONFIG_TI_SECURE_DEVICE options by default so all levels of secure SoCs will work out of the box Enable the CONFIG_TI_SECURE_DEVICE by default Signed-off-by: Bryan Brattlof <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Kamlesh Gurudasani <[email protected]>
2023-03-29include: configs: j721e_evm: Change to using .envNeha Malcom Francis
Move to using .env file for setting up environment variables for J721E and J7200. Signed-off-by: Neha Malcom Francis <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-03-29include: configs: j721s2_evm: Change to using .envNeha Malcom Francis
Move to using .env file for setting up environment variables for J721S2. Signed-off-by: Neha Malcom Francis <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-03-29include: environment: ti: Use .env for environment variablesNeha Malcom Francis
Add K3 common environment variables to .env. We retain the old-style C environment .h files to maintain compatibility with other K3 boards that have not moved to using .env yet. Signed-off-by: Neha Malcom Francis <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-03-29mpc83xx: Remove CONFIG_SYS_GPIO{1/2}_PRELIM and relatedChristophe Leroy
Last use of CONFIG_SYS_GPIO1_PRELIM was removed by commit fae2ea5951 ("ppc: Remove MPC8349EMDS board and ARCH_MPC8349 support"). Last use of CONFIG_SYS_GPIO2_PRELIM was removed even before by commit 6843862342 ("ppc: Remove caddy2 / vme8349 boards") Those two items were removed from whitelist by commit 8cca60a2cb ("Kconfig: Remove some symbols from the whitelist") Signed-off-by: Christophe Leroy <[email protected]> Fixes: fae2ea5951 ("ppc: Remove MPC8349EMDS board and ARCH_MPC8349 support")
2023-03-29mpc83xx: Remove stale CONFIG_SYS_LBLAWBAR{4/5/6/7}_PRELIMChristophe Leroy
Last (incorrect) use of those CONFIG items was removed by commit 9fd9abedcc ("TQM834x: remove defines causing gcc4.4 warnings") Those items are invalid and should have been removed at the same time because lblaw[] has only 4 elements. And they were removed from the whitelist by commit 9c5df7a2a9 ("mpc83xx: Migrate LBLAW_* to Kconfig") Signed-off-by: Christophe Leroy <[email protected]> Fixes: 9fd9abedcc ("TQM834x: remove defines causing gcc4.4 warnings")