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