Thread (2 messages) 2 messages, 2 authors, 2012-11-28

[GIT PULL] ASoC: Samsung: Updates for v3.8

From: Padma Venkat <hidden>
Date: 2012-11-28 05:51:31
Also in: alsa-devel, linux-devicetree, linux-samsung-soc

Hi Mark,

On Wed, Nov 28, 2012 at 10:55 AM, Sangbeom Kim [off-list ref] wrote:
quoted
quoted
There's some problems with this binding.  The main one is the gpios
property the format of which isn't specified at all.
quoted
All of above gpio property is i2s.
That is,
+     gpios = <&gpz 0 2 0 0>, -> SCLK
+             <&gpz 1 2 0 0>,   ->  CDCLK
+             <&gpz 2 2 0 0>,   -> LRCK
+             <&gpz 3 2 0 0>,   -> SDI
+             <&gpz 4 2 0 0>,   -> SDO[0]
+             <&gpz 5 2 0 0>,   -> SDO[1]
+             <&gpz 6 2 0 0>;   -> SDO[2]
quoted
Do you want like a below one?
+sclk-gpios = <&gpz 0 2 0 0>,
+cdclk-gpios = <&gpz 1 2 0 0>, ...
That would be nice but what I was really looking for was some indiciation in the binding document as
to what all this stuff means - it should really say what gpz is (though I can figure that out) and
it definitely needs to say what the four numbers are.
quoted
quoted
The requirement for an alias is also very odd, where does that come from?
quoted
I don't know that Which one is odd. Please let me know.
Having them at all is odd - it's not something other DT bindings have needed and there was nothing
saying what it was for.
What is the exact requirement here? Should I remove the alias ids or
I2S1 and I2S2 nodes as they are in disabled state? This is done same
way as SPI and I2C. Please explain me.
quoted
quoted
Some of the code also looks very peculiar, like the fact that it's
generating a clock name i2s_opclk%d rather than hard coding the
clock, the physical clock would normally be resolved based on the
struct device.
quoted
This is to handle all of Samsung SOCs i2c clock mux.
Please look at below clk_lookup table
quoted
In case of 6410, clk_lookup
+     CLKDEV_INIT("samsung-i2s.0", "i2s_opclk0", &clk_i2s0),
+     CLKDEV_INIT("samsung-i2s.0", "i2s_opclk1", &clk_audio_bus0.clk),
+     CLKDEV_INIT("samsung-i2s.1", "i2s_opclk0", &clk_i2s1),
+     CLKDEV_INIT("samsung-i2s.1", "i2s_opclk1", &clk_audio_bus1.clk),
+#ifdef CONFIG_CPU_S3C6410
+     CLKDEV_INIT("samsung-i2s.2", "i2s_opclk0", &clk_i2s2),
+     CLKDEV_INIT("samsung-i2s.2", "i2s_opclk1", &clk_audio_bus2.clk),
quoted
In case of exynos5, clk_lookup
+     CLKDEV_INIT("samsung-i2s.0", "i2s_opclk0", &exynos5_clk_sclk_i2s.clk),
+     CLKDEV_INIT("samsung-i2s.0", "i2s_opclk1",
+&exynos5_clk_i2s_bus.clk),
quoted
We try to handle clock source of i2s by only i2s_opclk0 and i2s_opclk1.
Each SOCs have different clock source.
Is this wrong approach?
That makes sense but why is the driver not just requesting by name rather than having code to
generate the names, and why is this mixed in with the patch adding DT support?
Thanks
Padma
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help