ARM: imx6: fix up buggy CCM_CSCMR1 register
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest0 of 3 patches 0 repliesNew
Patches in v1 No applies recorded yet
None of the 3 patches the cover letter announces are in this archive.
Reviews trailers per patch
| Patch | Dirk Behme |
|---|---|
| Series | A-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH 0/3] ARM: imx6: fix up buggy CCM_CSCMR1 register
Quoted 37 lines · Shawn Guo
There is a defect in bits 22 and 21 of i.MX6
CCM_CSCMR1register. These two bits are inverted between read and write. That said, bit field CCM_CSCMR1[22-20] (aclk/emi_podf on imx6q/dl andlcdif_pix_podfon imx6sl) will be something as below between read and write.read write divider 000 110 1 001 111 2 010 100 3 011 101 4 100 010 5 101 011 6 110 000 7 111 001 8To work around this hardware defect, every single read/modify/write sequence on the register will require a fix-up (invert bits 22 and 21) before writing the value into register. As there are dividers and multiplexers defined in the register, we choose to inherit the basic clk-divider and clk-mux and override the functions which writes register with a fix-up hooked in.
Shawn
Liu Ying (3):
ARM: imx: add common clock support for fixup div
ARM: imx: add common clock support for fixup mux
ARM: imx6: change some clocks to fixup clocksarch/arm/mach-imx/Makefile | 3 +- arch/arm/mach-imx/clk-fixup-div.c | 129 +++++++++++++++++++++++++++++++++++++ arch/arm/mach-imx/clk-fixup-mux.c | 107 ++++++++++++++++++++++++++++++ arch/arm/mach-imx/clk-imx6q.c | 24 +++---- arch/arm/mach-imx/clk-imx6sl.c | 20 +++--- arch/arm/mach-imx/clk.c | 26 ++++++++ arch/arm/mach-imx/clk.h | 10 +++ 7 files changed, 296 insertions(+), 23 deletions(-)
Quoted 2 lines
create mode 100644
arch/arm/mach-imx/clk-fixup-div.ccreate mode 100644arch/arm/mach-imx/clk-fixup-mux.c
For the whole series:
Thanks
Dirk