18c2ecf20Sopenharmony_ciBroadcom BCM63138 DSL System-on-a-Chip device tree bindings 28c2ecf20Sopenharmony_ci----------------------------------------------------------- 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ciBoards compatible with the BCM63138 DSL System-on-a-Chip should have the 58c2ecf20Sopenharmony_cifollowing properties: 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ciRequired root node property: 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cicompatible: should be "brcm,bcm63138" 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ciAn optional Boot lookup table Device Tree node is required for secondary CPU 128c2ecf20Sopenharmony_ciinitialization as well as a 'resets' phandle to the correct PMB controller as 138c2ecf20Sopenharmony_cidefined in reset/brcm,bcm63138-pmb.txt for this secondary CPU, and an 148c2ecf20Sopenharmony_ci'enable-method' property. 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciRequired properties for the Boot lookup table node: 178c2ecf20Sopenharmony_ci- compatible: should be "brcm,bcm63138-bootlut" 188c2ecf20Sopenharmony_ci- reg: register base address and length for the Boot Lookup table 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ciOptional properties for the primary CPU node: 218c2ecf20Sopenharmony_ci- enable-method: should be "brcm,bcm63138" 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ciOptional properties for the secondary CPU node: 248c2ecf20Sopenharmony_ci- enable-method: should be "brcm,bcm63138" 258c2ecf20Sopenharmony_ci- resets: phandle to the relevant PMB controller, one integer indicating the internal 268c2ecf20Sopenharmony_ci bus number, and a second integer indicating the address of the CPU in the PMB 278c2ecf20Sopenharmony_ci internal bus number. 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ciExample: 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci cpus { 328c2ecf20Sopenharmony_ci cpu@0 { 338c2ecf20Sopenharmony_ci compatible = "arm,cotex-a9"; 348c2ecf20Sopenharmony_ci reg = <0>; 358c2ecf20Sopenharmony_ci ... 368c2ecf20Sopenharmony_ci enable-method = "brcm,bcm63138"; 378c2ecf20Sopenharmony_ci }; 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci cpu@1 { 408c2ecf20Sopenharmony_ci compatible = "arm,cortex-a9"; 418c2ecf20Sopenharmony_ci reg = <1>; 428c2ecf20Sopenharmony_ci ... 438c2ecf20Sopenharmony_ci enable-method = "brcm,bcm63138"; 448c2ecf20Sopenharmony_ci resets = <&pmb0 4 1>; 458c2ecf20Sopenharmony_ci }; 468c2ecf20Sopenharmony_ci }; 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci bootlut: bootlut@8000 { 498c2ecf20Sopenharmony_ci compatible = "brcm,bcm63138-bootlut"; 508c2ecf20Sopenharmony_ci reg = <0x8000 0x50>; 518c2ecf20Sopenharmony_ci }; 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci======= 548c2ecf20Sopenharmony_cireboot 558c2ecf20Sopenharmony_ci------ 568c2ecf20Sopenharmony_ciTwo nodes are required for software reboot: a timer node and a syscon-reboot node. 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ciTimer node: 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ci- compatible: Must be "brcm,bcm6328-timer", "syscon" 618c2ecf20Sopenharmony_ci- reg: Register base address and length 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ciSyscon reboot node: 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ciSee Documentation/devicetree/bindings/power/reset/syscon-reboot.yaml for the 668c2ecf20Sopenharmony_cidetailed list of properties, the two values defined below are specific to the 678c2ecf20Sopenharmony_ciBCM6328-style timer: 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci- offset: Should be 0x34 to denote the offset of the TIMER_WD_TIMER_RESET register 708c2ecf20Sopenharmony_ci from the beginning of the TIMER block 718c2ecf20Sopenharmony_ci- mask: Should be 1 for the SoftRst bit. 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ciExample: 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci timer: timer@80 { 768c2ecf20Sopenharmony_ci compatible = "brcm,bcm6328-timer", "syscon"; 778c2ecf20Sopenharmony_ci reg = <0x80 0x3c>; 788c2ecf20Sopenharmony_ci }; 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ci reboot { 818c2ecf20Sopenharmony_ci compatible = "syscon-reboot"; 828c2ecf20Sopenharmony_ci regmap = <&timer>; 838c2ecf20Sopenharmony_ci offset = <0x34>; 848c2ecf20Sopenharmony_ci mask = <0x1>; 858c2ecf20Sopenharmony_ci }; 86