Ok @urbanze, thanks for highlighting.
You got exactly what I would like to do..let the ULP to read ADC and talking to an I2C port expander to read some inputs and set some outputs without need of main processor.
Just be careful with wake up timer and halt, maybe you want it to run "infinitely" like in a loop and without the care about the above items, it can act in a "weird" way.
In theory I do not want to go in deep sleep and wake up continuosly, maybe only when external power supply is lost (I have battery backup). Do you know some docs or resource (examples, forum threads) I can check to avoid the "weird" behaviour?
Thanks