summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/armv7/mx5/clock.c
AgeCommit message (Collapse)Author
2017-07-12imx: reorganize IMX code as other SOCsStefano Babic
Change is consistent with other SOCs and it is in preparation for adding SOMs. SOC's related files are moved from cpu/ to mach-imx/<SOC>. This change is also coherent with the structure in kernel. Signed-off-by: Stefano Babic <[email protected]> CC: Fabio Estevam <[email protected]> CC: Akshay Bhat <[email protected]> CC: Ken Lin <[email protected]> CC: Marek Vasut <[email protected]> CC: Heiko Schocher <[email protected]> CC: "Sébastien Szymanski" <[email protected]> CC: Christian Gmeiner <[email protected]> CC: Stefan Roese <[email protected]> CC: Patrick Bruenn <[email protected]> CC: Troy Kisky <[email protected]> CC: Nikita Kiryanov <[email protected]> CC: Otavio Salvador <[email protected]> CC: "Eric Bénard" <[email protected]> CC: Jagan Teki <[email protected]> CC: Ye Li <[email protected]> CC: Peng Fan <[email protected]> CC: Adrian Alonso <[email protected]> CC: Alison Wang <[email protected]> CC: Tim Harvey <[email protected]> CC: Martin Donnelly <[email protected]> CC: Marcin Niestroj <[email protected]> CC: Lukasz Majewski <[email protected]> CC: Adam Ford <[email protected]> CC: "Albert ARIBAUD (3ADEV)" <[email protected]> CC: Boris Brezillon <[email protected]> CC: Soeren Moch <[email protected]> CC: Richard Hu <[email protected]> CC: Wig Cheng <[email protected]> CC: Vanessa Maegima <[email protected]> CC: Max Krummenacher <[email protected]> CC: Stefan Agner <[email protected]> CC: Markus Niebel <[email protected]> CC: Breno Lima <[email protected]> CC: Francesco Montefoschi <[email protected]> CC: Jaehoon Chung <[email protected]> CC: Scott Wood <[email protected]> CC: Joe Hershberger <[email protected]> CC: Anatolij Gustschin <[email protected]> CC: Simon Glass <[email protected]> CC: "Andrew F. Davis" <[email protected]> CC: "Łukasz Majewski" <[email protected]> CC: Patrice Chotard <[email protected]> CC: Nobuhiro Iwamatsu <[email protected]> CC: Hans de Goede <[email protected]> CC: Masahiro Yamada <[email protected]> CC: Stephen Warren <[email protected]> CC: Andre Przywara <[email protected]> CC: "Álvaro Fernández Rojas" <[email protected]> CC: York Sun <[email protected]> CC: Xiaoliang Yang <[email protected]> CC: Chen-Yu Tsai <[email protected]> CC: George McCollister <[email protected]> CC: Sven Ebenfeld <[email protected]> CC: Filip Brozovic <[email protected]> CC: Petr Kulhavy <[email protected]> CC: Eric Nelson <[email protected]> CC: Bai Ping <[email protected]> CC: Anson Huang <[email protected]> CC: Sanchayan Maity <[email protected]> CC: Lokesh Vutla <[email protected]> CC: Patrick Delaunay <[email protected]> CC: Gary Bisson <[email protected]> CC: Alexander Graf <[email protected]> CC: [email protected] Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2016-09-23treewide: replace #include <asm/errno.h> with <linux/errno.h>Masahiro Yamada
Now, arch/${ARCH}/include/asm/errno.h and include/linux/errno.h have the same content. (both just wrap <asm-generic/errno.h>) Replace all include directives for <asm/errno.h> with <linux/errno.h>. Signed-off-by: Masahiro Yamada <[email protected]> [trini: Fixup include/clk.] Signed-off-by: Tom Rini <[email protected]>
2014-01-03arm: mx5: Add fuse supply enable in fsl_iimSergey Alyoshin
Enable fuse supply before fuse programming and disable after. Signed-off-by: Sergey Alyoshin <[email protected]> Reviewed-by: Benoît Thébaudeau <[email protected]>
2013-10-17i2c: mxc: move to new subsystemtrem
Signed-off-by: Philippe Reynes <[email protected]>
2013-08-26usb: ehci-mx5: Use 'bool' instead of 'unsigned char'Fabio Estevam
The 'enable' argument can be better expressed as boolean. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Otavio Salvador <[email protected]>
2013-07-24Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <[email protected]>
2013-05-05arm: mx5: Add NAND clock handlingMarek Vasut
Augment the MX5 clock code with function to enable and configure NFC clock. This is necessary to get NFC working on MX5. Signed-off-by: Marek Vasut <[email protected]> Cc: Albert ARIBAUD <[email protected]> Cc: Benoît Thébaudeau <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Scott Wood <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Tom Rini <[email protected]>
2012-11-19mx5: Print CSPI clock in 'clock' commandFabio Estevam
Print CSPI clock in 'clock' command. Signed-off-by: Fabio Estevam <[email protected]>
2012-10-26MX5: fix warning in clock.cStefano Babic
Patch fix warnings compiling with ELDK-4.2: clock.c: In function 'get_standard_pll_sel_clk': clock.c:341: warning: 'freq' may be used uninitialized in this function Reported-by : Marek Vasut <[email protected]> Signed-off-by: Stefano Babic <[email protected]>
2012-10-15mx5/6 clocks: Fix SDHC clocksBenoît Thébaudeau
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 <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Eric Bénard <[email protected]> Cc: Otavio Salvador <[email protected]>
2012-10-15mx51: Fix I2C clock ID checkBenoît Thébaudeau
There are only 2 I²C instances on i.MX51, but 3 on i.MX53. Signed-off-by: Benoît Thébaudeau <[email protected]> Cc: Stefano Babic <[email protected]>
2012-10-15mx5 clocks: Fix MXC_FEC_CLKBenoît Thébaudeau
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 <[email protected]> Cc: Stefano Babic <[email protected]>
2012-10-15mx5 clocks: Simplify imx_get_cspiclk()Benoît Thébaudeau
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 <[email protected]> Cc: Stefano Babic <[email protected]>
2012-10-15mx5 clocks: Fix get_uart_clk()Benoît Thébaudeau
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 <[email protected]> Cc: Stefano Babic <[email protected]>
2012-10-15mx5 clocks: Fix get_ipg_per_clk()Benoît Thébaudeau
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 <[email protected]> Cc: Stefano Babic <[email protected]>
2012-10-15mx5 clocks: Fix get_periph_clk()Benoît Thébaudeau
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 <[email protected]> Cc: Stefano Babic <[email protected]>
2012-10-15mx5 clocks: Fix get_lp_apm()Benoît Thébaudeau
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 <[email protected]> Cc: Stefano Babic <[email protected]>
2012-10-15mx5 clocks: Add and use CCSR definitionsBenoît Thébaudeau
This fixes config_pll_clk(), which used 0x20 instead of 0x200 for PLL4_CLOCK. Signed-off-by: Benoît Thébaudeau <[email protected]> Cc: Stefano Babic <[email protected]>
2012-10-15mx51: Fix USB PHY clocksBenoît Thébaudeau
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 <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Marek Vasut <[email protected]> Cc: Jana Rapava <[email protected]> Cc: Wolfgang Grandegger <[email protected]> Cc: Igor Grinberg <[email protected]>
2012-10-15mx5: Fix clock gate valuesBenoît Thébaudeau
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 <[email protected]> Cc: Stefano Babic <[email protected]>
2012-10-15mx5: Use explicit clock gate namesBenoît Thébaudeau
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 <[email protected]> Cc: Stefano Babic <[email protected]>
2012-10-15mx5 clocks: CleanupBenoît Thébaudeau
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 <[email protected]> Cc: Stefano Babic <[email protected]>
2012-10-15mx5/6: Define default SoC input clock frequenciesBenoît Thébaudeau
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 <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Jason Liu <[email protected]> Cc: Matt Sealey <[email protected]> Cc: Fabio Estevam <[email protected]>
2012-10-15imx: Use MXC_I2C_CLK in imx i2c driverMatthias Weisser
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 <[email protected]> Acked-by: Stefano Babic <[email protected]>
2012-07-31imx-common: add i2c.c for bus recovery supportTroy Kisky
Signed-off-by: Troy Kisky <[email protected]>
2012-07-07mx53: Fix mask for SATA reference clockFabio Estevam
SATA_ALT_REF_CLK field corresponds to bits 1 and 2 of offset 0x180c. Fix the mask for these bits. Signed-off-by: Fabio Estevam <[email protected]>
2012-05-15mx5: Add clock config interfaceFabio Estevam
mx5: Add clock config interface Add clock config interface support, so that we can configure CPU or DDR clock in the later init Signed-off-by: Jason Liu <[email protected]> Signed-off-by: Eric Miao <[email protected]> Signed-off-by: Fabio Estevam <[email protected]>
2012-05-15imx-common: Factor out get_ahb_clk()Fabio Estevam
get_ahb_clk() is a common function between mx5 and mx6. Place it into imx-common directory. Cc: Dirk Behme <[email protected]> Signed-off-by: Fabio Estevam <[email protected]>
2012-05-15MX53: add function to set SATA clock to internalStefano Babic
The MX53 SATA interface can use an internal clock (USB PHY1) instead of an external clock. This is an undocumented feature, but used on most Freescale's evaluation boards, such as MX53-loco. As stated by Freescale's support: Fuses (but not pins) may be used to configure SATA clocks. Particularly the i.MX53 Fuse_Map contains the next information about configuring SATA clocks : SATA_ALT_REF_CLK[1:0] (offset 0x180C) '00' - 100MHz (External) '01' - 50MHz (External) '10' - 120MHz, internal (USB PHY) '11' - Reserved Signed-off-by: Stefano Babic <[email protected]> CC: Fabio Estevam <[email protected]>
2012-05-15MX5: Add definitions for SATA controllerStefano Babic
Add base address and MXC_SATA_CLK to return the clock used for the SATA controller. Signed-off-by: Stefano Babic <[email protected]> CC: Fabio Estevam <[email protected]> CC: Dirk Behme <[email protected]>
2011-12-11USB: MX5: add helper functions to enable USB clocksWolfgang Grandegger
Signed-off-by: Wolfgang Grandegger <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Remy Bohmer <[email protected]> Cc: Wolfgang Grandegger <[email protected]> Cc: Jason Liu <[email protected]> V2: Fix spacing in crm_regs.h
2011-12-06mx5: Correct a warning in clock.cSimon Glass
This corects the warning below, obtained with my gcc 4.6 compiler. arch/arm/cpu/armv7/mx5/libmx5.o: In function `decode_pll': arch/arm/cpu/armv7/mx5/clock.c:94: undefined reference to `__aeabi_uldivmod' I am not able to test this on MX5x hardware, but it does improve the MAKEALL output for me. You may already have a similar patch, but I cannot see it on the list. Signed-off-by: Simon Glass <[email protected]>
2011-09-30MX5: Clean up the output of "clocks" commandMarek Vasut
The new output looks like this: > clocks PLL1 800 MHz PLL2 665 MHz PLL3 216 MHz AHB 133000 kHz IPG 66500 kHz IPG PERCLK 665000 kHz Signed-off-by: Marek Vasut <[email protected]> Acked-by: Stefano Babic <[email protected]> Acked-by: Jason Liu <[email protected]>
2011-09-30MX5: Add AHB clock reporting and fix IPG clock reportingMarek Vasut
Signed-off-by: Marek Vasut <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Jason Liu <[email protected]> Acked-by: Jason Liu <[email protected]>
2011-09-30MX5: Modify the PLL decoding algorithmMarek Vasut
The PLL decoding algorithm didn't take into account many configuration bits. Adjust it according to Linux kernel. Also, add PLL4 for MX53. Signed-off-by: Marek Vasut <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Jason Hui <[email protected]> Tested-by: Jason Liu <[email protected]>
2011-09-04MX: MX35 / MX5: uniform clock command with powerpcStefano Babic
There was already a command to show the processor clocks for PowerPC (clocks). For i.MX, the "clockinfo" command was introduce. The patch sets the same command name used on PowerPC. A nasty and not needed newline is also dropped in the help for the command. Signed-off-by: Stefano Babic <[email protected]>
2010-10-28MX51: remove warning in clock.cStefano Babic
The patch removes the warning: clock.c:291: warning: initialization from incompatible pointer type after constification of args[] Signed-off-by: Stefano Babic <[email protected]>
2010-10-18MX5: rename mx51 to mx5Jason Liu
Rename mx51 to mx5 in order to support more mx51 like-style SOCs such as MX53 and the followings. Signed-off-by: Jason Liu <[email protected]>