RK3399pro update and RK1808 introduction

September 23, 2018

RK3399 Pro update

RK3399Pro logo

When Rockhip released RK3399 Pro, their first chip with a powerful dedicated NPU up to 2.4TOPs performance, it was told that the release time is August. Apparently they had some delay, and it’s the end of Sep now! We recently have some updates from Rockchip that we can start to design boards based on RK3399 Pro now.

Not pin-to-pin compatible

We posted on our website that RK3399 Pro was pin-to-pin compatibble with RK3399 and we can upgrade current boards without hardware changes. It turns out Rockchip changed their mind. The reason we guess is the NPU needs a dedicated RAM, 512MB or more. Maybe the original plan was to pack the 512MB RAM chip into RK3399pro with SiP or PoP packages for seamless upgrade but now it turns out that the cost will be much higher than an external RAM. Also the cost of RAM varies depending on the market. It’s risky to pack such big RAM into all the chips ahead. We were told that adding the NPU already makes the chip size much bigger that RK3399, the footprint of RK3399pro is FCBGA1372 at size 27x27mm comparing to RK3399 FCBGA828 at size 22x22mm.

We also noticed that on the RK3399pro block diagram, except the new NPU, the other difference is USB OTG1 and one Type C is missing on RK3399pro.

RK3399Pro block diagram

For us at board design level, the RK3399 Pro chip size, plus adding another dedicated RAM will make the board much bigger, apparently the 96boards CE form factor can not fit. We will have to consider CE extended or EE form factor. If you have any suggestions on the RK3399 Pro based boards design, welcome to comment. We will definitely consider it at design stage!

New standalone NPU chip - RK1808

There is something we want to share with you is what Rockchip haven’t announced officially, there is a standalone version of the NPU chip, RK1808. We noticed this from the latest Rockhip Linux kernel commit on Github, the develop-4.4 branch(deleted from github now). We can learn some features of RK1808 from the device tree.

First, this is a dual core A35 chip.

cpus {
    #address-cells = <2>;
    #size-cells = <0>;

    cpu0: cpu@0 {
        device_type = "cpu";
        compatible = "arm,cortex-a35", "arm,armv8";
        reg = <0x0 0x0>;
        clocks = <&cru ARMCLK>;
    };

    cpu1: cpu@1 {
        device_type = "cpu";
        compatible = "arm,cortex-a35", "arm,armv8";
        reg = <0x0 0x1>;
        clocks = <&cru ARMCLK>;
    };
};

Second, it has NPU inside. Wow! We think it’s the same 2.4TOPs NPU inside RK3399pro.

Third, what makes it interesting is this chip has 8 UART and 12 channel PWM. Apparently the targeting market is the industrial control and robotics.

Other features includes, USB3, GMAC, MIPI CSI/DSI/RGB. There is an interesting node in device tree called pciusb:

    pciusb {
        pciusb_pins: pciusb-pins {
            rockchip,pins =
                /* pciusb_debug0 */
                <4 RK_PB4 3 &pcfg_pull_none>,
                /* pciusb_debug1 */
                <4 RK_PB5 3 &pcfg_pull_none>,
                /* pciusb_debug2 */
                <4 RK_PB6 3 &pcfg_pull_none>,
                /* pciusb_debug3 */
                <4 RK_PB7 3 &pcfg_pull_none>,
                /* pciusb_debug4 */
                <4 RK_PC0 3 &pcfg_pull_none>,
                /* pciusb_debug5 */
                <4 RK_PC1 3 &pcfg_pull_none>,
                /* pciusb_debug6 */
                <4 RK_PC2 3 &pcfg_pull_none>,
                /* pciusb_debug7 */
                <4 RK_PC3 3 &pcfg_pull_none>;
        };
    };

Conclusion

Further digging we found in the rk3399pro-npu.dtsi, there is the dual A35 core and almost the same peripheral as RK1808. We have the reason to believe that RK3399pro = RK3399 + RK1808 and RK3399 and RK1808 communicate via USB3 bus, that’s why one USB3 is missing in RK3399pro exported.

comments powered by Disqus