^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) X-Powers AC100 Codec/RTC IC Device Tree bindings
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) AC100 is a audio codec and RTC subsystem combo IC. The 2 parts are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) separated, including power supplies and interrupt lines, but share
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) a common register address space and host interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) - compatible: "x-powers,ac100"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) - reg: The I2C slave address or RSB hardware address for the chip
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - sub-nodes:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) - codec
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) - compatible: "x-powers,ac100-codec"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) - interrupts: SoC NMI / GPIO interrupt connected to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) IRQ_AUDIO pin
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) - #clock-cells: Shall be 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) - clock-output-names: "4M_adda"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) - see clock/clock-bindings.txt for common clock bindings
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) - rtc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) - compatible: "x-powers,ac100-rtc"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) - clocks: A phandle to the codec's "4M_adda" clock
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) - #clock-cells: Shall be 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) - clock-output-names: "cko1_rtc", "cko2_rtc", "cko3_rtc"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) - see clock/clock-bindings.txt for common clock bindings
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) ac100: codec@e89 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) compatible = "x-powers,ac100";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) reg = <0xe89>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) ac100_codec: codec {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) compatible = "x-powers,ac100-codec";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) interrupt-parent = <&r_pio>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) #clock-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) clock-output-names = "4M_adda";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) ac100_rtc: rtc {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) compatible = "x-powers,ac100-rtc";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) interrupt-parent = <&nmi_intc>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) clocks = <&ac100_codec>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) #clock-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) };