Skip to content

Instantly share code, notes, and snippets.

@HiassofT
Created March 8, 2018 09:14
Show Gist options
  • Save HiassofT/3570c680d8fa3c048e10f04fd41eb10b to your computer and use it in GitHub Desktop.
Save HiassofT/3570c680d8fa3c048e10f04fd41eb10b to your computer and use it in GitHub Desktop.
audio graph card overlay for iqaudio dac on upstream kernel
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target = <&i2s>;
__overlay__ {
#sound-dai-cells = <0>;
status = "okay";
cpu_port: port {
cpu_endpoint: endpoint {
remote-endpoint = <&codec_endpoint>;
dai-format = "i2s";
};
};
};
};
fragment@1 {
target = <&i2c1>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
pcm5122: 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";
port {
codec_endpoint: endpoint {
remote-endpoint = <&cpu_endpoint>;
};
};
};
};
};
fragment@2 {
target = <&gpio>;
__overlay__ {
audio_amplifier_pins: audio_amplifier_pins {
brcm,pins = <4>;
brcm,function = <1>; // out
};
};
};
// don't claim gpio4 by default
fragment@3 {
target = <&alt0>;
__overlay__ {
brcm,pins = <5 7 8 9 10 11>;
};
};
fragment@4 {
target-path = "/";
__overlay__ {
vdd_3v3_reg: fixedregulator_3v3 {
compatible = "regulator-fixed";
regulator-name = "3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
sound {
compatible = "audio-graph-card";
label = "PCM5122 graph";
dais = <&cpu_port>;
pinctrl-names = "default";
pinctrl-0 = <&audio_amplifier_pins>;
pa-gpios = <&gpio 4 0>;
widgets = "Speaker", "Speaker Out Jack";
routing =
"Amplifier", "OUTL",
"Amplifier", "OUTR",
"Speaker Out Jack", "Amplifier";
};
};
};
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment