Bosch C_CAN/D_CAN controller Device Tree Bindings 
 | 
------------------------------------------------- 
 | 
  
 | 
Required properties: 
 | 
- compatible        : Should be "bosch,c_can" for C_CAN controllers and 
 | 
              "bosch,d_can" for D_CAN controllers. 
 | 
              Can be "ti,dra7-d_can", "ti,am3352-d_can" or 
 | 
              "ti,am4372-d_can". 
 | 
- reg            : physical base address and size of the C_CAN/D_CAN 
 | 
              registers map 
 | 
- interrupts        : property with a value describing the interrupt 
 | 
              number 
 | 
  
 | 
The following are mandatory properties for DRA7x, AM33xx and AM43xx SoCs only: 
 | 
- ti,hwmods        : Must be "d_can<n>" or "c_can<n>", n being the 
 | 
              instance number 
 | 
  
 | 
The following are mandatory properties for Keystone 2 66AK2G SoCs only: 
 | 
- power-domains        : Should contain a phandle to a PM domain provider node 
 | 
              and an args specifier containing the DCAN device id 
 | 
              value. This property is as per the binding, 
 | 
              Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt 
 | 
- clocks        : CAN functional clock phandle. This property is as per the 
 | 
              binding, 
 | 
              Documentation/devicetree/bindings/clock/ti,sci-clk.txt 
 | 
  
 | 
Optional properties: 
 | 
- syscon-raminit    : Handle to system control region that contains the 
 | 
              RAMINIT register, register offset to the RAMINIT 
 | 
              register and the CAN instance number (0 offset). 
 | 
  
 | 
Note: "ti,hwmods" field is used to fetch the base address and irq 
 | 
resources from TI, omap hwmod data base during device registration. 
 | 
Future plan is to migrate hwmod data base contents into device tree 
 | 
blob so that, all the required data will be used from device tree dts 
 | 
file. 
 | 
  
 | 
Example: 
 | 
  
 | 
Step1: SoC common .dtsi file 
 | 
  
 | 
    dcan1: d_can@481d0000 { 
 | 
        compatible = "bosch,d_can"; 
 | 
        reg = <0x481d0000 0x2000>; 
 | 
        interrupts = <55>; 
 | 
        interrupt-parent = <&intc>; 
 | 
        status = "disabled"; 
 | 
    }; 
 | 
  
 | 
(or) 
 | 
  
 | 
    dcan1: d_can@481d0000 { 
 | 
        compatible = "bosch,d_can"; 
 | 
        ti,hwmods = "d_can1"; 
 | 
        reg = <0x481d0000 0x2000>; 
 | 
        interrupts = <55>; 
 | 
        interrupt-parent = <&intc>; 
 | 
        status = "disabled"; 
 | 
    }; 
 | 
  
 | 
Step 2: board specific .dts file 
 | 
  
 | 
    &dcan1 { 
 | 
        status = "okay"; 
 | 
    }; 
 |