Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: mailbox: Document Hi6220 mailbox driver

Document DT binding for Hisilicon Hi6220 mailbox driver.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Leo Yan <leo.yan@linaro.org>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>

authored by

Leo Yan and committed by
Jassi Brar
1cb17866 2d74ffdc

+74
+74
Documentation/devicetree/bindings/mailbox/hisilicon,hi6220-mailbox.txt
··· 1 + Hisilicon Hi6220 Mailbox Driver 2 + =============================== 3 + 4 + Hisilicon Hi6220 mailbox supports up to 32 channels. Each channel 5 + is unidirectional with a maximum message size of 8 words. I/O is 6 + performed using register access (there is no DMA) and the cell 7 + raises an interrupt when messages are received. 8 + 9 + Mailbox Device Node: 10 + ==================== 11 + 12 + Required properties: 13 + -------------------- 14 + - compatible: Shall be "hisilicon,hi6220-mbox" 15 + - reg: Contains the mailbox register address range (base 16 + address and length); the first item is for IPC 17 + registers, the second item is shared buffer for 18 + slots. 19 + - #mbox-cells: Common mailbox binding property to identify the number 20 + of cells required for the mailbox specifier. Must be 3. 21 + <&phandle slot_id dst_irq ack_irq> 22 + phandle: Label name of mailbox controller 23 + slot_id: Slot id used either for TX or RX 24 + dst_irq: IRQ identifier index number which used by MCU 25 + ack_irq: IRQ identifier index number with generating a 26 + TX/RX interrupt to application processor, 27 + mailbox driver uses it to acknowledge interrupt 28 + - interrupts: Contains the interrupt information for the mailbox 29 + device. The format is dependent on which interrupt 30 + controller the SoCs use. 31 + 32 + Optional Properties: 33 + -------------------- 34 + - hi6220,mbox-tx-noirq: Property of MCU firmware's feature, so mailbox driver 35 + use this flag to ask MCU to enable "automatic idle 36 + flag" mode or IRQ generated mode to acknowledge a TX 37 + completion. 38 + 39 + Example: 40 + -------- 41 + 42 + mailbox: mailbox@f7510000 { 43 + compatible = "hisilicon,hi6220-mbox"; 44 + reg = <0x0 0xf7510000 0x0 0x1000>, /* IPC_S */ 45 + <0x0 0x06dff800 0x0 0x0800>; /* Mailbox */ 46 + interrupt-parent = <&gic>; 47 + interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 48 + #mbox-cells = <3>; 49 + }; 50 + 51 + 52 + Mailbox client 53 + =============== 54 + 55 + Required properties: 56 + -------------------- 57 + - compatible: Many (See the client docs). 58 + - mboxes: Standard property to specify a Mailbox (See ./mailbox.txt) 59 + Cells must match 'mbox-cells' (See Mailbox Device Node above). 60 + 61 + Optional Properties: 62 + -------------------- 63 + - mbox-names: Name given to channels seen in the 'mboxes' property. 64 + 65 + Example: 66 + -------- 67 + 68 + stub_clock: stub_clock { 69 + compatible = "hisilicon,hi6220-stub-clk"; 70 + hisilicon,hi6220-clk-sram = <&sram>; 71 + #clock-cells = <1>; 72 + mbox-names = "mbox-tx", "mbox-rx"; 73 + mboxes = <&mailbox 1 0 11>, <&mailbox 0 1 10>; 74 + };