Hi Biswapriyo, On Fri, Oct 30, 2026 at 4:26 PM Biswapriyo Nath <[email protected]> wrote: > > On Fri, 30 Oct 2026 13:34:05 +0100 Igor Opaniuk > <[email protected]> wrote: > > > The QCM2290 function table only lists "qup4" (the debug UART) and > > "gpio". The default pin state of every other QUP serial engine refers > > to its own "qupN" function, so the function name lookup fails with > > -ENOENT when such a device probes. On the Arduino UNO Q > > (qrb2210-arduino-imola) this prints a warning for each enabled engine > > on every boot: > > > > i2c_geni i2c@4a80000: pinctrl_select_state_full: pinctrl_config_one: > > err=-2 > > i2c_geni i2c@4a84000: pinctrl_select_state_full: pinctrl_config_one: > > err=-2 > > serial_msm_geni serial@4a88000: pinctrl_select_state_full: > > pinctrl_config_one: err=-2 > > serial_msm_geni serial@4a8c000: pinctrl_select_state_full: > > pinctrl_config_one: err=-2 > > Hi, I can not reproduce that warning with the same device. I built > u-boot from latest master branch with max log level option and early > debug uart enabled. Does it need any extra hardware?
Thanks for testing. The warning depends on how the previous boot stage leaves the QUP serial engines. I boot the UNO Q with TF-A and OP-TEE in place of the Qualcomm TZ. The support for Agatti recently landed in TF-A [1] and OP-TEE in [2]. On that boot chain nothing in the secure world loads QUP firmware; it is loaded in the normal world, as on the other Qualcomm platforms supported by upstream TF-A/OP-TEE. U-Boot does it from the qupfw partition in qcom_geni_fw_initialise(). Linux does it through the "firmware-name" property of the GENI wrapper. U-Boot probes the engines from there only when they report an invalid protocol, i.e. no firmware is loaded. On my setup that is the case for i2c0, i2c1, uart2 and uart3, so each of them applies its default pin state at boot and prints the warning. With the stock TZ, the engines already have firmware, nothing probes them at boot and the default pin state is never applied, so you see no warning. Probing one of them should show it on your setup as well, e.g. "i2c dev 0" (i2c@4a80000). I'll make this clearer in the commit message. [1] https://review.trustedfirmware.org/q/topic:%22agatti-uno-q-reworked%22 [2] https://github.com/OP-TEE/optee_os/pull/7921 > > Also, I am wondering if this driver can be written with pingroup > support like sc7280 instead of choosing individual pin functions. Agreed on the pingroup table, will do in v2. > > Thanks <3 >
