summaryrefslogtreecommitdiff
path: root/board/nxp/common
AgeCommit message (Collapse)Author
2026-07-13board: nxp: vid: introduce PMBus framework supportVincent Jardin
Wire board/nxp/common/vid.c into the <pmbus.h> framework so the legacy NXP AVS path stops carrying its own duplicate copy of the PMBus protocol and instead consumes the shared constants, decoders, and transport helpers. vid.c is the legacy NXP AVS/pre-kernel voltage-trim path for lx2160 CPUs. It does PMBus to whichever core-rail voltage monitor the board carries: LTC3882 or ISL68233 are selected with CONFIG_VOL_MONITOR_LTC3882_*/CONFIG_VOL_MONITOR_ISL68233_*. Before this change the file kept its own local PMBUS_CMD_* command-code defines, its own inline LINEAR16 mantissa/exponent math, and called into I2C through the I2C_READ/I2C_WRITE NXP wrappers in board/nxp/common/i2c_common.{c,h} which is a parallel implementation of exactly what <pmbus.h> + lib/pmbus.c provides. The intent is to make vid.c an consumer of the new PMBus. Compatibility with the former support: - CLI unchanged: vdd_override and vdd_read keep their existing semantics, return codes, and diagnostic output. - I2C transport unchanged on the wire: the framework's pmbus_* helpers call dm_i2c_read/dm_i2c_write: the same DM I2C backing that vid.c's former I2C_READ/I2C_WRITE macros already routed through on DM_I2C. - Numeric decode is bit-equivalent: pmbus_reg2data_linear16() and pmbus_data2reg_linear16() implement the PMBus 1.3 Part II mantissa/exponent. Signed-off-by: Vincent Jardin <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-05-15board: nxp: common: support CONFIG_FSL_USE_PCA9547_MUXVincent Jardin
Use select_i2c_ch_pca9547() only when CONFIG_FSL_USE_PCA9547_MUX is set, but several call in board/nxp/lx2160a/lx2160a.c invoke it unconditionally, or using unrelated Kconfigs (CONFIG_EMC2305, CONFIG_VID). Compilation with LX2160A target that omits the mux therefore fails with error: implicit declaration of function 'select_i2c_ch_pca9547' Add a static inline stub with -EOPNOTSUPP for the !CONFIG_FSL_USE_PCA9547_MUX case so all cases compile cleanly. Adapted from the convention used by include/scmi_nxp_protocols.h for SCMI subprotocol stubs. There is no functional change for NXP boards: all eight upstream LX2160A defconfigs (lx2160ardb / lx2160aqds / lx2162aqds and their secure / stmm / verified_boot variants) already set CONFIG_FSL_USE_PCA9547_MUX=y, so the real declaration wins. The purpose is to support new boards that do not use the PCA9547. Signed-off-by: Vincent Jardin <[email protected]> Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-04-21board: nxp: common: fix PFUZE100 DM build and unify DM/non-DM handlingPeng Fan
Switch PFUZE100 object linkage to be phase-aware and fix build issues when using driver model PMIC support. The PFUZE100 helper code is reworked to: - Build pfuze.o only when CONFIG_(SPL_)DM_PMIC_PFUZE100 is enabled - Use CONFIG_IS_ENABLED(DM_PMIC_PFUZE100) for proper DM/non-DM selection - Align function signatures and implementations with DM PMIC APIs - Use udevice-based pmic access for DM and legacy pmic for non-DM - Avoid mixing struct pmic and struct udevice in the same build configuration No functional change intended beyond fixing DM support and build consistency. Signed-off-by: Peng Fan <[email protected]>
2026-02-17nxp: emc2305: Cleanup headersPeng Fan
There is no user of gd, drop the usage of DECLARE_GLOBAL_DATA_PTR and the including of "asm/global_data.h". Include config.h to avoid build error. Signed-off-by: Peng Fan <[email protected]>
2026-01-28board: nxp: Rename board directory from board/freescale to board/nxpAlice Guo
This patch renames the board directory from board/freescale to board/nxp because NXP now provides Board Support Packages (BSPs) and tools for the former Freescale i.MX and other i.MX products. All relevant references have been updated accordingly. This change does not affect functionality. Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>