• Frank Li's avatar
    arm64: dts: imx8-ss-dma: fix can lpcg indices · 08933923
    Frank Li authored
    can0_lpcg: clock-controller@5acd0000 {
    	...						   Col1  Col2
    	clocks = <&clk IMX_SC_R_CAN_0 IMX_SC_PM_CLK_PER>, // 0    0
    		 <&dma_ipg_clk>,			  // 1    4
    		 <&dma_ipg_clk>;			  // 2    5
            clock-indices = <IMX_LPCG_CLK_0>,
    			<IMX_LPCG_CLK_4>,
    			<IMX_LPCG_CLK_5>;
    }
    
    Col1: index, which existing dts try to get.
    Col2: actual index in lpcg driver.
    
    flexcan1: can@5a8d0000 {
    	clocks = <&can0_lpcg 1>, <&can0_lpcg 0>;
    			     ^^		     ^^
    Should be:
    	clocks = <&can0_lpcg IMX_LPCG_CLK_4>, <&can0_lpcg IMX_LPCG_CLK_0>;
    };
    
    Arg0 is divided by 4 in lpcg driver. flexcan driver get IMX_SC_PM_CLK_PER
    by <&can0_lpcg 1> and <&can0_lpcg 0>. Although function can work, code
    logic is wrong. Fix it by using correct clock indices.
    
    Cc: stable@vger.kernel.org
    Fixes: 5e7d5b02 ("arm64: dts: imx8qxp: add flexcan in adma")
    Signed-off-by: default avatarFrank Li <Frank.Li@nxp.com>
    Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
    08933923
imx8-ss-dma.dtsi 16.7 KB