Add initial support for TI's K2G SOC
Subsystems (5)
cover Add initial support for TI's K2G SOC
This patchset provides initial support for K2G the latest addition to Texas Instruments Keystone 2 product family. These patches are built on top of the latest 4.5-rc2 commit.
K2G is a A15 + C66x DSP processor built to address the needs of industrial communication and control, automotive and performance audio applications.
Supported peripherals include MMC,USB2.0,DCAN,DSS,McASP and PCIe SS.
The technical reference manual for K2G can be found here:
http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf
This patchset provides the ability to boot K2G's general purpose evm using a ramfs filesystem.
Additional patches will follow this series that will add support for new drivers that will enable additional peripherals and features
K2G Bootlog on 4.5-rc2:
http://pastebin.ubuntu.com/14861580/
To show no regressions:
K2E Bootlog: http://pastebin.ubuntu.com/14861523/
Other Keystone 2 devices need this partial revert discussed in the below thread.
http://marc.info/?l=linux-netdev&m=145444838030865&w=2
This is an issue seen on the netcp driver and has nothing to do with this patch set.
Nishanth Menon (1):
ARM: keystone: Create new binding for K2G SoC
Vitaly Andrianov (2):
ARM: dts: keystone: Add Initial DT support for TI K2G SoC family
ARM: dts: keystone: Add minimum support for K2G evm
.../devicetree/bindings/arm/keystone/keystone.txt | 5 ++ arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/k2g-evm.dts | 32 ++++++++ arch/arm/boot/dts/k2g.dtsi | 89 ++++++++++++++++++++++ arch/arm/mach-keystone/keystone.c | 1 + 5 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/k2g-evm.dts create mode 100644 arch/arm/boot/dts/k2g.dtsi
Signature · 1 line
2.7.0
PATCH 1/3 ARM: keystone: Create new binding for K2G SoC
From: Nishanth Menon <[email protected]>
K2G SoC family is the newest version of the Keystone family of processors.
The technical reference manual for K2G can be found here:
http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf
Add new bindings for K2G and the K2G evm. Also document these new bindings.
--- Documentation/devicetree/bindings/arm/keystone/keystone.txt | 5 +++++ arch/arm/mach-keystone/keystone.c | 1 + 2 files changed, 6 insertions(+)
Documentation/devicetree/bindings/arm/keystone/keystone.txt +5 -0
@@ -22,6 +22,8 @@ SoCs: compatible = "ti,k2l", "ti,keystone" - Keystone 2 Edison compatible = "ti,k2e", "ti,keystone" +- K2G + compatible = "ti,k2g", "ti,keystone" Boards: - Keystone 2 Hawking/Kepler EVM
@@ -32,3 +34,6 @@ Boards: - Keystone 2 Edison EVM compatible = "ti,k2e-evm", "ti,k2e", "ti,keystone" + +- K2G EVM + compatible = "ti,k2g-evm", "ti,k2g", "ti-keystone"
arch/arm/mach-keystone/keystone.c +1 -0
@@ -100,6 +100,7 @@ static const char *const keystone_match[] __initconst = {"ti,k2hk" ,"ti,k2e" ,"ti,k2l" , +"ti,k2g" ,"ti,keystone" , NULL, };
Signature · 1 line
2.7.0
Rob Herring
maintainerPATCH 1/3 ARM: keystone: Create new binding for K2G SoC
Quoted 7 lines · Franklin S Cooper Jr
From: Nishanth Menon <[email protected]>
K2G SoC family is the newest version of the Keystone family of processors.
The technical reference manual for K2G can be found here:
http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf
Quoted 8 lines
Add new bindings for K2G and the K2G evm. Also document these new bindings.
Signed-off-by Nishanth Menon <[email protected]>Signed-off-by Franklin S Cooper Jr <[email protected]>--- Documentation/devicetree/bindings/arm/keystone/keystone.txt | 5 +++++ arch/arm/mach-keystone/keystone.c | 1 + 2 files changed, 6 insertions(+)
PATCH 2/3 ARM: dts: keystone: Add Initial DT support for TI K2G SoC family
In reply to Franklin S Cooper JrFrom: Vitaly Andrianov <[email protected]>
K2G is the newest addition of TI's Keystone 2 product family. It is a single core Cortex A15 and a C66x DSP.
K2G supports standard peripherals such as SPI, UART, MMC and USB 2.0.
Includes two dual-core Programmable Real-time Unit and Industrial Communication Subsystems (PRU-ICSS).
The technical reference manual for K2G can be found here:
http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf
This device is targeted for a variety of applications which include, but are not limited to:
Home audio
Professional audio
Industrial Programmable Logic Control
The peripheral nodes that have been included in this patch have been tested during bring-up. Since all peripherals will not necessarily be used on all boards, disable all peripherals by default. This allow the board dts to selectively choose which peripherals it wants to enable.
This SoC now uses the next generation of power management architecture with the PM functionality located in a microcontroller embedded in the SOC.
Support for this new PM architecture along with other peripherals will be added in future patches.
--- arch/arm/boot/dts/k2g.dtsi | 89 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 arch/arm/boot/dts/k2g.dtsi
arch/arm/boot/dts/k2g.dtsi new file +89 -0
@@ -0,0 +1,89 @@ +/* + * Device Tree Source for K2G SOC + * + * Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed "as is" WITHOUT ANY WARRANTY of any + * kind, whether express or implied; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include "skeleton.dtsi" + +/ { + compatible = "ti,k2g","ti,keystone"; + model = "Texas Instruments K2G SoC"; + #address-cells = <2>; + #size-cells = <2>; + interrupt-parent = <&gic>; + + aliases { + serial0 = &uart0; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu at 0 { + compatible = "arm,cortex-a15"; + device_type = "cpu"; + reg = <0>; + }; + }; + + gic: interrupt-controller at 02561000 { + compatible = "arm,cortex-a15-gic"; + #interrupt-cells = <3>; + interrupt-controller; + reg = <0x0 0x02561000 0x0 0x1000>, + <0x0 0x02562000 0x0 0x2000>, + <0x0 0x02564000 0x0 0x1000>, + <0x0 0x02566000 0x0 0x2000>; + interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | + IRQ_TYPE_LEVEL_HIGH)>; + }; + + timer { + compatible = "arm,armv7-timer"; + interrupts = + <GIC_PPI 13 + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, + <GIC_PPI 14 + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, + <GIC_PPI 11 + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, + <GIC_PPI 10 + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; + }; + + pmu { + compatible = "arm,cortex-a15-pmu"; + interrupts = <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>; + }; + + soc { + #address-cells = <1>; + #size-cells = <1>; + compatible = "ti,keystone","simple-bus"; + ranges = <0x0 0x0 0x0 0xc0000000>; + dma-ranges = <0x80000000 0x8 0x00000000 0x80000000>; + + uart0: serial at 02530c00 { + compatible = "ns16550a"; + current-speed = <115200>; + reg-shift = <2>; + reg-io-width = <4>; + reg = <0x02530c00 0x100>; + interrupts = <GIC_SPI 164 IRQ_TYPE_EDGE_RISING>; + clock-frequency = <200000000>; + status = "disabled"; + }; + }; +};
Signature · 1 line
2.7.0
PATCH 3/3 ARM: dts: keystone: Add minimum support for K2G evm
In reply to Franklin S Cooper JrFrom: Vitaly Andrianov <[email protected]>
Add barebones K2G evm dts. This DTS allows the board to boot using a ram based filesystem.
The technical reference manual for K2G can be found here:
http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf
--- arch/arm/boot/dts/Makefile | 3 ++- arch/arm/boot/dts/k2g-evm.dts | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/k2g-evm.dts
arch/arm/boot/dts/Makefile +2 -1
@@ -156,7 +156,8 @@ dtb-$(CONFIG_ARCH_INTEGRATOR) += \ dtb-$(CONFIG_ARCH_KEYSTONE) += \ k2hk-evm.dtb \ k2l-evm.dtb \ - k2e-evm.dtb + k2e-evm.dtb \ + k2g-evm.dtb dtb-$(CONFIG_MACH_KIRKWOOD) += \ kirkwood-b3.dtb \ kirkwood-blackarmor-nas220.dtb \
arch/arm/boot/dts/k2g-evm.dts new file +32 -0
@@ -0,0 +1,32 @@ +/* + * Device Tree Source for K2G EVM + * + * Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed "as is" WITHOUT ANY WARRANTY of any + * kind, whether express or implied; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ +/dts-v1/; + +#include "k2g.dtsi" + +/ { + compatible = "ti,k2g-evm", "ti,k2g", "ti,keystone"; + model = "Texas Instruments K2G General Purpose EVM"; + + memory { + device_type = "memory"; + reg = <0x00000008 0x00000000 0x00000000 0x80000000>; + }; + +}; + +&uart0 { + status = "okay"; +};
Signature · 1 line
2.7.0
cover Add initial support for TI's K2G SOC
In reply to Franklin S Cooper JrQuoted 12 lines · Franklin S Cooper Jr
This patchset provides initial support for K2G the latest addition to Texas Instruments Keystone 2 product family. These patches are built on top of the latest 4.5-rc2 commit.
K2G is a A15 + C66x DSP processor built to address the needs of industrial communication and control, automotive and performance audio applications.
Supported peripherals include MMC,USB2.0,DCAN,DSS,McASP and PCIe SS.
The technical reference manual for K2G can be found here:
http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf
Quoted 9 lines
This patchset provides the ability to boot K2G's general purpose evm using a ramfs filesystem.
Additional patches will follow this series that will add support for new drivers that will enable additional peripherals and features
K2G Bootlog on 4.5-rc2:
http://pastebin.ubuntu.com/14861580/
Quick scan of the series looks fine to me. I will wait for others to come back for a week or so and then add to 4.6 queue.
Thanks for the series !!
Reagrds,
Santosh
cover Add initial support for TI's K2G SOC
Quoted 22 lines · santosh shilimkar
Quoted 21 lines · Franklin S Cooper Jr
This patchset provides initial support for K2G the latest addition to Texas
Instruments Keystone 2 product family. These patches are built on top of the latest 4.5-rc2 commit.K2G is a A15 + C66x DSP processor built to address the needs of industrial
communication and control, automotive and performance audio applications.Supported peripherals include MMC,USB2.0,DCAN,DSS,McASP and PCIe SS.
The technical reference manual for K2G can be found here:
http://www.ti.com/lit/ug/spruhy8/spruhy8.pdfThis patchset provides the ability to boot K2G's general purpose evm using
a ramfs filesystem.Additional patches will follow this series that will add support for new drivers that will enable additional peripherals and features
Quoted 8 lines
Quoted 3 lines
K2G Bootlog on 4.5-rc2:
http://pastebin.ubuntu.com/14861580/Quick scan of the series looks fine to me. I will wait for others to come back for a week or so and then add to 4.6 queue.
Thanks for the series !!
You should start seeing the patches in linux-next build soon.
Reagrds,
Santosh