1Audio Graph Card: 2 3Audio Graph Card specifies audio DAI connections of SoC <-> codec. 4It is based on common bindings for device graphs. 5see ${LINUX}/Documentation/devicetree/bindings/graph.txt 6 7Basically, Audio Graph Card property is same as Simple Card. 8see ${LINUX}/Documentation/devicetree/bindings/sound/simple-card.txt 9 10Below are same as Simple-Card. 11 12- label 13- widgets 14- routing 15- dai-format 16- frame-master 17- bitclock-master 18- bitclock-inversion 19- frame-inversion 20- mclk-fs 21- hp-det-gpio 22- mic-det-gpio 23- dai-tdm-slot-num 24- dai-tdm-slot-width 25- clocks / system-clock-frequency 26 27Required properties: 28 29- compatible : "audio-graph-card"; 30- dais : list of CPU DAI port{s} 31 32Optional properties: 33- pa-gpios: GPIO used to control external amplifier. 34 35Example: Single DAI case 36 37 sound_card { 38 compatible = "audio-graph-card"; 39 40 dais = <&cpu_port>; 41 }; 42 43 dai-controller { 44 ... 45 cpu_port: port { 46 cpu_endpoint: endpoint { 47 remote-endpoint = <&codec_endpoint>; 48 49 dai-format = "left_j"; 50 ... 51 }; 52 }; 53 }; 54 55 audio-codec { 56 ... 57 port { 58 codec_endpoint: endpoint { 59 remote-endpoint = <&cpu_endpoint>; 60 }; 61 }; 62 }; 63 64Example: Multi DAI case 65 66 sound-card { 67 compatible = "audio-graph-card"; 68 69 label = "sound-card"; 70 71 dais = <&cpu_port0 72 &cpu_port1 73 &cpu_port2>; 74 }; 75 76 audio-codec@0 { 77 ... 78 port { 79 codec0_endpoint: endpoint { 80 remote-endpoint = <&cpu_endpoint0>; 81 }; 82 }; 83 }; 84 85 audio-codec@1 { 86 ... 87 port { 88 codec1_endpoint: endpoint { 89 remote-endpoint = <&cpu_endpoint1>; 90 }; 91 }; 92 }; 93 94 audio-codec@2 { 95 ... 96 port { 97 codec2_endpoint: endpoint { 98 remote-endpoint = <&cpu_endpoint2>; 99 }; 100 }; 101 }; 102 103 dai-controller { 104 ... 105 ports { 106 cpu_port0: port@0 { 107 cpu_endpoint0: endpoint { 108 remote-endpoint = <&codec0_endpoint>; 109 110 dai-format = "left_j"; 111 ... 112 }; 113 }; 114 cpu_port1: port@1 { 115 cpu_endpoint1: endpoint { 116 remote-endpoint = <&codec1_endpoint>; 117 118 dai-format = "i2s"; 119 ... 120 }; 121 }; 122 cpu_port2: port@2 { 123 cpu_endpoint2: endpoint { 124 remote-endpoint = <&codec2_endpoint>; 125 126 dai-format = "i2s"; 127 ... 128 }; 129 }; 130 }; 131 }; 132 133