u-boot/include/linux
Marek Vasut eeb2db1edc clk: imx: Pass CCM udevice into clk_register_composite()
Pass the clock controller udevice into clk_register_composite(),
so it can be passed further to any registered composite clocks
and used for look up of parent clock referenced in DT "clocks"
and "clock-names" properties by phandle and name pair.

Use the clock controller udevice in imx8m_clk_mux_set_parent()
to perform accurate look up of parent clock referenced in the
CCM driver by name. If the clock name that is being looked up
matches one of the names listed in the clock controller DT node
"clock-names" array property, then the offset of the name is
looked up in the "clocks" DT property and the phandle at that
offset is resolved to the parent clock udevice. The test to
determine whether a particular driver instance registered with
clock uclass matches the parent clock is done by comparing the
OF nodes of the clock registered with clock uclass and parent
clock resolved from the phandle.

Example:

drivers/clk/imx/clk-imx8mm.c:
static const char * const imx8mm_a53_sels[] = {"osc_24m", "arm_pll_out", ...
                                      _____________|
arch/arm/dts/imx8mm.dtsi:            |
clk: clock-controller@30380000 {     v
        clock-names = "osc_32k", "osc_24m", ...
	                           |
				   v
        clocks = <&osc_32k>, <&osc_24m>, ...
};          _______________________|
...        |
/ {        v
        osc_24m: clock-osc-24m {
                compatible = "fixed-clock";
...
};

Signed-off-by: Marek Vasut <marex@denx.de>
Reported-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Tested-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Adam Ford <aford173@gmail.com> # imx8mp-beacon
2025-04-28 10:42:01 -03:00
..
byteorder include: linux: Remove duplicate newlines 2024-07-29 15:01:04 -06:00
clk
mfd/syscon
mtd spi: drop unneeded spi.h header include from spinand.h 2025-04-16 16:51:45 -06:00
soc/ti firmware: ti_sci: Scan all device instances when releasing exclusive devices 2025-04-14 16:59:52 -06:00
unaligned linux/unaligned: remove unused access_ok.h 2023-05-31 14:05:34 -04:00
usb usb: gadget: introduce 'enabled' flag in struct usb_ep 2025-04-23 09:50:52 +02:00
apm_bios.h
apple-mailbox.h mailbox: apple: Add driver for Apple IOP mailbox 2022-02-10 16:44:23 -05:00
arm-smccc.h firmware: psci: Fix bind_smccc_features psci check 2024-03-13 12:40:43 -04:00
asn1.h include: linux: Remove duplicate newlines 2024-07-29 15:01:04 -06:00
asn1_ber_bytecode.h
asn1_decoder.h
bch.h
bitfield.h
bitmap.h linux/bitmap.h: add bitmap_empty helper 2024-07-26 01:28:09 +02:00
bitops.h include: linux: Remove duplicate newlines 2024-07-29 15:01:04 -06:00
bitrev.h
bug.h
build_bug.h Fix sparse checks processing 2023-05-15 14:08:45 -04:00
clk-provider.h clk: imx: Pass CCM udevice into clk_register_composite() 2025-04-28 10:42:01 -03:00
compat.h Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
compiler-clang.h
compiler-gcc.h
compiler-intel.h
compiler.h
compiler_attributes.h
compiler_types.h compiler: Ensure __builtin_*_overflow() support 2024-08-15 16:14:36 -06:00
completion.h
const.h
crc7.h
crc16.h
crc32.h
ctype.h
delay.h
dma-direction.h
dma-mapping.h
drm_dp_helper.h
edd.h include: linux: Remove duplicate newlines 2024-07-29 15:01:04 -06:00
err.h include: linux: Remove duplicate newlines 2024-07-29 15:01:04 -06:00
errno.h
ethtool.h include: linux: Remove duplicate newlines 2024-07-29 15:01:04 -06:00
fb.h include: linux: Remove duplicate newlines 2024-07-29 15:01:04 -06:00
if_ether.h
if_vlan.h
immap_qe.h qe: Add <config.h> to linux/immap_qe.h 2023-12-21 08:54:37 -05:00
input.h
intel-smc.h arm: socfpga: soc64: Update reset manager registers for F2S bridge 2025-04-22 11:47:39 +08:00
io.h
ioctl.h
iopoll.h
ioport.h
kbuild.h
kconfig.h kconfig: binman: Check for SPL instead of XPL 2024-10-11 11:44:48 -06:00
kernel.h mbedtls: add mbedtls into the build system 2024-10-14 17:58:12 -06:00
libfdt.h
libfdt_env.h
linkage.h
linux_string.h
list.h linux: list: add a function to count list nodes 2024-07-31 09:53:01 +02:00
list_sort.h
litex.h
log2.h
lzo.h
math64.h
mbus.h
mdio.h net: phy: Add MDIO PCS 2.5G and 5G speed macros from Linux 2023-04-07 14:21:37 +02:00
mii.h include/linux/mii.h: Add <linux/types.h> 2023-11-07 14:50:52 -05:00
netdevice.h
oid_registry.h
poison.h
posix_types.h
printk.h
pruss_driver.h
psci.h
rational.h
rbtree.h include: linux: Remove duplicate newlines 2024-07-29 15:01:04 -06:00
rbtree_augmented.h include: linux: Remove duplicate newlines 2024-07-29 15:01:04 -06:00
screen_info.h
serial_reg.h include: linux: Remove duplicate newlines 2024-07-29 15:01:04 -06:00
sizes.h
stat.h linux: Add generic struct stat {} 2025-04-02 20:00:59 -06:00
stddef.h Fix sparse checks processing 2023-05-15 14:08:45 -04:00
string.h lib: implement strnstr() 2025-02-12 12:37:12 -06:00
stringify.h
time.h include: linux: Remove duplicate newlines 2024-07-29 15:01:04 -06:00
typecheck.h
types.h common: define time_t as 64bit 2023-07-25 12:44:46 -04:00
utf.h
xxhash.h
zstd.h
zstd_errors.h include: linux: Remove duplicate newlines 2024-07-29 15:01:04 -06:00
zstd_lib.h include: linux: Remove duplicate newlines 2024-07-29 15:01:04 -06:00