SF30147应用注意事项
bootloder开电
正常代码是只在大核开电,小核开电是通过核间通讯来完成的。
但是bootloder为了方便,也为了减少代码量。是没有采取添加驱动的方式来开电的,
而是直接通过控制寄存器来实现开电的。
下图是对应boot开电时直接控制寄存器打开外设供电的代码。
对于有外挂flash方案的需要注意是否在boot配置了SF30147开电。

下图是30147对应电源寄存器地址信息

用户固件配置SF30147驱动开电
menuconifg打开PMIC_CTRL_ENABLE,SF30147 的驱动就会加入编译。
驱动加载到对应核,那个核就可以直接使用pmic_device_control直接控制30147。
另外一个核通过核间通信来调用驱动控制。
配置注意事项:
驱动挂在hcpu注意事项
这里需要注意,大核会先关机(如果这时大核控制关掉了flash,小核有用到会导致系统异常)。
这种情况可以采用boot开电时直接写寄存器的方式直接小核控制来关闭flash电源。


大小核都配置加载驱动
都配置可能会出现两个核同时去控制的场景,需要客户自己评估
pmic_device_control //驱动接口,pmic_controller.c
pmic_service_control //核间通讯接口,pmic_service.c



控制SF30147的不同LDO输出的不同电压


代码里目前还没有提供接口,需要客户手动改下驱动代码。
每一路的LDO电压输出寄存器都是由4个位控制。0~F,步长 50mv。F对应3.4V
例:0xF对应3.4V,0xD对应3.3V,0x1对应2.7V,0x0对应2.65V