# 1 "/home/rdkartono/raspberry-vanilla/kernelsu-5.15-07062024/common/arch/arm64/boot/dts/overlays/ghost-amp-overlay.dts" # 1 "" 1 # 1 "/home/rdkartono/raspberry-vanilla/kernelsu-5.15-07062024/common/arch/arm64/boot/dts/overlays/ghost-amp-overlay.dts" 2 /dts-v1/; /plugin/; # 1 "/home/rdkartono/raspberry-vanilla/kernelsu-5.15-07062024/common/scripts/dtc/include-prefixes/dt-bindings/gpio/gpio-fsm.h" 1 # 6 "/home/rdkartono/raspberry-vanilla/kernelsu-5.15-07062024/common/arch/arm64/boot/dts/overlays/ghost-amp-overlay.dts" 2 / { compatible = "brcm,bcm2835"; fragment@0 { target = <&i2s>; __overlay__ { status = "okay"; }; }; fragment@1 { target = <&i2c1>; __overlay__ { #address-cells = <1>; #size-cells = <0>; status = "okay"; pcm5122@4c { #sound-dai-cells = <0>; compatible = "ti,pcm5122"; reg = <0x4c>; AVDD-supply = <&vdd_3v3_reg>; DVDD-supply = <&vdd_3v3_reg>; CPVDD-supply = <&vdd_3v3_reg>; status = "okay"; }; }; }; fragment@2 { target = <&sound>; iqaudio_dac: __overlay__ { compatible = "iqaudio,iqaudio-dac"; i2s-controller = <&i2s>; mute-gpios = <& 0 0>; iqaudio-dac,auto-mute-amp; status = "okay"; }; }; fragment@3 { target-path = "/"; __overlay__ { amp: ghost-amp { compatible = "rpi,gpio-fsm"; pinctrl-names = "default"; pinctrl-0 = <&ghost_amp_pins>; debug = <0>; gpio-controller; #gpio-cells = <2>; num-swgpios = <1>; gpio-line-names = "enable"; input-gpios = <&gpio 5 1>; output-gpios = <&gpio 22 0>, <&gpio 23 0>, <&gpio 24 0>; shutdown-timeout-ms = <1000>; amp_off { start_state; shutdown_state; set = <((((2)) << 16) | ((1) & 0xffff)) 0>, <((((1)) << 16) | ((1) & 0xffff)) 0>, <((((0)) << 16) | ((1) & 0xffff)) 0>; amp_on_1 = <((((0)) << 16) | ((2) & 0xffff)) 1>; fault = <((((0)) << 16) | ((0) & 0xffff)) 1>; }; amp_on_1 { set = <((((0)) << 16) | ((1) & 0xffff)) 1>; amp_on_2 = <3 1000>; amp_off = <4 0>; fault = <((((0)) << 16) | ((0) & 0xffff)) 1>; }; amp_on_2 { set = <((((1)) << 16) | ((1) & 0xffff)) 1>; amp_on_wait = <((((0)) << 16) | ((2) & 0xffff)) 0>; amp_on = <3 1>; fault = <((((0)) << 16) | ((0) & 0xffff)) 1>; }; amp_on { set = <((((2)) << 16) | ((1) & 0xffff)) 1>; amp_on_wait = <((((0)) << 16) | ((2) & 0xffff)) 0>; fault = <((((0)) << 16) | ((0) & 0xffff)) 1>; }; amp_on_wait { set = <((((2)) << 16) | ((1) & 0xffff)) 0>; amp_off_1 = <3 (30*60*1000)>, <4 0>; amp_on = <((((0)) << 16) | ((2) & 0xffff)) 1>; fault = <((((0)) << 16) | ((0) & 0xffff)) 1>; }; amp_off_1 { set = <((((1)) << 16) | ((1) & 0xffff)) 0>; amp_on = <((((0)) << 16) | ((2) & 0xffff)) 1>; amp_off = <3 100>; fault = <((((0)) << 16) | ((0) & 0xffff)) 1>; }; fault { set = <((((2)) << 16) | ((1) & 0xffff)) 0>, <((((1)) << 16) | ((1) & 0xffff)) 0>, <((((0)) << 16) | ((1) & 0xffff)) 0>; amp_off = <((((0)) << 16) | ((0) & 0xffff)) 0>; shutdown_state; }; }; }; }; fragment@4 { target = <&gpio>; __overlay__ { ghost_amp_pins: ghost_amp_pins { brcm,pins = <5 22 23 24>; brcm,function = <0 1 1 1>; brcm,pull = <2 0 0 0>; }; }; }; __overrides__ { fsm_debug = <&>,"debug:0"; }; };