<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/arch/arm/mach-omap1/clock_data.c, branch v3.0.82</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>OMAP1: clock_data: use runtime cpu / machine checks</title>
<updated>2010-12-22T04:08:15+00:00</updated>
<author>
<name>Janusz Krzysztofik</name>
<email>jkrzyszt@tis.icnet.pl</email>
</author>
<published>2010-12-22T04:08:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=65ae65c9058eb41e9566ffd12699607c68b23e5f'/>
<id>65ae65c9058eb41e9566ffd12699607c68b23e5f</id>
<content type='text'>
Otherwise multi-omap1 configurations may set wrong clock speed.

Created and tested against l-o master on Amstrad Delta.

Signed-off-by: Janusz Krzysztofik &lt;jkrzyszt@tis.icnet.pl&gt;
Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Otherwise multi-omap1 configurations may set wrong clock speed.

Created and tested against l-o master on Amstrad Delta.

Signed-off-by: Janusz Krzysztofik &lt;jkrzyszt@tis.icnet.pl&gt;
Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>I2C: i2c-omap: Change device name: i2c_omap -&gt; omap_i2c</title>
<updated>2010-12-21T01:53:04+00:00</updated>
<author>
<name>Benoit Cousson</name>
<email>b-cousson@ti.com</email>
</author>
<published>2010-12-09T14:24:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f7bb0d9ab29e3159e22c3bfc843bd37c7d3c91a0'/>
<id>f7bb0d9ab29e3159e22c3bfc843bd37c7d3c91a0</id>
<content type='text'>
The convention for omap device naming is omap_XXX.

Rename the device and driver name in order to stick
to this naming convention.

Change device name in clock nodes as well.

Signed-off-by: Benoit Cousson &lt;b-cousson@ti.com&gt;
Cc: Kevin Hilman &lt;khilman@deeprootsystems.com&gt;
Cc: Rajendra Nayak &lt;rnayak@ti.com&gt;
Cc: Ben Dooks &lt;ben-i2c@fluff.org&gt;
Acked-by: Paul Walmsley &lt;paul@pwsan.com&gt;
Acked-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
Signed-off-by: Tony Lindgren &lt;tony@atomide.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The convention for omap device naming is omap_XXX.

Rename the device and driver name in order to stick
to this naming convention.

Change device name in clock nodes as well.

Signed-off-by: Benoit Cousson &lt;b-cousson@ti.com&gt;
Cc: Kevin Hilman &lt;khilman@deeprootsystems.com&gt;
Cc: Rajendra Nayak &lt;rnayak@ti.com&gt;
Cc: Ben Dooks &lt;ben-i2c@fluff.org&gt;
Acked-by: Paul Walmsley &lt;paul@pwsan.com&gt;
Acked-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
Signed-off-by: Tony Lindgren &lt;tony@atomide.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>OMAP: GPIO: Implement GPIO as a platform device</title>
<updated>2010-12-08T00:26:57+00:00</updated>
<author>
<name>Varadarajan, Charulatha</name>
<email>charu@ti.com</email>
</author>
<published>2010-12-08T00:26:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=77640aabd7558e43b65bc1a0311be2dbb42c3ff8'/>
<id>77640aabd7558e43b65bc1a0311be2dbb42c3ff8</id>
<content type='text'>
Implement GPIO as a platform device.

GPIO APIs are used in machine_init functions. Hence it is
required to complete GPIO probe before board_init. Therefore
GPIO device register and driver register are implemented as
postcore_initcalls.

omap_gpio_init() does nothing now and this function would be
removed in the next patch as it's usage is spread across most
of the board files.

Inorder to convert GPIO as platform device, modifications are
required in clockxxxx_data.c file for OMAP1 so that device names
can be used to obtain clock instead of getting clocks by
name/NULL ptr.

Use runtime pm APIs (pm_runtime_put*/pm_runtime_get*) for enabling
or disabling the clocks, modify sysconfig settings and remove usage
of clock FW APIs.
Note 1: Converting GPIO driver to use runtime PM APIs is not done as a
separate patch because GPIO clock names are different for various OMAPs
and are different for some of the banks in the same CPU. This would need
usage of cpu_is checks and bank id checks while using clock FW APIs in
the gpio driver. Hence while making GPIO a platform driver framework,
PM runtime APIs are used directly.

