Refactor CSR1kv driver, split the ASR-specific handling into a subclass