Akash Asthana has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/25372 )
Change subject: sdm845: Add QUPv3 FW load & config ......................................................................
Patch Set 73:
(1 comment)
https://review.coreboot.org/#/c/25372/6/src/mainboard/google/cheza/qupv3_con... File src/mainboard/google/cheza/qupv3_config.c:
https://review.coreboot.org/#/c/25372/6/src/mainboard/google/cheza/qupv3_con... PS6, Line 18: struct se_cfg se_mappings[QUPV3_SE_MAX] =
I don't understand this explanation, can you please clarify? What registers are you talking about? W […]
In SDM845, we have two QUPV3 wrappers HW, each wrapper QUPV3 wrapper HW has 8 Serial engines. What you're referring here as QUP is basically a serial engine and they all are independent. But in order to load FW into a particular SE, we have to touch few SE registers and few common QUPV3 wrappers register as well ( https://review.coreboot.org/c/coreboot/+/25372/6/src/soc/qualcomm/sdm845/qup... )
The problem here is with touching common QUPV3 wrappers register (which is suggested to be touched once only during init) when already some use cases are running on any of its SEs. For example, say SPI use case is already running on SE1 of QUPV3_1 wrapper HW and we need to load I2C FW on SE2 of the same QUPV3_1 wrapper HW then accessing to those common QUPV3 register will impact our ongoing SPI use case.