/dts-v1/; /plugin/; / { compatible = "brcm,bcm2712"; fragment@0 { target = <&i2s_clk_producer>; __overlay__ { status = "okay"; }; }; fragment@1 { target-path = "/"; __overlay__ { tlv320_dvdd: regulator-tlv320-dvdd { compatible = "regulator-fixed"; regulator-name = "tlv320-dvdd-1v8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; tlv320_iovdd: regulator-tlv320-iovdd { compatible = "regulator-fixed"; regulator-name = "tlv320-iovdd-3v3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; tlv320_avdd: regulator-tlv320-avdd { compatible = "regulator-fixed"; regulator-name = "tlv320-avdd-3v3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; tlv320_hpvdd: regulator-tlv320-hpvdd { compatible = "regulator-fixed"; regulator-name = "tlv320-hpvdd-3v3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; tlv320_spkvdd: regulator-tlv320-spkvdd { compatible = "regulator-fixed"; regulator-name = "tlv320-spkvdd-5v0"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-always-on; }; /* * The T5848 is a control-less I2S microphone from Linux's point * of view, so use the generic ICS43432 codec DAI as a simple * capture endpoint and keep the speaker path unchanged. */ mic_codec: t5848-codec { compatible = "invensense,ics43432"; #sound-dai-cells = <0>; }; }; }; fragment@2 { target = <&i2c_arm>; __overlay__ { #address-cells = <1>; #size-cells = <0>; status = "okay"; dac_codec: tlv320dac3100@18 { compatible = "ti,tlv320dac3100"; reg = <0x18>; #sound-dai-cells = <0>; AVDD-supply = <&tlv320_avdd>; IOVDD-supply = <&tlv320_iovdd>; DVDD-supply = <&tlv320_dvdd>; HPVDD-supply = <&tlv320_hpvdd>; SPLVDD-supply = <&tlv320_spkvdd>; SPRVDD-supply = <&tlv320_spkvdd>; reset-gpios = <&gpio 12 1>; /* GPIO_ACTIVE_LOW */ ti,pll-clkin-src = <1>; status = "okay"; }; }; }; fragment@3 { target-path = "/"; __overlay__ { sound { compatible = "simple-audio-card"; #address-cells = <1>; #size-cells = <0>; simple-audio-card,name = "toesaudio"; simple-audio-card,format = "i2s"; status = "okay"; simple-audio-card,dai-link@0 { reg = <0>; format = "i2s"; bitclock-master = <&cpu0>; frame-master = <&cpu0>; cpu0: cpu { sound-dai = <&i2s_clk_producer>; }; codec0: codec { sound-dai = <&dac_codec>; system-clock-frequency = <1536000>; }; }; simple-audio-card,dai-link@1 { reg = <1>; format = "i2s"; bitclock-master = <&cpu1>; frame-master = <&cpu1>; cpu1: cpu { sound-dai = <&i2s_clk_producer>; }; codec1: codec { sound-dai = <&mic_codec>; }; }; }; }; }; };