# B9A stock DT display chain (dtb_01 = 512MB MTP board-id 8/0x100, used by stock LK; dtb_00 display nodes are byte-identical, see below) # source: dt/dtb_01.dts (decompiled stock QCDT from partitions/boot.bin). Read-only extraction by b9/b9a/dt-extract.py # dt/dtb_01.dts:1183-1354 qcom,mdss_mdp@1a00000 { compatible = "qcom,mdss_mdp"; reg = <0x1a00000 0x90000 0x1ac8000 0x3000>; reg-names = "mdp_phys", "vbif_phys"; interrupts = <0x00 0x48 0x00>; vdd-supply = <0x40>; qcom,msm-bus,name = "mdss_mdp"; qcom,msm-bus,num-cases = <0x03>; qcom,msm-bus,num-paths = <0x01>; qcom,msm-bus,vectors-KBps = <0x16 0x200 0x00 0x00 0x16 0x200 0x00 0x61a800 0x16 0x200 0x00 0x61a800>; qcom,mdss-ab-factor = <0x01 0x01>; qcom,mdss-ib-factor = <0x02 0x01>; qcom,mdss-clk-factor = <0x69 0x64>; qcom,max-bandwidth-low-kbps = <0x10c8e0>; qcom,max-bandwidth-high-kbps = <0x10c8e0>; qcom,mdss-vbif-qos-rt-setting = <0x02 0x02 0x02 0x02>; qcom,mdss-vbif-qos-nrt-setting = <0x01 0x01 0x01 0x01>; qcom,mdss-mdp-reg-offset = <0x1000>; qcom,max-clk-rate = <0x1312d000>; qcom,mdss-pipe-vig-off = <0x5000>; qcom,mdss-pipe-rgb-off = <0x15000 0x17000>; qcom,mdss-pipe-dma-off = <0x25000>; qcom,mdss-pipe-vig-fetch-id = <0x01>; qcom,mdss-pipe-rgb-fetch-id = <0x07 0x08>; qcom,mdss-pipe-dma-fetch-id = <0x04>; qcom,mdss-pipe-vig-xin-id = <0x00>; qcom,mdss-pipe-rgb-xin-id = <0x01 0x05>; qcom,mdss-pipe-dma-xin-id = <0x02>; qcom,mdss-pipe-vig-clk-ctrl-offsets = <0x2ac 0x00 0x00>; qcom,mdss-pipe-rgb-clk-ctrl-offsets = <0x2ac 0x04 0x08 0x2b4 0x04 0x08>; qcom,mdss-pipe-dma-clk-ctrl-offsets = <0x2ac 0x08 0x0c>; qcom,mdss-smp-data = <0x08 0x2000>; qcom,mdss-ctl-off = <0x2000 0x2200 0x2400>; qcom,mdss-mixer-intf-off = <0x45000>; qcom,mdss-mixer-wb-off = <0x48000>; qcom,mdss-dspp-off = <0x55000>; qcom,mdss-pingpong-off = <0x71000>; qcom,mdss-wb-off = <0x65000 0x65800 0x66000>; qcom,mdss-intf-off = <0x00 0x6b800>; qcom,mdss-rot-block-size = <0x40>; qcom,mdss-wfd-mode = "dedicated"; qcom,mdss-has-non-scalar-rgb; qcom,mdss-has-decimation; qcom,mdss-traffic-shaper-enabled; vdd-cx-supply = <0x41>; clocks = <0x3d 0xbfb92ed3 0x3d 0x668f51de 0x3d 0x6dc1f8f1 0x3d 0x22f3521f 0x3d 0x32a09f1f>; clock-names = "iface_clk", "bus_clk", "core_clk_src", "core_clk", "vsync_clk"; qcom,vbif-settings = <0x04 0x01 0xd8 0x707 0x124 0x03>; qcom,mdp-settings = <0x11e4 0x00 0x65048 0x08 0x65848 0x08 0x66048 0x08>; qcom,mdss-prefill-outstanding-buffer-bytes = <0x400>; qcom,mdss-prefill-y-buffer-bytes = <0x00>; qcom,mdss-prefill-scaler-buffer-lines-bilinear = <0x02>; qcom,mdss-prefill-scaler-buffer-lines-caf = <0x04>; qcom,mdss-prefill-post-scaler-buffer-pixels = <0x00>; qcom,mdss-prefill-pingpong-buffer-pixels = <0x1000>; qcom,mdss-prefill-fbc-lines = <0x00>; qcom,mdss-pref-prim-intf = "dsi"; linux,phandle = <0x45>; phandle = <0x45>; qcom,mdss_fb_primary { cell-index = <0x00>; compatible = "qcom,mdss-fb"; qcom,memblock-reserve = <0x83200000 0xfa0000>; linux,phandle = <0x44>; phandle = <0x44>; }; qcom,mdss_fb_wfd { cell-index = <0x01>; compatible = "qcom,mdss-fb"; }; qcom,mdss_dsi_sim_video { qcom,mdss-dsi-panel-name = "Simulator video mode dsi panel"; qcom,mdss-dsi-panel-controller = <0x42>; qcom,mdss-dsi-panel-type = "dsi_video_mode"; qcom,mdss-dsi-panel-destination = "display_1"; qcom,mdss-dsi-panel-framerate = <0x3c>; qcom,mdss-dsi-virtual-channel-id = <0x00>; qcom,mdss-dsi-stream = <0x00>; qcom,mdss-dsi-panel-width = <0x280>; qcom,mdss-dsi-panel-height = <0x1e0>; qcom,mdss-dsi-h-front-porch = <0x06>; qcom,mdss-dsi-h-back-porch = <0x06>; qcom,mdss-dsi-h-pulse-width = <0x02>; qcom,mdss-dsi-h-sync-skew = <0x00>; qcom,mdss-dsi-v-back-porch = <0x06>; qcom,mdss-dsi-v-front-porch = <0x06>; qcom,mdss-dsi-v-pulse-width = <0x02>; qcom,mdss-dsi-h-left-border = <0x00>; qcom,mdss-dsi-h-right-border = <0x00>; qcom,mdss-dsi-v-top-border = <0x00>; qcom,mdss-dsi-v-bottom-border = <0x00>; qcom,mdss-dsi-bpp = <0x18>; qcom,mdss-dsi-underflow-color = <0xff>; qcom,mdss-dsi-border-color = <0x00>; qcom,mdss-dsi-on-command = [32 01 00 00 00 00 02 00 00]; qcom,mdss-dsi-off-command = [22 01 00 00 00 00 02 00 00]; qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; qcom,mdss-dsi-off-command-state = "dsi_lp_mode"; qcom,mdss-dsi-h-sync-pulse = <0x00>; qcom,mdss-dsi-traffic-mode = "non_burst_sync_event"; qcom,mdss-dsi-bllp-eof-power-mode; qcom,mdss-dsi-bllp-power-mode; qcom,mdss-dsi-lane-0-state; qcom,mdss-dsi-lane-1-state; qcom,mdss-dsi-lane-2-state; qcom,mdss-dsi-lane-3-state; qcom,mdss-dsi-panel-timings = <0x00 0x00 0x00>; qcom,mdss-dsi-t-clk-post = <0x04>; qcom,mdss-dsi-t-clk-pre = <0x1b>; qcom,mdss-dsi-dma-trigger = "trigger_sw"; qcom,mdss-dsi-mdp-trigger = "none"; qcom,mdss-dsi-reset-sequence = <0x01 0x14 0x00 0xc8 0x01 0x14>; }; qcom,mdss_spi_st7735s_wx144_128x128_cmd { qcom,mdss-spi-panel-name = "st7735s wx144 128x128 command mode spi panel"; qcom,mdss-spi-panel-destination = "display_1"; qcom,mdss-spi-panel-controller = <0x43>; qcom,mdss-spi-panel-framerate = <0x14>; qcom,mdss-spi-panel-width = <0x80>; qcom,mdss-spi-panel-height = <0x80>; qcom,mdss-spi-h-front-porch = <0x4f>; qcom,mdss-spi-h-back-porch = <0x3b>; qcom,mdss-spi-h-pulse-width = <0x3c>; qcom,mdss-spi-v-back-porch = <0x0a>; qcom,mdss-spi-v-front-porch = <0x07>; qcom,mdss-spi-v-pulse-width = <0x02>; qcom,mdss-spi-h-left-border = <0x00>; qcom,mdss-spi-h-right-border = <0x00>; qcom,mdss-spi-v-top-border = <0x00>; qcom,mdss-spi-v-bottom-border = <0x00>; qcom,mdss-spi-bpp = <0x10>; qcom,mdss-spi-on-command = [78 01 11 00 04 b1 05 3a 3a 00 04 b2 05 3a 3a 00 07 b3 05 3a 3a 05 3a 3a 00 02 b4 03 00 04 c0 62 02 04 00 02 c1 c0 00 03 c2 0d 00 00 03 c3 8d 6a 00 03 c4 8d ee 00 02 c5 12 00 11 e0 03 1b 12 11 3f 3a 32 34 2f 2b 30 3a 00 01 02 05 00 11 e1 03 1b 12 11 32 2f 2a 2f 2e 2c 35 3f 00 00 01 05 00 02 36 c8 00 02 3a 05 00 05 2a 00 02 00 81 00 05 2b 00 03 00 82 00 01 29 00 01 2c]; qcom,mdss-spi-off-command = [00 01 28 78 01 10]; qcom,mdss-spi-bl-min-level = <0x01>; qcom,mdss-spi-bl-max-level = <0xff>; qcom,mdss-spi-bl-pmic-control-type = "bl_ctrl_wled"; qcom,mdss-spi-reset-sequence = <0x01 0x01 0x00 0x01 0x01 0x78>; qcom,cont-splash-enabled; linux,phandle = <0x48>; phandle = <0x48>; }; qcom,mdss_spi_nv3023a_jz05_128x128_cmd { qcom,mdss-spi-panel-name = "nv3023a jz05 128x128 command mode spi panel"; qcom,mdss-spi-panel-destination = "display_1"; qcom,mdss-spi-panel-controller = <0x43>; qcom,mdss-spi-panel-framerate = <0x1b>; qcom,mdss-spi-panel-width = <0x80>; qcom,mdss-spi-panel-height = <0x80>; qcom,mdss-spi-h-front-porch = <0x4f>; qcom,mdss-spi-h-back-porch = <0x3b>; qcom,mdss-spi-h-pulse-width = <0x3c>; qcom,mdss-spi-v-back-porch = <0x0a>; qcom,mdss-spi-v-front-porch = <0x07>; qcom,mdss-spi-v-pulse-width = <0x02>; qcom,mdss-spi-h-left-border = <0x00>; qcom,mdss-spi-h-right-border = <0x00>; qcom,mdss-spi-v-top-border = <0x00>; qcom,mdss-spi-v-bottom-border = <0x00>; qcom,mdss-spi-bpp = <0x10>; qcom,mdss-spi-on-command = [00 02 ff a5 00 02 3e 09 00 02 3a 65 00 02 82 00 00 02 63 0f 00 02 64 0f 00 02 b4 24 00 02 b5 30 00 02 83 03 00 02 86 04 00 02 87 16 00 02 88 0f 00 02 89 2d 00 02 93 63 00 02 96 81 00 02 c3 10 00 02 e6 00 00 02 99 01 00 02 70 07 00 02 71 15 00 02 72 18 00 02 73 10 00 02 74 17 00 02 75 1b 00 02 76 38 00 02 77 0a 00 02 78 04 00 02 79 3c 00 02 7a 06 00 02 7b 0c 00 02 7c 11 00 02 7d 0b 00 02 7e 08 00 02 7f 12 00 02 a0 0d 00 02 a1 3e 00 02 a2 0b 00 02 a3 0f 00 02 a4 0a 00 02 a5 23 00 02 a6 48 00 02 a7 04 00 02 a8 05 00 02 a9 45 00 02 aa 0a 00 02 ab 12 00 02 ac 0d 00 02 ad 06 00 02 ae 3e 00 02 af 12 00 02 ff 00 78 01 11 00 02 36 88 00 01 21 00 05 2a 00 00 00 7f 00 05 2b 00 00 00 7f 0a 01 29 00 01 2c]; qcom,mdss-spi-off-command = [00 01 28 78 01 10]; qcom,mdss-spi-bl-min-level = <0x01>; qcom,mdss-spi-bl-max-level = <0xff>; qcom,mdss-spi-bl-pmic-control-type = "bl_ctrl_wled"; qcom,mdss-spi-reset-sequence = <0x01 0x01 0x00 0x01 0x01 0x14>; }; }; # dt/dtb_01.dts:1356-1359 qcom,mdss_dsi@1a98000 { linux,phandle = <0x42>; phandle = <0x42>; }; # dt/dtb_01.dts:1361-1399 qcom,mdss_spi { compatible = "qcom,mdss-spi-display"; label = "mdss spi panel"; qcom,mdss-fb-map = <0x44>; qcom,mdss-mdp = <0x45>; vdd-supply = <0x46>; vddio-supply = <0x47>; qcom,spi-pref-prim-pan = <0x48>; pinctrl-names = "mdss_default", "mdss_sleep"; pinctrl-0 = <0x49>; pinctrl-1 = <0x4a>; qcom,platform-reset-gpio = <0x4b 0x76 0x00>; qcom,platform-spi-dc-gpio = <0x4b 0x74 0x00>; linux,phandle = <0x43>; phandle = <0x43>; qcom,panel-supply-entries { #address-cells = <0x01>; #size-cells = <0x00>; qcom,panel-supply-entry@0 { reg = <0x00>; qcom,supply-name = "vdd"; qcom,supply-min-voltage = <0x2b7cd0>; qcom,supply-max-voltage = <0x2b7cd0>; qcom,supply-enable-load = <0x186a0>; qcom,supply-disable-load = <0x64>; }; qcom,panel-supply-entry@1 { reg = <0x01>; qcom,supply-name = "vddio"; qcom,supply-min-voltage = <0x1b7740>; qcom,supply-max-voltage = <0x1b7740>; qcom,supply-enable-load = <0x186a0>; qcom,supply-disable-load = <0x64>; }; }; }; # dt/dtb_01.dts:1401-1437 qcom,mdss_dsi_pll@1a98300 { label = "MDSS DSI 0 PLL"; cell-index = <0x00>; #clock-cells = <0x01>; reg = <0x1a98300 0xd4>; reg-names = "pll_base"; gdsc-supply = <0x40>; vddio-supply = <0x47>; clocks = <0x3d 0xbfb92ed3>; clock-names = "iface_clk"; clock-rate = <0x00>; linux,phandle = <0xa7>; phandle = <0xa7>; qcom,platform-supply-entries { #address-cells = <0x01>; #size-cells = <0x00>; qcom,platform-supply-entry@0 { reg = <0x00>; qcom,supply-name = "gdsc"; qcom,supply-min-voltage = <0x00>; qcom,supply-max-voltage = <0x00>; qcom,supply-enable-load = <0x00>; qcom,supply-disable-load = <0x00>; }; qcom,platform-supply-entry@1 { reg = <0x01>; qcom,supply-name = "vddio"; qcom,supply-min-voltage = <0x1b7740>; qcom,supply-max-voltage = <0x1b7740>; qcom,supply-enable-load = <0x186a0>; qcom,supply-disable-load = <0x64>; }; }; }; # dt/dtb_01.dts:3487-3506 rpm-regulator-ldoa6 { compatible = "qcom,rpm-smd-regulator-resource"; qcom,resource-name = "ldoa"; qcom,resource-id = <0x06>; qcom,regulator-type = <0x00>; qcom,hpm-min-load = <0x2710>; status = "okay"; regulator-l6 { compatible = "qcom,rpm-smd-regulator"; regulator-name = "8916_l6"; qcom,set = <0x03>; status = "okay"; regulator-min-microvolt = <0x1b7740>; regulator-max-microvolt = <0x1b7740>; qcom,init-voltage = <0x1b7740>; linux,phandle = <0x47>; phandle = <0x47>; }; }; # dt/dtb_01.dts:3732-3751 rpm-regulator-ldoa17 { compatible = "qcom,rpm-smd-regulator-resource"; qcom,resource-name = "ldoa"; qcom,resource-id = <0x11>; qcom,regulator-type = <0x00>; qcom,hpm-min-load = <0x2710>; status = "okay"; regulator-l17 { compatible = "qcom,rpm-smd-regulator"; regulator-name = "8916_l17"; qcom,set = <0x03>; status = "okay"; regulator-min-microvolt = <0x2b7cd0>; regulator-max-microvolt = <0x2b7cd0>; qcom,init-voltage = <0x2b7cd0>; linux,phandle = <0x46>; phandle = <0x46>; }; }; # dt/dtb_01.dts:4333-4362 spi@78b8000 { compatible = "qcom,spi-qup-v2"; #address-cells = <0x01>; #size-cells = <0x00>; reg-names = "spi_physical", "spi_bam_physical"; reg = <0x78b8000 0x600 0x7884000 0x23000>; interrupt-names = "spi_irq", "spi_bam_irq"; interrupts = <0x00 0x62 0x00 0x00 0xee 0x00>; spi-max-frequency = <0x2faf080>; pinctrl-names = "default", "sleep"; pinctrl-0 = <0xc6 0xc7>; pinctrl-1 = <0xc8 0xc9>; clocks = <0x3d 0x8caa5b4f 0x3d 0x80f8722f>; clock-names = "iface_clk", "core_clk"; qcom,infinite-mode = <0x00>; qcom,use-bam; qcom,use-pinctrl; qcom,ver-reg-exists; qcom,bam-consumer-pipe-index = <0x0a>; qcom,bam-producer-pipe-index = <0x0b>; qcom,master-id = <0x56>; status = "okay"; qcom,mdss_spi_client { reg = <0x00>; compatible = "qcom,mdss-spi-client"; label = "MDSS SPI QUP4 CLIENT"; spi-max-frequency = <0xf42400>; }; }; # dt/dtb_01.dts:4893-4911 qcom,leds@a300 { compatible = "qcom,leds-qpnp"; reg = <0xa300 0x100>; label = "mpp"; status = "okay"; qcom,led_mpp_4 { label = "mpp"; linux,name = "lcd-bl"; linux,default-trigger = "bkl-trigger"; qcom,default-state = "off"; qcom,max-current = <0x28>; qcom,current-setting = <0x28>; qcom,id = <0x06>; qcom,mode = "manual"; qcom,source-sel = <0x01>; qcom,mode-ctrl = <0x60>; }; }; # dt/dtb_01.dts:6017-6029 spi0_active { qcom,pins = <0xde 0x0c 0xde 0x0d 0xde 0x0f>; qcom,num-grp-pins = <0x03>; qcom,pin-func = <0x01>; label = "spi0-active"; default { drive-strength = <0x0c>; bias-disable = <0x00>; linux,phandle = <0xc6>; phandle = <0xc6>; }; }; # dt/dtb_01.dts:6031-6043 spi0_suspend { qcom,pins = <0xde 0x0c 0xde 0x0d 0xde 0x0f>; qcom,num-grp-pins = <0x03>; qcom,pin-func = <0x00>; label = "spi0-suspend"; sleep { drive-strength = <0x02>; bias-pull-down; linux,phandle = <0xc8>; phandle = <0xc8>; }; }; # dt/dtb_01.dts:6045-6057 spi0_cs0_active { qcom,pins = <0xde 0x0e>; qcom,num-grp-pins = <0x01>; qcom,pin-func = <0x01>; label = "spi0-cs0-active"; cs0_active { drive-strength = <0x02>; bias-disable = <0x00>; linux,phandle = <0xc7>; phandle = <0xc7>; }; }; # dt/dtb_01.dts:6059-6071 spi0_cs0_suspend { qcom,pins = <0xde 0x0e>; qcom,num-grp-pins = <0x01>; qcom,pin-func = <0x00>; label = "spi0-cs0-suspend"; cs0_sleep { drive-strength = <0x02>; bias-disable = <0x00>; linux,phandle = <0xc9>; phandle = <0xc9>; }; }; # dt/dtb_01.dts:6389-6410 pmx_mdss { label = "mdss-pins"; qcom,pin-func = <0x00>; qcom,num-grp-pins = <0x02>; qcom,pins = <0xde 0x76 0xde 0x74>; active { drive-strength = <0x08>; bias-disable = <0x00>; output-high; linux,phandle = <0x49>; phandle = <0x49>; }; suspend { drive-strength = <0x02>; bias-pull-down; output-low; linux,phandle = <0x4a>; phandle = <0x4a>; }; }; # reserved memory / splash 1246: qcom,memblock-reserve = <0x83200000 0xfa0000>; 1324: qcom,cont-splash-enabled; # dtb_00 vs dtb_01 display-node sha (phandles stripped): identical