Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Oct 2019 22:26:35 +0200
From:      =?utf-8?Q?S=C3=B8ren_Schmidt?= <soren.schmidt@gmail.com>
To:        Emmanuel Vadot <manu@bidouilliste.com>
Cc:        freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: Trouble starting AP cpu's on all winner R40/V40 chip, help needed?
Message-ID:  <184A8618-F027-42F2-B930-C3331DB43A50@gmail.com>
In-Reply-To: <07E4329F-3DFD-49FB-A3BC-A63790DCC798@gmail.com>
References:  <0AE907CC-0CBC-4A8A-A2D3-71EF37330503@gmail.com> <20191015140210.82d406d7a7b86720e4771206@bidouilliste.com> <C3E6AB41-30DA-4BB7-A6E8-533D536413E2@gmail.com> <07E4329F-3DFD-49FB-A3BC-A63790DCC798@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help


>>=20
>>>=20
>>> R40 seems to use different registers for cpu bringup, so you will =
need
>>> to define a new platform for it in aw_machdep.c and defines some new
>>> function for ap bringup in aw_mp.c
>>> The User Manual section 3.2 of the R40 have all the needed info.
>>>=20
>>=20
>> Yeps, already did that, and I can reset the cores etc, that seems to =
work (register bits flips), but there are no mention of regs to put the =
starting address into.
>>=20
>> Chap 3.2 doesn=E2=80=99t mention anything in that regard (at least in =
the docs I=E2=80=99ve found online) its moved to chap 4.2 in the latest =
R40/V40/T3 docs I=E2=80=99ve found bu still no mention of starting =
address.
>>=20
>> I looks somewhat like the A20 ie it has control for 2 cpu=E2=80=99s =
the last two are missing from the register ref, which suggests to me =
that the docs might be inaccurate at best.
>>=20
>> I looked into =E2=80=9CTina-linux=E2=80=9D that they made for it, but =
I havn=E2=80=99t found out how they start it there either..
>>=20
>> I might also just have stared me blind at it :)
>=20
> Found that the start adresse is somewhere else:
>=20
> CPU software entry register offset 00bc in sysctl instead of cpuctl=E2=80=
=A6
>=20
> I=E2=80=99ll try that when I get home later today,,,

Success, I now have all 4 cores running, took a little experimenting =
though, release the power switch/clamp is non-std too.

Now to the last part, the gmac 1G ether controller :)

PS: I have had to add devices to the .dtsi and dts files for the r40/v40 =
for this to work at all, std-linux doesn=E2=80=99t support this setup =
either.

PPS: when this is all done, any chance for it to get into the official =
sources ? (Yeah I retired my src commit bit long ago :))=20

-S=C3=B8ren





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?184A8618-F027-42F2-B930-C3331DB43A50>