2017-11-16 07:57:55 +01:00
|
|
|
/dts-v1/;
|
|
|
|
/plugin/;
|
|
|
|
|
|
|
|
/ {
|
|
|
|
compatible = "brcm,bcm2708";
|
|
|
|
|
|
|
|
fragment@0 {
|
|
|
|
target = <&i2s>;
|
|
|
|
__overlay__ {
|
|
|
|
#sound-dai-cells = <0>;
|
|
|
|
status = "okay";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
fragment@1 {
|
|
|
|
target-path = "/clocks";
|
|
|
|
__overlay__ {
|
2018-01-26 04:08:09 +01:00
|
|
|
ac10x_mclk: codec-mclk {
|
2017-11-16 07:57:55 +01:00
|
|
|
compatible = "fixed-clock";
|
|
|
|
#clock-cells = <0>;
|
|
|
|
clock-frequency = <24000000>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
fragment@2 {
|
2018-01-26 04:08:09 +01:00
|
|
|
target = <&gpio>;
|
|
|
|
__overlay__ {
|
|
|
|
spk_amp_switch_pins: speaker_amp_switch_pins {
|
|
|
|
brcm,pins = <17>;
|
|
|
|
brcm,function = <1>; /* out */
|
|
|
|
};
|
|
|
|
gpclk0_pins: gpclk0_pins {
|
|
|
|
brcm,pins = <4>;
|
|
|
|
brcm,function = <4>; /* alt func 0 */
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
fragment@3 {
|
2017-11-16 07:57:55 +01:00
|
|
|
target = <&i2c1>;
|
|
|
|
__overlay__ {
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
status = "okay";
|
|
|
|
|
2018-01-19 12:25:15 +01:00
|
|
|
ac101: ac101@1a{
|
|
|
|
compatible = "x-power,ac101";
|
2018-01-26 04:08:09 +01:00
|
|
|
pinctrl-names = "default";
|
|
|
|
pinctrl-0 = <&spk_amp_switch_pins>,<&gpclk0_pins>;
|
|
|
|
spk-amp-switch-gpios = <&gpio 17 0>;
|
2018-01-19 12:25:15 +01:00
|
|
|
reg = <0x1a>;
|
|
|
|
#sound-dai-cells = <0>;
|
|
|
|
};
|
2018-01-30 12:19:13 +01:00
|
|
|
|
2017-11-16 07:57:55 +01:00
|
|
|
ac108_a: ac108@35{
|
|
|
|
compatible = "x-power,ac108_0";
|
|
|
|
reg = <0x35>;
|
|
|
|
#sound-dai-cells = <0>;
|
|
|
|
data-protocol = <0>;
|
2018-02-05 03:45:55 +01:00
|
|
|
tdm-chips-count = <2>;
|
2017-11-16 07:57:55 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
ac108_b: ac108@3b{
|
|
|
|
compatible = "x-power,ac108_1";
|
|
|
|
reg = <0x3b>;
|
|
|
|
#sound-dai-cells = <0>;
|
|
|
|
data-protocol = <0>;
|
2018-02-05 03:45:55 +01:00
|
|
|
tdm-chips-count = <2>;
|
2017-11-16 07:57:55 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2018-01-26 04:08:09 +01:00
|
|
|
fragment@4 {
|
2017-11-16 07:57:55 +01:00
|
|
|
target = <&sound>;
|
|
|
|
|
|
|
|
sound_overlay: __overlay__ {
|
|
|
|
compatible = "simple-audio-card";
|
|
|
|
simple-audio-card,name = "seeed-8mic-voicecard";
|
2017-11-23 11:12:09 +01:00
|
|
|
simple-audio-card,channels-playback-override = <8>;
|
2017-11-22 08:33:59 +01:00
|
|
|
simple-audio-card,channels-capture-override = <8>;
|
2018-01-30 12:19:13 +01:00
|
|
|
status = "okay";
|
|
|
|
|
|
|
|
simple-audio-card,dai-link@0 {
|
|
|
|
format = "dsp_a";
|
2018-02-05 03:45:55 +01:00
|
|
|
/* below is dummy master, real clock master is ac101 */
|
2018-01-30 12:19:13 +01:00
|
|
|
bitclock-master = <&codec0_dai>;
|
|
|
|
frame-master = <&codec0_dai>;
|
2018-02-07 07:02:45 +01:00
|
|
|
/* bitclock-inversion; */
|
|
|
|
/* frame-inversion; */
|
2017-11-16 07:57:55 +01:00
|
|
|
|
2018-01-30 12:19:13 +01:00
|
|
|
cpu {
|
|
|
|
sound-dai = <&i2s>;
|
|
|
|
dai-tdm-slot-num = <2>;
|
|
|
|
dai-tdm-slot-width = <32>;
|
|
|
|
dai-tdm-slot-tx-mask = <1 1 0 0>;
|
|
|
|
dai-tdm-slot-rx-mask = <1 1 0 0>;
|
|
|
|
};
|
|
|
|
|
|
|
|
codec0_dai: codec {
|
2018-02-05 03:45:55 +01:00
|
|
|
sound-dai = <&ac108_a>;
|
2018-01-30 12:19:13 +01:00
|
|
|
clocks = <&ac10x_mclk>;
|
|
|
|
system-clock-id = <1>;
|
|
|
|
};
|
2017-11-16 07:57:55 +01:00
|
|
|
};
|
2018-01-30 12:19:13 +01:00
|
|
|
|
|
|
|
simple-audio-card,dai-link@1 {
|
|
|
|
format = "dsp_a";
|
|
|
|
bitclock-master = <&codec1_dai>;
|
|
|
|
frame-master = <&codec1_dai>;
|
2018-02-07 07:02:45 +01:00
|
|
|
/* bitclock-inversion; */
|
|
|
|
/* frame-inversion; */
|
2018-01-30 12:19:13 +01:00
|
|
|
|
|
|
|
cpu {
|
|
|
|
sound-dai = <&i2s>;
|
|
|
|
dai-tdm-slot-num = <2>;
|
|
|
|
dai-tdm-slot-width = <32>;
|
|
|
|
dai-tdm-slot-tx-mask = <1 1 0 0>;
|
|
|
|
dai-tdm-slot-rx-mask = <1 1 0 0>;
|
|
|
|
};
|
|
|
|
|
|
|
|
codec1_dai: codec {
|
|
|
|
sound-dai = <&ac101>;
|
|
|
|
clocks = <&ac10x_mclk>;
|
|
|
|
system-clock-id = <1>;
|
|
|
|
};
|
2017-11-16 07:57:55 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
__overrides__ {
|
|
|
|
card-name = <&sound_overlay>,"seeed-voicecard,name";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|