Pine64 Rock64 support

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Pine64 Rock64 support

Mark Kettenis
Ordered myself one of these:

  https://www.pine64.org/?page_id=7147

and it arrived yesterday.  Got the basics working already.  Gigabit
Ethernet doesn't quite work yet and the device tree in mainline Linux
is broken and causes the USB bus not to be powered.

Firmware situation isn't ideal as it currently relies on closed source
components from Rockchip that have a license that doesn't allow
redistribution.  Apparently patches for U-Boot exist to avoid those
but those haven't landed in mainline U-Boot yet.


OpenBSD 6.2-current (GENERIC.MP) #25: Sun Feb 25 21:14:51 CET 2018
    [hidden email]:/home/kettenis/src/rock64/sys/arch/arm64/compile/GENERIC.MP
real mem  = 2086510592 (1989MB)
avail mem = 1990930432 (1898MB)
mainbus0 at root: Pine64 Rock64
cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
efi0 at mainbus0: UEFI 2.0.5
efi0: Das U-boot rev 0x0
psci0 at mainbus0: PSCI 1.0
syscon0 at mainbus0: "syscon"
rkclock0 at mainbus0
syscon1 at mainbus0: "syscon"
ampintc0 at mainbus0 nirq 160, ncpu 4 ipi: 0, 1: "interrupt-controller"
rkpinctrl0 at mainbus0: "pinctrl"
rkgpio0 at rkpinctrl0
rkgpio1 at rkpinctrl0
rkgpio2 at rkpinctrl0
rkgpio3 at rkpinctrl0
simplebus0 at mainbus0: "amba"
agtimer0 at mainbus0: tick rate 24000 KHz
com0 at mainbus0: ns16550, no working fifo
com0: console
rkiic0 at mainbus0
iic0 at rkiic0
rkpmic0 at iic0 addr 0x18: RK805
dwmmc0 at mainbus0: 96 MHz base clock
sdmmc0 at dwmmc0: 4-bit
dwmmc1 at mainbus0: 0 MHz base clock
sdmmc1 at dwmmc1: 8-bit
dwge0 at mainbus0
dwge0: address: 82:ab:2b:8e:96:47
rgephy0 at dwge0 phy 0: RTL8169S/8110S/8211 PHY, rev. 6
rgephy1 at dwge0 phy 1: RTL8169S/8110S/8211 PHY, rev. 6
ehci0 at mainbus0
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
cpu1 at mainbus0 mpidr 1: ARM Cortex-A53 r0p4
cpu2 at mainbus0 mpidr 2: ARM Cortex-A53 r0p4
cpu3 at mainbus0 mpidr 3: ARM Cortex-A53 r0p4
scsibus0 at sdmmc0: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <SD/MMC, BB2MW, 0030> SCSI2 0/direct removable
sd0: 30543MB, 512 bytes/sector, 62552064 sectors
sdmmc1: can't enable card
cdce0 at uhub0 port 1 configuration 2 interface 0 "TP-LINK USB 10/100/1000 LAN" rev 2.10/30.00 addr 2
cdce0: address f4:f2:6d:18:1a:e2
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
bootfile: sd0a:/bsd
boot device: sd0
root on sd0a (945c5b02147ba041.a) swap on sd0b dump on sd0b

Reply | Threaded
Open this post in threaded view
|

Re: Pine64 Rock64 support

Jonathan Gray-11
On Sun, Feb 25, 2018 at 09:37:50PM +0100, Mark Kettenis wrote:
> Ordered myself one of these:
>
>   https://www.pine64.org/?page_id=7147
>
> and it arrived yesterday.  Got the basics working already.  Gigabit
> Ethernet doesn't quite work yet and the device tree in mainline Linux
> is broken and causes the USB bus not to be powered.

If you are using U-Boot master and Ethernet doesn't work from
U-Boot you will likely need a patch to unbreak it.  At least
I did on RK3288.

https://patchwork.ozlabs.org/patch/869785/

Though it seems there still isn't a config in U-Boot for this board.
Are you using a custom config or a different tree such as
https://github.com/ayufan-rock64/linux-u-boot ?

>
> Firmware situation isn't ideal as it currently relies on closed source
> components from Rockchip that have a license that doesn't allow
> redistribution.  Apparently patches for U-Boot exist to avoid those
> but those haven't landed in mainline U-Boot yet.
>
>
> OpenBSD 6.2-current (GENERIC.MP) #25: Sun Feb 25 21:14:51 CET 2018
>     [hidden email]:/home/kettenis/src/rock64/sys/arch/arm64/compile/GENERIC.MP
> real mem  = 2086510592 (1989MB)
> avail mem = 1990930432 (1898MB)
> mainbus0 at root: Pine64 Rock64
> cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
> efi0 at mainbus0: UEFI 2.0.5
> efi0: Das U-boot rev 0x0
> psci0 at mainbus0: PSCI 1.0
> syscon0 at mainbus0: "syscon"
> rkclock0 at mainbus0
> syscon1 at mainbus0: "syscon"
> ampintc0 at mainbus0 nirq 160, ncpu 4 ipi: 0, 1: "interrupt-controller"
> rkpinctrl0 at mainbus0: "pinctrl"
> rkgpio0 at rkpinctrl0
> rkgpio1 at rkpinctrl0
> rkgpio2 at rkpinctrl0
> rkgpio3 at rkpinctrl0
> simplebus0 at mainbus0: "amba"
> agtimer0 at mainbus0: tick rate 24000 KHz
> com0 at mainbus0: ns16550, no working fifo
> com0: console
> rkiic0 at mainbus0
> iic0 at rkiic0
> rkpmic0 at iic0 addr 0x18: RK805
> dwmmc0 at mainbus0: 96 MHz base clock
> sdmmc0 at dwmmc0: 4-bit
> dwmmc1 at mainbus0: 0 MHz base clock
> sdmmc1 at dwmmc1: 8-bit
> dwge0 at mainbus0
> dwge0: address: 82:ab:2b:8e:96:47
> rgephy0 at dwge0 phy 0: RTL8169S/8110S/8211 PHY, rev. 6
> rgephy1 at dwge0 phy 1: RTL8169S/8110S/8211 PHY, rev. 6
> ehci0 at mainbus0
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
> cpu1 at mainbus0 mpidr 1: ARM Cortex-A53 r0p4
> cpu2 at mainbus0 mpidr 2: ARM Cortex-A53 r0p4
> cpu3 at mainbus0 mpidr 3: ARM Cortex-A53 r0p4
> scsibus0 at sdmmc0: 2 targets, initiator 0
> sd0 at scsibus0 targ 1 lun 0: <SD/MMC, BB2MW, 0030> SCSI2 0/direct removable
> sd0: 30543MB, 512 bytes/sector, 62552064 sectors
> sdmmc1: can't enable card
> cdce0 at uhub0 port 1 configuration 2 interface 0 "TP-LINK USB 10/100/1000 LAN" rev 2.10/30.00 addr 2
> cdce0: address f4:f2:6d:18:1a:e2
> vscsi0 at root
> scsibus1 at vscsi0: 256 targets
> softraid0 at root
> scsibus2 at softraid0: 256 targets
> bootfile: sd0a:/bsd
> boot device: sd0
> root on sd0a (945c5b02147ba041.a) swap on sd0b dump on sd0b
>

