diff mbox

[2/2] Documentation: Describe the SiRF audio hub Device Tree bindings

Message ID 1394707111-9539-3-git-send-email-rongjun.ying@csr.com (mailing list archive)
State New, archived
Headers show

Commit Message

rjying March 13, 2014, 10:38 a.m. UTC
From: Rongjun Ying <rongjun.ying@csr.com>

Signed-off-by: Rongjun Ying <rongjun.ying@csr.com>
---
 .../devicetree/bindings/sound/sirf-audio-hub.txt   |   52 ++++++++++++++++++++
 1 files changed, 52 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/sound/sirf-audio-hub.txt

Comments

Mark Brown March 19, 2014, 6:55 p.m. UTC | #1
On Thu, Mar 13, 2014 at 06:38:31PM +0800, RongJun Ying wrote:

> +	audiocodec: audiocodec {
> +		compatible = "sirf,atlas6-audio-codec";
> +		interrupts = <35>;
> +		clocks = <&clks 27>;
> +	};
> +
> +	audioport: audioport {
> +		compatible = "sirf,audio-port";

> +	i2s: i2s {
> +		compatible = "sirf,prima2-i2s";

Given that this is all one single IP block which doesn't really exist
independently at the hardware level it shouldn't have separate nodes or
compatible strings for the functions at the DT level - that's all to do
with how Linux structures things, not about the hardware.  As ever DT
should represent the hardware, not Linux's abstractions for it.
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/sound/sirf-audio-hub.txt b/Documentation/devicetree/bindings/sound/sirf-audio-hub.txt
new file mode 100644
index 0000000..4f148a1
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/sirf-audio-hub.txt
@@ -0,0 +1,52 @@ 
+SiRF audio hub
+
+The audio hub is the consist of an internal audio codec, internal
+audio port and i2s controller. There are sharing same register
+address space.
+
+Required properties:
+- compatible: Must be "sirf,audio-hub"
+- reg : The register address of the device
+- #address-cells: Must be 1
+- #size-cells: Must be 1
+
+Nodes:
+Internal audio codec:
+- compatible : "sirf,atlas6-audio-codec" or "sirf,prima2-audio-codec"
+- clocks: A phandle reference to the SiRF internal audio codec clock
+
+Internal audio port:
+- compatible: "sirf,audio-port"
+
+I2S controller:
+- compatible: "sirf,prima2-i2s"
+- clocks: A phandle reference to the SiRF I2S controller clock
+
+Example:
+sirf_audio_hub: audio_hub@b0040000 {
+	compatible = "sirf,audio-hub";
+	reg = <0xb0040000 0x10000>;
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	audiocodec: audiocodec {
+		compatible = "sirf,atlas6-audio-codec";
+		interrupts = <35>;
+		clocks = <&clks 27>;
+	};
+
+	audioport: audioport {
+		compatible = "sirf,audio-port";
+		dmas = <&dmac1 3>, <&dmac1 8>;
+		dma-names = "rx", "tx";
+	};
+
+	i2s: i2s {
+		compatible = "sirf,prima2-i2s";
+		dmas = <&dmac1 6>, <&dmac1 12>;
+		dma-names = "rx", "tx";
+		clocks = <&clks 27>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&i2s_pins_a>;
+	};
+};