1. remove unnecessary variable in hw descriptor struct
2. add peripheral clock gating for spi and i2c