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

From: Artur Weber
Date: Sun Oct 29 2023 - 17:16:22 EST



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