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.
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.
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
Hi Nick,
Have you checked if any of the peripherals working okay in U-Boot before booted into Linux?
Bin,
I was not able to get SPI functioning in u-boot and due to the time it was taking me I moved forward to boot Linux.
It seems that both of these issues could be caused by improperly configuring my clocks?
Thanks,
~Nick
Hi Nick,
The 66AK2G12 EVM uses 24MHz oscillator too, so in theory most of modules on your board should have correct clk settings using the SDK default configuration, unless some of the modules require different refclk in your design then you would have to modify the device tree for this. Again, I would expect most of the modules should have correct clk. Can you please share your board schematics? Let me first route your query to our hw expert to review it to ensure the clk related design has no issue.