Jump to content

TRS-80

Moderators
  • Posts

    760
  • Joined

  • Last visited

Posts posted by TRS-80

  1. After the better part of a year being unable to use this device, I am pleased to announce my first successful boot into Armbian.

     

    :thumbup:  :beer:  :love:

     

     

    I accomplished this by installing tow-boot to the SPI.

     

    If you check their instructions for the PineBook Pro, it says to install some 'installer' version first to an SD card, and then boot that, and use it to install to the SPI chip (or other media).  I did not want to do that for a few reasons:

    1. I don't understand why all the faffing about with an indirect installation method via SD card?
    2. I don't seem to be able to boot via SD card anyway.
    3. I am really not interested in removing all those $#%^# screws from the back case again, just so I can flip a switch, then put them all back (twice, maybe more).[0]

    So what I did was dig around a little more until I found this issue from last year where people were saying just to do the following, essentially:

     

    dd if=Tow-boot.spi.bin of=/dev/mtd0

     

    So I downloaded latest release of tow-boot, which comes as an xz compressed tar archive.  After opening that up the usual way with:

     

    tar -xf pine64-pinebookPro-2021.10-005.tar.xz

     

    Under the binaries folder I found the Tow-Boot.spi.bin file.  I copied that over to PBP and then executed the above mentioned 'dd' command (via sudo).

     

    I powered off and then back on, I knew it was successful because I saw the Tow Boot logo.  So I powered off and then inserted SD card I had prepared a while back with Armbian on it.

     

    And yet it still booted into Manjaro on the eMMC.  So once Manjaro finished booting, I powered back down, then back on, this time pressing <ESC> to bring up tow-boot's boot menu.  After selecting 'SD card' I was able to boot into Armbian image on the SD card, which did the normal expansion and first run setup (entering passwords, locale, etc.).

     

    Now this is interesting, because I had tried to boot this very same SD card before, without any luck.  Even turning the (previously mentioned) 'eMMC switch' to both positions[0], I could never get it to work.  So maybe there is something to the 'switch is broken on the new batch' theory?

     

    Anyway, I guess that's it, as I finally have Armbian running on here.  It's a minimal/CLI image, so I still have my work cut out for me getting this all set up, but hopefully I can just install my preferred desktop packages and we will see how it goes.  But that's another project for another day.

     

    [0] Which involves removing quite a number of tiny little screws and removal of the entire back cover.  And then putting them all back.  In the meantime you can't really use the keyboard or anything, so you pretty much have to do the whole %&#@%# process every time.  After doing this a few times, it starts turning into a hassle.

  2. I slowly convinced myself that I wanted a PineBook Pro, some time after the first production run.  But then COVID, parts shortages, etc. happened and they were not available again until about mid-2022.  But when they were, I decided to snap one up.

     

    And since then I have not been able to get it to boot Armbian.  It came from the factory with Manjaro, which for me being a Debian guy, might as well be useless.  So the PBP sat around collecting dust.

     

    Since then I have tried a few times to get it to work.  I read many forum posts, tried some things.  I won't document all that in detail.

     

    In this post, I will continue from where I left off here.  However to summarize, that was about comparing DTB/DTS files to Kali, which supposedly works.  That may become useful later, but I don't think that's the main problem.

     

    I think that the main problem is that this new batch came from the factory with no bootloader flashed to the included SPI flash chip.  This is a problem on PineBook Pro because the RK3399 has a kind of weird boot order: SPI, eMMC, SD card.  Therefore, if you just put in some SD card you flashed, it still boots from the factory Manjaro from the eMMC.  Whatever bootloader they are using also apparently will not recognize an otherwise working Armbian image on an SD card.

     

    Now, because of the weird boot situation, there is supposed to be a switch to turn off eMMC.  However this did not work for me.  Which means one of 2 things:

     

    1. The switch does not work.  I read at least one other person saying this.  Also on the new revision, it's in a slightly different place than the old revision (may be a clue, maybe not).
    2. I simply had a bad Armbian image (which I had burned to sd card) that would not boot for whatever reason.[0]

     

    But let's put that aside for a moment.  As I still think the main problem is the (empty) SPI.  And that will be the easiest/best path forward.

     

    I confirmed the 'blank SPI' theory 2 different ways.  First, as mentioned in a follow-up to the linked post (4 paragraphs above):

     

    As Martijn Braam states here:

    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.

     

    Of course, I like to beat a horse until it's really dead be thorough in my investigations, so today I wasted a lot of time[1] verifying that this indeed was the case.  I did so by dd'ing the /dev/mtd0 block device into a file[2].  When I examined the file, it contained all FF, and also it is about 16 MiB in size.  To me this confirms that indeed, the SPI on the new batch comes from the factory empty.

     

    So what is next?  I keep reading that the only people who had success first had to install something like tow-boot to the SPI.  That will be my next step.  But before I flashed anything to SPI, I wanted to see what really came from the factory (which I did above).

     

    I will continue to document my progress whenever time allows for me to work on this.

     

    [0] Once I got the bootloader situation sorted, I later used this same image (on the SD card) to boot and install Armbian, so I do not think this was the case.

     

    [1] In the end the solution was simple.  But first I wasted a lot of time trying to get rkdeveloptool working in Manjaro on the PBP.  Only to realize it's intended to be used from a second machine to read the SPI flash via USB in maskrom mode.  Anyway, lesson learned.

     

    [2] I tried to attach it but maybe it's too big.

  3. 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.

     

  4. 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

  5. On 3/20/2023 at 1:52 PM, d_m said:

    I've been successfully running Armbian off of EMMC on my Pinebook Pro. Before installing Armbian I actually flashed Tow-boot onto the PBP's SPI (replacing the built-in boot loader). Then I was able to run the Armbian installer and installed directly to the EMMC.

     

    I would love to try this but I am too scared.  lol

     

    I been reading a lot of threads about this (here and at PINE64 forum) and this seems to be the consensus, that something funny is going on with Manjaro's boot loader.  On the newer batch of PBP, I don't think they shipped a boot loader at all on the SPI (in fact there was a big kerfuffle about that, read Martijn Braam's blog).

     

    Anyway, I guess I need to search up how to:

    1. See if anything exists on the SPI currently.
    2. If so, back it up.
    3. Try to flash tow-boot.
    4. ???
    5. Profit?

    In another thread, someone mentioned that the DTB is the problem, but for some reason the one from Kali Linux works.  So this morning I will try and decompile and diff them.  I don't have much time though, unfortunately.

  6. On 2/5/2023 at 6:11 PM, Pharizna said:

    I've just installed Kodi Matrix in my new Rock5B but it's impossible to install any add-ons

     

    Usually something like that is a file permission issue or something like that.  Also, that is likely purely userspace issue and (I don't think) would have anything to do with Armbian.  How did you install it?

  7. I don't know about that hardware specifically, but general advice would be just to re-flash the sd card and start over?  Make sure you are testing it, that the card is good (name brand from reputable seller), sufficient power, etc. (essentially all the basic things repeated ad nauseum in documentation; there is a reason for it!).

  8. I guess you could do something as simple as a bash[0] script, really.  But something like Kodi would give you a lot more control, I think (among many other niceties).

     

    I would also try and figure out how to communicate with the device over the network, if at all possible.  Barring that, I guess you could use an IR remote (especially in Kodi).

     

    [0] or Python, or whatever language you like

  9. On 2/27/2021 at 11:00 PM, Technicavolous said:

    I didn't just ditch Windows, but x86 altogether several years ago.

     

    You and me both.  After Intel with their IME (and AMD equivalent), x86 is dead to me.  Which is why I try and support Armbian as much as I can.  'You're our only hope, Obi Wan!'  ;)

     

    On 2/27/2021 at 11:00 PM, Technicavolous said:

    I also agree ms is a way different co than decades ago

     

    Only in their marketing approach.  Wake me up when they release the 'crown jewels' (Office, Windows, etc.) under a F/LOSS license.  Their model now seems to be 'run Office in the cloud' that way surely they can keep control, and now they can charge you a monthly subscription, as well!  'You will own nothing, and you will be happy!'  :lol:

     

    On 2/3/2023 at 2:36 AM, mobmarcus said:

    CoPilot - was trainined on all the open source and personal free repos of code on GitHub.

     

    It gets worse, much worse.  Now they are trying to claim that the output from that AI is no longer subject to the (typically, F/LOSS) licenses that applied to the original software.

     

    Does anyone really think a leopard change their spots?!  I don't!

  10. On 1/17/2023 at 7:58 PM, Igor said:

    Anyone reading this volunteer in helping us getting together some article we can ship to some a bit serious magazines.

     

    I just saw this.  Earlier I had read this, but I don't think those are the same.

     

    Therefore, I can try and work on this.  Did anyone start anything yet?

     

    @rpardini, as you obviously know the work best, could you be so kind as to indulge me a summary of the main features?  Not to discount your work, but for the average reader I think a 20 (50? more?) item long commit log does not make for the most interesting article.

     

    Maybe we can hash something out in lanefu's HedgeDoc instance again, like that one time?  I think that worked pretty well.

  11. 13 hours ago, rodw said:

    The forum imposing a 1 post a day limit on me has not been condusive to our conversation! Hopefully that is in the past now!

     

    Please don't take it personal.  It only takes a few people pestering, looking for (free, immediate, personalized) support to get on the nerves of some people around here.  There are very few of us, against a sea of them, so that is how we decided to deal with it, to stem the tide.

     

    Further, some threads move extremely slow.  Maybe not this one, but I have seen many times where someone replies months, maybe even years later.  Different people come along, move some issue forward by inches, and on it goes.  Such is the way of progress some times.

     

    Welcome to the forums.

  12. This is a (somewhat) long standing and well known issue, check PineBook Pro subforum here, there are a number of threads about various booting issues (including eMMC specifically).

     

    I think the problem (with the latest batch of PBP which were shipped, anyway) is that those came with Manjaro on the eMMC and no universal bootloader (tow boot) flashed on the SPI chip.  Well thinking about that now, I guess burning to eMMC should still work, but it doesn't for some reason.

     

    Have you tried using armbian-config (and/or (the unfortunately named) nand-sata-install which can also be reached from there) to try and write the image to the eMMC?  If you already overwrote the eMMC previously I guess there is nothing left to lose.

     

    I have this hardware but I just acquired an old headphone cable which I still need to fashion into a serial cable before I can proceed further.  And I have yet to collect enough 'tuits' of the round variety.

  13. This thread sounds oddly familiar (but I'm not going to bother searching).

     

    Anyway, I encourage you to consider configuration management as a separate concept to 'imaging the entire OS as a backup' as there are a couple problems with the latter approach:

    • It wastes a lot of space.
    • Upgrading in-place between major OS versions is not (and has never been) supported in Armbian, so sooner or later you will probably have to re-install everything anyway.

    In the configuration management space there are things like Ansible (and many, many others) in fact just searching up that term should give you plenty of ideas.

  14. I am surely no expert, but starting to wonder if something Manjaro put in their bootloader is not compatible with Armbian.  This is not directly related to what NicoD was saying above, but I did want to report my experience.

     

    I have tried burning both the following images to SD card, in both cases I just get a blinking green power light:

     

    Armbian_22.08.1_Pinebook-pro_bullseye_current_5.15.63.img
    Armbian_22.11.1_Pinebook-pro_jammy_edge_6.0.10_xfce_desktop.img

     

    As a reminder, I have one of the newer (2022-06) production run of PineBook Pro, which comes with Manjaro pre-installed on the eMMC from PINE64.  I have been unable to get Armbian working on it in any way, shape, or form ever since I bought it.  So I don't use it at all (as I can't stand Manjaro nor KDE, personally).

     

    Anyway, I took a look at the eMMC (had to boot into Manjaro to do so) and it seems there are 2 partitions, one for /boot and one for /.

     

    Oh yes and BTW there is a switch by the eMMC which is supposed to bypass it (otherwise on RK3399 the boot order is SPI, eMMC, SD card), when I do that I get a steady orange light.  But still no boot.[0]

     

    Even though I never use the pre-installed Manjaro image, I am still too afraid to flash anything directly to the eMMC (especially after reading many reports it doesn't work).

     

    I am going to order the special 'headphone to serial' cable that is required for the PineBook Pro, in hopes that I might be able to contribute further useful information.

     

    [0] OK, truth be told, I only tried this with the 22.08.1 image, as I didn't want to take out all those damn screws again just to get to that switch.  ¯\_(ツ)_/¯

  15. 3 hours ago, Joaho said:

    Is there a way to "repair" it with commands?

     

    There might be, but it will be difficult second or third hand (from us, to you, to him...).  Easiest and fastest way will be just to install fresh from scratch.  Back up any important user data first, though.

     

    I guess you might need to learn some very basic GNU/Linux terminal commands, even for that.  But plenty of guides around the Internet for that (you will need cd, ls, cp, etc.).  Good skills to have anyway.

     

    Another way to get your files off, if the OS drive is on sd card, or eMMC (and you have some adapter) you could mount it on working Linux desktop and go through and look for / move files in a GUI file manager.

     

    And/or, just buy more media (sd card / eMMC), write new OS image to that, and hang on to the old one until you acquire some way (tools/skills) to access it.  At least that gets you back up and running in the meantime.

  16. If it can be installed on Debian, it should be able to be installed on Armbian the same way (as userland packages are same).  So maybe search Internet for regular Debian instructions?  Sounds like maybe you have already though.

     

    I am unfamiliar with tensorflow, but a quick search of Debian packages for tensorflow seems to indicate whatever is available is in the experimental repo, and then only for amd64 (x86 64-bit) architecture.  You would need something for some kind of Arm architecture for whatever your board is.

     

    So, unless I am badly mistaken, I think you will probably have to compile from source.  Maybe search Internet for something like 'tensorflow on Arm' or similar.

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines