sound {
// compatible = "audio-graph-card", "simple-audio-card";
compatible = "audio-graph-card";
label = "AUDIOcard1";
routing =
"Playback" , "MCLK",
"Capture" , "MCLK";
dais = <&sai2a_port &sai2b_port>;
status = "okay";
};
sai2a:audio-controller@4400b004{
status = "okay";
/* USER CODE BEGIN sai2a */
dma-names = "tx";
// #clock-cells = <0>;
clocks = <&rcc SAI2_K>;
clock-names = "sai_ck";
frame-master;
bitclock-master;
sai2a_port: port {
sai2a_endpoint: endpoint {
remote-endpoint = <&tlv320_tx_endpoint>;
format = "i2s";
};
};
/* USER CODE END sai2a */
};
sai2b:audio-controller@4400b024{
status = "okay";
/* USER CODE BEGIN sai2b */
dma-names = "rx";
st,sync = <&sai2a 2>; /* Set SAI2B as slave of SAI2A. */
clocks = <&rcc SAI2_K>, <&sai2a>;
clock-names = "sai_ck", "NCLK";
sai2b_port: port {
sai2b_endpoint: endpoint {
remote-endpoint = <&tlv320_rx_endpoint>;
format = "i2s";
};
};
codec: tlv320aic32x4@18 {
compatible = "ti,tlv320aic32x4";
reg = <0x18>;
clocks = <&rcc CK_MCO1>;
clock-names = "MCLK";
ldoin-supply = <&v3v3>;
reset-gpios = <&gpioi 0 GPIO_ACTIVE_LOW>;
#sound-dai-cells = <0>;
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
tlv320_tx_endpoint: endpoint@0 {
reg = <0>;
remote-endpoint = <&sai2a_endpoint>;
};
tlv320_rx_endpoint: endpoint@1 {
reg = <1>;
remote-endpoint = <&sai2b_endpoint>;
};
};