Murali Karicheri | b325e83 | 2015-08-04 12:36:43 -0400 | [diff] [blame] | 1 | TI Keystone Linux Overview |
| 2 | -------------------------- |
| 3 | |
| 4 | Introduction |
| 5 | ------------ |
| 6 | Keystone range of SoCs are based on ARM Cortex-A15 MPCore Processors |
| 7 | and c66x DSP cores. This document describes essential information required |
| 8 | for users to run Linux on Keystone based EVMs from Texas Instruments. |
| 9 | |
| 10 | Following SoCs & EVMs are currently supported:- |
| 11 | |
| 12 | ------------ K2HK SoC and EVM -------------------------------------------------- |
| 13 | |
| 14 | a.k.a Keystone 2 Hawking/Kepler SoC |
| 15 | TCI6636K2H & TCI6636K2K: See documentation at |
| 16 | http://www.ti.com/product/tci6638k2k |
| 17 | http://www.ti.com/product/tci6638k2h |
| 18 | |
| 19 | EVM: |
| 20 | http://www.advantech.com/Support/TI-EVM/EVMK2HX_sd.aspx |
| 21 | |
| 22 | ------------ K2E SoC and EVM --------------------------------------------------- |
| 23 | |
| 24 | a.k.a Keystone 2 Edison SoC |
| 25 | K2E - 66AK2E05: See documentation at |
| 26 | http://www.ti.com/product/66AK2E05/technicaldocuments |
| 27 | |
| 28 | EVM: |
| 29 | https://www.einfochips.com/index.php/partnerships/texas-instruments/k2e-evm.html |
| 30 | |
| 31 | ------------ K2L SoC and EVM --------------------------------------------------- |
| 32 | |
| 33 | a.k.a Keystone 2 Lamarr SoC |
| 34 | K2L - TCI6630K2L: See documentation at |
| 35 | http://www.ti.com/product/TCI6630K2L/technicaldocuments |
| 36 | EVM: |
| 37 | https://www.einfochips.com/index.php/partnerships/texas-instruments/k2l-evm.html |
| 38 | |
| 39 | Configuration |
| 40 | ------------- |
| 41 | |
| 42 | All of the K2 SoCs/EVMs share a common defconfig, keystone_defconfig and same |
| 43 | image is used to boot on individual EVMs. The platform configuration is |
| 44 | specified 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 | |
| 49 | The device tree documentation for the keystone machines are located at |
| 50 | Documentation/devicetree/bindings/arm/keystone/keystone.txt |
| 51 | |
| 52 | Known issues & workaround |
| 53 | ------------------------- |
| 54 | |
| 55 | Some of the device drivers used on keystone are re-used from that from |
| 56 | DaVinci and other TI SoCs. These device drivers may use clock APIs directly. |
| 57 | Some of the keystone specific drivers such as netcp uses run time power |
| 58 | management API instead to enable clock. As this API has limitations on |
| 59 | keystone, 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 | |
| 70 | Document Author |
| 71 | --------------- |
| 72 | Murali Karicheri <m-karicheri2@ti.com> |
| 73 | Copyright 2015 Texas Instruments |