Jump to content

Pinebook Pro install instructions?


ej0rge

Recommended Posts

I know for sure that booting from an sd card and then using dd to write the uncompressed image to the emmc device isn't what works. I'm talking about Armbian_22.02.1_Pinebook-pro_focal_current_5.15.25_xfce_desktop.img here. 

 

Because that essentially bricked my PBP. I have the little adapter to connect the emmc to a usd slot, and using balena etcher to write to that isn't it either. 

 

the uboot in that image prevents booting from sd automatically as well, and i didn't find any uboot documentation that made it clear how to manually boot from sd, though i did hook up a serial console. This is what it said. The LED never turned green, the display flashes once but displays no images or text. 

 

Quote

U-Boot TPL 2021.07-armbian (Feb 27 2022 - 08:51:28)
Channel 0: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
Channel 1: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
256Bstride
lpddr4_set_rate: change freq to 400000000 mhz 0, 1
lpddr4_set_rate: change freq to 800000000 mhz 1, 0
Trying to boot from BOOTROM
Returning to boot ROM...

U-Boot SPL 2021.07-armbian (Feb 27 2022 - 08:51:28 +0000)
Trying to boot from MMC1
NOTICE: BL31: v2.5(release):c1588782-dirty
NOTICE: BL31: Built : 08:51:19, Feb 27 2022


U-Boot 2021.07-armbian (Feb 27 2022 - 08:51:28 +0000)

SoC: Rockchip rk3399
Reset cause: POR
Model: Pine64 Pinebook Pro
DRAM:  3.9 GiB
PMIC:  RK808
MMC:  mmc@fe310000: 2, mmc@fe320000: 1, sdhci@fe330000: 0
Loading Environment from SPIFlash... SF: Detected gd25q128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:  serial
Err:  serial
Model: Pine64 Pinebook Pro
Net:  No ethernet found.
starting USB...
Bus usb@fe380000: USB EHCI 1.00
Bus usb@fe3a0000: USB OHCI 1.0
Bus usb@fe3c0000: USB EHCI 1.00
Bus usb@fe3e0000: USB OHCI 1.0
Bus dwc3: usb maximum-speed not found
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
Bus dwc3: usb maximum-speed not found
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@fe380000 for devices... 1 USB Device(s) found
scanning bus usb@fe3a0000 for devices... 2 USB Device(s) found
scanning bus usb@fe3c0000 for devices... 3 USB Device(s) found
scanning bus usb@fe3e0000 for devices... 1 USB Device(s) found
scanning bus dwc3 for devices... 1 USB Device(s) found
scanning bus dwc3 for devices... 1 USB Device(s) found
      scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0

Device 0: unknown device
Card did not respond to voltage select! : -110
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
3185 bytes read in 20 ms (155.3 KiB/s)
## Executing script at 00500000
Boot script loaded from mmc 0
157 bytes read in 15 ms (9.8 KiB/s)
14235892 bytes read in 637 ms (21.3 MiB/s)
30083584 bytes read in 1311 ms (21.9 MiB/s)
82621 bytes read in 38 ms (2.1 MiB/s)
2698 bytes read in 32 ms (82 KiB/s)
Applying kernel provided DT fixup script (rockchip-fixup.scr)
## Executing script at 09000000
Moving Image from 0x2080000 to 0x2200000, end=3f50000
## Loading init Ramdisk from Legacy Image at 06000000 ...
  Image Name:  uInitrd
  Image Type:  AArch64 Linux RAMDisk Image (gzip compressed)
  Data Size:    14235828 Bytes = 13.6 MiB
  Load Address: 00000000
  Entry Point:  00000000
  Verifying Checksum ... OK
## Flattened Device Tree blob at 01f00000
  Booting using the fdt blob at 0x1f00000

 

 

Link to comment
Share on other sites

Am 6.4.2022 um 07:19 schrieb ej0rge:

I know for sure that booting from an sd card and then using dd to write the uncompressed image to the emmc device isn't what works. I'm talking about Armbian_22.02.1_Pinebook-pro_focal_current_5.15.25_xfce_desktop.img here. 

Well, well. same problem here. As far as I remember I did not have the problem with the buster image and a dd to the emmc wasn' a problem ether.

Link to comment
Share on other sites

vor 58 Minuten schrieb Werner:

Maybe @seclorum can do some tests here.

Also maybe @NicoD finds some time to do so.

Tried all possibilities:

formatted emmc to one ext4 partition - dead

removed emmc - dead

inserted new Armbian_22.02.1_Pinebook-pro_focal_current_5.15.25_xfce_desktop.img with an 16GB SD-Card - dead!

OK... will insert emmc again and awaiting solutions.. I do not have an idea by now.

Link to comment
Share on other sites

8 hours ago, umiddelb said:

µSD should have highest boot priority.

Should, yes, but doesn't. RK3399 has an internal fixed boot priority which is something like SPI - eMMC - microSD - NVMe. This cannot be altered.

Armbian works around this by installing a boot loader to eMMC which points back to microSD and if that fails continue to boot from whatever is available instead.

If there is a boot loader on the eMMC that does not do that you have a hard time. That is why pbp installed an internal switch to disconnect eMMC from power to allow microSD to boot.

Link to comment
Share on other sites

On 4/25/2022 at 11:13 PM, Werner said:

Should, yes, but doesn't. RK3399 has an internal fixed boot priority which is something like SPI - eMMC - microSD - NVMe. This cannot be altered.

Armbian works around this by installing a boot loader to eMMC which points back to microSD and if that fails continue to boot from whatever is available instead.

If there is a boot loader on the eMMC that does not do that you have a hard time. That is why pbp installed an internal switch to disconnect eMMC from power to allow microSD to boot.

 

Interestingly, throwing that switch didn't allow me to boot from my sd card. I don't remember at this point what image was on the SD at the time. 

Link to comment
Share on other sites

I recently tried this as well. And ran into the same issues. I did eventually manage to resolve this by flashing a manjaro build to an sdcard. Opening up the pinebook pro. Toggling the eMMC off using the little switch. Starting the laptop. Pressing any key while it was in uboot so it would just pause (I am really not sure if all the manjaro images have this, in either case it was Manjaro-ARM-sway-22.04.img). Toggling the eMMC back on, which would now be detected uboot and later on Linux itself.

After this I continued on to install Manjaro because I was just really annoyed at that moment, but I would assume that manually flashing a working uboot at this point would work. Hope this is useful to anyone. And hope this is getting fixed at some point.

Link to comment
Share on other sites

- A year ago I installed Armbian_21.02.2_Pinebook-pro_focal_current_5.10.16_xfce_desktop.img.xz on eMMC and it worked
- After `apt upgrade` pinebook can't start. I see the logo and it turns to infinity
- I tried installing the newer Armbian_22.05.4_Pinebook-pro_jammy_update_5.15.48_xfce_desktop.img.xz. From SD it works, but I can't install it on eMMC.
- I installed old Armbian_21.02.2_Pinebook-pro_focal_current_5.10.16_xfce_desktop.img.xz on eMMC and it worked until `apt upgrade` now I have the same problem as before.
Any idea?

Link to comment
Share on other sites

3 hours ago, chmelej said:

- A year ago I installed Armbian_21.02.2_Pinebook-pro_focal_current_5.10.16_xfce_desktop.img.xz on eMMC and it worked
- After `apt upgrade` pinebook can't start. I see the logo and it turns to infinity
- I tried installing the newer Armbian_22.05.4_Pinebook-pro_jammy_update_5.15.48_xfce_desktop.img.xz. From SD it works, but I can't install it on eMMC.
- I installed old Armbian_21.02.2_Pinebook-pro_focal_current_5.10.16_xfce_desktop.img.xz on eMMC and it worked until `apt upgrade` now I have the same problem as before.
Any idea?

I have the same issue!!  I couldn't figure it out 4 months ago so I abandoned my pinebook pro to a shelf but I would really like to use it.  Any help on this issue would be great.

I can boot manjaro from EMMC just fine.  Just not Armbian images.

 

Help please..  thank you

Link to comment
Share on other sites

On 7/25/2022 at 1:36 PM, NormanT said:

I have the same issue!!  I couldn't figure it out 4 months ago so I abandoned my pinebook pro to a shelf but I would really like to use it.  Any help on this issue would be great.

I can boot manjaro from EMMC just fine.  Just not Armbian images.

 

Help please..  thank you

 

I might find time to work on this. I'm loving my latest SD install of Armbian Jammy KDE Fusion and I'd like to copy it from my SD card to on my PBP NVMe drive (or at least my eMMC). I've done this sort of thing with my PBP in the past and even had Manjaro running with / and /boot on my NVMe drive. I also wrote a crude dual boot script to toggle the boot between systems on NVMe and eMMC.

 

I installed PCM720's Uboot code but stopped short of risking its install to SPI.

 

I've always had strange boot problems from time to time with my PBP though. When I had Manjaro installed to NVMe (/boot and /), I had two occasions when a Manjaro apt-get upgrade killed the boot with the system entirely on NVMe. Luckily I had backups. I think both boot failures happened when a kernel update was included in the upgrade. Stritt (Manjaro forum mod) and I never got to the bottom of it though. Once I recovered the system by building a new kernel package from source and installing it to the broken system. Then it worked from NVMe again so I came to the conclusion that it wasn't actually a kernel change that caused it but, rather, something else associated with it.

 

Here's the PCM720 thread and one of my posts. PCM720 provides links to his code earlier in the thread. It's difficult to find his most recent code so I'll try to find it and provide a link here.

https://forum.pine64.org/showthread.php?tid=8439&page=13

 

I don't post on the Pine64 forum anymore though. Pine64 forum mod, Arwen, was far too aggressive in the censorship of posts right after COVID broke. Geesh--II was a DivX forum mod for years back when it was a nearly unique and very popular forum (as was doom9 :))  and, I never needed to censored anyone--especially for a general off-hand comment that wasn't even directly associated with an event like COVID.

Link to comment
Share on other sites

On 4/25/2022 at 1:24 AM, Wilhelm Moser said:

Soo. the pinebook ist dead as dead can be... and now?

I just recalled that my PBP was as dead as dead can be when I first received it, despite having a fully charged battery. I had to hold the power button down for at least 15 seconds before releasing it and then giving it another normal press to get it to boot.

 

It has done this to me several times--most often after I attempt to use suspend mode, which sadly doesn't work reliably or well enough to use. Sometimes I get a fully dead machine (well not fully dead once I discovered the very long power key press recovery trick) after a normal shutdown too, but that is rare.

Link to comment
Share on other sites

On 4/25/2022 at 10:13 PM, Werner said:

Should, yes, but doesn't. RK3399 has an internal fixed boot priority which is something like SPI - eMMC - microSD - NVMe. This cannot be altered.

Armbian works around this by installing a boot loader to eMMC which points back to microSD and if that fails continue to boot from whatever is available instead.

 

NVMe cannot be booted. (It cannot contain u-boot or tow-boot or ANY boot code.) It's not in the boot path.

 

See the Pine64 wiki at https://wiki.pine64.org/index.php/Pinebook_Pro#Using_as_OS_root_drive

 

The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the U-Boot update script from the mrfixit2001 Debian or Arglebargle's modified script, and the modified u-boot images provided by forum user pcm720, you can now add support to boot from an NVMe drive.

 

and quoted from https://wiki.pine64.org/index.php/Pinebook_Pro#Boot_devices

 

Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf in a /boot partition on the eMMC.

 

Also, wherever you put this boot code, the target kernel and /boot files must support it too and the subsequent boot priority that it provides is at the whim and discretion of its author!

 

So, if you want to ditch both eMMC and SD memory as part of the boot chain and boot a system on NVMe (/ and boot), you must use SPI. Sadly, it might not work for all operating systems due to bugs or lack of kernel support:

 

https://wiki.pine64.org/index.php/Pinebook_Pro#Using_the_SPI_flash_device

 

Here is some information on using the SPI flash device:

You need the kernel built with SPI flash device support, which will supply a device similar to: code>/dev/mtd0

 

Unfortunately, at this time, Armbian seems to have problems when the Armbian system resides on media other than the SD card! I don't know if the problem occurs when Armbian relies on a non-Armbian u-boot (eMMC u-boot) and/or even if the Armbian supplied u-boot doesn't work when it and the Armbian system are flashed to eMMC.

 

I also don't know if Armbian would work with u-boot or tow-boot or something else flashed to the SPI NOR memory. My guess is it's a poor wager!

 

I think I might try to copy the Armbian / system (copy files--not an image) from my Armbian SD card to my eMMC (or maybe try using my NVMe SSD too, which has been proven to be accessible when booting Armbian from the SD card). The Armbian /boot files don't look anything like the /boot files I've seen in other distros. I have "armbianENV.txt":

 

verbosity=1
bootlogo=true
extraargs=systemd.unified_cgroup_hierarchy=0
overlay_prefix=rockchip
fdtfile=rockchip/rk3399-pinebook-pro.dtb
rootdev=UUID=f57dd6bf-3737-40f9-95b0-376895bc2055
rootfstype=ext4
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u

 

I wonder if it (the Armbian SD card /boot code) would load and run the system from eMMC or NVMe, if I simply change the rootdev=UUID entry to match the desired target. (and also change the fstab entry in the target).

 

Again, I don't know how this file works. What does "usbstoragequirks" do? That's a scary label!

 