Note 2: While implementing GPIO as a platform device, pm runtime APIs
are used as mentioned above and modification is not done in gpio's
prepare for idle/ resume after idle functions. This would be done
in the next patch series and GPIO driver would be made to use dev_pm_ops
instead of sysdev_class in that series only.

Due to the above, the GPIO driver implicitly relies on
CM_AUTOIDLE = 1 on its iclk for power management to work, since the
driver never disables its iclk.
This would be taken care in the next patch series (see Note 3 below).

Refer to
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg39112.html
for more details.

Note 3: only pm_runtime_get_sync is called in gpio's probe() and
pm_runtime_put* is never called. This is to make the implementation
similar to the existing GPIO code. Another patch series would be sent
to correct this.

In OMAP3 and OMAP4 gpio's debounce clocks are optional clocks. They
are enabled/ disabled whenever required using clock framework APIs

TODO:
1. Cleanup the GPIO driver. Use function pointers and register
offest pointers instead of using hardcoded values
2. Remove all cpu_is_ checks and OMAP specific macros
3. Remove usage of gpio_bank array so that only
   instance specific information is used in driver code
4. Rename 'method'/ avoid it's usage
5. Fix the non-wakeup gpios handling for OMAP2430, OMAP3 &amp; OMAP4
6. Modify gpio's prepare for idle/ resume after idle functions
   to use runtime pm implentation.

Signed-off-by: Charulatha V &lt;charu@ti.com&gt;
Signed-off-by: Rajendra Nayak &lt;rnayak@ti.com&gt;
Reviewed-by: Basak, Partha &lt;p-basak2@ti.com&gt;
Acked-by: Kevin Hilman &lt;khilman@deeprootsystems.com&gt;
[tony@atomide.com: updated for bank specific revision and updated boards]
Signed-off-by: Tony Lindgren &lt;tony@atomide.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement GPIO as a platform device.

GPIO APIs are used in machine_init functions. Hence it is
required to complete GPIO probe before board_init. Therefore
GPIO device register and driver register are implemented as
postcore_initcalls.

omap_gpio_init() does nothing now and this function would be
removed in the next patch as it's usage is spread across most
of the board files.

Inorder to convert GPIO as platform device, modifications are
required in clockxxxx_data.c file for OMAP1 so that device names
can be used to obtain clock instead of getting clocks by
name/NULL ptr.

Use runtime pm APIs (pm_runtime_put*/pm_runtime_get*) for enabling
or disabling the clocks, modify sysconfig settings and remove usage
of clock FW APIs.
Note 1: Converting GPIO driver to use runtime PM APIs is not done as a
separate patch because GPIO clock names are different for various OMAPs
and are different for some of the banks in the same CPU. This would need
usage of cpu_is checks and bank id checks while using clock FW APIs in
the gpio driver. Hence while making GPIO a platform driver framework,
PM runtime APIs are used directly.

Note 2: While implementing GPIO as a platform device, pm runtime APIs
are used as mentioned above and modification is not done in gpio's
prepare for idle/ resume after idle functions. This would be done
in the next patch series and GPIO driver would be made to use dev_pm_ops
instead of sysdev_class in that series only.

Due to the above, the GPIO driver implicitly relies on
CM_AUTOIDLE = 1 on its iclk for power management to work, since the
driver never disables its iclk.
This would be taken care in the next patch series (see Note 3 below).

Refer to
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg39112.html
for more details.

Note 3: only pm_runtime_get_sync is called in gpio's probe() and
pm_runtime_put* is never called. This is to make the implementation
similar to the existing GPIO code. Another patch series would be sent
to correct this.

In OMAP3 and OMAP4 gpio's debounce clocks are optional clocks. They
are enabled/ disabled whenever required using clock framework APIs

TODO:
1. Cleanup the GPIO driver. Use function pointers and register
offest pointers instead of using hardcoded values
2. Remove all cpu_is_ checks and OMAP specific macros
3. Remove usage of gpio_bank array so that only
   instance specific information is used in driver code
4. Rename 'method'/ avoid it's usage
5. Fix the non-wakeup gpios handling for OMAP2430, OMAP3 &amp; OMAP4
6. Modify gpio's prepare for idle/ resume after idle functions
   to use runtime pm implentation.

