I am starting to design a driver for PMIC device in Zephyr. I am trying to figure out how to place this driver implementation. PMIC devices usually has multiple functionalities on single chip like Voltage Regulators, Battery Charger, Fuel Gauge, Display, Haptic, LED driver etc.
My doubts are as following :
1. What will be the definition of a Subsystem in Zephyr (I am not able to find under documentation)? From what i understood, if a driver has multiple functionalities then instead of crowding the general include folder this get a separate directory structure under "subsys".
2. Is there any API definitions planned for PMIC devices? or these PMIC devices can already be categorized under existing Driver structure. Since some of the functionalities like Fuel Gauge, Charger can already be implemented under "sensor.h" and LED under "led.h". But if i am implementing a PMIC driver i am not sure whether to handle them all separately under PMIC structure or spread across the existing APIs.?
It would be helpful if you can point me to similar multi functional drivers currently in Zephyr.
Thank you for the support.
Dhananjay G J