This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

66AK2G12: Device tree clock configuration (k2g_clks)

Part Number: 66AK2G12

Hello,

I've got a 66AK2G12 running the ti2019.06 tag of Linux on a custom card that is using a 24 MHz oscillator connected to the SOC_SYSOSC.

I'm having issues figuring out how to configure my device tree accordingly. All of my interfaces are having issues getting the clock reference.

I noticed that the k2g_evm has an audio clock defined, but that doesn't seem to be the issue here.

My device tree entry for the pmmc with k2g_clks is as follows:

pmmc@2921c00 {
    compatible = "ti,k2g-sci";
    ti,system-reboot-controller;
    mbox-names = "rx\0tx";
    mboxes = <0x11 0x05 0x02 0x11 0x00 0x00>;
    reg-names = "debug_messages";
    reg = <0x2921c00 0x400>;

    power-controller {
        compatible = "ti,sci-pm-domain";
        #power-domain-cells = <0x01>;
        phandle = <0x04>;
    };

    clocks {
        compatible = "ti,k2g-sci-clk";
        #clock-cells = <0x02>;
        phandle = <0x03>;
    };

    reset-controller {
        compatible = "ti,sci-reset";
        #reset-cells = <0x02>;
        phandle = <0x0d>;
    };
};

Here's some output along the boot process showing the clocks failing to register (I get more failures if I enable SPI):

[    0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000004] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000016] Switching to timer-based delay loop, resolution 41ns
[    0.000111] keystone_timer_init: failed to get clock
[    0.000129] Failed to initialize '/soc@0/timer@2210000': -517
[    0.000270] Console: colour dummy device 80x30

...

[    1.198495] NET: Registered protocol family 45
[    1.198620] Registering SWP/SWPB emulation handler
[    1.199796] davinci_gpio 2603000.gpio: Error -517 getting gpio clock
[    1.200621] davinci_gpio 260a000.gpio: Error -517 getting gpio clock
[    1.203883] ti-sci 2921c00.pmmc: ABI: 2.4 (firmware rev 0x0011 '0.1.1-50-g129ef (Eagle)')
[    1.212583] random: fast init done
[    1.246575] ti-sci-clk 2921c00.pmmc:clocks: get-parent failed for dev=76, clk=11, ret=-19
[    1.246664] ti-sci-clk 2921c00.pmmc:clocks: get-parent failed for dev=76, clk=11, ret=-19
[    1.246862] ti-sci-clk 2921c00.pmmc:clocks: get-parent failed for dev=76, clk=11, ret=-19
[    1.252075] keystone timer clock @166666666 Hz

I've found some information here that might be helpful, but I don't really have a great understanding on what properties I should be setting for these clocks and what id's match what clock.

https://patchwork.kernel.org/project/linux-clk/patch/1477053961-27128-3-git-send-email-t-kristo@ti.com/

There's reference to some information on the TI wiki (which no longer exists), but I haven't been able to find information elsewhere.

http://processors.wiki.ti.com/index.php/TISCI#66AK2G02_Data

Any help would be greatly appreciated