Message ID | 1404458796-6818-1-git-send-email-xjq@rock-chips.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Jul 04, 2014 at 08:26:36AM +0100, jianqun wrote: > From: Jianqun Xu <xjq@rock-chips.com> > > Add devicetree bindings for i2s controller found on > rk3066, rk3188 and rk3288 processors from rockchip. > > Signed-off-by: Jianqun Xu <xjq@rock-chips.com> > --- > Changes since v1: > - modify the description of clock-names property, adviced by Mark Rutland. > - modify the example to fit for rk3288. > > .../devicetree/bindings/sound/rockchip-i2s.txt | 36 ++++++++++++++++++++ > 1 file changed, 36 insertions(+) > create mode 100644 Documentation/devicetree/bindings/sound/rockchip-i2s.txt > > diff --git a/Documentation/devicetree/bindings/sound/rockchip-i2s.txt b/Documentation/devicetree/bindings/sound/rockchip-i2s.txt > new file mode 100644 > index 0000000..9fc577d > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/rockchip-i2s.txt > @@ -0,0 +1,36 @@ > +* Rockchip I2S controller > + > +The I2S bus (Inter-IC sound bus) is a serial link for digital > +audio data transfer between devices in the system. > + > +Required properties: > + > +- compatible: should be one of the followings > + - "rockchip,rk3066-i2s": for rk3066 > + - "rockchip,rk3188-i2s", "rockchip,rk3066-i2s": for rk3188 > + - "rockchip,rk3288-i2s", "rockchip,rk3066-i2s": for rk3288 > +- reg: physical base address of the controller and length of memory mapped > + region. > +- interrupts: The interrupt number to the cpu. The interrupt specifier format > + depends on the interrupt controller. Just state _which_ interrupt this is from the view of the device. > +- #address-cells: should be 1. > +- #size-cells: should be 0. > +- dmas: DMA specifiers for tx and rx dma. See the DMA client binding, > + Documentation/devicetree/bindings/dma/dma.txt > +- dma-names: DMA request names should include "tx" and "rx" if present. Just say: - dma-names: should include "tx" and "rx" If we need more DMAs or descriptions thereof, expand into a bulleted list. > +- clocks: a list of phandle + clock-specifer pairs, one for each entry in clock-names. > +- clock-names: Shall be "i2s_hclk" for I2S bus and "i2s_clk" for master clock This was easier to read as a bulleted list than inline: - clock-names: should include: - "i2s_hclk" for the I2S bus clock - "i2s_clk" for the master clock > + > +Example, for rk3288 I2S controller: > + > +i2s0: i2s@ff890000 { > + compatible = "rockchip,rk3066-i2s", "rockchip,rk3288-i2s"; This is the wrong way around per the documentation of the compatible string. Thanks, Mark. > + reg = <0xff890000 0x10000>; > + interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; > + #address-cells = <1>; > + #size-cells = <0>; > + dmas = <&pdma1 0>, <&pdma1 1>; > + dma-names = "rx", "tx"; > + clock-names = "i2s_hclk", "i2s_clk"; > + clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>; > +}; > -- > 1.7.9.5 > > > -- > To unsubscribe from this list: send the line "unsubscribe devicetree" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >
diff --git a/Documentation/devicetree/bindings/sound/rockchip-i2s.txt b/Documentation/devicetree/bindings/sound/rockchip-i2s.txt new file mode 100644 index 0000000..9fc577d --- /dev/null +++ b/Documentation/devicetree/bindings/sound/rockchip-i2s.txt @@ -0,0 +1,36 @@ +* Rockchip I2S controller + +The I2S bus (Inter-IC sound bus) is a serial link for digital +audio data transfer between devices in the system. + +Required properties: + +- compatible: should be one of the followings + - "rockchip,rk3066-i2s": for rk3066 + - "rockchip,rk3188-i2s", "rockchip,rk3066-i2s": for rk3188 + - "rockchip,rk3288-i2s", "rockchip,rk3066-i2s": for rk3288 +- reg: physical base address of the controller and length of memory mapped + region. +- interrupts: The interrupt number to the cpu. The interrupt specifier format + depends on the interrupt controller. +- #address-cells: should be 1. +- #size-cells: should be 0. +- dmas: DMA specifiers for tx and rx dma. See the DMA client binding, + Documentation/devicetree/bindings/dma/dma.txt +- dma-names: DMA request names should include "tx" and "rx" if present. +- clocks: a list of phandle + clock-specifer pairs, one for each entry in clock-names. +- clock-names: Shall be "i2s_hclk" for I2S bus and "i2s_clk" for master clock + +Example, for rk3288 I2S controller: + +i2s0: i2s@ff890000 { + compatible = "rockchip,rk3066-i2s", "rockchip,rk3288-i2s"; + reg = <0xff890000 0x10000>; + interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; + #address-cells = <1>; + #size-cells = <0>; + dmas = <&pdma1 0>, <&pdma1 1>; + dma-names = "rx", "tx"; + clock-names = "i2s_hclk", "i2s_clk"; + clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>; +};