Re: [PATCH v2] dt-bindings: clock: brcm,kona-ccu: convert to YAML

Artur Weber
2023-10-29T21:16:21Z

On 28/10/2023 13:30, Stanislav Jakubek wrote:
> On Fri, Oct 27, 2023 at 03:47:48PM +0100, Conor Dooley wrote:
>> On Tue, Oct 24, 2023 at 06:45:21PM +0200, Stanislav Jakubek wrote:
>>> Convert Broadcom Kona family clock controller unit (CCU) bindings
>>> to DT schema.
>>
>> I didn't cross-check the clock-output-names, but this conversion mostly
>> looks good to me.
>>
>>> Changes during conversion:
>>> - remove "dmac" from clock-output-names for brcm,bcm11351-master-ccu,
>>> it is not used in DT nor the dt-bindings
>>> - remove "uartb4" from clock-output-names for brcm,bcm21664-slave-ccu,
>>> it is not used in DT nor the dt-bindings
>>
>> This I'm not sure about - they _were_ documented in the text-form
>> dt-binding, even if they weren't used in the dts. If the clock
>> controller does actually produce these clocks, removing them doesn't
>> make sense to me.
>
> Hi Conor. Looking at downstream, I was not able to find these clocks, though
> I admit that I'm not familiar enough with the downstream mess to be 100%
> confident.
>
> From what I can tell, the BCM21664 arch/arm/mach-hawaii/clock.c (e.g. [1])
> doesn't contain any mention of uartb4, only uartb, uartb2 and uartb3.
> And similarly, for the BCM281XX arch/arm/mach-capri/clock_capri.c (e.g. [2])
> I wasn't able to find any mention of dmac, only dmac_mux_apb and dma_axi
> (though these two don't seem to be supported on mainline yet).

I've done some digging in the downstream kernel; for the BCM21664, I'm
almost certain that the uartb4 clock doesn't exist. Broadcom helpfully
left in "RDB" files containing the entire register layout of all of the
components; and even in the RDB for the slave clock manager[1] (used by
the other uart clocks), there is no uartb4, nor is it mentioned
anywhere else in the kernel (judging by a quick grep in the kernel
sources).

As for the BCM281XX clocks, there indeed doesn't seem to be an exact
"dmac" clock but there is a "dmac" clock gate register[2], which is
used for the dma_axi clock, so perhaps that's what this is referring
to? Also not 100% certain.

Best regards,
Artur

[1] https://github.com/Samsung-KYLEPROXX/android_kernel_samsung_kyleproxx/blob/cm-14.1/arch/arm/mach-hawaii/include/mach/rdb/brcm_rdb_kps_rst_mgr_reg.h
[2] https://github.com/surblazer/android_kernel_samsung_galaxys2plus-common/blob/android-7.1/arch/arm/mach-capri/include/mach/rdb/brcm_rdb_kpm_clk_mgr_reg.h#L417-L433