Re: h616 clocks
- Reply: titus : "Re: h616 clocks"
- In reply to: titus : "h616 clocks"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 21 Jun 2023 13:55:51 UTC
Hello Titus, On Wed, 21 Jun 2023 10:58:17 +0300 titus <titus@edc.ro> wrote: > I?m trying to add support for allwinner H616 ccu > I downloaded H616 user manual and i mostly can figure out differences from allwinner H6 but i have a question > how is the CCU_GATE clock parent assigned to a specifc ccu gate - there is no indication in the manual There is, you need to look at the system bus tree (page 90 for the H6 and page 46 for the H616). > for example > CCU_GATE(CLK_BUS_DE, "bus-de", "psi-ahb1-ahb2", 0x60c, 0) > the manual says that > 0x060C DE Bus Gating Reset Register (Default Value: 0x0000_0000) has bit 0 as DE_GATING and bit 16 as DE_RST > but why is psi-ahb1-ahb2 chosen as parent ? (can?t find any reference in the manual) No idea where you got this example as we don't have this clock defined in FreeBSD so a bit hard to answer to this specific example. But indeed that looks correct as the DE engine sits on the PSI2AHB bus which is on the PSI bus. If you look at page 91 in the H6 user manual you can see that AHB1 and AHB2 are both the same clock and equal to the PSI one, which itself is created from 4 possible parents (OSC24M, CCU_32K, RC16M and PLL_PERI0) and two factors (N and M). Clocks can be a bit hard to understand, especially clock topology and Allwinner doesn't make it better by not having a full clock topo table in their docs usually. So open the doc 3 or 4 times and go back and forth reading the clock tree and register definitions. Also don't hesitate to ask more questions I'll see if I can help. Cheers, -- Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>