Signed-off-by: Charulatha V &lt;charu@ti.com&gt;
Signed-off-by: Rajendra Nayak &lt;rnayak@ti.com&gt;
Reviewed-by: Basak, Partha &lt;p-basak2@ti.com&gt;
Acked-by: Kevin Hilman &lt;khilman@deeprootsystems.com&gt;
[tony@atomide.com: updated for bank specific revision and updated boards]
Signed-off-by: Tony Lindgren &lt;tony@atomide.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'for_2.6.36' of git://git.pwsan.com/linux-2.6 into omap-for-linus</title>
<updated>2010-08-04T05:46:24+00:00</updated>
<author>
<name>Tony Lindgren</name>
<email>tony@atomide.com</email>
</author>
<published>2010-08-04T05:46:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=331d919af416b9b92428947ef8c535a3e24c6b31'/>
<id>331d919af416b9b92428947ef8c535a3e24c6b31</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>omap1: omap7xx clocks, mux, serial fixes</title>
<updated>2010-08-02T11:21:39+00:00</updated>
<author>
<name>Cory Maccarrone</name>
<email>darkstar6262@gmail.com</email>
</author>
<published>2010-08-02T11:21:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8b8fbd39e20b5db95f8f4b3bda4c9d3fcf8e3afc'/>
<id>8b8fbd39e20b5db95f8f4b3bda4c9d3fcf8e3afc</id>
<content type='text'>
This change adds in the necessary clocks and mux pins for UART
control on omap7xx devices.  I also made a change in the serial
code to only try and initialize two UARTs in omap_serial_init, as
these devices don't have three.

Signed-off-by: Cory Maccarrone &lt;darkstar6262@gmail.com&gt;
Signed-off-by: Tony Lindgren &lt;tony@atomide.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change adds in the necessary clocks and mux pins for UART
control on omap7xx devices.  I also made a change in the serial
code to only try and initialize two UARTs in omap_serial_init, as
these devices don't have three.

Signed-off-by: Cory Maccarrone &lt;darkstar6262@gmail.com&gt;
Signed-off-by: Tony Lindgren &lt;tony@atomide.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>OMAP1: clock: some cleanup</title>
<updated>2010-07-26T22:34:28+00:00</updated>
<author>
<name>Paul Walmsley</name>
<email>paul@pwsan.com</email>
</author>
<published>2010-07-26T22:34:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fb2fc9204f8ce060d239ab41f09cf6fc6de5ad4b'/>
<id>fb2fc9204f8ce060d239ab41f09cf6fc6de5ad4b</id>
<content type='text'>
Convert most of the magic numbers in mach-omap1/clock_data.c to use
macros.  Clean up a few comments to conform with Documentation/CodingStyle.
Mark the current clkops_uart as being OMAP16xx-only, and add some comments
to indicate that it does not belong there, for future cleanup.

This patch should not cause any functional changes.

Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Convert most of the magic numbers in mach-omap1/clock_data.c to use
macros.  Clean up a few comments to conform with Documentation/CodingStyle.
Mark the current clkops_uart as being OMAP16xx-only, and add some comments
to indicate that it does not belong there, for future cleanup.

This patch should not cause any functional changes.

Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>OMAP4: clock: Add dummy clock nodes for interface clocks</title>
<updated>2010-02-25T00:45:17+00:00</updated>
<author>
<name>Santosh Shilimkar</name>
<email>santosh.shilimkar@ti.com</email>
</author>
<published>2010-02-23T05:09:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7c43d5472878db90d0244551370f6f0dc1b97747'/>
<id>7c43d5472878db90d0244551370f6f0dc1b97747</id>
<content type='text'>
On OMAP4 platform the iclk control is completly under hardware control
and no software control is available.

This difference w.r.t previous OMAP's needs all the common driver
accross OMAP's , cpu_is_xxxx() checks. To avoid poulluting the
drivers dummy clock nodes are created (The autogeneration
script has been updated accordingly).

Signed-off-by: Santosh Shilimkar &lt;santosh.shilimkar@ti.com&gt;
Signed-off-by: Rajendra Nayak &lt;rnayak@ti.com&gt;
Signed-off-by: Benoit Cousson &lt;b-cousson@ti.com&gt;
[paul@pwsan.com: made OMAP1 dummy_ck common and edited patch to reuse that]
Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On OMAP4 platform the iclk control is completly under hardware control
and no software control is available.

