Kernel-4.18.0-80.el8_ac100

X-Powers AC100 Codec/RTC IC Device Tree bindings

AC100 is a audio codec and RTC subsystem combo IC. The 2 parts are
separated, including power supplies and interrupt lines, but share
a common register address space and host interface.

Required properties:

  • compatible: “x-powers,ac100”

  • reg: The I2C slave address or RSB hardware address for the chip

  • sub-nodes:

    • codec

      • compatible: “x-powers,ac100-codec”

      • interrupt-parent: The parent interrupt controller

      • interrupts: SoC NMI / GPIO interrupt connected to the

                  IRQ_AUDIO pin
        
      • #clock-cells: Shall be 0

      • clock-output-names: “4M_adda”

      • see clock/clock-bindings.txt for common clock bindings

    • rtc

      • compatible: “x-powers,ac100-rtc”

      • interrupt-parent: The parent interrupt controller

      • interrupts: SoC NMI / GPIO interrupt connected to the

                  IRQ_RTC pin
        
      • clocks: A phandle to the codec’s “4M_adda” clock

      • #clock-cells: Shall be 1

      • clock-output-names: “cko1_rtc”, “cko2_rtc”, “cko3_rtc”

      • see clock/clock-bindings.txt for common clock bindings

Example:

ac100: codec@e89 {
compatible = “x-powers,ac100”;
reg = <0xe89>;

ac100_codec: codec {
    compatible = "x-powers,ac100-codec";
    interrupt-parent = <&r_pio>;
    interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
    #clock-cells = <0>;
    clock-output-names = "4M_adda";
};

ac100_rtc: rtc {
    compatible = "x-powers,ac100-rtc";
    interrupt-parent = <&nmi_intc>;
    interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
    clocks = <&ac100_codec>;
    #clock-cells = <1>;
    clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
};

};