[PATCH v3 1/6] ARM: dts: hisilicon: Fix SP804 users

Wei Xu xuwei5 at hisilicon.com
Tue Sep 15 21:44:03 EDT 2020


Hi Andre,

On 2020/9/7 20:18, Andre Przywara wrote:
> The SP804 binding only specifies one or three clocks, but does not allow
> just two clocks.
> The HiSi 3620 .dtsi specified two clocks for the two timers, plus gave
> one "apb_pclk" clock-name to appease the primecell bus driver.
> 
> Extend the clocks by duplicating the first clock to the end of the clock
> list, and add two dummy clock-names to make the primecell driver happy.
> 
> I don't know what the real APB clock for the IP is, but with the current
> DT the first timer clock was used for that, so this change keeps the
> current status.
> 
> Signed-off-by: Andre Przywara <andre.przywara at arm.com>

Thanks!
Applied to the hisilicon arm32 dt tree.

Best Regards,
Wei

> ---
>  arch/arm/boot/dts/hi3620.dtsi | 30 ++++++++++++++++++++----------
>  arch/arm/boot/dts/hip04.dtsi  |  4 ++--
>  2 files changed, 22 insertions(+), 12 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/hi3620.dtsi b/arch/arm/boot/dts/hi3620.dtsi
> index f0af1bf2b4d8..355175b25fd6 100644
> --- a/arch/arm/boot/dts/hi3620.dtsi
> +++ b/arch/arm/boot/dts/hi3620.dtsi
> @@ -111,8 +111,10 @@
>  			reg = <0x800000 0x1000>;
>  			/* timer00 & timer01 */
>  			interrupts = <0 0 4>, <0 1 4>;
> -			clocks = <&clock HI3620_TIMER0_MUX>, <&clock HI3620_TIMER1_MUX>;
> -			clock-names = "apb_pclk";
> +			clocks = <&clock HI3620_TIMER0_MUX>,
> +				 <&clock HI3620_TIMER1_MUX>,
> +				 <&clock HI3620_TIMER0_MUX>;
> +			clock-names = "timer0clk", "timer1clk", "apb_pclk";
>  			status = "disabled";
>  		};
>  
> @@ -121,8 +123,10 @@
>  			reg = <0x801000 0x1000>;
>  			/* timer10 & timer11 */
>  			interrupts = <0 2 4>, <0 3 4>;
> -			clocks = <&clock HI3620_TIMER2_MUX>, <&clock HI3620_TIMER3_MUX>;
> -			clock-names = "apb_pclk";
> +			clocks = <&clock HI3620_TIMER2_MUX>,
> +				 <&clock HI3620_TIMER3_MUX>,
> +				 <&clock HI3620_TIMER2_MUX>;
> +			clock-names = "timer0clk", "timer1clk", "apb_pclk";
>  			status = "disabled";
>  		};
>  
> @@ -131,8 +135,10 @@
>  			reg = <0xa01000 0x1000>;
>  			/* timer20 & timer21 */
>  			interrupts = <0 4 4>, <0 5 4>;
> -			clocks = <&clock HI3620_TIMER4_MUX>, <&clock HI3620_TIMER5_MUX>;
> -			clock-names = "apb_pclk";
> +			clocks = <&clock HI3620_TIMER4_MUX>,
> +				 <&clock HI3620_TIMER5_MUX>,
> +				 <&clock HI3620_TIMER4_MUX>;
> +			clock-names = "timer0lck", "timer1clk", "apb_pclk";
>  			status = "disabled";
>  		};
>  
> @@ -141,8 +147,10 @@
>  			reg = <0xa02000 0x1000>;
>  			/* timer30 & timer31 */
>  			interrupts = <0 6 4>, <0 7 4>;
> -			clocks = <&clock HI3620_TIMER6_MUX>, <&clock HI3620_TIMER7_MUX>;
> -			clock-names = "apb_pclk";
> +			clocks = <&clock HI3620_TIMER6_MUX>,
> +				 <&clock HI3620_TIMER7_MUX>,
> +				 <&clock HI3620_TIMER6_MUX>;
> +			clock-names = "timer0clk", "timer1clk", "apb_pclk";
>  			status = "disabled";
>  		};
>  
> @@ -151,8 +159,10 @@
>  			reg = <0xa03000 0x1000>;
>  			/* timer40 & timer41 */
>  			interrupts = <0 96 4>, <0 97 4>;
> -			clocks = <&clock HI3620_TIMER8_MUX>, <&clock HI3620_TIMER9_MUX>;
> -			clock-names = "apb_pclk";
> +			clocks = <&clock HI3620_TIMER8_MUX>,
> +				 <&clock HI3620_TIMER9_MUX>,
> +				 <&clock HI3620_TIMER8_MUX>;
> +			clock-names = "timer0clk", "timer1clk", "apb_pclk";
>  			status = "disabled";
>  		};
>  
> diff --git a/arch/arm/boot/dts/hip04.dtsi b/arch/arm/boot/dts/hip04.dtsi
> index 4263a9339c2e..f5871b1d1ec4 100644
> --- a/arch/arm/boot/dts/hip04.dtsi
> +++ b/arch/arm/boot/dts/hip04.dtsi
> @@ -226,8 +226,8 @@
>  			compatible = "arm,sp804", "arm,primecell";
>  			reg = <0x3000000 0x1000>;
>  			interrupts = <0 224 4>;
> -			clocks = <&clk_50m>, <&clk_50m>;
> -			clock-names = "apb_pclk";
> +			clocks = <&clk_50m>, <&clk_50m>, <&clk_50m>;
> +			clock-names = "timer0clk", "timer1clk", "apb_pclk";
>  		};
>  
>  		arm-pmu {
> 



More information about the linux-arm-kernel mailing list