This difference w.r.t previous OMAP's needs all the common driver
accross OMAP's , cpu_is_xxxx() checks. To avoid poulluting the
drivers dummy clock nodes are created (The autogeneration
script has been updated accordingly).

Signed-off-by: Santosh Shilimkar &lt;santosh.shilimkar@ti.com&gt;
Signed-off-by: Rajendra Nayak &lt;rnayak@ti.com&gt;
Signed-off-by: Benoit Cousson &lt;b-cousson@ti.com&gt;
[paul@pwsan.com: made OMAP1 dummy_ck common and edited patch to reuse that]
Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>OMAP clock: drop RATE_FIXED clock flag</title>
<updated>2010-02-24T19:29:43+00:00</updated>
<author>
<name>Paul Walmsley</name>
<email>paul@pwsan.com</email>
</author>
<published>2010-02-23T05:09:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=51c19541624f5588bccb9d4fb3ae518c68c8082e'/>
<id>51c19541624f5588bccb9d4fb3ae518c68c8082e</id>
<content type='text'>
The RATE_FIXED clock flag is pointless.  In the OMAP1 clock code, it
simply causes the omap1_clk_round_rate() function to return the
current rate of the clock.  omap1_clk_round_rate(), however, should
never be called for a fixed-rate clock, since none of these clocks
have a .round_rate function pointer set in their struct clk records.
Similarly, in the OMAP2+ clock code, the RATE_FIXED flag just causes
the clock code to emit a warning if the OMAP clock maintainer was
foolish enough to add a .round_rate function pointer to a fixed-rate
clock.  "Doctor, it hurts when I pretend that a fixed-rate clock is
rate-changeable."  "Then don't pretend that a fixed-rate clock is
rate-changeable."  It has no functional value.  This patch drops the
RATE_FIXED clock flag, removing it from all clocks that are so marked.

Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
Cc: Richard Woodruff &lt;r-woodruff2@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The RATE_FIXED clock flag is pointless.  In the OMAP1 clock code, it
simply causes the omap1_clk_round_rate() function to return the
current rate of the clock.  omap1_clk_round_rate(), however, should
never be called for a fixed-rate clock, since none of these clocks
have a .round_rate function pointer set in their struct clk records.
Similarly, in the OMAP2+ clock code, the RATE_FIXED flag just causes
the clock code to emit a warning if the OMAP clock maintainer was
foolish enough to add a .round_rate function pointer to a fixed-rate
clock.  "Doctor, it hurts when I pretend that a fixed-rate clock is
rate-changeable."  "Then don't pretend that a fixed-rate clock is
rate-changeable."  It has no functional value.  This patch drops the
RATE_FIXED clock flag, removing it from all clocks that are so marked.

Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
Cc: Richard Woodruff &lt;r-woodruff2@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>OMAP clock: drop .id field; ensure each clock has a unique name</title>
<updated>2010-02-24T19:16:13+00:00</updated>
<author>
<name>Paul Walmsley</name>
<email>paul@pwsan.com</email>
</author>
<published>2010-02-23T05:09:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b92c170d019db7554db95380d2e1dfb3a368e350'/>
<id>b92c170d019db7554db95380d2e1dfb3a368e350</id>
<content type='text'>
After the clkdev conversion, the struct clk.id field became
superfluous, so, drop it.  Bring the clock names closer to the TRMs
and ensure they are unique for debugfs.

Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After the clkdev conversion, the struct clk.id field became
superfluous, so, drop it.  Bring the clock names closer to the TRMs
and ensure they are unique for debugfs.

Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>OMAP1 clock: convert armwdt_ck to use the fixed divisor recalc function</title>
<updated>2010-01-27T03:12:57+00:00</updated>
<author>
<name>Paul Walmsley</name>
<email>paul@pwsan.com</email>
</author>
<published>2010-01-27T03:12:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0dfc242ff05fcc4bbef1e1bf4eed6f7d01e0cb44'/>
<id>0dfc242ff05fcc4bbef1e1bf4eed6f7d01e0cb44</id>
<content type='text'>
The armwdt_ck clock uses a fixed divisor, so it can use the OMAP clock
fixed divisor recalculation code, rather than a custom function.

Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The armwdt_ck clock uses a fixed divisor, so it can use the OMAP clock
fixed divisor recalculation code, rather than a custom function.

Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
