summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/_exports.h50
-rw-r--r--include/android_image.h2
-rw-r--r--include/cmd_spl.h3
-rw-r--r--include/configs/arbel.h1
-rw-r--r--include/configs/baltos.h5
-rw-r--r--include/configs/imx8mp-libra-fpsc.h27
-rw-r--r--include/configs/imx94_evk.h24
-rw-r--r--include/configs/kontron-sl-mx6ul.h12
-rw-r--r--include/configs/kontron-sl-mx8mm.h12
-rw-r--r--include/configs/microchip_mpfs_generic.h (renamed from include/configs/microchip_mpfs_icicle.h)0
-rw-r--r--include/configs/qemu-riscv.h1
-rw-r--r--include/configs/qemu-sbsa.h4
-rw-r--r--include/configs/voyager.h1
-rw-r--r--include/dt-bindings/clock/agilex-clock.h71
-rw-r--r--include/env/phytec/k3_mmc.env3
-rw-r--r--include/env/phytec/k3_net.env3
-rw-r--r--include/env/phytec/k3_spi.env4
-rw-r--r--include/env/phytec/watchdog.env11
-rw-r--r--include/env_default.h6
-rw-r--r--include/exports.h38
-rw-r--r--include/faraday/fttmr010.h61
-rw-r--r--include/firmware/imx/sci/sci.h6
-rw-r--r--include/fs_loader.h1
-rw-r--r--include/fw_loader.h34
-rw-r--r--include/image.h1
-rw-r--r--include/linux/completion.h44
-rw-r--r--include/linux/ioport.h16
-rw-r--r--include/linux/kernel.h14
-rw-r--r--include/malloc.h6
-rw-r--r--include/miiphy.h15
-rw-r--r--include/power/pca9450.h7
-rw-r--r--include/power/pmic.h89
-rw-r--r--include/power/pmic_legacy.h94
-rw-r--r--include/power/tps65910_pmic.h2
-rw-r--r--include/scmi_nxp_protocols.h55
-rw-r--r--include/scmi_protocols.h1
-rw-r--r--include/thermal.h2
-rw-r--r--include/vsprintf.h25
38 files changed, 450 insertions, 301 deletions
diff --git a/include/_exports.h b/include/_exports.h
index 1af946fac32..a23fc001421 100644
--- a/include/_exports.h
+++ b/include/_exports.h
@@ -1,7 +1,6 @@
/*
* You need to use #ifdef around functions that may not exist
* in the final configuration (such as i2c).
- * use a dummyfunction as first parameter to EXPORT_FUNC.
* As an example see the CONFIG_CMD_I2C section below
*/
#ifndef EXPORT_FUNC
@@ -16,22 +15,22 @@
EXPORT_FUNC(flush, void, flush, void)
#endif
EXPORT_FUNC(printf, int, printf, const char*, ...)
+ EXPORT_FUNC(vprintf, int, vprintf, const char *, va_list)
#if (defined(CONFIG_X86) && !defined(CONFIG_X86_64)) || defined(CONFIG_PPC)
EXPORT_FUNC(irq_install_handler, void, install_hdlr,
int, interrupt_handler_t, void*)
EXPORT_FUNC(irq_free_handler, void, free_hdlr, int)
-#else
- EXPORT_FUNC(dummy, void, install_hdlr, void)
- EXPORT_FUNC(dummy, void, free_hdlr, void)
#endif
EXPORT_FUNC(malloc, void *, malloc, size_t)
+ EXPORT_FUNC(realloc, void *, realloc, void *, size_t)
+ EXPORT_FUNC(calloc, void *, calloc, size_t, size_t)
#if !CONFIG_IS_ENABLED(SYS_MALLOC_SIMPLE)
EXPORT_FUNC(free, void, free, void *)
#endif
+ EXPORT_FUNC(mdelay, void, mdelay, unsigned long msec)
EXPORT_FUNC(udelay, void, udelay, unsigned long)
EXPORT_FUNC(get_timer, unsigned long, get_timer, unsigned long)
- EXPORT_FUNC(vprintf, int, vprintf, const char *, va_list)
EXPORT_FUNC(do_reset, int, do_reset, struct cmd_tbl *,
int , int , char * const [])
EXPORT_FUNC(env_get, char *, env_get, const char*)
@@ -42,40 +41,39 @@
const char *, unsigned int , unsigned long *)
EXPORT_FUNC(simple_strtol, long, simple_strtol,
const char *, char **, unsigned int)
+ EXPORT_FUNC(ustrtoul, unsigned long, ustrtoul,
+ const char *, char **, unsigned int)
+ EXPORT_FUNC(ustrtoull, unsigned long long, ustrtoull,
+ const char *, char **, unsigned int)
+ EXPORT_FUNC(memcmp, int, memcmp, const void *, const void *, size_t)
+ EXPORT_FUNC(memcpy, void *, memcpy, void *, const void *, size_t)
+ EXPORT_FUNC(memmove, void *, memmove, void *, const void *, size_t)
+ EXPORT_FUNC(memset, void *, memset, void *, int, size_t)
+ EXPORT_FUNC(strchr, char *, strchr, const char *cs, int c)
+ EXPORT_FUNC(strlen, size_t, strlen, const char *s)
+ EXPORT_FUNC(strncmp, int, strncmp, const char *cs, const char *ct, size_t n)
+ EXPORT_FUNC(strncpy, char *, strncpy, char *dest, const char *src, size_t n)
+ EXPORT_FUNC(strnlen, size_t, strnlen, const char *s, size_t n)
EXPORT_FUNC(strcmp, int, strcmp, const char *cs, const char *ct)
-#if defined(CONFIG_CMD_I2C) && !CONFIG_IS_ENABLED(DM_I2C)
+ EXPORT_FUNC(strcpy, char *, strcpy, char *dest, const char *src)
+ EXPORT_FUNC(sprintf, int, sprintf, char *, const char *, ...)
+ EXPORT_FUNC(snprintf, int, snprintf, char *, size_t, const char *, ...)
+ EXPORT_FUNC(vsprintf, int, vsprintf, char *, const char *, va_list)
+ EXPORT_FUNC(vsnprintf, int, vsnprintf, char *, size_t, const char *, va_list)
+#if defined(CONFIG_CMD_I2C) && CONFIG_IS_ENABLED(SYS_I2C_LEGACY)
EXPORT_FUNC(i2c_write, int, i2c_write, uchar, uint, int , uchar * , int)
EXPORT_FUNC(i2c_read, int, i2c_read, uchar, uint, int , uchar * , int)
-#else
- EXPORT_FUNC(dummy, void, i2c_write, void)
- EXPORT_FUNC(dummy, void, i2c_read, void)
#endif
-#if !defined(CONFIG_CMD_SPI) || defined(CONFIG_DM_SPI)
- EXPORT_FUNC(dummy, void, spi_setup_slave, void)
- EXPORT_FUNC(dummy, void, spi_free_slave, void)
-#else
+#if defined(CONFIG_CMD_SPI)
EXPORT_FUNC(spi_setup_slave, struct spi_slave *, spi_setup_slave,
unsigned int, unsigned int, unsigned int, unsigned int)
EXPORT_FUNC(spi_free_slave, void, spi_free_slave, struct spi_slave *)
-#endif
-#ifndef CONFIG_CMD_SPI
- EXPORT_FUNC(dummy, void, spi_claim_bus, void)
- EXPORT_FUNC(dummy, void, spi_release_bus, void)
- EXPORT_FUNC(dummy, void, spi_xfer, void)
-#else
EXPORT_FUNC(spi_claim_bus, int, spi_claim_bus, struct spi_slave *)
EXPORT_FUNC(spi_release_bus, void, spi_release_bus, struct spi_slave *)
EXPORT_FUNC(spi_xfer, int, spi_xfer, struct spi_slave *,
unsigned int, const void *, void *, unsigned long)
#endif
- EXPORT_FUNC(ustrtoul, unsigned long, ustrtoul,
- const char *, char **, unsigned int)
- EXPORT_FUNC(ustrtoull, unsigned long long, ustrtoull,
- const char *, char **, unsigned int)
- EXPORT_FUNC(strcpy, char *, strcpy, char *dest, const char *src)
- EXPORT_FUNC(mdelay, void, mdelay, unsigned long msec)
- EXPORT_FUNC(memset, void *, memset, void *, int, size_t)
#ifdef CONFIG_PHY_AQUANTIA
EXPORT_FUNC(mdio_get_current_dev, struct mii_dev *,
mdio_get_current_dev, void)
diff --git a/include/android_image.h b/include/android_image.h
index 96820709b42..a2d80499ba3 100644
--- a/include/android_image.h
+++ b/include/android_image.h
@@ -21,6 +21,8 @@
#define ANDR_BOOT_ARGS_SIZE 512
#define ANDR_BOOT_EXTRA_ARGS_SIZE 1024
#define VENDOR_BOOT_MAGIC "VNDRBOOT"
+#define ANDR_VENDOR_BOOT_V3_SIZE 2112 /* sz(andr_vnd_boot_img_hdr) - sz(vendor_ramdisk_table*) */
+#define ANDR_VENDOR_BOOT_V4_SIZE 2128 /* sz(andr_vnd_boot_img_hdr) */
#define ANDR_VENDOR_BOOT_MAGIC_SIZE 8
#define ANDR_VENDOR_BOOT_ARGS_SIZE 2048
#define ANDR_VENDOR_BOOT_NAME_SIZE 16
diff --git a/include/cmd_spl.h b/include/cmd_spl.h
index 51ec12edb90..45ea91e9bce 100644
--- a/include/cmd_spl.h
+++ b/include/cmd_spl.h
@@ -8,7 +8,6 @@
#define SPL_EXPORT (0x00000001)
#define SPL_EXPORT_FDT (0x00000001)
-#define SPL_EXPORT_ATAGS (0x00000002)
-#define SPL_EXPORT_LAST SPL_EXPORT_ATAGS
+#define SPL_EXPORT_LAST SPL_EXPORT_FDT
#endif /* _NAND_SPL_H_ */
diff --git a/include/configs/arbel.h b/include/configs/arbel.h
index b5f684e88fe..63112baf9b2 100644
--- a/include/configs/arbel.h
+++ b/include/configs/arbel.h
@@ -8,7 +8,6 @@
#define CFG_SYS_SDRAM_BASE 0x0
#define CFG_SYS_BOOTMAPSZ (192 << 20)
-#define CFG_SYS_BOOTM_LEN (20 << 20)
#define CFG_SYS_INIT_RAM_ADDR CFG_SYS_SDRAM_BASE
#define CFG_SYS_INIT_RAM_SIZE 0x8000
diff --git a/include/configs/baltos.h b/include/configs/baltos.h
index cc54b514fff..4223619fe5d 100644
--- a/include/configs/baltos.h
+++ b/include/configs/baltos.h
@@ -206,9 +206,4 @@
#endif
#endif
-/* NAND support */
-#ifdef CONFIG_MTD_RAW_NAND
-#define GPMC_NAND_ECC_LP_x8_LAYOUT 1
-#endif
-
#endif /* ! __CONFIG_BALTOS_H */
diff --git a/include/configs/imx8mp-libra-fpsc.h b/include/configs/imx8mp-libra-fpsc.h
new file mode 100644
index 00000000000..cde91dc3642
--- /dev/null
+++ b/include/configs/imx8mp-libra-fpsc.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Copyright (C) 2025 PHYTEC Messtechnik GmbH
+ */
+
+#ifndef __IMX8MP_LIBRA_FPSC_H
+#define __IMX8MP_LIBRA_FPSC_H
+
+#include <linux/sizes.h>
+#include <asm/arch/imx-regs.h>
+
+#define CFG_SYS_UBOOT_BASE \
+ (QSPI0_AMBA_BASE + CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512)
+
+/* Link Definitions */
+
+#define CFG_SYS_INIT_RAM_ADDR 0x40000000
+#define CFG_SYS_INIT_RAM_SIZE SZ_512K
+
+#define CFG_SYS_SDRAM_BASE 0x40000000
+
+#define PHYS_SDRAM 0x40000000
+#define PHYS_SDRAM_SIZE (SZ_2G + SZ_1G) /* 3GB */
+#define PHYS_SDRAM_2 0x100000000
+#define PHYS_SDRAM_2_SIZE (SZ_4G + SZ_1G) /* 5GB */
+
+#endif /* __IMX8MP_LIBRA_FPSC_H */
diff --git a/include/configs/imx94_evk.h b/include/configs/imx94_evk.h
new file mode 100644
index 00000000000..f93c3c4e4a8
--- /dev/null
+++ b/include/configs/imx94_evk.h
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright 2025 NXP
+ */
+
+#ifndef __IMX94_EVK_H
+#define __IMX94_EVK_H
+
+#include <linux/sizes.h>
+#include <linux/stringify.h>
+#include <asm/arch/imx-regs.h>
+
+#define CFG_SYS_INIT_RAM_ADDR 0x90000000
+#define CFG_SYS_INIT_RAM_SIZE 0x200000
+
+#define CFG_SYS_SDRAM_BASE 0x90000000
+#define PHYS_SDRAM 0x90000000
+#define PHYS_SDRAM_SIZE 0x70000000UL /* 2GB - 256MB DDR */
+#define PHYS_SDRAM_2_SIZE 0x180000000 /* 8GB */
+
+/* Using ULP WDOG for reset */
+#define WDOG_BASE_ADDR WDG3_BASE_ADDR
+
+#endif
diff --git a/include/configs/kontron-sl-mx6ul.h b/include/configs/kontron-sl-mx6ul.h
index 015df01db4e..e2152eb05ed 100644
--- a/include/configs/kontron-sl-mx6ul.h
+++ b/include/configs/kontron-sl-mx6ul.h
@@ -24,22 +24,10 @@
/* Board and environment settings */
#define CFG_MXC_UART_BASE UART4_BASE
-/* Boot order for distro boot */
-#define BOOT_TARGET_DEVICES(func) \
- func(MMC, mmc, 1) \
- func(MMC, mmc, 0) \
- func(UBIFS, ubifs, 0, UBI, boot) \
- func(USB, usb, 0) \
- func(PXE, pxe, na) \
- func(DHCP, dhcp, na)
-#include <config_distro_bootcmd.h>
-
/* MMC Configs */
#ifdef CONFIG_FSL_USDHC
#define CFG_SYS_FSL_ESDHC_ADDR USDHC1_BASE_ADDR
#define CFG_SYS_FSL_USDHC_NUM 2
#endif
-#define CFG_EXTRA_ENV_SETTINGS BOOTENV
-
#endif /* __KONTRON_MX6UL_CONFIG_H */
diff --git a/include/configs/kontron-sl-mx8mm.h b/include/configs/kontron-sl-mx8mm.h
index 72a28a6a413..318c39d673a 100644
--- a/include/configs/kontron-sl-mx8mm.h
+++ b/include/configs/kontron-sl-mx8mm.h
@@ -29,21 +29,9 @@
EFI_GUID(0xd488e45a, 0x4929, 0x4b55, 0x8c, 0x14, \
0x86, 0xce, 0xa2, 0xcd, 0x66, 0x29)
-#define BOOT_TARGET_DEVICES(func) \
- func(MMC, mmc, 1) \
- func(MMC, mmc, 0) \
- func(USB, usb, 0) \
- func(PXE, pxe, na)
-#include <config_distro_bootcmd.h>
-/* Do not try to probe USB net adapters for net boot */
-#undef BOOTENV_RUN_NET_USB_START
-#define BOOTENV_RUN_NET_USB_START
-
#ifdef CONFIG_XPL_BUILD
/* malloc f used before GD_FLG_FULL_MALLOC_INIT set */
#define CFG_MALLOC_F_ADDR 0x930000
#endif
-#define CFG_EXTRA_ENV_SETTINGS BOOTENV
-
#endif /* __KONTRON_MX8MM_CONFIG_H */
diff --git a/include/configs/microchip_mpfs_icicle.h b/include/configs/microchip_mpfs_generic.h
index 0077f6a5f95..0077f6a5f95 100644
--- a/include/configs/microchip_mpfs_icicle.h
+++ b/include/configs/microchip_mpfs_generic.h
diff --git a/include/configs/qemu-riscv.h b/include/configs/qemu-riscv.h
index cf4fcb90b04..dad59cc0d58 100644
--- a/include/configs/qemu-riscv.h
+++ b/include/configs/qemu-riscv.h
@@ -32,7 +32,6 @@
#define CFG_EXTRA_ENV_SETTINGS \
CFG_STD_DEVICES_SETTINGS \
- "fdt_high=0xffffffffffffffff\0" \
"initrd_high=0xffffffffffffffff\0" \
"kernel_addr_r=0x84000000\0" \
"kernel_comp_addr_r=0x88000000\0" \
diff --git a/include/configs/qemu-sbsa.h b/include/configs/qemu-sbsa.h
index aff78160e12..669d0fe7c58 100644
--- a/include/configs/qemu-sbsa.h
+++ b/include/configs/qemu-sbsa.h
@@ -86,4 +86,8 @@
#define CFG_SYS_INIT_RAM_ADDR SBSA_MEM_BASE_ADDR
#define CFG_SYS_INIT_RAM_SIZE 0x1000000
+/* Generic Interrupt Controller Definitions */
+#define GICD_BASE SBSA_GIC_DIST_BASE_ADDR
+#define GICR_BASE SBSA_GIC_REDIST_BASE_ADDR
+
#endif /* __CONFIG_H */
diff --git a/include/configs/voyager.h b/include/configs/voyager.h
index f6630b07ec9..0e5fed99dd0 100644
--- a/include/configs/voyager.h
+++ b/include/configs/voyager.h
@@ -26,7 +26,6 @@
#include <config_distro_bootcmd.h>
#define CFG_EXTRA_ENV_SETTINGS \
- "fdt_high=0xffffffffffffffff\0" \
"initrd_high=0xffffffffffffffff\0" \
"kernel_addr_r=0x400600000\0" \
"kernel_comp_addr_r=0x404600000\0" \
diff --git a/include/dt-bindings/clock/agilex-clock.h b/include/dt-bindings/clock/agilex-clock.h
new file mode 100644
index 00000000000..a6252180516
--- /dev/null
+++ b/include/dt-bindings/clock/agilex-clock.h
@@ -0,0 +1,71 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2025 Altera Corporation <www.altera.com>
+ */
+
+#ifndef __AGILEX_CLOCK_H
+#define __AGILEX_CLOCK_H
+
+/* fixed rate clocks */
+#define AGILEX_OSC1 0
+#define AGILEX_CB_INTOSC_HS_DIV2_CLK 1
+#define AGILEX_CB_INTOSC_LS_CLK 2
+#define AGILEX_L4_SYS_FREE_CLK 3
+#define AGILEX_F2S_FREE_CLK 4
+
+/* PLL clocks */
+#define AGILEX_MAIN_PLL_CLK 5
+#define AGILEX_MAIN_PLL_C0_CLK 6
+#define AGILEX_MAIN_PLL_C1_CLK 7
+#define AGILEX_MAIN_PLL_C2_CLK 8
+#define AGILEX_MAIN_PLL_C3_CLK 9
+#define AGILEX_PERIPH_PLL_CLK 10
+#define AGILEX_PERIPH_PLL_C0_CLK 11
+#define AGILEX_PERIPH_PLL_C1_CLK 12
+#define AGILEX_PERIPH_PLL_C2_CLK 13
+#define AGILEX_PERIPH_PLL_C3_CLK 14
+#define AGILEX_MPU_FREE_CLK 15
+#define AGILEX_MPU_CCU_CLK 16
+#define AGILEX_BOOT_CLK 17
+
+/* fixed factor clocks */
+#define AGILEX_L3_MAIN_FREE_CLK 18
+#define AGILEX_NOC_FREE_CLK 19
+#define AGILEX_S2F_USR0_CLK 20
+#define AGILEX_NOC_CLK 21
+#define AGILEX_EMAC_A_FREE_CLK 22
+#define AGILEX_EMAC_B_FREE_CLK 23
+#define AGILEX_EMAC_PTP_FREE_CLK 24
+#define AGILEX_GPIO_DB_FREE_CLK 25
+#define AGILEX_SDMMC_FREE_CLK 26
+#define AGILEX_S2F_USER0_FREE_CLK 27
+#define AGILEX_S2F_USER1_FREE_CLK 28
+#define AGILEX_PSI_REF_FREE_CLK 29
+
+/* Gate clocks */
+#define AGILEX_MPU_CLK 30
+#define AGILEX_MPU_PERIPH_CLK 31
+#define AGILEX_L4_MAIN_CLK 32
+#define AGILEX_L4_MP_CLK 33
+#define AGILEX_L4_SP_CLK 34
+#define AGILEX_CS_AT_CLK 35
+#define AGILEX_CS_TRACE_CLK 36
+#define AGILEX_CS_PDBG_CLK 37
+#define AGILEX_CS_TIMER_CLK 38
+#define AGILEX_S2F_USER0_CLK 39
+#define AGILEX_EMAC0_CLK 40
+#define AGILEX_EMAC1_CLK 41
+#define AGILEX_EMAC2_CLK 42
+#define AGILEX_EMAC_PTP_CLK 43
+#define AGILEX_GPIO_DB_CLK 44
+#define AGILEX_NAND_CLK 45
+#define AGILEX_PSI_REF_CLK 46
+#define AGILEX_S2F_USER1_CLK 47
+#define AGILEX_SDMMC_CLK 48
+#define AGILEX_SPI_M_CLK 49
+#define AGILEX_USB_CLK 50
+#define AGILEX_NAND_X_CLK 51
+#define AGILEX_NAND_ECC_CLK 52
+#define AGILEX_NUM_CLKS 53
+
+#endif /* __AGILEX_CLOCK_H */
diff --git a/include/env/phytec/k3_mmc.env b/include/env/phytec/k3_mmc.env
index 3f67e312f65..95d0204b6da 100644
--- a/include/env/phytec/k3_mmc.env
+++ b/include/env/phytec/k3_mmc.env
@@ -14,7 +14,8 @@ mmcargs=setenv bootargs console=${console} earlycon=${earlycon}
${optargs}
mmcloadimage=load mmc ${mmcdev}:${mmcpart} ${kernel_addr_r} Image
mmcloadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile}
-mmcboot=if test ${doraucboot} = 1; then run raucinit; fi;
+mmcboot=echo DEPRECATION WARNING: mmcboot will be removed in future versions. Use standard boot instead.;
+ if test ${doraucboot} = 1; then run raucinit; fi;
run mmcargs;
mmc dev ${mmcdev};
mmc rescan;
diff --git a/include/env/phytec/k3_net.env b/include/env/phytec/k3_net.env
index 4d5c703cae9..669787928a2 100644
--- a/include/env/phytec/k3_net.env
+++ b/include/env/phytec/k3_net.env
@@ -12,7 +12,8 @@ netargs=setenv bootargs console=${console} root=/dev/nfs ip=dhcp rw
nfsroot=${serverip}:${nfsroot},vers=4,tcp ${optargs}
netloadimage=${get_cmd} ${kernel_addr_r} ${serverip}:/Image
netloadfdt=${get_cmd} ${fdt_addr_r} ${serverip}:/${fdtfile}
-netboot=run netargs;
+netboot=echo DEPRECATION WARNING: netboot will be removed in future versions. Use standard boot instead.;
+ run netargs;
setenv autoload no;
dhcp;
run netloadimage;
diff --git a/include/env/phytec/k3_spi.env b/include/env/phytec/k3_spi.env
index 8e9cfce3b4c..28fe69b4e57 100644
--- a/include/env/phytec/k3_spi.env
+++ b/include/env/phytec/k3_spi.env
@@ -10,7 +10,9 @@ spiargs=setenv bootargs console=${console} earlycon=${earlycon} ${optargs}
spiloadimage=sf read ${kernel_addr_r} ${spi_image_addr} ${size_kern}
spiloadfdt=sf read ${fdt_addr_r} ${spi_fdt_addr} ${size_fdt}
spiloadramdisk=sf read ${ramdisk_addr_r} ${spi_ramdisk_addr} ${size_fs}
-spiboot=run spiargs;
+
+spiboot=echo DEPRECATION WARNING: spiboot will be removed in future versions. Use standard boot instead.;
+ run spiargs;
sf probe;
run spiloadimage;
run spiloadfdt;
diff --git a/include/env/phytec/watchdog.env b/include/env/phytec/watchdog.env
new file mode 100644
index 00000000000..f2e65baf1e9
--- /dev/null
+++ b/include/env/phytec/watchdog.env
@@ -0,0 +1,11 @@
+watchdog_timeout_ms=CONFIG_WATCHDOG_TIMEOUT_MSECS
+start_watchdog=
+ if test ${watchdog_timeout_ms} -gt 0; then;
+ if test -z "${watchdog}"; then;
+ echo No watchdog device set, skipping watchdog start;
+ else;
+ wdt dev ${watchdog};
+ wdt start ${watchdog_timeout_ms};
+ echo Watchdog started, timeout ${watchdog_timeout_ms} ms;
+ fi;
+ fi;
diff --git a/include/env_default.h b/include/env_default.h
index 9caf22cdd1d..7f8dc1c35a7 100644
--- a/include/env_default.h
+++ b/include/env_default.h
@@ -79,10 +79,10 @@ const char default_environment[] = {
#ifdef CONFIG_USE_BOOTFILE
"bootfile=" CONFIG_BOOTFILE "\0"
#endif
-#ifdef CONFIG_SYS_LOAD_ADDR
+#ifdef CONFIG_SYS_LOAD_ADDR
"loadaddr=" __stringify(CONFIG_SYS_LOAD_ADDR)"\0"
#endif
-#ifdef CONFIG_ENV_VARS_UBOOT_CONFIG
+#ifdef CONFIG_ENV_VARS_UBOOT_CONFIG
"arch=" CONFIG_SYS_ARCH "\0"
#ifdef CONFIG_SYS_CPU
"cpu=" CONFIG_SYS_CPU "\0"
@@ -97,6 +97,7 @@ const char default_environment[] = {
#ifdef CONFIG_SYS_SOC
"soc=" CONFIG_SYS_SOC "\0"
#endif
+#endif
#ifdef CONFIG_USB_HOST
"usb_ignorelist="
#ifdef CONFIG_USB_KEYBOARD
@@ -111,7 +112,6 @@ const char default_environment[] = {
#ifdef CONFIG_ENV_IMPORT_FDT
"env_fdt_path=" CONFIG_ENV_FDT_PATH "\0"
#endif
-#endif
#if defined(CONFIG_BOOTCOUNT_BOOTLIMIT) && (CONFIG_BOOTCOUNT_BOOTLIMIT > 0)
"bootlimit=" __stringify(CONFIG_BOOTCOUNT_BOOTLIMIT)"\0"
#endif
diff --git a/include/exports.h b/include/exports.h
index 23cc3a66c20..12abb35643e 100644
--- a/include/exports.h
+++ b/include/exports.h
@@ -26,39 +26,9 @@ struct spi_slave;
int jumptable_init(void);
/* These are declarations of exported functions available in C code */
-unsigned long get_version(void);
-int getc(void);
-int tstc(void);
-void putc(const char);
-void puts(const char*);
-int printf(const char* fmt, ...);
-void install_hdlr(int, interrupt_handler_t, void*);
-void free_hdlr(int);
-void *malloc(size_t);
-#if !CONFIG_IS_ENABLED(SYS_MALLOC_SIMPLE)
-void free(void*);
-#endif
-void __udelay(unsigned long);
-unsigned long get_timer(unsigned long);
-int vprintf(const char *, va_list);
-unsigned long simple_strtoul(const char *cp, char **endp, unsigned int base);
-int strict_strtoul(const char *cp, unsigned int base, unsigned long *res);
-char *env_get(const char *name);
-int env_set(const char *varname, const char *value);
-long simple_strtol(const char *cp, char **endp, unsigned int base);
-int strcmp(const char *cs, const char *ct);
-unsigned long ustrtoul(const char *cp, char **endp, unsigned int base);
-unsigned long long ustrtoull(const char *cp, char **endp, unsigned int base);
-#if defined(CONFIG_CMD_I2C) && !CONFIG_IS_ENABLED(DM_I2C)
-int i2c_write (uchar, uint, int , uchar* , int);
-int i2c_read (uchar, uint, int , uchar* , int);
-#endif
-#ifdef CONFIG_PHY_AQUANTIA
-struct mii_dev *mdio_get_current_dev(void);
-struct phy_device *phy_find_by_mask(struct mii_dev *bus, unsigned phy_mask);
-struct phy_device *mdio_phydev_for_ethname(const char *ethname);
-int miiphy_set_current_dev(const char *devname);
-#endif
+#define EXPORT_FUNC(impl, res, func, ...) res func(__VA_ARGS__);
+#include <_exports.h>
+#undef EXPORT_FUNC
void app_startup(char * const *);
@@ -70,7 +40,7 @@ struct jt_funcs {
#undef EXPORT_FUNC
};
-#define XF_VERSION 9
+#define XF_VERSION 10
#if defined(CONFIG_X86)
extern gd_t *global_data;
diff --git a/include/faraday/fttmr010.h b/include/faraday/fttmr010.h
deleted file mode 100644
index 5b1bef38c77..00000000000
--- a/include/faraday/fttmr010.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0+ */
-/*
- * (C) Copyright 2009 Faraday Technology
- * Po-Yu Chuang <ratbert@faraday-tech.com>
- */
-
-/*
- * Timer
- */
-#ifndef __FTTMR010_H
-#define __FTTMR010_H
-
-struct fttmr010 {
- unsigned int timer1_counter; /* 0x00 */
- unsigned int timer1_load; /* 0x04 */
- unsigned int timer1_match1; /* 0x08 */
- unsigned int timer1_match2; /* 0x0c */
- unsigned int timer2_counter; /* 0x10 */
- unsigned int timer2_load; /* 0x14 */
- unsigned int timer2_match1; /* 0x18 */
- unsigned int timer2_match2; /* 0x1c */
- unsigned int timer3_counter; /* 0x20 */
- unsigned int timer3_load; /* 0x24 */
- unsigned int timer3_match1; /* 0x28 */
- unsigned int timer3_match2; /* 0x2c */
- unsigned int cr; /* 0x30 */
- unsigned int interrupt_state; /* 0x34 */
- unsigned int interrupt_mask; /* 0x38 */
- unsigned int revision; /* 0x3c */
-};
-
-/*
- * Timer Control Register
- */
-#define FTTMR010_TM3_UPDOWN (1 << 11)
-#define FTTMR010_TM2_UPDOWN (1 << 10)
-#define FTTMR010_TM1_UPDOWN (1 << 9)
-#define FTTMR010_TM3_OFENABLE (1 << 8)
-#define FTTMR010_TM3_CLOCK (1 << 7)
-#define FTTMR010_TM3_ENABLE (1 << 6)
-#define FTTMR010_TM2_OFENABLE (1 << 5)
-#define FTTMR010_TM2_CLOCK (1 << 4)
-#define FTTMR010_TM2_ENABLE (1 << 3)
-#define FTTMR010_TM1_OFENABLE (1 << 2)
-#define FTTMR010_TM1_CLOCK (1 << 1)
-#define FTTMR010_TM1_ENABLE (1 << 0)
-
-/*
- * Timer Interrupt State & Mask Registers
- */
-#define FTTMR010_TM3_OVERFLOW (1 << 8)
-#define FTTMR010_TM3_MATCH2 (1 << 7)
-#define FTTMR010_TM3_MATCH1 (1 << 6)
-#define FTTMR010_TM2_OVERFLOW (1 << 5)
-#define FTTMR010_TM2_MATCH2 (1 << 4)
-#define FTTMR010_TM2_MATCH1 (1 << 3)
-#define FTTMR010_TM1_OVERFLOW (1 << 2)
-#define FTTMR010_TM1_MATCH2 (1 << 1)
-#define FTTMR010_TM1_MATCH1 (1 << 0)
-
-#endif /* __FTTMR010_H */
diff --git a/include/firmware/imx/sci/sci.h b/include/firmware/imx/sci/sci.h
index 588f3671103..876d52cac35 100644
--- a/include/firmware/imx/sci/sci.h
+++ b/include/firmware/imx/sci/sci.h
@@ -144,6 +144,7 @@ int sc_seco_secvio_dgo_config(sc_ipc_t ipc, u8 id, u8 access, u32 *data);
int sc_seco_secvio_config(sc_ipc_t ipc, u8 id, u8 access,
u32 *data0, u32 *data1, u32 *data2, u32 *data3,
u32 *data4, u8 size);
+int sc_seco_commit(sc_ipc_t ipc, u32 *info);
#else
/* PM API*/
static inline int sc_pm_set_resource_power_mode(sc_ipc_t ipc, sc_rsrc_t resource,
@@ -383,6 +384,11 @@ static inline int sc_seco_secvio_config(sc_ipc_t ipc, u8 id, u8 access, u32 *dat
return -EOPNOTSUPP;
}
+static inline int sc_seco_commit(sc_ipc_t ipc, u32 *info)
+{
+ return -EOPNOTSUPP;
+}
+
static inline void sc_pm_reboot(sc_ipc_t ipc, sc_pm_reset_type_t type)
{
}
diff --git a/include/fs_loader.h b/include/fs_loader.h
index 5eb5b7ab4a1..7e16e0f7030 100644
--- a/include/fs_loader.h
+++ b/include/fs_loader.h
@@ -64,4 +64,5 @@ int request_firmware_into_buf(struct udevice *dev,
* Return: 0 on success, negative value on error
*/
int get_fs_loader(struct udevice **dev);
+
#endif
diff --git a/include/fw_loader.h b/include/fw_loader.h
new file mode 100644
index 00000000000..35574482b2b
--- /dev/null
+++ b/include/fw_loader.h
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2025 Lucien Jheng <lucienzx159@gmail.com>
+ */
+#ifndef _FW_LOADER_H_
+#define _FW_LOADER_H_
+
+/**
+ * request_firmware_into_buf_via_script() -
+ * Load firmware using a U-Boot script and copy to buffer
+ * @buf: Pointer to a pointer where the firmware buffer will be stored.
+ * @max_size: Maximum allowed size for the firmware to be loaded.
+ * @script_name: Name of the U-Boot script to execute for firmware loading.
+ * @retsize: Return the actual firmware data size (optional).
+ *
+ * Executes a U-Boot script (@script_name) that loads firmware into
+ * memory and sets the environment variables 'fw_addr' (address) and
+ * 'fw_size' (size in bytes). On success, copies the firmware
+ * from the given address to user buffer @buf.
+ *
+ * The script must set these environment variables:
+ * fw_addr - Address where firmware is loaded in memory
+ * fw_size - Size of the firmware in bytes
+ *
+ * The script should be defined in the U-Boot environment, for example:
+ * env set script_name 'load mmc 0:1 ${loadaddr} firmware.bin &&
+ * env set fw_addr ${loadaddr} && env set fw_size ${filesize}
+ * Return: 0 on success, negative value on error.
+ */
+int request_firmware_into_buf_via_script(void *buf, size_t max_size,
+ const char *script_name,
+ size_t *retsize);
+
+#endif
diff --git a/include/image.h b/include/image.h
index b695cc39447..fc2f2487095 100644
--- a/include/image.h
+++ b/include/image.h
@@ -1104,6 +1104,7 @@ int booti_setup(ulong image, ulong *relocated_addr, ulong *size,
#define FIT_STANDALONE_PROP "standalone"
#define FIT_SCRIPT_PROP "script"
#define FIT_PHASE_PROP "phase"
+#define FIT_TFA_BL31_PROP "tfa-bl31"
#define FIT_MAX_HASH_LEN HASH_MAX_DIGEST_SIZE
diff --git a/include/linux/completion.h b/include/linux/completion.h
index 9835826d285..d99ac450e8c 100644
--- a/include/linux/completion.h
+++ b/include/linux/completion.h
@@ -129,42 +129,14 @@ extern void complete_all(struct completion *);
#define wait_for_completion(x) do {} while (0)
#define wait_for_completion_io(x) do {} while (0)
-inline int wait_for_completion_interruptible(struct completion *x)
-{
- return 1;
-}
-inline int wait_for_completion_killable(struct completion *x)
-{
- return 1;
-}
-inline unsigned long wait_for_completion_timeout(struct completion *x,
- unsigned long timeout)
-{
- return 1;
-}
-inline unsigned long wait_for_completion_io_timeout(struct completion *x,
- unsigned long timeout)
-{
- return 1;
-}
-inline long wait_for_completion_interruptible_timeout(struct completion *x,
- unsigned long timeout)
-{
- return 1;
-}
-inline long wait_for_completion_killable_timeout(struct completion *x,
- unsigned long timeout)
-{
- return 1;
-}
-inline bool try_wait_for_completion(struct completion *x)
-{
- return 1;
-}
-inline bool completion_done(struct completion *x)
-{
- return 1;
-}
+#define wait_for_completion_interruptible(x) 1
+#define wait_for_completion_killable(x) 1
+#define wait_for_completion_timeout(x, timeout) 1
+#define wait_for_completion_io_timeout(x, timeout) 1
+#define wait_for_completion_interruptible_timeout(x, timeout) 1
+#define wait_for_completion_killable_timeout(x, timeout) 1
+#define try_wait_for_completion(x) 1
+#define completion_done(x) 1
#define complete(x) do {} while (0)
#define complete_all(x) do {} while (0)
diff --git a/include/linux/ioport.h b/include/linux/ioport.h
index 85288c3729a..c12a7f70ad7 100644
--- a/include/linux/ioport.h
+++ b/include/linux/ioport.h
@@ -135,6 +135,22 @@ static inline unsigned long resource_type(const struct resource *res)
return res->flags & IORESOURCE_TYPE_BITS;
}
+/* True iff r1 completely contains r2 */
+static inline bool resource_contains(struct resource *r1, struct resource *r2)
+{
+ if (resource_type(r1) != resource_type(r2))
+ return false;
+ if (r1->flags & IORESOURCE_UNSET || r2->flags & IORESOURCE_UNSET)
+ return false;
+ return r1->start <= r2->start && r1->end >= r2->end;
+}
+
+/* True if any part of r1 overlaps r2 */
+static inline bool resource_overlaps(struct resource *r1, struct resource *r2)
+{
+ return r1->start <= r2->end && r1->end >= r2->start;
+}
+
/* Convenience shorthand with allocation */
#define request_region(start,n,name) __request_region(&ioport_resource, (start), (n), (name), 0)
#define __request_mem_region(start,n,name, excl) __request_region(&iomem_resource, (start), (n), (name), excl)
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index e0443ecac84..44a639a5e4e 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -111,7 +111,19 @@
* lower_32_bits - return bits 0-31 of a number
* @n: the number we're accessing
*/
-#define lower_32_bits(n) ((u32)(n))
+#define lower_32_bits(n) ((u32)((n) & 0xffffffff))
+
+/**
+ * upper_16_bits - return bits 16-31 of a number
+ * @n: the number we're accessing
+ */
+#define upper_16_bits(n) ((u16)((n) >> 16))
+
+/**
+ * lower_16_bits - return bits 0-15 of a number
+ * @n: the number we're accessing
+ */
+#define lower_16_bits(n) ((u16)((n) & 0xffff))
/*
* abs() handles unsigned and signed longs, ints, shorts and chars. For all
diff --git a/include/malloc.h b/include/malloc.h
index 9e0be482416..3979fc62830 100644
--- a/include/malloc.h
+++ b/include/malloc.h
@@ -904,11 +904,11 @@ void *realloc_simple(void *ptr, size_t size);
# define mALLOPt dlmallopt
/* Ensure that U-Boot actually uses these too */
-#define calloc dlcalloc
+#define calloc(x,y) dlcalloc(x,y)
#define free(ptr) dlfree(ptr)
#define malloc(x) dlmalloc(x)
-#define memalign dlmemalign
-#define realloc dlrealloc
+#define memalign(a,x) dlmemalign(a,x)
+#define realloc(p,x) dlrealloc(p,x)
#define valloc dlvalloc
#define pvalloc dlpvalloc
#define mallinfo() dlmallinfo()
diff --git a/include/miiphy.h b/include/miiphy.h
index 00d0b9b6a43..96afe5f4030 100644
--- a/include/miiphy.h
+++ b/include/miiphy.h
@@ -193,6 +193,21 @@ struct phy_device *dm_mdio_phy_connect(struct udevice *mdiodev, int phyaddr,
phy_interface_t interface);
/**
+ * dm_eth_phy_connect_interface - Connect an Eth device to a PHY based on device
+ * tree with custom PHY interface
+ *
+ * Picks up the DT phy-handle and from ethernet device node and connects the
+ * ethernet device to the linked PHY, while allowing the caller to specify
+ * the phy-mode to use.
+ *
+ * @ethdev: ethernet device
+ * @interface: MAC-PHY protocol
+ *
+ * Return: pointer to phy_device, or 0 on error
+ */
+struct phy_device *dm_eth_phy_connect_interface(struct udevice *ethdev,
+ phy_interface_t interface);
+/**
* dm_eth_phy_connect - Connect an Eth device to a PHY based on device tree
*
* Picks up the DT phy-handle and phy-mode from ethernet device node and
diff --git a/include/power/pca9450.h b/include/power/pca9450.h
index e5ab09fb8c8..41b7f95c034 100644
--- a/include/power/pca9450.h
+++ b/include/power/pca9450.h
@@ -75,4 +75,11 @@ enum {
#define PCA9450_PMIC_RESET_WDOG_B_CFG_WARM 0x40
#define PCA9450_PMIC_RESET_WDOG_B_CFG_COLD_LDO12 0x80
+#define PCA9450_PWRON_STAT_PWRON_MASK 0x80
+#define PCA9450_PWRON_STAT_WDOG_MASK 0x40
+#define PCA9450_PWRON_STAT_SW_RST_MASK 0x20
+#define PCA9450_PWRON_STAT_PMIC_RST_MASK 0x10
+
+#define PCA9450_SW_RST_COLD_RST 0x14
+
#endif
diff --git a/include/power/pmic.h b/include/power/pmic.h
index 636221692d0..4aee07383a9 100644
--- a/include/power/pmic.h
+++ b/include/power/pmic.h
@@ -17,76 +17,9 @@
enum { PMIC_I2C, PMIC_SPI, PMIC_NONE};
-/* TODO: Change to !CONFIG_IS_ENABLED(DM_PMIC) when SPL_DM_PMIC exists */
#if CONFIG_IS_ENABLED(POWER_LEGACY)
-enum { I2C_PMIC, I2C_NUM, };
-enum { PMIC_READ, PMIC_WRITE, };
-enum { PMIC_SENSOR_BYTE_ORDER_LITTLE, PMIC_SENSOR_BYTE_ORDER_BIG, };
-
-enum {
- PMIC_CHARGER_DISABLE,
- PMIC_CHARGER_ENABLE,
-};
-
-struct p_i2c {
- unsigned char addr;
- unsigned char *buf;
- unsigned char tx_num;
-};
-
-struct p_spi {
- unsigned int cs;
- unsigned int mode;
- unsigned int bitlen;
- unsigned int clk;
- unsigned int flags;
- u32 (*prepare_tx)(u32 reg, u32 *val, u32 write);
-};
-
-struct pmic;
-struct power_fg {
- int (*fg_battery_check) (struct pmic *p, struct pmic *bat);
- int (*fg_battery_update) (struct pmic *p, struct pmic *bat);
-};
-
-struct power_chrg {
- int (*chrg_type) (struct pmic *p);
- int (*chrg_bat_present) (struct pmic *p);
- int (*chrg_state) (struct pmic *p, int state, int current);
-};
-
-struct power_battery {
- struct battery *bat;
- int (*battery_init) (struct pmic *bat, struct pmic *p1,
- struct pmic *p2, struct pmic *p3);
- int (*battery_charge) (struct pmic *bat);
- /* Keep info about power devices involved with battery operation */
- struct pmic *chrg, *fg, *muic;
-};
-
-struct pmic {
- const char *name;
- unsigned char bus;
- unsigned char interface;
- unsigned char sensor_byte_order;
- unsigned int number_of_regs;
- union hw {
- struct p_i2c i2c;
- struct p_spi spi;
- } hw;
-
- void (*low_power_mode) (void);
- struct power_battery *pbat;
- struct power_chrg *chrg;
- struct power_fg *fg;
-
- struct pmic *parent;
- struct list_head list;
-};
-#endif /* CONFIG_IS_ENABLED(POWER_LEGACY) */
-
-/* TODO: Change to CONFIG_IS_ENABLED(DM_PMIC) when SPL_DM_PMIC exists */
-#if defined(CONFIG_DM_PMIC) || !CONFIG_IS_ENABLED(POWER_LEGACY)
+#include <power/pmic_legacy.h>
+#else
/**
* U-Boot PMIC Framework
* =====================
@@ -308,23 +241,7 @@ struct uc_pmic_priv {
uint trans_len;
};
-#endif /* DM_PMIC */
-
-/* TODO: Change to CONFIG_IS_ENABLED(DM_PMIC) when SPL_DM_PMIC exists */
-#if CONFIG_IS_ENABLED(POWER_LEGACY)
-
-/* Legacy API, do not use */
-int pmic_init(unsigned char bus);
-int power_init_board(void);
-int pmic_dialog_init(unsigned char bus);
-int check_reg(struct pmic *p, u32 reg);
-struct pmic *pmic_alloc(void);
-struct pmic *pmic_get(const char *s);
-int pmic_probe(struct pmic *p);
-int pmic_reg_read(struct pmic *p, u32 reg, u32 *val);
-int pmic_reg_write(struct pmic *p, u32 reg, u32 val);
-int pmic_set_output(struct pmic *p, u32 reg, int ldo, int on);
-#endif /* CONFIG_IS_ENABLED(POWER_LEGACY) */
+#endif
#define pmic_i2c_addr (p->hw.i2c.addr)
#define pmic_i2c_tx_num (p->hw.i2c.tx_num)
diff --git a/include/power/pmic_legacy.h b/include/power/pmic_legacy.h
new file mode 100644
index 00000000000..7c244060b4a
--- /dev/null
+++ b/include/power/pmic_legacy.h
@@ -0,0 +1,94 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (C) 2014-2015 Samsung Electronics
+ * Przemyslaw Marczak <p.marczak@samsung.com>
+ *
+ * Copyright (C) 2011-2012 Samsung Electronics
+ * Lukasz Majewski <l.majewski@samsung.com>
+ */
+
+#ifndef __POWER_PMIC_LEGACY_H__
+#define __POWER_PMIC_LEGACY_H__
+
+#ifndef __CORE_PMIC_H_
+#error "Do not include <power/pmic_legacy.h> directly"
+#endif
+
+enum { I2C_PMIC, I2C_NUM, };
+enum { PMIC_READ, PMIC_WRITE, };
+enum { PMIC_SENSOR_BYTE_ORDER_LITTLE, PMIC_SENSOR_BYTE_ORDER_BIG, };
+
+enum {
+ PMIC_CHARGER_DISABLE,
+ PMIC_CHARGER_ENABLE,
+};
+
+struct p_i2c {
+ unsigned char addr;
+ unsigned char *buf;
+ unsigned char tx_num;
+};
+
+struct p_spi {
+ unsigned int cs;
+ unsigned int mode;
+ unsigned int bitlen;
+ unsigned int clk;
+ unsigned int flags;
+ u32 (*prepare_tx)(u32 reg, u32 *val, u32 write);
+};
+
+struct pmic;
+struct power_fg {
+ int (*fg_battery_check) (struct pmic *p, struct pmic *bat);
+ int (*fg_battery_update) (struct pmic *p, struct pmic *bat);
+};
+
+struct power_chrg {
+ int (*chrg_type) (struct pmic *p);
+ int (*chrg_bat_present) (struct pmic *p);
+ int (*chrg_state) (struct pmic *p, int state, int current);
+};
+
+struct power_battery {
+ struct battery *bat;
+ int (*battery_init) (struct pmic *bat, struct pmic *p1,
+ struct pmic *p2, struct pmic *p3);
+ int (*battery_charge) (struct pmic *bat);
+ /* Keep info about power devices involved with battery operation */
+ struct pmic *chrg, *fg, *muic;
+};
+
+struct pmic {
+ const char *name;
+ unsigned char bus;
+ unsigned char interface;
+ unsigned char sensor_byte_order;
+ unsigned int number_of_regs;
+ union hw {
+ struct p_i2c i2c;
+ struct p_spi spi;
+ } hw;
+
+ void (*low_power_mode) (void);
+ struct power_battery *pbat;
+ struct power_chrg *chrg;
+ struct power_fg *fg;
+
+ struct pmic *parent;
+ struct list_head list;
+};
+
+/* Legacy API, do not use */
+int pmic_init(unsigned char bus);
+int power_init_board(void);
+int pmic_dialog_init(unsigned char bus);
+int check_reg(struct pmic *p, u32 reg);
+struct pmic *pmic_alloc(void);
+struct pmic *pmic_get(const char *s);
+int pmic_probe(struct pmic *p);
+int pmic_reg_read(struct pmic *p, u32 reg, u32 *val);
+int pmic_reg_write(struct pmic *p, u32 reg, u32 val);
+int pmic_set_output(struct pmic *p, u32 reg, int ldo, int on);
+
+#endif
diff --git a/include/power/tps65910_pmic.h b/include/power/tps65910_pmic.h
index 2026ec2f426..8fa02f33ab1 100644
--- a/include/power/tps65910_pmic.h
+++ b/include/power/tps65910_pmic.h
@@ -123,7 +123,7 @@ enum {
/* platform data */
struct tps65910_regulator_pdata {
- u32 supply; /* regulator supply voltage in uV */
+ int supply; /* regulator supply voltage in uV */
uint unit; /* unit-address according to DT */
};
diff --git a/include/scmi_nxp_protocols.h b/include/scmi_nxp_protocols.h
new file mode 100644
index 00000000000..fe6ecd6a7cf
--- /dev/null
+++ b/include/scmi_nxp_protocols.h
@@ -0,0 +1,55 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright 2025 NXP
+ */
+
+#ifndef _SCMI_NXP_PROTOCOLS_H
+#define _SCMI_NXP_PROTOCOLS_H
+
+#include <asm/types.h>
+#include <linux/bitops.h>
+
+enum scmi_imx_protocol {
+ SCMI_IMX_PROTOCOL_ID_MISC = 0x84,
+};
+
+#define SCMI_PAYLOAD_LEN 100
+
+#define SCMI_ARRAY(X, Y) ((SCMI_PAYLOAD_LEN - (X)) / sizeof(Y))
+
+#define SCMI_IMX_MISC_RESET_REASON 0xA
+
+struct scmi_imx_misc_reset_reason_in {
+#define MISC_REASON_FLAG_SYSTEM BIT(0)
+ u32 flags;
+};
+
+struct scmi_imx_misc_reset_reason_out {
+ s32 status;
+ /* Boot reason flags */
+#define MISC_BOOT_FLAG_VLD BIT(31)
+#define MISC_BOOT_FLAG_ORG_VLD BIT(28)
+#define MISC_BOOT_FLAG_ORIGIN GENMASK(27, 24)
+#define MISC_BOOT_FLAG_O_SHIFT 24
+#define MISC_BOOT_FLAG_ERR_VLD BIT(23)
+#define MISC_BOOT_FLAG_ERR_ID GENMASK(22, 8)
+#define MISC_BOOT_FLAG_E_SHIFT 8
+#define MISC_BOOT_FLAG_REASON GENMASK(7, 0)
+ u32 bootflags;
+ /* Shutdown reason flags */
+#define MISC_SHUTDOWN_FLAG_VLD BIT(31)
+#define MISC_SHUTDOWN_FLAG_EXT_LEN GENMASK(30, 29)
+#define MISC_SHUTDOWN_FLAG_ORG_VLD BIT(28)
+#define MISC_SHUTDOWN_FLAG_ORIGIN GENMASK(27, 24)
+#define MISC_SHUTDOWN_FLAG_O_SHIFT 24
+#define MISC_SHUTDOWN_FLAG_ERR_VLD BIT(23)
+#define MISC_SHUTDOWN_FLAG_ERR_ID GENMASK(22, 8)
+#define MISC_SHUTDOWN_FLAG_E_SHIFT 8
+#define MISC_SHUTDOWN_FLAG_REASON GENMASK(7, 0)
+ u32 shutdownflags;
+ /* Array of extended info words */
+#define MISC_MAX_EXTINFO SCMI_ARRAY(16, u32)
+ u32 extInfo[MISC_MAX_EXTINFO];
+};
+
+#endif
diff --git a/include/scmi_protocols.h b/include/scmi_protocols.h
index 762a1032c37..95e0c3cce3b 100644
--- a/include/scmi_protocols.h
+++ b/include/scmi_protocols.h
@@ -40,6 +40,7 @@ enum scmi_status_code {
SCMI_GENERIC_ERROR = -8,
SCMI_HARDWARE_ERROR = -9,
SCMI_PROTOCOL_ERROR = -10,
+ SCMI_IN_USE = -11,
};
/*
diff --git a/include/thermal.h b/include/thermal.h
index 52a3317fd54..74b1c62466b 100644
--- a/include/thermal.h
+++ b/include/thermal.h
@@ -25,7 +25,7 @@ struct dm_thermal_ops {
* It will enable and initialize any Thermal hardware as necessary.
*
* @dev: The Thermal device
- * @temp: pointer that returns the measured temperature
+ * @temp: pointer that returns the measured temperature in millidegree Celsius
*/
int (*get_temp)(struct udevice *dev, int *temp);
};
diff --git a/include/vsprintf.h b/include/vsprintf.h
index 9da6ce7cc4d..3cb335515e4 100644
--- a/include/vsprintf.h
+++ b/include/vsprintf.h
@@ -11,7 +11,7 @@
#include <linux/types.h>
/**
- * simple_strtoul - convert a string to an unsigned long
+ * simple_strtoul() - convert a string to an unsigned long
*
* @cp: The string to be converted
* @endp: Updated to point to the first character not converted
@@ -32,7 +32,7 @@
ulong simple_strtoul(const char *cp, char **endp, unsigned int base);
/**
- * hex_strtoul - convert a string in hex to an unsigned long
+ * hex_strtoul() - convert a string in hex to an unsigned long
*
* @cp: The string to be converted
* @endp: Updated to point to the first character not converted
@@ -45,7 +45,7 @@ ulong simple_strtoul(const char *cp, char **endp, unsigned int base);
unsigned long hextoul(const char *cp, char **endp);
/**
- * hex_strtoull - convert a string in hex to an unsigned long long
+ * hex_strtoull() - convert a string in hex to an unsigned long long
*
* @cp: The string to be converted
* @endp: Updated to point to the first character not converted
@@ -58,7 +58,7 @@ unsigned long hextoul(const char *cp, char **endp);
unsigned long long hextoull(const char *cp, char **endp);
/**
- * dec_strtoul - convert a string in decimal to an unsigned long
+ * dec_strtoul() - convert a string in decimal to an unsigned long
*
* @cp: The string to be converted
* @endp: Updated to point to the first character not converted
@@ -71,7 +71,7 @@ unsigned long long hextoull(const char *cp, char **endp);
unsigned long dectoul(const char *cp, char **endp);
/**
- * strict_strtoul - convert a string to an unsigned long strictly
+ * strict_strtoul() - convert a string to an unsigned long strictly
* @cp: The string to be converted
* @base: The number base to use (0 for the default)
* @res: The converted result value
@@ -100,6 +100,7 @@ unsigned long dectoul(const char *cp, char **endp);
*
*/
int strict_strtoul(const char *cp, unsigned int base, unsigned long *res);
+
unsigned long long simple_strtoull(const char *cp, char **endp,
unsigned int base);
long simple_strtol(const char *cp, char **endp, unsigned int base);
@@ -178,7 +179,7 @@ void panic(const char *fmt, ...)
void panic_str(const char *str) __attribute__ ((noreturn));
/**
- * Format a string and place it in a buffer
+ * sprintf() - Format a string and place it in a buffer
*
* @buf: The buffer to place the result into
* @fmt: The format string to use
@@ -193,7 +194,7 @@ int sprintf(char *buf, const char *fmt, ...)
__attribute__ ((format (__printf__, 2, 3)));
/**
- * Format a string and place it in a buffer (va_list version)
+ * vsprintf() - Format a string and place it in a buffer (va_list version)
*
* @buf: The buffer to place the result into
* @fmt: The format string to use
@@ -232,7 +233,7 @@ char *simple_itoa(ulong val);
char *simple_xtoa(ulong num);
/**
- * Format a string and place it in a buffer
+ * scnprintf() - Format a string and place it in a buffer
*
* @buf: The buffer to place the result into
* @size: The size of the buffer, including the trailing null space
@@ -248,7 +249,7 @@ int scnprintf(char *buf, size_t size, const char *fmt, ...)
__attribute__ ((format (__printf__, 3, 4)));
/**
- * Format a string and place it in a buffer (base function)
+ * vsnprintf() - Format a string and place it in a buffer (base function)
*
* @buf: The buffer to place the result into
* @size: The size of the buffer, including the trailing null space
@@ -273,7 +274,7 @@ int scnprintf(char *buf, size_t size, const char *fmt, ...)
int vsnprintf(char *buf, size_t size, const char *fmt, va_list args);
/**
- * Format a string and place it in a buffer (va_list version)
+ * vscnprintf() - Format a string and place it in a buffer (va_list version)
*
* @buf: The buffer to place the result into
* @size: The size of the buffer, including the trailing null space
@@ -349,7 +350,7 @@ const char **str_to_list(const char *instr);
void str_free_list(const char **ptr);
/**
- * vsscanf - Unformat a buffer into a list of arguments
+ * vsscanf() - Unformat a buffer into a list of arguments
* @inp: input buffer
* @fmt0: format of buffer
* @ap: arguments
@@ -357,7 +358,7 @@ void str_free_list(const char **ptr);
int vsscanf(const char *inp, char const *fmt0, va_list ap);
/**
- * sscanf - Unformat a buffer into a list of arguments
+ * sscanf() - Unformat a buffer into a list of arguments
* @buf: input buffer
* @fmt: formatting of buffer
* @...: resulting arguments