My upstream patches are at
https://lore.kernel.org/linux-arm-msm/cover.1589824955.git.noodles@earth.li/T/#t
(pretty much the same as yours but varied for mainline)
and I'm using
https://the.earth.li/~noodles/rb3011-mainline.diff
on top of that to get something that boots to the initrd and has both
switches working. Using @adron's qcom-ipq-aux-loader generally, but also
his u-boot sometimes because it makes it easier to poke things (but then
does some of the hardware init so I have to go back to the loader to
make sure that still works).
Have you had any success with the USB? I haven't managed to convince it
to be happy.