xref: /freebsd-src/sys/contrib/device-tree/Bindings/sound/atmel-classd.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot* Atmel ClassD driver under ALSA SoC architecture
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired properties:
4*c66ec88fSEmmanuel Vadot- compatible
5*c66ec88fSEmmanuel Vadot	Should be "atmel,sama5d2-classd".
6*c66ec88fSEmmanuel Vadot- reg
7*c66ec88fSEmmanuel Vadot	Should contain ClassD registers location and length.
8*c66ec88fSEmmanuel Vadot- interrupts
9*c66ec88fSEmmanuel Vadot	Should contain the IRQ line for the ClassD.
10*c66ec88fSEmmanuel Vadot- dmas
11*c66ec88fSEmmanuel Vadot	One DMA specifiers as described in atmel-dma.txt and dma.txt files.
12*c66ec88fSEmmanuel Vadot- dma-names
13*c66ec88fSEmmanuel Vadot	Must be "tx".
14*c66ec88fSEmmanuel Vadot- clock-names
15*c66ec88fSEmmanuel Vadot	Tuple listing input clock names.
16*c66ec88fSEmmanuel Vadot	Required elements: "pclk" and "gclk".
17*c66ec88fSEmmanuel Vadot- clocks
18*c66ec88fSEmmanuel Vadot	Please refer to clock-bindings.txt.
19*c66ec88fSEmmanuel Vadot- assigned-clocks
20*c66ec88fSEmmanuel Vadot	Should be <&classd_gclk>.
21*c66ec88fSEmmanuel Vadot
22*c66ec88fSEmmanuel VadotOptional properties:
23*c66ec88fSEmmanuel Vadot- pinctrl-names, pinctrl-0
24*c66ec88fSEmmanuel Vadot	Please refer to pinctrl-bindings.txt.
25*c66ec88fSEmmanuel Vadot- atmel,model
26*c66ec88fSEmmanuel Vadot	The user-visible name of this sound complex.
27*c66ec88fSEmmanuel Vadot	The default value is "CLASSD".
28*c66ec88fSEmmanuel Vadot- atmel,pwm-type
29*c66ec88fSEmmanuel Vadot	PWM modulation type, "single" or "diff".
30*c66ec88fSEmmanuel Vadot	The default value is "single".
31*c66ec88fSEmmanuel Vadot- atmel,non-overlap-time
32*c66ec88fSEmmanuel Vadot	Set non-overlapping time, the unit is nanosecond(ns).
33*c66ec88fSEmmanuel Vadot	There are four values,
34*c66ec88fSEmmanuel Vadot	<5>, <10>, <15>, <20>, the default value is <10>.
35*c66ec88fSEmmanuel Vadot	Non-overlapping will be disabled if not specified.
36*c66ec88fSEmmanuel Vadot
37*c66ec88fSEmmanuel VadotExample:
38*c66ec88fSEmmanuel Vadotclassd: classd@fc048000 {
39*c66ec88fSEmmanuel Vadot		compatible = "atmel,sama5d2-classd";
40*c66ec88fSEmmanuel Vadot		reg = <0xfc048000 0x100>;
41*c66ec88fSEmmanuel Vadot		interrupts = <59 IRQ_TYPE_LEVEL_HIGH 7>;
42*c66ec88fSEmmanuel Vadot		dmas = <&dma0
43*c66ec88fSEmmanuel Vadot			(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
44*c66ec88fSEmmanuel Vadot			| AT91_XDMAC_DT_PERID(47))>;
45*c66ec88fSEmmanuel Vadot		dma-names = "tx";
46*c66ec88fSEmmanuel Vadot		clocks = <&classd_clk>, <&classd_gclk>;
47*c66ec88fSEmmanuel Vadot		clock-names = "pclk", "gclk";
48*c66ec88fSEmmanuel Vadot		assigned-clocks = <&classd_gclk>;
49*c66ec88fSEmmanuel Vadot
50*c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
51*c66ec88fSEmmanuel Vadot		pinctrl-0 = <&pinctrl_classd_default>;
52*c66ec88fSEmmanuel Vadot		atmel,model = "classd @ SAMA5D2-Xplained";
53*c66ec88fSEmmanuel Vadot		atmel,pwm-type = "diff";
54*c66ec88fSEmmanuel Vadot		atmel,non-overlap-time = <10>;
55*c66ec88fSEmmanuel Vadot};
56