Hi Brad, On Wed, May 31, 2023 at 12:04 AM Brad Larson <blarson@xxxxxxx> wrote: > On Wed, May 24, 2023 at 13:52 Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > > On Tue, May 23, 2023 at 9:30 PM Brad Larson <blarson@xxxxxxx> wrote: > >> On 5/16/23 09:54, Michal Simek wrote: > >> > On 5/15/23 20:16, Brad Larson wrote: > >> >> + */ > >> >> + > >> >> +/ { > >> >> + cpus { > >> >> + #address-cells = <2>; > >> >> + #size-cells = <0>; > >> >> + > >> >> + cpu-map { > >> >> + cluster0 { > >> >> + core0 { cpu = <&cpu0>; }; > >> >> + core1 { cpu = <&cpu1>; }; > >> >> + core2 { cpu = <&cpu2>; }; > >> >> + core3 { cpu = <&cpu3>; }; > >> >> + }; > >> >> + > >> >> + cluster1 { > >> >> + core0 { cpu = <&cpu4>; }; > >> >> + core1 { cpu = <&cpu5>; }; > >> >> + core2 { cpu = <&cpu6>; }; > >> >> + core3 { cpu = <&cpu7>; }; > >> >> + }; > >> >> + > >> >> + cluster2 { > >> >> + core0 { cpu = <&cpu8>; }; > >> >> + core1 { cpu = <&cpu9>; }; > >> >> + core2 { cpu = <&cpu10>; }; > >> >> + core3 { cpu = <&cpu11>; }; > >> >> + }; > >> >> + > >> >> + cluster3 { > >> >> + core0 { cpu = <&cpu12>; }; > >> >> + core1 { cpu = <&cpu13>; }; > >> >> + core2 { cpu = <&cpu14>; }; > >> >> + core3 { cpu = <&cpu15>; }; > >> >> + }; > >> >> + }; > >> >> + > >> >> + /* CLUSTER 0 */ > >> >> + cpu0: cpu@0 { > >> >> + device_type = "cpu"; > >> >> + compatible = "arm,cortex-a72"; > >> >> + reg = <0 0x0>; > >> > > >> > Do you really need 2/0 split here. The first cell is 0 anyway. > >> > >> Yes following 64-bit system definition > > > > You mean for the 64-bit main address space? > > The CPU address space under /cpus is unrelated. > > Yes, the reg prop for this node is CPU/threads per dt spec. Checked the history and > the Elba dt was derived from socionext for these nodes and this is how those device > trees are configured along with over a dozen other devices. I changed to > address-cells = <1> and dropped the leading zero from all cpu* reg<> and booting > the system I'm observing no change. Looking in drivers/of I'm not seeing where > cpu*/reg is read and used, any recommendation? drivers/of/cpu.c Looks like there are lots of DTS files that use #address-cells = <2> for CPU nodes :-( git grep -w -A1 cpus -- "*dts*" | grep address-cells | grep "<2>" I would use <1> is the first cell is always zero... Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds