| 6be58005 | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx25: Fix eSDHC support
The MMC driver appropriate for the i.MX25 is fsl_esdhc, which has nothing to do with mxcmmc.
Also, each eSDHC instance has a dedicated clock, so gd->sdhc_clk must be set acc
mx25: Fix eSDHC support
The MMC driver appropriate for the i.MX25 is fsl_esdhc, which has nothing to do with mxcmmc.
Also, each eSDHC instance has a dedicated clock, so gd->sdhc_clk must be set accordingly. This is good for the case only a single SDHC instance is used (initialization made with fsl_esdhc_mmc_init()). A future patch will fix the multi-instance use case (initialization made directly with fsl_esdhc_initialize()).
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Eric Bénard <eric@eukrea.com> Cc: Otavio Salvador <otavio@ossystems.com.br>
show more ...
|
| f7542638 | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx25: Define cpu_eth_init() only if needed
The FEC is the only SoC Ethernet support available on i.MX25, so define cpu_eth_init() only for it instead of returning a misleading success code.
Signed-
mx25: Define cpu_eth_init() only if needed
The FEC is the only SoC Ethernet support available on i.MX25, so define cpu_eth_init() only for it instead of returning a misleading success code.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
show more ...
|
| 9baefa46 | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx25: Clean up clocks API
Use the standard mxc_get_clock() instead of exporting internal functions and using literal constant values.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.co
mx25: Clean up clocks API
Use the standard mxc_get_clock() instead of exporting internal functions and using literal constant values.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
show more ...
|
| 17c7cf71 | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx25 clocks: Fix MXC_FEC_CLK
mxc_get_clock(MXC_FEC_CLK) should return the IPG clock, not the AHB clock.
Also, imx_get_fecclk() was correct but reimplemented the calculation of the IPG clock, so rem
mx25 clocks: Fix MXC_FEC_CLK
mxc_get_clock(MXC_FEC_CLK) should return the IPG clock, not the AHB clock.
Also, imx_get_fecclk() was correct but reimplemented the calculation of the IPG clock, so remove the duplicated code.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
show more ...
|
| c3b51890 | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx25: Define more standard clocks
Define AHB, IPG and CSPI clocks.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> |
| fac7c817 | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx25: Clean up clock calculations
Avoid possible overflow in clock calculations, and do not waste calls to lldiv() to divide simple ulongs.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advan
mx25: Clean up clock calculations
Avoid possible overflow in clock calculations, and do not waste calls to lldiv() to divide simple ulongs.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
show more ...
|
| 3c76add2 | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx25: Fix decode_pll
The MFN bit-field of the PLL registers represents a signed value. See the reference manual.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic
mx25: Fix decode_pll
The MFN bit-field of the PLL registers represents a signed value. See the reference manual.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
show more ...
|
| 32384656 | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx5/6 clocks: Fix SDHC clocks
The i.MX5 eSDHC clocks were considered as coming from the IPG clock although they have dedicated clock paths.
Also, on i.MX5/6, each SDHC instance has a dedicated cloc
mx5/6 clocks: Fix SDHC clocks
The i.MX5 eSDHC clocks were considered as coming from the IPG clock although they have dedicated clock paths.
Also, on i.MX5/6, each SDHC instance has a dedicated clock, so gd->sdhc_clk must be set accordingly. This is good for the case only a single SDHC instance is used (initialization made with fsl_esdhc_mmc_init()). A future patch will fix the multi-instance use case (initialization made directly with fsl_esdhc_initialize()).
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Eric Bénard <eric@eukrea.com> Cc: Otavio Salvador <otavio@ossystems.com.br>
show more ...
|
| be2f93b1 | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx51: Fix I2C clock ID check
There are only 2 I²C instances on i.MX51, but 3 on i.MX53.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> |
| d5fe220d | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx5 clocks: Fix MXC_FEC_CLK
The FEC clock does not come from PLL1, but from the IPG clock. The previous code was even inconsistent with itself, returning the IPG clock as expected for imx_get_fecclk
mx5 clocks: Fix MXC_FEC_CLK
The FEC clock does not come from PLL1, but from the IPG clock. The previous code was even inconsistent with itself, returning the IPG clock as expected for imx_get_fecclk(), but the PLL1 clock for mxc_get_clock(MXC_FEC_CLK).
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
show more ...
|
| 3cbd107b | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx5 clocks: Simplify imx_get_cspiclk()
The code handling the dividers was duplicated for each possible input clock, and this function can benefit from the newly introduced get_standard_pll_sel_clk()
mx5 clocks: Simplify imx_get_cspiclk()
The code handling the dividers was duplicated for each possible input clock, and this function can benefit from the newly introduced get_standard_pll_sel_clk() function instead of duplicating this mux handling code.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
show more ...
|
| 08028b11 | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx5 clocks: Fix get_uart_clk()
This function returned 66500000 instead of the correct lp_apm clock frequency if the CCM.CSCMR1.uart_clk_sel mux is set to 3.
This patch fixes this issue by introduci
mx5 clocks: Fix get_uart_clk()
This function returned 66500000 instead of the correct lp_apm clock frequency if the CCM.CSCMR1.uart_clk_sel mux is set to 3.
This patch fixes this issue by introducing the get_standard_pll_sel_clk() function that will be used by future patches to handle identical muxes used by many other clocks.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
show more ...
|
| f124e718 | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx5 clocks: Fix get_ipg_per_clk()
This fixes the "IPG PERCLK" frequency printed by the clocks command. The issue was that get_ipg_per_clk() used periph_clk instead of lp_apm in the case CCM.CBCMR.pe
mx5 clocks: Fix get_ipg_per_clk()
This fixes the "IPG PERCLK" frequency printed by the clocks command. The issue was that get_ipg_per_clk() used periph_clk instead of lp_apm in the case CCM.CBCMR.perclk_lp_apm_sel is set.
It also fixes I²C support.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
show more ...
|
| 55c8df0c | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx5 clocks: Fix get_periph_clk()
In the case periph_clk comes from periph_apm_clk, the latter is selected by the CCM.CBCMR.periph_apm_sel mux, which can source the lp_apm clock from its input ♯2. ge
mx5 clocks: Fix get_periph_clk()
In the case periph_clk comes from periph_apm_clk, the latter is selected by the CCM.CBCMR.periph_apm_sel mux, which can source the lp_apm clock from its input ♯2. get_periph_clk() returned 0 instead of the lp_apm clock frequency in this case.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
show more ...
|
| b9479298 | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx5 clocks: Fix get_lp_apm()
If CCM.CCSR.lp_apm is set, the lp_apm clock is not necessarily 32768 Hz x 1024. In that case: - on i.MX51, this clock comes from the output of the FPM, - on i.MX53, th
mx5 clocks: Fix get_lp_apm()
If CCM.CCSR.lp_apm is set, the lp_apm clock is not necessarily 32768 Hz x 1024. In that case: - on i.MX51, this clock comes from the output of the FPM, - on i.MX53, this clock comes from the output of PLL4.
This patch fixes the code accordingly.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
show more ...
|
| 649dc8ab | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx5 clocks: Add and use CCSR definitions
This fixes config_pll_clk(), which used 0x20 instead of 0x200 for PLL4_CLOCK.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano
mx5 clocks: Add and use CCSR definitions
This fixes config_pll_clk(), which used 0x20 instead of 0x200 for PLL4_CLOCK.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
show more ...
|
| 414e1660 | 28-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx51: Fix USB PHY clocks
The i.MX51 has a single USB PHY clock, while the i.MX53 has two. These 3 clocks have different clock gate control bit-fields.
The existing code was correct only for i.MX53,
mx51: Fix USB PHY clocks
The i.MX51 has a single USB PHY clock, while the i.MX53 has two. These 3 clocks have different clock gate control bit-fields.
The existing code was correct only for i.MX53, so this patch fixes the i.MX51 use case.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Marek Vasut <marex@denx.de> Cc: Jana Rapava <fermata7@gmail.com> Cc: Wolfgang Grandegger <wg@denx.de> Cc: Igor Grinberg <grinberg@compulab.co.il>
show more ...
|
| 248cdf0b | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx5: Fix clock gate values
The clock gate values are 2-bit bit-fields. Hence, setting or clearing only one of these bits like what was done is wrong and can lead to unpredictable behavior depending
mx5: Fix clock gate values
The clock gate values are 2-bit bit-fields. Hence, setting or clearing only one of these bits like what was done is wrong and can lead to unpredictable behavior depending on the original value of these bit-fields.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
show more ...
|
| 1f5e4ee0 | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx5: Use explicit clock gate names
Use clock gate definitions having names showing clearly the gated clock instead of names giving only a register field index.
Signed-off-by: Benoît Thébaudeau <ben
mx5: Use explicit clock gate names
Use clock gate definitions having names showing clearly the gated clock instead of names giving only a register field index.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
show more ...
|
| 846b3898 | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx5 clocks: Cleanup
Clean up the i.MX5 clock driver: - Use readl() and writel() instead of their __raw_ counterparts. - Use the clr/setbits_le32() family of macros rather than expanding code. - U
mx5 clocks: Cleanup
Clean up the i.MX5 clock driver: - Use readl() and writel() instead of their __raw_ counterparts. - Use the clr/setbits_le32() family of macros rather than expanding code. - Use accessor macros for bit-fields instead of _MASK and _OFFSET.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
show more ...
|
| 833b6435 | 27-Sep-2012 |
Benoît Thébaudeau <benoit.thebaudeau@advansee.com> |
mx5/6: Define default SoC input clock frequencies
Define default SoC input clock frequencies for i.MX5/6 in order to get rid of duplicated definitions.
Signed-off-by: Benoît Thébaudeau <benoit.theb
mx5/6: Define default SoC input clock frequencies
Define default SoC input clock frequencies for i.MX5/6 in order to get rid of duplicated definitions.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Jason Liu <r64343@freescale.com> Cc: Matt Sealey <matt@genesi-usa.com> Cc: Fabio Estevam <fabio.estevam@freescale.com>
show more ...
|
| e7bed5c2 | 24-Sep-2012 |
Matthias Weisser <weisserm@arcor.de> |
imx: Use MXC_I2C_CLK in imx i2c driver
i2c didn't work on imx25 due to missing MXC_IPG_PERCLK. Now using MXC_I2C_CLK on all imx systems using i2c.
Signed-off-by: Matthias Weisser <weisserm@arcor.de
imx: Use MXC_I2C_CLK in imx i2c driver
i2c didn't work on imx25 due to missing MXC_IPG_PERCLK. Now using MXC_I2C_CLK on all imx systems using i2c.
Signed-off-by: Matthias Weisser <weisserm@arcor.de> Acked-by: Stefano Babic <sbabic@denx.de>
show more ...
|
| 8a57fdc6 | 23-Sep-2012 |
Eric Benard <eric@eukrea.com> |
mx25: add CPU revision 1.2
tested on a MCIMX257CJM4A which now reports : CPU: Freescale i.MX25 rev1.2 at 399 MHz
Signed-off-by: Eric Bénard <eric@eukrea.com> Acked-by: Otavio Salvador <otavio@oss
mx25: add CPU revision 1.2
tested on a MCIMX257CJM4A which now reports : CPU: Freescale i.MX25 rev1.2 at 399 MHz
Signed-off-by: Eric Bénard <eric@eukrea.com> Acked-by: Otavio Salvador <otavio@ossystems.com.br>
show more ...
|
| 2af7e810 | 18-Sep-2012 |
Eric Nelson <eric.nelson@boundarydevices.com> |
i.MX6: get rid of redundant struct src_regs (dupe of struct src)
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> |
| 0bb7e316 | 21-Sep-2012 |
Eric Nelson <eric.nelson@boundarydevices.com> |
i.MX6: provide functional names for CCM_CCGR0-CCGR6 bit fields
Add meaningful constants for each clock channels and use them for enabling and disabling i.MX6 clocks.
Includes an update to enable/di
i.MX6: provide functional names for CCM_CCGR0-CCGR6 bit fields
Add meaningful constants for each clock channels and use them for enabling and disabling i.MX6 clocks.
Includes an update to enable/disable the IPU1 clock in drivers/video/ipu_common to remove IMX5x register access when used on i.MX6 as discussed in V1:
http://patchwork.ozlabs.org/patch/185129/
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
show more ...
|