Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页
    1. Home
    2. yixiuge
    3. Best
    Y
    • Profile
    • Following 0
    • Followers 0
    • my integral 2447
    • Topics 14
    • Posts 83
    • Best 3
    • Groups 0

    Best posts made by yixiuge

    • lvgl官方表盘项目指针和刻度没有对准,对我这种有严重强迫症的人来说看起来就心痛,不是难受,有能力的大佬修复一下这个bug?

      c25728a9-c208-47b9-85d0-7aae8df50bfe-709ce464505ed1da1bd68dd64c5239c.png

      https://docs.lvgl.io/8.3/examples.html#a-clock-from-a-meter

      https://github.com/lvgl/lvgl/blob/47c8f8f9822f4c0c0ffbe2f12b380bddefcec475/examples/widgets/meter/lv_example_meter_3.c

      posted in 灌水区
      Y
      yixiuge
    • Reply: 用小智SW106开发板驱动哪吒自带的MIPI显示屏

      微信图片_20220628190130.jpg 微信图片_20220628190120.jpg

      搞定一个MIPI显示屏.

      board.dts

      
      /*
       * Allwinner Technology CO., Ltd. sun50iw10p1 soc board.
       *
       * soc board support.
       */
      
      /dts-v1/;
      #include <dt-bindings/input/input.h>
      #include "sun50iw10p1.dtsi"
      
      /{
              model = "sun50iw10";
              compatible = "allwinner,a3", "arm,sun50iw10p1";
      
              reg_usb1_vbus: usb1-vbus {
                      compatible = "regulator-fixed";
                      gpio = <&pio PI 12 1 2 0 1>;
                      regulator-name = "usb1-vbus";
                      regulator-min-microvolt = <5000000>;
                      regulator-max-microvolt = <5000000>;
                      enable-active-high;
              };
      
              reg_3v3: vdd_3v3 {
              compatible = "regulator-fixed";
              regulator-name = "vdd_3v3";
              regulator-min-microvolt = <3300000>;
              regulator-max-microvolt = <3300000>;
              regulator-enable-ramp-delay = <1000>;
              enable-active-high;
          };
      
              soc@03000000 {
      
                      r_pio: pinctrl@07022000 {
      
                              s_twi0_pins_a: s_twi0@0 {
                                      allwinner,pins = "PL0", "PL1";
                                      allwinner,pname = "s_twi0_scl", "s_twi0_sda";
                                      allwinner,function = "s_twi0";
                                      allwinner,muxsel = <2>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <1>;
                              };
      
                              s_twi0_pins_b: s_twi0@1 {
                                      allwinner,pins = "PL0", "PL1";
                                      allwinner,function = "io_disabled";
                                      allwinner,muxsel = <7>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <0>;
                              };
                              s_twi1_pins_a: s_twi1@0 {
                                      allwinner,pins = "PL8", "PL9";
                                      allwinner,pname = "s_twi1_scl", "s_twi1_sda";
                                      allwinner,function = "s_twi1";
                                      allwinner,muxsel = <2>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <1>;
                              };
      
                              s_twi1_pins_b: s_twi1@1 {
                                      allwinner,pins = "PL8", "PL9";
                                      allwinner,function = "io_disabled";
                                      allwinner,muxsel = <7>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <0>;
                              };
                      };
                      pio: pinctrl@0300b000 {
                              twi0_pins_a: twi0@0 {
                                      allwinner,pins = "PD22", "PD23";
                                      allwinner,pname = "twi0_scl", "twi0_sda";
                                      allwinner,function = "twi0";
                                      allwinner,muxsel = <4>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <0>;
                              };
      
                              twi0_pins_b: twi0@1 {
                                      allwinner,pins = "PD22", "PD23";
                                      allwinner,function = "io_disabled";
                                      allwinner,muxsel = <7>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <0>;
                              };
      
                              twi1_pins_a: twi1@0 {
                                      allwinner,pins = "PB4", "PB5";
                                      allwinner,pname = "twi1_scl", "twi1_sda";
                                      allwinner,function = "twi1";
                                      allwinner,muxsel = <2>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <0>;
                              };
      
                              twi1_pins_b: twi1@1 {
                                      allwinner,pins = "PB4", "PB5";
                                      allwinner,function = "io_disabled";
                                      allwinner,muxsel = <7>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <0>;
                              };
      
                              twi2_pins_a: twi2@0 {
                                      allwinner,pins = "PE1", "PE2";
                                      allwinner,pname = "twi2_scl", "twi2_sda";
                                      allwinner,function = "twi2";
                                      allwinner,muxsel = <2>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <0>;
                              };
      
                              twi2_pins_b: twi2@1 {
                                      allwinner,pins = "PE1", "PE2";
                                      allwinner,function = "io_disabled";
                                      allwinner,muxsel = <7>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <0>;
                              };
      
                              twi3_pins_a: twi3@0 {
                                      allwinner,pins = "PE3", "PE4";
                                      allwinner,pname = "twi3_scl", "twi3_sda";
                                      allwinner,function = "twi3";
                                      allwinner,muxsel = <2>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <1>;
                              };
      
                              twi3_pins_b: twi3@1 {
                                      allwinner,pins = "PE3", "PE4";
                                      allwinner,function = "io_disabled";
                                      allwinner,muxsel = <7>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <0>;
                              };
      
                              twi5_pins_a: twi5@0 {
                                      allwinner,pins = "PI8", "PI9";
                                      allwinner,pname = "twi5_scl", "twi5_sda";
                                      allwinner,function = "twi5";
                                      allwinner,muxsel = <2>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <0>;
                              };
      
                              twi5_pins_b: twi5@1 {
                                      allwinner,pins = "PI8", "PI9";
                                      allwinner,function = "io_disabled";
                                      allwinner,muxsel = <7>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <0>;
                              };
      
                              pwm0_pin_a: pwm0@0 {
                                      allwinner,pins = "PD23";
                                      allwinner,function = "pwm0";
                                      allwinner,muxsel = <0x02>;
                                      allwinner,drive = <0x2>;
                                      allwinner,pull = <0>;
                                      allwinner,data = <0xffffffff>;
                              };
      
                              pwm0_pin_b: pwm0@1 {
                                      allwinner,pins = "PD23";
                                      allwinner,function = "io_disabled";
                                      allwinner,muxsel = <0x07>;
                                      allwinner,drive = <0x2>;
                                      allwinner,pull = <0>;
                                      allwinner,data = <0xffffffff>;
                              };
      
                              pwm1_pin_a: pwm1@0 {
                                      allwinner,pins = "PI0";
                                      allwinner,function = "pwm1";
                                      allwinner,muxsel = <0x04>;
                                      allwinner,drive = <0x2>;
                                      allwinner,pull = <0>;
                                      allwinner,data = <0xffffffff>;
                              };
      
                              pwm1_pin_b: pwm1@1 {
                                      allwinner,pins = "PI0";
                                      allwinner,function = "io_disabled";
                                      allwinner,muxsel = <0x07>;
                                      allwinner,drive = <0x2>;
                                      allwinner,pull = <0>;
                                      allwinner,data = <0xffffffff>;
                              };
      
                              pwm2_pin_a: pwm2@0 {
                                      allwinner,pins = "PI1";
                                      allwinner,function = "pwm2";
                                      allwinner,muxsel = <0x04>;
                                      allwinner,drive = <0x2>;
                                      allwinner,pull = <0>;
                                      allwinner,data = <0xffffffff>;
                              };
      
                              pwm2_pin_b: pwm2@1 {
                                      allwinner,pins = "PI1";
                                      allwinner,function = "io_disabled";
                                      allwinner,muxsel = <0x07>;
                                      allwinner,drive = <0x2>;
                                      allwinner,pull = <0>;
                                      allwinner,data = <0xffffffff>;
                              };
      
                              pwm3_pin_a: pwm3@0 {
                                      allwinner,pins = "PD21";
                                      allwinner,function = "pwm3";
                                      allwinner,muxsel = <0x02>;
                                      allwinner,drive = <0x2>;
                                      allwinner,pull = <0>;
                                      allwinner,data = <0xffffffff>;
                              };
      
                              pwm3_pin_b: pwm3@1 {
                                      allwinner,pins = "PD21";
                                      allwinner,function = "io_disabled";
                                      allwinner,muxsel = <0x07>;
                                      allwinner,drive = <0x2>;
                                      allwinner,pull = <0>;
                                      allwinner,data = <0xffffffff>;
                              };
      
                              pwm7_pin_a: pwm7@0 {
                                      allwinner,pins = "PI6";
                                      allwinner,function = "pwm7";
                                      allwinner,muxsel = <0x04>;
                                      allwinner,drive = <0x2>;
                                      allwinner,pull = <0>;
                                      allwinner,data = <0xffffffff>;
                              };
      
                              pwm7_pin_b: pwm7@1 {
                                      allwinner,pins = "PI6";
                                      allwinner,function = "io_disabled";
                                      allwinner,muxsel = <0x07>;
                                      allwinner,drive = <0x2>;
                                      allwinner,pull = <0>;
                                      allwinner,data = <0xffffffff>;
                              };
      
                              pwm8_pin_a: pwm8@0 {
                                      allwinner,pins = "PI7";
                                      allwinner,function = "pwm8";
                                      allwinner,muxsel = <0x04>;
                                      allwinner,drive = <0x2>;
                                      allwinner,pull = <0>;
                                      allwinner,data = <0xffffffff>;
                              };
      
                              pwm8_pin_b: pwm8@1 {
                                      allwinner,pins = "PI7";
                                      allwinner,function = "io_disabled";
                                      allwinner,muxsel = <0x07>;
                                      allwinner,drive = <0x2>;
                                      allwinner,pull = <0>;
                                      allwinner,data = <0xffffffff>;
                              };
      
                              ledc_pins_a: ledc@0 {
                                      allwinner,pins = "PH19";
                                      allwinner,function = "ledc";
                                      allwinner,muxsel = <5>;
                              };
      
                              ledc_pins_b: ledc@1 {
                                      allwinner,pins = "PH19";
                                      allwinner,function = "io_disabled";
                                      allwinner,muxsel = <7>;
                              };
      
                              key_pj1: key_pj1@0 {
                                      allwinner,pins = "PJ1";
                                      allwinner,function = "gpio_in";
                                      allwinner,muxsel = <0x00>;
                                      allwinner,drive = <0x2>;
                                      allwinner,pull = <1>;
                                      allwinner,data = <0x1>;
                              };
      
                              usb1_vbus_pin_a: usb1_vbus_pin@0 {
                                      allwinner,pins = "PH10";
                                      allwinner,function = "gpio_out";
                                      allwinner,muxsel = <0x01>;
                                      allwinner,drive = <0x2>;
                                      allwinner,pull = <0>;
                                      allwinner,data = <0x0>;
                              };
      
                              spi0_pins_a: spi0@0 {
                                      allwinner,pins = "PC2", "PC4", "PC12", "PC15", "PC16";
                                      allwinner,pname = "spi0_mosi", "spi0_miso",
                                                        "spi0_sclk", "spi0_wp", "spi0_hold";
                                      allwinner,function = "spi0";
                                      allwinner,muxsel = <4>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <0>;
                              };
      
                              spi0_pins_b: spi0@1 {
                                      allwinner,pins = "PC3", "PC7";
                                      allwinner,pname = "spi0_cs0", "spi0_cs1";
                                      allwinner,function = "spi0";
                                      allwinner,muxsel = <4>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <1>;   /* only CS should be pulled up */
                              };
      
                              spi0_pins_c: spi0@2 {
                                      allwinner,pins = "PC2", "PC3", "PC4", "PC7", "PC12", "PC15", "PC16";
                                      allwinner,function = "io_disabled";
                                      allwinner,muxsel = <7>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <0>;
                              };
      
                              spi1_pins_a: spi1@0 {
                                      allwinner,pins = "PD11", "PD12", "PD13";
                                      allwinner,pname = "spi1_sclk", "spi1_mosi",
                                                        "spi1_miso";
                                      allwinner,function = "spi1";
                                      allwinner,muxsel = <4>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <0>;
                              };
      
                              spi1_pins_b: spi1@1 {
                                      allwinner,pins = "PD10";
                                      allwinner,pname = "spi1_cs0";
                                      allwinner,function = "spi1";
                                      allwinner,muxsel = <4>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <1>;   /* only CS should be pulled up */
                              };
      
                              spi1_pins_c: spi1@2 {
                                      allwinner,pins = "PD10", "PD11", "PD12", "PD13";
                                      allwinner,function = "io_disabled";
                                      allwinner,muxsel = <7>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <0>;
                              };
      
                              spi2_pins_a: spi2@0 {
                                      allwinner,pins = "PB1", "PB2", "PB3";
                                      allwinner,pname = "spi2_sclk", "spi2_mosi",
                                                        "spi2_miso";
                                      allwinner,function = "spi2";
                                      allwinner,muxsel = <3>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <0>;
                              };
      
                              spi2_pins_b: spi2@1 {
                                      allwinner,pins = "PB0";
                                      allwinner,pname = "spi2_cs0";
                                      allwinner,function = "spi2";
                                      allwinner,muxsel = <3>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <1>;   /* only CS should be pulled up */
                              };
      
                              spi2_pins_c: spi2@2 {
                                      allwinner,pins = "PB0", "PB1", "PB2", "PB3";
                                      allwinner,function = "io_disabled";
                                      allwinner,muxsel = <7>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <0>;
                              };
                      };
      
       rotary {
           compatible = "rotary-encoder";
           pinctrl-names = "default";
           /*pinctrl-0 = <&rotary_pins>;*/
           gpios = <&pio PJ 0 6 1 3 0xffffffff>, <&pio PJ 1 6 1 3 0xffffffff>; /* PJ0, PJ1 */
           linux,axis = <0>; /* REL_X */
           rotary-encoder,encoding = "gray";
           rotary-encoder,relative-axis;
       };
      
      
             gpio_keys_polled {
                     compatible = "gpio-keys-polled";
                     pinctrl-names = "default";
                     pinctrl-0 = <&key_pj1>;
                     #address-cells = <1>;
                     #size-cells = <0>;
                     poll-interval = <100>;
      
                     button@0 {
                             label = "mute";
                             linux,code = <KEY_MUTE>;
                             gpios = <&pio PJ 0 6 1 1 1>; //PJ0
                     };
      
                     button@1 {
                             label = "power";
                             linux,code = <KEY_POWER>;
                             gpios = <&pio PJ 1 0 1 1 1>;
                     };
             };
      
      
      
                      gpio_keys {
                              device_type = "gpiokey";
                              compatible = "gpio-keys";
      //                      pinctrl-names = "default";
      //                      pinctrl-0 = <&key_pj1>;
      //                      #address-cells = <1>;
      //                      #size-cells = <0>;
      //                      autorepeat;
                              status = "disabled";
      
                              power_key {
                                      label = "volume down";
                                      linux,code = <KEY_VOLUMEDOWN>;
                              //      gpios = <&pio PJ 0 6 1 1 1>;
      //                              gpios = <&pio PJ 0 6 GPIO_ACTIVE_LOW>;
                                      gpios = <&pio PJ 1 0 1 0 1>;
      //                              debounce-interval = <100>;
      //                              wakeup-source;
                                      wakeup-source = <0x1>;
                              };
      
                              volume_down_key {
                                      label = "volume up";
                                      linux,code = <KEY_VOLUMEUP>;
      //                              gpios = <&pio PJ 1 6 1 1 1>;
      //                              gpios = <&pio PJ 1 GPIO_ACTIVE_LOW>;
                                      gpios = <&pio PJ 0 0 1 0 1>;
                                      //debounce-interval = <100>;
                                      wakeup-source = <0x1>;
                              };
              };
      
                      gmac0: eth@05020000 {
                              phy-mode = "rgmii";
                              use_ephy25m = <1>;
                              tx-delay = <7>;
                              rx-delay = <4>;
                              phy-rst = <&pio PH 19 1 1 1 0>;
                              status = "okay";
                      };
      
                      gmac1: eth@05030000 {
                              phy-mode = "rgmii";
                              use_ephy25m = <1>;
                              tx-delay = <7>;
                              rx-delay = <4>;
                              gmac-mtu = <900>;
                              phy-rst = <&pio PI 14 1 1 1 0>;
                              /*
                              gmac-power0-supply = <>;
                              gmac-power0-vol = <3300000>;
                              */
                              status = "disabled";
                      };
      
                      twi0: twi@0x05002000{
                              clock-frequency = <400000>;
                              pinctrl-0 = <&twi0_pins_a>;
                              pinctrl-1 = <&twi0_pins_b>;
                              status = "disabled";
                              /* audio: add ac108 capture */
                              /*
                              ac108@3B {
                                      compatible = "Allwinner,MicArray_0";
                                      device_type = "MicArray_0";
                                      reg = <0x3B>;
                                      regulator_used = <0x0>;
                                      power_gpio_used = <0x0>;
                                      reset_gpio_used = <0x0>;
                                      twi_bus = <0x1>;
                                      pga_gain = <0x1F>;
                                      slot_width = <0x20>;
                                      lrck_period = <0x80>;
                                      ref_pga_used = <0x1>;
                                      ref_pga_gain = <0x10>;
                                      ref_channel = <0x3>;
                                      debug_mode = <0x0>;
                              };
                              */
      
                              /*ctp {
                                      compatible = "allwinner,goodix";
                                      reg = <0x5d>;
                                      device_type = "ctp";
                                      status = "disabled";
                                      ctp_twi_id = <0x0>;
                                      ctp_twi_addr = <0x5d>;
                                      ctp_screen_max_x = <0x500>;
                                      ctp_screen_max_y = <0x320>;
                                      ctp_revert_x_flag = <0x0>;
                                      ctp_revert_y_flag = <0x0>;
                                      ctp_exchange_x_y_flag = <0x0>;
                                      ctp_int_port = <&pio PB 7 6 0xffffffff 0xffffffff 0>;
                                      ctp_wakeup = <&pio PB 8 1 0xffffffff 0xffffffff 1>;
                                      ctp-supply = <>;
                                      ctp_power_ldo_vol = <3300>;
                              };*/
                      };
      
                      twi1: twi@0x05002400{
                              clock-frequency = <200000>;
                              pinctrl-0 = <&twi1_pins_a>;
                              pinctrl-1 = <&twi1_pins_b>;
                              status = "disabled";
      /*
                              ctp {
                                      compatible = "allwinner,goodix";
                                      ctp_name = "gt9xxnew_ts";
                                      reg = <0x5d>;
                                      device_type = "ctp";
                                      status = "okay";
                                      ctp_twi_id = <0x1>;
                                      ctp_twi_addr = <0x5d>;
                                      ctp_screen_max_x = <0x500>;
                                      ctp_screen_max_y = <0x320>;
                                      ctp_revert_x_flag = <0x0>;
                                      ctp_revert_y_flag = <0x0>;
                                      ctp_exchange_x_y_flag = <0x0>;
                                      ctp_int_port = <&pio PI 0 6 0xffffffff 0xffffffff 0>;
                                      ctp_wakeup = <&pio PI 1 1 0xffffffff 0xffffffff 1>;
                                      ctp-supply = <>;
                                      ctp_power_ldo_vol = <3300>;
                              };
      */
                      };
      
                      twi2: twi@0x05002800{
                              clock-frequency = <200000>;
                              pinctrl-0 = <&twi2_pins_a>;
                              pinctrl-1 = <&twi2_pins_b>;
                              status = "disabled";
                      };
      
                      twi3: twi@0x05002c00{
                              clock-frequency = <200000>;
                              pinctrl-0 = <&twi3_pins_a>;
                              pinctrl-1 = <&twi3_pins_b>;
                              status = "disabled";
                      };
      
                      twi5: twi@0x05003400{
                              clock-frequency = <400000>;
                              pinctrl-0 = <&twi5_pins_a>;
                              pinctrl-1 = <&twi5_pins_b>;
                              pinctrl-names = "default", "sleep";
                              status = "okay";
      /*
                              ft6x06@48 {
                                      compatible = "focaltech,ft6236";
                                      reg = <0x48>;
                                      interrupt-parent = <&pio>;
                                      interrupts = <PJ 8 IRQ_TYPE_LEVEL_LOW>;
                                      reset-gpios = <&pio PJ 9 1 0xffffffff 0xffffffff 1>;
                                      touchscreen-size-x = <720>;
                                      touchscreen-size-y = <720>;
      //                              touchscreen-inverted-x;
      //                              touchscreen-swapped-x-y;
                                      status = "disabled";
                              };
      */
      
                              ctp {
                                      compatible = "allwinner,goodix";
                                      ctp_name = "gt9xxnew_ts";
                                      reg = <0x14>;
                                      device_type = "ctp";
                                      status = "okay";
                                      ctp_twi_id = <0x1>;
                                      ctp_twi_addr = <0x14>;
                                      ctp_screen_max_x = <480>;
                                      ctp_screen_max_y = <480>;
                                      ctp_revert_x_flag = <0x0>;
                                      ctp_revert_y_flag = <0x0>;
                                      ctp_exchange_x_y_flag = <0x0>;
                                      ctp_int_port = <&pio PJ 8 6 0xffffffff 0xffffffff 0>;
                                      ctp_wakeup = <&pio PJ 9 1 0xffffffff 0xffffffff 1>;
                                      ctp-supply = <>;
                                      ctp_power_ldo_vol = <3300>;
                              };
      
                      };
      
                      twi6: s_twi@0x07081400{
                              clock-frequency = <200000>;
                              pinctrl-0 = <&s_twi0_pins_a>;
                              pinctrl-1 = <&s_twi0_pins_b>;
                              twi_drv_used = <1>;
                              status = "disabled";
                              no_suspend = <1>;
                      };
      
                      standby_param: standby_param {
                              vdd-cpu = <0x00000006>;
                              vdd-sys = <0x00000008>;
                              vcc-pll = <0x00000100>;
      
                              osc24m-on = <0x0>;
                      };
      
                      twi7: s_twi@0x07081800{
                              clock-frequency = <200000>;
                              pinctrl-0 = <&s_twi1_pins_a>;
                              pinctrl-1 = <&s_twi1_pins_b>;
                              status = "disabled";
                      };
      
                      spi0: spi@05010000 {
                              pinctrl-0 = <&spi0_pins_a &spi0_pins_b>;
                              pinctrl-1 = <&spi0_pins_c>;
                              spi_slave_mode = <0>;
                              status = "disabled";
                              spi_board0 {
                                      device_type = "spi_board0";
                                      compatible = "rohm,dh2228fv";
                                      spi-max-frequency = <0x5f5e100>;
                                      reg = <0x0>;
                                      spi-rx-bus-width = <0x1>;
                                      spi-tx-bus-width = <0x1>;
                                      status = "disabled";
                              };
                      };
      
                      spi1: spi@05011000 {
                              pinctrl-0 = <&spi1_pins_a &spi1_pins_b>;
                              pinctrl-1 = <&spi1_pins_c>;
                              spi_slave_mode = <0>;
                              status = "disabled";
                              spi_board1 {
                                      device_type = "spi_board1";
                                      compatible = "rohm,dh2228fv";
                                      spi-max-frequency = <0x5f5e100>;
                                      reg = <0x0>;
                                      spi-rx-bus-width = <0x1>;
                                      spi-tx-bus-width = <0x1>;
                                      status = "disabled";
                              };
                      };
      
                      spi2: spi@05012000 {
                              pinctrl-0 = <&spi2_pins_a &spi2_pins_b>;
                              pinctrl-1 = <&spi2_pins_c>;
                              spi_slave_mode = <0>;
                              status = "disabled";
                              spi_board1 {
                                      device_type = "spi_board2";
                                      compatible = "rohm,dh2228fv";
                                      spi-max-frequency = <0x5f5e100>;
                                      reg = <0x0>;
                                      spi-rx-bus-width = <0x1>;
                                      spi-tx-bus-width = <0x1>;
                                      status = "disabled";
                              };
                      };
      
                      pwm0: pwm0@0300a000 {
                              pinctrl-names = "active", "sleep";
                              pinctrl-0 = <&pwm0_pin_a>;
                              pinctrl-1 = <&pwm0_pin_b>;
                      };
      
                      pwm1: pwm1@0300a000 {
                              pinctrl-names = "active", "sleep";
                              pinctrl-0 = <&pwm1_pin_a>;
                              pinctrl-1 = <&pwm1_pin_b>;
                      };
      
                      pwm2: pwm2@0300a000 {
                              pinctrl-names = "active", "sleep";
                              pinctrl-0 = <&pwm2_pin_a>;
                              pinctrl-1 = <&pwm2_pin_b>;
                      };
      
                      pwm7: pwm7@0300a000 {
                              pinctrl-names = "active", "sleep";
                              pinctrl-0 = <&pwm7_pin_a>;
                              pinctrl-1 = <&pwm7_pin_b>;
                      };
      
                      pwm8: pwm8@0300a000 {
                              pinctrl-names = "active", "sleep";
                              pinctrl-0 = <&pwm8_pin_a>;
                              pinctrl-1 = <&pwm8_pin_b>;
                      };
      
                      ledc: ledc@0x05018000 {
                              pinctrl-0 = <&ledc_pins_a>;
                              pinctrl-1 = <&ledc_pins_b>;
                              status    = "disabled";
                      };
      
                      gpadc:gpadc{
                              channel_num = <1>;
                              channel_select = <0x01>;
                              channel_data_select = <0>;
                              channel_compare_select = <0x01>;
                              channel_cld_select = <0x01>;
                              channel_chd_select = <0>;
                              channel0_compare_lowdata = <1700000>;
                              channel0_compare_higdata = <1200000>;
                              key_cnt = <5>;
                              key0_vol = <115>;
                              key0_val = <115>;
                              key1_vol = <240>;
                              key1_val = <114>;
                              key2_vol = <360>;
                              key2_val = <139>;
                              key3_vol = <480>;
                              key3_val = <28>;
                              key4_vol = <600>;
                              key4_val = <102>;
                              status = "okay";
                      };
      
                      sdc2: sdmmc@04022000 {
                              non-removable;
                              bus-width = <8>;
                              mmc-ddr-1_8v;
                              mmc-hs200-1_8v;
                              mmc-hs400-1_8v;
                              no-sdio;
                              no-sd;
                              cap-mmc-highspeed;
                              sunxi-power-save-mode;
                              sunxi-dis-signal-vol-sw;
                              max-frequency = <100000000>;
                              vmmc-supply = <>;
                              vqmmc-supply = <>;
                              status = "okay";
                      };
      
                      sdc0: sdmmc@04020000 {
                              bus-width = <4>;
                              cd-gpios = <&pio PF 6 6 1 3 0xffffffff>;
                              /*non-removable;*/
                              /*broken-cd;*/
                              /*cd-inverted*/
                              /*data3-detect;*/
                              /*card-pwr-gpios = <&pio PH 14 1 1 2 0xffffffff>;*/
                              cd-used-24M;
                              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 = <0x8>;
                              vmmc-supply = <>;
                              vqmmc33sw-supply = <>;
                              vdmmc33sw-supply = <>;
                              vqmmc18sw-supply = <>;
                              vdmmc18sw-supply = <>;
                              status = "okay";
                      };
      
                      sdc1: sdmmc@04021000 {
                              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 = <50000000>;
                              ctl-spec-caps = <0x8>;
                              status = "okay";
                      };
      
      /*
       *usb_used: usb controller enable. 0-disable, 1-enable.
       *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_drv_vbus_gpio:USB DRY_VBUS pin config or "axp_ctrl"
       */
                      usbc0:usbc0@0 {
                              device_type = "usbc0";
                              usb_port_type = <0x2>;
                              usb_detect_type = <0x1>;
                              usb_id_gpio = <&pio PH 11 0 0 0xffffffff 0xffffffff>;
                              usb_det_vbus_gpio   = <&pio PH 12 0 0 0xffffffff 0xffffffff>;
                              usb_regulator_io = "nocare";
                              usb_wakeup_suspend = <0>;
                              usb_luns = <3>;
                              usb_serial_unique = <0>;
                              usb_serial_number = "20080411";
                              rndis_wceis = <1>;
                              status = "okay";
                      };
      
                      ehci0:ehci0-controller@0x05101000 {
                              drvvbus-supply = <&reg_usb1_vbus>;
                      };
      
                      ohci0:ohci0-controller@0x05101400 {
                              drvvbus-supply = <&reg_usb1_vbus>;
                      };
      
                      usbc1:usbc1@0 {
                              device_type = "usbc1";
                              usb_regulator_io = "nocare";
                              usb_wakeup_suspend = <1>;
                              wakeup-source;
                              status = "okay";
                      };
      
                      /* Audio Driver Modules */
                      codec:codec@0x05096000 {
                              /* MIC and headphone gain setting */
                              mic1gain        = <0x1F>;
                              mic2gain        = <0x1F>;
                              /* ADC/DAC DRC/HPF func enabled */
                              /* 0x1:DAP_HP_EN; 0x2:DAP_SPK_EN; 0x3:DAP_HPSPK_EN */
                              adcdrc_cfg      = <0x0>;
                              adchpf_cfg      = <0x0>;
                              dacdrc_cfg      = <0x0>;
                              dachpf_cfg      = <0x0>;
                              /* Volume about */
                              digital_vol     = <0x00>;
                              lineout_vol     = <0x1a>;
                              headphonegain   = <0x00>;
                              /* Pa enabled about */
                              pa_level        = <0x01>;
                              pa_msleep_time  = <0x78>;
      /*                      gpio-spk = <&pio PH 19 1 1 1 1>;*/
                              /* regulator about */
                              avcc-supply = <>;
                              status = "okay";
                      };
      
                      sndcodec:sound@0 {
                              noheadphonemic = <0x01>;
                              status = "okay";
                      };
      
                      spdif:spdif-controller@0x05094000{
                              status = "disabled";
                      };
      
                      sndspdif:sound@1{
                              status = "disabled";
                      };
      
                      dmic:dmic-controller@0x05095000{
                              status = "disabled";
                      };
      
                      snddmic:sound@2{
                              status = "disabled";
                      };
      
                      daudio0:daudio@0x05090000 {
                              mclk_div        = <0x01>;
                              frametype       = <0x00>;
                              tdm_config      = <0x01>;
                              sign_extend     = <0x00>;
                              tx_data_mode    = <0x00>;
                              rx_data_mode    = <0x00>;
                              msb_lsb_first   = <0x00>;
                              pcm_lrck_period = <0x80>;
                              audio_format    = <0x01>;
                              daudio_master   = <0x04>;
                              signal_inversion  = <0x01>;
                              slot_width_select = <0x20>;
                              status = "disabled";
                      };
      
                      snddaudio0:sound@3 {
                      /*
                              sunxi,snddaudio-codec = "ac108.0-003b";
                              sunxi,snddaudio-codec-dai = "ac108-pcm0";
                      */
                              status = "disabled";
                      };
      
                      daudio1:daudio@0x05091000 {
                              mclk_div        = <0x01>;
                              frametype       = <0x00>;
                              tdm_config      = <0x01>;
                              sign_extend     = <0x00>;
                              tx_data_mode    = <0x00>;
                              rx_data_mode    = <0x00>;
                              msb_lsb_first   = <0x00>;
                              pcm_lrck_period = <0x20>;
                              audio_format    = <0x01>;
                              daudio_master   = <0x04>;
                              signal_inversion  = <0x01>;
                              slot_width_select = <0x20>;
                              status = "disabled";
                      };
      
                      snddaudio1:sound@4 {
                              status = "disabled";
                      };
      
                      daudio2:daudio@0x05092000 {
                              mclk_div        = <0x01>;
                              frametype       = <0x00>;
                              tdm_config      = <0x01>;
                              sign_extend     = <0x00>;
                              tx_data_mode    = <0x00>;
                              rx_data_mode    = <0x00>;
                              msb_lsb_first   = <0x00>;
                              pcm_lrck_period = <0x20>;
                              audio_format    = <0x01>;
                              daudio_master   = <0x04>;
                              signal_inversion  = <0x01>;
                              slot_width_select = <0x20>;
                              status = "disabled";
                      };
      
                      snddaudio2:sound@5 {
                              status = "disabled";
                      };
      
                      daudio3:daudio@0x05093000 {
                              mclk_div        = <0x01>;
                              frametype       = <0x00>;
                              tdm_config      = <0x01>;
                              sign_extend     = <0x00>;
                              tx_data_mode    = <0x00>;
                              rx_data_mode    = <0x00>;
                              msb_lsb_first   = <0x00>;
                              pcm_lrck_period = <0x20>;
                              audio_format    = <0x01>;
                              daudio_master   = <0x04>;
                              signal_inversion  = <0x01>;
                              slot_width_select = <0x20>;
                              status = "disabled";
                      };
      
                      snddaudio3:sound@6 {
                              status = "disabled";
                      };
                      vind0:vind@0 {
                              vind0_clk = <336000000>;
                              vind0_isp = <300000000>;
                              status = "okay";
      
                              actuator0:actuator@0 {
                                      device_type = "actuator0";
                                      actuator0_name = "ad5820_act";
                                      actuator0_slave = <0x18>;
                                      actuator0_af_pwdn = <>;
                                      actuator0_afvdd = "afvcc-csi";
                                      actuator0_afvdd_vol = <2800000>;
                                      status = "disabled";
                              };
                              flash0:flash@0 {
                                      device_type = "flash0";
                                      flash0_type = <2>;
                                      flash0_en = <>;
                                      flash0_mode = <>;
                                      flash0_flvdd = "";
                                      flash0_flvdd_vol = <>;
                                      device_id = <0>;
                                      status = "disabled";
                              };
                              sensor0:sensor@0 {
                                      device_type = "sensor0";
                                      sensor0_mname = "imx278_mipi";
                                      sensor0_twi_cci_id = <2>;
                                      sensor0_twi_addr = <0x20>;
                                      sensor0_mclk_id = <0>;
                                      sensor0_pos = "rear";
                                      sensor0_isp_used = <1>;
                                      sensor0_fmt = <1>;
                                      sensor0_stby_mode = <0>;
                                      sensor0_vflip = <0>;
                                      sensor0_hflip = <0>;
                                      sensor0_iovdd-supply = <>;
                                      sensor0_iovdd_vol = <1800000>;
                                      sensor0_avdd-supply = <>;
                                      sensor0_avdd_vol = <2800000>;
                                      sensor0_dvdd-supply = <>;
                                      sensor0_dvdd_vol = <1200000>;
                                      sensor0_power_en = <>;
                                      sensor0_reset = <&pio PE 7 1 0 1 0>;
                                      sensor0_pwdn = <&pio PE 6 1 0 1 0>;
                                      status  = "disabled";
                              };
                              sensor1:sensor@1 {
                                      device_type = "sensor1";
                                      sensor1_mname = "imx386_mipi";
                                      sensor1_twi_cci_id = <3>;
                                      sensor1_twi_addr = <0x20>;
                                      sensor1_mclk_id = <1>;
                                      sensor1_pos = "front";
                                      sensor1_isp_used = <1>;
                                      sensor1_fmt = <1>;
                                      sensor1_stby_mode = <0>;
                                      sensor1_vflip = <0>;
                                      sensor1_hflip = <0>;
                                      sensor1_iovdd-supply = <>;
                                      sensor1_iovdd_vol = <1800000>;
                                      sensor1_avdd-supply = <>;
                                      sensor1_avdd_vol = <2800000>;
                                      sensor1_dvdd-supply = <>;
                                      sensor1_dvdd_vol = <>;
                                      sensor1_power_en = <>;
                                      sensor1_reset = <&pio PE 9 1 0 1 0>;
                                      sensor1_pwdn = <&pio PE 8 1 0 1 0>;
                                      status  = "disabled";
                              };
                              vinc0:vinc@0 {
                                      vinc0_csi_sel = <0>;
                                      vinc0_mipi_sel = <0>;
                                      vinc0_isp_sel = <0>;
                                      vinc0_isp_tx_ch = <0>;
                                      vinc0_tdm_rx_sel = <0>;
                                      vinc0_rear_sensor_sel = <0>;
                                      vinc0_front_sensor_sel = <1>;
                                      vinc0_sensor_list = <0>;
                                      status = "disabled";
                              };
                              vinc1:vinc@1 {
                                      vinc1_csi_sel = <0>;
                                      vinc1_mipi_sel = <0>;
                                      vinc1_isp_sel = <0>;
                                      vinc1_isp_tx_ch = <0>;
                                      vinc1_tdm_rx_sel = <0>;
                                      vinc1_rear_sensor_sel = <0>;
                                      vinc1_front_sensor_sel = <1>;
                                      vinc1_sensor_list = <0>;
                                      status = "disabled";
                              };
                              vinc2:vinc@2 {
                                      vinc2_csi_sel = <1>;
                                      vinc2_mipi_sel = <1>;
                                      vinc2_isp_sel = <1>;
                                      vinc2_isp_tx_ch = <0>;
                                      vinc2_tdm_rx_sel = <1>;
                                      vinc2_rear_sensor_sel = <0>;
                                      vinc2_front_sensor_sel = <1>;
                                      vinc2_sensor_list = <0>;
                                      status = "disabled";
                              };
                              vinc3:vinc@3 {
                                      vinc3_csi_sel = <1>;
                                      vinc3_mipi_sel = <1>;
                                      vinc3_isp_sel = <1>;
                                      vinc3_isp_tx_ch = <0>;
                                      vinc3_tdm_rx_sel = <0xff>;
                                      vinc3_rear_sensor_sel = <0>;
                                      vinc3_front_sensor_sel = <1>;
                                      vinc3_sensor_list = <0>;
                                      status = "disabled";
                              };
                      };
      /*----------------------------------------------------------------------------------
      disp init configuration
      
      disp_mode             (0:screen0<screen0,fb0>)
      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@06000000 {
                              disp_init_enable         = <1>;
                              disp_mode                = <1>;
      
                              screen0_output_type      = <1>;
                              screen0_output_mode      = <4>;
      
                              screen0_output_format    = <0>;
                              screen0_output_bits      = <0>;
                              screen0_output_eotf      = <4>;
                              screen0_output_cs        = <257>;
                              screen0_output_dvi_hdmi  = <2>;
                              screen0_output_range     = <2>;
                              screen0_output_scan      = <0>;
                              screen0_output_aspect_ratio = <8>;
      
                              screen1_output_type      = <1>;
                              screen1_output_mode      = <4>;
      
                              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         = <1>;
                              dev1_output_mode         = <4>;
                              dev1_screen_id           = <1>;
                              dev1_do_hpd              = <0>;
      
                              def_output_dev           = <0>;
                              hdmi_mode_check          = <1>;
      
                              fb0_format               = <0>;
                              fb0_width                = <0>;
                              fb0_height               = <0>;
      
                              fb1_format               = <0>;
                              fb1_width                = <0>;
                              fb1_height               = <0>;
                              chn_cfg_mode             = <1>;
      
                              disp_para_zone           = <1>;
                              /*VCC-LCD*/
                              dc1sw-supply = <>;
                              /*VCC-DSI*/
                              eldo3-supply = <>;
                              /*VCC-PD*/
                              dcdc1-supply = <>;
                              status        = "okay";
                      };
      /*----------------------------------------------------------------------------------
      ;lcd0 configuration
      
      ;lcd_if:               0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi
      ;lcd_hv_if             0:Parallel RGB; 8:Serial RGB; 10:Dummy RGB; 11: RGB Dummy;12:CCIR656
      ;lcd_hv_clk_phase      0:0 degree;1:90 degree;2:180 degree;3:270 degree
      ;lcd_hv_sync_polarity  0:vs low,hs low; 1:vs high,hslow; 2:vs low,hs high; 3:vs high,hs high
      ;lcd_hv_syuv_seq       0:YUYV; 1:YVYU; 2:UYVY; 3:VYUY
      ;lcd_cpu_if            0:18bit/1 cycle parallel(RGB666); 4:16bit/1cycle parallel (RGB565)
      ;                      6:18bit/3 cycle parallel(RGB666); 7:16bit/2cycle parallel (RGB565)
      ;lcd_cpu_te            0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
      ;lcd_dsi_if            0:video mode; 1: Command mode; 2:video burst mode
      ;lcd_dsi_te            0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
      ;lcd_x:                lcd horizontal resolution
      ;lcd_y:                lcd vertical resolution
      ;lcd_width:            width of lcd in mm
      ;lcd_height:           height of lcd in mm
      ;lcd_dclk_freq:        in MHZ unit
      ;lcd_pwm_freq:         in HZ unit
      ;lcd_pwm_pol:          lcd backlight PWM polarity
      ;lcd_pwm_max_limit     lcd backlight PWM max limit(<=255)
      ;lcd_hbp:              hsync back porch(pixel) + hsync plus width(pixel);
      ;lcd_ht:               hsync total cycle(pixel)
      ;lcd_vbp:              vsync back porch(line) + vysnc plus width(line)
      ;lcd_vt:               vysnc total cycle(line)
      ;lcd_hspw:             hsync plus width(pixel)
      ;lcd_vspw:             vysnc plus width(pixel)
      ;lcd_lvds_if:          0:single link;  1:dual link(odd and even); 2:dual link(same pixel)
      ;lcd_lvds_colordepth:  0:8bit; 1:6bit
      ;lcd_lvds_mode:        0:NS mode; 1:JEIDA mode
      ;lcd_frm:              0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither
      ;lcd_io_phase:         0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase;
      ;                      8~11bit:dclk phase; 12~15bit:de phase)
      ;lcd_gamma_en          lcd gamma correction enable
      ;lcd_bright_curve_en   lcd bright curve correction enable
      ;lcd_cmap_en           lcd color map function enable
      ;deu_mode              0:smoll lcd screen; 1:large lcd screen(larger than 10inch)
      ;lcdgamma4iep:         Smart Backlight parameter, lcd gamma vale * 10;
      ;                      decrease it while lcd is not bright enough; increase while lcd is too bright
      ;smart_color           90:normal lcd screen 65:retina lcd screen(9.7inch)
      ;Pin setting for special function ie.LVDS, RGB data or vsync
      ;   name(donot care) = port:PD12<pin function><pull up or pull down><drive ability><output level>
      ;Pin setting for gpio:
      ;   lcd_gpio_X     = port:PD12<pin function><pull up or pull down><drive ability><output level>
      ;Pin setting for backlight enable pin
      ;   lcd_bl_en     = port:PD12<pin function><pull up or pull down><drive ability><output level>
      ;fsync setting, pulse to csi
      ;lcd_fsync_en          (0:disable fsync,1:enable)
      ;lcd_fsync_act_time    (active time of fsync, unit:pixel)
      ;lcd_fsync_dis_time    (disactive time of fsync, unit:pixel)
      ;lcd_fsync_pol         (0:positive;1:negative)
      ;gpio config: <&pio for cpu or &r_pio for cpus, port, port num, pio function,
      pull up or pull down(default 0), driver level(default 1), data>
      ;For dual link lvds: use lvds2link_pins_a  and lvds2link_pins_b instead
      ;For rgb24: use rgb24_pins_a  and rgb24_pins_b instead
      ;For lvds1: use lvds1_pins_a  and lvds1_pins_b instead
      ;For lvds0: use lvds0_pins_a  and lvds0_pins_b instead
      ;----------------------------------------------------------------------------------*/
                      lcd0: lcd0@01c0c000 {
              lcd_used            = <1>;
      
              lcd_driver_name     = "tft08006";
              lcd_backlight       = <100>;
              lcd_if              = <4>;
      
              lcd_x               = <720>;
              lcd_y               = <1440>;
              lcd_width           = <52>;
              lcd_height          = <52>;
              lcd_dclk_freq       = <70>;
      
              lcd_pwm_used        = <1>;
              lcd_pwm_ch          = <0>; //PD23
      //        lcd_pwm_ch          = <1>;//PI0
              lcd_pwm_freq        = <1000>;
              lcd_pwm_pol         = <0>;
              lcd_pwm_max_limit   = <255>;
      
              lcd_hbp             = <32>;
              lcd_ht              = <868>;
              lcd_hspw            = <4>;
              lcd_vbp             = <12>;
              lcd_vt              = <1488>;
              lcd_vspw            = <4>;
      
              lcd_dsi_if          = <0>;
              lcd_dsi_lane        = <4>;
              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_io_phase        = <0x0000>;
              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>;
      
              deu_mode            = <0>;
              lcdgamma4iep        = <22>;
              smart_color         = <90>;
      
                              lcd_pin_power;
                              lcd_power;
                              /*lcd_bl_en = <&pio PB 8 1 0 3 1>;*/
                              /*lcd_gpio_1 = <&pio PD 23 1 0 3 1>;*/
                              lcd_gpio_0 = <&r_pio PL 5 1 1 3 1>; //PL5
                              //lcd_gpio_0 = <&pio PI 1 1 1 3 1>; //PI1
                              pinctrl-0 = <&dsi4lane_pins_a>;
                              pinctrl-1 = <&dsi4lane_pins_b>;
      
                              status = "okay";
      
                      };
      
      
                      lcd1: lcd1@01c0c001 {
                              lcd_used                = <1>;
                              lcd_driver_name         = "st7701s_rgb";
      
                              lcd_if                  = <0>;
                              lcd_hv_if               = <0>;
      
                              lcd_width               = <70>;
                              lcd_height              = <72>;
                              lcd_x                   = <480>;
                              lcd_y                   = <480>;
                              lcd_dclk_freq           = <11>;
                              lcd_hbp                 = <60>;
                              lcd_ht                  = <612>;
                              lcd_hspw                = <12>;
                              lcd_vbp                 = <18>;
                              lcd_vt                  = <520>;
                              lcd_vspw                = <4>;
      
                              lcd_backlight           = <250>;// 0 ~ 255
                              lcd_pwm_used            = <1>;
                              lcd_pwm_ch              = <8>;
                              lcd_pwm_freq            = <20000>;
                              lcd_pwm_pol             = <1>;
                              lcd_pwm_max_limit   = <255>;
                              lcd_bright_curve_en = <0>;
      
                              lcd_frm                 = <1>;
                              lcd_io_phase            = <0x0000>;
                              lcd_gamma_en            = <0>;
                              lcd_cmap_en             = <0>;
                              lcd_hv_clk_phase        = <1>;
                              lcd_hv_sync_polarity= <0>;
                              lcd_rb_swap         = <0>;
      
                              //lcd_bl_en           = <&pio PI 7 1 1 3 1>;
                              lcd_gpio_0              = <&pio PJ 16 1 1 3 1>;//reset
                              lcd_gpio_1              = <&pio PJ 17 1 1 3 1>;//cs
                              lcd_gpio_2              = <&pio PC  2 1 1 3 1>;//sdi
                              lcd_gpio_3              = <&pio PC 12 1 1 3 1>;//scl
      
      /*
                              lcd_gpio_2              = <&r_pio PL 2 1 1 3 1>;//sdi
                              lcd_gpio_3              = <&r_pio PL 3 1 1 3 1>;//scl
      */
                              lcd_pin_power;
                              lcd_power;
      
                              pinctrl-0                       = <&rgb18_pins_c>;
                              pinctrl-1                       = <&rgb18_pins_d>;
      
                              status = "okay";
                      };
      
      
                      wlan: wlan@0 {
                              compatible    = "allwinner,sunxi-wlan";
                              pinctrl-0;
                              pinctrl-names;
                              wlan_busnum   = <0x1>;
                              wlan_power;
                              wlan_io_regulator;
                              wlan_regon = <&r_pio PL 10 1 0xffffffff 0xffffffff 0>;
                              wlan_hostwake = <&r_pio PL 7 1 0xffffffff 0xffffffff 0>;
                              chip_en;
                              power_en;
                              status        = "okay";
                      };
      
                      bt: bt@0 {
                              compatible    = "allwinner,sunxi-bt";
                              clocks        = <&clk_losc_out>, <&clk_dcxo_out>;
                              bt_power;
                              bt_io_regulator;
                              bt_rst_n      = <&r_pio PL 5 1 0xffffffff 0xffffffff 0>;
                              bt_wake = <&r_pio PL 4 1 0xffffffff 0xffffffff 0>;
                              bt_hostwake = <&r_pio PL 6 1 0xffffffff 0xffffffff 0>;
                              status        = "okay";
                      };
      
      
                      modem: modem@0 {
                              compatible    = "allwinner,sunxi-modem";
                              modem_power;
                              modem_rst     = <&pio PB 3 1 0xffffffff 0xffffffff 1>;
                              status        = "disabled";
                      };
      
                      btlpm: btlpm@0 {
                              compatible  = "allwinner,sunxi-btlpm";
                              uart_index  = <0x1>;
                              bt_wake     = <&r_pio PL 4 1 0xffffffff 0xffffffff 1>;//AP-WAKE-BT
                              bt_hostwake = <&r_pio PL 6 1 0xffffffff 0xffffffff 1>;//BT-WAKE-AP
                              status      = "okay";
      
                      };
      /*
                      btlpm: btlpm@0 {
                              compatible  = "allwinner,sunxi-btlpm";
                              uart_index  = <0x1>;
                              bt_wake     = <&r_pio PL 3 1 0xffffffff 0xffffffff 1>;
                              bt_hostwake = <&r_pio PL 4 6 0xffffffff 0xffffffff 1>;
                              status      = "disabled";
      
                      };
      */
                      addr_mgt: addr_mgt@0 {
                              compatible     = "allwinner,sunxi-addr_mgt";
                              type_addr_wifi = <0x0>;
                              type_addr_bt   = <0x0>;
                              type_addr_eth  = <0x0>;
                              status         = "okay";
                      };
      
                      uart0: uart@05000000 {
                              uart-supply = <>;
                      };
      
                      uart1: uart@05000400 {
                              status = "okay";
                      };
      
                      uart5: uart@05001400 {
                              status = "disabled";
                      };
      
                      uart6: uart@05001800 {
                              status = "disabled";
                              rs485-en = <&pio PI 11 1 1 0xffffffff 1>;
                      };
      
                      ncs8801s {
                              status = "disabled";
                              ncs8801s_reset = <&pio PI 14 1 0xffffffff 0xffffffff 0>;
                      };
              };
      
              gpu: gpu@0x01800000 {
                              gpu_idle = <0>;
                              dvfs_status = <1>;
                              pll_rate = <504000>;
                              independent_power = <0>;
                              operating-points = <
                                       /* KHz   uV */
                                      504000 950000
                                      472500 950000
                                      441000 950000
                                      252000 950000
                               >;
                               gpu-supply = <>;
              };
              opp_dvfs_table:opp_dvfs_table {
                      cluster_num = <1>;
                      opp_table_count = <1>;
              };
      };
      
      &cpu0 {
              cpu-supply = <>;
      };
      
      posted in 其它全志芯片讨论区
      Y
      yixiuge
    • Reply: 用小智SW106开发板驱动哪吒自带的MIPI显示屏

      xxxa_recompress.jpg

      一顿操作猛如虎, 终于搞定MIPI LCD

      posted in 其它全志芯片讨论区
      Y
      yixiuge
    • 1 / 1