blob: f17bc4c9dff9fa1334d518e0a6c0ffc8ac270e3a [file] [log] [blame]
Murali Karicherib325e832015-08-04 12:36:43 -04001 TI Keystone Linux Overview
2 --------------------------
3
4Introduction
5------------
6Keystone range of SoCs are based on ARM Cortex-A15 MPCore Processors
7and c66x DSP cores. This document describes essential information required
8for users to run Linux on Keystone based EVMs from Texas Instruments.
9
10Following SoCs & EVMs are currently supported:-
11
12------------ K2HK SoC and EVM --------------------------------------------------
13
14a.k.a Keystone 2 Hawking/Kepler SoC
15TCI6636K2H & TCI6636K2K: See documentation at
16 http://www.ti.com/product/tci6638k2k
17 http://www.ti.com/product/tci6638k2h
18
19EVM:
20http://www.advantech.com/Support/TI-EVM/EVMK2HX_sd.aspx
21
22------------ K2E SoC and EVM ---------------------------------------------------
23
24a.k.a Keystone 2 Edison SoC
25K2E - 66AK2E05: See documentation at
26 http://www.ti.com/product/66AK2E05/technicaldocuments
27
28EVM:
29https://www.einfochips.com/index.php/partnerships/texas-instruments/k2e-evm.html
30
31------------ K2L SoC and EVM ---------------------------------------------------
32
33a.k.a Keystone 2 Lamarr SoC
34K2L - TCI6630K2L: See documentation at
35 http://www.ti.com/product/TCI6630K2L/technicaldocuments
36EVM:
37https://www.einfochips.com/index.php/partnerships/texas-instruments/k2l-evm.html
38
39Configuration
40-------------
41
42All of the K2 SoCs/EVMs share a common defconfig, keystone_defconfig and same
43image is used to boot on individual EVMs. The platform configuration is
44specified through DTS. Following are the DTS used:-
45 K2HK EVM : k2hk-evm.dts
46 K2E EVM : k2e-evm.dts
47 K2L EVM : k2l-evm.dts
48
49The device tree documentation for the keystone machines are located at
50 Documentation/devicetree/bindings/arm/keystone/keystone.txt
51
52Known issues & workaround
53-------------------------
54
55Some of the device drivers used on keystone are re-used from that from
56DaVinci and other TI SoCs. These device drivers may use clock APIs directly.
57Some of the keystone specific drivers such as netcp uses run time power
58management API instead to enable clock. As this API has limitations on
59keystone, following workaround is needed to boot Linux.
60
61 Add 'clk_ignore_unused' to the bootargs env variable in u-boot. Otherwise
62 clock frameworks will try to disable clocks that are unused and disable
63 the hardware. This is because netcp related power domain and clock
64 domains are enabled in u-boot as run time power management API currently
65 doesn't enable clocks for netcp due to a limitation. This workaround is
66 expected to be removed in the future when proper API support becomes
67 available. Until then, this work around is needed.
68
69
70Document Author
71---------------
72Murali Karicheri <m-karicheri2@ti.com>
73Copyright 2015 Texas Instruments