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