summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeo Chang <YLCHANG2@nuvoton.com>2026-08-25 10:16:43 +0800
committerMark Brown <broonie@kernel.org>2026-08-30 23:50:28 +0100
commit384a0f7b5adb86260aaef91963fbc25ef2fa72af (patch)
treedc8fcd2195098999e95e6b0f375d2d0b2d4ec5e5
parentcee9395acd8043be0644b25c34bfa86623f2b935 (diff)
ASoC: dt-bindings: nuvoton,nau8360: Add NAU83G60
Add device tree bindings documentation for the Nuvoton NAU83G60 audio amplifier. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Neo Chang <YLCHANG2@nuvoton.com> Link: https://patch.msgid.link/20260825021644.1203076-2-YLCHANG2@nuvoton.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--Documentation/devicetree/bindings/sound/nuvoton,nau8360.yaml115
1 files changed, 115 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/sound/nuvoton,nau8360.yaml b/Documentation/devicetree/bindings/sound/nuvoton,nau8360.yaml
new file mode 100644
index 000000000000..3edab944a4e9
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/nuvoton,nau8360.yaml
@@ -0,0 +1,115 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/nuvoton,nau8360.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Nuvoton NAU83G60 Stereo Class-D Amplifier with DSP
+
+description:
+ Stereo Class-D Amplifier with DSP and I/V-sense.
+ This device supports I2C.
+
+maintainers:
+ - Neo Chang <YLCHANG2@nuvoton.com>
+
+properties:
+ compatible:
+ enum:
+ - nuvoton,nau8360
+
+ reg:
+ description: The I2C address is determined by the hardware pins.
+ enum: [0x1a, 0x1b, 0x4a, 0x4b]
+
+ "#sound-dai-cells":
+ const: 0
+
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ const: mclk
+
+ firmware-name:
+ description:
+ List of DSP core firmware filenames. Both Left and Right DSP firmware
+ must be provided and loaded. In PBTL mode, the Left DSP must use the
+ same binary file as the Right DSP.
+ items:
+ - description: Left DSP core firmware filename.
+ - description: Right DSP core firmware filename.
+
+ nuvoton,pbtl-enable:
+ type: boolean
+ description: NAU83G60 supports PBTL mode for mono output.
+
+ nuvoton,dac-cur-enable:
+ type: boolean
+ description:
+ Adjust DAC output current to match speaker impedance and prevent
+ hardware damage. +3.2dB when present, 0dB by default.
+
+ nuvoton,dsp-rx-slot-mapping:
+ description:
+ Configures the TDM slot routing for DSP RX functions.
+ Each integer assigns a specific DSP internal function to a TDM slot.
+ The indices of the array correspond to the following hardware functions
+ (0) DACL
+ (1) DACR
+ (2) ANCL
+ (3) ANCR
+ Assigned slots must be unique, except 255 which disables the function.
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ minItems: 4
+ maxItems: 4
+ items:
+ enum: [ 0, 1, 2, 3, 4, 5, 6, 7, 255 ]
+
+ nuvoton,dsp-tx-slot-mapping:
+ description:
+ Configures the TDM slot routing for DSP TX functions.
+ Each integer assigns a specific DSP internal function to a TDM slot.
+ The indices of the array correspond to the following hardware functions
+ (0) AECL (Acoustic echo cancellation left)
+ (1) AECR (Acoustic echo cancellation right)
+ (2) ISNSL (Current sense left)
+ (3) ISNSR (Current sense right)
+ (4) VSNSL (Voltage sense left)
+ (5) VSNSR (Voltage sense right)
+ (6) TJ (Junction temperature)
+ (7) VBAT (Battery voltage)
+ Assigned slots must be unique, except 255 which disables the function.
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ minItems: 8
+ maxItems: 8
+ items:
+ enum: [ 0, 1, 2, 3, 4, 5, 6, 7, 255 ]
+
+required:
+ - compatible
+ - reg
+ - firmware-name
+
+allOf:
+ - $ref: dai-common.yaml#
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ codec@1a {
+ compatible = "nuvoton,nau8360";
+ reg = <0x1a>;
+ #sound-dai-cells = <0>;
+ firmware-name = "NAU83G60.kcs.bin.l", "NAU83G60.kcs.bin.r";
+ nuvoton,dac-cur-enable;
+ nuvoton,pbtl-enable;
+ nuvoton,dsp-rx-slot-mapping = <0 1 2 3>;
+ nuvoton,dsp-tx-slot-mapping = <0 1 2 3 4 5 6 7>;
+ };
+ };