summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/spi/nvidia,spi-tegra114.txt
blob: e3c264d90502602b7c5d05b0bff76312f3adcf0a (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
48
49
50
51
52
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.
- nvidia,polling-mode: Use polling method instead of interrupts
- nvidia,boost-reg-access: In T210 and earlier chips SPI register access
	is dependant on SPI clock frequency. Setting this option would
	allow SPI clock frequency to be boosted. Benefitial when running
	SPI at low frequencies with cpu based transfers. Default false.

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>;
		...
	};
};