Enable proxyclient operations on A7-A11, T2 SoCs.#446
Enable proxyclient operations on A7-A11, T2 SoCs.#446svenpeter42 merged 5 commits intoAsahiLinux:mainfrom
Conversation
|
Of course, many scripts still don't work. This obviously includes hypervisor and |
a08e225 to
396aa23
Compare
396aa23 to
00ef8e0
Compare
|
Changes: Support A7-A11, T2 PMU instead of skipping the setup. |
00ef8e0 to
572da2b
Compare
572da2b to
38abe18
Compare
proxyclient/m1n1/proxyutils.py
Outdated
| do_baud = False | ||
|
|
||
| if do_baud: | ||
| # adjust cpufreq for 1500000 as neccessary |
There was a problem hiding this comment.
I'd just pull all the logic for checking the chipid into python here and just call proxy.cpufreq_init if required then
There was a problem hiding this comment.
detecting the chip id in python means pulling the whole adt over 115200 baud which is really slow. It varies depending on firmware but it could take more than 30 seconds.
There was a problem hiding this comment.
you could add a proxy command to request the chipid from m1n1. That's generic and might be useful for other use cases.
Is there a reason why it can't be done on C side in the P_SET_BAUD handler?
There was a problem hiding this comment.
I think cpufreq adjustment can be in the P_SET_BAUD handler, but then the cases needed to be tested for explodes for all the different baud rates and chips (and that way set baud actually does more than set baud), so I suppose requesting chipid is the way to go.
0bc7c9a to
cfae058
Compare
The PMU in A7-A10X is over I2C, and the PMU in T2 and A11 is over "spmi,gen0" SPMI, but still appears the similar enough as M1 PMU to be dealt with in a simlar way. Signed-off-by: Nick Chan <towinchenmi@gmail.com>
Add support for /arm-io/pmgr with 8-bit IDs, as seen on A7-A11, T2 SoCs. Signed-off-by: Nick Chan <towinchenmi@gmail.com>
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
cfae058 to
93abde4
Compare
|
refactored to add P_GET_CHIPID to the proxy and move bulk of the logic to the python side. Drive by fix for P_EL3_CALL because it is right next to the code being added. |
|
on t6000 the upmc is handled correctly (at least as correctly as before) in the hv as well really it should be passed to the guest but the old behavior does not do that so whatever |
On A7-A11 chips, the default frequency is too slow for baudrate 1500000, and fetching the whole ADT over 115200 baudrate is too slow. Add a proxy command to get the chip so cpu frequency adjustments can be made accordingly. Signed-off-by: Nick Chan <towinchenmi@gmail.com>
…T proxy The default CPU frequency on A7-A11 is too slow for baudrate 1500000, so increase the CPU frequency before switching to baudrate 1500000. Signed-off-by: Nick Chan <towinchenmi@gmail.com>
93abde4 to
c50ddf3
Compare
This PR enables the proxyclient to be used through the physical UART on A7-A11, T2 SoCs.
On A7-A11, the default frequency is too slow for baudrate 1500000, so change the CPU frequency before going into that baud rate. (T2 default frequency is fast enough)
Support the PMU in A7-A10X, which is over I2C, and the PMU in A11, T2, which is over "spmi,gen0" SPMI. In either case, the panic counter does not seem to exist.
Finally, add support for /arm-io/pmgr with 8-bit IDs. Do note that any hypervisor modifications are not tested.