162306a36Sopenharmony_ciBroadcom BCM63138 DSL System-on-a-Chip device tree bindings 262306a36Sopenharmony_ci----------------------------------------------------------- 362306a36Sopenharmony_ci 462306a36Sopenharmony_ciBoards compatible with the BCM63138 DSL System-on-a-Chip should have the 562306a36Sopenharmony_cifollowing properties: 662306a36Sopenharmony_ci 762306a36Sopenharmony_ciRequired root node property: 862306a36Sopenharmony_ci 962306a36Sopenharmony_cicompatible: should be "brcm,bcm63138" 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ciAn optional Boot lookup table Device Tree node is required for secondary CPU 1262306a36Sopenharmony_ciinitialization as well as a 'resets' phandle to the correct PMB controller as 1362306a36Sopenharmony_cidefined in reset/brcm,bcm63138-pmb.txt for this secondary CPU, and an 1462306a36Sopenharmony_ci'enable-method' property. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciRequired properties for the Boot lookup table node: 1762306a36Sopenharmony_ci- compatible: should be "brcm,bcm63138-bootlut" 1862306a36Sopenharmony_ci- reg: register base address and length for the Boot Lookup table 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciOptional properties for the primary CPU node: 2162306a36Sopenharmony_ci- enable-method: should be "brcm,bcm63138" 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ciOptional properties for the secondary CPU node: 2462306a36Sopenharmony_ci- enable-method: should be "brcm,bcm63138" 2562306a36Sopenharmony_ci- resets: phandle to the relevant PMB controller, one integer indicating the internal 2662306a36Sopenharmony_ci bus number, and a second integer indicating the address of the CPU in the PMB 2762306a36Sopenharmony_ci internal bus number. 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciExample: 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci cpus { 3262306a36Sopenharmony_ci cpu@0 { 3362306a36Sopenharmony_ci compatible = "arm,cortex-a9"; 3462306a36Sopenharmony_ci reg = <0>; 3562306a36Sopenharmony_ci ... 3662306a36Sopenharmony_ci enable-method = "brcm,bcm63138"; 3762306a36Sopenharmony_ci }; 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci cpu@1 { 4062306a36Sopenharmony_ci compatible = "arm,cortex-a9"; 4162306a36Sopenharmony_ci reg = <1>; 4262306a36Sopenharmony_ci ... 4362306a36Sopenharmony_ci enable-method = "brcm,bcm63138"; 4462306a36Sopenharmony_ci resets = <&pmb0 4 1>; 4562306a36Sopenharmony_ci }; 4662306a36Sopenharmony_ci }; 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci bootlut: bootlut@8000 { 4962306a36Sopenharmony_ci compatible = "brcm,bcm63138-bootlut"; 5062306a36Sopenharmony_ci reg = <0x8000 0x50>; 5162306a36Sopenharmony_ci }; 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci======= 5462306a36Sopenharmony_cireboot 5562306a36Sopenharmony_ci------ 5662306a36Sopenharmony_ciTwo nodes are required for software reboot: a timer node and a syscon-reboot node. 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ciTimer node: 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci- compatible: Must be "brcm,bcm6328-timer", "syscon" 6162306a36Sopenharmony_ci- reg: Register base address and length 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ciSyscon reboot node: 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ciSee Documentation/devicetree/bindings/power/reset/syscon-reboot.yaml for the 6662306a36Sopenharmony_cidetailed list of properties, the two values defined below are specific to the 6762306a36Sopenharmony_ciBCM6328-style timer: 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci- offset: Should be 0x34 to denote the offset of the TIMER_WD_TIMER_RESET register 7062306a36Sopenharmony_ci from the beginning of the TIMER block 7162306a36Sopenharmony_ci- mask: Should be 1 for the SoftRst bit. 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ciExample: 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci timer: timer@80 { 7662306a36Sopenharmony_ci compatible = "brcm,bcm6328-timer", "syscon"; 7762306a36Sopenharmony_ci reg = <0x80 0x3c>; 7862306a36Sopenharmony_ci }; 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci reboot { 8162306a36Sopenharmony_ci compatible = "syscon-reboot"; 8262306a36Sopenharmony_ci regmap = <&timer>; 8362306a36Sopenharmony_ci offset = <0x34>; 8462306a36Sopenharmony_ci mask = <0x1>; 8562306a36Sopenharmony_ci }; 86