The Slackware PBP aarch64 distro only supports booting a system on NVMe from an SD card. (Slackware devs don't even officially support eMMC, which they freely admit they don't trust as reliable hardware, because it's cheap NAND memory.)  This usage model would be fine with me with my Armbian system! Once booted, the SD card can be unmounted and removed.

Link to comment
Share on other sites

My strategy to boot from SD with / on the eMMC didn't work. All I get is a spinning Armbian pinwheel.

 

All the other distros I've run on the PBP use a separate boot partition and a different file structure than Armbian. A reply to one post that I found here on the forums requesting information about armbianENV.txt documentation seems to imply that the entire system must be rebuilt and there's no documentation (it's too simple to benefit form it :( )

 

I really like Armbian but we should not have to run / off of an SD card.

Edited by calinb
Link to comment
Share on other sites

Good research, @calinb.

 

Did you take into account what Werner said up thread about PBP boot order (apologies, but I only skimmed your posts)?

 

More people (including myself) should be receiving PBP soon, as they have done another production run.  So, let's keep trying to figure this out.  I'm sure others will be joining us.

 

Am I understanding correctly that this did work at one time (my guess would be via nand-sata-install only, due to things Werner said)?  If so, what changed?

 

Another clue is that Manjaro apparently have it working currently.  How are they doing it?

Link to comment
Share on other sites

Wow. I’m glad I found this thread if for no other reason than misery loves company!

 

I’m having this same issue of armbian running fine off an SD card, but not booting from the emmc. I get an error that the uuid isn’t responding. 
 

I’ve tried to install to emmc from dd, nand-sata-install, and even flashing the armbian image directly onto the emmc through a USB adapter. 
 

All produce the same failure to boot. Seems to also happen with uboot and towboot. 
 

Here’s where things get interesting. Using towboot, I can boot to the emmc from the USB adapter. So the emmc is fine, but something about it being installed on the board is not.  
 

Still trying to figure this out. Been very happy with armbian on the sd, and simply want it on the damn emmc

Link to comment
Share on other sites

8 hours ago, Razvan T. Coloja said:

A user has posted a fix for this on the Pine64 forum: https://forum.pine64.org/showthread.php?tid=17215

Apparently the /boot/dtb/rockchip/rk3399-pinebook-pro.dtb file is corrupted and has to be replaced with the one from KaliLinux found in /usr/lib/linux-image-5.<x>.<x>/rockchip/rk3399-pinebook-pro.dtb.

Hm interesting. Maybe somebody gets a chance to decompile both dtbs and do a diff?

Link to comment
Share on other sites

Quote

- A year ago I installed Armbian_21.02.2_Pinebook-pro_focal_current_5.10.16_xfce_desktop.img.xz on eMMC and it worked
- After `apt upgrade` pinebook can't start. I see the logo and it turns to infinity
- I tried installing the newer Armbian_22.05.4_Pinebook-pro_jammy_update_5.15.48_xfce_desktop.img.xz. From SD it works, but I can't install it on eMMC.
- I installed old Armbian_21.02.2_Pinebook-pro_focal_current_5.10.16_xfce_desktop.img.xz on eMMC and it worked until `apt upgrade` now I have the same problem as before.
Any idea?

I changed armbianENV.txt:
verbosity=7
bootlogo=false

now I see an error like:
 

Begin: Running /scripts/local-block ... done.
done
Gave up waiting for root file system device. Common problems:
- Boot args (cat /proc/cmdline)
  - Check rootelay = (did the system wait long enaugh?)
 - Missing modues (cat /proc/modules; ls /dev)
ALERT! UUID=********* does not exists. Dropping to a shell!


BusyBox v1.30.1 ...

 

the emmc disk is realy not visible in /dev/


I have reinstalled Armbian_21.02.2 and hold upgrades for kernel packages and it seems to work!
now I can run `apt upgrade` and reboot without any issues

echo linux-dtb-current-rockchip64 hold | dpkg --set-selection
echo linux-image-current-rockchip64 hold | dpkg --set-selection
echo linux-u-boot-current-rockchip64 hold | dpkg --set-selection

 

It's not clean solution but better than bricked PBP
 

Link to comment
Share on other sites

is   this newest  image  working?   Armbian_22.11.1_Pinebook-pro_jammy_edge_6.0.10_xfce_desktop.img

 

I installed it on Armbian on  SD card,  but the Bluetooth/ble will not  work no matter what I do. 

 Although   it   all worked  a couple hours ago  perfectly on  Manjaro KDE and Manjaro XFCE  distro that I installed on  the EMMC

 

I'm  booted to the Armbian_22.11.1   on SD card. Bluetooth does not work , blueman crashes if I try to open the gui for it. there is not BLE  Icon in taskbar. 
YEs I used    armbian-config  to install  Bluetooth packages.    6-10 times now,  also did shutdown and reboots.  Also made  3 more  SD cards with   Armbian  on them too. 

It's not  my hardware,  since the hardware BLE  is working perfectly fine  in manjaro  install.

 

IBLE  needs to work because  I"m  using it  to test new Pinecil  Soldering Iron  BLE  connection amoung other things. 

Does Bluetooth work for anyone else?   Could someone help me with some hints  on exact steps I could take?

 

I also used armbian-config to  do full Update also ,  bluetooth still broken. 

 

I also install  Armbian  from SD card onto the EMMC,  and the bluetooth is still now working. 

 

Any help greatly appreciated.  thanks

 

Edited by River-mochi
Link to comment
Share on other sites

On 8/27/2022 at 4:43 AM, Werner said:

Maybe somebody gets a chance to decompile both dtbs and do a diff?

 

I am working on this now.  I guess they need to be similar kernel versions to be useful (i.e., both 6.1.y)?

 

EDIT:

 

I am downloading:

 

Armbian_23.02.0-trunk_Pinebook-pro_sid_edge_6.1.11_xfce_desktop.img.xz

 

now to compare with

 

kali-linux-2023.1-pinebook-pro-arm64.img.xz

 

Which appears to be 6.1.0.  Close enough?

 

EDIT2:

 

OK, I attached both decompiled DTS files.  Hopefully someone who actually knows what they are doing can take a gander at them in their diff tool of choice.  :)

 

EDIT3:

 

It's pure wizardry, I tell you!  But here is the diff:

 

Spoiler
diff -u Kali_rk3399-pinebook-pro.dts Armbian_rk3399-pinebook-pro.dts
--- Kali_rk3399-pinebook-pro.dts	2023-03-25 09:53:26.611506842 -0400
+++ Armbian_rk3399-pinebook-pro.dts	2023-03-25 10:19:46.440681561 -0400
@@ -205,6 +205,7 @@
 		clocks = <0x08 0xa8>;
 		clock-names = "dmc_clk";
 		status = "disabled";
+		phandle = <0xe0>;
 	};
 
 	pmu_a53 {
@@ -233,7 +234,7 @@
 		clock-frequency = <0x16e3600>;
 		clock-output-names = "xin24m";
 		#clock-cells = <0x00>;
-		phandle = <0x98>;
+		phandle = <0x99>;
 	};
 
 	pcie@f8000000 {
@@ -268,6 +269,7 @@
 		vpcie0v9-supply = <0x1a>;
 		vpcie1v8-supply = <0x1b>;
 		vpcie3v3-supply = <0x1c>;
+		phandle = <0xe1>;
 
 		interrupt-controller {
 			interrupt-controller;
@@ -290,6 +292,7 @@
 		rockchip,grf = <0x1e>;
 		snps,txpbl = <0x04>;
 		status = "disabled";
+		phandle = <0xe2>;
 	};
 
 	mmc@fe310000 {
@@ -313,6 +316,7 @@
 		pinctrl-names = "default";
 		pinctrl-0 = <0x20 0x21 0x22>;
 		sd-uhs-sdr104;
+		phandle = <0xe3>;
 	};
 
 	mmc@fe320000 {
@@ -339,6 +343,7 @@
 		sd-uhs-sdr104;
 		vmmc-supply = <0x27>;
 		vqmmc-supply = <0x28>;
+		phandle = <0xe4>;
 	};
 
 	mmc@fe330000 {
@@ -360,7 +365,7 @@
 		bus-width = <0x08>;
 		mmc-hs200-1_8v;
 		non-removable;
-		phandle = <0x9b>;
+		phandle = <0x9c>;
 	};
 
 	usb@fe380000 {
@@ -371,6 +376,7 @@
 		phys = <0x2b>;
 		phy-names = "usb";
 		status = "okay";
+		phandle = <0xe5>;
 	};
 
 	usb@fe3a0000 {
@@ -381,6 +387,7 @@
 		phys = <0x2b>;
 		phy-names = "usb";
 		status = "okay";
+		phandle = <0xe6>;
 	};
 
 	usb@fe3c0000 {
@@ -391,6 +398,7 @@
 		phys = <0x2d>;
 		phy-names = "usb";
 		status = "okay";
+		phandle = <0xe7>;
 	};
 
 	usb@fe3e0000 {
@@ -401,6 +409,7 @@
 		phys = <0x2d>;
 		phy-names = "usb";
 		status = "okay";
+		phandle = <0xe8>;
 	};
 
 	debug@fe430000 {
@@ -461,6 +470,7 @@
 		resets = <0x08 0x125>;
 		reset-names = "usb3-otg";
 		status = "okay";
+		phandle = <0xe9>;
 
 		usb@fe800000 {
 			compatible = "snps,dwc3";
@@ -477,8 +487,10 @@
 			snps,dis_u2_susphy_quirk;
 			snps,dis-del-phy-power-chg-quirk;
 			snps,dis-tx-ipgap-linecheck-quirk;
+			snps,xhci-trb-ent-quirk;
 			power-domains = <0x1d 0x18>;
 			status = "okay";
+			phandle = <0xea>;
 		};
 	};
 
@@ -492,6 +504,7 @@
 		resets = <0x08 0x126>;
 		reset-names = "usb3-otg";
 		status = "okay";
+		phandle = <0xeb>;
 
 		usb@fe900000 {
 			compatible = "snps,dwc3";
@@ -508,8 +521,10 @@
 			snps,dis_u2_susphy_quirk;
 			snps,dis-del-phy-power-chg-quirk;
 			snps,dis-tx-ipgap-linecheck-quirk;
+			snps,xhci-trb-ent-quirk;
 			power-domains = <0x1d 0x18>;
 			status = "okay";
+			phandle = <0xec>;
 		};
 	};
 
@@ -528,23 +543,25 @@
 		rockchip,grf = <0x1e>;
 		#sound-dai-cells = <0x01>;
 		status = "disabled";
+		phandle = <0xed>;
 
 		ports {
 
 			port {
 				#address-cells = <0x01>;
 				#size-cells = <0x00>;
+				phandle = <0xee>;
 
 				endpoint@0 {
 					reg = <0x00>;
 					remote-endpoint = <0x34>;
-					phandle = <0xae>;
+					phandle = <0xaf>;
 				};
 
 				endpoint@1 {
 					reg = <0x01>;
 					remote-endpoint = <0x35>;
-					phandle = <0xa8>;
+					phandle = <0xa9>;
 				};
 			};
 		};
@@ -594,6 +611,7 @@
 		reset-names = "saradc-apb";
 		status = "okay";
 		vref-supply = <0x1b>;
+		phandle = <0xef>;
 	};
 
 	i2c@ff110000 {
@@ -612,6 +630,7 @@
 		clock-frequency = <0x186a0>;
 		i2c-scl-falling-time-ns = <0x04>;
 		i2c-scl-rising-time-ns = <0xa8>;
+		phandle = <0xf0>;
 
 		es8316@11 {
 			compatible = "everest,es8316";
@@ -619,7 +638,7 @@
 			clocks = <0x08 0x59>;
 			clock-names = "mclk";
 			#sound-dai-cells = <0x00>;
-			phandle = <0xd4>;
+			phandle = <0xd6>;
 		};
 	};
 
@@ -636,6 +655,7 @@
 		#address-cells = <0x01>;
 		#size-cells = <0x00>;
 		status = "disabled";
