1*7b9cb494SStephen WarrenNVIDIA Tegra Boot and Power Management Processor (BPMP) 2*7b9cb494SStephen Warren 3*7b9cb494SStephen WarrenThe BPMP is a specific processor in Tegra chip, which is designed for 4*7b9cb494SStephen Warrenbooting process handling and offloading the power management, clock 5*7b9cb494SStephen Warrenmanagement, and reset control tasks from the CPU. The binding document 6*7b9cb494SStephen Warrendefines the resources that would be used by the BPMP firmware driver, 7*7b9cb494SStephen Warrenwhich can create the interprocessor communication (IPC) between the CPU 8*7b9cb494SStephen Warrenand BPMP. 9*7b9cb494SStephen Warren 10*7b9cb494SStephen WarrenRequired properties: 11*7b9cb494SStephen Warren- name : Should be bpmp 12*7b9cb494SStephen Warren- compatible 13*7b9cb494SStephen Warren Array of strings 14*7b9cb494SStephen Warren One of: 15*7b9cb494SStephen Warren - "nvidia,tegra186-bpmp" 16*7b9cb494SStephen Warren- mboxes : The phandle of mailbox controller and the mailbox specifier. 17*7b9cb494SStephen Warren- shmem : List of the phandle of the TX and RX shared memory area that 18*7b9cb494SStephen Warren the IPC between CPU and BPMP is based on. 19*7b9cb494SStephen Warren- #clock-cells : Should be 1. 20*7b9cb494SStephen Warren- #power-domain-cells : Should be 1. 21*7b9cb494SStephen Warren- #reset-cells : Should be 1. 22*7b9cb494SStephen Warren 23*7b9cb494SStephen WarrenThis node is a mailbox consumer. See the following files for details of 24*7b9cb494SStephen Warrenthe mailbox subsystem, and the specifiers implemented by the relevant 25*7b9cb494SStephen Warrenprovider(s): 26*7b9cb494SStephen Warren 27*7b9cb494SStephen Warren- .../mailbox/mailbox.txt 28*7b9cb494SStephen Warren- .../mailbox/nvidia,tegra186-hsp.txt 29*7b9cb494SStephen Warren 30*7b9cb494SStephen WarrenThis node is a clock, power domain, and reset provider. See the following 31*7b9cb494SStephen Warrenfiles for general documentation of those features, and the specifiers 32*7b9cb494SStephen Warrenimplemented by this node: 33*7b9cb494SStephen Warren 34*7b9cb494SStephen Warren- .../clock/clock-bindings.txt 35*7b9cb494SStephen Warren- <dt-bindings/clock/tegra186-clock.h> 36*7b9cb494SStephen Warren- ../power/power_domain.txt 37*7b9cb494SStephen Warren- <dt-bindings/power/tegra186-powergate.h> 38*7b9cb494SStephen Warren- .../reset/reset.txt 39*7b9cb494SStephen Warren- <dt-bindings/reset/tegra186-reset.h> 40*7b9cb494SStephen Warren 41*7b9cb494SStephen WarrenThe shared memory bindings for BPMP 42*7b9cb494SStephen Warren----------------------------------- 43*7b9cb494SStephen Warren 44*7b9cb494SStephen WarrenThe shared memory area for the IPC TX and RX between CPU and BPMP are 45*7b9cb494SStephen Warrenpredefined and work on top of sysram, which is an SRAM inside the chip. 46*7b9cb494SStephen Warren 47*7b9cb494SStephen WarrenSee ".../sram/sram.txt" for the bindings. 48*7b9cb494SStephen Warren 49*7b9cb494SStephen WarrenExample: 50*7b9cb494SStephen Warren 51*7b9cb494SStephen Warrenhsp_top0: hsp@03c00000 { 52*7b9cb494SStephen Warren ... 53*7b9cb494SStephen Warren #mbox-cells = <2>; 54*7b9cb494SStephen Warren}; 55*7b9cb494SStephen Warren 56*7b9cb494SStephen Warrensysram@30000000 { 57*7b9cb494SStephen Warren compatible = "nvidia,tegra186-sysram", "mmio-sram"; 58*7b9cb494SStephen Warren reg = <0x0 0x30000000 0x0 0x50000>; 59*7b9cb494SStephen Warren #address-cells = <2>; 60*7b9cb494SStephen Warren #size-cells = <2>; 61*7b9cb494SStephen Warren ranges = <0 0x0 0x0 0x30000000 0x0 0x50000>; 62*7b9cb494SStephen Warren 63*7b9cb494SStephen Warren cpu_bpmp_tx: bpmp_shmem@4e000 { 64*7b9cb494SStephen Warren compatible = "nvidia,tegra186-bpmp-shmem"; 65*7b9cb494SStephen Warren reg = <0x0 0x4e000 0x0 0x1000>; 66*7b9cb494SStephen Warren }; 67*7b9cb494SStephen Warren 68*7b9cb494SStephen Warren cpu_bpmp_rx: bpmp_shmem@4f000 { 69*7b9cb494SStephen Warren compatible = "nvidia,tegra186-bpmp-shmem"; 70*7b9cb494SStephen Warren reg = <0x0 0x4f000 0x0 0x1000>; 71*7b9cb494SStephen Warren }; 72*7b9cb494SStephen Warren}; 73*7b9cb494SStephen Warren 74*7b9cb494SStephen Warrenbpmp { 75*7b9cb494SStephen Warren compatible = "nvidia,tegra186-bpmp"; 76*7b9cb494SStephen Warren mboxes = <&hsp_top0 HSP_MBOX_TYPE_DB HSP_DB_MASTER_BPMP>; 77*7b9cb494SStephen Warren shmem = <&cpu_bpmp_tx &cpu_bpmp_rx>; 78*7b9cb494SStephen Warren #clock-cells = <1>; 79*7b9cb494SStephen Warren #power-domain-cells = <1>; 80*7b9cb494SStephen Warren #reset-cells = <1>; 81*7b9cb494SStephen Warren}; 82