aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/overlays/hifiberry-dacplusadc-overlay.dts
blob: 540563dec10f2e85f26838bdc05f5ec7f56bdb80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
// Definitions for HiFiBerry DAC+ADC
/dts-v1/;
/plugin/;

/ {
	compatible = "brcm,bcm2835";

	fragment@0 {
		target-path = "/";
		__overlay__ {
			dacpro_osc: dacpro_osc {
				compatible = "hifiberry,dacpro-clk";
				#clock-cells = <0>;
			};
		};
	};

	fragment@1 {
		target = <&i2s>;
		__overlay__ {
			status = "okay";
		};
	};

	fragment@2 {
		target = <&i2c1>;
		__overlay__ {
			#address-cells = <1>;
			#size-cells = <0>;
			status = "okay";

			pcm_codec: pcm5122@4d {
				#sound-dai-cells = <0>;
				compatible = "ti,pcm5122";
				reg = <0x4d>;
				clocks = <&dacpro_osc>;
				AVDD-supply = <&vdd_3v3_reg>;
				DVDD-supply = <&vdd_3v3_reg>;
				CPVDD-supply = <&vdd_3v3_reg>;
				status = "okay";
			};
		};
	};

	fragment@3 {
		target-path = "/";
		__overlay__ {
			dmic {
				#sound-dai-cells = <0>;
				compatible = "dmic-codec";
				num-channels = <2>;
				status = "okay";
			};
		};
	};

	fragment@4 {
		target = <&sound>;
		hifiberry_dacplusadc: __overlay__ {
			compatible = "hifiberry,hifiberry-dacplusadc";
			i2s-controller = <&i2s>;
			status = "okay";
		};
	};

	__overrides__ {
		24db_digital_gain =
			<&hifiberry_dacplusadc>,"hifiberry,24db_digital_gain?";
		slave = <&hifiberry_dacplusadc>,"hifiberry-dacplusadc,slave?";
		leds_off = <&hifiberry_dacplusadc>,"hifiberry-dacplusadc,leds_off?";
	};
};