Reply | Threaded
Open this post in threaded view
|

Re: Pine64 Rock64 support

Jonathan Gray-11
On Mon, Feb 26, 2018 at 12:08:22PM +1100, Jonathan Gray wrote:

> On Sun, Feb 25, 2018 at 09:37:50PM +0100, Mark Kettenis wrote:
> > Ordered myself one of these:
> >
> >   https://www.pine64.org/?page_id=7147
> >
> > and it arrived yesterday.  Got the basics working already.  Gigabit
> > Ethernet doesn't quite work yet and the device tree in mainline Linux
> > is broken and causes the USB bus not to be powered.
>
> If you are using U-Boot master and Ethernet doesn't work from
> U-Boot you will likely need a patch to unbreak it.  At least
> I did on RK3288.
>
> https://patchwork.ozlabs.org/patch/869785/
>
> Though it seems there still isn't a config in U-Boot for this board.
> Are you using a custom config or a different tree such as
> https://github.com/ayufan-rock64/linux-u-boot ?
>
> >
> > Firmware situation isn't ideal as it currently relies on closed source
> > components from Rockchip that have a license that doesn't allow
> > redistribution.  Apparently patches for U-Boot exist to avoid those
> > but those haven't landed in mainline U-Boot yet.

There is no SPL support for RK3328 in U-Boot master yet,
patch series for it is
https://patchwork.ozlabs.org/cover/830462/

Which seems to be included in the previously mentioned ayufan-rock64 tree.

Given the rock64 has spi flash if U-Boot were written there it should
be possible to just boot the standard miniroot and install without
having to mess around further.

Reply | Threaded
Open this post in threaded view
|

Re: Pine64 Rock64 support

Mark Kettenis
> Date: Mon, 26 Feb 2018 13:43:28 +1100
> From: Jonathan Gray <[hidden email]>
>
> On Mon, Feb 26, 2018 at 12:08:22PM +1100, Jonathan Gray wrote:
> > On Sun, Feb 25, 2018 at 09:37:50PM +0100, Mark Kettenis wrote:
> > > Ordered myself one of these:
> > >
> > >   https://www.pine64.org/?page_id=7147
> > >
> > > and it arrived yesterday.  Got the basics working already.  Gigabit
> > > Ethernet doesn't quite work yet and the device tree in mainline Linux
> > > is broken and causes the USB bus not to be powered.
> >
> > If you are using U-Boot master and Ethernet doesn't work from
> > U-Boot you will likely need a patch to unbreak it.  At least
> > I did on RK3288.
> >
> > https://patchwork.ozlabs.org/patch/869785/
> >
> > Though it seems there still isn't a config in U-Boot for this board.
> > Are you using a custom config or a different tree such as
> > https://github.com/ayufan-rock64/linux-u-boot ?
> >
> > >
> > > Firmware situation isn't ideal as it currently relies on closed source
> > > components from Rockchip that have a license that doesn't allow
> > > redistribution.  Apparently patches for U-Boot exist to avoid those
> > > but those haven't landed in mainline U-Boot yet.
>
> There is no SPL support for RK3328 in U-Boot master yet,
> patch series for it is
> https://patchwork.ozlabs.org/cover/830462/

Right.  But even that patch series doesn't include the actual SDRAM
initialization code yet.

> Which seems to be included in the previously mentioned ayufan-rock64 tree.

Which allgedly does include SDRAM code.  For now I'm using firmware
extracted from the "Artful Minimal Image" (Ubuntu 17.10) listed on the
Rock64 page of the Pine64 wiki.  A bit of a hassle as I had to
download a 250MB image just to extract the bootloader components.
I'll have to streamline this and create an image that mere mortals can
work with.

It probably is a good idea to move the msdos partition to sector 32768
(or beyond) in our installer and the images, such that we can use the
layout shown in:

  http://opensource.rock-chips.com/wiki_Boot_option

The boot.img/kernel block shown there is actually the msdos filesystem.

> Given the rock64 has spi flash if U-Boot were written there it should
> be possible to just boot the standard miniroot and install without
> having to mess around further.

Right.  Unfortunately it seems there is no support for doing that yet.