Portenta Micropython Documentation

I'm looking for Portenta specific documentation for Micropython. For example, I read the dual-core blink example and it mentions there's a special BootM4() function from C++ to boot the second core. Also thinking about how the 2 cores can communicate, the front pages says RPC but with no further detail. Is there a source repository or any library documentation beyond the examples?

I've found the source code that defines things like the pin details.