Merge tag 'v5.15.57' into rpi-5.15.y
[platform/kernel/linux-rpi.git] / Documentation / devicetree / bindings / misc / brcm,bcm2835-smi.txt
1 * Broadcom BCM2835 SMI driver.
2
3 SMI or secondary memory interface is a peripheral specific to certain Broadcom
4 SOCs, and is helpful for talking to things like parallel-interface displays
5 and NAND flashes (in fact, most things with a parallel register interface).
6
7 Required properties:
8 - compatible: "brcm,bcm2835-smi"
9 - reg: Should contain location and length of SMI registers and SMI clkman regs
10 - interrupts: *the* SMI interrupt.
11 - pinctrl-names: should be "default".
12 - pinctrl-0: the phandle of the gpio pin node.
13 - brcm,smi-clock-source: the clock source for clkman
14 - brcm,smi-clock-divisor: the integer clock divisor for clkman
15 - dmas: the dma controller phandle and the DREQ number (4 on a 2835)
16 - dma-names: the name used by the driver to request its channel.
17   Should be "rx-tx".
18
19 Optional properties:
20 - None.
21
22 Examples:
23
24 8 data pin configuration:
25
26 smi: smi@7e600000 {
27         compatible = "brcm,bcm2835-smi";
28         reg = <0x7e600000 0x44>, <0x7e1010b0 0x8>;
29         interrupts = <2 16>;
30         pinctrl-names = "default";
31         pinctrl-0 = <&smi_pins>;
32         brcm,smi-clock-source = <6>;
33         brcm,smi-clock-divisor = <4>;
34         dmas = <&dma 4>;
35         dma-names = "rx-tx";
36
37         status = "okay";
38 };
39
40 smi_pins: smi_pins {
41         brcm,pins = <2 3 4 5 6 7 8 9 10 11 12 13 14 15>;
42         /* Alt 1: SMI */
43         brcm,function = <5 5 5 5 5 5 5 5 5 5 5 5 5 5>;
44         /* /CS, /WE and /OE are pulled high, as they are
45            generally active low signals */
46         brcm,pull = <2 2 2 2 2 2 0 0 0 0 0 0 0 0>;
47 };
48