Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1685549
| From | Shawn Guo <shawnguo@kernel.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 3/4] ARM: dts: imx6sx: Use nvmem-cells for tempmon |
| Date | 2017-07-12 08:50 +0200 |
| Message-ID | <u2jDb-4Gz-7@gated-at.bofh.it> (permalink) |
| References | <u1GVc-5yK-41@gated-at.bofh.it> <u2jDb-4Gz-9@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Thu, Jul 06, 2017 at 04:20:43PM +0300, Leonard Crestez wrote:
> On imx6sx accessing OCOTP directly is wrong because the ocotp clock
> needs to be enabled first. Use the nvmem-cells binding instead.
>
> This requirement does not apply to older imx6qdl chips because there the
> ocotp access clock (clk_ipg_s) is always enabled.
>
> This is visible by comparing the "System Clocks, Gating, and Override"
> tables (OCOTP rows) in the 6DQ and 6SX manuals:
> http://www.nxp.com/assets/documents/data/en/reference-manuals/IMX6SXRM.pdf
> http://www.nxp.com/assets/documents/data/en/reference-manuals/IMX6DQRM.pdf
>
> This happens to work right now because the ocotp clock might be enabled
> for some other reason. In particular the it might be enabled from the
> bootloader and it only gets disabled late during boot in
> clk_disable_unused, after imx-thermal has completed probing.
>
> If imx-thermal is compiled as a module then the system can hang on
> probe.
>
> Reported-by: Lothar Waßmann <LW@KARO-electronics.de>
> Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
> ---
> arch/arm/boot/dts/imx6sx.dtsi | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi
> index f16b9df..5cfee85 100644
> --- a/arch/arm/boot/dts/imx6sx.dtsi
> +++ b/arch/arm/boot/dts/imx6sx.dtsi
> @@ -675,7 +675,8 @@
> compatible = "fsl,imx6sx-tempmon", "fsl,imx6q-tempmon";
> interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
> fsl,tempmon = <&anatop>;
> - fsl,tempmon-data = <&ocotp>;
> + nvmem-cells = <&tempmon_calib>, <&tempmon_temp_grade>;
> + nvmem-cell-names = "calib", "temp_grade";
> clocks = <&clks IMX6SX_CLK_PLL3_USB_OTG>;
> };
>
> @@ -993,9 +994,17 @@
> };
>
> ocotp: ocotp@021bc000 {
> + #address-cells = <1>;
> + #size-cells = <1>;
> compatible = "fsl,imx6sx-ocotp", "syscon";
> reg = <0x021bc000 0x4000>;
> clocks = <&clks IMX6SX_CLK_OCOTP>;
Please have a newline between child node and property list ...
> + tempmon_calib: calib {
> + reg = <56 4>;
> + };
... and between child nodes as well.
> + tempmon_temp_grade: temp_grade {
We prefer to use hyphen rather than underscore in node name. And node
name should have a corresponding unit-address, if the node has a 'reg'
property.
Shawn
> + reg = <32 4>;
> + };
> };
>
> sai1: sai@021d4000 {
> --
> 2.7.4
>
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
Re: [PATCH 3/4] ARM: dts: imx6sx: Use nvmem-cells for tempmon Shawn Guo <shawnguo@kernel.org> - 2017-07-12 08:50 +0200
csiph-web