Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2de81612 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'keystone_dts_for_4.14' of...

Merge tag 'keystone_dts_for_4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt

Pull "ARM: Keystone DTS for 4.14" from Santosh Shilimkar:

Contents:
- ti-sci power domain, clock and reset controller support
- DSP nodes for k2h/k2l/k2e evms
- DSP CMA memory pools for k2h/k2l/k2e/keg evms
- MMC/hsmmc suport for k2g
- eDMA support for k2g
- DCAN support for k2g

* tag 'keystone_dts_for_4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: (22 commits)
  ARM: dts: keystone-k2g-ice: Add and enable DSP CMA memory pool
  ARM: dts: keystone-k2g-evm: Add and enable DSP CMA memory pool
  ARM: dts: keystone-k2g: Add DSP node
  ARM: dts: k2g: Add DCAN nodes
  dt-bindings: net: c_can: Update binding for clock and power-domains property
  ARM: dts: keystone-k2g-evm: Enable MMC0 and MMC1
  ARM: dts: keystone-k2g: add MMC0 and MMC1 nodes
  ARM: dts: keystone-k2g: Add eDMA nodes
  dt-bindings: ti,omap-hsmmc: Add 66AK2G mmc controller
  dt-bindings: ti,edma: Add 66AK2G specific information
  ARM: dts: keystone-k2g: Add gpio nodes
  ARM: dts: keystone-k2e-evm: Add and enable DSP CMA memory pool
  ARM: dts: keystone-k2l-evm: Add and enable common DSP CMA memory pool
  ARM: dts: keystone-k2hk-evm: Add and enable common DSP CMA memory pool
  ARM: dts: keystone-k2e: Add DSP node
  ARM: dts: keystone-k2l: Add DSP nodes
  ARM: dts: keystone-k2hk: Add DSP nodes
  ARM: dts: keystone-k2g: Add TI SCI reset-controller node
  ARM: dts: keystone-k2g: Add ti-sci clock provider node
  ARM: dts: keystone-k2g: Add ti-sci power domain node
  ...
parents 0ee72c9f 6794d377
Loading
Loading
Loading
Loading
+90 −5
Original line number Diff line number Diff line
@@ -9,7 +9,12 @@ execute the actual DMA tansfer.
eDMA3 Channel Controller

Required properties:
- compatible:	"ti,edma3-tpcc" for the channel controller(s)
--------------------
- compatible:	Should be:
		- "ti,edma3-tpcc" for the channel controller(s) on OMAP,
		  AM33xx and AM43xx SoCs.
		- "ti,k2g-edma3-tpcc", "ti,edma3-tpcc" for the
		  channel controller(s) on 66AK2G.
- #dma-cells:	Should be set to <2>. The first number is the DMA request
		number and the second is the TC the channel is serviced on.
- reg:		Memory map of eDMA CC
@@ -19,8 +24,19 @@ Required properties:
- ti,tptcs:	List of TPTCs associated with the eDMA in the following form:
		<&tptc_phandle TC_priority_number>. The highest priority is 0.

SoC-specific Required properties:
--------------------------------
The following are mandatory properties for OMAP, AM33xx and AM43xx SoCs only:
- ti,hwmods:	Name of the hwmods associated to the eDMA CC.

The following are mandatory properties for 66AK2G SoCs only:
- power-domains:Should contain a phandle to a PM domain provider node
		and an args specifier containing the device id
		value. This property is as per the binding,
		Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt

Optional properties:
- ti,hwmods:	Name of the hwmods associated to the eDMA CC
-------------------
- ti,edma-memcpy-channels: List of channels allocated to be used for memcpy, iow
		these channels will be SW triggered channels. See example.
- ti,edma-reserved-slot-ranges: PaRAM slot ranges which should not be used by
@@ -31,17 +47,34 @@ Optional properties:
eDMA3 Transfer Controller

Required properties:
- compatible:	"ti,edma3-tptc" for the transfer controller(s)
--------------------
- compatible:	Should be:
		- "ti,edma3-tptc" for the transfer controller(s) on OMAP,
		  AM33xx and AM43xx SoCs.
		- "ti,k2g-edma3-tptc", "ti,edma3-tptc" for the
		  transfer controller(s) on 66AK2G.
- reg:		Memory map of eDMA TC
- interrupts:	Interrupt number for TCerrint.

