summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/spi/nvidia,spi-tegra114.txt
blob: 2d961d8e3d6949ae000cfcdecf2fe05248161ec3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
NVIDIA Tegra114 SPI controller.

Required properties:
- compatible : should be "nvidia,tegra114-spi".
- reg: Should contain SPI registers location and length.
- interrupts: Should contain SPI interrupts.
- nvidia,dma-request-selector : The Tegra DMA controller's phandle and
  request selector for this SPI controller.

Recommended properties:
- spi-max-frequency: Definition as per
                     Documentation/devicetree/bindings/spi/spi-bus.txt
Optional properties:
- nvidia,clock-always-on: Enable clock of spi always.

spi-client device controller properties:
- nvidia,enable-hw-based-cs: (Boolean) Use the HW based CS if enabled.
- nvidia,tx-clk-tap-delay: Delays the clock going out to the external device
  with this tap value.
- nvidia,rx-clk-tap-delay: Delays the clock coming in from the external device
  with this tap value.
- nvidia,cs-setup-clk-count: CS setup timing parameter.
- nvidia,cs-hold-clk-count: CS hold timing parameter.

Example:
spi@7000d600 {
	compatible = "nvidia,tegra114-spi";
	reg = <0x7000d600 0x200>;
	interrupts = <0 82 0x04>;
	nvidia,dma-request-selector = <&apbdma 16>;
	spi-max-frequency = <25000000>;
	nvidia,clock-always-on;
	#address-cells = <1>;
	#size-cells = <0>;
	status = "disabled";

	<spi-client>@<bus_num> {
		...
		...
		nvidia,enable-hw-based-cs;
		nvidia,cs-setup-clk-count = <10>;
		nvidia,cs-hold-clk-count = <10>;
		nvidia,rx-clk-tap-delay = <0>;
		nvidia,tx-clk-tap-delay = <16>;
		...
	};
};