+		phandle = <0xf1>;
 	};
 
 	i2c@ff130000 {
@@ -653,6 +673,7 @@
 		status = "okay";
 		i2c-scl-falling-time-ns = <0x0f>;
 		i2c-scl-rising-time-ns = <0x1c2>;
+		phandle = <0xf2>;
 	};
 
 	i2c@ff140000 {
@@ -668,6 +689,7 @@
 		#address-cells = <0x01>;
 		#size-cells = <0x00>;
 		status = "disabled";
+		phandle = <0xf3>;
 	};
 
 	i2c@ff150000 {
@@ -683,6 +705,7 @@
 		#address-cells = <0x01>;
 		#size-cells = <0x00>;
 		status = "disabled";
+		phandle = <0xf4>;
 	};
 
 	i2c@ff160000 {
@@ -698,6 +721,7 @@
 		#address-cells = <0x01>;
 		#size-cells = <0x00>;
 		status = "disabled";
+		phandle = <0xf5>;
 	};
 
 	serial@ff180000 {
@@ -712,6 +736,7 @@
 		pinctrl-0 = <0x3c 0x3d 0x3e>;
 		status = "okay";
 		uart-has-rtscts;
+		phandle = <0xf6>;
 
 		bluetooth {
 			compatible = "brcm,bcm4345c5";
@@ -739,6 +764,7 @@
 		pinctrl-names = "default";
 		pinctrl-0 = <0x45>;
 		status = "disabled";
+		phandle = <0xf7>;
 	};
 
 	serial@ff1a0000 {
@@ -752,6 +778,7 @@
 		pinctrl-names = "default";
 		pinctrl-0 = <0x46>;
 		status = "okay";
+		phandle = <0xf8>;
 	};
 
 	serial@ff1b0000 {
@@ -765,6 +792,7 @@
 		pinctrl-names = "default";
 		pinctrl-0 = <0x47>;
 		status = "disabled";
+		phandle = <0xf9>;
 	};
 
 	spi@ff1c0000 {
@@ -780,6 +808,7 @@
 		#address-cells = <0x01>;
 		#size-cells = <0x00>;
 		status = "disabled";
+		phandle = <0xfa>;
 	};
 
 	spi@ff1d0000 {
@@ -796,12 +825,14 @@
 		#size-cells = <0x00>;
 		status = "okay";
 		max-freq = <0x989680>;
+		phandle = <0xfb>;
 
 		flash@0 {
 			compatible = "jedec,spi-nor";
 			reg = <0x00>;
 			m25p,fast-read;
 			spi-max-frequency = <0x989680>;
+			phandle = <0xfc>;
 		};
 	};
 
@@ -818,6 +849,7 @@
 		#address-cells = <0x01>;
 		#size-cells = <0x00>;
 		status = "disabled";
+		phandle = <0xfd>;
 	};
 
 	spi@ff1f0000 {
@@ -833,6 +865,7 @@
 		#address-cells = <0x01>;
 		#size-cells = <0x00>;
 		status = "disabled";
+		phandle = <0xfe>;
 	};
 
 	spi@ff200000 {
@@ -849,35 +882,39 @@
 		#address-cells = <0x01>;
 		#size-cells = <0x00>;
 		status = "disabled";
+		phandle = <0xff>;
 	};
 
 	thermal-zones {
+		phandle = <0x100>;
 
 		cpu-thermal {
 			polling-delay-passive = <0x64>;
 			polling-delay = <0x3e8>;
 			thermal-sensors = <0x5e 0x00>;
+			phandle = <0x101>;
 
 			trips {
 
 				cpu_alert0 {
-					temperature = <0x11170>;
+					temperature = <0x14c08>;
 					hysteresis = <0x7d0>;
 					type = "passive";
 					phandle = <0x5f>;
 				};
 
 				cpu_alert1 {
-					temperature = <0x124f8>;
+					temperature = <0x17318>;
 					hysteresis = <0x7d0>;
 					type = "passive";
 					phandle = <0x60>;
 				};
 
 				cpu_crit {
-					temperature = <0x17318>;
+					temperature = <0x186a0>;
 					hysteresis = <0x7d0>;
 					type = "critical";
+					phandle = <0x102>;
 				};
 			};
 
@@ -899,6 +936,7 @@
 			polling-delay-passive = <0x64>;
 			polling-delay = <0x3e8>;
 			thermal-sensors = <0x5e 0x01>;
+			phandle = <0x103>;
 
 			trips {
 
@@ -913,6 +951,7 @@
 					temperature = <0x17318>;
 					hysteresis = <0x7d0>;
 					type = "critical";
+					phandle = <0x104>;
 				};
 			};
 
@@ -964,16 +1003,19 @@
 	qos@ffa60080 {
 		compatible = "rockchip,rk3399-qos\0syscon";
 		reg = <0x00 0xffa60080 0x00 0x20>;
+		phandle = <0x105>;
 	};
 
 	qos@ffa60100 {
 		compatible = "rockchip,rk3399-qos\0syscon";
 		reg = <0x00 0xffa60100 0x00 0x20>;
+		phandle = <0x106>;
 	};
 
 	qos@ffa60180 {
 		compatible = "rockchip,rk3399-qos\0syscon";
 		reg = <0x00 0xffa60180 0x00 0x20>;
+		phandle = <0x107>;
 	};
 
 	qos@ffa70000 {
@@ -1087,6 +1129,7 @@
 	qos@ffad8080 {
 		compatible = "rockchip,rk3399-qos\0syscon";
 		reg = <0x00 0xffad8080 0x00 0x20>;
+		phandle = <0x108>;
 	};
 
 	qos@ffae0000 {
@@ -1098,6 +1141,7 @@
 	power-management@ff310000 {
 		compatible = "rockchip,rk3399-pmu\0syscon\0simple-mfd";
 		reg = <0x00 0xff310000 0x00 0x1000>;
+		phandle = <0x109>;
 
 		power-controller {
 			compatible = "rockchip,rk3399-power-controller";
@@ -1254,6 +1298,7 @@
 			compatible = "rockchip,rk3399-pmu-io-voltage-domain";
 			status = "okay";
 			pmu1830-supply = <0x7a>;
+			phandle = <0x10a>;
 		};
 	};
 
@@ -1268,6 +1313,7 @@
 		#address-cells = <0x01>;
 		#size-cells = <0x00>;
 		status = "disabled";
+		phandle = <0x10b>;
 	};
 
 	serial@ff370000 {
@@ -1281,6 +1327,7 @@
 		pinctrl-names = "default";
 		pinctrl-0 = <0x80>;
 		status = "disabled";
+		phandle = <0x10c>;
 	};
 
 	i2c@ff3c0000 {
@@ -1299,6 +1346,7 @@
 		clock-frequency = <0x61a80>;
 		i2c-scl-falling-time-ns = <0x04>;
 		i2c-scl-rising-time-ns = <0xa8>;
+		phandle = <0x10d>;
 
 		pmic@1b {
 			compatible = "rockchip,rk808";
@@ -1333,6 +1381,7 @@
 					regulator-min-microvolt = <0xb71b0>;
 					regulator-max-microvolt = <0x149970>;
 					regulator-ramp-delay = <0x1771>;
+					phandle = <0x10e>;
 
 					regulator-state-mem {
 						regulator-off-in-suspend;
@@ -1357,6 +1406,7 @@
 					regulator-name = "vcc_ddr";
 					regulator-always-on;
 					regulator-boot-on;
+					phandle = <0x10f>;
 
 					regulator-state-mem {
 						regulator-on-in-suspend;
@@ -1389,6 +1439,7 @@
 					regulator-boot-on;
 					regulator-min-microvolt = <0x1b7740>;
 					regulator-max-microvolt = <0x1b7740>;
+					phandle = <0x110>;
 
 					regulator-state-mem {
 						regulator-on-in-suspend;
@@ -1416,6 +1467,7 @@
 					regulator-boot-on;
 					regulator-min-microvolt = <0x2dc6c0>;
 					regulator-max-microvolt = <0x2dc6c0>;
+					phandle = <0x111>;
 
 					regulator-state-mem {
 						regulator-off-in-suspend;
@@ -1428,6 +1480,7 @@
 					regulator-boot-on;
 					regulator-min-microvolt = <0x16e360>;
 					regulator-max-microvolt = <0x16e360>;
+					phandle = <0x112>;
 
 					regulator-state-mem {
 						regulator-on-in-suspend;
@@ -1441,6 +1494,7 @@
 					regulator-boot-on;
 					regulator-min-microvolt = <0x1b7740>;
 					regulator-max-microvolt = <0x1b7740>;
+					phandle = <0x113>;
 
 					regulator-state-mem {
 						regulator-off-in-suspend;
@@ -1465,6 +1519,7 @@
 					regulator-name = "vcc3v3_s3";
 					regulator-always-on;
 					regulator-boot-on;
+					phandle = <0x114>;
 
 					regulator-state-mem {
 						regulator-off-in-suspend;
@@ -1475,6 +1530,7 @@
 					regulator-name = "vcc3v3_s0";
 					regulator-always-on;
 					regulator-boot-on;
+					phandle = <0x115>;
 
 					regulator-state-mem {
 						regulator-off-in-suspend;
@@ -1516,7 +1572,7 @@
 			regulator-max-microvolt = <0x16e360>;
 			regulator-ramp-delay = <0x3e8>;
 			vin-supply = <0x44>;
-			phandle = <0xc0>;
+			phandle = <0xc1>;
 
 			regulator-state-mem {
 				regulator-off-in-suspend;
@@ -1539,6 +1595,7 @@
 		status = "okay";
 		i2c-scl-falling-time-ns = <0x14>;
 		i2c-scl-rising-time-ns = <0x258>;
+		phandle = <0x116>;
 
 		fusb30x@22 {
 			compatible = "fcs,fusb302";
@@ -1559,6 +1616,8 @@
 				sink-pdos = <0x40190fa>;
 				source-pdos = <0x401908c>;
 				try-power-role = "sink";
+				extcon-cables = <0x01 0x02 0x05 0x06 0x09 0x0a 0x0c 0x2c>;
+				typec-altmodes = <0xff01 0x01 0x1c0000 0x01>;
 
 				ports {
 					#address-cells = <0x01>;
@@ -1569,7 +1628,7 @@
 
 						endpoint {
 							remote-endpoint = <0x8b>;
-							phandle = <0x9a>;
+							phandle = <0x9b>;
 						};
 					};
 
@@ -1578,7 +1637,7 @@
 
 						endpoint {
 							remote-endpoint = <0x8c>;
-							phandle = <0x9d>;
+							phandle = <0x9e>;
 						};
 					};
 
@@ -1587,7 +1646,7 @@
 
 						endpoint {
 							remote-endpoint = <0x8d>;
-							phandle = <0x9c>;
+							phandle = <0x9d>;
 						};
 					};
 				};
@@ -1617,6 +1676,7 @@
 		#address-cells = <0x01>;
 		#size-cells = <0x00>;
 		status = "disabled";
+		phandle = <0x117>;
 	};
 
 	pwm@ff420000 {
@@ -1627,7 +1687,7 @@
 		pinctrl-0 = <0x92>;
 		clocks = <0x7b 0x1e>;
 		status = "okay";
-		phandle = <0xc7>;
+		phandle = <0xc9>;
 	};
 
 	pwm@ff420010 {
@@ -1638,6 +1698,7 @@
 		pinctrl-0 = <0x93>;
 		clocks = <0x7b 0x1e>;
 		status = "disabled";
+		phandle = <0x118>;
 	};
 
 	pwm@ff420020 {
@@ -1648,7 +1709,7 @@
 		pinctrl-0 = <0x94>;
 		clocks = <0x7b 0x1e>;
 		status = "okay";
-		phandle = <0xd8>;
+		phandle = <0xda>;
 	};
 
 	pwm@ff420030 {
@@ -1659,6 +1720,7 @@
 		pinctrl-0 = <0x95>;
 		clocks = <0x7b 0x1e>;
 		status = "disabled";
+		phandle = <0x119>;
 	};
 
 	dfi@ff630000 {
@@ -1681,6 +1743,7 @@
 		clock-names = "aclk\0hclk";
 		iommus = <0x96>;
 		power-domains = <0x1d 0x1f>;
+		phandle = <0x11a>;
 	};
 
 	iommu@ff650800 {
@@ -1702,6 +1765,7 @@
 		clock-names = "axi\0ahb\0cabac\0core";
 		iommus = <0x97>;
 		power-domains = <0x1d 0x20>;
+		phandle = <0x11b>;
 	};
 
 	iommu@ff660480 {
@@ -1715,14 +1779,28 @@
 		phandle = <0x97>;
 	};
 
+	iep@ff670000 {
+		compatible = "rockchip,rk3399-iep\0rockchip,rk3228-iep";
+		reg = <0x00 0xff670000 0x00 0x800>;
+		interrupts = <0x00 0x2a 0x04 0x00>;
+		interrupt-names = "iep";
+		clocks = <0x08 0xe1 0x08 0x1dd>;
+		clock-names = "axi\0ahb";
+		power-domains = <0x1d 0x22>;
+		iommus = <0x98>;
+		phandle = <0x11c>;
+	};
+
 	iommu@ff670800 {
 		compatible = "rockchip,iommu";
 		reg = <0x00 0xff670800 0x00 0x40>;
 		interrupts = <0x00 0x2a 0x04 0x00>;
 		clocks = <0x08 0xe1 0x08 0x1dd>;
 		clock-names = "aclk\0iface";
+		power-domains = <0x1d 0x22>;
 		#iommu-cells = <0x00>;
 		status = "disabled";
+		phandle = <0x98>;
 	};
 
 	rga@ff680000 {
@@ -1734,6 +1812,7 @@
 		resets = <0x08 0x6a 0x08 0x67 0x08 0x69>;
 		reset-names = "core\0axi\0ahb";
 		power-domains = <0x1d 0x21>;
+		phandle = <0x11d>;
 	};
 
 	efuse@ff690000 {
@@ -1743,33 +1822,41 @@
 		#size-cells = <0x01>;
 		clocks = <0x08 0x17d>;
 		clock-names = "pclk_efuse";
+		phandle = <0x11e>;
 
 		cpu-id@7 {
 			reg = <0x07 0x10>;
+			phandle = <0x11f>;
 		};
 
 		cpu-leakage@17 {
 			reg = <0x17 0x01>;
+			phandle = <0x120>;
 		};
 
 		gpu-leakage@18 {
 			reg = <0x18 0x01>;
+			phandle = <0x121>;
 		};
 
 		center-leakage@19 {
 			reg = <0x19 0x01>;
+			phandle = <0x122>;
 		};
 
 		cpu-leakage@1a {
 			reg = <0x1a 0x01>;
+			phandle = <0x123>;
 		};
 
 		logic-leakage@1b {
 			reg = <0x1b 0x01>;
+			phandle = <0x124>;
 		};
 
 		wafer-info@1c {
 			reg = <0x1c 0x01>;
+			phandle = <0x125>;
 		};
 	};
 
@@ -1798,7 +1885,7 @@
 	clock-controller@ff750000 {
 		compatible = "rockchip,rk3399-pmucru";
 		reg = <0x00 0xff750000 0x00 0x1000>;
-		clocks = <0x98>;
+		clocks = <0x99>;
 		clock-names = "xin24m";
 		rockchip,grf = <0x11>;
 		#clock-cells = <0x01>;
@@ -1811,7 +1898,7 @@
 	clock-controller@ff760000 {
 		compatible = "rockchip,rk3399-cru";
 		reg = <0x00 0xff760000 0x00 0x1000>;
-		clocks = <0x98>;
+		clocks = <0x99>;
 		clock-names = "xin24m";
 		rockchip,grf = <0x1e>;
 		#clock-cells = <0x01>;
@@ -1834,6 +1921,7 @@
 			audio-supply = <0x7a>;
 			gpio1830-supply = <0x7a>;
 			sdmmc-supply = <0x28>;
+			phandle = <0x126>;
 		};
 
 		mipi-dphy-rx0 {
@@ -1843,7 +1931,7 @@
 			power-domains = <0x1d 0x0f>;
 			#phy-cells = <0x00>;
 			status = "disabled";
-			phandle = <0xb0>;
+			phandle = <0xb1>;
 		};
 
 		usb2phy@e450 {
@@ -1861,7 +1949,7 @@
 				interrupts = <0x00 0x1b 0x04 0x00>;
 				interrupt-names = "linestate";
 				status = "okay";
-				phy-supply = <0x99>;
+				phy-supply = <0x9a>;
 				phandle = <0x2b>;
 			};
 
@@ -1876,7 +1964,7 @@
 			port {
 
 				endpoint {
-					remote-endpoint = <0x9a>;
+					remote-endpoint = <0x9b>;
 					phandle = <0x8b>;
 				};
 			};
@@ -1897,7 +1985,7 @@
 				interrupts = <0x00 0x1f 0x04 0x00>;
 				interrupt-names = "linestate";
 				status = "okay";
-				phy-supply = <0x99>;
+				phy-supply = <0x9a>;
 				phandle = <0x2d>;
 			};
 
@@ -1913,11 +2001,12 @@
 		phy@f780 {
 			compatible = "rockchip,rk3399-emmc-phy";
 			reg = <0xf780 0x24>;
-			clocks = <0x9b>;
+			clocks = <0x9c>;
 			clock-names = "emmcclk";
 			drive-impedance-ohm = <0x32>;
 			#phy-cells = <0x00>;
 			status = "okay";
+			extcon = <0x90>;
 			phandle = <0x29>;
 		};
 
@@ -1945,6 +2034,8 @@
 		reset-names = "uphy\0uphy-pipe\0uphy-tcphy";
 		rockchip,grf = <0x1e>;
 		status = "okay";
+		extcon = <0x90>;
+		phandle = <0x127>;
 
 		dp-port {
 			#phy-cells = <0x00>;
@@ -1953,7 +2044,7 @@
 			port {
 
 				endpoint {
-					remote-endpoint = <0x9c>;
+					remote-endpoint = <0x9d>;
 					phandle = <0x8d>;
 				};
 			};
@@ -1966,7 +2057,7 @@
 			port {
 
 				endpoint {
-					remote-endpoint = <0x9d>;
+					remote-endpoint = <0x9e>;
 					phandle = <0x8c>;
 				};
 			};
@@ -1985,6 +2076,7 @@
 		reset-names = "uphy\0uphy-pipe\0uphy-tcphy";
 		rockchip,grf = <0x1e>;
 		status = "okay";
+		phandle = <0x128>;
 
 		dp-port {
 			#phy-cells = <0x00>;
@@ -2010,6 +2102,7 @@
 		interrupts = <0x00 0x51 0x04 0x00>;
 		clocks = <0x08 0x168 0x08 0x5a>;
 		clock-names = "pclk\0timer";
+		phandle = <0x129>;
 	};
 
 	spdif@ff870000 {
@@ -2021,10 +2114,11 @@
 		clock-names = "mclk\0hclk";
 		clocks = <0x08 0x55 0x08 0x1d7>;
 		pinctrl-names = "default";
-		pinctrl-0 = <0x9e>;
+		pinctrl-0 = <0x9f>;
 		power-domains = <0x1d 0x1c>;
 		#sound-dai-cells = <0x00>;
 		status = "disabled";
+		phandle = <0x12a>;
 	};
 
 	i2s@ff880000 {
@@ -2037,11 +2131,12 @@
 		clock-names = "i2s_clk\0i2s_hclk";
 		clocks = <0x08 0x56 0x08 0x1d4>;
 		pinctrl-names = "bclk_on\0bclk_off";
-		pinctrl-0 = <0x9f>;
-		pinctrl-1 = <0xa0>;
+		pinctrl-0 = <0xa0>;
+		pinctrl-1 = <0xa1>;
 		power-domains = <0x1d 0x1c>;
 		#sound-dai-cells = <0x00>;
 		status = "disabled";
+		phandle = <0x12b>;
 	};
 
 	i2s@ff890000 {
@@ -2053,13 +2148,13 @@
 		clock-names = "i2s_clk\0i2s_hclk";
 		clocks = <0x08 0x57 0x08 0x1d5>;
 		pinctrl-names = "default";
-		pinctrl-0 = <0xa1 0xa2>;
+		pinctrl-0 = <0xa2 0xa3>;
 		power-domains = <0x1d 0x1c>;
 		#sound-dai-cells = <0x00>;
 		status = "okay";
 		rockchip,capture-channels = <0x08>;
 		rockchip,playback-channels = <0x08>;
-		phandle = <0xd3>;
+		phandle = <0xd5>;
 	};
 
 	i2s@ff8a0000 {
@@ -2073,7 +2168,7 @@
 		power-domains = <0x1d 0x1c>;
 		#sound-dai-cells = <0x00>;
 		status = "disabled";
-		phandle = <0xb3>;
+		phandle = <0xb4>;
 	};
 
 	vop@ff8f0000 {
@@ -2084,11 +2179,12 @@
 		assigned-clock-rates = <0x17d78400 0x5f5e100>;
 		clocks = <0x08 0xdb 0x08 0xb5 0x08 0x1db>;
 		clock-names = "aclk_vop\0dclk_vop\0hclk_vop";
-		iommus = <0xa3>;
+		iommus = <0xa4>;
 		power-domains = <0x1d 0x12>;
 		resets = <0x08 0x113 0x08 0x117 0x08 0x119>;
 		reset-names = "axi\0ahb\0dclk";
 		status = "okay";
+		phandle = <0x12c>;
 
 		port {
 			#address-cells = <0x01>;
@@ -2097,31 +2193,31 @@
 
 			endpoint@0 {
 				reg = <0x00>;
-				remote-endpoint = <0xa4>;
-				phandle = <0xb8>;
+				remote-endpoint = <0xa5>;
+				phandle = <0xb9>;
 			};
 
 			endpoint@1 {
 				reg = <0x01>;
-				remote-endpoint = <0xa5>;
-				phandle = <0xbd>;
+				remote-endpoint = <0xa6>;
+				phandle = <0xbe>;
 			};
 
 			endpoint@2 {
 				reg = <0x02>;
-				remote-endpoint = <0xa6>;
-				phandle = <0xb6>;
+				remote-endpoint = <0xa7>;
+				phandle = <0xb7>;
 			};
 
 			endpoint@3 {
 				reg = <0x03>;
-				remote-endpoint = <0xa7>;
-				phandle = <0xba>;
+				remote-endpoint = <0xa8>;
+				phandle = <0xbb>;
 			};
 
 			endpoint@4 {
 				reg = <0x04>;
-				remote-endpoint = <0xa8>;
+				remote-endpoint = <0xa9>;
 				phandle = <0x35>;
 			};
 		};
@@ -2136,7 +2232,7 @@
 		power-domains = <0x1d 0x12>;
 		#iommu-cells = <0x00>;
 		status = "okay";
-		phandle = <0xa3>;
+		phandle = <0xa4>;
 	};
 
 	vop@ff900000 {
@@ -2147,11 +2243,12 @@
 		assigned-clock-rates = <0x17d78400 0x5f5e100>;
 		clocks = <0x08 0xd9 0x08 0xb4 0x08 0x1d9>;
 		clock-names = "aclk_vop\0dclk_vop\0hclk_vop";
-		iommus = <0xa9>;
+		iommus = <0xaa>;
 		power-domains = <0x1d 0x11>;
 		resets = <0x08 0x112 0x08 0x116 0x08 0x118>;
 		reset-names = "axi\0ahb\0dclk";
 		status = "okay";
+		phandle = <0x12d>;
 
 		port {
 			#address-cells = <0x01>;
@@ -2160,31 +2257,31 @@
 
 			endpoint@0 {
 				reg = <0x00>;
-				remote-endpoint = <0xaa>;
-				phandle = <0xbc>;
+				remote-endpoint = <0xab>;
+				phandle = <0xbd>;
 			};
 
 			endpoint@1 {
 				reg = <0x01>;
-				remote-endpoint = <0xab>;
-				phandle = <0xb7>;
+				remote-endpoint = <0xac>;
+				phandle = <0xb8>;
 			};
 
 			endpoint@2 {
 				reg = <0x02>;
-				remote-endpoint = <0xac>;
-				phandle = <0xb5>;
+				remote-endpoint = <0xad>;
+				phandle = <0xb6>;
 			};
 
 			endpoint@3 {
 				reg = <0x03>;
-				remote-endpoint = <0xad>;
-				phandle = <0xb9>;
+				remote-endpoint = <0xae>;
+				phandle = <0xba>;
 			};
 
 			endpoint@4 {
 				reg = <0x04>;
-				remote-endpoint = <0xae>;
+				remote-endpoint = <0xaf>;
 				phandle = <0x34>;
 			};
 		};
@@ -2199,7 +2296,7 @@
 		power-domains = <0x1d 0x11>;
 		#iommu-cells = <0x00>;
 		status = "okay";
-		phandle = <0xa9>;
+		phandle = <0xaa>;
 	};
 
 	isp0@ff910000 {
@@ -2208,11 +2305,12 @@
 		interrupts = <0x00 0x2b 0x04 0x00>;
 		clocks = <0x08 0x6e 0x08 0xe9 0x08 0x1e3>;
 		clock-names = "isp\0aclk\0hclk";
-		iommus = <0xaf>;
-		phys = <0xb0>;
+		iommus = <0xb0>;
+		phys = <0xb1>;
 		phy-names = "dphy";
 		power-domains = <0x1d 0x13>;
 		status = "disabled";
+		phandle = <0x12e>;
 
 		ports {
 			#address-cells = <0x01>;
@@ -2235,7 +2333,7 @@
 		#iommu-cells = <0x00>;
 		power-domains = <0x1d 0x13>;
 		rockchip,disable-mmu-reset;
-		phandle = <0xaf>;
+		phandle = <0xb0>;
 	};
 
 	isp1@ff920000 {
@@ -2244,11 +2342,12 @@
 		interrupts = <0x00 0x2c 0x04 0x00>;
 		clocks = <0x08 0x6f 0x08 0xea 0x08 0x1e4>;
 		clock-names = "isp\0aclk\0hclk";
-		iommus = <0xb1>;
-		phys = <0xb2>;
+		iommus = <0xb2>;
+		phys = <0xb3>;
 		phy-names = "dphy";
 		power-domains = <0x1d 0x14>;
 		status = "disabled";
+		phandle = <0x12f>;
 
 		ports {
 			#address-cells = <0x01>;
@@ -2271,7 +2370,7 @@
 		#iommu-cells = <0x00>;
 		power-domains = <0x1d 0x14>;
 		rockchip,disable-mmu-reset;
-		phandle = <0xb1>;
+		phandle = <0xb2>;
 	};
 
 	hdmi-sound {
@@ -2280,13 +2379,14 @@
 		simple-audio-card,mclk-fs = <0x100>;
 		simple-audio-card,name = "hdmi-sound";
 		status = "okay";
+		phandle = <0x130>;
 
 		simple-audio-card,cpu {
-			sound-dai = <0xb3>;
+			sound-dai = <0xb4>;
 		};
 
 		simple-audio-card,codec {
-			sound-dai = <0xb4>;
+			sound-dai = <0xb5>;
 		};
 	};
 
@@ -2301,24 +2401,25 @@
 		rockchip,grf = <0x1e>;
 		#sound-dai-cells = <0x00>;
 		status = "disabled";
-		phandle = <0xb4>;
+		phandle = <0xb5>;
 
 		ports {
 
 			port {
 				#address-cells = <0x01>;
 				#size-cells = <0x00>;
+				phandle = <0x131>;
 
 				endpoint@0 {
 					reg = <0x00>;
-					remote-endpoint = <0xb5>;
-					phandle = <0xac>;
+					remote-endpoint = <0xb6>;
+					phandle = <0xad>;
 				};
 
 				endpoint@1 {
 					reg = <0x01>;
-					remote-endpoint = <0xb6>;
-					phandle = <0xa6>;
+					remote-endpoint = <0xb7>;
+					phandle = <0xa7>;
 				};
 			};
 		};
@@ -2337,6 +2438,7 @@
 		#address-cells = <0x01>;
 		#size-cells = <0x00>;
 		status = "disabled";
+		phandle = <0x132>;
 
 		ports {
 			#address-cells = <0x01>;
@@ -2346,17 +2448,18 @@
 				reg = <0x00>;
 				#address-cells = <0x01>;
 				#size-cells = <0x00>;
+				phandle = <0x133>;
 
 				endpoint@0 {
 					reg = <0x00>;
-					remote-endpoint = <0xb7>;
-					phandle = <0xab>;
+					remote-endpoint = <0xb8>;
+					phandle = <0xac>;
 				};
 
 				endpoint@1 {
 					reg = <0x01>;
-					remote-endpoint = <0xb8>;
-					phandle = <0xa4>;
+					remote-endpoint = <0xb9>;
+					phandle = <0xa5>;
 				};
 			};
 		};
@@ -2376,7 +2479,7 @@
 		#size-cells = <0x00>;
 		#phy-cells = <0x00>;
 		status = "disabled";
-		phandle = <0xb2>;
+		phandle = <0xb3>;
 
 		ports {
 			#address-cells = <0x01>;
@@ -2386,17 +2489,18 @@
 				reg = <0x00>;
 				#address-cells = <0x01>;
 				#size-cells = <0x00>;
+				phandle = <0x134>;
 
 				endpoint@0 {
 					reg = <0x00>;
-					remote-endpoint = <0xb9>;
-					phandle = <0xad>;
+					remote-endpoint = <0xba>;
+					phandle = <0xae>;
 				};
 
 				endpoint@1 {
 					reg = <0x01>;
-					remote-endpoint = <0xba>;
-					phandle = <0xa7>;
+					remote-endpoint = <0xbb>;
+					phandle = <0xa8>;
 				};
 			};
 		};
@@ -2409,13 +2513,14 @@
 		clocks = <0x08 0x16a 0x08 0x16c 0x08 0x16f>;
 		clock-names = "dp\0pclk\0grf";
 		pinctrl-names = "default";
-		pinctrl-0 = <0xbb>;
+		pinctrl-0 = <0xbc>;
 		power-domains = <0x1d 0x19>;
 		resets = <0x08 0x11d>;
 		reset-names = "dp";
 		rockchip,grf = <0x1e>;
 		status = "okay";
 		force-hpd;
+		phandle = <0x135>;
 
 		ports {
 			#address-cells = <0x01>;
@@ -2425,17 +2530,18 @@
 				reg = <0x00>;
 				#address-cells = <0x01>;
 				#size-cells = <0x00>;
+				phandle = <0x136>;
 
 				endpoint@0 {
 					reg = <0x00>;
-					remote-endpoint = <0xbc>;
-					phandle = <0xaa>;
+					remote-endpoint = <0xbd>;
+					phandle = <0xab>;
 				};
 
 				endpoint@1 {
 					reg = <0x01>;
-					remote-endpoint = <0xbd>;
-					phandle = <0xa5>;
+					remote-endpoint = <0xbe>;
+					phandle = <0xa6>;
 				};
 			};
 
@@ -2443,16 +2549,28 @@
 				reg = <0x01>;
 				#address-cells = <0x01>;
 				#size-cells = <0x00>;
+				phandle = <0x137>;
 
 				endpoint@0 {
 					reg = <0x00>;
-					remote-endpoint = <0xbe>;
-					phandle = <0xcb>;
+					remote-endpoint = <0xbf>;
+					phandle = <0xcd>;
 				};
 			};
 		};
 	};
 
+	rng@ff8b8000 {
+		compatible = "rockchip,cryptov1-rng";
+		reg = <0x00 0xff8b8000 0x00 0x1000>;
+		clocks = <0x08 0x86 0x08 0x1d3>;
+		clock-names = "clk_crypto\0hclk_crypto";
+		assigned-clocks = <0x08 0x86 0x08 0x1d3>;
+		assigned-clock-rates = <0x8f0d180 0x5f5e100>;
+		status = "okay";
+		phandle = <0x138>;
+	};
+
 	gpu@ff9a0000 {
 		compatible = "rockchip,rk3399-mali\0arm,mali-t860";
 		reg = <0x00 0xff9a0000 0x00 0x10000>;
@@ -2462,8 +2580,8 @@
 		#cooling-cells = <0x02>;
 		power-domains = <0x1d 0x23>;
 		status = "okay";
-		operating-points-v2 = <0xbf>;
-		mali-supply = <0xc0>;
+		operating-points-v2 = <0xc0>;
+		mali-supply = <0xc1>;
 		phandle = <0x62>;
 	};
 
@@ -2474,6 +2592,7 @@
 		#address-cells = <0x02>;
 		#size-cells = <0x02>;
 		ranges;
+		phandle = <0x139>;
 
 		gpio@ff720000 {
 			compatible = "rockchip,gpio-bank";
@@ -2532,154 +2651,177 @@
 			#gpio-cells = <0x02>;
 			interrupt-controller;
 			#interrupt-cells = <0x02>;
-			phandle = <0xd5>;
+			phandle = <0xd7>;
 		};
 
 		pcfg-pull-up {
 			bias-pull-up;
-			phandle = <0xc4>;
+			phandle = <0xc5>;
 		};
 
 		pcfg-pull-down {
 			bias-pull-down;
-			phandle = <0xc5>;
+			phandle = <0xc7>;
 		};
 
 		pcfg-pull-none {
 			bias-disable;
-			phandle = <0xc1>;
+			phandle = <0xc2>;
 		};
 
 		pcfg-pull-none-12ma {
 			bias-disable;
 			drive-strength = <0x0c>;
-			phandle = <0xc3>;
+			phandle = <0xc4>;
 		};
 
 		pcfg-pull-none-13ma {
 			bias-disable;
 			drive-strength = <0x0d>;
-			phandle = <0xc2>;
+			phandle = <0xc3>;
 		};
 
 		pcfg-pull-none-18ma {
 			bias-disable;
 			drive-strength = <0x12>;
+			phandle = <0x13a>;
 		};
 
 		pcfg-pull-none-20ma {
 			bias-disable;
 			drive-strength = <0x14>;
+			phandle = <0x13b>;
 		};
 
 		pcfg-pull-up-2ma {
 			bias-pull-up;
 			drive-strength = <0x02>;
+			phandle = <0x13c>;
 		};
 
 		pcfg-pull-up-8ma {
 			bias-pull-up;
 			drive-strength = <0x08>;
+			phandle = <0xc6>;
 		};
 
 		pcfg-pull-up-18ma {
 			bias-pull-up;
 			drive-strength = <0x12>;
+			phandle = <0x13d>;
 		};
 
 		pcfg-pull-up-20ma {
 			bias-pull-up;
 			drive-strength = <0x14>;
+			phandle = <0x13e>;
 		};
 
 		pcfg-pull-down-4ma {
 			bias-pull-down;
 			drive-strength = <0x04>;
+			phandle = <0x13f>;
 		};
 
 		pcfg-pull-down-8ma {
 			bias-pull-down;
 			drive-strength = <0x08>;
+			phandle = <0x140>;
 		};
 
 		pcfg-pull-down-12ma {
 			bias-pull-down;
 			drive-strength = <0x0c>;
+			phandle = <0x141>;
 		};
 
 		pcfg-pull-down-18ma {
 			bias-pull-down;
 			drive-strength = <0x12>;
+			phandle = <0x142>;
 		};
 
 		pcfg-pull-down-20ma {
 			bias-pull-down;
 			drive-strength = <0x14>;
+			phandle = <0x143>;
 		};
 
 		pcfg-output-high {
 			output-high;
+			phandle = <0x144>;
 		};
 
 		pcfg-output-low {
 			output-low;
+			phandle = <0x145>;
 		};
 
 		pcfg-input-enable {
 			input-enable;
+			phandle = <0x146>;
 		};
 
 		pcfg-input-pull-up {
 			input-enable;
 			bias-pull-up;
+			drive-strength = <0x02>;
+			phandle = <0x147>;
 		};
 
 		pcfg-input-pull-down {
 			input-enable;
 			bias-pull-down;
+			drive-strength = <0x02>;
+			phandle = <0x148>;
 		};
 
 		clock {
 
 			clk-32k {
-				rockchip,pins = <0x00 0x00 0x02 0xc1>;
+				rockchip,pins = <0x00 0x00 0x02 0xc2>;
+				phandle = <0x149>;
 			};
 		};
 
 		cif {
 
 			cif-clkin {
-				rockchip,pins = <0x02 0x0a 0x03 0xc1>;
+				rockchip,pins = <0x02 0x0a 0x03 0xc2>;
+				phandle = <0x14a>;
 			};
 
 			cif-clkouta {
-				rockchip,pins = <0x02 0x0b 0x03 0xc1>;
+				rockchip,pins = <0x02 0x0b 0x03 0xc2>;
+				phandle = <0x14b>;
 			};
 		};
 
 		edp {
 
 			edp-hpd {
-				rockchip,pins = <0x04 0x17 0x02 0xc1>;
-				phandle = <0xbb>;
+				rockchip,pins = <0x04 0x17 0x02 0xc2>;
+				phandle = <0xbc>;
 			};
 		};
 
 		gmac {
 
 			rgmii-pins {
-				rockchip,pins = <0x03 0x11 0x01 0xc2 0x03 0x0e 0x01 0xc1 0x03 0x0d 0x01 0xc1 0x03 0x0c 0x01 0xc2 0x03 0x0b 0x01 0xc1 0x03 0x09 0x01 0xc1 0x03 0x08 0x01 0xc1 0x03 0x07 0x01 0xc1 0x03 0x06 0x01 0xc1 0x03 0x05 0x01 0xc2 0x03 0x04 0x01 0xc2 0x03 0x03 0x01 0xc1 0x03 0x02 0x01 0xc1 0x03 0x01 0x01 0xc2 0x03 0x00 0x01 0xc2>;
+				rockchip,pins = <0x03 0x11 0x01 0xc3 0x03 0x0e 0x01 0xc2 0x03 0x0d 0x01 0xc2 0x03 0x0c 0x01 0xc3 0x03 0x0b 0x01 0xc2 0x03 0x09 0x01 0xc2 0x03 0x08 0x01 0xc2 0x03 0x07 0x01 0xc2 0x03 0x06 0x01 0xc2 0x03 0x05 0x01 0xc3 0x03 0x04 0x01 0xc3 0x03 0x03 0x01 0xc2 0x03 0x02 0x01 0xc2 0x03 0x01 0x01 0xc3 0x03 0x00 0x01 0xc3>;
+				phandle = <0x14c>;
 			};
 
 			rmii-pins {
-				rockchip,pins = <0x03 0x0d 0x01 0xc1 0x03 0x0c 0x01 0xc2 0x03 0x0b 0x01 0xc1 0x03 0x0a 0x01 0xc1 0x03 0x09 0x01 0xc1 0x03 0x08 0x01 0xc1 0x03 0x07 0x01 0xc1 0x03 0x06 0x01 0xc1 0x03 0x05 0x01 0xc2 0x03 0x04 0x01 0xc2>;
+				rockchip,pins = <0x03 0x0d 0x01 0xc2 0x03 0x0c 0x01 0xc3 0x03 0x0b 0x01 0xc2 0x03 0x0a 0x01 0xc2 0x03 0x09 0x01 0xc2 0x03 0x08 0x01 0xc2 0x03 0x07 0x01 0xc2 0x03 0x06 0x01 0xc2 0x03 0x05 0x01 0xc3 0x03 0x04 0x01 0xc3>;
+				phandle = <0x14d>;
 			};
 		};
 
 		i2c0 {
 
 			i2c0-xfer {
-				rockchip,pins = <0x01 0x0f 0x02 0xc1 0x01 0x10 0x02 0xc1>;
+				rockchip,pins = <0x01 0x0f 0x02 0xc2 0x01 0x10 0x02 0xc2>;
 				phandle = <0x81>;
 			};
 		};
@@ -2687,7 +2829,7 @@
 		i2c1 {
 
 			i2c1-xfer {
-				rockchip,pins = <0x04 0x02 0x01 0xc1 0x04 0x01 0x01 0xc1>;
+				rockchip,pins = <0x04 0x02 0x01 0xc2 0x04 0x01 0x01 0xc2>;
 				phandle = <0x36>;
 			};
 		};
@@ -2695,7 +2837,7 @@
 		i2c2 {
 
 			i2c2-xfer {
-				rockchip,pins = <0x02 0x01 0x02 0xc3 0x02 0x00 0x02 0xc3>;
+				rockchip,pins = <0x02 0x01 0x02 0xc4 0x02 0x00 0x02 0xc4>;
 				phandle = <0x37>;
 			};
 		};
@@ -2703,7 +2845,7 @@
 		i2c3 {
 
 			i2c3-xfer {
-				rockchip,pins = <0x04 0x11 0x01 0xc1 0x04 0x10 0x01 0xc1>;
+				rockchip,pins = <0x04 0x11 0x01 0xc2 0x04 0x10 0x01 0xc2>;
 				phandle = <0x38>;
 			};
 		};
@@ -2711,7 +2853,7 @@
 		i2c4 {
 
 			i2c4-xfer {
-				rockchip,pins = <0x01 0x0c 0x01 0xc1 0x01 0x0b 0x01 0xc1>;
+				rockchip,pins = <0x01 0x0c 0x01 0xc2 0x01 0x0b 0x01 0xc2>;
 				phandle = <0x87>;
 			};
 		};
@@ -2719,7 +2861,7 @@
 		i2c5 {
 
 			i2c5-xfer {
-				rockchip,pins = <0x03 0x0b 0x02 0xc1 0x03 0x0a 0x02 0xc1>;
+				rockchip,pins = <0x03 0x0b 0x02 0xc2 0x03 0x0a 0x02 0xc2>;
 				phandle = <0x39>;
 			};
 		};
@@ -2727,7 +2869,7 @@
 		i2c6 {
 
 			i2c6-xfer {
-				rockchip,pins = <0x02 0x0a 0x02 0xc1 0x02 0x09 0x02 0xc1>;
+				rockchip,pins = <0x02 0x0a 0x02 0xc2 0x02 0x09 0x02 0xc2>;
 				phandle = <0x3a>;
 			};
 		};
@@ -2735,7 +2877,7 @@
 		i2c7 {
 
 			i2c7-xfer {
-				rockchip,pins = <0x02 0x08 0x02 0xc1 0x02 0x07 0x02 0xc1>;
+				rockchip,pins = <0x02 0x08 0x02 0xc2 0x02 0x07 0x02 0xc2>;
 				phandle = <0x3b>;
 			};
 		};
@@ -2743,7 +2885,7 @@
 		i2c8 {
 
 			i2c8-xfer {
-				rockchip,pins = <0x01 0x15 0x01 0xc1 0x01 0x14 0x01 0xc1>;
+				rockchip,pins = <0x01 0x15 0x01 0xc2 0x01 0x14 0x01 0xc2>;
 				phandle = <0x91>;
 			};
 		};
@@ -2751,155 +2893,170 @@
 		i2s0 {
 
 			i2s0-2ch-bus {
-				rockchip,pins = <0x03 0x18 0x01 0xc1 0x03 0x19 0x01 0xc1 0x03 0x1a 0x01 0xc1 0x03 0x1b 0x01 0xc1 0x03 0x1f 0x01 0xc1 0x04 0x00 0x01 0xc1>;
+				rockchip,pins = <0x03 0x18 0x01 0xc2 0x03 0x19 0x01 0xc2 0x03 0x1a 0x01 0xc2 0x03 0x1b 0x01 0xc2 0x03 0x1f 0x01 0xc2 0x04 0x00 0x01 0xc2>;
+				phandle = <0x14e>;
 			};
 
 			i2s0-8ch-bus {
-				rockchip,pins = <0x03 0x18 0x01 0xc1 0x03 0x19 0x01 0xc1 0x03 0x1a 0x01 0xc1 0x03 0x1b 0x01 0xc1 0x03 0x1c 0x01 0xc1 0x03 0x1d 0x01 0xc1 0x03 0x1e 0x01 0xc1 0x03 0x1f 0x01 0xc1 0x04 0x00 0x01 0xc1>;
-				phandle = <0x9f>;
+				rockchip,pins = <0x03 0x18 0x01 0xc2 0x03 0x19 0x01 0xc2 0x03 0x1a 0x01 0xc2 0x03 0x1b 0x01 0xc2 0x03 0x1c 0x01 0xc2 0x03 0x1d 0x01 0xc2 0x03 0x1e 0x01 0xc2 0x03 0x1f 0x01 0xc2 0x04 0x00 0x01 0xc2>;
+				phandle = <0xa0>;
 			};
 
 			i2s0-8ch-bus-bclk-off {
-				rockchip,pins = <0x03 0x18 0x00 0xc1 0x03 0x19 0x01 0xc1 0x03 0x1a 0x01 0xc1 0x03 0x1b 0x01 0xc1 0x03 0x1c 0x01 0xc1 0x03 0x1d 0x01 0xc1 0x03 0x1e 0x01 0xc1 0x03 0x1f 0x01 0xc1 0x04 0x00 0x01 0xc1>;
-				phandle = <0xa0>;
+				rockchip,pins = <0x03 0x18 0x00 0xc2 0x03 0x19 0x01 0xc2 0x03 0x1a 0x01 0xc2 0x03 0x1b 0x01 0xc2 0x03 0x1c 0x01 0xc2 0x03 0x1d 0x01 0xc2 0x03 0x1e 0x01 0xc2 0x03 0x1f 0x01 0xc2 0x04 0x00 0x01 0xc2>;
+				phandle = <0xa1>;
 			};
 		};
 
 		i2s1 {
 
 			i2s1-2ch-bus {
-				rockchip,pins = <0x04 0x03 0x01 0xc1 0x04 0x04 0x01 0xc1 0x04 0x05 0x01 0xc1 0x04 0x06 0x01 0xc1 0x04 0x07 0x01 0xc1>;
-				phandle = <0xa2>;
+				rockchip,pins = <0x04 0x03 0x01 0xc2 0x04 0x04 0x01 0xc2 0x04 0x05 0x01 0xc2 0x04 0x06 0x01 0xc2 0x04 0x07 0x01 0xc2>;
+				phandle = <0xa3>;
 			};
 
 			i2s1-2ch-bus-bclk-off {
-				rockchip,pins = <0x04 0x03 0x00 0xc1 0x04 0x04 0x01 0xc1 0x04 0x05 0x01 0xc1 0x04 0x06 0x01 0xc1 0x04 0x07 0x01 0xc1>;
+				rockchip,pins = <0x04 0x03 0x00 0xc2 0x04 0x04 0x01 0xc2 0x04 0x05 0x01 0xc2 0x04 0x06 0x01 0xc2 0x04 0x07 0x01 0xc2>;
+				phandle = <0x14f>;
 			};
 
 			i2s-8ch-mclk-pin {
-				rockchip,pins = <0x04 0x00 0x01 0xc1>;
-				phandle = <0xa1>;
+				rockchip,pins = <0x04 0x00 0x01 0xc2>;
+				phandle = <0xa2>;
 			};
 		};
 
 		sdio0 {
 
 			sdio0-bus1 {
-				rockchip,pins = <0x02 0x14 0x01 0xc4>;
+				rockchip,pins = <0x02 0x14 0x01 0xc5>;
+				phandle = <0x150>;
 			};
 
 			sdio0-bus4 {
-				rockchip,pins = <0x02 0x14 0x01 0xc4 0x02 0x15 0x01 0xc4 0x02 0x16 0x01 0xc4 0x02 0x17 0x01 0xc4>;
+				rockchip,pins = <0x02 0x14 0x01 0xc5 0x02 0x15 0x01 0xc5 0x02 0x16 0x01 0xc5 0x02 0x17 0x01 0xc5>;
 				phandle = <0x20>;
 			};
 
 			sdio0-cmd {
-				rockchip,pins = <0x02 0x18 0x01 0xc4>;
+				rockchip,pins = <0x02 0x18 0x01 0xc5>;
 				phandle = <0x21>;
 			};
 
 			sdio0-clk {
-				rockchip,pins = <0x02 0x19 0x01 0xc1>;
+				rockchip,pins = <0x02 0x19 0x01 0xc2>;
 				phandle = <0x22>;
 			};
 
 			sdio0-cd {
-				rockchip,pins = <0x02 0x1a 0x01 0xc4>;
+				rockchip,pins = <0x02 0x1a 0x01 0xc5>;
+				phandle = <0x151>;
 			};
 
 			sdio0-pwr {
-				rockchip,pins = <0x02 0x1b 0x01 0xc4>;
+				rockchip,pins = <0x02 0x1b 0x01 0xc5>;
+				phandle = <0x152>;
 			};
 
 			sdio0-bkpwr {
-				rockchip,pins = <0x02 0x1c 0x01 0xc4>;
+				rockchip,pins = <0x02 0x1c 0x01 0xc5>;
+				phandle = <0x153>;
 			};
 
 			sdio0-wp {
-				rockchip,pins = <0x00 0x03 0x01 0xc4>;
+				rockchip,pins = <0x00 0x03 0x01 0xc5>;
+				phandle = <0x154>;
 			};
 
 			sdio0-int {
-				rockchip,pins = <0x00 0x04 0x01 0xc4>;
+				rockchip,pins = <0x00 0x04 0x01 0xc5>;
+				phandle = <0x155>;
 			};
 		};
 
 		sdmmc {
 
 			sdmmc-bus1 {
-				rockchip,pins = <0x04 0x08 0x01 0xc4>;
+				rockchip,pins = <0x04 0x08 0x01 0xc6>;
+				phandle = <0x156>;
 			};
 
 			sdmmc-bus4 {
-				rockchip,pins = <0x04 0x08 0x01 0xc4 0x04 0x09 0x01 0xc4 0x04 0x0a 0x01 0xc4 0x04 0x0b 0x01 0xc4>;
+				rockchip,pins = <0x04 0x08 0x01 0xc6 0x04 0x09 0x01 0xc6 0x04 0x0a 0x01 0xc6 0x04 0x0b 0x01 0xc6>;
 				phandle = <0x26>;
 			};
 
 			sdmmc-clk {
-				rockchip,pins = <0x04 0x0c 0x01 0xc1>;
+				rockchip,pins = <0x04 0x0c 0x01 0xc4>;
 				phandle = <0x24>;
 			};
 
 			sdmmc-cmd {
-				rockchip,pins = <0x04 0x0d 0x01 0xc4>;
+				rockchip,pins = <0x04 0x0d 0x01 0xc6>;
 				phandle = <0x25>;
 			};
 
 			sdmmc-cd {
-				rockchip,pins = <0x00 0x07 0x01 0xc4>;
+				rockchip,pins = <0x00 0x07 0x01 0xc5>;
+				phandle = <0x157>;
 			};
 
 			sdmmc-wp {
-				rockchip,pins = <0x00 0x08 0x01 0xc4>;
+				rockchip,pins = <0x00 0x08 0x01 0xc6>;
+				phandle = <0x158>;
 			};
 		};
 
 		suspend {
 
 			ap-pwroff {
-				rockchip,pins = <0x01 0x05 0x01 0xc1>;
+				rockchip,pins = <0x01 0x05 0x01 0xc2>;
+				phandle = <0x159>;
 			};
 
 			ddrio-pwroff {
-				rockchip,pins = <0x00 0x01 0x01 0xc1>;
+				rockchip,pins = <0x00 0x01 0x01 0xc2>;
+				phandle = <0x15a>;
 			};
 		};
 
 		spdif {
 
 			spdif-bus {
-				rockchip,pins = <0x04 0x15 0x01 0xc1>;
-				phandle = <0x9e>;
+				rockchip,pins = <0x04 0x15 0x01 0xc2>;
+				phandle = <0x9f>;
 			};
 
 			spdif-bus-1 {
-				rockchip,pins = <0x03 0x10 0x03 0xc1>;
+				rockchip,pins = <0x03 0x10 0x03 0xc2>;
+				phandle = <0x15b>;
 			};
 		};
 
 		spi0 {
 
 			spi0-clk {
-				rockchip,pins = <0x03 0x06 0x02 0xc4>;
+				rockchip,pins = <0x03 0x06 0x02 0xc5>;
 				phandle = <0x49>;
 			};
 
 			spi0-cs0 {
-				rockchip,pins = <0x03 0x07 0x02 0xc4>;
+				rockchip,pins = <0x03 0x07 0x02 0xc5>;
 				phandle = <0x4c>;
 			};
 
 			spi0-cs1 {
-				rockchip,pins = <0x03 0x08 0x02 0xc4>;
+				rockchip,pins = <0x03 0x08 0x02 0xc5>;
+				phandle = <0x15c>;
 			};
 
 			spi0-tx {
-				rockchip,pins = <0x03 0x05 0x02 0xc4>;
+				rockchip,pins = <0x03 0x05 0x02 0xc5>;
 				phandle = <0x4a>;
 			};
 
 			spi0-rx {
-				rockchip,pins = <0x03 0x04 0x02 0xc4>;
+				rockchip,pins = <0x03 0x04 0x02 0xc5>;
 				phandle = <0x4b>;
 			};
 		};
@@ -2907,22 +3064,22 @@
 		spi1 {
 
 			spi1-clk {
-				rockchip,pins = <0x01 0x09 0x02 0xc4>;
+				rockchip,pins = <0x01 0x09 0x02 0xc5>;
 				phandle = <0x4d>;
 			};
 
 			spi1-cs0 {
-				rockchip,pins = <0x01 0x0a 0x02 0xc4>;
+				rockchip,pins = <0x01 0x0a 0x02 0xc5>;
 				phandle = <0x50>;
 			};
 
 			spi1-rx {
-				rockchip,pins = <0x01 0x07 0x02 0xc4>;
+				rockchip,pins = <0x01 0x07 0x02 0xc5>;
 				phandle = <0x4f>;
 			};
 
 			spi1-tx {
-				rockchip,pins = <0x01 0x08 0x02 0xc4>;
+				rockchip,pins = <0x01 0x08 0x02 0xc5>;
 				phandle = <0x4e>;
 			};
 		};
@@ -2930,22 +3087,22 @@
 		spi2 {
 
 			spi2-clk {
-				rockchip,pins = <0x02 0x0b 0x01 0xc4>;
+				rockchip,pins = <0x02 0x0b 0x01 0xc5>;
 				phandle = <0x51>;
 			};
 
 			spi2-cs0 {
-				rockchip,pins = <0x02 0x0c 0x01 0xc4>;
+				rockchip,pins = <0x02 0x0c 0x01 0xc5>;
 				phandle = <0x54>;
 			};
 
 			spi2-rx {
-				rockchip,pins = <0x02 0x09 0x01 0xc4>;
+				rockchip,pins = <0x02 0x09 0x01 0xc5>;
 				phandle = <0x53>;
 			};
 
 			spi2-tx {
-				rockchip,pins = <0x02 0x0a 0x01 0xc4>;
+				rockchip,pins = <0x02 0x0a 0x01 0xc5>;
 				phandle = <0x52>;
 			};
 		};
@@ -2953,22 +3110,22 @@
 		spi3 {
 
 			spi3-clk {
-				rockchip,pins = <0x01 0x11 0x01 0xc4>;
+				rockchip,pins = <0x01 0x11 0x01 0xc5>;
 				phandle = <0x7c>;
 			};
 
 			spi3-cs0 {
-				rockchip,pins = <0x01 0x12 0x01 0xc4>;
+				rockchip,pins = <0x01 0x12 0x01 0xc5>;
 				phandle = <0x7f>;
 			};
 
 			spi3-rx {
-				rockchip,pins = <0x01 0x0f 0x01 0xc4>;
+				rockchip,pins = <0x01 0x0f 0x01 0xc5>;
 				phandle = <0x7e>;
 			};
 
 			spi3-tx {
-				rockchip,pins = <0x01 0x10 0x01 0xc4>;
+				rockchip,pins = <0x01 0x10 0x01 0xc5>;
 				phandle = <0x7d>;
 			};
 		};
@@ -2976,22 +3133,22 @@
 		spi4 {
 
 			spi4-clk {
-				rockchip,pins = <0x03 0x02 0x02 0xc4>;
+				rockchip,pins = <0x03 0x02 0x02 0xc5>;
 				phandle = <0x55>;
 			};
 
 			spi4-cs0 {
-				rockchip,pins = <0x03 0x03 0x02 0xc4>;
+				rockchip,pins = <0x03 0x03 0x02 0xc5>;
 				phandle = <0x58>;
 			};
 
 			spi4-rx {
-				rockchip,pins = <0x03 0x00 0x02 0xc4>;
+				rockchip,pins = <0x03 0x00 0x02 0xc5>;
 				phandle = <0x57>;
 			};
 
 			spi4-tx {
-				rockchip,pins = <0x03 0x01 0x02 0xc4>;
+				rockchip,pins = <0x03 0x01 0x02 0xc5>;
 				phandle = <0x56>;
 			};
 		};
@@ -2999,22 +3156,22 @@
 		spi5 {
 
 			spi5-clk {
-				rockchip,pins = <0x02 0x16 0x02 0xc4>;
+				rockchip,pins = <0x02 0x16 0x02 0xc5>;
 				phandle = <0x5a>;
 			};
 
 			spi5-cs0 {
-				rockchip,pins = <0x02 0x17 0x02 0xc4>;
+				rockchip,pins = <0x02 0x17 0x02 0xc5>;
 				phandle = <0x5d>;
 			};
 
 			spi5-rx {
-				rockchip,pins = <0x02 0x14 0x02 0xc4>;
+				rockchip,pins = <0x02 0x14 0x02 0xc5>;
 				phandle = <0x5c>;
 			};
 
 			spi5-tx {
-				rockchip,pins = <0x02 0x15 0x02 0xc4>;
+				rockchip,pins = <0x02 0x15 0x02 0xc5>;
 				phandle = <0x5b>;
 			};
 		};
@@ -3022,27 +3179,30 @@
 		testclk {
 
 			test-clkout0 {
-				rockchip,pins = <0x00 0x00 0x01 0xc1>;
+				rockchip,pins = <0x00 0x00 0x01 0xc2>;
+				phandle = <0x15d>;
 			};
 
 			test-clkout1 {
-				rockchip,pins = <0x02 0x19 0x02 0xc1>;
+				rockchip,pins = <0x02 0x19 0x02 0xc2>;
+				phandle = <0x15e>;
 			};
 
 			test-clkout2 {
-				rockchip,pins = <0x00 0x08 0x03 0xc1>;
+				rockchip,pins = <0x00 0x08 0x03 0xc2>;
+				phandle = <0x15f>;
 			};
 		};
 
 		tsadc {
 
 			otp-pin {
-				rockchip,pins = <0x01 0x06 0x00 0xc1>;
+				rockchip,pins = <0x01 0x06 0x00 0xc2>;
 				phandle = <0x63>;
 			};
 
 			otp-out {
-				rockchip,pins = <0x01 0x06 0x01 0xc1>;
+				rockchip,pins = <0x01 0x06 0x01 0xc2>;
 				phandle = <0x64>;
 			};
 		};
@@ -3050,17 +3210,17 @@
 		uart0 {
 
 			uart0-xfer {
-				rockchip,pins = <0x02 0x10 0x01 0xc4 0x02 0x11 0x01 0xc1>;
+				rockchip,pins = <0x02 0x10 0x01 0xc5 0x02 0x11 0x01 0xc2>;
 				phandle = <0x3c>;
 			};
 
 			uart0-cts {
-				rockchip,pins = <0x02 0x12 0x01 0xc1>;
+				rockchip,pins = <0x02 0x12 0x01 0xc2>;
 				phandle = <0x3d>;
 			};
 
 			uart0-rts {
-				rockchip,pins = <0x02 0x13 0x01 0xc1>;
+				rockchip,pins = <0x02 0x13 0x01 0xc2>;
 				phandle = <0x3e>;
 			};
 		};
@@ -3068,7 +3228,7 @@
 		uart1 {
 
 			uart1-xfer {
-				rockchip,pins = <0x03 0x0c 0x02 0xc4 0x03 0x0d 0x02 0xc1>;
+				rockchip,pins = <0x03 0x0c 0x02 0xc5 0x03 0x0d 0x02 0xc2>;
 				phandle = <0x45>;
 			};
 		};
@@ -3076,21 +3236,23 @@
 		uart2a {
 
 			uart2a-xfer {
-				rockchip,pins = <0x04 0x08 0x02 0xc4 0x04 0x09 0x02 0xc1>;
+				rockchip,pins = <0x04 0x08 0x02 0xc5 0x04 0x09 0x02 0xc2>;
+				phandle = <0x160>;
 			};
 		};
 
 		uart2b {
 
 			uart2b-xfer {
-				rockchip,pins = <0x04 0x10 0x02 0xc4 0x04 0x11 0x02 0xc1>;
+				rockchip,pins = <0x04 0x10 0x02 0xc5 0x04 0x11 0x02 0xc2>;
+				phandle = <0x161>;
 			};
 		};
 
 		uart2c {
 
 			uart2c-xfer {
-				rockchip,pins = <0x04 0x13 0x01 0xc4 0x04 0x14 0x01 0xc1>;
+				rockchip,pins = <0x04 0x13 0x01 0xc5 0x04 0x14 0x01 0xc2>;
 				phandle = <0x46>;
 			};
 		};
@@ -3098,23 +3260,25 @@
 		uart3 {
 
 			uart3-xfer {
-				rockchip,pins = <0x03 0x0e 0x02 0xc4 0x03 0x0f 0x02 0xc1>;
+				rockchip,pins = <0x03 0x0e 0x02 0xc5 0x03 0x0f 0x02 0xc2>;
 				phandle = <0x47>;
 			};
 
 			uart3-cts {
-				rockchip,pins = <0x03 0x10 0x02 0xc1>;
+				rockchip,pins = <0x03 0x10 0x02 0xc2>;
+				phandle = <0x162>;
 			};
 
 			uart3-rts {
-				rockchip,pins = <0x03 0x11 0x02 0xc1>;
+				rockchip,pins = <0x03 0x11 0x02 0xc2>;
+				phandle = <0x163>;
 			};
 		};
 
 		uart4 {
 
 			uart4-xfer {
-				rockchip,pins = <0x01 0x07 0x01 0xc4 0x01 0x08 0x01 0xc1>;
+				rockchip,pins = <0x01 0x07 0x01 0xc5 0x01 0x08 0x01 0xc2>;
 				phandle = <0x80>;
 			};
 		};
@@ -3122,58 +3286,64 @@
 		uarthdcp {
 
 			uarthdcp-xfer {
-				rockchip,pins = <0x04 0x15 0x02 0xc4 0x04 0x16 0x02 0xc1>;
+				rockchip,pins = <0x04 0x15 0x02 0xc5 0x04 0x16 0x02 0xc2>;
+				phandle = <0x164>;
 			};
 		};
 
 		pwm0 {
 
 			pwm0-pin {
-				rockchip,pins = <0x04 0x12 0x01 0xc1>;
+				rockchip,pins = <0x04 0x12 0x01 0xc2>;
 				phandle = <0x92>;
 			};
 
 			pwm0-pin-pull-down {
-				rockchip,pins = <0x04 0x12 0x01 0xc5>;
+				rockchip,pins = <0x04 0x12 0x01 0xc7>;
+				phandle = <0x165>;
 			};
 
 			vop0-pwm-pin {
-				rockchip,pins = <0x04 0x12 0x02 0xc1>;
+				rockchip,pins = <0x04 0x12 0x02 0xc2>;
+				phandle = <0x166>;
 			};
 
 			vop1-pwm-pin {
-				rockchip,pins = <0x04 0x12 0x03 0xc1>;
+				rockchip,pins = <0x04 0x12 0x03 0xc2>;
+				phandle = <0x167>;
 			};
 		};
 
 		pwm1 {
 
 			pwm1-pin {
-				rockchip,pins = <0x04 0x16 0x01 0xc1>;
+				rockchip,pins = <0x04 0x16 0x01 0xc2>;
 				phandle = <0x93>;
 			};
 
 			pwm1-pin-pull-down {
-				rockchip,pins = <0x04 0x16 0x01 0xc5>;
+				rockchip,pins = <0x04 0x16 0x01 0xc7>;
+				phandle = <0x168>;
 			};
 		};
 
 		pwm2 {
 
 			pwm2-pin {
-				rockchip,pins = <0x01 0x13 0x01 0xc1>;
+				rockchip,pins = <0x01 0x13 0x01 0xc2>;
 				phandle = <0x94>;
 			};
 
 			pwm2-pin-pull-down {
-				rockchip,pins = <0x01 0x13 0x01 0xc5>;
+				rockchip,pins = <0x01 0x13 0x01 0xc7>;
+				phandle = <0x169>;
 			};
 		};
 
 		pwm3a {
 
 			pwm3a-pin {
-				rockchip,pins = <0x00 0x06 0x01 0xc1>;
+				rockchip,pins = <0x00 0x06 0x01 0xc2>;
 				phandle = <0x95>;
 			};
 		};
@@ -3181,66 +3351,70 @@
 		pwm3b {
 
 			pwm3b-pin {
-				rockchip,pins = <0x01 0x0e 0x01 0xc1>;
+				rockchip,pins = <0x01 0x0e 0x01 0xc2>;
+				phandle = <0x16a>;
 			};
 		};
 
 		hdmi {
 
 			hdmi-i2c-xfer {
-				rockchip,pins = <0x04 0x11 0x03 0xc1 0x04 0x10 0x03 0xc1>;
+				rockchip,pins = <0x04 0x11 0x03 0xc2 0x04 0x10 0x03 0xc2>;
+				phandle = <0x16b>;
 			};
 
 			hdmi-cec {
-				rockchip,pins = <0x04 0x17 0x01 0xc1>;
+				rockchip,pins = <0x04 0x17 0x01 0xc2>;
+				phandle = <0x16c>;
 			};
 		};
 
 		pcie {
 
 			pci-clkreqn-cpm {
-				rockchip,pins = <0x02 0x1a 0x00 0xc1>;
+				rockchip,pins = <0x02 0x1a 0x00 0xc2>;
 				phandle = <0x19>;
 			};
 
 			pci-clkreqnb-cpm {
-				rockchip,pins = <0x04 0x18 0x00 0xc1>;
+				rockchip,pins = <0x04 0x18 0x00 0xc2>;
+				phandle = <0x16d>;
 			};
 		};
 
 		buttons {
 
 			pwrbtn-pin {
-				rockchip,pins = <0x00 0x05 0x00 0xc4>;
-				phandle = <0xcd>;
+				rockchip,pins = <0x00 0x05 0x00 0xc5>;
+				phandle = <0xcf>;
 			};
 
 			lidbtn-pin {
-				rockchip,pins = <0x01 0x01 0x00 0xc4>;
-				phandle = <0xcc>;
+				rockchip,pins = <0x01 0x01 0x00 0xc5>;
+				phandle = <0xce>;
 			};
 		};
 
 		dc-charger {
 
 			dc-det-pin {
-				rockchip,pins = <0x04 0x18 0x00 0xc4>;
-				phandle = <0xdd>;
+				rockchip,pins = <0x04 0x18 0x00 0xc5>;
+				phandle = <0xdf>;
 			};
 		};
 
 		es8316 {
 
 			hp-det-pin {
-				rockchip,pins = <0x00 0x08 0x00 0xc4>;
-				phandle = <0xd1>;
+				rockchip,pins = <0x00 0x08 0x00 0xc5>;
+				phandle = <0xd3>;
 			};
 		};
 
 		fusb302x {
 
 			fusb0-int-pin {
-				rockchip,pins = <0x01 0x02 0x00 0xc4>;
+				rockchip,pins = <0x01 0x02 0x00 0xc5>;
 				phandle = <0x89>;
 			};
 		};
@@ -3248,47 +3422,48 @@
 		lcd-panel {
 
 			lcdvcc-en-pin {
-				rockchip,pins = <0x01 0x16 0x00 0xc1>;
-				phandle = <0xda>;
+				rockchip,pins = <0x01 0x16 0x00 0xc2>;
+				phandle = <0xdc>;
 			};
 
 			panel-en-pin {
-				rockchip,pins = <0x01 0x00 0x00 0xc1>;
-				phandle = <0xc9>;
+				rockchip,pins = <0x01 0x00 0x00 0xc2>;
+				phandle = <0xcb>;
 			};
 
 			lcd-panel-reset-pin {
-				rockchip,pins = <0x04 0x1e 0x00 0xc4>;
+				rockchip,pins = <0x04 0x1e 0x00 0xc5>;
+				phandle = <0x16e>;
 			};
 		};
 
 		leds {
 
 			pwr-led-pin {
-				rockchip,pins = <0x00 0x0b 0x00 0xc1>;
-				phandle = <0xce>;
+				rockchip,pins = <0x00 0x0b 0x00 0xc2>;
+				phandle = <0xd0>;
 			};
 
 			slp-led-pin {
-				rockchip,pins = <0x00 0x02 0x00 0xc1>;
-				phandle = <0xcf>;
+				rockchip,pins = <0x00 0x02 0x00 0xc2>;
+				phandle = <0xd1>;
 			};
 		};
 
 		pmic {
 
 			pmic-int-l-pin {
-				rockchip,pins = <0x03 0x0a 0x00 0xc4>;
+				rockchip,pins = <0x03 0x0a 0x00 0xc5>;
 				phandle = <0x83>;
 			};
 
 			vsel1-pin {
-				rockchip,pins = <0x01 0x11 0x00 0xc5>;
+				rockchip,pins = <0x01 0x11 0x00 0xc7>;
 				phandle = <0x85>;
 			};
 
 			vsel2-pin {
-				rockchip,pins = <0x01 0x0e 0x00 0xc5>;
+				rockchip,pins = <0x01 0x0e 0x00 0xc7>;
 				phandle = <0x86>;
 			};
 		};
@@ -3296,54 +3471,54 @@
 		sdcard {
 
 			sdmmc0-pwr-h-pin {
-				rockchip,pins = <0x00 0x01 0x00 0xc1>;
-				phandle = <0xd9>;
+				rockchip,pins = <0x00 0x01 0x00 0xc2>;
+				phandle = <0xdb>;
 			};
 		};
 
 		sdio-pwrseq {
 
 			wifi-enable-h-pin {
-				rockchip,pins = <0x00 0x0a 0x00 0xc1>;
-				phandle = <0xd0>;
+				rockchip,pins = <0x00 0x0a 0x00 0xc2>;
+				phandle = <0xd2>;
 			};
 		};
 
 		usb-typec {
 
 			vcc5v0-typec0-en-pin {
-				rockchip,pins = <0x01 0x03 0x00 0xc4>;
-				phandle = <0xdc>;
+				rockchip,pins = <0x01 0x03 0x00 0xc5>;
+				phandle = <0xde>;
 			};
 		};
 
 		usb2 {
 
 			pwr-5v-pin {
-				rockchip,pins = <0x01 0x0d 0x00 0xc1>;
-				phandle = <0xd7>;
+				rockchip,pins = <0x01 0x0d 0x00 0xc2>;
+				phandle = <0xd9>;
 			};
 
 			vcc5v0-host-en-pin {
-				rockchip,pins = <0x04 0x1a 0x00 0xc1>;
-				phandle = <0xdb>;
+				rockchip,pins = <0x04 0x1a 0x00 0xc2>;
+				phandle = <0xdd>;
 			};
 		};
 
 		wireless-bluetooth {
 
 			bt-wake-pin {
-				rockchip,pins = <0x02 0x1b 0x00 0xc1>;
+				rockchip,pins = <0x02 0x1b 0x00 0xc2>;
 				phandle = <0x41>;
 			};
 
 			bt-host-wake-pin {
-				rockchip,pins = <0x00 0x04 0x00 0xc1>;
+				rockchip,pins = <0x00 0x04 0x00 0xc2>;
 				phandle = <0x40>;
 			};
 
 			bt-reset-pin {
-				rockchip,pins = <0x00 0x09 0x00 0xc1>;
+				rockchip,pins = <0x00 0x09 0x00 0xc2>;
 				phandle = <0x42>;
 			};
 		};
@@ -3435,7 +3610,7 @@
 
 	opp-table-2 {
 		compatible = "operating-points-v2";
-		phandle = <0xbf>;
+		phandle = <0xc0>;
 
 		opp00 {
 			opp-hz = <0x00 0xbebc200>;
@@ -3474,9 +3649,9 @@
 
 	edp-backlight {
 		compatible = "pwm-backlight";
-		power-supply = <0xc6>;
-		pwms = <0xc7 0x00 0xb4d84 0x00>;
-		phandle = <0xc8>;
+		power-supply = <0xc8>;
+		pwms = <0xc9 0x00 0xb4d84 0x00>;
+		phandle = <0xca>;
 	};
 
 	battery {
@@ -3489,11 +3664,12 @@
 
 	edp-panel {
 		compatible = "boe,nv140fhmn49";
-		backlight = <0xc8>;
+		backlight = <0xca>;
 		enable-gpios = <0x88 0x00 0x00>;
 		pinctrl-names = "default";
-		pinctrl-0 = <0xc9>;
-		power-supply = <0xca>;
+		pinctrl-0 = <0xcb>;
+		power-supply = <0xcc>;
+		phandle = <0x16f>;
 
 		ports {
 			#address-cells = <0x01>;
@@ -3506,8 +3682,8 @@
 
 				endpoint@0 {
 					reg = <0x00>;
-					remote-endpoint = <0xcb>;
-					phandle = <0xbe>;
+					remote-endpoint = <0xcd>;
+					phandle = <0xbf>;
 				};
 			};
 		};
@@ -3516,7 +3692,7 @@
 	gpio-key-lid {
 		compatible = "gpio-keys";
 		pinctrl-names = "default";
-		pinctrl-0 = <0xcc>;
+		pinctrl-0 = <0xce>;
 
 		switch-lid {
 			debounce-interval = <0x14>;
@@ -3532,7 +3708,7 @@
 	gpio-key-power {
 		compatible = "gpio-keys";
 		pinctrl-names = "default";
-		pinctrl-0 = <0xcd>;
+		pinctrl-0 = <0xcf>;
 
 		key-power {
 			debounce-interval = <0x14>;
@@ -3546,7 +3722,7 @@
 	leds {
 		compatible = "gpio-leds";
 		pinctrl-names = "default";
-		pinctrl-0 = <0xce 0xcf>;
+		pinctrl-0 = <0xd0 0xd1>;
 
 		led-0 {
 			color = <0x02>;
@@ -3554,6 +3730,7 @@
 			function = "power";
 			gpios = <0x23 0x0b 0x00>;
 			label = "green:power";
+			phandle = <0x170>;
 		};
 
 		led-1 {
@@ -3564,6 +3741,7 @@
 			label = "red:standby";
 			panic-indicator;
 			retain-state-suspended;
+			phandle = <0x171>;
 		};
 	};
 
@@ -3572,7 +3750,7 @@
 		clocks = <0x3f 0x01>;
 		clock-names = "ext_clock";
 		pinctrl-names = "default";
-		pinctrl-0 = <0xd0>;
+		pinctrl-0 = <0xd2>;
 		post-power-on-delay-ms = <0x64>;
 		power-off-delay-us = <0x7a120>;
 		reset-gpios = <0x23 0x0a 0x01>;
@@ -3582,31 +3760,31 @@
 	es8316-sound {
 		compatible = "simple-audio-card";
 		pinctrl-names = "default";
-		pinctrl-0 = <0xd1>;
+		pinctrl-0 = <0xd3>;
 		simple-audio-card,name = "rockchip,es8316-codec";
 		simple-audio-card,format = "i2s";
 		simple-audio-card,mclk-fs = <0x100>;
 		simple-audio-card,widgets = "Microphone\0Mic Jack\0Headphone\0Headphones\0Speaker\0Speaker";
 		simple-audio-card,routing = "MIC1\0Mic Jack\0Headphones\0HPOL\0Headphones\0HPOR\0Speaker Amplifier INL\0HPOL\0Speaker Amplifier INR\0HPOR\0Speaker\0Speaker Amplifier OUTL\0Speaker\0Speaker Amplifier OUTR";
 		simple-audio-card,hp-det-gpio = <0x23 0x08 0x00>;
-		simple-audio-card,aux-devs = <0xd2>;
+		simple-audio-card,aux-devs = <0xd4>;
 		simple-audio-card,pin-switches = "Speaker";
 
 		simple-audio-card,cpu {
-			sound-dai = <0xd3>;
+			sound-dai = <0xd5>;
 		};
 
 		simple-audio-card,codec {
-			sound-dai = <0xd4>;
+			sound-dai = <0xd6>;
 		};
 	};
 
 	speaker-amplifier {
 		compatible = "simple-audio-amplifier";
-		enable-gpios = <0xd5 0x1b 0x00>;
+		enable-gpios = <0xd7 0x1b 0x00>;
 		sound-name-prefix = "Speaker Amplifier";
-		VCC-supply = <0xd6>;
-		phandle = <0xd2>;
+		VCC-supply = <0xd8>;
+		phandle = <0xd4>;
 	};
 
 	vcc-sysin {
@@ -3625,7 +3803,7 @@
 		regulator-min-microvolt = <0xb71b00>;
 		regulator-max-microvolt = <0xb71b00>;
 		vin-supply = <0x84>;
-		phandle = <0xc6>;
+		phandle = <0xc8>;
 
 		regulator-state-mem {
 			regulator-off-in-suspend;
@@ -3652,13 +3830,13 @@
 		enable-active-high;
 		gpio = <0x88 0x0d 0x00>;
 		pinctrl-names = "default";
-		pinctrl-0 = <0xd7>;
+		pinctrl-0 = <0xd9>;
 		regulator-name = "vcc5v0_usb";
 		regulator-always-on;
 		regulator-min-microvolt = <0x4c4b40>;
 		regulator-max-microvolt = <0x4c4b40>;
 		vin-supply = <0x84>;
-		phandle = <0xd6>;
+		phandle = <0xd8>;
 
 		regulator-state-mem {
 			regulator-off-in-suspend;
@@ -3667,13 +3845,14 @@
 
 	vdd-log {
 		compatible = "pwm-regulator";
-		pwms = <0xd8 0x00 0x61a8 0x01>;
+		pwms = <0xda 0x00 0x61a8 0x01>;
 		pwm-supply = <0x84>;
 		regulator-name = "vdd_log";
 		regulator-always-on;
 		regulator-boot-on;
 		regulator-min-microvolt = <0xc3500>;
 		regulator-max-microvolt = <0x155cc0>;
+		phandle = <0x172>;
 
 		regulator-state-mem {
 			regulator-on-in-suspend;
@@ -3688,6 +3867,7 @@
 		regulator-min-microvolt = <0xdbba0>;
 		regulator-max-microvolt = <0xdbba0>;
 		vin-supply = <0x43>;
+		phandle = <0x173>;
 	};
 
 	vcc1v8-s3 {
@@ -3706,7 +3886,7 @@
 		enable-active-high;
 		gpio = <0x23 0x01 0x00>;
 		pinctrl-names = "default";
-		pinctrl-0 = <0xd9>;
+		pinctrl-0 = <0xdb>;
 		regulator-name = "vcc3v0_sd";
 		regulator-always-on;
 		regulator-min-microvolt = <0x2dc6c0>;
@@ -3724,14 +3904,14 @@
 		enable-active-high;
 		gpio = <0x88 0x16 0x00>;
 		pinctrl-names = "default";
-		pinctrl-0 = <0xda>;
+		pinctrl-0 = <0xdc>;
 		regulator-name = "vcc3v3_panel";
 		regulator-always-on;
 		regulator-min-microvolt = <0x325aa0>;
 		regulator-max-microvolt = <0x325aa0>;
 		regulator-enable-ramp-delay = <0x186a0>;
 		vin-supply = <0x43>;
-		phandle = <0xca>;
+		phandle = <0xcc>;
 
 		regulator-state-mem {
 			regulator-off-in-suspend;
@@ -3750,15 +3930,15 @@
 	vcc5v0-otg {
 		compatible = "regulator-fixed";
 		enable-active-high;
-		gpio = <0xd5 0x1a 0x00>;
+		gpio = <0xd7 0x1a 0x00>;
 		pinctrl-names = "default";
-		pinctrl-0 = <0xdb>;
+		pinctrl-0 = <0xdd>;
 		regulator-name = "vcc5v0_otg";
 		regulator-always-on;
 		regulator-min-microvolt = <0x4c4b40>;
 		regulator-max-microvolt = <0x4c4b40>;
-		vin-supply = <0xd6>;
-		phandle = <0x99>;
+		vin-supply = <0xd8>;
+		phandle = <0x9a>;
 
 		regulator-state-mem {
 			regulator-off-in-suspend;
@@ -3770,11 +3950,11 @@
 		enable-active-high;
 		gpio = <0x88 0x03 0x00>;
 		pinctrl-names = "default";
-		pinctrl-0 = <0xdc>;
+		pinctrl-0 = <0xde>;
 		regulator-name = "vbus_5vout";
 		regulator-min-microvolt = <0x4c4b40>;
 		regulator-max-microvolt = <0x4c4b40>;
-		vin-supply = <0xd6>;
+		vin-supply = <0xd8>;
 		phandle = <0x8a>;
 
 		regulator-state-mem {
@@ -3798,9 +3978,387 @@
 	dc-charger {
 		compatible = "gpio-charger";
 		charger-type = "mains";
-		gpios = <0xd5 0x18 0x01>;
+		gpios = <0xd7 0x18 0x01>;
 		pinctrl-names = "default";
-		pinctrl-0 = <0xdd>;
+		pinctrl-0 = <0xdf>;
 		phandle = <0x8f>;
 	};
+
+	__symbols__ {
+		cpu_l0 = "/cpus/cpu@0";
+		cpu_l1 = "/cpus/cpu@1";
+		cpu_l2 = "/cpus/cpu@2";
+		cpu_l3 = "/cpus/cpu@3";
+		cpu_b0 = "/cpus/cpu@100";
+		cpu_b1 = "/cpus/cpu@101";
+		CPU_SLEEP = "/cpus/idle-states/cpu-sleep";
+		CLUSTER_SLEEP = "/cpus/idle-states/cluster-sleep";
+		dmc = "/memory-controller";
+		xin24m = "/xin24m";
+		pcie0 = "/pcie@f8000000";
+		pcie0_intc = "/pcie@f8000000/interrupt-controller";
+		gmac = "/ethernet@fe300000";
+		sdio0 = "/mmc@fe310000";
+		sdmmc = "/mmc@fe320000";
+		sdhci = "/mmc@fe330000";
+		usb_host0_ehci = "/usb@fe380000";
+		usb_host0_ohci = "/usb@fe3a0000";
+		usb_host1_ehci = "/usb@fe3c0000";
+		usb_host1_ohci = "/usb@fe3e0000";
+		usbdrd3_0 = "/usb@fe800000";
+		usbdrd_dwc3_0 = "/usb@fe800000/usb@fe800000";
+		usbdrd3_1 = "/usb@fe900000";
+		usbdrd_dwc3_1 = "/usb@fe900000/usb@fe900000";
+		cdn_dp = "/dp@fec00000";
+		dp_in = "/dp@fec00000/ports/port";
+		dp_in_vopb = "/dp@fec00000/ports/port/endpoint@0";
+		dp_in_vopl = "/dp@fec00000/ports/port/endpoint@1";
+		gic = "/interrupt-controller@fee00000";
+		its = "/interrupt-controller@fee00000/interrupt-controller@fee20000";
+		ppi_cluster0 = "/interrupt-controller@fee00000/ppi-partitions/interrupt-partition-0";
+		ppi_cluster1 = "/interrupt-controller@fee00000/ppi-partitions/interrupt-partition-1";
+		saradc = "/saradc@ff100000";
+		i2c1 = "/i2c@ff110000";
+		es8316 = "/i2c@ff110000/es8316@11";
+		i2c2 = "/i2c@ff120000";
+		i2c3 = "/i2c@ff130000";
+		i2c5 = "/i2c@ff140000";
+		i2c6 = "/i2c@ff150000";
+		i2c7 = "/i2c@ff160000";
+		uart0 = "/serial@ff180000";
+		uart1 = "/serial@ff190000";
+		uart2 = "/serial@ff1a0000";
+		uart3 = "/serial@ff1b0000";
+		spi0 = "/spi@ff1c0000";
+		spi1 = "/spi@ff1d0000";
+		spiflash = "/spi@ff1d0000/flash@0";
+		spi2 = "/spi@ff1e0000";
+		spi4 = "/spi@ff1f0000";
+		spi5 = "/spi@ff200000";
+		thermal_zones = "/thermal-zones";
+		cpu_thermal = "/thermal-zones/cpu-thermal";
+		cpu_alert0 = "/thermal-zones/cpu-thermal/trips/cpu_alert0";
+		cpu_alert1 = "/thermal-zones/cpu-thermal/trips/cpu_alert1";
+		cpu_crit = "/thermal-zones/cpu-thermal/trips/cpu_crit";
+		gpu_thermal = "/thermal-zones/gpu-thermal";
+		gpu_alert0 = "/thermal-zones/gpu-thermal/trips/gpu_alert0";
+		gpu_crit = "/thermal-zones/gpu-thermal/trips/gpu_crit";
+		tsadc = "/tsadc@ff260000";
+		qos_emmc = "/qos@ffa58000";
+		qos_gmac = "/qos@ffa5c000";
+		qos_pcie = "/qos@ffa60080";
+		qos_usb_host0 = "/qos@ffa60100";
+		qos_usb_host1 = "/qos@ffa60180";
+		qos_usb_otg0 = "/qos@ffa70000";
+		qos_usb_otg1 = "/qos@ffa70080";
+		qos_sd = "/qos@ffa74000";
+		qos_sdioaudio = "/qos@ffa76000";
+		qos_hdcp = "/qos@ffa90000";
+		qos_iep = "/qos@ffa98000";
+		qos_isp0_m0 = "/qos@ffaa0000";
+		qos_isp0_m1 = "/qos@ffaa0080";
+		qos_isp1_m0 = "/qos@ffaa8000";
+		qos_isp1_m1 = "/qos@ffaa8080";
+		qos_rga_r = "/qos@ffab0000";
+		qos_rga_w = "/qos@ffab0080";
+		qos_video_m0 = "/qos@ffab8000";
+		qos_video_m1_r = "/qos@ffac0000";
+		qos_video_m1_w = "/qos@ffac0080";
+		qos_vop_big_r = "/qos@ffac8000";
+		qos_vop_big_w = "/qos@ffac8080";
+		qos_vop_little = "/qos@ffad0000";
+		qos_perihp = "/qos@ffad8080";
+		qos_gpu = "/qos@ffae0000";
+		pmu = "/power-management@ff310000";
+		power = "/power-management@ff310000/power-controller";
+		pmugrf = "/syscon@ff320000";
+		pmu_io_domains = "/syscon@ff320000/io-domains";
+		spi3 = "/spi@ff350000";
+		uart4 = "/serial@ff370000";
+		i2c0 = "/i2c@ff3c0000";
+		rk808 = "/i2c@ff3c0000/pmic@1b";
+		vdd_center = "/i2c@ff3c0000/pmic@1b/regulators/DCDC_REG1";
+		vdd_cpu_l = "/i2c@ff3c0000/pmic@1b/regulators/DCDC_REG2";
+		vcc_ddr = "/i2c@ff3c0000/pmic@1b/regulators/DCDC_REG3";
+		vcc_1v8 = "/i2c@ff3c0000/pmic@1b/regulators/DCDC_REG4";
+		vcc_wl = "/i2c@ff3c0000/pmic@1b/regulators/DCDC_REG4";
+		vcc1v8_pmupll = "/i2c@ff3c0000/pmic@1b/regulators/LDO_REG3";
+		vcc_sdio = "/i2c@ff3c0000/pmic@1b/regulators/LDO_REG4";
+		vcca3v0_codec = "/i2c@ff3c0000/pmic@1b/regulators/LDO_REG5";
+		vcc_1v5 = "/i2c@ff3c0000/pmic@1b/regulators/LDO_REG6";
+		vcca1v8_codec = "/i2c@ff3c0000/pmic@1b/regulators/LDO_REG7";
+		vcc_3v0 = "/i2c@ff3c0000/pmic@1b/regulators/LDO_REG8";
+		vcc3v3_s3 = "/i2c@ff3c0000/pmic@1b/regulators/SWITCH_REG1";
+		vcc3v3_s0 = "/i2c@ff3c0000/pmic@1b/regulators/SWITCH_REG2";
+		vdd_cpu_b = "/i2c@ff3c0000/regulator@40";
+		vdd_gpu = "/i2c@ff3c0000/regulator@41";
+		i2c4 = "/i2c@ff3d0000";
+		fusb0 = "/i2c@ff3d0000/fusb30x@22";
+		usbc_hs = "/i2c@ff3d0000/fusb30x@22/connector/ports/port@0/endpoint";
+		usbc_ss = "/i2c@ff3d0000/fusb30x@22/connector/ports/port@1/endpoint";
+		usbc_dp = "/i2c@ff3d0000/fusb30x@22/connector/ports/port@2/endpoint";
+		i2c8 = "/i2c@ff3e0000";
+		pwm0 = "/pwm@ff420000";
+		pwm1 = "/pwm@ff420010";
+		pwm2 = "/pwm@ff420020";
+		pwm3 = "/pwm@ff420030";
+		dfi = "/dfi@ff630000";
+		vpu = "/video-codec@ff650000";
+		vpu_mmu = "/iommu@ff650800";
+		vdec = "/video-codec@ff660000";
+		vdec_mmu = "/iommu@ff660480";
+		iep = "/iep@ff670000";
+		iep_mmu = "/iommu@ff670800";
+		rga = "/rga@ff680000";
+		efuse0 = "/efuse@ff690000";
+		cpu_id = "/efuse@ff690000/cpu-id@7";
+		cpub_leakage = "/efuse@ff690000/cpu-leakage@17";
+		gpu_leakage = "/efuse@ff690000/gpu-leakage@18";
+		center_leakage = "/efuse@ff690000/center-leakage@19";
+		cpul_leakage = "/efuse@ff690000/cpu-leakage@1a";
+		logic_leakage = "/efuse@ff690000/logic-leakage@1b";
+		wafer_info = "/efuse@ff690000/wafer-info@1c";
+		dmac_bus = "/dma-controller@ff6d0000";
+		dmac_peri = "/dma-controller@ff6e0000";
+		pmucru = "/clock-controller@ff750000";
+		cru = "/clock-controller@ff760000";
+		grf = "/syscon@ff770000";
+		io_domains = "/syscon@ff770000/io-domains";
+		mipi_dphy_rx0 = "/syscon@ff770000/mipi-dphy-rx0";
+		u2phy0 = "/syscon@ff770000/usb2phy@e450";
+		u2phy0_host = "/syscon@ff770000/usb2phy@e450/host-port";
+		u2phy0_otg = "/syscon@ff770000/usb2phy@e450/otg-port";
+		u2phy0_typec_hs = "/syscon@ff770000/usb2phy@e450/port/endpoint";
+		u2phy1 = "/syscon@ff770000/usb2phy@e460";
+		u2phy1_host = "/syscon@ff770000/usb2phy@e460/host-port";
+		u2phy1_otg = "/syscon@ff770000/usb2phy@e460/otg-port";
+		emmc_phy = "/syscon@ff770000/phy@f780";
+		pcie_phy = "/syscon@ff770000/pcie-phy";
+		tcphy0 = "/phy@ff7c0000";
+		tcphy0_dp = "/phy@ff7c0000/dp-port";
+		tcphy0_typec_dp = "/phy@ff7c0000/dp-port/port/endpoint";
+		tcphy0_usb3 = "/phy@ff7c0000/usb3-port";
+		tcphy0_typec_ss = "/phy@ff7c0000/usb3-port/port/endpoint";
+		tcphy1 = "/phy@ff800000";
+		tcphy1_dp = "/phy@ff800000/dp-port";
+		tcphy1_usb3 = "/phy@ff800000/usb3-port";
+		rktimer = "/rktimer@ff850000";
+		spdif = "/spdif@ff870000";
+		i2s0 = "/i2s@ff880000";
+		i2s1 = "/i2s@ff890000";
+		i2s2 = "/i2s@ff8a0000";
+		vopl = "/vop@ff8f0000";
+		vopl_out = "/vop@ff8f0000/port";
+		vopl_out_mipi = "/vop@ff8f0000/port/endpoint@0";
+		vopl_out_edp = "/vop@ff8f0000/port/endpoint@1";
+		vopl_out_hdmi = "/vop@ff8f0000/port/endpoint@2";
+		vopl_out_mipi1 = "/vop@ff8f0000/port/endpoint@3";
+		vopl_out_dp = "/vop@ff8f0000/port/endpoint@4";
+		vopl_mmu = "/iommu@ff8f3f00";
+		vopb = "/vop@ff900000";
+		vopb_out = "/vop@ff900000/port";
+		vopb_out_edp = "/vop@ff900000/port/endpoint@0";
+		vopb_out_mipi = "/vop@ff900000/port/endpoint@1";
+		vopb_out_hdmi = "/vop@ff900000/port/endpoint@2";
+		vopb_out_mipi1 = "/vop@ff900000/port/endpoint@3";
+		vopb_out_dp = "/vop@ff900000/port/endpoint@4";
+		vopb_mmu = "/iommu@ff903f00";
+		isp0 = "/isp0@ff910000";
+		isp0_mmu = "/iommu@ff914000";
+		isp1 = "/isp1@ff920000";
+		isp1_mmu = "/iommu@ff924000";
+		hdmi_sound = "/hdmi-sound";
+		hdmi = "/hdmi@ff940000";
+		hdmi_in = "/hdmi@ff940000/ports/port";
+		hdmi_in_vopb = "/hdmi@ff940000/ports/port/endpoint@0";
+		hdmi_in_vopl = "/hdmi@ff940000/ports/port/endpoint@1";
+		mipi_dsi = "/mipi@ff960000";
+		mipi_in = "/mipi@ff960000/ports/port@0";
+		mipi_in_vopb = "/mipi@ff960000/ports/port@0/endpoint@0";
+		mipi_in_vopl = "/mipi@ff960000/ports/port@0/endpoint@1";
+		mipi_dsi1 = "/mipi@ff968000";
+		mipi1_in = "/mipi@ff968000/ports/port@0";
+		mipi1_in_vopb = "/mipi@ff968000/ports/port@0/endpoint@0";
+		mipi1_in_vopl = "/mipi@ff968000/ports/port@0/endpoint@1";
+		edp = "/edp@ff970000";
+		edp_in = "/edp@ff970000/ports/port@0";
+		edp_in_vopb = "/edp@ff970000/ports/port@0/endpoint@0";
+		edp_in_vopl = "/edp@ff970000/ports/port@0/endpoint@1";
+		edp_out = "/edp@ff970000/ports/port@1";
+		edp_out_panel = "/edp@ff970000/ports/port@1/endpoint@0";
+		rng = "/rng@ff8b8000";
+		gpu = "/gpu@ff9a0000";
+		pinctrl = "/pinctrl";
+		gpio0 = "/pinctrl/gpio@ff720000";
+		gpio1 = "/pinctrl/gpio@ff730000";
+		gpio2 = "/pinctrl/gpio@ff780000";
+		gpio3 = "/pinctrl/gpio@ff788000";
+		gpio4 = "/pinctrl/gpio@ff790000";
+		pcfg_pull_up = "/pinctrl/pcfg-pull-up";
+		pcfg_pull_down = "/pinctrl/pcfg-pull-down";
+		pcfg_pull_none = "/pinctrl/pcfg-pull-none";
+		pcfg_pull_none_12ma = "/pinctrl/pcfg-pull-none-12ma";
+		pcfg_pull_none_13ma = "/pinctrl/pcfg-pull-none-13ma";
+		pcfg_pull_none_18ma = "/pinctrl/pcfg-pull-none-18ma";
+		pcfg_pull_none_20ma = "/pinctrl/pcfg-pull-none-20ma";
+		pcfg_pull_up_2ma = "/pinctrl/pcfg-pull-up-2ma";
+		pcfg_pull_up_8ma = "/pinctrl/pcfg-pull-up-8ma";
+		pcfg_pull_up_18ma = "/pinctrl/pcfg-pull-up-18ma";
+		pcfg_pull_up_20ma = "/pinctrl/pcfg-pull-up-20ma";
+		pcfg_pull_down_4ma = "/pinctrl/pcfg-pull-down-4ma";
+		pcfg_pull_down_8ma = "/pinctrl/pcfg-pull-down-8ma";
+		pcfg_pull_down_12ma = "/pinctrl/pcfg-pull-down-12ma";
+		pcfg_pull_down_18ma = "/pinctrl/pcfg-pull-down-18ma";
+		pcfg_pull_down_20ma = "/pinctrl/pcfg-pull-down-20ma";
+		pcfg_output_high = "/pinctrl/pcfg-output-high";
+		pcfg_output_low = "/pinctrl/pcfg-output-low";
+		pcfg_input_enable = "/pinctrl/pcfg-input-enable";
+		pcfg_input_pull_up = "/pinctrl/pcfg-input-pull-up";
+		pcfg_input_pull_down = "/pinctrl/pcfg-input-pull-down";
+		clk_32k = "/pinctrl/clock/clk-32k";
+		cif_clkin = "/pinctrl/cif/cif-clkin";
+		cif_clkouta = "/pinctrl/cif/cif-clkouta";
+		edp_hpd = "/pinctrl/edp/edp-hpd";
+		rgmii_pins = "/pinctrl/gmac/rgmii-pins";
+		rmii_pins = "/pinctrl/gmac/rmii-pins";
+		i2c0_xfer = "/pinctrl/i2c0/i2c0-xfer";
+		i2c1_xfer = "/pinctrl/i2c1/i2c1-xfer";
+		i2c2_xfer = "/pinctrl/i2c2/i2c2-xfer";
+		i2c3_xfer = "/pinctrl/i2c3/i2c3-xfer";
+		i2c4_xfer = "/pinctrl/i2c4/i2c4-xfer";
+		i2c5_xfer = "/pinctrl/i2c5/i2c5-xfer";
+		i2c6_xfer = "/pinctrl/i2c6/i2c6-xfer";
+		i2c7_xfer = "/pinctrl/i2c7/i2c7-xfer";
+		i2c8_xfer = "/pinctrl/i2c8/i2c8-xfer";
+		i2s0_2ch_bus = "/pinctrl/i2s0/i2s0-2ch-bus";
+		i2s0_8ch_bus = "/pinctrl/i2s0/i2s0-8ch-bus";
+		i2s0_8ch_bus_bclk_off = "/pinctrl/i2s0/i2s0-8ch-bus-bclk-off";
+		i2s1_2ch_bus = "/pinctrl/i2s1/i2s1-2ch-bus";
+		i2s1_2ch_bus_bclk_off = "/pinctrl/i2s1/i2s1-2ch-bus-bclk-off";
+		i2s_8ch_mclk_pin = "/pinctrl/i2s1/i2s-8ch-mclk-pin";
+		sdio0_bus1 = "/pinctrl/sdio0/sdio0-bus1";
+		sdio0_bus4 = "/pinctrl/sdio0/sdio0-bus4";
+		sdio0_cmd = "/pinctrl/sdio0/sdio0-cmd";
+		sdio0_clk = "/pinctrl/sdio0/sdio0-clk";
+		sdio0_cd = "/pinctrl/sdio0/sdio0-cd";
+		sdio0_pwr = "/pinctrl/sdio0/sdio0-pwr";
+		sdio0_bkpwr = "/pinctrl/sdio0/sdio0-bkpwr";
+		sdio0_wp = "/pinctrl/sdio0/sdio0-wp";
+		sdio0_int = "/pinctrl/sdio0/sdio0-int";
+		sdmmc_bus1 = "/pinctrl/sdmmc/sdmmc-bus1";
+		sdmmc_bus4 = "/pinctrl/sdmmc/sdmmc-bus4";
+		sdmmc_clk = "/pinctrl/sdmmc/sdmmc-clk";
+		sdmmc_cmd = "/pinctrl/sdmmc/sdmmc-cmd";
+		sdmmc_cd = "/pinctrl/sdmmc/sdmmc-cd";
+		sdmmc_wp = "/pinctrl/sdmmc/sdmmc-wp";
+		ap_pwroff = "/pinctrl/suspend/ap-pwroff";
+		ddrio_pwroff = "/pinctrl/suspend/ddrio-pwroff";
+		spdif_bus = "/pinctrl/spdif/spdif-bus";
+		spdif_bus_1 = "/pinctrl/spdif/spdif-bus-1";
+		spi0_clk = "/pinctrl/spi0/spi0-clk";
+		spi0_cs0 = "/pinctrl/spi0/spi0-cs0";
+		spi0_cs1 = "/pinctrl/spi0/spi0-cs1";
+		spi0_tx = "/pinctrl/spi0/spi0-tx";
+		spi0_rx = "/pinctrl/spi0/spi0-rx";
+		spi1_clk = "/pinctrl/spi1/spi1-clk";
+		spi1_cs0 = "/pinctrl/spi1/spi1-cs0";
+		spi1_rx = "/pinctrl/spi1/spi1-rx";
+		spi1_tx = "/pinctrl/spi1/spi1-tx";
+		spi2_clk = "/pinctrl/spi2/spi2-clk";
+		spi2_cs0 = "/pinctrl/spi2/spi2-cs0";
+		spi2_rx = "/pinctrl/spi2/spi2-rx";
+		spi2_tx = "/pinctrl/spi2/spi2-tx";
+		spi3_clk = "/pinctrl/spi3/spi3-clk";
+		spi3_cs0 = "/pinctrl/spi3/spi3-cs0";
+		spi3_rx = "/pinctrl/spi3/spi3-rx";
+		spi3_tx = "/pinctrl/spi3/spi3-tx";
+		spi4_clk = "/pinctrl/spi4/spi4-clk";
+		spi4_cs0 = "/pinctrl/spi4/spi4-cs0";
+		spi4_rx = "/pinctrl/spi4/spi4-rx";
+		spi4_tx = "/pinctrl/spi4/spi4-tx";
+		spi5_clk = "/pinctrl/spi5/spi5-clk";
+		spi5_cs0 = "/pinctrl/spi5/spi5-cs0";
+		spi5_rx = "/pinctrl/spi5/spi5-rx";
+		spi5_tx = "/pinctrl/spi5/spi5-tx";
+		test_clkout0 = "/pinctrl/testclk/test-clkout0";
+		test_clkout1 = "/pinctrl/testclk/test-clkout1";
+		test_clkout2 = "/pinctrl/testclk/test-clkout2";
+		otp_pin = "/pinctrl/tsadc/otp-pin";
+		otp_out = "/pinctrl/tsadc/otp-out";
+		uart0_xfer = "/pinctrl/uart0/uart0-xfer";
+		uart0_cts = "/pinctrl/uart0/uart0-cts";
+		uart0_rts = "/pinctrl/uart0/uart0-rts";
+		uart1_xfer = "/pinctrl/uart1/uart1-xfer";
+		uart2a_xfer = "/pinctrl/uart2a/uart2a-xfer";
+		uart2b_xfer = "/pinctrl/uart2b/uart2b-xfer";
+		uart2c_xfer = "/pinctrl/uart2c/uart2c-xfer";
+		uart3_xfer = "/pinctrl/uart3/uart3-xfer";
+		uart3_cts = "/pinctrl/uart3/uart3-cts";
+		uart3_rts = "/pinctrl/uart3/uart3-rts";
+		uart4_xfer = "/pinctrl/uart4/uart4-xfer";
+		uarthdcp_xfer = "/pinctrl/uarthdcp/uarthdcp-xfer";
+		pwm0_pin = "/pinctrl/pwm0/pwm0-pin";
+		pwm0_pin_pull_down = "/pinctrl/pwm0/pwm0-pin-pull-down";
+		vop0_pwm_pin = "/pinctrl/pwm0/vop0-pwm-pin";
+		vop1_pwm_pin = "/pinctrl/pwm0/vop1-pwm-pin";
+		pwm1_pin = "/pinctrl/pwm1/pwm1-pin";
+		pwm1_pin_pull_down = "/pinctrl/pwm1/pwm1-pin-pull-down";
+		pwm2_pin = "/pinctrl/pwm2/pwm2-pin";
+		pwm2_pin_pull_down = "/pinctrl/pwm2/pwm2-pin-pull-down";
+		pwm3a_pin = "/pinctrl/pwm3a/pwm3a-pin";
+		pwm3b_pin = "/pinctrl/pwm3b/pwm3b-pin";
+		hdmi_i2c_xfer = "/pinctrl/hdmi/hdmi-i2c-xfer";
+		hdmi_cec = "/pinctrl/hdmi/hdmi-cec";
+		pcie_clkreqn_cpm = "/pinctrl/pcie/pci-clkreqn-cpm";
+		pcie_clkreqnb_cpm = "/pinctrl/pcie/pci-clkreqnb-cpm";
+		pwrbtn_pin = "/pinctrl/buttons/pwrbtn-pin";
+		lidbtn_pin = "/pinctrl/buttons/lidbtn-pin";
+		dc_det_pin = "/pinctrl/dc-charger/dc-det-pin";
+		hp_det_pin = "/pinctrl/es8316/hp-det-pin";
+		fusb0_int_pin = "/pinctrl/fusb302x/fusb0-int-pin";
+		lcdvcc_en_pin = "/pinctrl/lcd-panel/lcdvcc-en-pin";
+		panel_en_pin = "/pinctrl/lcd-panel/panel-en-pin";
+		lcd_panel_reset_pin = "/pinctrl/lcd-panel/lcd-panel-reset-pin";
+		pwr_led_pin = "/pinctrl/leds/pwr-led-pin";
+		slp_led_pin = "/pinctrl/leds/slp-led-pin";
+		pmic_int_l_pin = "/pinctrl/pmic/pmic-int-l-pin";
+		vsel1_pin = "/pinctrl/pmic/vsel1-pin";
+		vsel2_pin = "/pinctrl/pmic/vsel2-pin";
+		sdmmc0_pwr_h_pin = "/pinctrl/sdcard/sdmmc0-pwr-h-pin";
+		wifi_enable_h_pin = "/pinctrl/sdio-pwrseq/wifi-enable-h-pin";
+		vcc5v0_typec0_en_pin = "/pinctrl/usb-typec/vcc5v0-typec0-en-pin";
+		pwr_5v_pin = "/pinctrl/usb2/pwr-5v-pin";
+		vcc5v0_host_en_pin = "/pinctrl/usb2/vcc5v0-host-en-pin";
+		bt_wake_pin = "/pinctrl/wireless-bluetooth/bt-wake-pin";
+		bt_host_wake_pin = "/pinctrl/wireless-bluetooth/bt-host-wake-pin";
+		bt_reset_pin = "/pinctrl/wireless-bluetooth/bt-reset-pin";
+		cluster0_opp = "/opp-table-0";
+		cluster1_opp = "/opp-table-1";
+		gpu_opp_table = "/opp-table-2";
+		backlight = "/edp-backlight";
+		bat = "/battery";
+		edp_panel = "/edp-panel";
+		panel_in_edp = "/edp-panel/ports/port@0/endpoint@0";
+		green_led = "/leds/led-0";
+		red_led = "/leds/led-1";
+		sdio_pwrseq = "/sdio-pwrseq";
+		speaker_amp = "/speaker-amplifier";
+		vcc_sysin = "/vcc-sysin";
+		vcc_12v = "/vcc-12v";
+		vcc3v3_sys = "/vcc3v3-sys";
+		wifi_bat = "/vcc3v3-sys";
+		vcc5v0_usb = "/vcc5v0-usb-regulator";
+		pa_5v = "/vcc5v0-usb-regulator";
+		vdd_log = "/vdd-log";
+		vcc_0v9 = "/vcc-0v9";
+		vcca1v8_s3 = "/vcc1v8-s3";
+		vcc3v0_sd = "/vcc3v0-sd";
+		vcc3v3_panel = "/vcc3v3-panel";
+		vcc3v3_ssd = "/vcc3v3-ssd";
+		vcc5v0_otg = "/vcc5v0-otg";
+		vbus_5vout = "/vbus-5vout";
+		vbus_typec = "/vbus-5vout";
+		vcca0v9_s3 = "/vcca0v9-s3";
+		mains_charger = "/dc-charger";
+	};
 };

Diff finished.  Sat Mar 25 10:57:53 2023

 

 

EDIT4:

 

I am not sure if above is the problem or not.  Many people seem to think the problem is with Manjaro's boot loader.  I am also trying to see what came on SPI from factory, I suspect it's empty on this new batch but I want to confirm that.

 

 

Armbian_rk3399-pinebook-pro.dts Kali_rk3399-pinebook-pro.dts

Edited by TRS-80
EDIT4
Link to comment
Share on other sites

To summarize some discussion from IRC yesterday:  A couple people (rpardini and c0rneliuis) looked into the above and said that the Kali DTS seems to be closer to upstream.  And also that perhaps a plain vanilla mainline DTS/DTB might work for booting PBP at this point.

 

Today I plan to continue to look into the SPI issue, as I am pretty sure it came empty from the factory on the new batch.  I am referring to the following (as well as having read this several other places):

 

https://blog.brixit.nl/why-i-left-pine64/

 

Quote

But the Pinebook Pro has a similar boot configuration, and thus a similar problem. Some time after the PinePhone Pro was shipped, it was time for a new Pinebook Pro batch, and this discussion started again. The same arguments were re-iterated by all sides all over again, and the discussion went nowhere. PINE64 representatives went so far as to say, quote, "people who want [an SPI chip] can just solder one on". This batch of Pinebook Pros has ended up shipping without Tow-Boot flashed.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines