Brooklyn/arch/arm/boot/dts/overlays/udrc-overlay.dts

129 lines
3.3 KiB
Plaintext

#include <dt-bindings/clock/bcm2835.h>
/*
* Device tree overlay for the Universal Digital Radio Controller
*/
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2835";
fragment@0 {
target = <&i2s>;
__overlay__ {
clocks = <&clocks BCM2835_CLOCK_PCM>;
clock-names = "pcm";
status = "okay";
};
};
fragment@1 {
target-path = "/";
__overlay__ {
regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
udrc0_ldoin: udrc0_ldoin {
compatible = "regulator-fixed";
regulator-name = "ldoin";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
};
};
};
fragment@2 {
target = <&i2c1>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
clocks = <&clocks BCM2835_CLOCK_VPU>;
clock-frequency = <400000>;
tlv320aic32x4: tlv320aic32x4@18 {
compatible = "ti,tlv320aic32x4";
#sound-dai-cells = <0>;
reg = <0x18>;
status = "okay";
clocks = <&clocks BCM2835_CLOCK_GP0>;
clock-names = "mclk";
assigned-clocks = <&clocks BCM2835_CLOCK_GP0>;
assigned-clock-rates = <25000000>;
pinctrl-names = "default";
pinctrl-0 = <&gpclk0_pin &aic3204_reset>;
reset-gpios = <&gpio 13 0>;
iov-supply = <&udrc0_ldoin>;
ldoin-supply = <&udrc0_ldoin>;
};
};
};
fragment@3 {
target = <&sound>;
snd: __overlay__ {
compatible = "simple-audio-card";
i2s-controller = <&i2s>;
status = "okay";
simple-audio-card,name = "udrc";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink0_master>;
simple-audio-card,frame-master = <&dailink0_master>;
simple-audio-card,widgets =
"Line", "Line In",
"Line", "Line Out";
simple-audio-card,routing =
"IN1_R", "Line In",
"IN1_L", "Line In",
"CM_L", "Line In",
"CM_R", "Line In",
"Line Out", "LOR",
"Line Out", "LOL";
dailink0_master: simple-audio-card,cpu {
sound-dai = <&i2s>;
};
simple-audio-card,codec {
sound-dai = <&tlv320aic32x4>;
};
};
};
fragment@4 {
target = <&gpio>;
__overlay__ {
gpclk0_pin: gpclk0_pin {
brcm,pins = <4>;
brcm,function = <4>;
};
aic3204_reset: aic3204_reset {
brcm,pins = <13>;
brcm,function = <1>;
brcm,pull = <1>;
};
aic3204_gpio: aic3204_gpio {
brcm,pins = <26>;
};
};
};
__overrides__ {
alsaname = <&snd>, "simple-audio-card,name";
};
};