From ac9065ab01bdf058042d77710ba73f334b8eaafb Mon Sep 17 00:00:00 2001 From: chainsx Date: Sat, 13 Apr 2024 19:50:53 +0800 Subject: [PATCH] dts: add longanpi-4b --- .../linux-5.15/0003-dts-add-longanpi-4b.patch | 8 + .../sun55i-t527-longanpi-4b-pcie.dts | 3447 +++++++++++++++++ .../sun55i-t527-longanpi-4b-usb3.dts | 3439 ++++++++++++++++ 3 files changed, 6894 insertions(+) create mode 100644 patches/linux-5.15/0003-dts-add-longanpi-4b.patch create mode 100644 patches/linux-5.15/overlays/arch/arm64/boot/dts/allwinner/sun55i-t527-longanpi-4b-pcie.dts create mode 100644 patches/linux-5.15/overlays/arch/arm64/boot/dts/allwinner/sun55i-t527-longanpi-4b-usb3.dts diff --git a/patches/linux-5.15/0003-dts-add-longanpi-4b.patch b/patches/linux-5.15/0003-dts-add-longanpi-4b.patch new file mode 100644 index 0000000000..f475b32493 --- /dev/null +++ b/patches/linux-5.15/0003-dts-add-longanpi-4b.patch @@ -0,0 +1,8 @@ +--- a/arch/arm64/boot/dts/allwinner/Makefile ++++ b/arch/arm64/boot/dts/allwinner/Makefile +@@ -38,3 +38,5 @@ + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64-model-b.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun55i-t527-avaota-a1.dtb ++dtb-$(CONFIG_ARCH_SUNXI) += sun55i-t527-longanpi-4b-pcie.dtb ++dtb-$(CONFIG_ARCH_SUNXI) += sun55i-t527-longanpi-4b-usb3.dtb diff --git a/patches/linux-5.15/overlays/arch/arm64/boot/dts/allwinner/sun55i-t527-longanpi-4b-pcie.dts b/patches/linux-5.15/overlays/arch/arm64/boot/dts/allwinner/sun55i-t527-longanpi-4b-pcie.dts new file mode 100644 index 0000000000..5324621330 --- /dev/null +++ b/patches/linux-5.15/overlays/arch/arm64/boot/dts/allwinner/sun55i-t527-longanpi-4b-pcie.dts @@ -0,0 +1,3447 @@ +/* + * Allwinner Technology CO., Ltd. + */ + +/dts-v1/; + +#include "sun55i-t527.dtsi" + +/{ + board = "T527", "T527-LM4B"; + compatible = "allwinner,t527", "arm,sun55iw3p1", "Sipeed,T527-LM4B"; + + aliases { + pmu0 = &pmu0; + serial0 = &uart0; + hdmi = &hdmi; + reg-axp1530 = ®_ext_axp1530_dcdc1; + axp1530 = &axp1530; + cpu-ext = &cpu4; + standby-param = &standby_param; + arisc-config = &arisc_config; + cir_param = &cir_param; + }; + + reg_usb0_vbus: usb0-vbus { + compatible = "regulator-fixed"; + regulator-name = "usb0-vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-enable-ramp-delay = <1000>; + gpio = <&pio PB 12 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + reg_usb1_vbus: usb1-vbus { + compatible = "regulator-fixed"; + regulator-name = "usb1-vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-enable-ramp-delay = <1000>; + gpio = <&pio PB 3 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + standby_param: standby_param { + vdd-cpu = <0x00000001>; + vdd-cpub = <0x00000001>; + vdd-sys = <0x00000002>; + vcc-pll = <0x00000080>; + vcc-io = <0x00004000>; + + osc24m-on = <0x0>; + }; + + cir_param: cir_param { + gpio_group = <1>; /* 0:PL 1:PM */ + gpio_pin = <11>; + gpio_function = <2>; + count = <15>; + ir_power_key_code0 = <0x40>; + ir_addr_code0 = <0xfe01>; + ir_power_key_code1 = <0x1a>; + ir_addr_code1 = <0xfb04>; + ir_power_key_code2 = <0xf2>; + ir_addr_code2 = <0x2992>; + ir_power_key_code3 = <0x57>; + ir_addr_code3 = <0x9f00>; + ir_power_key_code4 = <0xdc>; + ir_addr_code4 = <0x4cb3>; + ir_power_key_code5 = <0x18>; + ir_addr_code5 = <0xff00>; + ir_power_key_code6 = <0xdc>; + ir_addr_code6 = <0xdd22>; + ir_power_key_code7 = <0x0d>; + ir_addr_code7 = <0xbc00>; + ir_power_key_code8 = <0x4d>; + ir_addr_code8 = <0x4040>; + ir_power_key_code9 = <0x08>; + ir_addr_code9 = <0xfb04>; + ir_power_key_code10 = <0x00>; + ir_addr_code10 = <0xfc03>; + ir_power_key_code11 = <0x00>; + ir_addr_code11 = <0xbf00>; + ir_power_key_code12 = <0xea>; + ir_addr_code12 = <0xfb04>; + ir_power_key_code13 = <0x42>; + ir_addr_code13 = <0xbf00>; + ir_power_key_code14 = <0x0f>; + ir_addr_code14 = <0xff00>; + }; + + arisc_config: arisc_config { + s_uart_config { + pins = "PL2", "PL3"; + function = <2>, <2>; + status = "disabled"; + }; + }; + + reserved-memory { + dsp0ddr_reserved: dsp0ddr@4a000000 { + reg = <0x0 0x4a000000 0x0 0x00a00000>; + no-map; + }; + + riscvsram0_reserved: riscvsram0@7280000 { + reg = <0x0 0x07280000 0x0 0x40000>; + no-map; + }; + + riscvsram1_reserved: riscvsram1@72c0000 { + reg = <0x0 0x072c0000 0x0 0x40000>; + no-map; + }; + + /* + * The name should be "vdev%dbuffer". + * Its size should be not less than + * RPMSG_BUF_SIZE * (num of buffers in a vring) * 2 + * = 512 * (num of buffers in a vring) * 2 + */ + dsp_vdev0buffer: vdev0buffer@4ac00000 { + compatible = "shared-dma-pool"; + reg = <0x0 0x4ac00000 0x0 0x40000>; + no-map; + }; + + /* + * The name should be "vdev%dvring%d". + * The size of each should be not less than + * PAGE_ALIGN(vring_size(num, align)) + * = PAGE_ALIGN(16 * num + 6 + 2 * num + (pads for align) + 6 + 8 * num) + * + * (Please refer to the vring layout in include/uapi/linux/virtio_ring.h) + */ + dsp_vdev0vring0: vdev0vring0@4ac40000 { + reg = <0x0 0x4ac40000 0x0 0x2000>; + no-map; + }; + dsp_vdev0vring1: vdev0vring1@4ac42000 { + reg = <0x0 0x4ac42000 0x0 0x2000>; + no-map; + }; + + /* + * The name should be "vdev%dbuffer". + * Its size should be not less than + * RPMSG_BUF_SIZE * (num of buffers in a vring) * 2 + * = 512 * (num of buffers in a vring) * 2 + */ + rv_vdev0buffer: vdev0buffer@4ae00000 { + compatible = "shared-dma-pool"; + reg = <0x0 0x4ae00000 0x0 0x40000>; + no-map; + }; + + /* + * The name should be "vdev%dvring%d". + * The size of each should be not less than + * PAGE_ALIGN(vring_size(num, align)) + * = PAGE_ALIGN(16 * num + 6 + 2 * num + (pads for align) + 6 + 8 * num) + * + * (Please refer to the vring layout in include/uapi/linux/virtio_ring.h) + */ + rv_vdev0vring0: vdev0vring0@4ae40000 { + reg = <0x0 0x4ae40000 0x0 0x2000>; + no-map; + }; + rv_vdev0vring1: vdev0vring1@4ae42000 { + reg = <0x0 0x4ae42000 0x0 0x2000>; + no-map; + }; + + /* + * mcu ram addr + */ + mcu0iram_reserved: mcu0iram@20000 { + reg = <0x0 0x20000 0x0 0x10000>; + no-map; + }; + mcu0dram0_reserved: mcu0dram0@30000 { + reg = <0x0 0x30000 0x0 0x8000>; + no-map; + }; + mcu0dram1_reserved: mcu0dram1@38000 { + reg = <0x0 0x38000 0x0 0x8000>; + no-map; + }; + + dsp0_rpbuf_reserved: dsp0_rpbuf@4ae44000 { + compatible = "shared-dma-pool"; + no-map; + reg = <0x0 0x4ae44000 0x0 0x8000>; + }; + + dsp_share_space@4ab00000 { + no-map; + reg = <0x0 0x4ab00000 0x0 0x10000>; + }; + }; + + rpbuf_controller0: rpbuf_controller@0 { + compatible = "allwinner,rpbuf-controller"; + remoteproc = <&dsp0_rproc>; + ctrl_id = <0>; + memory-region = <&dsp0_rpbuf_reserved>; + status = "okay"; + }; + + edp_panel_backlight: edp_backlight { + compatible = "pwm-backlight"; + status = "disabled"; + brightness-levels = < + 0 1 2 3 4 5 6 7 + 8 9 10 11 12 13 14 15 + 16 17 18 19 20 21 22 23 + 24 25 26 27 28 29 30 31 + 32 33 34 35 36 37 38 39 + 40 41 42 43 44 45 46 47 + 48 49 50 51 52 53 54 55 + 56 57 58 59 60 61 62 63 + 64 65 66 67 68 69 70 71 + 72 73 74 75 76 77 78 79 + 80 81 82 83 84 85 86 87 + 88 89 90 91 92 93 94 95 + 96 97 98 99 100 101 102 103 + 104 105 106 107 108 109 110 111 + 112 113 114 115 116 117 118 119 + 120 121 122 123 124 125 126 127 + 128 129 130 131 132 133 134 135 + 136 137 138 139 140 141 142 143 + 144 145 146 147 148 149 150 151 + 152 153 154 155 156 157 158 159 + 160 161 162 163 164 165 166 167 + 168 169 170 171 172 173 174 175 + 176 177 178 179 180 181 182 183 + 184 185 186 187 188 189 190 191 + 192 193 194 195 196 197 198 199 + 200 201 202 203 204 205 206 207 + 208 209 210 211 212 213 214 215 + 216 217 218 219 220 221 222 223 + 224 225 226 227 228 229 230 231 + 232 233 234 235 236 237 238 239 + 240 241 242 243 244 245 246 247 + 248 249 250 251 252 253 254 255>; + default-brightness-level = <200>; + enable-gpios = <&pio PI 5 GPIO_ACTIVE_HIGH>; + /* power-supply = <®_backlight_12v>; */ + pwms = <&pwm0 5 5000000 0>; + }; + + edp_panel: edp_panel { + compatible = "edp-general-panel"; + status = "okay"; + power0-supply = <®_dcdc4>; + + backlight = <&edp_panel_backlight>; + + panel-timing { + clock-frequency = <348577920>; /* pixel clock */ + hactive = <2560>; + hback-porch = <120>; + hfront-porch = <88>; + hsync-len = <32>; + vactive = <1600>; + vback-porch = <71>; + vfront-porch = <28>; + vsync-len = <5>; + /* hor_sync_polarity */ + hsync-active = <1>; + /* ver_sync_polarity */ + vsync-active = <1>; + + // unused now + /* + de-active = <1>; + pixelclk-active = <1>; + syncclk-active = <0>; + interlaced; + doublescan; + doubleclk; + */ + }; + ports { + #address-cells = <1>; + #size-cells = <0>; + panel_in: port@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + edp_panel_in: endpoint@0 { + reg = <0>; + remote-endpoint = <&edp_panel_out>; + }; + }; + }; + }; + + lvds_panel0_backlight: backlight0 { + compatible = "pwm-backlight"; + status = "okay"; + brightness-levels = < + 0 1 2 3 4 5 6 7 + 8 9 10 11 12 13 14 15 + 16 17 18 19 20 21 22 23 + 24 25 26 27 28 29 30 31 + 32 33 34 35 36 37 38 39 + 40 41 42 43 44 45 46 47 + 48 49 50 51 52 53 54 55 + 56 57 58 59 60 61 62 63 + 64 65 66 67 68 69 70 71 + 72 73 74 75 76 77 78 79 + 80 81 82 83 84 85 86 87 + 88 89 90 91 92 93 94 95 + 96 97 98 99 100 101 102 103 + 104 105 106 107 108 109 110 111 + 112 113 114 115 116 117 118 119 + 120 121 122 123 124 125 126 127 + 128 129 130 131 132 133 134 135 + 136 137 138 139 140 141 142 143 + 144 145 146 147 148 149 150 151 + 152 153 154 155 156 157 158 159 + 160 161 162 163 164 165 166 167 + 168 169 170 171 172 173 174 175 + 176 177 178 179 180 181 182 183 + 184 185 186 187 188 189 190 191 + 192 193 194 195 196 197 198 199 + 200 201 202 203 204 205 206 207 + 208 209 210 211 212 213 214 215 + 216 217 218 219 220 221 222 223 + 224 225 226 227 228 229 230 231 + 232 233 234 235 236 237 238 239 + 240 241 242 243 244 245 246 247 + 248 249 250 251 252 253 254 255>; + default-brightness-level = <200>; + enable-gpios = <&pio PI 2 GPIO_ACTIVE_HIGH>; + pwms = <&pwm0 4 50000 0>; + }; + + lvds_panel0: panel@0 { + compatible = "BP101WX1"; + status = "okay"; + reg = <0>; + power0-supply = <®_cldo3>; + power1-supply = <®_dcdc4>; + power2-supply = <®_cldo1>; + + backlight = <&lvds_panel0_backlight>; + + lcd_if = <3>; + lcd_width = <150>; + lcd_height = <94>; + + pinctrl-0 = <&lvds0_pins_a>; + pinctrl-1 = <&lvds0_pins_b>; + pinctrl-names = "active","sleep"; + + panel-timing { + clock-frequency = <74871600>; /* pixel clock */ + hback-porch = <88>; + hactive = <1280>; + hfront-porch = <83>; + hsync-len = <18>; + vback-porch = <23>; + vactive = <800>; + vfront-porch = <37>; + vsync-len = <10>; + + // unused now + /* + hsync-active = <0>; + vsync-active = <0>; + de-active = <1>; + pixelclk-active = <1>; + */ + }; + ports { + #address-cells = <1>; + #size-cells = <0>; + lvds_panel0_in: port@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + lvds_panel0_in_lcd0: endpoint@0 { + reg = <0>; + remote-endpoint = <&tcon0_out_panel>; + }; + }; + }; + }; + + lvds_panel1: panel@1 { + compatible = "BP101WX1"; + status = "disabled"; + reg = <1>; + power0-supply = <®_cldo3>; + power1-supply = <®_dcdc4>; + + backlight = <&lvds_panel1_backlight>; + + lcd_if = <3>; + lcd_width = <150>; + lcd_height = <94>; + + pinctrl-0 = <&lvds2_pins_a>; + pinctrl-1 = <&lvds2_pins_b>; + pinctrl-names = "active","sleep"; + + panel-timing { + clock-frequency = <74871600>; /* pixel clock */ + hback-porch = <88>; + hactive = <1280>; + hfront-porch = <83>; + hsync-len = <18>; + vback-porch = <23>; + vactive = <800>; + vfront-porch = <37>; + vsync-len = <10>; + // unused now + /* + hsync-active = <0>; + vsync-active = <0>; + de-active = <1>; + pixelclk-active = <1>; + */ + }; + ports { + #address-cells = <1>; + #size-cells = <0>; + lvds_panel1_in: port@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + lvds_panel1_in_lcd2: endpoint@0 { + reg = <0>; + remote-endpoint = <&tcon4_out_panel>; + }; + }; + }; + }; + + lvds_panel1_backlight: backlight1 { + compatible = "pwm-backlight"; + status = "disabled"; + brightness-levels = < + 0 1 2 3 4 5 6 7 + 8 9 10 11 12 13 14 15 + 16 17 18 19 20 21 22 23 + 24 25 26 27 28 29 30 31 + 32 33 34 35 36 37 38 39 + 40 41 42 43 44 45 46 47 + 48 49 50 51 52 53 54 55 + 56 57 58 59 60 61 62 63 + 64 65 66 67 68 69 70 71 + 72 73 74 75 76 77 78 79 + 80 81 82 83 84 85 86 87 + 88 89 90 91 92 93 94 95 + 96 97 98 99 100 101 102 103 + 104 105 106 107 108 109 110 111 + 112 113 114 115 116 117 118 119 + 120 121 122 123 124 125 126 127 + 128 129 130 131 132 133 134 135 + 136 137 138 139 140 141 142 143 + 144 145 146 147 148 149 150 151 + 152 153 154 155 156 157 158 159 + 160 161 162 163 164 165 166 167 + 168 169 170 171 172 173 174 175 + 176 177 178 179 180 181 182 183 + 184 185 186 187 188 189 190 191 + 192 193 194 195 196 197 198 199 + 200 201 202 203 204 205 206 207 + 208 209 210 211 212 213 214 215 + 216 217 218 219 220 221 222 223 + 224 225 226 227 228 229 230 231 + 232 233 234 235 236 237 238 239 + 240 241 242 243 244 245 246 247 + 248 249 250 251 252 253 254 255>; + default-brightness-level = <200>; + enable-gpios = <&pio PI 5 GPIO_ACTIVE_HIGH>; + pwms = <&pwm0 5 5000000 0>; + }; +}; + +&de { + chn_cfg_mode = <3>; + status = "okay"; +}; + +&vo0 { + status = "okay"; +}; + +&vo1 { + status = "okay"; +}; + +/* HDMI DRM */ +&tv0 { + status = "okay"; +}; + +&dlcd0 { + status = "okay"; + panel = <&lvds_panel0>; + ports { + tcon0_out: port@1 { + tcon0_out_panel: endpoint@2 { + reg = <2>; + remote-endpoint = <&lvds_panel0_in_lcd0>; + }; + }; + }; + +}; + +&dlcd2 { + status = "disabled"; + panel = <&lvds_panel1>; + ports { + tcon4_out: port@1 { + tcon4_out_panel: endpoint@0 { + reg = <0>; + remote-endpoint = <&lvds_panel1_in_lcd2>; + }; + }; + }; +}; + +&dsi0combophy { + status = "okay"; +}; + +&dsi1combophy { + status = "okay"; +}; + +&drm_edp { + status = "disabled"; + + edp_ssc_en = <0>; + edp_ssc_mode = <0>; + edp_psr_support = <0>; + edp_colordepth = <8>; /* 6/8/10/12/16 */ + edp_color_fmt = <0>; /* 0:RGB 1: YUV444 2: YUV422 */ + + lane1_sw = <0>; + lane1_pre = <0>; + lane2_sw = <0>; + lane2_pre = <0>; + lane3_sw = <0>; + lane3_pre = <0>; + efficient_training = <0>; + + sink_capacity_prefer = <1>; + edid_timings_prefer = <1>; + timings_fixed = <1>; + + vcc-edp-supply = <®_bldo3>; + vdd-edp-supply = <®_dcdc2>; + panel = <&edp_panel>; + ports { + edp_out: port@1 { + edp_panel_out: endpoint@0 { + reg = <0>; + remote-endpoint = <&edp_panel_in>; + }; + }; + }; +}; + +&r_pio { + uart8_pins_a: uart8_pins@0 { + pins = "PL2", "PL3"; + function = "s_uart0"; + }; + + uart8_pins_b: uart8_pins@1 { + pins = "PL2", "PL3"; + function = "gpio_in"; + }; + + uart9_pins_a: uart9_pins@0 { + pins = "PM0", "PM1"; + function = "s_uart1"; + }; + + uart9_pins_b: uart9_pins@1 { + pins = "PM0", "PM1"; + function = "gpio_in"; + }; + + s_twi0_pins_default: s_twi0@0 { + pins = "PL0", "PL1"; + function = "s_twi0"; + drive-strength = <10>; + bias-pull-up; + }; + + s_twi0_pins_sleep: s_twi0@1 { + pins = "PL0", "PL1"; + function = "gpio_in"; + }; + + s_twi1_pins_default: s_twi1@0 { + pins = "PL8", "PL9"; + function = "s_twi1"; + drive-strength = <10>; + bias-pull-up; + }; + + s_twi1_pins_sleep: s_twi1@1 { + pins = "PL8", "PL9"; + function = "gpio_in"; + }; + + s_twi2_pins_default: s_twi2@0 { + pins = "PL12", "PL13"; + function = "s_twi2"; + drive-strength = <10>; + bias-pull-up; + }; + + s_twi2_pins_sleep: s_twi2@1 { + pins = "PL12", "PL13"; + function = "gpio_in"; + }; + + s_irrx_pins_default: s_irrx@0 { + pins = "PL11"; + function = "s_cir"; + }; + + s_irrx_pins_sleep: s_irrx@1 { + pins = "PL11"; + function = "gpio_in"; + }; +}; + +&pio { + vcc-pg-supply = <®_pio1_8>; + vcc-pf-supply = <®_pio1_8>; + vcc-pfo-supply = <®_pio3_3>; + vcc-pd-supply = <®_dcdc4>; + vcc-pe-supply = <®_pio1_8>; + vcc-pi-supply = <®_dcdc4>; + vcc-pj-supply = <®_dcdc4>; + vcc-pk-supply = <®_dcdc4>; + uart0_pins_a: uart0_pins@0 { + pins = "", ""; + function = "uart0"; + }; + + uart0_pins_b: uart0_pins@1 { + pins = "", ""; + function = "gpio_in"; + }; + + uart2_pins_a: uart2_pins@0 { + pins = "PB0", "PB1"; + function = "uart2"; + }; + + uart2_pins_b: uart2_pins@1 { + pins = "PB0", "PB1"; + function = "gpio_in"; + }; + + uart3_pins_a: uart3_pins@0 { + pins = "PD14", "PD15"; + function = "uart3"; + }; + + uart3_pins_b: uart3_pins@1 { + pins = "PD14", "PD15"; + function = "gpio_in"; + }; + + uart4_pins_a: uart4_pins@0 { + pins = "PD18", "PD19"; + function = "uart4"; + }; + + uart4_pins_b: uart4_pins@1 { + pins = "PD18", "PD19"; + function = "gpio_in"; + }; + + uart5_pins_a: uart5_pins@0 { + pins = "PE11", "PE12"; + function = "uart5"; + }; + + uart5_pins_b: uart5_pins@1 { + pins = "PE11", "PE12"; + function = "gpio_in"; + }; + + uart6_pins_a: uart6_pins@0 { + pins = "PI6", "PI7"; + function = "uart6"; + }; + + uart6_pins_b: uart6_pins@1 { + pins = "PI6", "PI7"; + function = "gpio_in"; + }; + + uart7_pins_a: uart7_pins@0 { + pins = "PB11", "PB12"; + function = "uart7"; + }; + + uart7_pins_b: uart7_pins@1 { + pins = "PB11", "PB12"; + function = "gpio_in"; + }; + + pwm0_0_pin_active: pwm0_0@0 { + pins = "PD23"; + function = "pwm0_0"; + }; + + pwm0_0_pin_sleep: pwm0_0@1 { + pins = "PD23"; + function = "gpio_in"; + bias-pull-down; + }; + + pwm0_1_pin_active: pwm0_1@0 { + pins = "PD22"; + function = "pwm0_1"; + }; + + pwm0_1_pin_sleep: pwm0_1@1 { + pins = "PD22"; + function = "gpio_in"; + bias-pull-down; + }; + + pwm0_2_pin_active: pwm0_2@0 { + pins = "PB11"; + function = "pwm0_2"; + }; + + pwm0_2_pin_sleep: pwm0_2@1 { + pins = "PB11"; + function = "gpio_in"; + bias-pull-down; + }; + + pwm0_3_pin_active: pwm0_3@0 { + pins = "PB12"; + function = "pwm0_3"; + }; + + pwm0_3_pin_sleep: pwm0_3@1 { + pins = "PB12"; + function = "gpio_in"; + bias-pull-down; + }; + + pwm0_4_pin_active: pwm0_4@0 { + pins = "PI3"; + function = "pwm0_4"; + }; + + pwm0_4_pin_sleep: pwm0_4@1 { + pins = "PI3"; + function = "gpio_in"; + bias-pull-down; + }; + + pwm0_5_pin_active: pwm0_5@0 { + pins = "PI4"; + function = "pwm0_5"; + }; + + pwm0_5_pin_sleep: pwm0_5@1 { + pins = "PI4"; + function = "gpio_in"; + bias-pull-down; + }; + + ledc_pins_a: ledc@0 { + pins = "PG0"; + function = "ledc"; + drive-strength = <10>; + }; + + ledc_pins_b: ledc@1 { + pins = "PG0"; + function = "gpio_in"; + }; + + irrx_pins_default: irrx@0 { + pins = "PI8"; + function = "cir"; + }; + + irrx_pins_sleep: irrx@1 { + pins = "PI8"; + function = "gpio_in"; + }; + + irtx_pins_default: irtx@0 { + pins = "PH18"; + function = "cir"; + }; + + irtx_pins_sleep: irtx@1 { + pins = "PH18"; + function = "gpio_in"; + }; + + twi0_pins_default: twi0@0 { + pins = "PD22", "PD23"; + function = "twi0"; + drive-strength = <10>; + bias-pull-up; + }; + + twi0_pins_sleep: twi0@1 { + pins = "PD22", "PD23"; + function = "gpio_in"; + }; + + twi1_pins_default: twi1@0 { + pins = "PL8", "PL9"; + function = "twi1"; + drive-strength = <10>; + bias-pull-up; + }; + + twi1_pins_sleep: twi1@1 { + pins = "PL8", "PL9"; + function = "gpio_in"; + }; + + twi2_pins_default: twi2@0 { + pins = "PE1", "PE2"; + function = "twi2"; + drive-strength = <20>; + bias-pull-up; + }; + + twi2_pins_sleep: twi2@1 { + pins = "PE1", "PE2"; + function = "gpio_in"; + }; + + twi3_pins_default: twi3@0 { + pins = "PE3", "PE4"; + function = "twi3"; + drive-strength = <20>; + bias-pull-up; + }; + + twi3_pins_sleep: twi3@1 { + pins = "PE3", "PE4"; + function = "gpio_in"; + }; + + twi4_pins_default: twi4@0 { + pins = "PE13", "PE14"; + function = "twi4"; + drive-strength = <10>; + bias-pull-up; + }; + + twi4_pins_sleep: twi4@1 { + pins = "PE13", "PE14"; + function = "gpio_in"; + }; + + twi5_pins_default: twi5@0 { + pins = "PI8", "PI9"; + function = "twi5"; + drive-strength = <10>; + bias-pull-up; + }; + + twi5_pins_sleep: twi5@1 { + pins = "PI8", "PI9"; + function = "gpio_in"; + }; + + owa_pins_a: owa@0 { + pins = "PI10"; + function = "owa"; + drive-strength = <20>; + bias-disable; + }; + + owa_pins_b: owa@1 { + pins = "PI10"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + i2s0_pins_a: i2s0@0 { + pins = "PB4", "PB5", "PB6"; + function = "i2s0"; + drive-strength = <20>; + bias-disable; + }; + + i2s0_pins_b: i2s0@1 { + pins = "PB4", "PB5", "PB6", "PB7", "PB8"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + i2s0_pins_c: i2s0@2 { + pins = "PB7"; + function = "i2s0_dout"; + drive-strength = <20>; + bias-disable; + }; + + i2s0_pins_d: i2s0@3 { + pins = "PB8"; + function = "i2s0_din"; + drive-strength = <20>; + bias-disable; + }; + + i2s1_pins_a: i2s1@0 { + pins = "PG10", "PG11", "PG12"; + function = "i2s1"; + drive-strength = <20>; + bias-disable; + }; + + i2s1_pins_b: i2s1@1 { + pins = "PG10", "PG11", "PG12", "PG13", "PG14"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + i2s1_pins_c: i2s1@2 { + pins = "PG13"; + function = "i2s1_dout"; + drive-strength = <20>; + bias-disable; + }; + + i2s1_pins_d: i2s1@3 { + pins = "PG14"; + function = "i2s1_din"; + drive-strength = <20>; + bias-disable; + }; + + i2s2_pins_a: i2s2@0 { + pins = "PH9", "PH10"; + function = "i2s2"; + drive-strength = <20>; + bias-disable; + }; + + i2s2_pins_b: i2s2@1 { + pins = "PH2", "PH3", "PH8", "PH9", "PH10", "PH11", "PH12"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + i2s2_pins_c: i2s2@2 { + pins = "PH2", "PH3", "PH12"; + function = "i2s2_din"; + drive-strength = <20>; + bias-disable; + }; + + i2s2_pins_d: i2s2@3 { + pins = "PH11"; + function = "i2s2_dout"; + drive-strength = <20>; + bias-disable; + }; + + i2s2_pins_e: i2s2@4 { + pins = "PH8"; + function = "i2s2_mclk"; + drive-strength = <20>; + bias-disable; + }; + + i2s3_pins_a: i2s3@0 { + pins = "PF3", "PF5", "PF6"; + function = "i2s3"; + drive-strength = <20>; + bias-disable; + }; + + i2s3_pins_b: i2s3@1 { + pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + i2s3_pins_c: i2s3@2 { + pins = "PF0", "PF2", "PF4"; + function = "i2s3_din"; + drive-strength = <20>; + bias-disable; + }; + + i2s3_pins_d: i2s3@3 { + pins = "PF1"; + function = "i2s3_dout"; + drive-strength = <20>; + bias-disable; + }; + + rgb24_pins_a: rgb24@0 { + pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \ + "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \ + "PD20", "PD21", "PD22","PD23","PD24","PD25","PD26","PD27"; + function = "dpss"; + drive-strength = <30>; + }; + + rgb24_pins_b: rgb24@1 { + pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \ + "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \ + "PD20", "PD21", "PD22", "PD23","PD24","PD25","PD26","PD27"; + function = "gpio_in"; + }; + + lvds0_pins_a: lvds0@0 { + pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9"; + function = "lvds0"; + drive-strength = <30>; + }; + + lvds0_pins_b: lvds0@1 { + pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9"; + function = "gpio_in"; + }; + + gmac0_pins_default: gmac0@0 { + pins = "PH0", "PH1", "PH2", "PH3", + "PH4", "PH5", "PH6", "PH7", + "PH9", "PH10","PH13","PH14", + "PH15","PH16","PH17","PH18"; + drive-strength = <40>; + function = "gmac0"; + bias-pull-up; + }; + + gmac0_pins_sleep: gmac0@1 { + pins = "PH0", "PH1", "PH2", "PH3", + "PH4", "PH5", "PH6", "PH7", + "PH9", "PH10","PH13","PH14", + "PH15","PH16","PH17","PH18"; + function = "gpio_in"; + }; + + gmac1_pins_default: gmac1@0 { + pins = "PJ0", "PJ1", "PJ2", "PJ3", + "PJ4", "PJ5", "PJ6", "PJ7", + "PJ8", "PJ9", "PJ10", "PJ11", + "PJ12","PJ13", "PJ14", "PJ15"; + drive-strength = <40>; + function = "gmac1"; + bias-pull-up; + }; + + gmac1_pins_sleep: gmac1@1 { + pins = "PJ0", "PJ1", "PJ2", "PJ3", + "PJ4", "PJ5", "PJ6", "PJ7", + "PJ8", "PJ9", "PJ10", "PJ11", + "PJ12","PJ13", "PJ14", "PJ15"; + function = "gpio_in"; + }; +}; + +&soc { + auto_print@54321 { + reg = <0x0 0x54321 0x0 0x0>; + device_type = "auto_print"; + status = "okay"; + }; + + car_reverse: car-reverse { + compatible = "allwinner,sunxi-car-reverse"; + + /* video source setting*/ + video_channel = <0>; + video_source = <0>; + format_type = <0>; + video_source_width = <1920>; + video_source_height = <1080>; + src_size_adaptive = <1>; + /* display setting */ + overview_type = <1>; + screen_width = <1280>; + screen_height = <800>; + screen_size_adaptive = <1>; + discard_frame = <0>; + di_used = <0>; + g2d_used = <1>; + rotation = <0>; + /* auxiliary line setting */ + auxiliary_line_type = <1>; + aux_angle = <0>; + aux_lr = <0>; + reverse_int_pin = <&pio PI 15 GPIO_ACTIVE_HIGH>; + status = "disabled"; + }; + + gpio_leds { + compatible = "allwinner,sunxi-gpio-leds"; + supply-num = <1>; + gpio1-supply = <®_bldo1>; + gpio-pins = <&pio PG 10 GPIO_ACTIVE_LOW>, <&pio PC 7 GPIO_ACTIVE_LOW>; + pin-names = "normal_led", "standby_led"; + init-status = , ; + status = "disabled"; + }; + + dsp0_rproc: dsp0_rproc@0 { + mboxes = <&msgbox 4>; + mbox-names = "arm-kick"; + memory-region = <&dsp0ddr_reserved>, <&dsp_vdev0buffer>, <&dsp_vdev0vring0>, <&dsp_vdev0vring1>, + <&mcu0iram_reserved>, <&mcu0dram0_reserved>, <&mcu0dram1_reserved>; + memory-mappings = + /* < DA len PA > */ + /* local SRAM via external bus */ + < 0x20000 0x20000 0x20000 >, + /* local SRAM via internal bus */ + < 0x400000 0x10000 0x20000 >, + < 0x420000 0x8000 0x30000 >, + < 0x440000 0x8000 0x38000 >, + /* DDR front 256MB */ + < 0x10000000 0x10000000 0x40000000 >, + /* local SRAM via internal bus */ + < 0x20020000 0x10000 0x400000 >, + < 0x20030000 0x8000 0x420000 >, + < 0x20038000 0x8000 0x440000 >, + + /* DDR front 256MB */ + < 0x30000000 0x10000000 0x40000000 >, + /* DDR front 1GB */ + < 0x40000000 0x40000000 0x40000000 >, + /* DDR front 1GB */ + < 0x80000000 0x40000000 0x40000000 >, + /* DDR front 1GB */ + < 0xC0000000 0x40000000 0x40000000 >; + status = "okay"; + }; + + e906_rproc: e906_rproc@7130000 { + mboxes = <&msgbox 8>; + mbox-names = "arm-kick"; + memory-region = <&riscvsram0_reserved>, <&riscvsram1_reserved>, <&rv_vdev0buffer>, <&rv_vdev0vring0>, <&rv_vdev0vring1>; + memory-mappings = + /* < DA len PA > */ + /* DSP RAM */ + < 0x20000 0x20000 0x20000 >, + /* SRAM A2 */ + < 0x40000 0x24000 0x40000 >, + /* DDR */ + < 0x8000000 0x37f00000 0x8000000 >, + /* SRAM SPACE 0 */ + < 0x3ffc0000 0x40000 0x07280000 >, + /* SRAM SPACE 1 */ + < 0x40000000 0x40000 0x072c0000 >, + /* DRAM SPACE */ + < 0x40040000 0x3ffc0000 0x40040000>; + status = "okay"; + }; + +}; + +&uart0 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart0_pins_a>; + pinctrl-1 = <&uart0_pins_b>; + uart-supply = <®_cldo3>; + status = "okay"; +}; + +&uart1 { + status = "okay"; +}; + +&uart2 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart2_pins_a>; + pinctrl-1 = <&uart2_pins_b>; + status = "disabled"; +}; + +&uart3 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart3_pins_a>; + pinctrl-1 = <&uart3_pins_b>; + status = "disabled"; +}; + +&uart4 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart4_pins_a>; + pinctrl-1 = <&uart4_pins_b>; + status = "disabled"; +}; + +&uart5 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart5_pins_a>; + pinctrl-1 = <&uart5_pins_b>; + status = "disabled"; +}; + +&uart6 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart6_pins_a>; + pinctrl-1 = <&uart6_pins_b>; + status = "okay"; +}; + +&uart7 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart7_pins_a>; + pinctrl-1 = <&uart7_pins_b>; + status = "disabled"; +}; + +&uart8 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart8_pins_a>; + pinctrl-1 = <&uart8_pins_b>; + status = "disabled"; +}; + +&uart9 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart9_pins_a>; + pinctrl-1 = <&uart9_pins_b>; + status = "disabled"; +}; + +&lradc { + key_cnt = <5>; + key0 = <210 0x73>; + key1 = <410 0x72>; + key2 = <590 0x8B>; + key3 = <750 0x1c>; + key4 = <880 0x66>; + key_debounce; + debounce_value = <50>; + status = "okay"; +}; + +&irrx { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&irrx_pins_default>; + pinctrl-1 = <&irrx_pins_sleep>; + status = "disabled"; +}; + +&s_irrx { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&s_irrx_pins_default>; + pinctrl-1 = <&s_irrx_pins_sleep>; + status = "okay"; +}; + +&irtx { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&irtx_pins_default>; + pinctrl-1 = <&irtx_pins_sleep>; + status = "disabled"; +}; + +&gpadc0 { + channel_num = <2>; + channel_select = <3>; + channel_data_select = <3>; + channel_compare_select = <3>; + channel_cld_select = <3>; + channel_chd_select = <3>; + channel0_compare_lowdata = <1700000>; + channel0_compare_higdata = <1200000>; + channel1_compare_lowdata = <460000>; + channel1_compare_higdata = <1200000>; + status = "disabled"; +}; + +&gpadc1 { + channel_num = <2>; + channel_select = <3>; + channel_data_select = <3>; + channel_compare_select = <3>; + channel_cld_select = <3>; + channel_chd_select = <3>; + channel0_compare_lowdata = <1700000>; + channel0_compare_higdata = <1200000>; + channel1_compare_lowdata = <460000>; + channel1_compare_higdata = <1200000>; + status = "disabled"; +}; + +&pwm0_0 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm0_0_pin_active>; + pinctrl-1 = <&pwm0_0_pin_sleep>; + status = "okay"; +}; + +&pwm0_1 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm0_1_pin_active>; + pinctrl-1 = <&pwm0_1_pin_sleep>; + status = "disabled"; +}; + +&pwm0_2 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm0_2_pin_active>; + pinctrl-1 = <&pwm0_2_pin_sleep>; + status = "disabled"; +}; + +&pwm0_3 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm0_3_pin_active>; + pinctrl-1 = <&pwm0_3_pin_sleep>; + status = "disabled"; +}; + +&pwm0_4 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm0_4_pin_active>; + pinctrl-1 = <&pwm0_4_pin_sleep>; + status = "okay"; +}; + +&pwm0_5 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm0_5_pin_active>; + pinctrl-1 = <&pwm0_5_pin_sleep>; + status = "okay"; +}; + +&ledc { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&ledc_pins_a>; + pinctrl-1 = <&ledc_pins_b>; + led_count = <34>; + output_mode = "GRB"; + reset_ns = <84>; + t1h_ns = <800>; + t1l_ns = <320>; + t0h_ns = <300>; + t0l_ns = <800>; + wait_time0_ns = <84>; + wait_time1_ns = <84>; + wait_data_time_ns = <600000>; + status = "disabled"; +}; + +&twi0 { + clock-frequency = <400000>; + pinctrl-0 = <&twi0_pins_default>; + pinctrl-1 = <&twi0_pins_sleep>; + pinctrl-names = "default", "sleep"; + /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */ + twi_drv_used = <1>; + twi-supply = <®_dcdc4>; + status = "okay"; +}; + +&twi1 { + clock-frequency = <400000>; + pinctrl-0 = <&twi1_pins_default>; + pinctrl-1 = <&twi1_pins_sleep>; + pinctrl-names = "default", "sleep"; + /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */ + twi_drv_used = <1>; + status = "okay"; +}; + +&twi2 { + clock-frequency = <400000>; + pinctrl-0 = <&twi2_pins_default>; + pinctrl-1 = <&twi2_pins_sleep>; + pinctrl-names = "default", "sleep"; + /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */ + twi_drv_used = <1>; + twi-supply = <®_dcdc4>; + status = "okay"; +}; + +&twi3 { + clock-frequency = <400000>; + pinctrl-0 = <&twi3_pins_default>; + pinctrl-1 = <&twi3_pins_sleep>; + pinctrl-names = "default", "sleep"; + /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */ + twi_drv_used = <1>; + twi-supply = <®_dcdc4>; + status = "okay"; +}; + +&twi4 { + clock-frequency = <400000>; + pinctrl-0 = <&twi4_pins_default>; + pinctrl-1 = <&twi4_pins_sleep>; + pinctrl-names = "default", "sleep"; + /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */ + twi_drv_used = <1>; + twi-supply = <®_dcdc4>; + status = "okay"; +}; + +&twi5 { + clock-frequency = <400000>; + pinctrl-0 = <&twi5_pins_default>; + pinctrl-1 = <&twi5_pins_sleep>; + pinctrl-names = "default", "sleep"; + /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */ + twi_drv_used = <1>; + twi-supply = <®_dcdc4>; + status = "okay"; +}; + +&csi_mclk3_pins_a { + pins = "PK13"; + function = "ncsi"; +}; + +&csi_mclk3_pins_b { + pins = "PK13"; +}; + +&mipib_4lane_pins_a { + pins = "PK6", "PK7", "PK8", "PK9"; +}; + +&mipib_4lane_pins_b { + pins = "PK6", "PK7", "PK8", "PK9"; +}; + +&vind0 { + csi_top = <360000000>; + csi_isp = <300000000>; + vind_mclkpin-supply = <®_bldo3>; /* vcc-pe */ + vind_mclkpin_vol = <1800000>; + vind_mcsipin-supply = <®_bldo3>; /* vcc-pk */ + vind_mcsipin_vol = <1800000>; + vind_mipipin-supply = <®_bldo3>; /* vcc-mcsi */ + vind_mipipin_vol = <1800000>; + status = "okay"; + + csi3:csi@5823000 { + pinctrl-names = "default","sleep"; + pinctrl-0 = <&ncsi_bt1120_pins_a>; + pinctrl-1 = <&ncsi_bt1120_pins_b>; + status = "okay"; + }; + + tdm0:tdm@5908000 { + work_mode = <0>; + }; + + isp00:isp@5900000 { + work_mode = <0>; + }; + + isp01:isp@58ffffc { + status = "disabled"; + }; + + isp02:isp@58ffff8 { + status = "disabled"; + }; + + isp03:isp@58ffff4 { + status = "disabled"; + }; + + isp10:isp@4 { + status = "okay"; + }; + + isp20:isp@5 { + status = "okay"; + }; + + scaler00:scaler@5910000 { + work_mode = <0>; + }; + + scaler01:scaler@590fffc { + status = "disabled"; + }; + + scaler02:scaler@590fff8 { + status = "disabled"; + }; + + scaler03:scaler@590fff4 { + status = "disabled"; + }; + + scaler10:scaler@5910400 { + work_mode = <0>; + }; + + scaler11:scaler@59103fc { + status = "disabled"; + }; + + scaler12:scaler@59103f8 { + status = "disabled"; + }; + + scaler13:scaler@59103f4 { + status = "disabled"; + }; + + scaler20:scaler@5910800 { + work_mode = <0>; + }; + + scaler21:scaler@59107fc { + status = "disabled"; + }; + + scaler22:scaler@59107f8 { + status = "disabled"; + }; + + scaler23:scaler@59107f4 { + status = "disabled"; + }; + + scaler30:scaler@5910c00 { + work_mode = <0>; + }; + + scaler31:scaler@5910bfc { + status = "disabled"; + }; + + scaler32:scaler@5910bf8 { + status = "disabled"; + }; + + scaler33:scaler@5910bf4 { + status = "disabled"; + }; + scaler40:scaler@16 { + status = "okay"; + }; + scaler50:scaler@17 { + status = "okay"; + }; + + actuator0: actuator@2108180 { + device_type = "actuator0"; + actuator0_name = "dw9714_act"; + actuator0_slave = <0x18>; + actuator0_af_pwdn = <>; + actuator0_afvdd = "afvcc-csi"; + actuator0_afvdd_vol = <2800000>; + status = "disabled"; + }; + + flash0: flash@2108190 { + device_type = "flash0"; + flash0_type = <2>; + flash0_en = <&r_pio PL 11 GPIO_ACTIVE_LOW>; + flash0_mode = <>; + flash0_flvdd = ""; + flash0_flvdd_vol = <>; + device_id = <0>; + status = "disabled"; + }; + + sensor0:sensor@5812000 { + device_type = "sensor0"; + sensor0_mname = "tp2815_mipi"; + sensor0_twi_cci_id = <2>; + sensor0_twi_addr = <0x88>; + sensor0_mclk_id = <0>; + sensor0_pos = "rear"; + sensor0_isp_used = <0>; + sensor0_fmt = <0>; + sensor0_stby_mode = <0>; + sensor0_vflip = <0>; + sensor0_hflip = <0>; + sensor0_cameravdd-supply = <>; + sensor0_cameravdd_vol = <>; + sensor0_iovdd-supply = <>; + sensor0_iovdd_vol = <>; + sensor0_avdd-supply = <>; + sensor0_avdd_vol = <>; + sensor0_dvdd-supply = <>; + sensor0_dvdd_vol = <>; + sensor0_power_en = <>; + sensor0_reset = <&pio PK 11 GPIO_ACTIVE_LOW>; + sensor0_pwdn = <>; + status = "okay"; + }; + + sensor1:sensor@5812010 { + device_type = "sensor1"; + sensor1_mname = "nvp6158"; + sensor1_twi_cci_id = <3>; + sensor1_twi_addr = <0x64>; + sensor1_mclk_id = <3>; + sensor1_pos = "front"; + sensor1_isp_used = <0>; + sensor1_fmt = <0>; + sensor1_stby_mode = <0>; + sensor1_vflip = <0>; + sensor1_hflip = <0>; + sensor1_iovdd-supply = <>; + sensor1_iovdd_vol = <>; + sensor1_avdd-supply = <>; + sensor1_avdd_vol = <>; + sensor1_dvdd-supply = <>; + sensor1_dvdd_vol = <>; + sensor1_power_en = <>; + sensor1_reset = <&pio PK 10 GPIO_ACTIVE_LOW>; + sensor1_pwdn = <>; + status = "okay"; + }; + + vinc00:vinc@5830000 { + vinc0_csi_sel = <0>; + vinc0_mipi_sel = <0>; + vinc0_isp_sel = <4>; + vinc0_isp_tx_ch = <0>; + vinc0_tdm_rx_sel = <0>; + vinc0_rear_sensor_sel = <0>; + vinc0_front_sensor_sel = <0>; + vinc0_sensor_list = <0>; + device_id = <0>; + work_mode = <0x0>; + status = "okay"; + }; + + vinc01:vinc@582fffc { + vinc1_csi_sel = <1>; + vinc1_mipi_sel = <2>; + vinc1_isp_sel = <1>; + vinc1_isp_tx_ch = <0>; + vinc1_tdm_rx_sel = <1>; + vinc1_rear_sensor_sel = <1>; + vinc1_front_sensor_sel = <1>; + vinc1_sensor_list = <0>; + device_id = <1>; + status = "disabled"; + }; + + vinc02:vinc@582fff8 { + vinc2_csi_sel = <2>; + vinc2_mipi_sel = <0xff>; + vinc2_isp_sel = <2>; + vinc2_isp_tx_ch = <2>; + vinc2_tdm_rx_sel = <2>; + vinc2_rear_sensor_sel = <0>; + vinc2_front_sensor_sel = <0>; + vinc2_sensor_list = <0>; + device_id = <2>; + status = "disabled"; + }; + + vinc03:vinc@582fff4 { + vinc3_csi_sel = <0>; + vinc3_mipi_sel = <0xff>; + vinc3_isp_sel = <0>; + vinc3_isp_tx_ch = <0>; + vinc3_tdm_rx_sel = <0>; + vinc3_rear_sensor_sel = <1>; + vinc3_front_sensor_sel = <1>; + vinc3_sensor_list = <0>; + device_id = <3>; + status = "disabled"; + }; + + vinc10:vinc@5831000 { + vinc4_csi_sel = <0>; + vinc4_mipi_sel = <0>; + vinc4_isp_sel = <4>; + vinc4_isp_tx_ch = <1>; + vinc4_tdm_rx_sel = <0>; + vinc4_rear_sensor_sel = <0>; + vinc4_front_sensor_sel = <0>; + vinc4_sensor_list = <0>; + device_id = <4>; + work_mode = <0x0>; + status = "okay"; + }; + + vinc11:vinc@5830ffc { + vinc5_csi_sel = <2>; + vinc5_mipi_sel = <0xff>; + vinc5_isp_sel = <1>; + vinc5_isp_tx_ch = <1>; + vinc5_tdm_rx_sel = <1>; + vinc5_rear_sensor_sel = <0>; + vinc5_front_sensor_sel = <0>; + vinc5_sensor_list = <0>; + device_id = <5>; + status = "disabled"; + }; + + vinc12:vinc@5830ff8 { + vinc6_csi_sel = <2>; + vinc6_mipi_sel = <0xff>; + vinc6_isp_sel = <0>; + vinc6_isp_tx_ch = <0>; + vinc6_tdm_rx_sel = <0>; + vinc6_rear_sensor_sel = <0>; + vinc6_front_sensor_sel = <0>; + vinc6_sensor_list = <0>; + device_id = <6>; + status = "disabled"; + }; + + vinc13:vinc@5830ff4 { + vinc7_csi_sel = <2>; + vinc7_mipi_sel = <0xff>; + vinc7_isp_sel = <0>; + vinc7_isp_tx_ch = <0>; + vinc7_tdm_rx_sel = <0>; + vinc7_rear_sensor_sel = <0>; + vinc7_front_sensor_sel = <0>; + vinc7_sensor_list = <0>; + device_id = <7>; + status = "disabled"; + }; + + vinc20:vinc@5832000 { + vinc8_csi_sel = <0>; + vinc8_mipi_sel = <0>; + vinc8_isp_sel = <4>; + vinc8_isp_tx_ch = <2>; + vinc8_tdm_rx_sel = <0>; + vinc8_rear_sensor_sel = <0>; + vinc8_front_sensor_sel = <0>; + vinc8_sensor_list = <0>; + device_id = <8>; + work_mode = <0x0>; + status = "okay"; + }; + + vinc21:vinc@5831ffc { + vinc9_csi_sel = <2>; + vinc9_mipi_sel = <0xff>; + vinc9_isp_sel = <0>; + vinc9_isp_tx_ch = <0>; + vinc9_tdm_rx_sel = <0>; + vinc9_rear_sensor_sel = <0>; + vinc9_front_sensor_sel = <0>; + vinc9_sensor_list = <0>; + device_id = <9>; + status = "disabled"; + }; + + vinc22:vinc@5831ff8 { + vinc10_csi_sel = <2>; + vinc10_mipi_sel = <0xff>; + vinc10_isp_sel = <0>; + vinc10_isp_tx_ch = <0>; + vinc10_tdm_rx_sel = <0>; + vinc10_rear_sensor_sel = <0>; + vinc10_front_sensor_sel = <0>; + vinc10_sensor_list = <0>; + device_id = <10>; + status = "disabled"; + }; + + vinc23:vinc@5831ff4 { + vinc11_csi_sel = <2>; + vinc11_mipi_sel = <0xff>; + vinc11_isp_sel = <0>; + vinc11_isp_tx_ch = <0>; + vinc11_tdm_rx_sel = <0>; + vinc11_rear_sensor_sel = <0>; + vinc11_front_sensor_sel = <0>; + vinc11_sensor_list = <0>; + device_id = <11>; + status = "disabled"; + }; + + vinc30:vinc@5833000 { + vinc12_csi_sel = <0>; + vinc12_mipi_sel = <0>; + vinc12_isp_sel = <4>; + vinc12_isp_tx_ch = <3>; + vinc12_tdm_rx_sel = <0>; + vinc12_rear_sensor_sel = <0>; + vinc12_front_sensor_sel = <0>; + vinc12_sensor_list = <0>; + device_id = <12>; + work_mode = <0x0>; + status = "okay"; + }; + + vinc31:vinc@5832ffc { + vinc13_csi_sel = <2>; + vinc13_mipi_sel = <0xff>; + vinc13_isp_sel = <0>; + vinc13_isp_tx_ch = <0>; + vinc13_tdm_rx_sel = <0>; + vinc13_rear_sensor_sel = <0>; + vinc13_front_sensor_sel = <0>; + vinc13_sensor_list = <0>; + device_id = <13>; + status = "disabled"; + }; + + vinc32:vinc@5832ff8 { + vinc14_csi_sel = <2>; + vinc14_mipi_sel = <0xff>; + vinc14_isp_sel = <0>; + vinc14_isp_tx_ch = <0>; + vinc14_tdm_rx_sel = <0>; + vinc14_rear_sensor_sel = <0>; + vinc14_front_sensor_sel = <0>; + vinc14_sensor_list = <0>; + device_id = <14>; + status = "disabled"; + }; + + vinc33:vinc@5832ff4 { + vinc15_csi_sel = <2>; + vinc15_mipi_sel = <0xff>; + vinc15_isp_sel = <0>; + vinc15_isp_tx_ch = <0>; + vinc15_tdm_rx_sel = <0>; + vinc15_rear_sensor_sel = <0>; + vinc15_front_sensor_sel = <0>; + vinc15_sensor_list = <0>; + device_id = <15>; + status = "disabled"; + }; + + vinc40:vinc@5834000 { + vinc16_csi_sel = <3>; + vinc16_mipi_sel = <0xff>; + vinc16_isp_sel = <5>; + vinc16_isp_tx_ch = <0>; + vinc16_tdm_rx_sel = <0>; + vinc16_rear_sensor_sel = <1>; + vinc16_front_sensor_sel = <1>; + vinc16_sensor_list = <0>; + device_id = <16>; + status = "okay"; + }; + + vinc50:vinc@5835000 { + vinc17_csi_sel = <3>; + vinc17_mipi_sel = <0xff>; + vinc17_isp_sel = <5>; + vinc17_isp_tx_ch = <1>; + vinc17_tdm_rx_sel = <0>; + vinc17_rear_sensor_sel = <1>; + vinc17_front_sensor_sel = <1>; + vinc17_sensor_list = <0>; + device_id = <17>; + status = "okay"; + }; +}; + +&twi6 { + clock-frequency = <400000>; + pinctrl-0 = <&s_twi0_pins_default>; + pinctrl-1 = <&s_twi0_pins_sleep>; + pinctrl-names = "default", "sleep"; + device_type = "twi6"; + /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */ + twi_drv_used = <1>; + no_suspend = <1>; + status = "okay"; + + axp1530: axp1530@36{ + compatible = "ext,axp1530"; + status = "okay"; + reg = <0x36>; + + wakeup-source; + + regulators{ + reg_ext_axp1530_dcdc1: dcdc1 { + regulator-name = "axp1530-dcdc1"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + regulator-step-delay-us = <25>; + regulator-final-delay-us = <50>; + regulator-always-on; + }; + + reg_ext_axp1530_dcdc2: dcdc2 { + regulator-name = "axp1530-dcdc2"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1540000>; + regulator-step-delay-us = <25>; + regulator-final-delay-us = <50>; + regulator-ramp-delay = <200>; /* FIXME */ + regulator-always-on; + }; + + reg_ext_axp1530_dcdc3: dcdc3 { + regulator-name = "axp1530-dcdc3"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1840000>; + regulator-step-delay-us = <25>; + regulator-final-delay-us = <50>; + regulator-always-on; + }; + + reg_ext_axp1530_aldo1: ldo1 { + regulator-name = "axp1530-aldo1"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-step-delay-us = <25>; + regulator-final-delay-us = <50>; + }; + + reg_ext_axp1530_dldo1: ldo2 { + regulator-name = "axp1530-dldo1"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-step-delay-us = <25>; + regulator-final-delay-us = <50>; + }; + }; + virtual-ext-dcdc1 { + compatible = "xpower-vregulator,ext-dcdc1"; + dcdc1-supply = <®_ext_axp1530_dcdc1>; + }; + virtual-ext-dcdc2 { + compatible = "xpower-vregulator,ext-dcdc2"; + dcdc2-supply = <®_ext_axp1530_dcdc2>; + }; + virtual-ext-dcdc3 { + compatible = "xpower-vregulator,ext-dcdc3"; + dcdc3-supply = <®_ext_axp1530_dcdc3>; + }; + virtual-ext-aldo1 { + compatible = "xpower-vregulator,ext-aldo1"; + aldo1-supply = <®_ext_axp1530_aldo1>; + }; + virtual-ext-dldo1 { + compatible = "xpower-vregulator,ext-dldo1"; + dldo1-supply = <®_ext_axp1530_dldo1>; + }; + + }; + + pmu0: pmu@34 { + compatible = "x-powers,axp2202"; + reg = <0x34>; + status = "okay"; + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; + interrupt-parent = <&nmi_intc>; + x-powers,drive-vbus-en; + pmu_reset = <0>; + pmu_irq_wakeup = <1>; + pmu_hot_shutdown = <1>; + pmu_over_current = <1>; + pmu_hot_shutdown_value = <125>; + wakeup-source; + + usb_power_supply: usb_power_supply { + compatible = "x-powers,axp2202-usb-power-supply"; + status = "okay"; + + pmu_usbpc_vol = <4600>; + pmu_usbpc_cur = <500>; + pmu_usbad_vol = <4000>; + pmu_usbad_cur = <2500>; + pmu_usb_typec_used = <1>; + wakeup_usb_in; + wakeup_usb_out; + wakeup_typec_in; + wakeup_typec_out; + + det_acin_supply = <&gpio_power_supply>; + pmu_acin_usbid_drv = <&pio PH 12 GPIO_ACTIVE_LOW>; + pmu_vbus_det_gpio = <&pio PH 13 GPIO_ACTIVE_LOW>; + }; + + gpio_power_supply: gpio_power_supply { + compatible = "x-powers,gpio-supply"; + status = "disabled"; + pmu_acin_det_gpio = <&pio PH 14 GPIO_ACTIVE_LOW>; + det_usb_supply = <&usb_power_supply>; + }; + + bat_power_supply: bat-power-supply { + compatible = "x-powers,axp2202-bat-power-supply"; + param = <&axp2202_parameter>; + status = "disabled"; + + pmu_chg_ic_temp = <0>; + + pmu_battery_rdc= <147>; + pmu_battery_cap = <1771>; + pmu_runtime_chgcur = <1000>; + pmu_suspend_chgcur = <1500>; + pmu_shutdown_chgcur = <1500>; + pmu_init_chgvol = <4200>; + pmu_battery_warning_level1 = <15>; + pmu_battery_warning_level2 = <0>; + pmu_chgled_func = <0>; + pmu_chgled_type = <0>; + pmu_bat_para1 = <0>; + pmu_bat_para2 = <0>; + pmu_bat_para3 = <0>; + pmu_bat_para4 = <0>; + pmu_bat_para5 = <0>; + pmu_bat_para6 = <0>; + pmu_bat_para7 = <2>; + pmu_bat_para8 = <3>; + pmu_bat_para9 = <4>; + pmu_bat_para10 = <6>; + pmu_bat_para11 = <9>; + pmu_bat_para12 = <14>; + pmu_bat_para13 = <26>; + pmu_bat_para14 = <38>; + pmu_bat_para15 = <49>; + pmu_bat_para16 = <52>; + pmu_bat_para17 = <56>; + pmu_bat_para18 = <60>; + pmu_bat_para19 = <64>; + pmu_bat_para20 = <70>; + pmu_bat_para21 = <77>; + pmu_bat_para22 = <83>; + pmu_bat_para23 = <87>; + pmu_bat_para24 = <90>; + pmu_bat_para25 = <95>; + pmu_bat_para26 = <99>; + pmu_bat_para27 = <99>; + pmu_bat_para28 = <100>; + pmu_bat_para29 = <100>; + pmu_bat_para30 = <100>; + pmu_bat_para31 = <100>; + pmu_bat_para32 = <100>; + + pmu_bat_temp_enable = <1>; + pmu_jetia_en = <1>; + pmu_bat_charge_ltf = <1738>; //-5 + pmu_bat_charge_htf = <150>; //60 + pmu_bat_shutdown_ltf = <2125>; //-10 + pmu_bat_shutdown_htf = <130>; //65 + pmu_jetia_cool = <1390>; //0 + pmu_jetia_warm = <206>; //50 + pmu_jcool_ifall = <2>;//75% + pmu_jwarm_ifall = <2>;//75% + pmu_bat_temp_para1 = <4592>; //SDNT-25 + pmu_bat_temp_para2 = <2781>; //-15 + pmu_bat_temp_para3 = <2125>; //-10 + pmu_bat_temp_para4 = <1738>; //-5 + pmu_bat_temp_para5 = <1390>;//0 + pmu_bat_temp_para6 = <1118>; //5 + pmu_bat_temp_para7 = <906>; //10 + pmu_bat_temp_para8 = <606>; //20 + pmu_bat_temp_para9 = <415>; //30 + pmu_bat_temp_para10 = <290>; //40 + pmu_bat_temp_para11 = <244>; //45 + pmu_bat_temp_para12 = <206>; //50 + pmu_bat_temp_para13 = <175>; //55 + pmu_bat_temp_para14 = <150>; //60 + pmu_bat_temp_para15 = <110>; //70 + pmu_bat_temp_para16 = <83>; //80 + + wakeup_bat_out; + /* wakeup_bat_in; */ + /* wakeup_bat_charging; */ + /* wakeup_bat_charge_over; */ + /* wakeup_low_warning1; */ + /* wakeup_low_warning2; */ + /* wakeup_bat_untemp_work; */ + /* wakeup_bat_ovtemp_work; */ + /* wakeup_bat_untemp_chg; */ + /* wakeup_bat_ovtemp_chg; */ + }; + + powerkey0: powerkey@0 { + status = "okay"; + compatible = "x-powers,axp2101-pek"; + pmu_powkey_off_time = <6000>; + pmu_powkey_off_func = <0>; + pmu_powkey_off_en = <1>; + pmu_powkey_long_time = <1500>; + pmu_powkey_on_time = <512>; + wakeup_rising; + wakeup_falling; + }; + + regulator0: regulators@0 { + reg_dcdc1: dcdc1 { + regulator-name = "axp2202-dcdc1"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1540000>; + regulator-ramp-delay = <250>; + regulator-enable-ramp-delay = <1000>; + regulator-boot-on; + regulator-always-on; + }; + reg_dcdc2: dcdc2 { + regulator-name = "axp2202-dcdc2"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + regulator-ramp-delay = <250>; + regulator-enable-ramp-delay = <1000>; + regulator-boot-on; + regulator-always-on; + }; + reg_dcdc3: dcdc3 { + regulator-name = "axp2202-dcdc3"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1840000>; + regulator-ramp-delay = <250>; + regulator-enable-ramp-delay = <1000>; + regulator-always-on; + }; + reg_dcdc4: dcdc4 { + regulator-name = "axp2202-dcdc4"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <3700000>; + regulator-ramp-delay = <250>; + regulator-enable-ramp-delay = <1000>; + }; + reg_rtcldo: rtcldo { + /* RTC_LDO is a fixed, always-on regulator */ + regulator-name = "axp2202-rtcldo"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + reg_aldo1: aldo1 { + regulator-name = "axp2202-aldo1"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + }; + reg_aldo2: aldo2 { + regulator-name = "axp2202-aldo2"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + }; + reg_aldo3: aldo3 { + regulator-name = "axp2202-aldo3"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + regulator-always-on; + regulator-boot-on; + }; + reg_aldo4: aldo4 { + regulator-name = "axp2202-aldo4"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + regulator-always-on; + regulator-boot-on; + }; + reg_bldo1: bldo1 { + regulator-name = "axp2202-bldo1"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + regulator-always-on; + regulator-boot-on; + }; + reg_bldo2: bldo2 { + regulator-name = "axp2202-bldo2"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + regulator-boot-on; + regulator-always-on; + }; + reg_bldo3: bldo3 { + regulator-name = "axp2202-bldo3"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + }; + reg_bldo4: bldo4 { + regulator-name = "axp2202-bldo4"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + }; + reg_cldo1: cldo1 { + regulator-name = "axp2202-cldo1"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + }; + reg_cldo2: cldo2 { + regulator-name = "axp2202-cldo2"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + }; + reg_cldo3: cldo3 { + regulator-name = "axp2202-cldo3"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-ramp-delay = <2500>; + regulator-enable-ramp-delay = <1000>; + regulator-boot-on; + regulator-always-on; + }; + reg_cldo4: cldo4 { + regulator-name = "axp2202-cldo4"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + regulator-boot-on; + regulator-always-on; + }; + reg_cpusldo: cpusldo { + /* cpus */ + regulator-name = "axp2202-cpusldo"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1400000>; + regulator-boot-on; + regulator-always-on; + }; + reg_vmid: vmid { + regulator-name = "axp2202-vmid"; + regulator-enable-ramp-delay = <1000>; + }; + reg_drivevbus: drivevbus { + regulator-name = "axp2202-drivevbus"; + regulator-enable-ramp-delay = <1000>; + drivevbusin-supply = <®_vmid>; + }; + }; + + virtual-dcdc1 { + compatible = "xpower-vregulator,dcdc1"; + dcdc1-supply = <®_dcdc1>; + }; + virtual-dcdc2 { + compatible = "xpower-vregulator,dcdc2"; + dcdc2-supply = <®_dcdc2>; + }; + virtual-dcdc3 { + compatible = "xpower-vregulator,dcdc3"; + dcdc3-supply = <®_dcdc3>; + }; + virtual-dcdc4 { + compatible = "xpower-vregulator,dcdc4"; + dcdc4-supply = <®_dcdc4>; + }; + virtual-rtcldo { + compatible = "xpower-vregulator,rtcldo"; + rtcldo-supply = <®_rtcldo>; + }; + virtual-aldo1 { + compatible = "xpower-vregulator,aldo1"; + aldo1-supply = <®_aldo1>; + }; + virtual-aldo2 { + compatible = "xpower-vregulator,aldo2"; + aldo2-supply = <®_aldo2>; + }; + virtual-aldo3 { + compatible = "xpower-vregulator,aldo3"; + aldo3-supply = <®_aldo3>; + }; + virtual-aldo4 { + compatible = "xpower-vregulator,aldo4"; + aldo4-supply = <®_aldo4>; + }; + virtual-bldo1 { + compatible = "xpower-vregulator,bldo1"; + bldo1-supply = <®_bldo1>; + }; + virtual-bldo2 { + compatible = "xpower-vregulator,bldo2"; + bldo2-supply = <®_bldo2>; + }; + virtual-bldo3 { + compatible = "xpower-vregulator,bldo3"; + bldo3-supply = <®_bldo3>; + }; + virtual-bldo4 { + compatible = "xpower-vregulator,bldo4"; + bldo4-supply = <®_bldo4>; + }; + virtual-cldo1 { + compatible = "xpower-vregulator,cldo1"; + cldo1-supply = <®_cldo1>; + }; + virtual-cldo2 { + compatible = "xpower-vregulator,cldo2"; + cldo2-supply = <®_cldo2>; + }; + virtual-cldo3 { + compatible = "xpower-vregulator,cldo3"; + cldo3-supply = <®_cldo3>; + }; + virtual-cldo4 { + compatible = "xpower-vregulator,cldo4"; + cldo4-supply = <®_cldo4>; + }; + virtual-cpusldo { + compatible = "xpower-vregulator,cpusldo"; + cpusldo-supply = <®_cpusldo>; + }; + virtual-drivevbus { + compatible = "xpower-vregulator,drivevbus"; + drivevbus-supply = <®_drivevbus>; + }; + axp_gpio0: axp_gpio@0 { + gpio-controller; + #size-cells = <0>; + #gpio-cells = <6>; + status = "okay"; + }; + }; +}; + +/{ + axp2202_parameter:axp2202-parameter { + select = "battery-model"; + + battery-model { + parameter = /bits/ 8 <0x01 0xf5 0x40 0x00 0x1b 0x1e 0x28 0x0f + 0x0c 0x1e 0x32 0x02 0x14 0x05 0x0a 0x04 + 0x74 0xfb 0xc8 0x0d 0x43 0x10 0x36 0xfb + 0x46 0x01 0xea 0x0d 0x2a 0x06 0x36 0x05 + 0xf4 0x0a 0xb5 0x0f 0x42 0x0e 0xe6 0x09 + 0x9a 0x0e 0x42 0x0e 0x3b 0x04 0x2d 0x04 + 0x23 0x09 0x18 0x0e 0x09 0x0e 0x04 0x08 + 0xf7 0x0d 0xda 0x0d 0xd0 0x03 0xbb 0x03 + 0x9d 0x08 0x7f 0x0d 0x6a 0x0d 0x55 0x07 + 0xc2 0x57 0x2b 0x27 0x1e 0x0d 0x14 0x08 + 0xc5 0x98 0x7e 0x66 0x4e 0x44 0x38 0x1a + 0x12 0x0a 0xf6 0x00 0x00 0xf6 0x00 0xf6 + 0x00 0xfb 0x00 0x00 0xfb 0x00 0x00 0xfb + 0x00 0x00 0xf6 0x00 0x00 0xf6 0x00 0xf6 + 0x00 0xfb 0x00 0x00 0xfb 0x00 0x00 0xfb + 0x00 0x00 0xf6 0x00 0x00 0xf6 0x00 0xf6>; + }; + }; +}; + +&twi7 { + clock-frequency = <400000>; + pinctrl-0 = <&s_twi1_pins_default>; + pinctrl-1 = <&s_twi1_pins_sleep>; + pinctrl-names = "default", "sleep"; + /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */ + twi_drv_used = <1>; + twi-supply = <®_aldo3>; + status = "okay"; +}; + +&twi8 { + clock-frequency = <400000>; + pinctrl-0 = <&s_twi2_pins_default>; + pinctrl-1 = <&s_twi2_pins_sleep>; + pinctrl-names = "default", "sleep"; + /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */ + twi_drv_used = <1>; + twi-supply = <®_aldo3>; + status = "okay"; +}; + +&sdc2 { + non-removable; + bus-width = <8>; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + mmc-hs400-1_8v; + no-sdio; + no-sd; + ctl-spec-caps = <0x308>; + cap-mmc-highspeed; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + mmc-bootpart-noacc; + /*cap-hsq;*/ + cqe-on; + ctl-cmdq-md = <0x2>; + max-frequency = <150000000>; + cd-gpios = <&pio PC 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + /*broken-cd;*/ + vmmc-supply = <®_cldo3>; + /*emmc io vol 3.3v*/ + /*vqmmc-supply = <®_aldo1>;*/ + /*emmc io vol 1.8v*/ + vqmmc-supply = <®_cldo1>; + status = "okay"; +}; + +&sdc0 { + bus-width = <4>; + cd-gpios = <&pio PF 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + non-removable; + /*broken-cd;*/ + /*cd-inverted*/ + /*data3-detect;*/ + /*card-pwr-gpios = <&pio PH 14 1 1 2 0xffffffff>;*/ + cd-used-24M; + cd-set-debounce = <0x1>; + cap-sd-highspeed; + sd-uhs-sdr50; + sd-uhs-ddr50; + sd-uhs-sdr104; + no-sdio; + no-mmc; + sunxi-power-save-mode; + /*sunxi-dis-signal-vol-sw;*/ + max-frequency = <150000000>; + ctl-spec-caps = <0x408>; + sunxi-dly-208M = <0xff 1 0xff 0xff 0xff 0xff>; + vmmc-supply = <®_cldo3>; + vqmmc33sw-supply = <®_cldo3>; + vdmmc33sw-supply = <®_cldo3>; + vqmmc18sw-supply = <®_bldo3>; + vdmmc18sw-supply = <®_bldo3>; + status = "okay"; +}; + +&sdc1 { + bus-width = <4>; + no-mmc; + no-sd; + cap-sd-highspeed; + /*sd-uhs-sdr12*/ + sd-uhs-sdr25; + sd-uhs-sdr50; + sd-uhs-ddr50; + sd-uhs-sdr104; + /*sunxi-power-save-mode;*/ + sunxi-dis-signal-vol-sw; + cap-sdio-irq; + keep-power-in-suspend; + ignore-pm-notify; + max-frequency = <150000000>; + ctl-spec-caps = <0x408>; + status = "okay"; +}; + +&rfkill { + compatible = "allwinner,sunxi-rfkill"; + chip_en; + power_en; + pinctrl-0; + pinctrl-names; + status = "okay"; + + /* wlan session */ + wlan { + compatible = "allwinner,sunxi-wlan"; + clocks; + clock-names; + wlan_power = "axp2202-aldo3", "axp2202-bldo1"; /* vcc-pl/vcc-pg/vcc-pm */ + wlan_power_vol= <3300000>, <1800000>; + wlan_busnum = <0x1>; + wlan_regon = <&r_pio PM 1 GPIO_ACTIVE_HIGH>; + wlan_hostwake = <&r_pio PM 0 GPIO_ACTIVE_HIGH>; + wakeup-source; + }; + + /* bt session */ + bt { + compatible = "allwinner,sunxi-bt"; + clocks; + clock-names; + bt_power = "axp2202-aldo3", "axp2202-bldo1"; /* vcc-pl/vcc-pg/vcc-pm */ + bt_power_vol = <3300000>, <1800000>; + bt_rst_n = <&r_pio PM 2 GPIO_ACTIVE_LOW>; + }; +}; + +&addr_mgt { + compatible = "allwinner,sunxi-addr_mgt"; + type_addr_wifi = <0x0>; + type_addr_bt = <0x0>; + type_addr_eth = <0x0>; + status = "okay"; +}; + +&btlpm { + compatible = "allwinner,sunxi-btlpm"; + uart_index = <0x1>; + bt_wake = <&r_pio PM 3 GPIO_ACTIVE_HIGH>; + bt_hostwake = <&r_pio PM 4 GPIO_ACTIVE_HIGH>; + wakeup-source; + status = "okay"; +}; + +/* + *usb_port_type: usb mode. 0-device, 1-host, 2-otg. + *usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect. + *usb_detect_mode: 0-thread scan, 1-id gpio interrupt. + *usb_id_gpio: gpio for id detect. + *usb_det_vbus_gpio: gpio for id detect. gpio or "axp_ctrl"; + *usb_wakeup_suspend:0-SUPER_STANDBY, 1-USB_STANDBY. + */ +&usbc0 { + device_type = "usbc0"; + usb_port_type = <0x2>; + usb_detect_type = <0x2>; + usb_detect_mode = <0x0>; + usb_id_gpio; + usb_det_vbus_gpio = "axp_ctrl"; + det_vbus_supply = <&usb_power_supply>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <1>; + usb_luns = <3>; + usb_serial_unique = <0>; + usb_serial_number = "20080411"; + rndis_wceis = <1>; + wakeup-source; + status = "okay"; +}; + +&udc { + det_vbus_supply = <&usb_power_supply>; + phy_range = <0x153>; + status = "okay"; +}; + +&ehci0 { + drvvbus-supply = <®_usb0_vbus>; + phy_range = <0x153>; + status = "okay"; +}; + +&ohci0 { + drvvbus-supply = <®_usb0_vbus>; + phy_range = <0x153>; + status = "okay"; +}; + +&usbc1 { + device_type = "usbc1"; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0>; + status = "okay"; +}; + +&ehci1 { + drvvbus-supply = <®_usb1_vbus>; + phy_range = <0x153>; + status = "okay"; +}; + +&ohci1 { + drvvbus-supply = <®_usb1_vbus>; + phy_range = <0x153>; + status = "okay"; +}; + +/* + * clk-freq-24M : use Internal 24M reference clock + * clk-freq-100M: use Internal 100M reference clock + * + * Pick one of two. + */ + +&combophy { + clk-freq-100M; + phy_use_sel = <0>; /* 0:PCIE; 1:USB3 */ + status = "okay"; +}; + +&pcie { + reset-gpios = <&pio PH 11 GPIO_ACTIVE_HIGH>; + wake-gpios = <&pio PH 12 GPIO_ACTIVE_HIGH>; + pcie3v3-supply = <®_bldo1>; + clk-freq-100M; + status = "okay"; +}; + +&gpu { + gpu_idle = <1>; + dvfs_status = <1>; + mali-supply = <®_dcdc2>; +}; + +/*---------------------------------------------------------------------------------- +disp init configuration + +disp_mode (0:screen0) +screenx_output_type (0:none; 1:lcd; 2:tv; 3:hdmi;5:vdpo) +screenx_output_mode (used for hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50) + (5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60) +screenx_output_format (for hdmi, 0:RGB 1:yuv444 2:yuv422 3:yuv420) +screenx_output_bits (for hdmi, 0:8bit 1:10bit 2:12bit 2:16bit) +screenx_output_eotf (for hdmi, 0:reserve 4:SDR 16:HDR10 18:HLG) +screenx_output_cs (for hdmi, 0:undefined 257:BT709 260:BT601 263:BT2020) +screenx_output_dvi_hdmi (for hdmi, 0:undefined 1:dvi mode 2:hdmi mode) +screen0_output_range (for hdmi, 0:default 1:full 2:limited) +screen0_output_scan (for hdmi, 0:no data 1:overscan 2:underscan) +screen0_output_aspect_ratio (for hdmi, 8-same as original picture 9-4:3 10-16:9 11-14:9) +fbx format (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444) +fbx pixel sequence (0:ARGB 1:BGRA 2:ABGR 3:RGBA) +fb0_scaler_mode_enable(scaler mode enable, used FE) +fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0) +lcdx_backlight (lcd init backlight,the range:[0,256],default:197 +lcdx_yy (lcd init screen bright/contrast/saturation/hue, value:0~100, default:50/50/57/50) +lcd0_contrast (LCD contrast, 0~100) +lcd0_saturation (LCD saturation, 0~100) +lcd0_hue (LCD hue, 0~100) +framebuffer software rotation setting: +disp_rotation_used: (0:disable; 1:enable,you must set fbX_width to lcd_y, +set fbX_height to lcd_x) +degreeX: (X:screen index; 0:0 degree; 1:90 degree; 3:270 degree) +degreeX_Y: (X:screen index; Y:layer index 0~15; 0:0 degree; 1:90 degree; 3:270 degree) +devX_output_type : config output type in bootGUI framework in UBOOT-2018. + (0:none; 1:lcd; 2:tv; 4:hdmi;) +devX_output_mode : config output resolution(see include/video/sunxi_display2.h) of bootGUI framework in UBOOT-2018 +devX_screen_id : config display index of bootGUI framework in UBOOT-2018 +devX_do_hpd : whether do hpd detectation or not in UBOOT-2018 +chn_cfg_mode : Hardware DE channel allocation config. 0:single display with 6 + channel, 1:dual display with 4 channel in main display and 2 channel in second + display, 2:dual display with 3 channel in main display and 3 channel in second + in display. +----------------------------------------------------------------------------------*/ +&disp { + disp_init_enable = <1>; + disp_mode = <0>; + + screen0_output_type = <1>; + screen0_output_mode = <4>; + screen0_to_lcd_index = <0>; + + screen1_output_type = <3>; + screen1_output_mode = <5>; + screen1_to_lcd_index = <2>; + + screen1_output_format = <0>; + screen1_output_bits = <0>; + screen1_output_eotf = <4>; + screen1_output_cs = <257>; + screen1_output_dvi_hdmi = <2>; + screen1_output_range = <2>; + screen1_output_scan = <0>; + screen1_output_aspect_ratio = <8>; + + dev0_output_type = <1>; + dev0_output_mode = <4>; + dev0_screen_id = <0>; + dev0_do_hpd = <0>; + + dev1_output_type = <4>; + dev1_output_mode = <10>; + dev1_screen_id = <1>; + dev1_do_hpd = <1>; + + def_output_dev = <0>; + hdmi_mode_check = <1>; + + display_device_num = <3>; + + primary_display_type = "LCD"; + primary_de_id = <0>; + primary_framebuffer_width = <1280>; + primary_framebuffer_height = <800>; + primary_dpix = <213>; + primary_dpiy = <213>; + + extend0_display_type = "HDMI"; + extend0_de_id = <1>; + extend0_framebuffer_width = <1920>; + extend0_framebuffer_height = <1080>; + extend0_dpix = <160>; + extend0_dpiy = <160>; + + extend1_display_type = "DP"; + extend1_de_id = <1>; + extend1_framebuffer_width = <1920>; + extend1_framebuffer_height = <1080>; + extend1_dpix = <160>; + extend1_dpiy = <160>; + + fb_format = <0>; + fb_num = <2>; + /**/ + fb0_map = <0 1 0 16>; + fb0_width = <1280>; + fb0_height = <800>; + /**/ + fb1_map = <1 1 0 16>; + fb1_width = <1920>; + fb1_height = <1080>; + /**/ + fb2_map = <1 0 0 16>; + fb2_width = <1280>; + fb2_height = <720>; + /**/ + fb3_map = <1 1 0 16>; + fb3_width = <300>; + fb3_height = <300>; + + chn_cfg_mode = <3>; + disp_para_zone = <1>; + + /* dual display clock constraints: + 1. two tcons cannot share a parent clock. + 2. when dsi uses ccu clock, combphy and corresponding tcon use the + same parent clock. + */ + assigned-clocks = <&ccu CLK_DE>, + <&ccu CLK_VO0_TCONLCD0>, + <&ccu CLK_VO0_TCONLCD1>, + <&ccu CLK_VO1_TCONLCD0>, + <&ccu CLK_TCONTV>, + <&ccu CLK_TCONTV1>, + <&ccu CLK_COMBPHY0>, + <&ccu CLK_COMBPHY1>, + <&ccu CLK_DSI0>, + <&ccu CLK_DSI1>, + <&ccu CLK_EDP>; + assigned-clock-parents = <&ccu CLK_PLL_VIDEO3_4X>, + <&ccu CLK_PLL_VIDEO0_4X>, + <&ccu CLK_PLL_VIDEO1_4X>, + <&ccu CLK_PLL_VIDEO1_4X>, + <&ccu CLK_PLL_VIDEO1_4X>, + <&ccu CLK_PLL_VIDEO1_4X>, + <&ccu CLK_PLL_VIDEO0_4X>, + <&ccu CLK_PLL_VIDEO1_4X>, + <&ccu CLK_PLL_PERI0_150M>, + <&ccu CLK_PLL_PERI0_150M>, + <&ccu CLK_PLL_VIDEO1_4X>; + assigned-clock-rates = <600000000>; + + cldo3-supply = <®_cldo3>; + dcdc4-supply = <®_dcdc4>; + cldo1-supply = <®_cldo1>; + + pwms = <&pwm0 4 5000000 0>, <&pwm0 5 5000000 0>; + pwm-names = "lvds0_backlight", "lvds2_backlight"; + + power-domains = <&pd1 A523_PCK_DE>, <&pd1 A523_PCK_VO0>, <&pd1 A523_PCK_VO1>; + power-domain-names = "pd_de", "pd_vo0", "pd_vo1"; + + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm0_0_pin_active>; + pinctrl-1 = <&pwm0_0_pin_sleep>; +}; + +&lcd0 { + lcd_used = <1>; + + lcd_driver_name = "bp101wx1"; + lcd_backlight = <50>; + lcd_if = <3>; + + lcd_x = <1280>; + lcd_y = <800>; + lcd_width = <150>; + lcd_height = <94>; + lcd_dclk_freq = <75>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <4>; + lcd_pwm_freq = <50000>; + lcd_pwm_pol = <0>; + lcd_pwm_max_limit = <255>; + lcd_pwm_name = "lvds0_backlight"; + + lcd_hbp = <88>; + lcd_ht = <1451>; + lcd_hspw = <18>; + lcd_vbp = <23>; + lcd_vt = <860>; + lcd_vspw = <10>; + + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <0>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_hv_clk_phase = <0>; + lcd_hv_sync_polarity= <0>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_en = <0>; + lcd_fsync_act_time = <1000>; + lcd_fsync_dis_time = <1000>; + lcd_fsync_pol = <0>; + lcd_start_delay = <5>; + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + lcd_pin_power = "cldo3"; + lcd_power = "dcdc4"; + lcd_power1 = "cldo1"; + lcd_gpio_0 = <&pio PI 2 GPIO_ACTIVE_HIGH>; //reset + lcd_bl_en = <&pio PI 2 GPIO_ACTIVE_HIGH>; + + pinctrl-0 = <&lvds0_pins_a>; + pinctrl-1 = <&lvds0_pins_b>; + lvds0_pinctrl-0 = <&lvds0_pins_a>; + lvds0_pinctrl-1 = <&lvds0_pins_b>; + lvds1_pinctrl-0 = <&lvds1_pins_a>; + lvds1_pinctrl-1 = <&lvds1_pins_b>; + dsi0_pinctrl-0 = <&dsi0_4lane_pins_a>; + dsi0_pinctrl-1 = <&dsi0_4lane_pins_b>; + dual_dsi_pinctrl-0 = <&dsi0_4lane_pins_a>, <&dsi1_4lane_pins_a>; + dual_dsi_pinctrl-1 = <&dsi0_4lane_pins_b>, <&dsi1_4lane_pins_b>; + dual_lvds0_pinctrl-0 = <&lvds0_pins_a>, <&lvds1_pins_a>; + dual_lvds0_pinctrl-1 = <&lvds0_pins_b>, <&lvds1_pins_b>; +}; + +&lcd1 { + lcd_used = <1>; + status = "okay"; + lcd_driver_name = "SQ101D_Q5DI404_84H501"; + lcd_backlight = <200>; + lcd_if = <4>; + + lcd_x = <1200>; + lcd_y = <1920>; + lcd_width = <136>; + lcd_height = <217>; + lcd_dclk_freq = <157>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <0>; + lcd_pwm_freq = <50000>; + lcd_pwm_pol = <0>; + lcd_pwm_max_limit = <255>; + + lcd_hbp = <50>; + lcd_ht = <1330>; + lcd_hspw = <10>; + lcd_vbp = <20>; + lcd_vt = <1960>; + lcd_vspw = <4>; + + lcd_frm = <0>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_start_delay = <5>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + lcd_dsi_if = <0>; + lcd_dsi_lane = <4>; + lcd_dsi_format = <0>; + lcd_dsi_te = <0>; + lcd_dsi_eotp = <0>; + + lcd_power1 = "cldo4"; + lcd_power2 = "cldo1"; + + // lcd_gpio_2 = <&pio PD 22 GPIO_ACTIVE_HIGH>; //reset + + pinctrl-0 = <&dsi1_4lane_pins_a>; + pinctrl-1 = <&dsi1_4lane_pins_b>; + + // lcd_bl_en = <&pio PH 16 GPIO_ACTIVE_HIGH>; + lcd_bl_0_percent = <5>; +}; + +&lcd2 { + lcd_used = <0>; + + lcd_driver_name = "bp101wx1"; + lcd_backlight = <50>; + lcd_if = <3>; + + lcd_x = <1280>; + lcd_y = <800>; + lcd_width = <150>; + lcd_height = <94>; + lcd_dclk_freq = <75>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <5>; + lcd_pwm_freq = <50000>; + lcd_pwm_pol = <0>; + lcd_pwm_max_limit = <255>; + lcd_pwm_name = "lvds2_backlight"; + + lcd_hbp = <88>; + lcd_ht = <1451>; + lcd_hspw = <18>; + lcd_vbp = <23>; + lcd_vt = <860>; + lcd_vspw = <10>; + + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <0>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_hv_clk_phase = <0>; + lcd_hv_sync_polarity= <0>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_en = <0>; + lcd_fsync_pol = <0>; + lcd_start_delay = <5>; + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + lcd_pin_power = "cldo3"; + lcd_power = "dcdc4"; + /* lvds_power & other interface power */ + lcd_bl_en = <&pio PI 5 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&lvds2_pins_a>; + pinctrl-1 = <&lvds2_pins_b>; + lvds2_pinctrl-0 = <&lvds2_pins_a>; + lvds2_pinctrl-1 = <&lvds2_pins_b>; + lvds3_pinctrl-0 = <&lvds3_pins_a>; + lvds3_pinctrl-1 = <&lvds3_pins_b>; + dual_lvds1_pinctrl-0 = <&lvds2_pins_a>, <&lvds3_pins_a>; + dual_lvds1_pinctrl-1 = <&lvds2_pins_b>, <&lvds3_pins_b>; +}; + +&edp0 { + // use if hardware reset pin is need + /* edp_hw_reset_pin = <&pio PH XX GPIO_ACTIVE_LOW>; */ + + edp_ssc_en = <0>; + edp_ssc_mode = <0>; + edp_psr_support = <0>; + edp_colordepth = <8>; /* 6/8/10/12/16 */ + edp_color_fmt = <0>; /* 0:RGB 1: YUV444 2: YUV422 */ + + lane0_sw = <0>; + lane0_pre = <0>; + lane1_sw = <0>; + lane1_pre = <0>; + lane2_sw = <0>; + lane2_pre = <0>; + lane3_sw = <0>; + lane3_pre = <0>; + efficient_training = <0>; + + sink_capacity_prefer = <1>; + edid_timings_prefer = <1>; + timings_fixed = <1>; + + edp_panel_used = <1>; + edp_panel_driver = "general_panel"; + edp_bl_en = <&pio PI 5 GPIO_ACTIVE_HIGH>; + edp_pwm_used = <1>; + edp_pwm_ch = <5>; + edp_pwm_freq = <50000>; + edp_pwm_pol = <0>; + edp_default_backlight = <200>; + edp_panel_power_0 = "edp-panel"; + + vcc-edp-supply = <®_bldo3>; + vdd-edp-supply = <®_dcdc2>; + edp-panel-supply = <®_dcdc4>; + status = "disabled"; + +}; + +&ve { + ve-supply = <®_dcdc2>; + + enable_setup_ve_freq = <0>; /* default disable */ + ve_freq_value = <624>; /* setup to 624MHz */ +}; + +/* audio dirver module -> audio codec */ +&codec { + tx-hub-en; + rx-sync-en; + + dac-vol = <63>; /* default value:63 range:0->63 */ + dacl-vol = <160>; /* default value:160 range:0->255 */ + dacr-vol = <160>; /* default value:160 range:0->255 */ + adc1-vol = <160>; /* default value:160 range:0->255 */ + adc2-vol = <160>; /* default value:160 range:0->255 */ + adc3-vol = <160>; /* default value:160 range:0->255 */ + lineout-gain = <31>; /* default value:31 range:0->31 */ + hpout-gain = <7>; /* default value:7 range:0->7 */ + adc1-gain = <31>; /* default value:31 range:0->31 */ + adc2-gain = <31>; /* default value:31 range:0->31 */ + adc3-gain = <31>; /* default value:31 range:0->31 */ + + /* to do: avcc-1.8 vdd33-3.3 cpvin-1.8 */ + avcc-external; + avcc-supply = <®_aldo4>; + avcc-vol = <1800000>; + vdd-external; + vdd-supply = <®_cldo3>; + vdd-vol = <3300000>; + cpvin-external; + cpvin-supply = <®_bldo3>; + cpvin-vol = <1800000>; + + pa-pin-max = <1>; + pa-pin-0 = <&r_pio PL 7 GPIO_ACTIVE_HIGH>; + pa-pin-level-0 = <1>; + pa-pin-msleep-0 = <0>; + + jack-det-level = <0>; + jack-det-threshold = <8>; + jack-det-debouce-time = <250>; + + /* extcon = <&usb_power_supply>; + * jack-swpin-mic-sel = <&pio PH 8 GPIO_ACTIVE_HIGH>; + * jack-swpin-hp-en = <&pio PH 15 GPIO_ACTIVE_HIGH>; + * jack-swpin-hp-sel = <&pio PH 11 GPIO_ACTIVE_HIGH>; + * jack-swmode-hp-off = <0x00>; + * jack-swmode-hp-usb = <0x11>; + * jack-swmode-hp-audio = <0x10>; + * jack-det-level = <1>; + * jack-det-threshold = <8>; + * jack-det-debouce-time = <250>; + */ + + status = "okay"; +}; + +&codec_plat { + status = "okay"; +}; + +&codec_mach { + soundcard-mach,jack-support = <1>; + status = "okay"; + soundcard-mach,cpu { + sound-dai = <&codec_plat>; + }; + soundcard-mach,codec { + sound-dai = <&codec>; + }; +}; + +&hdmi_codec { + extcon = <&hdmi>; + status = "okay"; +}; + +&edp_codec { + status = "disabled"; +}; + +/* audio dirver module -> owa */ +&owa_plat { + pinctrl-used; + pinctrl-names = "default","sleep"; + pinctrl-0 = <&owa_pins_a>; + pinctrl-1 = <&owa_pins_b>; + tx-hub-en; + status = "disabled"; +}; + +&owa_mach { + status = "disabled"; + soundcard-mach,cpu { + sound-dai = <&owa_plat>; + }; + soundcard-mach,codec { + }; +}; + +/* audio dirver module -> DMIC */ +&dmic_plat { + rx-chmap = <0x76543210>; + data-vol = <0xB0>; + rxdelaytime = <0>; + /* pinctrl-used; */ + /* pinctrl-names = "default","sleep"; */ + /* pinctrl-0 = <&dmic_pins_a>; */ + /* pinctrl-1 = <&dmic_pins_b>; */ + rx-sync-en; + status = "disabled"; +}; + +&dmic_mach { + status = "disabled"; + soundcard-mach,cpu { + sound-dai = <&dmic_plat>; + }; + soundcard-mach,codec { + }; +}; + +/* audio dirver module -> I2S/PCM */ +&i2s0_plat { + tdm-num = <0>; + tx-pin = <0>; + rx-pin = <0>; + pinctrl-used; + pinctrl-names = "default","sleep"; + pinctrl-0 = <&i2s0_pins_a &i2s0_pins_c &i2s0_pins_d>; + pinctrl-1 = <&i2s0_pins_b>; + tx-hub-en; + rx-sync-en; + status = "disabled"; +}; + +&i2s0_mach { + soundcard-mach,format = "i2s"; + soundcard-mach,frame-master = <&i2s0_cpu>; + soundcard-mach,bitclock-master = <&i2s0_cpu>; + /* soundcard-mach,frame-inversion; */ + /* soundcard-mach,bitclock-inversion; */ + soundcard-mach,slot-num = <2>; + soundcard-mach,slot-width = <32>; + soundcard-mach,capture-only; + status = "disabled"; + i2s0_cpu: soundcard-mach,cpu { + sound-dai = <&i2s0_plat>; + /* note: pll freq = 24.576M or 22.5792M * pll-fs */ + soundcard-mach,pll-fs = <1>; + /* note: + * mclk freq = mclk-fs * 12.288M or 11.2896M (when mclk-fp ture) + * mclk freq = mclk-fs * pcm rate (when mclk-fp false) + */ + soundcard-mach,mclk-fp; + soundcard-mach,mclk-fs = <1>; + }; + i2s0_codec: soundcard-mach,codec { + }; +}; + +&i2s1_plat { + tdm-num = <1>; + tx-pin = <0>; + rx-pin = <0>; + /* pinctrl-used; */ + /* pinctrl-names= "default","sleep"; */ + /* pinctrl-0 = <&i2s1_pins_a &i2s1_pins_c &i2s1_pins_d>; */ + /* pinctrl-1 = <&i2s1_pins_b>; */ + tx-hub-en; + rx-sync-en; + status = "disabled"; +}; + +&i2s1_mach { + soundcard-mach,format = "i2s"; + soundcard-mach,frame-master = <&i2s1_cpu>; + soundcard-mach,bitclock-master = <&i2s1_cpu>; + /* soundcard-mach,frame-inversion; */ + /* soundcard-mach,bitclock-inversion; */ + soundcard-mach,slot-num = <2>; + soundcard-mach,slot-width = <32>; + status = "disabled"; + i2s1_cpu: soundcard-mach,cpu { + sound-dai = <&i2s1_plat>; + soundcard-mach,pll-fs = <1>; + soundcard-mach,mclk-fs = <0>; + }; + i2s1_codec: soundcard-mach,codec { + }; +}; + +&i2s2_plat { + tdm-num = <2>; + tx-pin = <0 1 2 3>; + /* e.g. + * tx-pin0-map0 = <0xFEDC3210> -> tx_pin_map[0][0] (Dout0-slot[7:0] map channel[15:12, 3:0]) + * tx-pin0-map1 = <0x3210FEDC> -> tx_pin_map[0][1] (Dout0-slot[15:8] map channel[3:0, 15:12]) + * tx-pin1-map0 = <0x76543210> -> tx_pin_map[1][0] (Dout1-slot[7:0] map channel[7:0]) + */ + tx-pin0-map0 = <0x76543210>; + tx-pin0-map1 = <0xFEDCBA98>; + tx-pin1-map0 = <0x76543210>; + tx-pin1-map1 = <0xFEDCBA98>; + tx-pin2-map0 = <0x76543210>; + tx-pin2-map1 = <0xFEDCBA98>; + tx-pin3-map0 = <0x76543210>; + tx-pin3-map1 = <0xFEDCBA98>; + rx-pin = <0>; + /* pinctrl-used; */ + /* pinctrl-names= "default","sleep"; */ + /* pinctrl-0 = <&i2s2_pins_a &i2s2_pins_c &i2s2_pins_d &i2s2_pins_e>; */ + /* pinctrl-1 = <&i2s2_pins_b>; */ + tx-hub-en; + rx-sync-en; + /* edp not need dai-type */ + dai-type = "hdmi"; + status = "okay"; +}; + +&i2s2_mach { + soundcard-mach,format = "i2s"; + soundcard-mach,frame-master = <&i2s2_cpu>; + soundcard-mach,bitclock-master = <&i2s2_cpu>; + /* soundcard-mach,frame-inversion; */ + /* soundcard-mach,bitclock-inversion; */ + soundcard-mach,slot-num = <2>; + soundcard-mach,slot-width = <32>; + soundcard-mach,playback-only; + status = "okay"; + i2s2_cpu: soundcard-mach,cpu { + sound-dai = <&i2s2_plat>; + soundcard-mach,pll-fs = <1>; + /* edp mclk: 512fs */ + soundcard-mach,mclk-fs = <0>; + }; + i2s2_codec: soundcard-mach,codec { + sound-dai = <&hdmi_codec>; + }; +}; + +&i2s3_plat { + tdm-num = <3>; + tx-pin = <0>; + rx-pin = <0>; + /* pinctrl-used; */ + /* pinctrl-names= "default","sleep"; */ + /* pinctrl-0 = <&i2s3_pins_a &i2s3_pins_c &i2s3_pins_d>; */ + /* pinctrl-1 = <&i2s3_pins_b>; */ + tx-hub-en; + rx-sync-en; + status = "disabled"; +}; + +&i2s3_mach { + soundcard-mach,format = "i2s"; + soundcard-mach,frame-master = <&i2s3_cpu>; + soundcard-mach,bitclock-master = <&i2s3_cpu>; + /* soundcard-mach,frame-inversion; */ + /* soundcard-mach,bitclock-inversion; */ + soundcard-mach,slot-num = <2>; + soundcard-mach,slot-width = <32>; + status = "disabled"; + i2s3_cpu: soundcard-mach,cpu { + sound-dai = <&i2s3_plat>; + soundcard-mach,pll-fs = <1>; + soundcard-mach,mclk-fs = <0>; + }; + i2s3_codec: soundcard-mach,codec { + }; +}; + +&hdmi { + hdmi_used = <1>; + bldo3-supply = <®_bldo3>; + hdmi_power0 = "bldo3"; + hdmi_power_cnt = <1>; + hdmi_hdcp_enable = <1>; + hdmi_hdcp22_enable = <0>; + hdmi_cts_compatibility = <0>; + hdmi_cec_support = <1>; + hdmi_cec_super_standby = <1>; + hdmi_skip_bootedid = <1>; + + ddc_en_io_ctrl = <0>; + power_io_ctrl = <0>; + + status = "okay"; +}; + +&cpu0 { + cpu-supply = <®_dcdc1>; +}; + +&dsufreq { + dsu-supply = <®_dcdc1>; +}; + +&mdio0 { + status = "okay"; + gmac0_phy0: ethernet-phy@1 { + reset-gpios = <&pio PH 8 GPIO_ACTIVE_LOW>; + }; +}; + +&gmac0 { + phy-mode = "rgmii"; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&gmac0_pins_default>; + pinctrl-1 = <&gmac0_pins_sleep>; + sunxi,phy-clk-type = <0>; + tx-delay = <3>; + rx-delay = <4>; + + gmac3v3-supply = <®_cldo4>; + status = "okay"; +}; + + +&gmac1 { + phy-mode = "rgmii"; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&gmac1_pins_default>; + pinctrl-1 = <&gmac1_pins_sleep>; + aw,soc-phy25m; + tx-delay = <3>; + rx-delay = <4>; + dwmac3v3-supply = <®_cldo4>; + status = "okay"; + mdio1: mdio1@1 { + gmac1_phy0: ethernet-phy@1 { + reset-gpios = <&pio PJ 16 GPIO_ACTIVE_LOW>; + }; + }; + +}; + +&npu { + npu-supply = <®_ext_axp1530_dcdc3>; + status = "okay"; +}; + +&dram { + dram_para00 = <0x00000000>; + dram_para01 = <0x00000000>; + dram_para02 = <0x00000000>; + dram_para03 = <0x00000000>; + dram_para04 = <0x00000000>; + dram_para05 = <0x00000000>; + dram_para06 = <0x00000000>; + dram_para07 = <0x00000000>; + dram_para08 = <0x00000000>; + dram_para09 = <0x00000000>; + dram_para10 = <0x00000000>; + dram_para11 = <0x00000000>; + dram_para12 = <0x00000000>; + dram_para13 = <0x00000000>; + dram_para14 = <0x00000000>; + dram_para15 = <0x00000000>; + dram_para16 = <0x00000000>; + dram_para17 = <0x00000000>; + dram_para18 = <0x00000000>; + dram_para19 = <0x00000000>; + dram_para20 = <0x00000000>; + dram_para21 = <0x00000000>; + dram_para22 = <0x00000000>; + dram_para23 = <0x00000000>; + dram_para24 = <0x00000000>; + dram_para25 = <0x00000000>; + dram_para26 = <0x00000000>; + dram_para27 = <0x00000000>; + dram_para28 = <0x00000000>; + dram_para29 = <0x00000000>; + dram_para30 = <0x00000000>; + dram_para31 = <0x00000000>; + dram_para32 = <0x00000000>; + dram_para33 = <0x00000000>; + dram_para34 = <0x00000000>; + dram_para35 = <0x00000000>; + dram_para36 = <0x00000000>; + dram_para37 = <0x00000000>; + dram_para38 = <0x00000000>; + dram_para39 = <0x00000000>; + dram_para40 = <0x00000000>; + dram_para41 = <0x00000000>; + dram_para42 = <0x00000000>; + dram_para43 = <0x00000000>; + dram_para44 = <0x00000000>; + dram_para45 = <0x00000000>; + dram_para46 = <0x00000000>; + dram_para47 = <0x00000000>; + dram_para48 = <0x00000000>; + dram_para49 = <0x00000000>; + dram_para50 = <0x00000000>; + dram_para51 = <0x00000000>; + dram_para52 = <0x00000000>; + dram_para53 = <0x00000000>; + dram_para54 = <0x00000000>; + dram_para55 = <0x00000000>; + dram_para56 = <0x00000000>; + dram_para57 = <0x00000000>; + dram_para58 = <0x00000000>; + dram_para59 = <0x00000000>; + dram_para60 = <0x00000000>; + dram_para61 = <0x00000000>; + dram_para62 = <0x00000000>; + dram_para63 = <0x00000000>; + dram_para64 = <0x00000000>; + dram_para65 = <0x00000000>; + dram_para66 = <0x00000000>; + dram_para67 = <0x00000000>; + dram_para68 = <0x00000000>; + dram_para69 = <0x00000000>; + dram_para70 = <0x00000000>; + dram_para71 = <0x00000000>; + dram_para72 = <0x00000000>; + dram_para73 = <0x00000000>; + dram_para74 = <0x00000000>; + dram_para75 = <0x00000000>; + dram_para76 = <0x00000000>; + dram_para77 = <0x00000000>; + dram_para78 = <0x00000000>; + dram_para79 = <0x00000000>; + dram_para80 = <0x00000000>; + dram_para81 = <0x00000000>; + dram_para82 = <0x00000000>; + dram_para83 = <0x00000000>; + dram_para84 = <0x00000000>; + dram_para85 = <0x00000000>; + dram_para86 = <0x00000000>; + dram_para87 = <0x00000000>; + dram_para88 = <0x00000000>; + dram_para89 = <0x00000000>; + dram_para90 = <0x00000000>; + dram_para91 = <0x00000000>; + dram_para92 = <0x00000000>; + dram_para93 = <0x00000000>; + dram_para94 = <0x00000000>; + dram_para95 = <0x00000000>; +}; + +&cpul_thermal_zone { + cpul_trips: trips { + cpul_crit: cpu_crit@0 { + temperature = <115000>; + type = "critical"; + hysteresis = <0>; + }; + }; +}; + +&cpub_thermal_zone { + cpub_trips: trips { + cpub_crit: cpu_crit@0 { + temperature = <115000>; + type = "critical"; + hysteresis = <0>; + }; + }; +}; + +&gpu_thermal_zone { + gpu_trips: trips { + gpu_crit: gpu_crit@0 { + temperature = <115000>; + type = "critical"; + hysteresis = <0>; + }; + }; +}; diff --git a/patches/linux-5.15/overlays/arch/arm64/boot/dts/allwinner/sun55i-t527-longanpi-4b-usb3.dts b/patches/linux-5.15/overlays/arch/arm64/boot/dts/allwinner/sun55i-t527-longanpi-4b-usb3.dts new file mode 100644 index 0000000000..c0594cae94 --- /dev/null +++ b/patches/linux-5.15/overlays/arch/arm64/boot/dts/allwinner/sun55i-t527-longanpi-4b-usb3.dts @@ -0,0 +1,3439 @@ +/* + * Allwinner Technology CO., Ltd. + */ + +/dts-v1/; + +#include "sun55i-t527.dtsi" + +/{ + board = "T527", "T527-LM4B"; + compatible = "allwinner,t527", "arm,sun55iw3p1", "Sipeed,T527-LM4B"; + + aliases { + pmu0 = &pmu0; + serial0 = &uart0; + hdmi = &hdmi; + reg-axp1530 = ®_ext_axp1530_dcdc1; + axp1530 = &axp1530; + cpu-ext = &cpu4; + standby-param = &standby_param; + arisc-config = &arisc_config; + cir_param = &cir_param; + }; + + reg_usb0_vbus: usb0-vbus { + compatible = "regulator-fixed"; + regulator-name = "usb0-vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-enable-ramp-delay = <1000>; + gpio = <&pio PB 12 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + reg_usb1_vbus: usb1-vbus { + compatible = "regulator-fixed"; + regulator-name = "usb1-vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-enable-ramp-delay = <1000>; + gpio = <&pio PB 3 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + standby_param: standby_param { + vdd-cpu = <0x00000001>; + vdd-cpub = <0x00000001>; + vdd-sys = <0x00000002>; + vcc-pll = <0x00000080>; + vcc-io = <0x00004000>; + + osc24m-on = <0x0>; + }; + + cir_param: cir_param { + gpio_group = <1>; /* 0:PL 1:PM */ + gpio_pin = <11>; + gpio_function = <2>; + count = <15>; + ir_power_key_code0 = <0x40>; + ir_addr_code0 = <0xfe01>; + ir_power_key_code1 = <0x1a>; + ir_addr_code1 = <0xfb04>; + ir_power_key_code2 = <0xf2>; + ir_addr_code2 = <0x2992>; + ir_power_key_code3 = <0x57>; + ir_addr_code3 = <0x9f00>; + ir_power_key_code4 = <0xdc>; + ir_addr_code4 = <0x4cb3>; + ir_power_key_code5 = <0x18>; + ir_addr_code5 = <0xff00>; + ir_power_key_code6 = <0xdc>; + ir_addr_code6 = <0xdd22>; + ir_power_key_code7 = <0x0d>; + ir_addr_code7 = <0xbc00>; + ir_power_key_code8 = <0x4d>; + ir_addr_code8 = <0x4040>; + ir_power_key_code9 = <0x08>; + ir_addr_code9 = <0xfb04>; + ir_power_key_code10 = <0x00>; + ir_addr_code10 = <0xfc03>; + ir_power_key_code11 = <0x00>; + ir_addr_code11 = <0xbf00>; + ir_power_key_code12 = <0xea>; + ir_addr_code12 = <0xfb04>; + ir_power_key_code13 = <0x42>; + ir_addr_code13 = <0xbf00>; + ir_power_key_code14 = <0x0f>; + ir_addr_code14 = <0xff00>; + }; + + arisc_config: arisc_config { + s_uart_config { + pins = "PL2", "PL3"; + function = <2>, <2>; + status = "disabled"; + }; + }; + + reserved-memory { + dsp0ddr_reserved: dsp0ddr@4a000000 { + reg = <0x0 0x4a000000 0x0 0x00a00000>; + no-map; + }; + + riscvsram0_reserved: riscvsram0@7280000 { + reg = <0x0 0x07280000 0x0 0x40000>; + no-map; + }; + + riscvsram1_reserved: riscvsram1@72c0000 { + reg = <0x0 0x072c0000 0x0 0x40000>; + no-map; + }; + + /* + * The name should be "vdev%dbuffer". + * Its size should be not less than + * RPMSG_BUF_SIZE * (num of buffers in a vring) * 2 + * = 512 * (num of buffers in a vring) * 2 + */ + dsp_vdev0buffer: vdev0buffer@4ac00000 { + compatible = "shared-dma-pool"; + reg = <0x0 0x4ac00000 0x0 0x40000>; + no-map; + }; + + /* + * The name should be "vdev%dvring%d". + * The size of each should be not less than + * PAGE_ALIGN(vring_size(num, align)) + * = PAGE_ALIGN(16 * num + 6 + 2 * num + (pads for align) + 6 + 8 * num) + * + * (Please refer to the vring layout in include/uapi/linux/virtio_ring.h) + */ + dsp_vdev0vring0: vdev0vring0@4ac40000 { + reg = <0x0 0x4ac40000 0x0 0x2000>; + no-map; + }; + dsp_vdev0vring1: vdev0vring1@4ac42000 { + reg = <0x0 0x4ac42000 0x0 0x2000>; + no-map; + }; + + /* + * The name should be "vdev%dbuffer". + * Its size should be not less than + * RPMSG_BUF_SIZE * (num of buffers in a vring) * 2 + * = 512 * (num of buffers in a vring) * 2 + */ + rv_vdev0buffer: vdev0buffer@4ae00000 { + compatible = "shared-dma-pool"; + reg = <0x0 0x4ae00000 0x0 0x40000>; + no-map; + }; + + /* + * The name should be "vdev%dvring%d". + * The size of each should be not less than + * PAGE_ALIGN(vring_size(num, align)) + * = PAGE_ALIGN(16 * num + 6 + 2 * num + (pads for align) + 6 + 8 * num) + * + * (Please refer to the vring layout in include/uapi/linux/virtio_ring.h) + */ + rv_vdev0vring0: vdev0vring0@4ae40000 { + reg = <0x0 0x4ae40000 0x0 0x2000>; + no-map; + }; + rv_vdev0vring1: vdev0vring1@4ae42000 { + reg = <0x0 0x4ae42000 0x0 0x2000>; + no-map; + }; + + /* + * mcu ram addr + */ + mcu0iram_reserved: mcu0iram@20000 { + reg = <0x0 0x20000 0x0 0x10000>; + no-map; + }; + mcu0dram0_reserved: mcu0dram0@30000 { + reg = <0x0 0x30000 0x0 0x8000>; + no-map; + }; + mcu0dram1_reserved: mcu0dram1@38000 { + reg = <0x0 0x38000 0x0 0x8000>; + no-map; + }; + + dsp0_rpbuf_reserved: dsp0_rpbuf@4ae44000 { + compatible = "shared-dma-pool"; + no-map; + reg = <0x0 0x4ae44000 0x0 0x8000>; + }; + + dsp_share_space@4ab00000 { + no-map; + reg = <0x0 0x4ab00000 0x0 0x10000>; + }; + }; + + rpbuf_controller0: rpbuf_controller@0 { + compatible = "allwinner,rpbuf-controller"; + remoteproc = <&dsp0_rproc>; + ctrl_id = <0>; + memory-region = <&dsp0_rpbuf_reserved>; + status = "okay"; + }; + + edp_panel_backlight: edp_backlight { + compatible = "pwm-backlight"; + status = "disabled"; + brightness-levels = < + 0 1 2 3 4 5 6 7 + 8 9 10 11 12 13 14 15 + 16 17 18 19 20 21 22 23 + 24 25 26 27 28 29 30 31 + 32 33 34 35 36 37 38 39 + 40 41 42 43 44 45 46 47 + 48 49 50 51 52 53 54 55 + 56 57 58 59 60 61 62 63 + 64 65 66 67 68 69 70 71 + 72 73 74 75 76 77 78 79 + 80 81 82 83 84 85 86 87 + 88 89 90 91 92 93 94 95 + 96 97 98 99 100 101 102 103 + 104 105 106 107 108 109 110 111 + 112 113 114 115 116 117 118 119 + 120 121 122 123 124 125 126 127 + 128 129 130 131 132 133 134 135 + 136 137 138 139 140 141 142 143 + 144 145 146 147 148 149 150 151 + 152 153 154 155 156 157 158 159 + 160 161 162 163 164 165 166 167 + 168 169 170 171 172 173 174 175 + 176 177 178 179 180 181 182 183 + 184 185 186 187 188 189 190 191 + 192 193 194 195 196 197 198 199 + 200 201 202 203 204 205 206 207 + 208 209 210 211 212 213 214 215 + 216 217 218 219 220 221 222 223 + 224 225 226 227 228 229 230 231 + 232 233 234 235 236 237 238 239 + 240 241 242 243 244 245 246 247 + 248 249 250 251 252 253 254 255>; + default-brightness-level = <200>; + enable-gpios = <&pio PI 5 GPIO_ACTIVE_HIGH>; + /* power-supply = <®_backlight_12v>; */ + pwms = <&pwm0 5 5000000 0>; + }; + + edp_panel: edp_panel { + compatible = "edp-general-panel"; + status = "okay"; + power0-supply = <®_dcdc4>; + + backlight = <&edp_panel_backlight>; + + panel-timing { + clock-frequency = <348577920>; /* pixel clock */ + hactive = <2560>; + hback-porch = <120>; + hfront-porch = <88>; + hsync-len = <32>; + vactive = <1600>; + vback-porch = <71>; + vfront-porch = <28>; + vsync-len = <5>; + /* hor_sync_polarity */ + hsync-active = <1>; + /* ver_sync_polarity */ + vsync-active = <1>; + + // unused now + /* + de-active = <1>; + pixelclk-active = <1>; + syncclk-active = <0>; + interlaced; + doublescan; + doubleclk; + */ + }; + ports { + #address-cells = <1>; + #size-cells = <0>; + panel_in: port@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + edp_panel_in: endpoint@0 { + reg = <0>; + remote-endpoint = <&edp_panel_out>; + }; + }; + }; + }; + + lvds_panel0_backlight: backlight0 { + compatible = "pwm-backlight"; + status = "okay"; + brightness-levels = < + 0 1 2 3 4 5 6 7 + 8 9 10 11 12 13 14 15 + 16 17 18 19 20 21 22 23 + 24 25 26 27 28 29 30 31 + 32 33 34 35 36 37 38 39 + 40 41 42 43 44 45 46 47 + 48 49 50 51 52 53 54 55 + 56 57 58 59 60 61 62 63 + 64 65 66 67 68 69 70 71 + 72 73 74 75 76 77 78 79 + 80 81 82 83 84 85 86 87 + 88 89 90 91 92 93 94 95 + 96 97 98 99 100 101 102 103 + 104 105 106 107 108 109 110 111 + 112 113 114 115 116 117 118 119 + 120 121 122 123 124 125 126 127 + 128 129 130 131 132 133 134 135 + 136 137 138 139 140 141 142 143 + 144 145 146 147 148 149 150 151 + 152 153 154 155 156 157 158 159 + 160 161 162 163 164 165 166 167 + 168 169 170 171 172 173 174 175 + 176 177 178 179 180 181 182 183 + 184 185 186 187 188 189 190 191 + 192 193 194 195 196 197 198 199 + 200 201 202 203 204 205 206 207 + 208 209 210 211 212 213 214 215 + 216 217 218 219 220 221 222 223 + 224 225 226 227 228 229 230 231 + 232 233 234 235 236 237 238 239 + 240 241 242 243 244 245 246 247 + 248 249 250 251 252 253 254 255>; + default-brightness-level = <200>; + enable-gpios = <&pio PI 2 GPIO_ACTIVE_HIGH>; + pwms = <&pwm0 4 50000 0>; + }; + + lvds_panel0: panel@0 { + compatible = "BP101WX1"; + status = "okay"; + reg = <0>; + power0-supply = <®_cldo3>; + power1-supply = <®_dcdc4>; + power2-supply = <®_cldo1>; + + backlight = <&lvds_panel0_backlight>; + + lcd_if = <3>; + lcd_width = <150>; + lcd_height = <94>; + + pinctrl-0 = <&lvds0_pins_a>; + pinctrl-1 = <&lvds0_pins_b>; + pinctrl-names = "active","sleep"; + + panel-timing { + clock-frequency = <74871600>; /* pixel clock */ + hback-porch = <88>; + hactive = <1280>; + hfront-porch = <83>; + hsync-len = <18>; + vback-porch = <23>; + vactive = <800>; + vfront-porch = <37>; + vsync-len = <10>; + + // unused now + /* + hsync-active = <0>; + vsync-active = <0>; + de-active = <1>; + pixelclk-active = <1>; + */ + }; + ports { + #address-cells = <1>; + #size-cells = <0>; + lvds_panel0_in: port@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + lvds_panel0_in_lcd0: endpoint@0 { + reg = <0>; + remote-endpoint = <&tcon0_out_panel>; + }; + }; + }; + }; + + lvds_panel1: panel@1 { + compatible = "BP101WX1"; + status = "disabled"; + reg = <1>; + power0-supply = <®_cldo3>; + power1-supply = <®_dcdc4>; + + backlight = <&lvds_panel1_backlight>; + + lcd_if = <3>; + lcd_width = <150>; + lcd_height = <94>; + + pinctrl-0 = <&lvds2_pins_a>; + pinctrl-1 = <&lvds2_pins_b>; + pinctrl-names = "active","sleep"; + + panel-timing { + clock-frequency = <74871600>; /* pixel clock */ + hback-porch = <88>; + hactive = <1280>; + hfront-porch = <83>; + hsync-len = <18>; + vback-porch = <23>; + vactive = <800>; + vfront-porch = <37>; + vsync-len = <10>; + // unused now + /* + hsync-active = <0>; + vsync-active = <0>; + de-active = <1>; + pixelclk-active = <1>; + */ + }; + ports { + #address-cells = <1>; + #size-cells = <0>; + lvds_panel1_in: port@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + lvds_panel1_in_lcd2: endpoint@0 { + reg = <0>; + remote-endpoint = <&tcon4_out_panel>; + }; + }; + }; + }; + + lvds_panel1_backlight: backlight1 { + compatible = "pwm-backlight"; + status = "disabled"; + brightness-levels = < + 0 1 2 3 4 5 6 7 + 8 9 10 11 12 13 14 15 + 16 17 18 19 20 21 22 23 + 24 25 26 27 28 29 30 31 + 32 33 34 35 36 37 38 39 + 40 41 42 43 44 45 46 47 + 48 49 50 51 52 53 54 55 + 56 57 58 59 60 61 62 63 + 64 65 66 67 68 69 70 71 + 72 73 74 75 76 77 78 79 + 80 81 82 83 84 85 86 87 + 88 89 90 91 92 93 94 95 + 96 97 98 99 100 101 102 103 + 104 105 106 107 108 109 110 111 + 112 113 114 115 116 117 118 119 + 120 121 122 123 124 125 126 127 + 128 129 130 131 132 133 134 135 + 136 137 138 139 140 141 142 143 + 144 145 146 147 148 149 150 151 + 152 153 154 155 156 157 158 159 + 160 161 162 163 164 165 166 167 + 168 169 170 171 172 173 174 175 + 176 177 178 179 180 181 182 183 + 184 185 186 187 188 189 190 191 + 192 193 194 195 196 197 198 199 + 200 201 202 203 204 205 206 207 + 208 209 210 211 212 213 214 215 + 216 217 218 219 220 221 222 223 + 224 225 226 227 228 229 230 231 + 232 233 234 235 236 237 238 239 + 240 241 242 243 244 245 246 247 + 248 249 250 251 252 253 254 255>; + default-brightness-level = <200>; + enable-gpios = <&pio PI 5 GPIO_ACTIVE_HIGH>; + pwms = <&pwm0 5 5000000 0>; + }; +}; + +&de { + chn_cfg_mode = <3>; + status = "okay"; +}; + +&vo0 { + status = "okay"; +}; + +&vo1 { + status = "okay"; +}; + +/* HDMI DRM */ +&tv0 { + status = "okay"; +}; + +&dlcd0 { + status = "okay"; + panel = <&lvds_panel0>; + ports { + tcon0_out: port@1 { + tcon0_out_panel: endpoint@2 { + reg = <2>; + remote-endpoint = <&lvds_panel0_in_lcd0>; + }; + }; + }; + +}; + +&dlcd2 { + status = "disabled"; + panel = <&lvds_panel1>; + ports { + tcon4_out: port@1 { + tcon4_out_panel: endpoint@0 { + reg = <0>; + remote-endpoint = <&lvds_panel1_in_lcd2>; + }; + }; + }; +}; + +&dsi0combophy { + status = "okay"; +}; + +&dsi1combophy { + status = "okay"; +}; + +&drm_edp { + status = "disabled"; + + edp_ssc_en = <0>; + edp_ssc_mode = <0>; + edp_psr_support = <0>; + edp_colordepth = <8>; /* 6/8/10/12/16 */ + edp_color_fmt = <0>; /* 0:RGB 1: YUV444 2: YUV422 */ + + lane1_sw = <0>; + lane1_pre = <0>; + lane2_sw = <0>; + lane2_pre = <0>; + lane3_sw = <0>; + lane3_pre = <0>; + efficient_training = <0>; + + sink_capacity_prefer = <1>; + edid_timings_prefer = <1>; + timings_fixed = <1>; + + vcc-edp-supply = <®_bldo3>; + vdd-edp-supply = <®_dcdc2>; + panel = <&edp_panel>; + ports { + edp_out: port@1 { + edp_panel_out: endpoint@0 { + reg = <0>; + remote-endpoint = <&edp_panel_in>; + }; + }; + }; +}; + +&r_pio { + uart8_pins_a: uart8_pins@0 { + pins = "PL2", "PL3"; + function = "s_uart0"; + }; + + uart8_pins_b: uart8_pins@1 { + pins = "PL2", "PL3"; + function = "gpio_in"; + }; + + uart9_pins_a: uart9_pins@0 { + pins = "PM0", "PM1"; + function = "s_uart1"; + }; + + uart9_pins_b: uart9_pins@1 { + pins = "PM0", "PM1"; + function = "gpio_in"; + }; + + s_twi0_pins_default: s_twi0@0 { + pins = "PL0", "PL1"; + function = "s_twi0"; + drive-strength = <10>; + bias-pull-up; + }; + + s_twi0_pins_sleep: s_twi0@1 { + pins = "PL0", "PL1"; + function = "gpio_in"; + }; + + s_twi1_pins_default: s_twi1@0 { + pins = "PL8", "PL9"; + function = "s_twi1"; + drive-strength = <10>; + bias-pull-up; + }; + + s_twi1_pins_sleep: s_twi1@1 { + pins = "PL8", "PL9"; + function = "gpio_in"; + }; + + s_twi2_pins_default: s_twi2@0 { + pins = "PL12", "PL13"; + function = "s_twi2"; + drive-strength = <10>; + bias-pull-up; + }; + + s_twi2_pins_sleep: s_twi2@1 { + pins = "PL12", "PL13"; + function = "gpio_in"; + }; + + s_irrx_pins_default: s_irrx@0 { + pins = "PL11"; + function = "s_cir"; + }; + + s_irrx_pins_sleep: s_irrx@1 { + pins = "PL11"; + function = "gpio_in"; + }; +}; + +&pio { + vcc-pg-supply = <®_pio1_8>; + vcc-pf-supply = <®_pio1_8>; + vcc-pfo-supply = <®_pio3_3>; + vcc-pd-supply = <®_dcdc4>; + vcc-pe-supply = <®_pio1_8>; + vcc-pi-supply = <®_dcdc4>; + vcc-pj-supply = <®_dcdc4>; + vcc-pk-supply = <®_dcdc4>; + uart0_pins_a: uart0_pins@0 { + pins = "", ""; + function = "uart0"; + }; + + uart0_pins_b: uart0_pins@1 { + pins = "", ""; + function = "gpio_in"; + }; + + uart2_pins_a: uart2_pins@0 { + pins = "PB0", "PB1"; + function = "uart2"; + }; + + uart2_pins_b: uart2_pins@1 { + pins = "PB0", "PB1"; + function = "gpio_in"; + }; + + uart3_pins_a: uart3_pins@0 { + pins = "PD14", "PD15"; + function = "uart3"; + }; + + uart3_pins_b: uart3_pins@1 { + pins = "PD14", "PD15"; + function = "gpio_in"; + }; + + uart4_pins_a: uart4_pins@0 { + pins = "PD18", "PD19"; + function = "uart4"; + }; + + uart4_pins_b: uart4_pins@1 { + pins = "PD18", "PD19"; + function = "gpio_in"; + }; + + uart5_pins_a: uart5_pins@0 { + pins = "PE11", "PE12"; + function = "uart5"; + }; + + uart5_pins_b: uart5_pins@1 { + pins = "PE11", "PE12"; + function = "gpio_in"; + }; + + uart6_pins_a: uart6_pins@0 { + pins = "PI6", "PI7"; + function = "uart6"; + }; + + uart6_pins_b: uart6_pins@1 { + pins = "PI6", "PI7"; + function = "gpio_in"; + }; + + uart7_pins_a: uart7_pins@0 { + pins = "PB11", "PB12"; + function = "uart7"; + }; + + uart7_pins_b: uart7_pins@1 { + pins = "PB11", "PB12"; + function = "gpio_in"; + }; + + pwm0_0_pin_active: pwm0_0@0 { + pins = "PD23"; + function = "pwm0_0"; + }; + + pwm0_0_pin_sleep: pwm0_0@1 { + pins = "PD23"; + function = "gpio_in"; + bias-pull-down; + }; + + pwm0_1_pin_active: pwm0_1@0 { + pins = "PD22"; + function = "pwm0_1"; + }; + + pwm0_1_pin_sleep: pwm0_1@1 { + pins = "PD22"; + function = "gpio_in"; + bias-pull-down; + }; + + pwm0_2_pin_active: pwm0_2@0 { + pins = "PB11"; + function = "pwm0_2"; + }; + + pwm0_2_pin_sleep: pwm0_2@1 { + pins = "PB11"; + function = "gpio_in"; + bias-pull-down; + }; + + pwm0_3_pin_active: pwm0_3@0 { + pins = "PB12"; + function = "pwm0_3"; + }; + + pwm0_3_pin_sleep: pwm0_3@1 { + pins = "PB12"; + function = "gpio_in"; + bias-pull-down; + }; + + pwm0_4_pin_active: pwm0_4@0 { + pins = "PI3"; + function = "pwm0_4"; + }; + + pwm0_4_pin_sleep: pwm0_4@1 { + pins = "PI3"; + function = "gpio_in"; + bias-pull-down; + }; + + pwm0_5_pin_active: pwm0_5@0 { + pins = "PI4"; + function = "pwm0_5"; + }; + + pwm0_5_pin_sleep: pwm0_5@1 { + pins = "PI4"; + function = "gpio_in"; + bias-pull-down; + }; + + ledc_pins_a: ledc@0 { + pins = "PG0"; + function = "ledc"; + drive-strength = <10>; + }; + + ledc_pins_b: ledc@1 { + pins = "PG0"; + function = "gpio_in"; + }; + + irrx_pins_default: irrx@0 { + pins = "PI8"; + function = "cir"; + }; + + irrx_pins_sleep: irrx@1 { + pins = "PI8"; + function = "gpio_in"; + }; + + irtx_pins_default: irtx@0 { + pins = "PH18"; + function = "cir"; + }; + + irtx_pins_sleep: irtx@1 { + pins = "PH18"; + function = "gpio_in"; + }; + + twi0_pins_default: twi0@0 { + pins = "PD22", "PD23"; + function = "twi0"; + drive-strength = <10>; + bias-pull-up; + }; + + twi0_pins_sleep: twi0@1 { + pins = "PD22", "PD23"; + function = "gpio_in"; + }; + + twi1_pins_default: twi1@0 { + pins = "PL8", "PL9"; + function = "twi1"; + drive-strength = <10>; + bias-pull-up; + }; + + twi1_pins_sleep: twi1@1 { + pins = "PL8", "PL9"; + function = "gpio_in"; + }; + + twi2_pins_default: twi2@0 { + pins = "PE1", "PE2"; + function = "twi2"; + drive-strength = <20>; + bias-pull-up; + }; + + twi2_pins_sleep: twi2@1 { + pins = "PE1", "PE2"; + function = "gpio_in"; + }; + + twi3_pins_default: twi3@0 { + pins = "PE3", "PE4"; + function = "twi3"; + drive-strength = <20>; + bias-pull-up; + }; + + twi3_pins_sleep: twi3@1 { + pins = "PE3", "PE4"; + function = "gpio_in"; + }; + + twi4_pins_default: twi4@0 { + pins = "PE13", "PE14"; + function = "twi4"; + drive-strength = <10>; + bias-pull-up; + }; + + twi4_pins_sleep: twi4@1 { + pins = "PE13", "PE14"; + function = "gpio_in"; + }; + + twi5_pins_default: twi5@0 { + pins = "PI8", "PI9"; + function = "twi5"; + drive-strength = <10>; + bias-pull-up; + }; + + twi5_pins_sleep: twi5@1 { + pins = "PI8", "PI9"; + function = "gpio_in"; + }; + + owa_pins_a: owa@0 { + pins = "PI10"; + function = "owa"; + drive-strength = <20>; + bias-disable; + }; + + owa_pins_b: owa@1 { + pins = "PI10"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + i2s0_pins_a: i2s0@0 { + pins = "PB4", "PB5", "PB6"; + function = "i2s0"; + drive-strength = <20>; + bias-disable; + }; + + i2s0_pins_b: i2s0@1 { + pins = "PB4", "PB5", "PB6", "PB7", "PB8"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + i2s0_pins_c: i2s0@2 { + pins = "PB7"; + function = "i2s0_dout"; + drive-strength = <20>; + bias-disable; + }; + + i2s0_pins_d: i2s0@3 { + pins = "PB8"; + function = "i2s0_din"; + drive-strength = <20>; + bias-disable; + }; + + i2s1_pins_a: i2s1@0 { + pins = "PG10", "PG11", "PG12"; + function = "i2s1"; + drive-strength = <20>; + bias-disable; + }; + + i2s1_pins_b: i2s1@1 { + pins = "PG10", "PG11", "PG12", "PG13", "PG14"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + i2s1_pins_c: i2s1@2 { + pins = "PG13"; + function = "i2s1_dout"; + drive-strength = <20>; + bias-disable; + }; + + i2s1_pins_d: i2s1@3 { + pins = "PG14"; + function = "i2s1_din"; + drive-strength = <20>; + bias-disable; + }; + + i2s2_pins_a: i2s2@0 { + pins = "PH9", "PH10"; + function = "i2s2"; + drive-strength = <20>; + bias-disable; + }; + + i2s2_pins_b: i2s2@1 { + pins = "PH2", "PH3", "PH8", "PH9", "PH10", "PH11", "PH12"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + i2s2_pins_c: i2s2@2 { + pins = "PH2", "PH3", "PH12"; + function = "i2s2_din"; + drive-strength = <20>; + bias-disable; + }; + + i2s2_pins_d: i2s2@3 { + pins = "PH11"; + function = "i2s2_dout"; + drive-strength = <20>; + bias-disable; + }; + + i2s2_pins_e: i2s2@4 { + pins = "PH8"; + function = "i2s2_mclk"; + drive-strength = <20>; + bias-disable; + }; + + i2s3_pins_a: i2s3@0 { + pins = "PF3", "PF5", "PF6"; + function = "i2s3"; + drive-strength = <20>; + bias-disable; + }; + + i2s3_pins_b: i2s3@1 { + pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + i2s3_pins_c: i2s3@2 { + pins = "PF0", "PF2", "PF4"; + function = "i2s3_din"; + drive-strength = <20>; + bias-disable; + }; + + i2s3_pins_d: i2s3@3 { + pins = "PF1"; + function = "i2s3_dout"; + drive-strength = <20>; + bias-disable; + }; + + rgb24_pins_a: rgb24@0 { + pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \ + "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \ + "PD20", "PD21", "PD22","PD23","PD24","PD25","PD26","PD27"; + function = "dpss"; + drive-strength = <30>; + }; + + rgb24_pins_b: rgb24@1 { + pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \ + "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \ + "PD20", "PD21", "PD22", "PD23","PD24","PD25","PD26","PD27"; + function = "gpio_in"; + }; + + lvds0_pins_a: lvds0@0 { + pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9"; + function = "lvds0"; + drive-strength = <30>; + }; + + lvds0_pins_b: lvds0@1 { + pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9"; + function = "gpio_in"; + }; + + gmac0_pins_default: gmac0@0 { + pins = "PH0", "PH1", "PH2", "PH3", + "PH4", "PH5", "PH6", "PH7", + "PH9", "PH10","PH13","PH14", + "PH15","PH16","PH17","PH18"; + drive-strength = <40>; + function = "gmac0"; + bias-pull-up; + }; + + gmac0_pins_sleep: gmac0@1 { + pins = "PH0", "PH1", "PH2", "PH3", + "PH4", "PH5", "PH6", "PH7", + "PH9", "PH10","PH13","PH14", + "PH15","PH16","PH17","PH18"; + function = "gpio_in"; + }; + + gmac1_pins_default: gmac1@0 { + pins = "PJ0", "PJ1", "PJ2", "PJ3", + "PJ4", "PJ5", "PJ6", "PJ7", + "PJ8", "PJ9", "PJ10", "PJ11", + "PJ12","PJ13", "PJ14", "PJ15"; + drive-strength = <40>; + function = "gmac1"; + bias-pull-up; + }; + + gmac1_pins_sleep: gmac1@1 { + pins = "PJ0", "PJ1", "PJ2", "PJ3", + "PJ4", "PJ5", "PJ6", "PJ7", + "PJ8", "PJ9", "PJ10", "PJ11", + "PJ12","PJ13", "PJ14", "PJ15"; + function = "gpio_in"; + }; +}; + +&soc { + auto_print@54321 { + reg = <0x0 0x54321 0x0 0x0>; + device_type = "auto_print"; + status = "okay"; + }; + + car_reverse: car-reverse { + compatible = "allwinner,sunxi-car-reverse"; + + /* video source setting*/ + video_channel = <0>; + video_source = <0>; + format_type = <0>; + video_source_width = <1920>; + video_source_height = <1080>; + src_size_adaptive = <1>; + /* display setting */ + overview_type = <1>; + screen_width = <1280>; + screen_height = <800>; + screen_size_adaptive = <1>; + discard_frame = <0>; + di_used = <0>; + g2d_used = <1>; + rotation = <0>; + /* auxiliary line setting */ + auxiliary_line_type = <1>; + aux_angle = <0>; + aux_lr = <0>; + reverse_int_pin = <&pio PI 15 GPIO_ACTIVE_HIGH>; + status = "disabled"; + }; + + gpio_leds { + compatible = "allwinner,sunxi-gpio-leds"; + supply-num = <1>; + gpio1-supply = <®_bldo1>; + gpio-pins = <&pio PG 10 GPIO_ACTIVE_LOW>, <&pio PC 7 GPIO_ACTIVE_LOW>; + pin-names = "normal_led", "standby_led"; + init-status = , ; + status = "disabled"; + }; + + dsp0_rproc: dsp0_rproc@0 { + mboxes = <&msgbox 4>; + mbox-names = "arm-kick"; + memory-region = <&dsp0ddr_reserved>, <&dsp_vdev0buffer>, <&dsp_vdev0vring0>, <&dsp_vdev0vring1>, + <&mcu0iram_reserved>, <&mcu0dram0_reserved>, <&mcu0dram1_reserved>; + memory-mappings = + /* < DA len PA > */ + /* local SRAM via external bus */ + < 0x20000 0x20000 0x20000 >, + /* local SRAM via internal bus */ + < 0x400000 0x10000 0x20000 >, + < 0x420000 0x8000 0x30000 >, + < 0x440000 0x8000 0x38000 >, + /* DDR front 256MB */ + < 0x10000000 0x10000000 0x40000000 >, + /* local SRAM via internal bus */ + < 0x20020000 0x10000 0x400000 >, + < 0x20030000 0x8000 0x420000 >, + < 0x20038000 0x8000 0x440000 >, + + /* DDR front 256MB */ + < 0x30000000 0x10000000 0x40000000 >, + /* DDR front 1GB */ + < 0x40000000 0x40000000 0x40000000 >, + /* DDR front 1GB */ + < 0x80000000 0x40000000 0x40000000 >, + /* DDR front 1GB */ + < 0xC0000000 0x40000000 0x40000000 >; + status = "okay"; + }; + + e906_rproc: e906_rproc@7130000 { + mboxes = <&msgbox 8>; + mbox-names = "arm-kick"; + memory-region = <&riscvsram0_reserved>, <&riscvsram1_reserved>, <&rv_vdev0buffer>, <&rv_vdev0vring0>, <&rv_vdev0vring1>; + memory-mappings = + /* < DA len PA > */ + /* DSP RAM */ + < 0x20000 0x20000 0x20000 >, + /* SRAM A2 */ + < 0x40000 0x24000 0x40000 >, + /* DDR */ + < 0x8000000 0x37f00000 0x8000000 >, + /* SRAM SPACE 0 */ + < 0x3ffc0000 0x40000 0x07280000 >, + /* SRAM SPACE 1 */ + < 0x40000000 0x40000 0x072c0000 >, + /* DRAM SPACE */ + < 0x40040000 0x3ffc0000 0x40040000>; + status = "okay"; + }; + +}; + +&uart0 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart0_pins_a>; + pinctrl-1 = <&uart0_pins_b>; + uart-supply = <®_cldo3>; + status = "okay"; +}; + +&uart1 { + status = "okay"; +}; + +&uart2 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart2_pins_a>; + pinctrl-1 = <&uart2_pins_b>; + status = "disabled"; +}; + +&uart3 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart3_pins_a>; + pinctrl-1 = <&uart3_pins_b>; + status = "disabled"; +}; + +&uart4 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart4_pins_a>; + pinctrl-1 = <&uart4_pins_b>; + status = "disabled"; +}; + +&uart5 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart5_pins_a>; + pinctrl-1 = <&uart5_pins_b>; + status = "disabled"; +}; + +&uart6 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart6_pins_a>; + pinctrl-1 = <&uart6_pins_b>; + status = "okay"; +}; + +&uart7 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart7_pins_a>; + pinctrl-1 = <&uart7_pins_b>; + status = "disabled"; +}; + +&uart8 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart8_pins_a>; + pinctrl-1 = <&uart8_pins_b>; + status = "disabled"; +}; + +&uart9 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart9_pins_a>; + pinctrl-1 = <&uart9_pins_b>; + status = "disabled"; +}; + +&lradc { + key_cnt = <5>; + key0 = <210 0x73>; + key1 = <410 0x72>; + key2 = <590 0x8B>; + key3 = <750 0x1c>; + key4 = <880 0x66>; + key_debounce; + debounce_value = <50>; + status = "okay"; +}; + +&irrx { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&irrx_pins_default>; + pinctrl-1 = <&irrx_pins_sleep>; + status = "disabled"; +}; + +&s_irrx { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&s_irrx_pins_default>; + pinctrl-1 = <&s_irrx_pins_sleep>; + status = "okay"; +}; + +&irtx { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&irtx_pins_default>; + pinctrl-1 = <&irtx_pins_sleep>; + status = "disabled"; +}; + +&gpadc0 { + channel_num = <2>; + channel_select = <3>; + channel_data_select = <3>; + channel_compare_select = <3>; + channel_cld_select = <3>; + channel_chd_select = <3>; + channel0_compare_lowdata = <1700000>; + channel0_compare_higdata = <1200000>; + channel1_compare_lowdata = <460000>; + channel1_compare_higdata = <1200000>; + status = "disabled"; +}; + +&gpadc1 { + channel_num = <2>; + channel_select = <3>; + channel_data_select = <3>; + channel_compare_select = <3>; + channel_cld_select = <3>; + channel_chd_select = <3>; + channel0_compare_lowdata = <1700000>; + channel0_compare_higdata = <1200000>; + channel1_compare_lowdata = <460000>; + channel1_compare_higdata = <1200000>; + status = "disabled"; +}; + +&pwm0_0 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm0_0_pin_active>; + pinctrl-1 = <&pwm0_0_pin_sleep>; + status = "okay"; +}; + +&pwm0_1 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm0_1_pin_active>; + pinctrl-1 = <&pwm0_1_pin_sleep>; + status = "disabled"; +}; + +&pwm0_2 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm0_2_pin_active>; + pinctrl-1 = <&pwm0_2_pin_sleep>; + status = "disabled"; +}; + +&pwm0_3 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm0_3_pin_active>; + pinctrl-1 = <&pwm0_3_pin_sleep>; + status = "disabled"; +}; + +&pwm0_4 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm0_4_pin_active>; + pinctrl-1 = <&pwm0_4_pin_sleep>; + status = "okay"; +}; + +&pwm0_5 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm0_5_pin_active>; + pinctrl-1 = <&pwm0_5_pin_sleep>; + status = "okay"; +}; + +&ledc { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&ledc_pins_a>; + pinctrl-1 = <&ledc_pins_b>; + led_count = <34>; + output_mode = "GRB"; + reset_ns = <84>; + t1h_ns = <800>; + t1l_ns = <320>; + t0h_ns = <300>; + t0l_ns = <800>; + wait_time0_ns = <84>; + wait_time1_ns = <84>; + wait_data_time_ns = <600000>; + status = "disabled"; +}; + +&twi0 { + clock-frequency = <400000>; + pinctrl-0 = <&twi0_pins_default>; + pinctrl-1 = <&twi0_pins_sleep>; + pinctrl-names = "default", "sleep"; + /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */ + twi_drv_used = <1>; + twi-supply = <®_dcdc4>; + status = "okay"; +}; + +&twi1 { + clock-frequency = <400000>; + pinctrl-0 = <&twi1_pins_default>; + pinctrl-1 = <&twi1_pins_sleep>; + pinctrl-names = "default", "sleep"; + /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */ + twi_drv_used = <1>; + status = "okay"; +}; + +&twi2 { + clock-frequency = <400000>; + pinctrl-0 = <&twi2_pins_default>; + pinctrl-1 = <&twi2_pins_sleep>; + pinctrl-names = "default", "sleep"; + /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */ + twi_drv_used = <1>; + twi-supply = <®_dcdc4>; + status = "okay"; +}; + +&twi3 { + clock-frequency = <400000>; + pinctrl-0 = <&twi3_pins_default>; + pinctrl-1 = <&twi3_pins_sleep>; + pinctrl-names = "default", "sleep"; + /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */ + twi_drv_used = <1>; + twi-supply = <®_dcdc4>; + status = "okay"; +}; + +&twi4 { + clock-frequency = <400000>; + pinctrl-0 = <&twi4_pins_default>; + pinctrl-1 = <&twi4_pins_sleep>; + pinctrl-names = "default", "sleep"; + /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */ + twi_drv_used = <1>; + twi-supply = <®_dcdc4>; + status = "okay"; +}; + +&twi5 { + clock-frequency = <400000>; + pinctrl-0 = <&twi5_pins_default>; + pinctrl-1 = <&twi5_pins_sleep>; + pinctrl-names = "default", "sleep"; + /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */ + twi_drv_used = <1>; + twi-supply = <®_dcdc4>; + status = "okay"; +}; + +&csi_mclk3_pins_a { + pins = "PK13"; + function = "ncsi"; +}; + +&csi_mclk3_pins_b { + pins = "PK13"; +}; + +&mipib_4lane_pins_a { + pins = "PK6", "PK7", "PK8", "PK9"; +}; + +&mipib_4lane_pins_b { + pins = "PK6", "PK7", "PK8", "PK9"; +}; + +&vind0 { + csi_top = <360000000>; + csi_isp = <300000000>; + vind_mclkpin-supply = <®_bldo3>; /* vcc-pe */ + vind_mclkpin_vol = <1800000>; + vind_mcsipin-supply = <®_bldo3>; /* vcc-pk */ + vind_mcsipin_vol = <1800000>; + vind_mipipin-supply = <®_bldo3>; /* vcc-mcsi */ + vind_mipipin_vol = <1800000>; + status = "okay"; + + csi3:csi@5823000 { + pinctrl-names = "default","sleep"; + pinctrl-0 = <&ncsi_bt1120_pins_a>; + pinctrl-1 = <&ncsi_bt1120_pins_b>; + status = "okay"; + }; + + tdm0:tdm@5908000 { + work_mode = <0>; + }; + + isp00:isp@5900000 { + work_mode = <0>; + }; + + isp01:isp@58ffffc { + status = "disabled"; + }; + + isp02:isp@58ffff8 { + status = "disabled"; + }; + + isp03:isp@58ffff4 { + status = "disabled"; + }; + + isp10:isp@4 { + status = "okay"; + }; + + isp20:isp@5 { + status = "okay"; + }; + + scaler00:scaler@5910000 { + work_mode = <0>; + }; + + scaler01:scaler@590fffc { + status = "disabled"; + }; + + scaler02:scaler@590fff8 { + status = "disabled"; + }; + + scaler03:scaler@590fff4 { + status = "disabled"; + }; + + scaler10:scaler@5910400 { + work_mode = <0>; + }; + + scaler11:scaler@59103fc { + status = "disabled"; + }; + + scaler12:scaler@59103f8 { + status = "disabled"; + }; + + scaler13:scaler@59103f4 { + status = "disabled"; + }; + + scaler20:scaler@5910800 { + work_mode = <0>; + }; + + scaler21:scaler@59107fc { + status = "disabled"; + }; + + scaler22:scaler@59107f8 { + status = "disabled"; + }; + + scaler23:scaler@59107f4 { + status = "disabled"; + }; + + scaler30:scaler@5910c00 { + work_mode = <0>; + }; + + scaler31:scaler@5910bfc { + status = "disabled"; + }; + + scaler32:scaler@5910bf8 { + status = "disabled"; + }; + + scaler33:scaler@5910bf4 { + status = "disabled"; + }; + scaler40:scaler@16 { + status = "okay"; + }; + scaler50:scaler@17 { + status = "okay"; + }; + + actuator0: actuator@2108180 { + device_type = "actuator0"; + actuator0_name = "dw9714_act"; + actuator0_slave = <0x18>; + actuator0_af_pwdn = <>; + actuator0_afvdd = "afvcc-csi"; + actuator0_afvdd_vol = <2800000>; + status = "disabled"; + }; + + flash0: flash@2108190 { + device_type = "flash0"; + flash0_type = <2>; + flash0_en = <&r_pio PL 11 GPIO_ACTIVE_LOW>; + flash0_mode = <>; + flash0_flvdd = ""; + flash0_flvdd_vol = <>; + device_id = <0>; + status = "disabled"; + }; + + sensor0:sensor@5812000 { + device_type = "sensor0"; + sensor0_mname = "tp2815_mipi"; + sensor0_twi_cci_id = <2>; + sensor0_twi_addr = <0x88>; + sensor0_mclk_id = <0>; + sensor0_pos = "rear"; + sensor0_isp_used = <0>; + sensor0_fmt = <0>; + sensor0_stby_mode = <0>; + sensor0_vflip = <0>; + sensor0_hflip = <0>; + sensor0_cameravdd-supply = <>; + sensor0_cameravdd_vol = <>; + sensor0_iovdd-supply = <>; + sensor0_iovdd_vol = <>; + sensor0_avdd-supply = <>; + sensor0_avdd_vol = <>; + sensor0_dvdd-supply = <>; + sensor0_dvdd_vol = <>; + sensor0_power_en = <>; + sensor0_reset = <&pio PK 11 GPIO_ACTIVE_LOW>; + sensor0_pwdn = <>; + status = "okay"; + }; + + sensor1:sensor@5812010 { + device_type = "sensor1"; + sensor1_mname = "nvp6158"; + sensor1_twi_cci_id = <3>; + sensor1_twi_addr = <0x64>; + sensor1_mclk_id = <3>; + sensor1_pos = "front"; + sensor1_isp_used = <0>; + sensor1_fmt = <0>; + sensor1_stby_mode = <0>; + sensor1_vflip = <0>; + sensor1_hflip = <0>; + sensor1_iovdd-supply = <>; + sensor1_iovdd_vol = <>; + sensor1_avdd-supply = <>; + sensor1_avdd_vol = <>; + sensor1_dvdd-supply = <>; + sensor1_dvdd_vol = <>; + sensor1_power_en = <>; + sensor1_reset = <&pio PK 10 GPIO_ACTIVE_LOW>; + sensor1_pwdn = <>; + status = "okay"; + }; + + vinc00:vinc@5830000 { + vinc0_csi_sel = <0>; + vinc0_mipi_sel = <0>; + vinc0_isp_sel = <4>; + vinc0_isp_tx_ch = <0>; + vinc0_tdm_rx_sel = <0>; + vinc0_rear_sensor_sel = <0>; + vinc0_front_sensor_sel = <0>; + vinc0_sensor_list = <0>; + device_id = <0>; + work_mode = <0x0>; + status = "okay"; + }; + + vinc01:vinc@582fffc { + vinc1_csi_sel = <1>; + vinc1_mipi_sel = <2>; + vinc1_isp_sel = <1>; + vinc1_isp_tx_ch = <0>; + vinc1_tdm_rx_sel = <1>; + vinc1_rear_sensor_sel = <1>; + vinc1_front_sensor_sel = <1>; + vinc1_sensor_list = <0>; + device_id = <1>; + status = "disabled"; + }; + + vinc02:vinc@582fff8 { + vinc2_csi_sel = <2>; + vinc2_mipi_sel = <0xff>; + vinc2_isp_sel = <2>; + vinc2_isp_tx_ch = <2>; + vinc2_tdm_rx_sel = <2>; + vinc2_rear_sensor_sel = <0>; + vinc2_front_sensor_sel = <0>; + vinc2_sensor_list = <0>; + device_id = <2>; + status = "disabled"; + }; + + vinc03:vinc@582fff4 { + vinc3_csi_sel = <0>; + vinc3_mipi_sel = <0xff>; + vinc3_isp_sel = <0>; + vinc3_isp_tx_ch = <0>; + vinc3_tdm_rx_sel = <0>; + vinc3_rear_sensor_sel = <1>; + vinc3_front_sensor_sel = <1>; + vinc3_sensor_list = <0>; + device_id = <3>; + status = "disabled"; + }; + + vinc10:vinc@5831000 { + vinc4_csi_sel = <0>; + vinc4_mipi_sel = <0>; + vinc4_isp_sel = <4>; + vinc4_isp_tx_ch = <1>; + vinc4_tdm_rx_sel = <0>; + vinc4_rear_sensor_sel = <0>; + vinc4_front_sensor_sel = <0>; + vinc4_sensor_list = <0>; + device_id = <4>; + work_mode = <0x0>; + status = "okay"; + }; + + vinc11:vinc@5830ffc { + vinc5_csi_sel = <2>; + vinc5_mipi_sel = <0xff>; + vinc5_isp_sel = <1>; + vinc5_isp_tx_ch = <1>; + vinc5_tdm_rx_sel = <1>; + vinc5_rear_sensor_sel = <0>; + vinc5_front_sensor_sel = <0>; + vinc5_sensor_list = <0>; + device_id = <5>; + status = "disabled"; + }; + + vinc12:vinc@5830ff8 { + vinc6_csi_sel = <2>; + vinc6_mipi_sel = <0xff>; + vinc6_isp_sel = <0>; + vinc6_isp_tx_ch = <0>; + vinc6_tdm_rx_sel = <0>; + vinc6_rear_sensor_sel = <0>; + vinc6_front_sensor_sel = <0>; + vinc6_sensor_list = <0>; + device_id = <6>; + status = "disabled"; + }; + + vinc13:vinc@5830ff4 { + vinc7_csi_sel = <2>; + vinc7_mipi_sel = <0xff>; + vinc7_isp_sel = <0>; + vinc7_isp_tx_ch = <0>; + vinc7_tdm_rx_sel = <0>; + vinc7_rear_sensor_sel = <0>; + vinc7_front_sensor_sel = <0>; + vinc7_sensor_list = <0>; + device_id = <7>; + status = "disabled"; + }; + + vinc20:vinc@5832000 { + vinc8_csi_sel = <0>; + vinc8_mipi_sel = <0>; + vinc8_isp_sel = <4>; + vinc8_isp_tx_ch = <2>; + vinc8_tdm_rx_sel = <0>; + vinc8_rear_sensor_sel = <0>; + vinc8_front_sensor_sel = <0>; + vinc8_sensor_list = <0>; + device_id = <8>; + work_mode = <0x0>; + status = "okay"; + }; + + vinc21:vinc@5831ffc { + vinc9_csi_sel = <2>; + vinc9_mipi_sel = <0xff>; + vinc9_isp_sel = <0>; + vinc9_isp_tx_ch = <0>; + vinc9_tdm_rx_sel = <0>; + vinc9_rear_sensor_sel = <0>; + vinc9_front_sensor_sel = <0>; + vinc9_sensor_list = <0>; + device_id = <9>; + status = "disabled"; + }; + + vinc22:vinc@5831ff8 { + vinc10_csi_sel = <2>; + vinc10_mipi_sel = <0xff>; + vinc10_isp_sel = <0>; + vinc10_isp_tx_ch = <0>; + vinc10_tdm_rx_sel = <0>; + vinc10_rear_sensor_sel = <0>; + vinc10_front_sensor_sel = <0>; + vinc10_sensor_list = <0>; + device_id = <10>; + status = "disabled"; + }; + + vinc23:vinc@5831ff4 { + vinc11_csi_sel = <2>; + vinc11_mipi_sel = <0xff>; + vinc11_isp_sel = <0>; + vinc11_isp_tx_ch = <0>; + vinc11_tdm_rx_sel = <0>; + vinc11_rear_sensor_sel = <0>; + vinc11_front_sensor_sel = <0>; + vinc11_sensor_list = <0>; + device_id = <11>; + status = "disabled"; + }; + + vinc30:vinc@5833000 { + vinc12_csi_sel = <0>; + vinc12_mipi_sel = <0>; + vinc12_isp_sel = <4>; + vinc12_isp_tx_ch = <3>; + vinc12_tdm_rx_sel = <0>; + vinc12_rear_sensor_sel = <0>; + vinc12_front_sensor_sel = <0>; + vinc12_sensor_list = <0>; + device_id = <12>; + work_mode = <0x0>; + status = "okay"; + }; + + vinc31:vinc@5832ffc { + vinc13_csi_sel = <2>; + vinc13_mipi_sel = <0xff>; + vinc13_isp_sel = <0>; + vinc13_isp_tx_ch = <0>; + vinc13_tdm_rx_sel = <0>; + vinc13_rear_sensor_sel = <0>; + vinc13_front_sensor_sel = <0>; + vinc13_sensor_list = <0>; + device_id = <13>; + status = "disabled"; + }; + + vinc32:vinc@5832ff8 { + vinc14_csi_sel = <2>; + vinc14_mipi_sel = <0xff>; + vinc14_isp_sel = <0>; + vinc14_isp_tx_ch = <0>; + vinc14_tdm_rx_sel = <0>; + vinc14_rear_sensor_sel = <0>; + vinc14_front_sensor_sel = <0>; + vinc14_sensor_list = <0>; + device_id = <14>; + status = "disabled"; + }; + + vinc33:vinc@5832ff4 { + vinc15_csi_sel = <2>; + vinc15_mipi_sel = <0xff>; + vinc15_isp_sel = <0>; + vinc15_isp_tx_ch = <0>; + vinc15_tdm_rx_sel = <0>; + vinc15_rear_sensor_sel = <0>; + vinc15_front_sensor_sel = <0>; + vinc15_sensor_list = <0>; + device_id = <15>; + status = "disabled"; + }; + + vinc40:vinc@5834000 { + vinc16_csi_sel = <3>; + vinc16_mipi_sel = <0xff>; + vinc16_isp_sel = <5>; + vinc16_isp_tx_ch = <0>; + vinc16_tdm_rx_sel = <0>; + vinc16_rear_sensor_sel = <1>; + vinc16_front_sensor_sel = <1>; + vinc16_sensor_list = <0>; + device_id = <16>; + status = "okay"; + }; + + vinc50:vinc@5835000 { + vinc17_csi_sel = <3>; + vinc17_mipi_sel = <0xff>; + vinc17_isp_sel = <5>; + vinc17_isp_tx_ch = <1>; + vinc17_tdm_rx_sel = <0>; + vinc17_rear_sensor_sel = <1>; + vinc17_front_sensor_sel = <1>; + vinc17_sensor_list = <0>; + device_id = <17>; + status = "okay"; + }; +}; + +&twi6 { + clock-frequency = <400000>; + pinctrl-0 = <&s_twi0_pins_default>; + pinctrl-1 = <&s_twi0_pins_sleep>; + pinctrl-names = "default", "sleep"; + device_type = "twi6"; + /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */ + twi_drv_used = <1>; + no_suspend = <1>; + status = "okay"; + + axp1530: axp1530@36{ + compatible = "ext,axp1530"; + status = "okay"; + reg = <0x36>; + + wakeup-source; + + regulators{ + reg_ext_axp1530_dcdc1: dcdc1 { + regulator-name = "axp1530-dcdc1"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + regulator-step-delay-us = <25>; + regulator-final-delay-us = <50>; + regulator-always-on; + }; + + reg_ext_axp1530_dcdc2: dcdc2 { + regulator-name = "axp1530-dcdc2"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1540000>; + regulator-step-delay-us = <25>; + regulator-final-delay-us = <50>; + regulator-ramp-delay = <200>; /* FIXME */ + regulator-always-on; + }; + + reg_ext_axp1530_dcdc3: dcdc3 { + regulator-name = "axp1530-dcdc3"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1840000>; + regulator-step-delay-us = <25>; + regulator-final-delay-us = <50>; + regulator-always-on; + }; + + reg_ext_axp1530_aldo1: ldo1 { + regulator-name = "axp1530-aldo1"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-step-delay-us = <25>; + regulator-final-delay-us = <50>; + }; + + reg_ext_axp1530_dldo1: ldo2 { + regulator-name = "axp1530-dldo1"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-step-delay-us = <25>; + regulator-final-delay-us = <50>; + }; + }; + virtual-ext-dcdc1 { + compatible = "xpower-vregulator,ext-dcdc1"; + dcdc1-supply = <®_ext_axp1530_dcdc1>; + }; + virtual-ext-dcdc2 { + compatible = "xpower-vregulator,ext-dcdc2"; + dcdc2-supply = <®_ext_axp1530_dcdc2>; + }; + virtual-ext-dcdc3 { + compatible = "xpower-vregulator,ext-dcdc3"; + dcdc3-supply = <®_ext_axp1530_dcdc3>; + }; + virtual-ext-aldo1 { + compatible = "xpower-vregulator,ext-aldo1"; + aldo1-supply = <®_ext_axp1530_aldo1>; + }; + virtual-ext-dldo1 { + compatible = "xpower-vregulator,ext-dldo1"; + dldo1-supply = <®_ext_axp1530_dldo1>; + }; + + }; + + pmu0: pmu@34 { + compatible = "x-powers,axp2202"; + reg = <0x34>; + status = "okay"; + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; + interrupt-parent = <&nmi_intc>; + x-powers,drive-vbus-en; + pmu_reset = <0>; + pmu_irq_wakeup = <1>; + pmu_hot_shutdown = <1>; + pmu_over_current = <1>; + pmu_hot_shutdown_value = <125>; + wakeup-source; + + usb_power_supply: usb_power_supply { + compatible = "x-powers,axp2202-usb-power-supply"; + status = "okay"; + + pmu_usbpc_vol = <4600>; + pmu_usbpc_cur = <500>; + pmu_usbad_vol = <4000>; + pmu_usbad_cur = <2500>; + pmu_usb_typec_used = <1>; + wakeup_usb_in; + wakeup_usb_out; + wakeup_typec_in; + wakeup_typec_out; + + det_acin_supply = <&gpio_power_supply>; + pmu_acin_usbid_drv = <&pio PH 12 GPIO_ACTIVE_LOW>; + pmu_vbus_det_gpio = <&pio PH 13 GPIO_ACTIVE_LOW>; + }; + + gpio_power_supply: gpio_power_supply { + compatible = "x-powers,gpio-supply"; + status = "disabled"; + pmu_acin_det_gpio = <&pio PH 14 GPIO_ACTIVE_LOW>; + det_usb_supply = <&usb_power_supply>; + }; + + bat_power_supply: bat-power-supply { + compatible = "x-powers,axp2202-bat-power-supply"; + param = <&axp2202_parameter>; + status = "disabled"; + + pmu_chg_ic_temp = <0>; + + pmu_battery_rdc= <147>; + pmu_battery_cap = <1771>; + pmu_runtime_chgcur = <1000>; + pmu_suspend_chgcur = <1500>; + pmu_shutdown_chgcur = <1500>; + pmu_init_chgvol = <4200>; + pmu_battery_warning_level1 = <15>; + pmu_battery_warning_level2 = <0>; + pmu_chgled_func = <0>; + pmu_chgled_type = <0>; + pmu_bat_para1 = <0>; + pmu_bat_para2 = <0>; + pmu_bat_para3 = <0>; + pmu_bat_para4 = <0>; + pmu_bat_para5 = <0>; + pmu_bat_para6 = <0>; + pmu_bat_para7 = <2>; + pmu_bat_para8 = <3>; + pmu_bat_para9 = <4>; + pmu_bat_para10 = <6>; + pmu_bat_para11 = <9>; + pmu_bat_para12 = <14>; + pmu_bat_para13 = <26>; + pmu_bat_para14 = <38>; + pmu_bat_para15 = <49>; + pmu_bat_para16 = <52>; + pmu_bat_para17 = <56>; + pmu_bat_para18 = <60>; + pmu_bat_para19 = <64>; + pmu_bat_para20 = <70>; + pmu_bat_para21 = <77>; + pmu_bat_para22 = <83>; + pmu_bat_para23 = <87>; + pmu_bat_para24 = <90>; + pmu_bat_para25 = <95>; + pmu_bat_para26 = <99>; + pmu_bat_para27 = <99>; + pmu_bat_para28 = <100>; + pmu_bat_para29 = <100>; + pmu_bat_para30 = <100>; + pmu_bat_para31 = <100>; + pmu_bat_para32 = <100>; + + pmu_bat_temp_enable = <1>; + pmu_jetia_en = <1>; + pmu_bat_charge_ltf = <1738>; //-5 + pmu_bat_charge_htf = <150>; //60 + pmu_bat_shutdown_ltf = <2125>; //-10 + pmu_bat_shutdown_htf = <130>; //65 + pmu_jetia_cool = <1390>; //0 + pmu_jetia_warm = <206>; //50 + pmu_jcool_ifall = <2>;//75% + pmu_jwarm_ifall = <2>;//75% + pmu_bat_temp_para1 = <4592>; //SDNT-25 + pmu_bat_temp_para2 = <2781>; //-15 + pmu_bat_temp_para3 = <2125>; //-10 + pmu_bat_temp_para4 = <1738>; //-5 + pmu_bat_temp_para5 = <1390>;//0 + pmu_bat_temp_para6 = <1118>; //5 + pmu_bat_temp_para7 = <906>; //10 + pmu_bat_temp_para8 = <606>; //20 + pmu_bat_temp_para9 = <415>; //30 + pmu_bat_temp_para10 = <290>; //40 + pmu_bat_temp_para11 = <244>; //45 + pmu_bat_temp_para12 = <206>; //50 + pmu_bat_temp_para13 = <175>; //55 + pmu_bat_temp_para14 = <150>; //60 + pmu_bat_temp_para15 = <110>; //70 + pmu_bat_temp_para16 = <83>; //80 + + wakeup_bat_out; + /* wakeup_bat_in; */ + /* wakeup_bat_charging; */ + /* wakeup_bat_charge_over; */ + /* wakeup_low_warning1; */ + /* wakeup_low_warning2; */ + /* wakeup_bat_untemp_work; */ + /* wakeup_bat_ovtemp_work; */ + /* wakeup_bat_untemp_chg; */ + /* wakeup_bat_ovtemp_chg; */ + }; + + powerkey0: powerkey@0 { + status = "okay"; + compatible = "x-powers,axp2101-pek"; + pmu_powkey_off_time = <6000>; + pmu_powkey_off_func = <0>; + pmu_powkey_off_en = <1>; + pmu_powkey_long_time = <1500>; + pmu_powkey_on_time = <512>; + wakeup_rising; + wakeup_falling; + }; + + regulator0: regulators@0 { + reg_dcdc1: dcdc1 { + regulator-name = "axp2202-dcdc1"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1540000>; + regulator-ramp-delay = <250>; + regulator-enable-ramp-delay = <1000>; + regulator-boot-on; + regulator-always-on; + }; + reg_dcdc2: dcdc2 { + regulator-name = "axp2202-dcdc2"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + regulator-ramp-delay = <250>; + regulator-enable-ramp-delay = <1000>; + regulator-boot-on; + regulator-always-on; + }; + reg_dcdc3: dcdc3 { + regulator-name = "axp2202-dcdc3"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1840000>; + regulator-ramp-delay = <250>; + regulator-enable-ramp-delay = <1000>; + regulator-always-on; + }; + reg_dcdc4: dcdc4 { + regulator-name = "axp2202-dcdc4"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <3700000>; + regulator-ramp-delay = <250>; + regulator-enable-ramp-delay = <1000>; + }; + reg_rtcldo: rtcldo { + /* RTC_LDO is a fixed, always-on regulator */ + regulator-name = "axp2202-rtcldo"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + reg_aldo1: aldo1 { + regulator-name = "axp2202-aldo1"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + }; + reg_aldo2: aldo2 { + regulator-name = "axp2202-aldo2"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + }; + reg_aldo3: aldo3 { + regulator-name = "axp2202-aldo3"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + regulator-always-on; + regulator-boot-on; + }; + reg_aldo4: aldo4 { + regulator-name = "axp2202-aldo4"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + regulator-always-on; + regulator-boot-on; + }; + reg_bldo1: bldo1 { + regulator-name = "axp2202-bldo1"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + regulator-always-on; + regulator-boot-on; + }; + reg_bldo2: bldo2 { + regulator-name = "axp2202-bldo2"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + regulator-boot-on; + regulator-always-on; + }; + reg_bldo3: bldo3 { + regulator-name = "axp2202-bldo3"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + }; + reg_bldo4: bldo4 { + regulator-name = "axp2202-bldo4"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + }; + reg_cldo1: cldo1 { + regulator-name = "axp2202-cldo1"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + }; + reg_cldo2: cldo2 { + regulator-name = "axp2202-cldo2"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + }; + reg_cldo3: cldo3 { + regulator-name = "axp2202-cldo3"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-ramp-delay = <2500>; + regulator-enable-ramp-delay = <1000>; + regulator-boot-on; + regulator-always-on; + }; + reg_cldo4: cldo4 { + regulator-name = "axp2202-cldo4"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3500000>; + regulator-enable-ramp-delay = <1000>; + regulator-boot-on; + regulator-always-on; + }; + reg_cpusldo: cpusldo { + /* cpus */ + regulator-name = "axp2202-cpusldo"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1400000>; + regulator-boot-on; + regulator-always-on; + }; + reg_vmid: vmid { + regulator-name = "axp2202-vmid"; + regulator-enable-ramp-delay = <1000>; + }; + reg_drivevbus: drivevbus { + regulator-name = "axp2202-drivevbus"; + regulator-enable-ramp-delay = <1000>; + drivevbusin-supply = <®_vmid>; + }; + }; + + virtual-dcdc1 { + compatible = "xpower-vregulator,dcdc1"; + dcdc1-supply = <®_dcdc1>; + }; + virtual-dcdc2 { + compatible = "xpower-vregulator,dcdc2"; + dcdc2-supply = <®_dcdc2>; + }; + virtual-dcdc3 { + compatible = "xpower-vregulator,dcdc3"; + dcdc3-supply = <®_dcdc3>; + }; + virtual-dcdc4 { + compatible = "xpower-vregulator,dcdc4"; + dcdc4-supply = <®_dcdc4>; + }; + virtual-rtcldo { + compatible = "xpower-vregulator,rtcldo"; + rtcldo-supply = <®_rtcldo>; + }; + virtual-aldo1 { + compatible = "xpower-vregulator,aldo1"; + aldo1-supply = <®_aldo1>; + }; + virtual-aldo2 { + compatible = "xpower-vregulator,aldo2"; + aldo2-supply = <®_aldo2>; + }; + virtual-aldo3 { + compatible = "xpower-vregulator,aldo3"; + aldo3-supply = <®_aldo3>; + }; + virtual-aldo4 { + compatible = "xpower-vregulator,aldo4"; + aldo4-supply = <®_aldo4>; + }; + virtual-bldo1 { + compatible = "xpower-vregulator,bldo1"; + bldo1-supply = <®_bldo1>; + }; + virtual-bldo2 { + compatible = "xpower-vregulator,bldo2"; + bldo2-supply = <®_bldo2>; + }; + virtual-bldo3 { + compatible = "xpower-vregulator,bldo3"; + bldo3-supply = <®_bldo3>; + }; + virtual-bldo4 { + compatible = "xpower-vregulator,bldo4"; + bldo4-supply = <®_bldo4>; + }; + virtual-cldo1 { + compatible = "xpower-vregulator,cldo1"; + cldo1-supply = <®_cldo1>; + }; + virtual-cldo2 { + compatible = "xpower-vregulator,cldo2"; + cldo2-supply = <®_cldo2>; + }; + virtual-cldo3 { + compatible = "xpower-vregulator,cldo3"; + cldo3-supply = <®_cldo3>; + }; + virtual-cldo4 { + compatible = "xpower-vregulator,cldo4"; + cldo4-supply = <®_cldo4>; + }; + virtual-cpusldo { + compatible = "xpower-vregulator,cpusldo"; + cpusldo-supply = <®_cpusldo>; + }; + virtual-drivevbus { + compatible = "xpower-vregulator,drivevbus"; + drivevbus-supply = <®_drivevbus>; + }; + axp_gpio0: axp_gpio@0 { + gpio-controller; + #size-cells = <0>; + #gpio-cells = <6>; + status = "okay"; + }; + }; +}; + +/{ + axp2202_parameter:axp2202-parameter { + select = "battery-model"; + + battery-model { + parameter = /bits/ 8 <0x01 0xf5 0x40 0x00 0x1b 0x1e 0x28 0x0f + 0x0c 0x1e 0x32 0x02 0x14 0x05 0x0a 0x04 + 0x74 0xfb 0xc8 0x0d 0x43 0x10 0x36 0xfb + 0x46 0x01 0xea 0x0d 0x2a 0x06 0x36 0x05 + 0xf4 0x0a 0xb5 0x0f 0x42 0x0e 0xe6 0x09 + 0x9a 0x0e 0x42 0x0e 0x3b 0x04 0x2d 0x04 + 0x23 0x09 0x18 0x0e 0x09 0x0e 0x04 0x08 + 0xf7 0x0d 0xda 0x0d 0xd0 0x03 0xbb 0x03 + 0x9d 0x08 0x7f 0x0d 0x6a 0x0d 0x55 0x07 + 0xc2 0x57 0x2b 0x27 0x1e 0x0d 0x14 0x08 + 0xc5 0x98 0x7e 0x66 0x4e 0x44 0x38 0x1a + 0x12 0x0a 0xf6 0x00 0x00 0xf6 0x00 0xf6 + 0x00 0xfb 0x00 0x00 0xfb 0x00 0x00 0xfb + 0x00 0x00 0xf6 0x00 0x00 0xf6 0x00 0xf6 + 0x00 0xfb 0x00 0x00 0xfb 0x00 0x00 0xfb + 0x00 0x00 0xf6 0x00 0x00 0xf6 0x00 0xf6>; + }; + }; +}; + +&twi7 { + clock-frequency = <400000>; + pinctrl-0 = <&s_twi1_pins_default>; + pinctrl-1 = <&s_twi1_pins_sleep>; + pinctrl-names = "default", "sleep"; + /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */ + twi_drv_used = <1>; + twi-supply = <®_aldo3>; + status = "okay"; +}; + +&twi8 { + clock-frequency = <400000>; + pinctrl-0 = <&s_twi2_pins_default>; + pinctrl-1 = <&s_twi2_pins_sleep>; + pinctrl-names = "default", "sleep"; + /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */ + twi_drv_used = <1>; + twi-supply = <®_aldo3>; + status = "okay"; +}; + +&sdc2 { + non-removable; + bus-width = <8>; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + mmc-hs400-1_8v; + no-sdio; + no-sd; + ctl-spec-caps = <0x308>; + cap-mmc-highspeed; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + mmc-bootpart-noacc; + /*cap-hsq;*/ + cqe-on; + ctl-cmdq-md = <0x2>; + max-frequency = <150000000>; + cd-gpios = <&pio PC 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + /*broken-cd;*/ + vmmc-supply = <®_cldo3>; + /*emmc io vol 3.3v*/ + /*vqmmc-supply = <®_aldo1>;*/ + /*emmc io vol 1.8v*/ + vqmmc-supply = <®_cldo1>; + status = "okay"; +}; + +&sdc0 { + bus-width = <4>; + cd-gpios = <&pio PF 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + non-removable; + /*broken-cd;*/ + /*cd-inverted*/ + /*data3-detect;*/ + /*card-pwr-gpios = <&pio PH 14 1 1 2 0xffffffff>;*/ + cd-used-24M; + cd-set-debounce = <0x1>; + cap-sd-highspeed; + sd-uhs-sdr50; + sd-uhs-ddr50; + sd-uhs-sdr104; + no-sdio; + no-mmc; + sunxi-power-save-mode; + /*sunxi-dis-signal-vol-sw;*/ + max-frequency = <150000000>; + ctl-spec-caps = <0x408>; + sunxi-dly-208M = <0xff 1 0xff 0xff 0xff 0xff>; + vmmc-supply = <®_cldo3>; + vqmmc33sw-supply = <®_cldo3>; + vdmmc33sw-supply = <®_cldo3>; + vqmmc18sw-supply = <®_bldo3>; + vdmmc18sw-supply = <®_bldo3>; + status = "okay"; +}; + +&sdc1 { + bus-width = <4>; + no-mmc; + no-sd; + cap-sd-highspeed; + /*sd-uhs-sdr12*/ + sd-uhs-sdr25; + sd-uhs-sdr50; + sd-uhs-ddr50; + sd-uhs-sdr104; + /*sunxi-power-save-mode;*/ + sunxi-dis-signal-vol-sw; + cap-sdio-irq; + keep-power-in-suspend; + ignore-pm-notify; + max-frequency = <150000000>; + ctl-spec-caps = <0x408>; + status = "okay"; +}; + +&rfkill { + compatible = "allwinner,sunxi-rfkill"; + chip_en; + power_en; + pinctrl-0; + pinctrl-names; + status = "okay"; + + /* wlan session */ + wlan { + compatible = "allwinner,sunxi-wlan"; + clocks; + clock-names; + wlan_power = "axp2202-aldo3", "axp2202-bldo1"; /* vcc-pl/vcc-pg/vcc-pm */ + wlan_power_vol= <3300000>, <1800000>; + wlan_busnum = <0x1>; + wlan_regon = <&r_pio PM 1 GPIO_ACTIVE_HIGH>; + wlan_hostwake = <&r_pio PM 0 GPIO_ACTIVE_HIGH>; + wakeup-source; + }; + + /* bt session */ + bt { + compatible = "allwinner,sunxi-bt"; + clocks; + clock-names; + bt_power = "axp2202-aldo3", "axp2202-bldo1"; /* vcc-pl/vcc-pg/vcc-pm */ + bt_power_vol = <3300000>, <1800000>; + bt_rst_n = <&r_pio PM 2 GPIO_ACTIVE_LOW>; + }; +}; + +&addr_mgt { + compatible = "allwinner,sunxi-addr_mgt"; + type_addr_wifi = <0x0>; + type_addr_bt = <0x0>; + type_addr_eth = <0x0>; + status = "okay"; +}; + +&btlpm { + compatible = "allwinner,sunxi-btlpm"; + uart_index = <0x1>; + bt_wake = <&r_pio PM 3 GPIO_ACTIVE_HIGH>; + bt_hostwake = <&r_pio PM 4 GPIO_ACTIVE_HIGH>; + wakeup-source; + status = "okay"; +}; + +/* + *usb_port_type: usb mode. 0-device, 1-host, 2-otg. + *usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect. + *usb_detect_mode: 0-thread scan, 1-id gpio interrupt. + *usb_id_gpio: gpio for id detect. + *usb_det_vbus_gpio: gpio for id detect. gpio or "axp_ctrl"; + *usb_wakeup_suspend:0-SUPER_STANDBY, 1-USB_STANDBY. + */ +&usbc0 { + device_type = "usbc0"; + usb_port_type = <0x2>; + usb_detect_type = <0x2>; + usb_detect_mode = <0x0>; + usb_id_gpio; + usb_det_vbus_gpio = "axp_ctrl"; + det_vbus_supply = <&usb_power_supply>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <1>; + usb_luns = <3>; + usb_serial_unique = <0>; + usb_serial_number = "20080411"; + rndis_wceis = <1>; + wakeup-source; + status = "okay"; +}; + +&udc { + det_vbus_supply = <&usb_power_supply>; + phy_range = <0x153>; + status = "okay"; +}; + +&ehci0 { + drvvbus-supply = <®_usb0_vbus>; + phy_range = <0x153>; + status = "okay"; +}; + +&ohci0 { + drvvbus-supply = <®_usb0_vbus>; + phy_range = <0x153>; + status = "okay"; +}; + +&usbc1 { + device_type = "usbc1"; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0>; + status = "okay"; +}; + +&ehci1 { + drvvbus-supply = <®_usb1_vbus>; + phy_range = <0x153>; + status = "okay"; +}; + +&ohci1 { + drvvbus-supply = <®_usb1_vbus>; + phy_range = <0x153>; + status = "okay"; +}; + +/* + * clk-freq-24M : use Internal 24M reference clock + * clk-freq-100M: use Internal 100M reference clock + * + * Pick one of two. + */ + +&combophy { + clk-freq-100M; + phy_use_sel = <1>; /* 0:PCIE; 1:USB3 */ + status = "okay"; +}; + +&gpu { + gpu_idle = <1>; + dvfs_status = <1>; + mali-supply = <®_dcdc2>; +}; + +/*---------------------------------------------------------------------------------- +disp init configuration + +disp_mode (0:screen0) +screenx_output_type (0:none; 1:lcd; 2:tv; 3:hdmi;5:vdpo) +screenx_output_mode (used for hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50) + (5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60) +screenx_output_format (for hdmi, 0:RGB 1:yuv444 2:yuv422 3:yuv420) +screenx_output_bits (for hdmi, 0:8bit 1:10bit 2:12bit 2:16bit) +screenx_output_eotf (for hdmi, 0:reserve 4:SDR 16:HDR10 18:HLG) +screenx_output_cs (for hdmi, 0:undefined 257:BT709 260:BT601 263:BT2020) +screenx_output_dvi_hdmi (for hdmi, 0:undefined 1:dvi mode 2:hdmi mode) +screen0_output_range (for hdmi, 0:default 1:full 2:limited) +screen0_output_scan (for hdmi, 0:no data 1:overscan 2:underscan) +screen0_output_aspect_ratio (for hdmi, 8-same as original picture 9-4:3 10-16:9 11-14:9) +fbx format (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444) +fbx pixel sequence (0:ARGB 1:BGRA 2:ABGR 3:RGBA) +fb0_scaler_mode_enable(scaler mode enable, used FE) +fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0) +lcdx_backlight (lcd init backlight,the range:[0,256],default:197 +lcdx_yy (lcd init screen bright/contrast/saturation/hue, value:0~100, default:50/50/57/50) +lcd0_contrast (LCD contrast, 0~100) +lcd0_saturation (LCD saturation, 0~100) +lcd0_hue (LCD hue, 0~100) +framebuffer software rotation setting: +disp_rotation_used: (0:disable; 1:enable,you must set fbX_width to lcd_y, +set fbX_height to lcd_x) +degreeX: (X:screen index; 0:0 degree; 1:90 degree; 3:270 degree) +degreeX_Y: (X:screen index; Y:layer index 0~15; 0:0 degree; 1:90 degree; 3:270 degree) +devX_output_type : config output type in bootGUI framework in UBOOT-2018. + (0:none; 1:lcd; 2:tv; 4:hdmi;) +devX_output_mode : config output resolution(see include/video/sunxi_display2.h) of bootGUI framework in UBOOT-2018 +devX_screen_id : config display index of bootGUI framework in UBOOT-2018 +devX_do_hpd : whether do hpd detectation or not in UBOOT-2018 +chn_cfg_mode : Hardware DE channel allocation config. 0:single display with 6 + channel, 1:dual display with 4 channel in main display and 2 channel in second + display, 2:dual display with 3 channel in main display and 3 channel in second + in display. +----------------------------------------------------------------------------------*/ +&disp { + disp_init_enable = <1>; + disp_mode = <0>; + + screen0_output_type = <1>; + screen0_output_mode = <4>; + screen0_to_lcd_index = <0>; + + screen1_output_type = <3>; + screen1_output_mode = <5>; + screen1_to_lcd_index = <2>; + + screen1_output_format = <0>; + screen1_output_bits = <0>; + screen1_output_eotf = <4>; + screen1_output_cs = <257>; + screen1_output_dvi_hdmi = <2>; + screen1_output_range = <2>; + screen1_output_scan = <0>; + screen1_output_aspect_ratio = <8>; + + dev0_output_type = <1>; + dev0_output_mode = <4>; + dev0_screen_id = <0>; + dev0_do_hpd = <0>; + + dev1_output_type = <4>; + dev1_output_mode = <10>; + dev1_screen_id = <1>; + dev1_do_hpd = <1>; + + def_output_dev = <0>; + hdmi_mode_check = <1>; + + display_device_num = <3>; + + primary_display_type = "LCD"; + primary_de_id = <0>; + primary_framebuffer_width = <1280>; + primary_framebuffer_height = <800>; + primary_dpix = <213>; + primary_dpiy = <213>; + + extend0_display_type = "HDMI"; + extend0_de_id = <1>; + extend0_framebuffer_width = <1920>; + extend0_framebuffer_height = <1080>; + extend0_dpix = <160>; + extend0_dpiy = <160>; + + extend1_display_type = "DP"; + extend1_de_id = <1>; + extend1_framebuffer_width = <1920>; + extend1_framebuffer_height = <1080>; + extend1_dpix = <160>; + extend1_dpiy = <160>; + + fb_format = <0>; + fb_num = <2>; + /**/ + fb0_map = <0 1 0 16>; + fb0_width = <1280>; + fb0_height = <800>; + /**/ + fb1_map = <1 1 0 16>; + fb1_width = <1920>; + fb1_height = <1080>; + /**/ + fb2_map = <1 0 0 16>; + fb2_width = <1280>; + fb2_height = <720>; + /**/ + fb3_map = <1 1 0 16>; + fb3_width = <300>; + fb3_height = <300>; + + chn_cfg_mode = <3>; + disp_para_zone = <1>; + + /* dual display clock constraints: + 1. two tcons cannot share a parent clock. + 2. when dsi uses ccu clock, combphy and corresponding tcon use the + same parent clock. + */ + assigned-clocks = <&ccu CLK_DE>, + <&ccu CLK_VO0_TCONLCD0>, + <&ccu CLK_VO0_TCONLCD1>, + <&ccu CLK_VO1_TCONLCD0>, + <&ccu CLK_TCONTV>, + <&ccu CLK_TCONTV1>, + <&ccu CLK_COMBPHY0>, + <&ccu CLK_COMBPHY1>, + <&ccu CLK_DSI0>, + <&ccu CLK_DSI1>, + <&ccu CLK_EDP>; + assigned-clock-parents = <&ccu CLK_PLL_VIDEO3_4X>, + <&ccu CLK_PLL_VIDEO0_4X>, + <&ccu CLK_PLL_VIDEO1_4X>, + <&ccu CLK_PLL_VIDEO1_4X>, + <&ccu CLK_PLL_VIDEO1_4X>, + <&ccu CLK_PLL_VIDEO1_4X>, + <&ccu CLK_PLL_VIDEO0_4X>, + <&ccu CLK_PLL_VIDEO1_4X>, + <&ccu CLK_PLL_PERI0_150M>, + <&ccu CLK_PLL_PERI0_150M>, + <&ccu CLK_PLL_VIDEO1_4X>; + assigned-clock-rates = <600000000>; + + cldo3-supply = <®_cldo3>; + dcdc4-supply = <®_dcdc4>; + cldo1-supply = <®_cldo1>; + + pwms = <&pwm0 4 5000000 0>, <&pwm0 5 5000000 0>; + pwm-names = "lvds0_backlight", "lvds2_backlight"; + + power-domains = <&pd1 A523_PCK_DE>, <&pd1 A523_PCK_VO0>, <&pd1 A523_PCK_VO1>; + power-domain-names = "pd_de", "pd_vo0", "pd_vo1"; + + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm0_0_pin_active>; + pinctrl-1 = <&pwm0_0_pin_sleep>; +}; + +&lcd0 { + lcd_used = <1>; + + lcd_driver_name = "bp101wx1"; + lcd_backlight = <50>; + lcd_if = <3>; + + lcd_x = <1280>; + lcd_y = <800>; + lcd_width = <150>; + lcd_height = <94>; + lcd_dclk_freq = <75>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <4>; + lcd_pwm_freq = <50000>; + lcd_pwm_pol = <0>; + lcd_pwm_max_limit = <255>; + lcd_pwm_name = "lvds0_backlight"; + + lcd_hbp = <88>; + lcd_ht = <1451>; + lcd_hspw = <18>; + lcd_vbp = <23>; + lcd_vt = <860>; + lcd_vspw = <10>; + + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <0>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_hv_clk_phase = <0>; + lcd_hv_sync_polarity= <0>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_en = <0>; + lcd_fsync_act_time = <1000>; + lcd_fsync_dis_time = <1000>; + lcd_fsync_pol = <0>; + lcd_start_delay = <5>; + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + lcd_pin_power = "cldo3"; + lcd_power = "dcdc4"; + lcd_power1 = "cldo1"; + lcd_gpio_0 = <&pio PI 2 GPIO_ACTIVE_HIGH>; //reset + lcd_bl_en = <&pio PI 2 GPIO_ACTIVE_HIGH>; + + pinctrl-0 = <&lvds0_pins_a>; + pinctrl-1 = <&lvds0_pins_b>; + lvds0_pinctrl-0 = <&lvds0_pins_a>; + lvds0_pinctrl-1 = <&lvds0_pins_b>; + lvds1_pinctrl-0 = <&lvds1_pins_a>; + lvds1_pinctrl-1 = <&lvds1_pins_b>; + dsi0_pinctrl-0 = <&dsi0_4lane_pins_a>; + dsi0_pinctrl-1 = <&dsi0_4lane_pins_b>; + dual_dsi_pinctrl-0 = <&dsi0_4lane_pins_a>, <&dsi1_4lane_pins_a>; + dual_dsi_pinctrl-1 = <&dsi0_4lane_pins_b>, <&dsi1_4lane_pins_b>; + dual_lvds0_pinctrl-0 = <&lvds0_pins_a>, <&lvds1_pins_a>; + dual_lvds0_pinctrl-1 = <&lvds0_pins_b>, <&lvds1_pins_b>; +}; + +&lcd1 { + lcd_used = <1>; + status = "okay"; + lcd_driver_name = "SQ101D_Q5DI404_84H501"; + lcd_backlight = <200>; + lcd_if = <4>; + + lcd_x = <1200>; + lcd_y = <1920>; + lcd_width = <136>; + lcd_height = <217>; + lcd_dclk_freq = <157>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <0>; + lcd_pwm_freq = <50000>; + lcd_pwm_pol = <0>; + lcd_pwm_max_limit = <255>; + + lcd_hbp = <50>; + lcd_ht = <1330>; + lcd_hspw = <10>; + lcd_vbp = <20>; + lcd_vt = <1960>; + lcd_vspw = <4>; + + lcd_frm = <0>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_start_delay = <5>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + lcd_dsi_if = <0>; + lcd_dsi_lane = <4>; + lcd_dsi_format = <0>; + lcd_dsi_te = <0>; + lcd_dsi_eotp = <0>; + + lcd_power1 = "cldo4"; + lcd_power2 = "cldo1"; + + // lcd_gpio_2 = <&pio PD 22 GPIO_ACTIVE_HIGH>; //reset + + pinctrl-0 = <&dsi1_4lane_pins_a>; + pinctrl-1 = <&dsi1_4lane_pins_b>; + + // lcd_bl_en = <&pio PH 16 GPIO_ACTIVE_HIGH>; + lcd_bl_0_percent = <5>; +}; + +&lcd2 { + lcd_used = <0>; + + lcd_driver_name = "bp101wx1"; + lcd_backlight = <50>; + lcd_if = <3>; + + lcd_x = <1280>; + lcd_y = <800>; + lcd_width = <150>; + lcd_height = <94>; + lcd_dclk_freq = <75>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <5>; + lcd_pwm_freq = <50000>; + lcd_pwm_pol = <0>; + lcd_pwm_max_limit = <255>; + lcd_pwm_name = "lvds2_backlight"; + + lcd_hbp = <88>; + lcd_ht = <1451>; + lcd_hspw = <18>; + lcd_vbp = <23>; + lcd_vt = <860>; + lcd_vspw = <10>; + + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <0>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_hv_clk_phase = <0>; + lcd_hv_sync_polarity= <0>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_en = <0>; + lcd_fsync_pol = <0>; + lcd_start_delay = <5>; + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + lcd_pin_power = "cldo3"; + lcd_power = "dcdc4"; + /* lvds_power & other interface power */ + lcd_bl_en = <&pio PI 5 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&lvds2_pins_a>; + pinctrl-1 = <&lvds2_pins_b>; + lvds2_pinctrl-0 = <&lvds2_pins_a>; + lvds2_pinctrl-1 = <&lvds2_pins_b>; + lvds3_pinctrl-0 = <&lvds3_pins_a>; + lvds3_pinctrl-1 = <&lvds3_pins_b>; + dual_lvds1_pinctrl-0 = <&lvds2_pins_a>, <&lvds3_pins_a>; + dual_lvds1_pinctrl-1 = <&lvds2_pins_b>, <&lvds3_pins_b>; +}; + +&edp0 { + // use if hardware reset pin is need + /* edp_hw_reset_pin = <&pio PH XX GPIO_ACTIVE_LOW>; */ + + edp_ssc_en = <0>; + edp_ssc_mode = <0>; + edp_psr_support = <0>; + edp_colordepth = <8>; /* 6/8/10/12/16 */ + edp_color_fmt = <0>; /* 0:RGB 1: YUV444 2: YUV422 */ + + lane0_sw = <0>; + lane0_pre = <0>; + lane1_sw = <0>; + lane1_pre = <0>; + lane2_sw = <0>; + lane2_pre = <0>; + lane3_sw = <0>; + lane3_pre = <0>; + efficient_training = <0>; + + sink_capacity_prefer = <1>; + edid_timings_prefer = <1>; + timings_fixed = <1>; + + edp_panel_used = <1>; + edp_panel_driver = "general_panel"; + edp_bl_en = <&pio PI 5 GPIO_ACTIVE_HIGH>; + edp_pwm_used = <1>; + edp_pwm_ch = <5>; + edp_pwm_freq = <50000>; + edp_pwm_pol = <0>; + edp_default_backlight = <200>; + edp_panel_power_0 = "edp-panel"; + + vcc-edp-supply = <®_bldo3>; + vdd-edp-supply = <®_dcdc2>; + edp-panel-supply = <®_dcdc4>; + status = "disabled"; + +}; + +&ve { + ve-supply = <®_dcdc2>; + + enable_setup_ve_freq = <0>; /* default disable */ + ve_freq_value = <624>; /* setup to 624MHz */ +}; + +/* audio dirver module -> audio codec */ +&codec { + tx-hub-en; + rx-sync-en; + + dac-vol = <63>; /* default value:63 range:0->63 */ + dacl-vol = <160>; /* default value:160 range:0->255 */ + dacr-vol = <160>; /* default value:160 range:0->255 */ + adc1-vol = <160>; /* default value:160 range:0->255 */ + adc2-vol = <160>; /* default value:160 range:0->255 */ + adc3-vol = <160>; /* default value:160 range:0->255 */ + lineout-gain = <31>; /* default value:31 range:0->31 */ + hpout-gain = <7>; /* default value:7 range:0->7 */ + adc1-gain = <31>; /* default value:31 range:0->31 */ + adc2-gain = <31>; /* default value:31 range:0->31 */ + adc3-gain = <31>; /* default value:31 range:0->31 */ + + /* to do: avcc-1.8 vdd33-3.3 cpvin-1.8 */ + avcc-external; + avcc-supply = <®_aldo4>; + avcc-vol = <1800000>; + vdd-external; + vdd-supply = <®_cldo3>; + vdd-vol = <3300000>; + cpvin-external; + cpvin-supply = <®_bldo3>; + cpvin-vol = <1800000>; + + pa-pin-max = <1>; + pa-pin-0 = <&r_pio PL 7 GPIO_ACTIVE_HIGH>; + pa-pin-level-0 = <1>; + pa-pin-msleep-0 = <0>; + + jack-det-level = <0>; + jack-det-threshold = <8>; + jack-det-debouce-time = <250>; + + /* extcon = <&usb_power_supply>; + * jack-swpin-mic-sel = <&pio PH 8 GPIO_ACTIVE_HIGH>; + * jack-swpin-hp-en = <&pio PH 15 GPIO_ACTIVE_HIGH>; + * jack-swpin-hp-sel = <&pio PH 11 GPIO_ACTIVE_HIGH>; + * jack-swmode-hp-off = <0x00>; + * jack-swmode-hp-usb = <0x11>; + * jack-swmode-hp-audio = <0x10>; + * jack-det-level = <1>; + * jack-det-threshold = <8>; + * jack-det-debouce-time = <250>; + */ + + status = "okay"; +}; + +&codec_plat { + status = "okay"; +}; + +&codec_mach { + soundcard-mach,jack-support = <1>; + status = "okay"; + soundcard-mach,cpu { + sound-dai = <&codec_plat>; + }; + soundcard-mach,codec { + sound-dai = <&codec>; + }; +}; + +&hdmi_codec { + extcon = <&hdmi>; + status = "okay"; +}; + +&edp_codec { + status = "disabled"; +}; + +/* audio dirver module -> owa */ +&owa_plat { + pinctrl-used; + pinctrl-names = "default","sleep"; + pinctrl-0 = <&owa_pins_a>; + pinctrl-1 = <&owa_pins_b>; + tx-hub-en; + status = "disabled"; +}; + +&owa_mach { + status = "disabled"; + soundcard-mach,cpu { + sound-dai = <&owa_plat>; + }; + soundcard-mach,codec { + }; +}; + +/* audio dirver module -> DMIC */ +&dmic_plat { + rx-chmap = <0x76543210>; + data-vol = <0xB0>; + rxdelaytime = <0>; + /* pinctrl-used; */ + /* pinctrl-names = "default","sleep"; */ + /* pinctrl-0 = <&dmic_pins_a>; */ + /* pinctrl-1 = <&dmic_pins_b>; */ + rx-sync-en; + status = "disabled"; +}; + +&dmic_mach { + status = "disabled"; + soundcard-mach,cpu { + sound-dai = <&dmic_plat>; + }; + soundcard-mach,codec { + }; +}; + +/* audio dirver module -> I2S/PCM */ +&i2s0_plat { + tdm-num = <0>; + tx-pin = <0>; + rx-pin = <0>; + pinctrl-used; + pinctrl-names = "default","sleep"; + pinctrl-0 = <&i2s0_pins_a &i2s0_pins_c &i2s0_pins_d>; + pinctrl-1 = <&i2s0_pins_b>; + tx-hub-en; + rx-sync-en; + status = "disabled"; +}; + +&i2s0_mach { + soundcard-mach,format = "i2s"; + soundcard-mach,frame-master = <&i2s0_cpu>; + soundcard-mach,bitclock-master = <&i2s0_cpu>; + /* soundcard-mach,frame-inversion; */ + /* soundcard-mach,bitclock-inversion; */ + soundcard-mach,slot-num = <2>; + soundcard-mach,slot-width = <32>; + soundcard-mach,capture-only; + status = "disabled"; + i2s0_cpu: soundcard-mach,cpu { + sound-dai = <&i2s0_plat>; + /* note: pll freq = 24.576M or 22.5792M * pll-fs */ + soundcard-mach,pll-fs = <1>; + /* note: + * mclk freq = mclk-fs * 12.288M or 11.2896M (when mclk-fp ture) + * mclk freq = mclk-fs * pcm rate (when mclk-fp false) + */ + soundcard-mach,mclk-fp; + soundcard-mach,mclk-fs = <1>; + }; + i2s0_codec: soundcard-mach,codec { + }; +}; + +&i2s1_plat { + tdm-num = <1>; + tx-pin = <0>; + rx-pin = <0>; + /* pinctrl-used; */ + /* pinctrl-names= "default","sleep"; */ + /* pinctrl-0 = <&i2s1_pins_a &i2s1_pins_c &i2s1_pins_d>; */ + /* pinctrl-1 = <&i2s1_pins_b>; */ + tx-hub-en; + rx-sync-en; + status = "disabled"; +}; + +&i2s1_mach { + soundcard-mach,format = "i2s"; + soundcard-mach,frame-master = <&i2s1_cpu>; + soundcard-mach,bitclock-master = <&i2s1_cpu>; + /* soundcard-mach,frame-inversion; */ + /* soundcard-mach,bitclock-inversion; */ + soundcard-mach,slot-num = <2>; + soundcard-mach,slot-width = <32>; + status = "disabled"; + i2s1_cpu: soundcard-mach,cpu { + sound-dai = <&i2s1_plat>; + soundcard-mach,pll-fs = <1>; + soundcard-mach,mclk-fs = <0>; + }; + i2s1_codec: soundcard-mach,codec { + }; +}; + +&i2s2_plat { + tdm-num = <2>; + tx-pin = <0 1 2 3>; + /* e.g. + * tx-pin0-map0 = <0xFEDC3210> -> tx_pin_map[0][0] (Dout0-slot[7:0] map channel[15:12, 3:0]) + * tx-pin0-map1 = <0x3210FEDC> -> tx_pin_map[0][1] (Dout0-slot[15:8] map channel[3:0, 15:12]) + * tx-pin1-map0 = <0x76543210> -> tx_pin_map[1][0] (Dout1-slot[7:0] map channel[7:0]) + */ + tx-pin0-map0 = <0x76543210>; + tx-pin0-map1 = <0xFEDCBA98>; + tx-pin1-map0 = <0x76543210>; + tx-pin1-map1 = <0xFEDCBA98>; + tx-pin2-map0 = <0x76543210>; + tx-pin2-map1 = <0xFEDCBA98>; + tx-pin3-map0 = <0x76543210>; + tx-pin3-map1 = <0xFEDCBA98>; + rx-pin = <0>; + /* pinctrl-used; */ + /* pinctrl-names= "default","sleep"; */ + /* pinctrl-0 = <&i2s2_pins_a &i2s2_pins_c &i2s2_pins_d &i2s2_pins_e>; */ + /* pinctrl-1 = <&i2s2_pins_b>; */ + tx-hub-en; + rx-sync-en; + /* edp not need dai-type */ + dai-type = "hdmi"; + status = "okay"; +}; + +&i2s2_mach { + soundcard-mach,format = "i2s"; + soundcard-mach,frame-master = <&i2s2_cpu>; + soundcard-mach,bitclock-master = <&i2s2_cpu>; + /* soundcard-mach,frame-inversion; */ + /* soundcard-mach,bitclock-inversion; */ + soundcard-mach,slot-num = <2>; + soundcard-mach,slot-width = <32>; + soundcard-mach,playback-only; + status = "okay"; + i2s2_cpu: soundcard-mach,cpu { + sound-dai = <&i2s2_plat>; + soundcard-mach,pll-fs = <1>; + /* edp mclk: 512fs */ + soundcard-mach,mclk-fs = <0>; + }; + i2s2_codec: soundcard-mach,codec { + sound-dai = <&hdmi_codec>; + }; +}; + +&i2s3_plat { + tdm-num = <3>; + tx-pin = <0>; + rx-pin = <0>; + /* pinctrl-used; */ + /* pinctrl-names= "default","sleep"; */ + /* pinctrl-0 = <&i2s3_pins_a &i2s3_pins_c &i2s3_pins_d>; */ + /* pinctrl-1 = <&i2s3_pins_b>; */ + tx-hub-en; + rx-sync-en; + status = "disabled"; +}; + +&i2s3_mach { + soundcard-mach,format = "i2s"; + soundcard-mach,frame-master = <&i2s3_cpu>; + soundcard-mach,bitclock-master = <&i2s3_cpu>; + /* soundcard-mach,frame-inversion; */ + /* soundcard-mach,bitclock-inversion; */ + soundcard-mach,slot-num = <2>; + soundcard-mach,slot-width = <32>; + status = "disabled"; + i2s3_cpu: soundcard-mach,cpu { + sound-dai = <&i2s3_plat>; + soundcard-mach,pll-fs = <1>; + soundcard-mach,mclk-fs = <0>; + }; + i2s3_codec: soundcard-mach,codec { + }; +}; + +&hdmi { + hdmi_used = <1>; + bldo3-supply = <®_bldo3>; + hdmi_power0 = "bldo3"; + hdmi_power_cnt = <1>; + hdmi_hdcp_enable = <1>; + hdmi_hdcp22_enable = <0>; + hdmi_cts_compatibility = <0>; + hdmi_cec_support = <1>; + hdmi_cec_super_standby = <1>; + hdmi_skip_bootedid = <1>; + + ddc_en_io_ctrl = <0>; + power_io_ctrl = <0>; + + status = "okay"; +}; + +&cpu0 { + cpu-supply = <®_dcdc1>; +}; + +&dsufreq { + dsu-supply = <®_dcdc1>; +}; + +&mdio0 { + status = "okay"; + gmac0_phy0: ethernet-phy@1 { + reset-gpios = <&pio PH 8 GPIO_ACTIVE_LOW>; + }; +}; + +&gmac0 { + phy-mode = "rgmii"; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&gmac0_pins_default>; + pinctrl-1 = <&gmac0_pins_sleep>; + sunxi,phy-clk-type = <0>; + tx-delay = <3>; + rx-delay = <4>; + + gmac3v3-supply = <®_cldo4>; + status = "okay"; +}; + + +&gmac1 { + phy-mode = "rgmii"; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&gmac1_pins_default>; + pinctrl-1 = <&gmac1_pins_sleep>; + aw,soc-phy25m; + tx-delay = <3>; + rx-delay = <4>; + dwmac3v3-supply = <®_cldo4>; + status = "okay"; + mdio1: mdio1@1 { + gmac1_phy0: ethernet-phy@1 { + reset-gpios = <&pio PJ 16 GPIO_ACTIVE_LOW>; + }; + }; + +}; + +&npu { + npu-supply = <®_ext_axp1530_dcdc3>; + status = "okay"; +}; + +&dram { + dram_para00 = <0x00000000>; + dram_para01 = <0x00000000>; + dram_para02 = <0x00000000>; + dram_para03 = <0x00000000>; + dram_para04 = <0x00000000>; + dram_para05 = <0x00000000>; + dram_para06 = <0x00000000>; + dram_para07 = <0x00000000>; + dram_para08 = <0x00000000>; + dram_para09 = <0x00000000>; + dram_para10 = <0x00000000>; + dram_para11 = <0x00000000>; + dram_para12 = <0x00000000>; + dram_para13 = <0x00000000>; + dram_para14 = <0x00000000>; + dram_para15 = <0x00000000>; + dram_para16 = <0x00000000>; + dram_para17 = <0x00000000>; + dram_para18 = <0x00000000>; + dram_para19 = <0x00000000>; + dram_para20 = <0x00000000>; + dram_para21 = <0x00000000>; + dram_para22 = <0x00000000>; + dram_para23 = <0x00000000>; + dram_para24 = <0x00000000>; + dram_para25 = <0x00000000>; + dram_para26 = <0x00000000>; + dram_para27 = <0x00000000>; + dram_para28 = <0x00000000>; + dram_para29 = <0x00000000>; + dram_para30 = <0x00000000>; + dram_para31 = <0x00000000>; + dram_para32 = <0x00000000>; + dram_para33 = <0x00000000>; + dram_para34 = <0x00000000>; + dram_para35 = <0x00000000>; + dram_para36 = <0x00000000>; + dram_para37 = <0x00000000>; + dram_para38 = <0x00000000>; + dram_para39 = <0x00000000>; + dram_para40 = <0x00000000>; + dram_para41 = <0x00000000>; + dram_para42 = <0x00000000>; + dram_para43 = <0x00000000>; + dram_para44 = <0x00000000>; + dram_para45 = <0x00000000>; + dram_para46 = <0x00000000>; + dram_para47 = <0x00000000>; + dram_para48 = <0x00000000>; + dram_para49 = <0x00000000>; + dram_para50 = <0x00000000>; + dram_para51 = <0x00000000>; + dram_para52 = <0x00000000>; + dram_para53 = <0x00000000>; + dram_para54 = <0x00000000>; + dram_para55 = <0x00000000>; + dram_para56 = <0x00000000>; + dram_para57 = <0x00000000>; + dram_para58 = <0x00000000>; + dram_para59 = <0x00000000>; + dram_para60 = <0x00000000>; + dram_para61 = <0x00000000>; + dram_para62 = <0x00000000>; + dram_para63 = <0x00000000>; + dram_para64 = <0x00000000>; + dram_para65 = <0x00000000>; + dram_para66 = <0x00000000>; + dram_para67 = <0x00000000>; + dram_para68 = <0x00000000>; + dram_para69 = <0x00000000>; + dram_para70 = <0x00000000>; + dram_para71 = <0x00000000>; + dram_para72 = <0x00000000>; + dram_para73 = <0x00000000>; + dram_para74 = <0x00000000>; + dram_para75 = <0x00000000>; + dram_para76 = <0x00000000>; + dram_para77 = <0x00000000>; + dram_para78 = <0x00000000>; + dram_para79 = <0x00000000>; + dram_para80 = <0x00000000>; + dram_para81 = <0x00000000>; + dram_para82 = <0x00000000>; + dram_para83 = <0x00000000>; + dram_para84 = <0x00000000>; + dram_para85 = <0x00000000>; + dram_para86 = <0x00000000>; + dram_para87 = <0x00000000>; + dram_para88 = <0x00000000>; + dram_para89 = <0x00000000>; + dram_para90 = <0x00000000>; + dram_para91 = <0x00000000>; + dram_para92 = <0x00000000>; + dram_para93 = <0x00000000>; + dram_para94 = <0x00000000>; + dram_para95 = <0x00000000>; +}; + +&cpul_thermal_zone { + cpul_trips: trips { + cpul_crit: cpu_crit@0 { + temperature = <115000>; + type = "critical"; + hysteresis = <0>; + }; + }; +}; + +&cpub_thermal_zone { + cpub_trips: trips { + cpub_crit: cpu_crit@0 { + temperature = <115000>; + type = "critical"; + hysteresis = <0>; + }; + }; +}; + +&gpu_thermal_zone { + gpu_trips: trips { + gpu_crit: gpu_crit@0 { + temperature = <115000>; + type = "critical"; + hysteresis = <0>; + }; + }; +};