SoC-specific Required properties:
--------------------------------
The following are mandatory properties for OMAP, AM33xx and AM43xx SoCs only:
- ti,hwmods:	Name of the hwmods associated to the eDMA TC.

The following are mandatory properties for 66AK2G SoCs only:
- power-domains:Should contain a phandle to a PM domain provider node
		and an args specifier containing the device id
		value. This property is as per the binding,
		Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt

Optional properties:
- ti,hwmods:	Name of the hwmods associated to the given eDMA TC
-------------------
- interrupt-names: "edma3_tcerrint"

------------------------------------------------------------------------------
Example:
Examples:

1.
edma: edma@49000000 {
	compatible = "ti,edma3-tpcc";
	ti,hwmods = "tpcc";
@@ -109,6 +142,58 @@ mcasp0: mcasp@48038000 {
	dma-names = "tx", "rx";
};

2.
edma1: edma@02728000 {
	compatible = "ti,k2g-edma3-tpcc", "ti,edma3-tpcc";
	reg =	<0x02728000 0x8000>;
	reg-names = "edma3_cc";
	interrupts = <GIC_SPI 208 IRQ_TYPE_EDGE_RISING>,
			<GIC_SPI 219 IRQ_TYPE_EDGE_RISING>,
			<GIC_SPI 220 IRQ_TYPE_EDGE_RISING>;
	interrupt-names = "edma3_ccint", "emda3_mperr",
			  "edma3_ccerrint";
	dma-requests = <64>;
	#dma-cells = <2>;

	ti,tptcs = <&edma1_tptc0 7>, <&edma1_tptc1 0>;

	/*
	 * memcpy is disabled, can be enabled with:
	 * ti,edma-memcpy-channels = <12 13 14 15>;
	 * for example.
	 */

	power-domains = <&k2g_pds 0x4f>;
};

edma1_tptc0: tptc@027b0000 {
	compatible = "ti,k2g-edma3-tptc", "ti,edma3-tptc";
	reg =	<0x027b0000 0x400>;
	power-domains = <&k2g_pds 0x4f>;
};

edma1_tptc1: tptc@027b8000 {
	compatible = "ti, k2g-edma3-tptc", "ti,edma3-tptc";
	reg =	<0x027b8000 0x400>;
	power-domains = <&k2g_pds 0x4f>;
};

mmc0: mmc@23000000 {
	compatible = "ti,k2g-hsmmc", "ti,omap4-hsmmc";
	reg = <0x23000000 0x400>;
	interrupts = <GIC_SPI 96 IRQ_TYPE_EDGE_RISING>;
	dmas = <&edma1 24 0>, <&edma1 25 0>;
	dma-names = "tx", "rx";
	bus-width = <4>;
	ti,needs-special-reset;
	no-1-8-v;
	max-frequency = <96000000>;
	power-domains = <&k2g_pds 0xb>;
	clocks = <&k2g_clks 0xb 1>, <&k2g_clks 0xb 2>;
	clock-names = "fck", "mmchsdb_fck";
	status = "disabled";
};

------------------------------------------------------------------------------
DEPRECATED binding, new DTS files must use the ti,edma3-tpcc/ti,edma3-tptc
binding.
+37 −15
Original line number Diff line number Diff line
* TI Highspeed MMC host controller for OMAP
* TI Highspeed MMC host controller for OMAP and 66AK2G family.

The Highspeed MMC Host Controller on TI OMAP family
The Highspeed MMC Host Controller on TI OMAP and 66AK2G family
provides an interface for MMC, SD, and SDIO types of memory cards.

This file documents differences between the core properties described
by mmc.txt and the properties used by the omap_hsmmc driver.

Required properties:
--------------------
- compatible:
 Should be "ti,omap2-hsmmc", for OMAP2 controllers
 Should be "ti,omap3-hsmmc", for OMAP3 controllers
 Should be "ti,omap3-pre-es3-hsmmc" for OMAP3 controllers pre ES3.0
 Should be "ti,omap4-hsmmc", for OMAP4 controllers
 Should be "ti,am33xx-hsmmc", for AM335x controllers
- ti,hwmods: Must be "mmc<n>", n is controller instance starting 1
 Should be "ti,k2g-hsmmc", "ti,omap4-hsmmc" for 66AK2G controllers.

SoC specific required properties:
---------------------------------
The following are mandatory properties for OMAPs, AM33xx and AM43xx SoCs only:
- ti,hwmods: Must be "mmc<n>", n is controller instance starting 1.

The following are mandatory properties for 66AK2G SoCs only:
- power-domains:Should contain a phandle to a PM domain provider node
		and an args specifier containing the MMC device id
		value. This property is as per the binding,
		Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
- clocks:	Must contain an entry for each entry in clock-names. Should
		be defined as per the he appropriate clock bindings consumer
		usage in Documentation/devicetree/bindings/clock/ti,sci-clk.txt
- clock-names:	Shall be "fck" for the functional clock,
		and "mmchsdb_fck" for the debounce clock.


Optional properties:
ti,dual-volt: boolean, supports dual voltage cards
<supply-name>-supply: phandle to the regulator device tree node
"supply-name" examples are "vmmc", "vmmc_aux"(deprecated)/"vqmmc" etc
ti,non-removable: non-removable slot (like eMMC)
ti,needs-special-reset: Requires a special softreset sequence
ti,needs-special-hs-handling: HSMMC IP needs special setting for handling High Speed
dmas: List of DMA specifiers with the controller specific format
as described in the generic DMA client binding. A tx and rx
specifier is required.
dma-names: List of DMA request names. These strings correspond
1:1 with the DMA specifiers listed in dmas. The string naming is
to be "rx" and "tx" for RX and TX DMA requests, respectively.
--------------------
- ti,dual-volt:		boolean, supports dual voltage cards
- <supply-name>-supply:	phandle to the regulator device tree node
			  "supply-name" examples are "vmmc",
			  "vmmc_aux"(deprecated)/"vqmmc" etc
- ti,non-removable:	non-removable slot (like eMMC)
- ti,needs-special-reset:	Requires a special softreset sequence
- ti,needs-special-hs-handling:	HSMMC IP needs special setting
				  for handling High Speed
- dmas:			List of DMA specifiers with the controller specific
			format as described in the generic DMA client
			binding. A tx and rx specifier is required.
- dma-names:		List of DMA request names. These strings correspond
			1:1 with the DMA specifiers listed in dmas.
			The string naming is to be "rx" and "tx" for
			RX and TX DMA requests, respectively.

Examples:

+12 −1
Original line number Diff line number Diff line
@@ -11,9 +11,20 @@ Required properties:
- interrupts		: property with a value describing the interrupt
			  number

Optional properties:
The following are mandatory properties for DRA7x, AM33xx and AM43xx SoCs only:
- ti,hwmods		: Must be "d_can<n>" or "c_can<n>", n being the
			  instance number

The following are mandatory properties for Keystone 2 66AK2G SoCs only:
- power-domains		: Should contain a phandle to a PM domain provider node
			  and an args specifier containing the DCAN device id
			  value. This property is as per the binding,
			  Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
- clocks		: CAN functional clock phandle. This property is as per the
			  binding,
			  Documentation/devicetree/bindings/clock/ti,sci-clk.txt

Optional properties:
- syscon-raminit	: Handle to system control region that contains the
			  RAMINIT register, register offset to the RAMINIT
			  register and the CAN instance number (0 offset).
+3 −2
Original line number Diff line number Diff line
@@ -46,12 +46,13 @@ Required Properties:
- power-domains: phandle pointing to the corresponding PM domain node
		 and an ID representing the device.

See dt-bindings/genpd/k2g.h for the list of valid identifiers for k2g.
See http://processors.wiki.ti.com/index.php/TISCI#66AK2G02_Data for the list
of valid identifiers for k2g.

Example (K2G):
--------------------
	uart0: serial@02530c00 {
		compatible = "ns16550a";
		...
		power-domains = <&k2g_pds K2G_DEV_UART0>;
		power-domains = <&k2g_pds 0x002c>;
	};
+18 −0
Original line number Diff line number Diff line
@@ -16,6 +16,19 @@
	compatible = "ti,k2e-evm", "ti,k2e", "ti,keystone";
	model = "Texas Instruments Keystone 2 Edison EVM";

	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		dsp_common_memory: dsp-common-memory@81f800000 {
			compatible = "shared-dma-pool";
			reg = <0x00000008 0x1f800000 0x00000000 0x800000>;
			reusable;
			status = "okay";
		};
	};

	soc {

		clocks {
@@ -160,3 +173,8 @@
		reg = <1>;
	};
};

&dsp0 {
	memory-region = <&dsp_common_memory>;
	status = "okay";
};
Loading