• 解决LicheeRV 86 Panel在tina2.0配置lcd GPIO引脚及colorbar闪屏的问题


    设备树修改如下:

    
    project device/config/chips/d1-h/
    diff --git a/configs/nezha/linux-5.4/board.dts b/configs/nezha/linux-5.4/board.dts
    index 963aa17..fb8d344 100755
    --- a/configs/nezha/linux-5.4/board.dts
    +++ b/configs/nezha/linux-5.4/board.dts
    @@ -6,7 +6,6 @@
     
     /dts-v1/;
     
    -/memreserve/ 0x42000000 0x100000;  /* dsp used 1MB */
     #include "sun20iw1p1.dtsi"
     
     /{
    @@ -15,7 +14,6 @@
     	aliases {
     		dsp0 = &dsp0;
     		dsp0_gpio_int= &dsp0_gpio_int;
    -		gmac0 = &gmac0;
     	};
     
     	dsp0: dsp0 {
    @@ -31,7 +29,7 @@
     
     	reg_vdd_cpu: vdd-cpu {
     		compatible = "sunxi-pwm-regulator";
    -		pwms = <&pwm 0 5000 1>;
    +		pwms = <&pwm 0 5000 0>;
     		regulator-name = "vdd_cpu";
     		regulator-min-microvolt = <810000>;
     		regulator-max-microvolt = <1160000>;
    @@ -47,7 +45,15 @@
     		regulator-min-microvolt = <5000000>;
     		regulator-max-microvolt = <5000000>;
     		regulator-enable-ramp-delay = <1000>;
    -		gpio = <&pio PD 19 GPIO_ACTIVE_HIGH>;
    +		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;
     	};
     };
    @@ -234,62 +240,42 @@
     
     	gmac_pins_a: gmac@0 {
     		pins = "PE0", "PE1", "PE2", "PE3",
    -		       "PE4", "PE5", "PE6", "PE7",
    -		       "PE8", "PE9", "PE10", "PE11",
    -		       "PE12", "PE13", "PE14", "PE15";
    +				"PE4", "PE5", "PE6", "PE7",
    +				"PE8", "PE9";
     		function = "gmac0";
    -		muxsel = <8>; /* for uboot driver */
     		drive-strength = <10>;
     	};
     
     	gmac_pins_b: gmac@1 {
     		pins = "PE0", "PE1", "PE2", "PE3",
    -		       "PE4", "PE5", "PE6", "PE7",
    -		       "PE8", "PE9", "PE10", "PE11",
    -		       "PE12", "PE13", "PE14", "PE15";
    +				"PE4", "PE5", "PE6", "PE7",
    +				"PE8", "PE9";
     		function = "gpio_in";
     	};
     
     	dmic_pins_a: dmic@0 {
     		/* DMIC_PIN: CLK, DATA0, DATA1, DATA2 */
    -		pins = "PE17", "PB11", "PB10", "PD17";
    +		pins = "PE17", "PB11";
     		function = "dmic";
     		drive-strength = <20>;
     		bias-disable;
     	};
     
     	dmic_pins_b: dmic@1 {
    -		pins = "PE17", "PB11", "PB10", "PD17";
    +		pins = "PE17", "PB11";
     		function = "io_disabled";
     		drive-strength = <20>;
     		bias-disable;
     	};
     
     	daudio0_pins_a: daudio0@0 {
    -		/* MCLK, BCLK, LRCK */
    -		pins = "PE17", "PE16", "PE15";
    +		pins = "PE17", "PE16", "PE15", "PE14", "PE13";
     		function = "i2s0";
     		drive-strength = <20>;
     		bias-disable;
     	};
     
    -	daudio0_pins_b: daudio0@1 {
    -		/* DIN0 */
    -		pins = "PE14";
    -		function = "i2s0_din";
    -		drive-strength = <20>;
    -		bias-disable;
    -	};
    -
    -	daudio0_pins_c: daudio0@2 {
    -		/* DOUT0 */
    -		pins = "PE13";
    -		function = "i2s0_dout";
    -		drive-strength = <20>;
    -		bias-disable;
    -	};
    -
    -	daudio0_pins_d: daudio0_sleep@0 {
    +	daudio0_pins_b: daudio0_sleep@0 {
     		pins = "PE17", "PE16", "PE15", "PE14", "PE13";
     		function = "io_disabled";
     		drive-strength = <20>;
    @@ -297,30 +283,13 @@
     	};
     
     	daudio1_pins_a: daudio1@0 {
    -		/* MCLK, LRCK, BCLK */
    -		pins = "PG11", "PG12", "PG13";
    +		pins = "PG11", "PG12", "PG13", "PG14", "PG15";
     		function = "i2s1";
     		drive-strength = <20>;
     		bias-disable;
     	};
     
    -	daudio1_pins_b: daudio1@1 {
    -		/* DIN0 */
    -		pins = "PG14";
    -		function = "i2s1_din";
    -		drive-strength = <20>;
    -		bias-disable;
    -	};
    -
    -	daudio1_pins_c: daudio1@2 {
    -		/* DOUT0 */
    -		pins = "PG15";
    -		function = "i2s1_dout";
    -		drive-strength = <20>;
    -		bias-disable;
    -	};
    -
    -	daudio1_pins_d: daudio1_sleep@0 {
    +	daudio1_pins_b: daudio1_sleep@0 {
     		pins = "PG11", "PG12", "PG13", "PG14", "PG15";
     		function = "io_disabled";
     		drive-strength = <20>;
    @@ -374,7 +343,7 @@
     	};
     
     	spi0_pins_a: spi0@0 {
    -		pins = "PC2", "PC4", "PC5"; /* clk, mosi, miso */
    +		pins = "PC2", "PC4", "PC5","PC7", "PC6"; /*clk mosi miso hold wp*/
     		function = "spi0";
     		muxsel = <2>;
     		drive-strength = <10>;
    @@ -385,7 +354,7 @@
     		function = "spi0";
     		muxsel = <2>;
     		drive-strength = <10>;
    -		bias-pull-up;   /* cs, hold, wp should be pulled up */
    +		bias-pull-up;   /* only CS should be pulled up */
     	};
     
     	spi0_pins_c: spi0@2 {
    @@ -396,16 +365,16 @@
     	};
     
     	spi1_pins_a: spi1@0 {
    -		pins = "PD11", "PD12", "PD13"; /* clk, mosi, miso */
    +		pins = "PD11", "PD12", "PD13","PD14", "PD15"; /*clk mosi miso hold wp*/
     		function = "spi1";
     		drive-strength = <10>;
     	};
     
     	spi1_pins_b: spi1@1 {
    -		pins = "PD10", "PD14", "PD15";
    +		pins = "PD10";
     		function = "spi1";
     		drive-strength = <10>;
    -		bias-pull-up;   /* cs, hold, wp should be pulled up */
    +		bias-pull-up;   // only CS should be pulled up
     	};
     
     	spi1_pins_c: spi1@2 {
    @@ -447,9 +416,9 @@
     
     	pwm2_pin_b: pwm2@1 {
     		pins = "PD18";
    -		function = "gpio_out";
    +		function = "gpio_in";
     	};
    -/*
    +
     	pwm7_pin_a: pwm7@0 {
     		pins = "PD22";
     		function = "pwm7";
    @@ -461,7 +430,6 @@
     		pins = "PD22";
     		function = "gpio_in";
     	};
    -*/
     
     	s_cir0_pins_a: s_cir@0 {
     		pins = "PB12";
    @@ -486,6 +454,45 @@
     		pins = "PB0";
     		function = "gpio_in";
     	};
    +
    +	rgb18_20_pins_a: rgb18_20@0 {
    +		pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", \
    +				"PD6", "PD7", "PD8", "PD9", "PD10", "PD11", \
    +				"PD12", "PD13", "PD14", "PD15", "PD16", "PD17", \
    +				"PD18", "PD19", "PD20", "PD21";
    +		function = "lcd0";
    +		drive-strength = <20>;
    +		bias-disable;
    +	};
    +
    +	rgb18_20_pins_b: rgb18_20@1 {
    +		pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", \
    +				"PD6", "PD7", "PD8", "PD9", "PD10", "PD11", \
    +				"PD12", "PD13", "PD14", "PD15", "PD16", "PD17", \
    +				"PD18", "PD19", "PD20", "PD21";
    +		function = "io_disabled";
    +		bias-disable;
    +	};
    +
    +	rgb18_10_pins_a: rgb18_10@0 {
    +		pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", \
    +				"PD6", "PD7", "PD8", "PD9", "PD10", "PD11", \
    +				"PD12", "PD13", "PD14", "PD15", "PD16", "PD17", \
    +				"PD18", "PD19", "PD20", "PD21";
    +		function = "lcd0";
    +		drive-strength = <10>;
    +		bias-disable;
    +	};
    +
    +	rgb18_10_pins_b: rgb18_10@1 {
    +		pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", \
    +				"PD6", "PD7", "PD8", "PD9", "PD10", "PD11", \
    +				"PD12", "PD13", "PD14", "PD15", "PD16", "PD17", \
    +				"PD18", "PD19", "PD20", "PD21";
    +		function = "io_disabled";
    +		bias-disable;
    +	};
    +
     };
     
     &uart0 {
    @@ -510,11 +517,11 @@
     };
     
     &uart3 {
    -	compatible = "allwinner,sun20iw1-dsp-uart";
    +	/*compatible = "allwinner,sun20iw1-dsp-uart";*/
     	pinctrl-names = "default", "sleep";
     	pinctrl-0 = <&uart3_pins_a>;
     	pinctrl-1 = <&uart3_pins_a>;
    -	status = "okay";
    +	status = "disabled";
     };
     
     &soc {
    @@ -557,12 +564,12 @@
     		compatible    = "allwinner,sunxi-rfkill";
     		chip_en;
     		power_en;
    -		pinctrl-0 = <&wlan_pins_a>;
    -		pinctrl-names = "default";
     		status        = "okay";
     
     		wlan: wlan@0 {
     			compatible    = "allwinner,sunxi-wlan";
    +			pinctrl-0 = <&wlan_pins_a>;
    +			pinctrl-names = "default";
     			clock-names = "32k-fanout1";
     			clocks = <&ccu CLK_FANOUT1_OUT>;
     			wlan_busnum    = <0x1>;
    @@ -578,6 +585,8 @@
     
     		bt: bt@0 {
     			compatible    = "allwinner,sunxi-bt";
    +			pinctrl-0 = <&wlan_pins_a>;
    +			pinctrl-names = "default";
     			clock-names = "32k-fanout1";
     			clocks = <&ccu CLK_FANOUT1_OUT>;
     			/*bt_power_num = <0x01>;*/
    @@ -590,13 +599,13 @@
     		};
     	};
     
    -	btlpm: btlpm@0 {
    +	/*btlpm: btlpm@0 {
     		compatible  = "allwinner,sunxi-btlpm";
     		uart_index  = <0x1>;
     		bt_wake     = <&pio PG 16 GPIO_ACTIVE_HIGH>;
     		bt_hostwake = <&pio PG 17 GPIO_ACTIVE_HIGH>;
     		status      = "okay";
    -	};
    +	};*/
     
     	addr_mgt: addr_mgt@0 {
     		compatible     = "allwinner,sunxi-addr_mgt";
    @@ -826,8 +835,8 @@ tvd_row*tvd_column is the total tvd channel number to be used in multichannel mo
     	pcm_lrck_period = <0x80>;
     	slot_width_select = <0x20>;
     	pinctrl-names   = "default", "sleep";
    -	pinctrl-0       = <&daudio0_pins_a &daudio0_pins_b &daudio0_pins_c>;
    -	pinctrl-1       = <&daudio0_pins_d>;
    +	pinctrl-0       = <&daudio0_pins_a>;
    +	pinctrl-1       = <&daudio0_pins_b>;
     	pinctrl_used	= <0x0>;
     	status = "disabled";
     };
    @@ -861,8 +870,8 @@ tvd_row*tvd_column is the total tvd channel number to be used in multichannel mo
     	pcm_lrck_period = <0x80>;
     	slot_width_select = <0x20>;
     	pinctrl-names   = "default", "sleep";
    -	pinctrl-0       = <&daudio1_pins_a &daudio1_pins_b &daudio1_pins_c>;
    -	pinctrl-1       = <&daudio1_pins_d>;
    +	pinctrl-0       = <&daudio1_pins_a>;
    +	pinctrl-1       = <&daudio1_pins_b>;
     	pinctrl_used	= <0x0>;
     	status = "disabled";
     };
    @@ -930,12 +939,10 @@ tvd_row*tvd_column is the total tvd channel number to be used in multichannel mo
      */
     &usbc0 {
     	device_type = "usbc0";
    -	usb_port_type = <0x2>;
    +	usb_port_type = <0x0>;
     	usb_detect_type = <0x1>;
     	usb_detect_mode = <0>;
    -	usb_id_gpio = <&pio PD 21 GPIO_ACTIVE_HIGH>;
     	enable-active-high;
    -	usb_det_vbus_gpio = <&pio PD 20 GPIO_ACTIVE_HIGH>;
     	usb_wakeup_suspend = <0>;
     	usb_serial_unique = <0>;
     	usb_serial_number = "20080411";
    @@ -997,43 +1004,20 @@ tvd_row*tvd_column is the total tvd channel number to be used in multichannel mo
     	dma-names = "tx", "rx";
     	status = "okay";
     
    -	/* pcf8574-usage:
    -	 * only use gpio0~7, 0 means PP0.
    -	 * pin set:
    -	 * gpios = <&pcf8574 0 GPIO_ACTIVE_LOW>;
    -	 * interrupt set:
    -	 * interrupt-parent = <&pcf8574>;
    -	 * interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
    -	 */
    -	pcf8574: gpio@38 {
    -		compatible = "nxp,pcf8574";
    -		reg = <0x38>;
    -		gpio_base = <2020>;
    -		gpio-controller;
    -		#gpio-cells = <2>;
    -		interrupt-controller;
    -		#interrupt-cells = <2>;
    -		interrupt-parent = <&pio>;
    -		interrupts = ;
    +	focaltech@48{
    +		compatible = "focaltech,fts";    
     		status = "okay";
    +		reg = <0x48>;
    +		interrupt-parent = <&pio>;
    +		interrupts = ;
    +		focaltech,reset-gpio = <&pio PG 15 GPIO_ACTIVE_HIGH>;
    +		focaltech,irq-gpio = <&pio PG 14 IRQ_TYPE_LEVEL_LOW>;
    +		focaltech,max-touch-number = <2>;
    +		focaltech,display-coords =  <0 0 480 480>;     
    +		focaltech,reg_vdd = <®_3v3>;
    +		focaltech,reg_avdd = <®_3v3>;
     	};
     
    -	ctp@14 {
    -		compatible = "allwinner,goodix";
    -		device_type = "ctp";
    -		reg = <0x14>;
    -		status = "disabled";
    -		ctp_name = "gt9xxnew_ts";
    -		ctp_twi_id = <0x2>;
    -		ctp_twi_addr = <0x14>;
    -		ctp_screen_max_x = <0x320>;
    -		ctp_screen_max_y = <0x500>;
    -		ctp_revert_x_flag = <0x0>;
    -		ctp_revert_y_flag = <0x1>;
    -		ctp_exchange_x_y_flag = <0x0>;
    -		ctp_int_port = <&pio PG 14 GPIO_ACTIVE_HIGH>;
    -		ctp_wakeup = <&pio PG 15 GPIO_ACTIVE_HIGH>;
    -	};
     };
     
     &twi3 {
    @@ -1045,14 +1029,12 @@ tvd_row*tvd_column is the total tvd channel number to be used in multichannel mo
     };
     
     &gmac0 {
    -	phy-mode = "rgmii";
    +	phy-mode = "rmii";
     	use_ephy25m = <1>;
     	pinctrl-0 = <&gmac_pins_a>;
     	pinctrl-1 = <&gmac_pins_b>;
     	pinctrl-names = "default", "sleep";
     	phy-rst = <&pio PE 16 GPIO_ACTIVE_HIGH>;
    -	tx-delay = <3>; /*2~4*/
    -	rx-delay = <0>;
     	status = "okay";
     };
     
    @@ -1064,7 +1046,7 @@ tvd_row*tvd_column is the total tvd channel number to be used in multichannel mo
     	/*spi-supply = <®_dcdc1>;*/
     	spi_slave_mode = <0>;
     	spi0_cs_number = <1>;
    -        spi0_cs_bitmap = <1>;
    +	spi0_cs_bitmap = <1>;
     	status = "disabled";
     
     	spi-nand@0 {
    @@ -1083,21 +1065,9 @@ tvd_row*tvd_column is the total tvd channel number to be used in multichannel mo
     	pinctrl-1 = <&spi1_pins_c>;
     	pinctrl-names = "default", "sleep";
     	spi_slave_mode = <0>;
    -	spi1_cs_number = <1>;
    -	spi1_cs_bitmap = <1>;
    -	spi_dbi_enable = <1>;
     	status = "disabled";
     
     	spi_board1@0 {
    -		device_type = "spi-dbi";
    -		compatible = "sunxi,spidbi";
    -		spi-max-frequency = <0x5f5e100>;
    -		reg = <0x0>;
    -		spi-rx-bus-width = <0x4>;
    -		spi-tx-bus-width = <0x4>;
    -		status = "okay";
    -	};
    -	/* spi_board1@0 {
     		device_type = "spi_board1";
     		compatible = "rohm,dh2228fv";
     		spi-max-frequency = <0x5f5e100>;
    @@ -1105,7 +1075,7 @@ tvd_row*tvd_column is the total tvd channel number to be used in multichannel mo
     		spi-rx-bus-width = <0x4>;
     		spi-tx-bus-width = <0x4>;
     		status = "disabled";
    -	}; */
    +	};
     };
     
     &ledc {
    @@ -1279,57 +1249,50 @@ pull up or pull down(default 0), driver level(default 1), data>
     ;For lvds0: use lvds0_pins_a  and lvds0_pins_b instead
     ;----------------------------------------------------------------------------------*/
     &lcd0 {
    -	lcd_used            = <1>;
    -
    -	lcd_driver_name     = "tft08006";
    -	lcd_backlight       = <100>;
    -	lcd_if              = <4>;
    -
    -	lcd_x               = <800>;
    -	lcd_y               = <1280>;
    -	lcd_width           = <52>;
    -	lcd_height          = <52>;
    -	lcd_dclk_freq       = <70>;
    -
    -	lcd_pwm_used        = <1>;
    -	lcd_pwm_ch          = <2>;
    -	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              = <1311>;
    -	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_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   = <19>;
    +	lcd_hbp         = <60>;
    +	lcd_ht          = <612>;
    +	lcd_hspw        = <12>;
    +	lcd_vbp         = <18>;
    +	lcd_vt          = <520>;
    +	lcd_vspw        = <4>;
    +
    +	lcd_backlight   = <50>;
    +	lcd_pwm_used    = <1>;
    +	lcd_pwm_ch      = <7>;
    +	lcd_pwm_freq    = <20000>;
    +	lcd_pwm_pol     = <1>;
     	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_gpio_0 =  <&pio PG 13 GPIO_ACTIVE_HIGH>;
    -	pinctrl-0 = <&dsi4lane_pins_a>;
    -	pinctrl-1 = <&dsi4lane_pins_b>;
    +
    +	lcd_frm         = <1>;
    +	lcd_io_phase    = <0x0000>;
    +	lcd_gamma_en    = <0>;
    +	lcd_cmap_en     = <0>;
    +	lcd_hv_clk_phase= <0>;
    +	lcd_hv_sync_polarity= <0>;
    +	lcd_rb_swap          = <0>;
    +
    +	lcd_power       = "vcc-lcd";
    +	lcd_pin_power   = "vcc-pd";
    +	lcd_gpio_0      = <&pio PG 13 GPIO_ACTIVE_HIGH>;
    +	lcd_gpio_1      = <&pio PE 14 GPIO_ACTIVE_HIGH>;
    +	lcd_gpio_2      = <&pio PE 12 GPIO_ACTIVE_HIGH>;
    +	lcd_gpio_3      = <&pio PE 15 GPIO_ACTIVE_HIGH>;
    +	pinctrl-0       = <&rgb18_pins_a>;
    +	pinctrl-1       = <&rgb18_pins_b>;
     };
     
    +
     &hdmi {
     	hdmi_used = <1>;
     	hdmi_power_cnt = <0>;
    @@ -1357,14 +1320,12 @@ pull up or pull down(default 0), driver level(default 1), data>
     	status = "okay";
     };
     
    -/*
     &pwm7 {
     	pinctrl-names = "active", "sleep";
     	pinctrl-0 = <&pwm7_pin_a>;
     	pinctrl-1 = <&pwm7_pin_b>;
     	status = "okay";
     };
    -*/
     
     &rtp {
     	allwinner,tp-sensitive-adjust = <0xf>;
    @@ -1399,61 +1360,4 @@ pull up or pull down(default 0), driver level(default 1), data>
     	pinctrl-0 = <&ir1_pins_a>;
     	pinctrl-1 = <&ir1_pins_b>;
     	status = "disabled";
    -};
    -
    -/* &lcd_fb0 {
    -	lcd_used = <1>;
    -	lcd_driver_name = "kld35512";
    -	lcd_if = <1>;
    -	lcd_dbi_if = <4>;
    -	lcd_data_speed = <60>;
    -	lcd_spi_bus_num = <1>;
    -	lcd_x = <320>;
    -	lcd_y = <480>;
    -	lcd_pixel_fmt = <10>;
    -	lcd_dbi_fmt = <2>;
    -	lcd_rgb_order = <0>;
    -	lcd_width = <60>;
    -	lcd_height = <95>;
    -	lcd_pwm_used = <1>;
    -	lcd_pwm_ch = <7>;
    -	lcd_pwm_freq = <5000>;
    -	lcd_pwm_pol = <1>;
    -	lcd_frm = <1>;
    -	lcd_gamma_en = <1>;
    -	fb_buffer_num = <2>;
    -	lcd_backlight = <100>;
    -	lcd_fps = <40>;
    -	lcd_dbi_te = <1>;
    -	lcd_dbi_clk_mode = <1>;
    -	lcd_gpio_0 = <&pio PC 0 GPIO_ACTIVE_HIGH>;
    -	status = "okay";
    -}; */
    -
    -/* &lcd_fb0 {
    -	lcd_used = <1>;
    -	lcd_driver_name = "kld2844b";
    -	lcd_if = <1>;
    -	lcd_dbi_if = <4>;
    -	lcd_data_speed = <60>;
    -	lcd_spi_bus_num = <1>;
    -	lcd_x = <240>;
    -	lcd_y = <320>;
    -	lcd_width = <60>;
    -	lcd_height = <95>;
    -	lcd_pwm_used = <1>;
    -	lcd_pwm_ch = <7>;
    -	lcd_pwm_freq = <5000>;
    -	lcd_pwm_pol = <0>;
    -	lcd_pixel_fmt = <0>;
    -	lcd_dbi_fmt = <3>;
    -	lcd_rgb_order = <0>;
    -	lcd_frm = <1>;
    -	lcd_gamma_en = <1>;
    -	fb_buffer_num = <2>;
    -	lcd_backlight = <100>;
    -	lcd_dbi_te = <1>;
    -	lcd_fps = <60>;
    -	lcd_gpio_0 = <&pio PC 0 GPIO_ACTIVE_HIGH>;
    -	status = "okay";
    -}; */
    +};
    \ No newline at end of file
    diff --git a/configs/nezha/linux-5.4/config-5.4 b/configs/nezha/linux-5.4/config-5.4
    index 87ab49e..d91578d 100644
    --- a/configs/nezha/linux-5.4/config-5.4
    +++ b/configs/nezha/linux-5.4/config-5.4
    @@ -1368,6 +1368,7 @@ CONFIG_XR829_WLAN=m
     # CONFIG_SPARD_WLAN_SUPPORT is not set
     # CONFIG_BCMDHD is not set
     # CONFIG_AIC_WLAN_SUPPORT is not set
    +# CONFIG_RTL8723DS is not set
     # CONFIG_MAC80211_HWSIM is not set
     # CONFIG_USB_NET_RNDIS_WLAN is not set
     # CONFIG_VIRT_WIFI is not set
    diff --git a/configs/nezha/sys_config.fex b/configs/nezha/sys_config.fex
    index d52f3c1..a9b354e 100755
    --- a/configs/nezha/sys_config.fex
    +++ b/configs/nezha/sys_config.fex
    @@ -23,7 +23,7 @@ debug_mode  = 8
     ;storage_type   = boot medium, 0-nand, 1-sd, 2-emmc, 3-nor, 4-emmc3, 5-spinand -1(defualt)auto scan
     ;----------------------------------------------------------------------------------
     [target]
    -storage_type    = 5
    +storage_type    = 1
     
     
     ;----------------------------------------------------------------------------------
    diff --git a/configs/nezha/uboot-board.dts b/configs/nezha/uboot-board.dts
    index 81a521e..1efc8a6 100644
    --- a/configs/nezha/uboot-board.dts
    +++ b/configs/nezha/uboot-board.dts
    @@ -42,7 +42,7 @@
     &pwm2_pin_b {
     	pins = "PD18";
     	muxsel = <0>;
    -	function = "gpio_out";
    +	function = "gpio_in";
     };
     
     &pwm2 {
    @@ -261,57 +261,49 @@
     };
     
     &lcd0 {
    -	lcd_used            = <1>;
    -
    -	lcd_driver_name     = "tft08006";
    -	lcd_backlight       = <100>;
    -	lcd_if              = <4>;
    -
    -	lcd_x               = <800>;
    -	lcd_y               = <1280>;
    -	lcd_width           = <52>;
    -	lcd_height          = <52>;
    -	lcd_dclk_freq       = <70>;
    -
    -	lcd_pwm_used        = <1>;
    -	lcd_pwm_ch          = <2>;
    -	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              = <1311>;
    -	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_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   = <19>;
    +	lcd_hbp         = <60>;
    +	lcd_ht          = <612>;
    +	lcd_hspw        = <12>;
    +	lcd_vbp         = <18>;
    +	lcd_vt          = <520>;
    +	lcd_vspw        = <4>;
    +
    +	lcd_backlight   = <50>;
    +	lcd_pwm_used    = <1>;
    +	lcd_pwm_ch      = <7>;
    +	lcd_pwm_freq    = <20000>;
    +	lcd_pwm_pol     = <1>;
     	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_gpio_0 =  <&pio PG 13 GPIO_ACTIVE_HIGH>;
    -	pinctrl-0 = <&dsi4lane_pins_a>;
    -	pinctrl-1 = <&dsi4lane_pins_b>;
    +
    +	lcd_frm         = <1>;
    +	lcd_io_phase    = <0x0000>;
    +	lcd_gamma_en    = <0>;
    +	lcd_cmap_en     = <0>;
    +	lcd_hv_clk_phase= <0>;
    +	lcd_hv_sync_polarity= <0>;
    +
    +	lcd_power       = "vcc-lcd";
    +	lcd_pin_power   = "vcc-pd";
    +	lcd_gpio_0      = <&pio PG 13 GPIO_ACTIVE_HIGH>;
    +	lcd_gpio_1      = <&pio PE 14 GPIO_ACTIVE_HIGH>;
    +	lcd_gpio_2      = <&pio PE 12 GPIO_ACTIVE_HIGH>;
    +	lcd_gpio_3      = <&pio PE 15 GPIO_ACTIVE_HIGH>;
    +	pinctrl-0       = <&rgb18_pins_a>;
    +	pinctrl-1       = <&rgb18_pins_b>;
     };
     
    +
     &hdmi {
     	hdmi_used = <1>;
     	hdmi_power_cnt = <0>;
    @@ -343,4 +335,4 @@
     	eink = &eink;
     	spi0 = &spi0;
     
    -};
    +};
    \ No newline at end of file
    
    project lichee/linux-5.4/
    diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig
    index 7e788946e..4c02b14b4 100644
    --- a/drivers/net/wireless/Kconfig
    +++ b/drivers/net/wireless/Kconfig
    @@ -52,6 +52,8 @@ source "drivers/net/wireless/xr819s/Kconfig"
     source "drivers/net/wireless/uwe5622/Kconfig"
     source "drivers/net/wireless/bcmdhd/Kconfig"
     source "drivers/net/wireless/aic8800/Kconfig"
    +source "drivers/net/wireless/rtl8723ds/Kconfig"
    +# source "drivers/net/wireless/rtl8189fs/Kconfig"
     
     config PCMCIA_RAYCS
     	tristate "Aviator/Raytheon 2.4GHz wireless support"
    diff --git a/drivers/net/wireless/Makefile b/drivers/net/wireless/Makefile
    index 269cb635d..644069b49 100644
    --- a/drivers/net/wireless/Makefile
    +++ b/drivers/net/wireless/Makefile
    @@ -32,6 +32,8 @@ obj-$(CONFIG_VIRT_WIFI)	+= virt_wifi.o
     
     obj-$(CONFIG_XR829_WLAN)   += xr829/
     obj-$(CONFIG_XR819S_WLAN)   += xr819s/
    +obj-$(CONFIG_RTL8723DS) += rtl8723ds/
    +# obj-$(CONFIG_RTL8189FS) += rtl8189fs/
     obj-$(CONFIG_SPARD_WLAN_SUPPORT) += uwe5622/
     obj-$(CONFIG_BCMDHD) += bcmdhd/
     obj-$(CONFIG_AIC_WLAN_SUPPORT) += aic8800/
    
    
    • 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
    • 256
    • 257
    • 258
    • 259
    • 260
    • 261
    • 262
    • 263
    • 264
    • 265
    • 266
    • 267
    • 268
    • 269
    • 270
    • 271
    • 272
    • 273
    • 274
    • 275
    • 276
    • 277
    • 278
    • 279
    • 280
    • 281
    • 282
    • 283
    • 284
    • 285
    • 286
    • 287
    • 288
    • 289
    • 290
    • 291
    • 292
    • 293
    • 294
    • 295
    • 296
    • 297
    • 298
    • 299
    • 300
    • 301
    • 302
    • 303
    • 304
    • 305
    • 306
    • 307
    • 308
    • 309
    • 310
    • 311
    • 312
    • 313
    • 314
    • 315
    • 316
    • 317
    • 318
    • 319
    • 320
    • 321
    • 322
    • 323
    • 324
    • 325
    • 326
    • 327
    • 328
    • 329
    • 330
    • 331
    • 332
    • 333
    • 334
    • 335
    • 336
    • 337
    • 338
    • 339
    • 340
    • 341
    • 342
    • 343
    • 344
    • 345
    • 346
    • 347
    • 348
    • 349
    • 350
    • 351
    • 352
    • 353
    • 354
    • 355
    • 356
    • 357
    • 358
    • 359
    • 360
    • 361
    • 362
    • 363
    • 364
    • 365
    • 366
    • 367
    • 368
    • 369
    • 370
    • 371
    • 372
    • 373
    • 374
    • 375
    • 376
    • 377
    • 378
    • 379
    • 380
    • 381
    • 382
    • 383
    • 384
    • 385
    • 386
    • 387
    • 388
    • 389
    • 390
    • 391
    • 392
    • 393
    • 394
    • 395
    • 396
    • 397
    • 398
    • 399
    • 400
    • 401
    • 402
    • 403
    • 404
    • 405
    • 406
    • 407
    • 408
    • 409
    • 410
    • 411
    • 412
    • 413
    • 414
    • 415
    • 416
    • 417
    • 418
    • 419
    • 420
    • 421
    • 422
    • 423
    • 424
    • 425
    • 426
    • 427
    • 428
    • 429
    • 430
    • 431
    • 432
    • 433
    • 434
    • 435
    • 436
    • 437
    • 438
    • 439
    • 440
    • 441
    • 442
    • 443
    • 444
    • 445
    • 446
    • 447
    • 448
    • 449
    • 450
    • 451
    • 452
    • 453
    • 454
    • 455
    • 456
    • 457
    • 458
    • 459
    • 460
    • 461
    • 462
    • 463
    • 464
    • 465
    • 466
    • 467
    • 468
    • 469
    • 470
    • 471
    • 472
    • 473
    • 474
    • 475
    • 476
    • 477
    • 478
    • 479
    • 480
    • 481
    • 482
    • 483
    • 484
    • 485
    • 486
    • 487
    • 488
    • 489
    • 490
    • 491
    • 492
    • 493
    • 494
    • 495
    • 496
    • 497
    • 498
    • 499
    • 500
    • 501
    • 502
    • 503
    • 504
    • 505
    • 506
    • 507
    • 508
    • 509
    • 510
    • 511
    • 512
    • 513
    • 514
    • 515
    • 516
    • 517
    • 518
    • 519
    • 520
    • 521
    • 522
    • 523
    • 524
    • 525
    • 526
    • 527
    • 528
    • 529
    • 530
    • 531
    • 532
    • 533
    • 534
    • 535
    • 536
    • 537
    • 538
    • 539
    • 540
    • 541
    • 542
    • 543
    • 544
    • 545
    • 546
    • 547
    • 548
    • 549
    • 550
    • 551
    • 552
    • 553
    • 554
    • 555
    • 556
    • 557
    • 558
    • 559
    • 560
    • 561
    • 562
    • 563
    • 564
    • 565
    • 566
    • 567
    • 568
    • 569
    • 570
    • 571
    • 572
    • 573
    • 574
    • 575
    • 576
    • 577
    • 578
    • 579
    • 580
    • 581
    • 582
    • 583
    • 584
    • 585
    • 586
    • 587
    • 588
    • 589
    • 590
    • 591
    • 592
    • 593
    • 594
    • 595
    • 596
    • 597
    • 598
    • 599
    • 600
    • 601
    • 602
    • 603
    • 604
    • 605
    • 606
    • 607
    • 608
    • 609
    • 610
    • 611
    • 612
    • 613
    • 614
    • 615
    • 616
    • 617
    • 618
    • 619
    • 620
    • 621
    • 622
    • 623
    • 624
    • 625
    • 626
    • 627
    • 628
    • 629
    • 630
    • 631
    • 632
    • 633
    • 634
    • 635
    • 636
    • 637
    • 638
    • 639
    • 640
    • 641
    • 642
    • 643
    • 644
    • 645
    • 646
    • 647
    • 648
    • 649
    • 650
    • 651
    • 652
    • 653
    • 654
    • 655
    • 656
    • 657
    • 658
    • 659
    • 660
    • 661
    • 662
    • 663
    • 664
    • 665
    • 666
    • 667
    • 668
    • 669
    • 670
    • 671
    • 672
    • 673
    • 674
    • 675
    • 676
    • 677
    • 678
    • 679
    • 680
    • 681
    • 682
    • 683
    • 684
    • 685
    • 686
    • 687
    • 688
    • 689
    • 690
    • 691
    • 692
    • 693
    • 694
    • 695
    • 696
    • 697
    • 698
    • 699
    • 700
    • 701
    • 702
    • 703
    • 704
    • 705
    • 706
    • 707
    • 708
    • 709
    • 710
    • 711
    • 712
    • 713
    • 714
    • 715
    • 716
    • 717
    • 718
    • 719
    • 720
    • 721
    • 722
    • 723
    • 724
    • 725
    • 726
    • 727
    • 728
    • 729
    • 730
    • 731
    • 732
    • 733
    • 734
    • 735
    • 736
    • 737
    • 738
    • 739
    • 740
    • 741
    • 742
    • 743
    • 744
    • 745
    • 746
    • 747
    • 748
    • 749
    • 750
    • 751
    • 752
    • 753
    • 754
    • 755
    • 756
    • 757
    • 758
    • 759
    • 760
    • 761
    • 762
    • 763
    • 764
    • 765
    • 766
    • 767
    • 768
    • 769
    • 770
    • 771
    • 772
    • 773
    • 774
    • 775
    • 776
    • 777
    • 778
    • 779
    • 780
    • 781
    • 782
    • 783
    • 784
    • 785
    • 786
    • 787
    • 788
    • 789
    • 790
    • 791
    • 792
    • 793
    • 794
    • 795
    • 796
    • 797
    • 798
    • 799
    • 800
    • 801
    • 802
    • 803
    • 804
    • 805
    • 806
    • 807

    设备树修改参考了https://github.com/Tina-Linux/tina-d1x-lichee-rv和sipeed提供的licheerv_d1_compile。

    使用以下命令

    cat /sys/kernel/debug/pinctrl/2000000.pinctrl/pinmux-pins
    
    • 1

    发现lcd的io均没有进行初始化

    在这里插入图片描述

    附上uboot的dts

    /*
     * Allwinner Technology CO., Ltd. sun20iw1p1 soc board.
     *
     * soc board support.
     */
    
    &platform {
    	eraseflag   = <1>;
    	next_work   = <3>;
    	debug_mode  = <1>;
    };
    
    &target {
    	boot_clock = <1008>;	/*CPU boot frequency, Unit: MHz*/
    	storage_type = <0xffffffff>; /*boot medium, 0-nand, 1-card0, 2-card2, -1(defualt)auto scan*/
    	burn_key = <0>;		/*1:support burn key; 0:not support burn key*/
    	dragonboard_test = <0>;	/*1:support card boot dragonboard; 0:not support card boot dragonboard*/
    };
    
    
    &charger0 {
    	pmu_safe_vol = <3500>;
    };
    
    
    &twi6 {
    	clock-frequency = <200000>;
    	pinctrl-0 = <&s_twi0_pins_a>;
    	no_suspend = <1>;
    	twi_drv_used = <1>;
    	status = "okay";
    };
    
    &pwm2_pin_a {
    	pins = "PD18";
    	function = "pwm2";
    	muxsel = <5>;
    	drive-strength = <10>;
    	bias-pull-up;
    };
    
    &pwm2_pin_b {
    	pins = "PD18";
    	muxsel = <0>;
    	function = "gpio_in";
    };
    
    &pwm2 {
    	pinctrl-names = "active", "sleep";
    	pinctrl-0 = <&pwm2_pin_a>;
    	pinctrl-1 = <&pwm2_pin_b>;
    	status = "okay";
    };
    
    &pwm7_pin_a {
    	pins = "PD22";
    	function = "pwm7";
    	muxsel = <5>;
    	drive-strength = <10>;
    	bias-pull-up;
    };
    
    &pwm7_pin_b {
    	pins = "PD22";
    	muxsel = <0>;
    	function = "gpio_in";
    };
    
    &pwm7 {
    	pinctrl-names = "active", "sleep";
    	pinctrl-0 = <&pwm7_pin_a>;
    	pinctrl-1 = <&pwm7_pin_b>;
    	status = "okay";
    };
    
    &sdc0_pins_a {
    	allwinner,pins = "PF0", "PF1", "PF2",
    			 "PF3", "PF4", "PF5";
    	allwinner,function = "sdc0";
    	allwinner,muxsel = <2>;
    	allwinner,drive = <3>;
    	allwinner,pull = <1>;
    	pins = "PF0", "PF1", "PF2",
    	       "PF3", "PF4", "PF5";
    	function = "sdc0";
    	drive-strength = <30>;
    	bias-pull-up;
    	power-source = <3300>;
    };
    
    &sdc0_pins_b {
    	pins = "PF0", "PF1", "PF2",
    	       "PF3", "PF4", "PF5";
    	function = "sdc0";
    	drive-strength = <30>;
    	bias-pull-up;
    	power-source = <1800>;
    };
    
    &sdc0_pins_c {
    		pins = "PF0", "PF1", "PF2",
    			"PF3", "PF4", "PF5";
    		function = "gpio_in";
    
    };
    
    
    &sdc2_pins_a {
    	allwinner,pins = "PC2", "PC3", "PC4",
    			 "PC5", "PC6", "PC7";
    	allwinner,function = "sdc2";
    	allwinner,muxsel = <3>;
    	allwinner,drive = <3>;
    	allwinner,pull = <1>;
    	pins = "PC2", "PC3", "PC4",
    		"PC5", "PC6", "PC7";
    	function = "sdc2";
    	drive-strength = <30>;
    	bias-pull-up;
    
    };
    
    &sdc2_pins_b {
    	pins = "PC2", "PC3", "PC4",
    	       "PC5", "PC6", "PC7";
    	function = "gpio_in";
    };
    
    
    
    &nand0_pins_a {
    	allwinner,pins = "PC0", "PC1", "PC2", "PC5",
    			 "PC8", "PC9", "PC10", "PC11",
    			 "PC12", "PC13", "PC14", "PC15",
    			 "PC16";
    	allwinner,pname= "nand0_we", "nand0_ale","nand0_cle", "nand0_nre",
    			 "nand0_d0", "nand0_d1", "nand0_d2", "nand0_d3",
    			 "nand0_d4", "nand0_d5", "nand0_d6", "nand0_d7",
    			 "nand0_ndqs";
    	allwinner,function = "nand0";
    	allwinner,muxsel = <2>;
    	allwinner,drive = <1>;
    	allwinner,pull = <0>;
    };
    
    &nand0_pins_b {
    	allwinner,pins = "PC4", "PC6", "PC03", "PC07";
    	allwinner,pname= "nand0_ce0", "nand0_rb0", "nand0_ce1", "nand0_rb1";
    	allwinner,function = "nand0";
    	allwinner,muxsel = <2>;
    	allwinner,drive = <1>;
    	allwinner,pull = <1>;	/* only RB&CE should be pulled up */
    };
    
    &nand0_pins_c {
    	allwinner,pins = "PC0", "PC1", "PC2", "PC3",
    			 "PC4", "PC5", "PC6", "PC7",
    			 "PC8", "PC9", "PC10", "PC11",
    			 "PC12", "PC13", "PC14", "PC15",
    			 "PC16";
    	allwinner,function = "io_disabled";
    	allwinner,muxsel = <7>;
    	allwinner,drive = <1>;
    	allwinner,pull = <0>;
    };
    
    &card0_boot_para {  /* Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value */
    	/* reg = <0x0 0x2 0x0 0x0>;  [> Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value <] */
    	device_type = "card0_boot_para";
    	card_ctrl = <0x0>;
    	card_high_speed = <0x1>;
    	card_line = <0x4>;
    	pinctrl-0 = <&sdc0_pins_a>;
    };
    
    &card2_boot_para {  /* Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value */
    	/* reg = <0x0 0x3 0x0 0x0>;  [> Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value <] */
    	device_type = "card2_boot_para";
    	card_ctrl = <0x2>;
    	card_high_speed = <0x1>;
    	card_line = <0x4>;
    	pinctrl-0 = <&sdc2_pins_a>;
    	sdc_ex_dly_used = <0x2>;
    	sdc_tm4_hs200_max_freq = <150>;
    	sdc_tm4_hs400_max_freq = <100>;
    };
    &gpio_bias {  /* Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value */
    	device_type = "gpio_bias";
    };
    
    &nand0 {
    	compatible = "allwinner,sun20iw1-nand";
    	device_type = "nand0";
    	//reg = <0x0 0x04011000 0x0 0x1000>;/* nand0 */
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&nand0_pins_a &nand0_pins_b>;
    	pinctrl-1 = <&nand0_pins_c>;
    	nand0_regulator1 = "vcc-nand";
    	nand0_regulator2 = "none";
    	nand0_cache_level = <0x55aaaa55>;
    	nand0_flush_cache_num = <0x55aaaa55>;
    	nand0_capacity_level = <0x55aaaa55>;
    	nand0_id_number_ctl = <0x55aaaa55>;
    	nand0_print_level = <0x55aaaa55>;
    	nand0_p0 = <0x55aaaa55>;
    	nand0_p1 = <0x55aaaa55>;
    	nand0_p2 = <0x55aaaa55>;
    	nand0_p3 = <0x55aaaa55>;
    	chip_code = "sun20iw1";
    	status = "disabled";
    };
    
    &disp {
    	disp_init_enable         = <1>;
    	disp_mode                = <0>;
    
    	screen0_output_type      = <1>;
    	screen0_output_mode      = <4>;
    
    	screen1_output_type      = <3>;
    	screen1_output_mode      = <10>;
    
    	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>;
    
    	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 = <®_dc1sw>;*/
    	/*VCC-DSI*/
    /*	eldo3-supply = <®_eldo3>;*/
    	/*VCC-PD*/
    /*	dcdc1-supply = <®_dcdc1>;*/
    };
    
    &lcd0 {
    	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   = <19>;
    	lcd_hbp         = <60>;
    	lcd_ht          = <612>;
    	lcd_hspw        = <12>;
    	lcd_vbp         = <18>;
    	lcd_vt          = <520>;
    	lcd_vspw        = <4>;
    
    	lcd_backlight   = <50>;
    	lcd_pwm_used    = <1>;
    	lcd_pwm_ch      = <7>;
    	lcd_pwm_freq    = <20000>;
    	lcd_pwm_pol     = <1>;
    	lcd_bright_curve_en = <0>;
    
    	lcd_frm         = <1>;
    	lcd_io_phase    = <0x0000>;
    	lcd_gamma_en    = <0>;
    	lcd_cmap_en     = <0>;
    	lcd_hv_clk_phase= <0>;
    	lcd_hv_sync_polarity= <0>;
    
    	lcd_power       = "vcc-lcd";
    	lcd_pin_power   = "vcc-pd";
    	lcd_gpio_0      = <&pio PG 13 GPIO_ACTIVE_HIGH>;
    	lcd_gpio_1      = <&pio PE 14 GPIO_ACTIVE_HIGH>;
    	lcd_gpio_2      = <&pio PE 12 GPIO_ACTIVE_HIGH>;
    	lcd_gpio_3      = <&pio PE 15 GPIO_ACTIVE_HIGH>;
    	pinctrl-0       = <&rgb18_pins_a>;
    	pinctrl-1       = <&rgb18_pins_b>;
    };
    
    
    &hdmi {
    	hdmi_used = <1>;
    	hdmi_power_cnt = <0>;
    	hdmi_hdcp_enable = <1>;
    	hdmi_hdcp22_enable = <0>;
    	hdmi_cec_support = <1>;
    	hdmi_cec_super_standby = <0>;
    
    	ddc_en_io_ctrl = <0>;
    	power_io_ctrl = <0>;
    };
    
    &aliases {
    	nand0 = &nand0;
    	twi6 = &twi6;
    	pwm = &pwm;
    	pwm0 = &pwm0;
    	pwm1 = &pwm1;
    	pwm2 = &pwm2;
    	pwm3 = &pwm3;
    	pwm4 = &pwm4;
    	pwm5 = &pwm5;
    	pwm6 = &pwm6;
    	pwm7 = &pwm7;
    	disp = &disp;
    	hdmi = &hdmi;
    	lcd0 = &lcd0;
    	lcd1 = &lcd1;
    	eink = &eink;
    	spi0 = &spi0;
    
    };
    
    • 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
    • 256
    • 257
    • 258
    • 259
    • 260
    • 261
    • 262
    • 263
    • 264
    • 265
    • 266
    • 267
    • 268
    • 269
    • 270
    • 271
    • 272
    • 273
    • 274
    • 275
    • 276
    • 277
    • 278
    • 279
    • 280
    • 281
    • 282
    • 283
    • 284
    • 285
    • 286
    • 287
    • 288
    • 289
    • 290
    • 291
    • 292
    • 293
    • 294
    • 295
    • 296
    • 297
    • 298
    • 299
    • 300
    • 301
    • 302
    • 303
    • 304
    • 305
    • 306
    • 307
    • 308
    • 309
    • 310
    • 311
    • 312
    • 313
    • 314
    • 315
    • 316
    • 317
    • 318
    • 319
    • 320
    • 321
    • 322
    • 323
    • 324
    • 325
    • 326
    • 327
    • 328
    • 329
    • 330
    • 331
    • 332
    • 333
    • 334
    • 335
    • 336
    • 337
    • 338

    附上log

    [34]HELLO! BOOT0 is starting!
    [37]BOOT0 commit : 88480af
    [39]set pll start
    [41]periph0 has been enabled
    [44]set pll end
    [45][pmu]: bus read error
    [48]board init ok
    [50]get_pmu_exist() = -1
    [52]ddr_efuse_type: 0x0
    [54]trefi:7.8ms
    [56][AUTO DEBUG] single rank and full DQ!
    [60]ddr_efuse_type: 0x0
    [63]trefi:7.8ms
    [65][AUTO DEBUG] rank 0 row = 15
    [68][AUTO DEBUG] rank 0 bank = 8
    [71][AUTO DEBUG] rank 0 page size = 2 KB
    [75]DRAM BOOT DRIVE INFO: V0.33
    [78]DRAM CLK = 792 MHz
    [80]DRAM Type = 3 (2:DDR2,3:DDR3)
    [83]DRAMC ZQ value: 0x7b7bfb
    [86]DRAM ODT value: 0x42.
    [88]ddr_efuse_type: 0x0
    [91]DRAM SIZE =512 M
    [93]dram_tpr4:0x0
    [95]PLL_DDR_CTRL_REG:0xf8004100
    [98]DRAM_CLK_REG:0xc0000000
    [100][TIMING DEBUG] MR2= 0x18
    [105]DRAM simple test OK.
    [107]dram size =512
    [109]card no is 0
    [110]sdcard 0 line count 4
    [113][mmc]: mmc driver ver 2021-04-2 16:45
    [122][mmc]: Wrong media type 0x0
    [125][mmc]: ***Try SD card 0***
    [134][mmc]: HSSDR52/SDR25 4 bit
    [137][mmc]: 50000000 Hz
    [139][mmc]: 59638 MB
    [141][mmc]: ***SD/MMC 0 init OK!!!***
    [195]Loading boot-pkg Succeed(index=0).
    [198]Entry_name        = opensbi
    [201]Entry_name        = u-boot
    [205]Entry_name        = dtb
    [207]mmc not para
    [209]Jump to second Boot.
    
    OpenSBI auto-t113-linux-V0.8-2-g053d088
       ____                    _____ ____ _____
      / __ \                  / ____|  _ \_   _|
     | |  | |_ __   ___ _ __ | (___ | |_) || |
     | |  | | '_ \ / _ \ '_ \ \___ \|  _ < | |
     | |__| | |_) |  __/ | | |____) | |_) || |_
      \____/| .__/ \___|_| |_|_____/|____/_____|
            | |
            |_|
    
    Platform Name          : T-HEAD Xuantie Platform
    Platform HART Features : RV64ACDFIMSUVX
    Platform Max HARTs     : 1
    Current Hart           : 0
    Firmware Base          : 0x41fc0400
    Firmware Size          : 75 KB
    Runtime SBI Version    : 0.2
    
    MIDELEG : 0x0000000000000222
    MEDELEG : 0x000000000000b1ff
    PMP0    : 0x0000000041fc0000-0x0000000041fdffff (A)
    PMP1    : 0x0000000040000000-0x000000007fffffff (A,R,W,X)
    PMP2    : 0x0000000080000000-0x00000000bfffffff (A,R,W,X)
    PMP3    : 0x0000000000020000-0x0000000000027fff (A,?
    
    U-Boot 2018.05-g24521d6-dirty-config-dirty (Jul 19 2022 - 14:31:38 +0800) Allwinner Technology
    
    [00.296]DRAM:  512 MiB
    [00.298]Relocation Offset is: 1dee7000
    [00.302]secure enable bit: 0
    [00.305]CPU=1008 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz  MBus=300Mhz
    [00.311]flash init start
    [00.313]workmode = 0,storage type = 1
    [00.317][mmc]: mmc driver ver uboot2018:2021-11-19 15:38:00
    [00.322][mmc]: get sdc_type fail and use default host:tm1.
    [00.328][mmc]: can't find node "mmc0",will add new node
    [00.333][mmc]: fdt err returned 
    [00.337][mmc]: Using default timing para
    [00.341][mmc]: SUNXI SDMMC Controller Version:0x50310
    [00.358][mmc]: card_caps:0x3000000a
    [00.361][mmc]: host_caps:0x3000003f
    [00.364]sunxi flash init ok
    [00.367]line:703 init_clocks
    [00.370]drv_disp_init
    request pwm success, pwm7:pwm7:0x2000c00.
    [00.386]drv_disp_init finish
    [00.389]boot_gui_init:start
    [00.392]set disp.dev2_output_type fail. using defval=0
    [00.398]boot_gui_init:finish
    [00.418]=====================LCD_panel_init
    partno erro : can't find partition bootloader
    54 bytes read in 3 ms (17.6 KiB/s)
    [00.652]bmp_name=bootlogo.bmp size 3072054
    [00.743]=====================LCD_bl_open
    [00.747]LCD open finish
    3072054 bytes read in 145 ms (20.2 MiB/s)
    no support big size bmp[800x1280] on fb[480x480]
    [00.813]show bmp on fb failed !-1
    [00.849]Loading Environment from SUNXI_FLASH... OK
    [00.871]out of usb burn from boot: not need burn key
    [00.897]Item0 (Map) magic is bad
    [00.900]the secure storage item0 copy0 magic is bad
    [00.926]Item0 (Map) magic is bad
    [00.929]the secure storage item0 copy1 magic is bad
    [00.934]Item0 (Map) magic is bad
    partno erro : can't find partition private
    root_partition is rootfs
    set root to /dev/mmcblk0p5
    [00.951]update part info
    [00.956]update bootcmd
    [00.962]change working_fdt 0x5eaa6da0 to 0x5ea86da0
    disable nand error: FDT_ERR_BADPATH
    No reserved memory region found in source FDT
    [00.993]update dts
    noncached_alloc(): addr = 0x5ebf4080
    noncached_alloc(): addr = 0x5ebf40c0
    noncached_alloc(): addr = 0x5ebf4100
    noncached_alloc(): addr = 0x5ebf4940
    geth_sys_init:634: get node 'gmac0' error
    geth_sys_init fail!
    [01.013]Board Net Initialization Failed
    [01.017]No ethernet found.
    Hit any key to stop autoboot:  0
    dsp0:uart config fail
    dsp0:gpio init config fail
    dsp0:sharespace config fail
    dsp0 version is r528-tina-v1.0.0-release-37-g735b6b4-dirty
    DSP0 start ok, img length 254860, booting from 0x400660
    [01.311]no vendor_boot partition is found
    Android's image name: d1-h-nezha
    Detect comp gzip
    [01.562]
    Starting kernel ...
    
    [01.564][mmc]: MMC Device 2 not found
    [01.568][mmc]: mmc 2 not find, so not exit
    [    0.000000] Linux version 5.4.61 (lewin@mint0) (riscv64-unknown-linux-gnu-gcc (C-SKY RISCV Tools V1.8.4 B20200702) 8.1.0, GNU ld (GNU Binutils) 2.32) #55 PREEMPT Tue Jul 19 06:40:47 UTC 2022
    [    0.000000] cma: Reserved 8 MiB at 0x000000005f800000
    [    0.000000] Zone ranges:
    [    0.000000]   DMA32    [mem 0x0000000040000000-0x000000005fffffff]
    [    0.000000]   Normal   empty
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000040000000-0x000000005fffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000005fffffff]
    [    0.000000] On node 0 totalpages: 131072
    [    0.000000]   DMA32 zone: 1792 pages used for memmap
    [    0.000000]   DMA32 zone: 0 pages reserved
    [    0.000000]   DMA32 zone: 131072 pages, LIFO batch:31
    [    0.000000] elf_hwcap is 0x20112d
    [    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
    [    0.000000] pcpu-alloc: [0] 0
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129280
    [    0.000000] Kernel command line: earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=8 root=/dev/mmcblk0p5 init=/sbin/init partitions=boot-resource@mmcblk0p1:env@mmcblk0p2:env-redund@mmcblk0p3:boot@mmcblk0p4:rootfs@mmcblk0p5:dsp0@mmcblk0p6:recovery@mmcblk0p7:UDISK@mmcblk0p8 cma=8M snum= mac_addr= wifi_mac= bt_mac= specialstr= gpt=1 androidboot.hardware=sun20iw1p1 boot_type=1 androidboot.boot_type=1 gpt=1 uboot_message=2018.05-g24521d6-dirty-config-dirty(07/19/2022-14:31:38) mbr_offset=1556480
    [    0.000000] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
    [    0.000000] Sorting __ex_table...
    [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [    0.000000] Memory: 497212K/524288K available (6335K kernel code, 589K rwdata, 2134K rodata, 184K init, 260K bss, 18884K reserved, 8192K cma-reserved)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000]  Tasks RCU enabled.
    [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
    [    0.000000] NR_IRQS: 0, nr_irqs: 0, preallocated irqs: 0
    [    0.000000] plic: mapped 200 interrupts with 1 handlers for 2 contexts.
    [    0.000000] riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [0]
    [    0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
    [    0.000006] sched_clock: 64 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
    [    0.000023] riscv_timer_clockevent depends on broadcast, but no broadcast function available
    [    0.000315] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [    0.000933] Console: colour dummy device 80x25
    [    0.000969] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
    [    0.000985] pid_max: default: 32768 minimum: 301
    [    0.001155] Mount-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
    [    0.001174] Mountpoint-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
    [    0.002739] ASID allocator initialised with 65536 entries
    [    0.002892] rcu: Hierarchical SRCU implementation.
    [    0.003500] devtmpfs: initialized
    [    0.016833] random: get_random_u32 called from bucket_table_alloc.isra.31+0x4e/0x15e with crng_init=0
    [    0.017708] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.017738] futex hash table entries: 256 (order: 0, 6144 bytes, linear)
    [    0.018119] pinctrl core: initialized pinctrl subsystem
    [    0.019368] NET: Registered protocol family 16
    [    0.021189] DMA: preallocated 256 KiB pool for atomic allocations
    [    0.021790] cpuidle: using governor menu
    [    0.064443] rtc_ccu: sunxi ccu init OK
    [    0.070747] clock: sunxi ccu init OK
    [    0.071591] clock: sunxi ccu init OK
    [    0.103615] iommu: Default domain type: Translated
    [    0.103782] sunxi iommu: irq = 4
    [    0.104861] SCSI subsystem initialized
    [    0.105199] usbcore: registered new interface driver usbfs
    [    0.105277] usbcore: registered new interface driver hub
    [    0.105378] usbcore: registered new device driver usb
    [    0.105555] mc: Linux media interface: v0.10
    [    0.105623] videodev: Linux video capture interface: v2.00
    [    0.106649] sunxi-msgbox-amp 3003000.msgbox: invalid resource
    [    0.107438] Advanced Linux Sound Architecture Driver Initialized.
    [    0.108048] Bluetooth: Core ver 2.22
    [    0.108155] NET: Registered protocol family 31
    [    0.108165] Bluetooth: HCI device and connection manager initialized
    [    0.108185] Bluetooth: HCI socket layer initialized
    [    0.108200] Bluetooth: L2CAP socket layer initialized
    [    0.108236] Bluetooth: SCO socket layer initialized
    [    0.108521] pwm module init!
    [    0.110061] g2d 5410000.g2d: Adding to iommu group 0
    [    0.110613] G2D: rcq version initialized.major:250
    [    0.111287] input: sunxi-keyboard as /devices/virtual/input/input0
    [    0.112676] clocksource: Switched to clocksource riscv_clocksource
    [    0.125220] sun8iw20-pinctrl 2000000.pinctrl: initialized sunXi PIO driver
    [    0.140333] thermal_sys: Registered thermal governor 'user_space'
    [    0.140338] thermal_sys: Registered thermal governor 'power_allocator'
    [    0.140850] NET: Registered protocol family 2
    [    0.141602] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear)
    [    0.141642] TCP established hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [    0.141702] TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [    0.141749] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.141882] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
    [    0.141921] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
    [    0.142154] NET: Registered protocol family 1
    [    0.144666] Initialise system trusted keyrings
    [    0.144878] workingset: timestamp_bits=62 max_order=17 bucket_order=0
    [    0.152646] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.173667] Key type asymmetric registered
    [    0.173681] Asymmetric key parser 'x509' registered
    [    0.173701] io scheduler mq-deadline registered
    [    0.173711] io scheduler kyber registered
    [    0.173730] atomic64_test: passed
    [    0.174922] [DISP]disp_module_init
    [    0.175459] disp 5000000.disp: Adding to iommu group 0
    [    0.176070] [DISP] disp_init,line:2386:
    [    0.176075] smooth display screen:0 type:1 mode:4
    [    0.199450] disp 5000000.disp: 5000000.disp supply vcc-lcd not found, using dummy regulator
    [    0.199713] disp 5000000.disp: 5000000.disp supply vcc-pd not found, using dummy regulator
    [    0.210471] panel name: default_lcd
    [    0.210486] panel name: st7701s
    [    0.210493] panel name: st7701s_rgb
    [    0.210509] panel name: tft08006
    [    0.210516] panel name: super_lcd_driver
    [    0.210546] display_fb_request,fb_id:0
    [    0.219823] Freeing logo buffer memory: 900K
    [    0.220267] disp_al_manager_apply ouput_type:1
    [    0.220383] [DISP] lcd_clk_config,line:732:
    [    0.220395] disp 0, clk: pll(114000000),clk(114000000),dclk(19000000) dsi_rate(114000000)
    [    0.220395]      clk real:pll(288000000),clk(288000000),dclk(48000000) dsi_rate(0)
    [    0.220774] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pd not found, using dummy regulator
    [    0.221687] [DISP]disp_module_init finish
    [    0.222541] sunxi_sid_init()551 - insmod ok
    [    0.223182] pwm-regulator: supplied by regulator-dummy
    [    0.230218] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pb not found, using dummy regulator
    [    0.230603] uart uart0: get regulator failed
    [    0.230630] uart uart0: uart0 supply uart not found, using dummy regulator
    [    0.230986] uart0: ttyS0 at MMIO 0x2500000 (irq = 18, base_baud = 1500000) is a SUNXI
    [    0.231012] sw_console_setup()1808 - console setup baud 115200 parity n bits 8, flow n
    [    1.032118] printk: console [ttyS0] enabled
    [    1.037725] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pg not found, using dummy regulator
    [    1.049176] uart uart1: get regulator failed
    [    1.054043] uart uart1: uart1 supply uart not found, using dummy regulator
    [    1.062088] uart1: ttyS1 at MMIO 0x2500400 (irq = 19, base_baud = 1500000) is a SUNXI
    [    1.072007] misc dump reg init
    [    1.076326] sunxi-rfkill soc@3000000:rfkill@0: module version: v1.0.9
    [    1.083611] sunxi-rfkill soc@3000000:rfkill@0: devm_pinctrl_get() failed!
    [    1.091210] sunxi-rfkill soc@3000000:rfkill@0: get gpio chip_en failed
    [    1.098557] sunxi-rfkill soc@3000000:rfkill@0: get gpio power_en failed
    [    1.106001] sunxi-rfkill soc@3000000:rfkill@0: wlan_busnum (1)
    [    1.112528] sunxi-rfkill soc@3000000:rfkill@0: Missing wlan_power.
    [    1.119490] sunxi-rfkill soc@3000000:rfkill@0: wlan clock[0] (32k-fanout1)
    [    1.127257] sunxi-rfkill soc@3000000:rfkill@0: wlan_regon gpio=204 assert=1
    [    1.135153] sunxi-rfkill soc@3000000:rfkill@0: wlan_hostwake gpio=202 assert=1
    [    1.143326] sunxi-rfkill soc@3000000:rfkill@0: wakeup source is enabled
    [    1.150956] sunxi-rfkill soc@3000000:rfkill@0: Missing bt_power.
    [    1.157763] sunxi-rfkill soc@3000000:rfkill@0: bt clock[0] (32k-fanout1)
    [    1.165332] sunxi-rfkill soc@3000000:rfkill@0: bt_rst gpio=210 assert=0
    [    1.173601] [ADDR_MGT] addr_mgt_probe: module version: v1.0.10
    [    1.181143] [ADDR_MGT] addr_mgt_probe: success.
    [    1.187527] libphy: Fixed MDIO Bus: probed
    [    1.192090] CAN device driver interface
    [    1.197274] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pe not found, using dummy regulator
    [    1.208574] sunxi gmac driver's version: 1.0.0
    [    1.213793] gmac-power0: NULL
    [    1.217102] gmac-power1: NULL
    [    1.220434] gmac-power2: NULL
    [    1.225067] Failed to alloc md5
    [    1.228604] eth0: Use random mac address
    [    1.233419] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [    1.240730] sunxi-ehci: EHCI SUNXI driver
    [    1.245834] get ehci0-controller wakeup-source is fail.
    [    1.251762] sunxi ehci0-controller don't init wakeup source
    [    1.258108] [sunxi-ehci0]: probe, pdev->name: 4101000.ehci0-controller, sunxi_ehci: 0xffffffe000935390, 0x:ffffffd004079000, irq_no:2e
    [    1.271680] [sunxi-ehci0]: Not init ehci0
    [    1.276576] get ehci1-controller wakeup-source is fail.
    [    1.282534] sunxi ehci1-controller don't init wakeup source
    [    1.288861] [sunxi-ehci1]: probe, pdev->name: 4200000.ehci1-controller, sunxi_ehci: 0xffffffe000935758, 0x:ffffffd00407d000, irq_no:31
    [    1.302437] sunxi-ehci 4200000.ehci1-controller: 4200000.ehci1-controller supply drvvbus not found, using dummy regulator
    [    1.315015] sunxi-ehci 4200000.ehci1-controller: 4200000.ehci1-controller supply hci not found, using dummy regulator
    [    1.327263] sunxi-ehci 4200000.ehci1-controller: EHCI Host Controller
    [    1.334571] sunxi-ehci 4200000.ehci1-controller: new USB bus registered, assigned bus number 1
    [    1.344427] sunxi-ehci 4200000.ehci1-controller: irq 49, io mem 0x04200000
    [    1.372722] sunxi-ehci 4200000.ehci1-controller: USB 2.0 started, EHCI 1.00
    [    1.381431] hub 1-0:1.0: USB hub found
    [    1.385761] hub 1-0:1.0: 1 port detected
    [    1.390931] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
    [    1.397948] sunxi-ohci: OHCI SUNXI driver
    [    1.403045] get ohci0-controller wakeup-source is fail.
    [    1.409009] sunxi ohci0-controller don't init wakeup source
    [    1.415308] [sunxi-ohci0]: probe, pdev->name: 4101400.ohci0-controller, sunxi_ohci: 0xffffffe000935ee8
    [    1.425743] [sunxi-ohci0]: Not init ohci0
    [    1.430544] get ohci1-controller wakeup-source is fail.
    [    1.436564] sunxi ohci1-controller don't init wakeup source
    [    1.442857] [sunxi-ohci1]: probe, pdev->name: 4200400.ohci1-controller, sunxi_ohci: 0xffffffe0009362b0
    [    1.453322] sunxi-ohci 4200400.ohci1-controller: 4200400.ohci1-controller supply drvvbus not found, using dummy regulator
    [    1.465860] sunxi-ohci 4200400.ohci1-controller: 4200400.ohci1-controller supply hci not found, using dummy regulator
    [    1.478175] sunxi-ohci 4200400.ohci1-controller: OHCI Host Controller
    [    1.485477] sunxi-ohci 4200400.ohci1-controller: new USB bus registered, assigned bus number 2
    [    1.496300] sunxi-ohci 4200400.ohci1-controller: irq 50, io mem 0x04200400
    [    1.577683] hub 2-0:1.0: USB hub found
    [    1.581916] hub 2-0:1.0: 1 port detected
    [    1.587419] usbcore: registered new interface driver uas
    [    1.593632] usbcore: registered new interface driver usb-storage
    [    1.600434] usbcore: registered new interface driver ums-alauda
    [    1.607217] usbcore: registered new interface driver ums-cypress
    [    1.614073] usbcore: registered new interface driver ums-datafab
    [    1.620868] usbcore: registered new interface driver ums_eneub6250
    [    1.627908] usbcore: registered new interface driver ums-freecom
    [    1.634764] usbcore: registered new interface driver ums-isd200
    [    1.641472] usbcore: registered new interface driver ums-jumpshot
    [    1.648424] usbcore: registered new interface driver ums-karma
    [    1.655083] usbcore: registered new interface driver ums-onetouch
    [    1.661989] usbcore: registered new interface driver ums-realtek
    [    1.668845] usbcore: registered new interface driver ums-sddr09
    [    1.675603] usbcore: registered new interface driver ums-sddr55
    [    1.682302] usbcore: registered new interface driver ums-usbat
    [    1.689431] sunxi_gpadc_init,2151, success
    [    1.696246] sunxi-rtc 7090000.rtc: registered as rtc0
    [    1.702024] sunxi-rtc 7090000.rtc: setting system clock to 1970-01-01T18:51:30 UTC (67890)
    [    1.711365] sunxi-rtc 7090000.rtc: sunxi rtc probed
    [    1.717356] i2c /dev entries driver
    [    1.721340] IR NEC protocol handler initialized
    [    1.727161] sunxi cedar version 1.1
    [    1.731356] sunxi-cedar 1c0e000.ve: Adding to iommu group 0
    [    1.737693] VE: install start!!!
    [    1.737693]
    [    1.743259] VE: cedar-ve the get irq is 6
    [    1.743259]
    [    1.749613] VE: ve_debug_proc_info:(____ptrval____), data:(____ptrval____), lock:(____ptrval____)
    [    1.749613]
    [    1.761235] VE: install end!!!
    [    1.761235]
    [    1.766339] VE: sunxi_cedar_probe
    [    1.771641] sunxi-wdt 6011000.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
    [    1.780833] Bluetooth: HCI UART driver ver 2.3
    [    1.785876] Bluetooth: HCI UART protocol H4 registered
    [    1.791622] Bluetooth: HCI UART protocol BCSP registered
    [    1.797594] Bluetooth: XRadio Bluetooth LPM Mode Driver Ver 1.0.10
    [    1.807626] sunxi-mmc 4020000.sdmmc: SD/MMC/SDIO Host Controller Driver(v4.21 2021-11-18 10:02)
    [    1.817633] sunxi-mmc 4020000.sdmmc: ***ctl-spec-caps*** 8
    [    1.823892] sunxi-mmc 4020000.sdmmc: No vmmc regulator found
    [    1.830224] sunxi-mmc 4020000.sdmmc: No vqmmc regulator found
    [    1.836686] sunxi-mmc 4020000.sdmmc: No vdmmc regulator found
    [    1.843149] sunxi-mmc 4020000.sdmmc: No vd33sw regulator found
    [    1.849670] sunxi-mmc 4020000.sdmmc: No vd18sw regulator found
    [    1.856223] sunxi-mmc 4020000.sdmmc: No vq33sw regulator found
    [    1.862783] sunxi-mmc 4020000.sdmmc: No vq18sw regulator found
    [    1.869722] sunxi-mmc 4020000.sdmmc: Got CD GPIO
    [    1.875273] sunxi-mmc 4020000.sdmmc: set cd-gpios as 24M fail
    [    1.881947] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    1.893124] sunxi-mmc 4020000.sdmmc: no vqmmc,Check if there is regulator
    [    1.913264] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    1.937668] sunxi-mmc 4020000.sdmmc: detmode:gpio irq
    [    1.943421] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    1.955684] sunxi-mmc 4021000.sdmmc: SD/MMC/SDIO Host Controller Driver(v4.21 2021-11-18 10:02)
    [    1.965790] sunxi-mmc 4021000.sdmmc: ***ctl-spec-caps*** 8
    [    1.972039] sunxi-mmc 4021000.sdmmc: No vmmc regulator found
    [    1.978448] sunxi-mmc 4021000.sdmmc: No vqmmc regulator found
    [    1.984922] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    1.996519] sunxi-mmc 4021000.sdmmc: No vdmmc regulator found
    [    2.002984] sunxi-mmc 4021000.sdmmc: No vd33sw regulator found
    [    2.009505] sunxi-mmc 4021000.sdmmc: No vd18sw regulator found
    [    2.016158] sunxi-mmc 4021000.sdmmc: No vq33sw regulator found
    [    2.022752] sunxi-mmc 4021000.sdmmc: No vq18sw regulator found
    [    2.029353] sunxi-mmc 4021000.sdmmc: Cann't get pin bias hs pinstate,check if needed
    [    2.038413] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    2.050797] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    2.062011] sunxi-mmc 4021000.sdmmc: no vqmmc,Check if there is regulator
    [    2.070947] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    2.082552] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    2.106920] sunxi-mmc 4021000.sdmmc: detmode:manually by software
    [    2.114619] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 52, RTO !!
    [    2.121435] random: fast init done
    [    2.125711] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pc not found, using dummy regulator
    [    2.136697] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 52, RTO !!
    [    2.143630] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    2.155468] sunxi_led_probe()1749 - start
    [    2.160136] sunxi_get_str_of_property()1595 - failed to get the string of propname led_regulator!
    [    2.170170] sunxi_register_led_classdev()1483 - led_classdev start
    [    2.178459] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    2.191959] mmc0: host does not support reading read-only switch, assuming write-enable
    [    2.202488] sunxi_led_probe()1845 - finish
    [    2.207771] usbcore: registered new interface driver usbhid
    [    2.214108] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing SD-HS(SDR25) dt B
    [    2.225714] usbhid: USB HID core driver
    [    2.230167] rpmsg_client_dsp_standby 3003000.msgbox.sunxi,dsp-power-msgbox.512.256: new channel: 0x200 -> 0x100!
    [    2.241531] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 5, RTO !!
    [    2.248457] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 1 timing SD-HS(SDR25) dt B
    [    2.260110] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 5, RTO !!
    [    2.267756] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 5, RTO !!
    [    2.274730] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 4 timing SD-HS(SDR25) dt B
    [    2.286380] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 5, RTO !!
    [    2.293224] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 0Hz bm PP pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B
    [    2.305406] usbcore: registered new interface driver snd-usb-audio
    [    2.316077] sunxi-daudio 2034000.daudio: regulator missing or invalid
    [    2.323463] mmc0: new high speed SDXC card at address b368
    [    2.330911] [AUDIOCODEC][sunxi_codec_parse_params][2412]:digital_vol:0, lineout_vol:26, mic1gain:19, mic2gain:19 pa_msleep:120, pa_level:1, pa_pwr_level:1
    [    2.330911]
    [    2.348920] mmcblk0: mmc0:b368 NCard 58.2 GiB
    [    2.355990] [AUDIOCODEC][sunxi_codec_parse_params][2448]:adcdrc_cfg:0, adchpf_cfg:1, dacdrc_cfg:0, dachpf:0
    [    2.367631] [AUDIOCODEC][sunxi_internal_codec_probe][2609]:codec probe finished
    [    2.376012]  mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8
    [    2.382366] debugfs: Directory '203034c.dummy_cpudai' with parent 'audiocodec' already present!
    [    2.394883] [SNDCODEC][sunxi_card_init][583]:card init finished
    [    2.403777] sunxi-codec-machine 2030340.sound: 2030000.codec <-> 203034c.dummy_cpudai mapping ok
    [    2.415084] input: audiocodec sunxi Audio Jack as /devices/platform/soc@3000000/2030340.sound/sound/card0/input1
    [    2.427194] [SNDCODEC][sunxi_card_dev_probe][836]:register card finished
    [    2.435461] sunxi-rpaf-dsp soc@3000000:rpaf-dsp@203034c: register device finished!
    [    2.444011] sunxi-rpaf-dsp soc@3000000:rpaf-dsp@203034c: [rpaf_dsp0] probe finished!
    [    2.453076] rpmsg_hifi 3003000.msgbox.sunxi,dsp-msgbox.514.258: id:sunxi,dsp-msgbox new channel: 0x202 -> 0x102!
    [    2.464658] rpmsg_hifi 3003000.msgbox.sunxi,dsp-msgbox.514.258: rpmsg hifi[0] client driver is probed
    [    2.476683] NET: Registered protocol family 10
    [    2.483173] Segment Routing with IPv6
    [    2.487465] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    2.495006] NET: Registered protocol family 17
    [    2.500061] can: controller area network core (rev 20170425 abi 9)
    [    2.507161] NET: Registered protocol family 29
    [    2.512171] can: raw protocol (rev 20170425)
    [    2.516974] can: broadcast manager protocol (rev 20170425 t)
    [    2.523359] can: netlink gateway (rev 20190810) max_hops=1
    [    2.529802] Bluetooth: RFCOMM TTY layer initialized
    [    2.535385] Bluetooth: RFCOMM socket layer initialized
    [    2.541192] Bluetooth: RFCOMM ver 1.11
    [    2.546439] Loading compiled-in X.509 certificates
    [    2.554161] HDMI 2.0 driver init start!
    [    2.558496] boot_hdmi=false
    [    2.561673] ERROR: pinctrl_get for HDMI2.0 DDC fail
    [    2.568735] HDMI2.0 module init end
    [    2.598596] sunxi-i2c sunxi-i2c2: sunxi-i2c2 supply twi not found, using dummy regulator
    [    2.614460] sunxi-i2c sunxi-i2c2: probe success
    [    2.623249] debugfs: Directory '2031000.dmic' with parent 'snddmic' already present!
    [    2.633448] sunxi-audio-card 2031060.sounddmic: dmic-hifi <-> 2031000.dmic mapping ok
    [    2.643639] debugfs: Directory '2034000.daudio' with parent 'sndhdmi' already present!
    [    2.654320] sunxi-audio-card 20340a0.sounddaudio2: 20340a4.hdmiaudio <-> 2034000.daudio mapping ok
    [    2.666120] get det_vbus is fail, -84
    [    2.670204] get id is fail, -84
    [    2.675067] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [    2.685997] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    [    2.693628] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
    [    2.703338] clk: Not disabling unused clocks
    [    2.708125] ALSA device list:
    [    2.711444]   #0: audiocodec
    [    2.714786] cfg80211: failed to load regulatory.db
    [    2.720224]   #1: snddmic
    [    2.723211]   #2: sndhdmi
    [    2.726163] alloc_fd: slot 0 not NULL!
    [    2.738783] VFS: Mounted root (squashfs filesystem) readonly on device 179:5.
    [    2.752289] devtmpfs: mounted
    [    2.755883] Freeing unused kernel memory: 184K
    [    2.760863] This architecture does not have kernel memory protection.
    [    2.768162] Run /sbin/init as init process
    [    3.173129] [SNDCODEC][sunxi_check_hs_detect_status][191]:plugin --> switch:3
    [    3.463374] init: Console is alive
    [    3.467475] init: - watchdog -
    [    3.471019] init: - preinit -
    [    3.764555]
    [    3.764555] insmod_device_driver
    [    3.764555]
    [    3.850887] sunxi_usb_udc 4100000.udc-controller: 4100000.udc-controller supply udc not found, using dummy regulator
    [    3.864648] device_chose finished 139!
    [    3.901635] random: procd: uninitialized urandom read (4 bytes read)
    formating /dev/by-name/UDISK to ext4
    /etc/preinit: line 1: mkfs.ext4: not found
    [    4.708354] mount_root: mounting /dev/root
    [    4.714028] mount_root: loading kmods from internal overlay
    [    4.847549] block: attempting to load /etc/config/fstab
    [    4.874699] block: extroot: device not present, retrying in 5 seconds
    [    6.462711] hdmi_hpd_sys_config_release
    [    9.977010] block: extroot: cannot find device UDISK
    [    9.994357] procd: - early -
    [    9.997794] procd: - watchdog -
    [   10.038017] random: procd: uninitialized urandom read (4 bytes read)
    [   10.405018] procd: - watchdog -
    [   10.408840] procd: - ubus -
    [   10.412605] procd (1): /proc/115/oom_adj is deprecated, please use /proc/115/oom_score_adj instead.
    [   10.492992] random: ubusd: uninitialized urandom read (4 bytes read)
    [   10.673319] random: ubusd: uninitialized urandom read (4 bytes read)
    [   10.711807] procd: - init -
    Please press Enter to activate this console.
    [   11.942826] fuse: init (API version 7.31)
    [   12.103643] file system registered
    [   12.269745] usbcore: registered new interface driver uvcvideo
    [   12.283758] configfs-gadget 4100000.udc-controller: failed to start g1: -19
    [   12.299687] USB Video Class driver (1.1.1)
    [   12.672908] read descriptors
    [   12.676160] read strings
    [   14.928657] ======== XRADIO WIFI OPEN ========
    [   14.934590] [XRADIO] Driver Label:XR_V02.16.85_P2P_HT40_01.31
    [   14.941754] [XRADIO] Allocated hw_priv @ (____ptrval____)
    [   14.949305] sunxi-rfkill soc@3000000:rfkill@0: bus_index: 1
    [   14.966950] sunxi-rfkill soc@3000000:rfkill@0: wlan power on success
    [   15.236848] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
    [   15.250220] [XRADIO] Detect SDIO card 1
    [   15.262866] sunxi-mmc 4021000.sdmmc: no vqmmc,Check if there is regulator
    [   15.282783] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [   15.313405] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [   15.328617] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [   15.352616] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing SD-HS(SDR25) dt B
    [   15.364501] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 1 timing SD-HS(SDR25) dt B
    [   15.376755] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 4 timing SD-HS(SDR25) dt B
    [   15.389686] mmc1: new high speed SDIO card at address 0001
    [   15.397062] [SBUS] XRadio Device:sdio clk=50000000
    [   15.404282] [XRADIO] XRADIO_HW_REV 1.0 detected.
    [   15.513467] [XRADIO] xradio_update_dpllctrl: DPLL_CTRL Sync=0x00c00000.
    [   15.611083] [XRADIO] Bootloader complete
    [   20.877195] [XRADIO_ERR] xradio_firmware: Timeout waiting for FIFO.
    [   20.884324] [XRADIO_ERR] xradio_load_firmware: can't download firmware.
    [   20.891736] [XRADIO_ERR] xradio_load_firmware failed(-110).
    [   20.899256] sunxi-rfkill soc@3000000:rfkill@0: wlan power off success
    [   21.018853] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 7, RTO !!
    [   21.025639] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 7, RTO !!
    [   21.032389] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 7, RTO !!
    [   21.039163] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 7, RTO !!
    [   21.046188] mmc1: card 0001 removed
    [   21.050241] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 0Hz bm PP pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B
    [   21.061591] [XRADIO] Remove SDIO card 1
    [   21.077537] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
    [   21.088757] sunxi-mmc 4021000.sdmmc: no vqmmc,Check if there is regulator
    [   21.103845] xradio_core_init failed (-110)!
    [   21.108968] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [   21.146303] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 52, RTO !!
    [   21.154041] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 52, RTO !!
    [   21.160876] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [   21.179328] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [   21.191051] xt_time: kernel timezone is -0000
    [   21.204984] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 5, RTO !!
    [   21.212543] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 5, RTO !!
    [   21.220132] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 5, RTO !!
    [   21.227718] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 5, RTO !!
    [   21.234503] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 0Hz bm PP pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B
    [   21.246720] Error: Driver 'gt9xxnew_ts' is already registered, aborting...
    [   22.527620] ======== XRADIO WIFI OPEN ========
    [   22.533224] [XRADIO] Driver Label:XR_V02.16.85_P2P_HT40_01.31
    [   22.540007] [XRADIO] Allocated hw_priv @ (____ptrval____)
    [   22.552787] sunxi-rfkill soc@3000000:rfkill@0: bus_index: 1
    [   22.575991] sunxi-rfkill soc@3000000:rfkill@0: wlan power on success
    [   22.783256] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
    [   22.794387] [XRADIO] Detect SDIO card 1
    [   22.802821] sunxi-mmc 4021000.sdmmc: no vqmmc,Check if there is regulator
    [   22.822748] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [   22.847646] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [   22.862263] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [   22.884874] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing SD-HS(SDR25) dt B
    [   22.896490] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 1 timing SD-HS(SDR25) dt B
    [   22.908375] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 4 timing SD-HS(SDR25) dt B
    [   22.920908] mmc1: new high speed SDIO card at address 0001
    [   22.927920] [SBUS] XRadio Device:sdio clk=50000000
    [   22.942837] [XRADIO] XRADIO_HW_REV 1.0 detected.
    [   22.993264] [XRADIO] xradio_update_dpllctrl: DPLL_CTRL Sync=0x00c00000.
    [   23.032628] [XRADIO] Bootloader complete
    [   28.041823] [XRADIO_ERR] xradio_firmware: Timeout waiting for FIFO.
    [   28.048932] [XRADIO_ERR] xradio_load_firmware: can't download firmware.
    [   28.056478] [XRADIO_ERR] xradio_load_firmware failed(-110).
    [   28.064044] sunxi-rfkill soc@3000000:rfkill@0: wlan power off success
    [   28.182833] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 7, RTO !!
    [   28.189574] [XRADIO] Remove SDIO card 1
    [   28.189590] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 7, RTO !!
    [   28.200632] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 7, RTO !!
    [   28.207411] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 7, RTO !!
    [   28.214429] mmc1: card 0001 removed
    [   28.218483] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 0Hz bm PP pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B
    [   28.241464] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
    [   28.252755] sunxi-mmc 4021000.sdmmc: no vqmmc,Check if there is regulator
    [   28.263892] xradio_core_init failed (-110)!
    [   28.272792] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [   28.306349] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 52, RTO !!
    [   28.314154] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 52, RTO !!
    [   28.320990] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [   28.336182] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [   28.360200] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 5, RTO !!
    kmodloader done
    [   28.370678] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 5, RTO !!
    [   28.378356] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 5, RTO !!
    [   28.386394] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 5, RTO !!
    [   28.434655] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 0Hz bm PP pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B
    Trying to connect to SWUpdate...
    [   31.136964] [SNDCODEC][sunxi_card_hw_params][620]:stream_flag: 0
    [   33.122757] usb1-vbus: disabling
    [   33.126538] vdd_3v3: disabling
    [   43.200273] random: crng init done
    [   43.204070] random: 6 urandom warning(s) missed due to ratelimiting
    
    
    
    BusyBox v1.27.2 () built-in shell (ash)
    
     _____  _              __     _
    |_   _||_| ___  _ _   |  |   |_| ___  _ _  _ _
      | |   _ |   ||   |  |  |__ | ||   || | ||_'_|
      | |  | || | || _ |  |_____||_||_|_||___||_,_|
      |_|  |_||_|_||_|_|  Tina is Based on OpenWrt!
     ----------------------------------------------
     Tina Linux (Neptune, 61CC0487)
     ----------------------------------------------
    root@TinaLinux:/#
    root@TinaLinux:/#
    root@TinaLinux:/#
    root@TinaLinux:/#
    root@TinaLinux:/#
    root@TinaLinux:/#
    root@TinaLinux:/# cat /sys/class/d
    devlink/  disp/     dma/
    root@TinaLinux:/# cat /sys/kernel/debug/
    asoc/               dma_buf/            mmc0/               sunxi_leds/
    bdi/                enc_test/           mmc1/               suspend_stats
    block/              extfrag/            mtd/                ubi/
    bluetooth/          fault_around_bytes  pinctrl/            ubifs/
    clear_warn_once     gpio                pm_qos/             usb/
    clk/                hid/                pwm                 wakeup_sources
    device_component/   ieee80211/          regmap/
    devices_deferred    ion/                regulator/
    dispdbg/            memblock/           sleep_time
    root@TinaLinux:/# cat /sys/kernel/debug/p
    pinctrl/  pm_qos/   pwm
    root@TinaLinux:/# cat /sys/kernel/debug/pinctrl/2000000.pinctrl/pin
    pinconf-groups    pingroups         pinmux-pins
    pinconf-pins      pinmux-functions  pins
    root@TinaLinux:/# cat /sys/kernel/debug/pinctrl/2000000.pinctrl/pin
    pinconf-groups    pingroups         pinmux-pins
    pinconf-pins      pinmux-functions  pins
    root@TinaLinux:/# cat /sys/kernel/debug/pinctrl/2000000.pinctrl/pinmux-pins
    Pinmux settings per pin
    Format: pin (name): mux_owner|gpio_owner (strict) hog?
    pin 32 (PB0): device 2502800.twi function gpio_in group PB0
    pin 33 (PB1): device 2502800.twi function gpio_in group PB1
    pin 34 (PB2): UNCLAIMED
    pin 35 (PB3): UNCLAIMED
    pin 36 (PB4): UNCLAIMED
    pin 37 (PB5): UNCLAIMED
    pin 38 (PB6): UNCLAIMED
    pin 39 (PB7): UNCLAIMED
    pin 40 (PB8): device 2500000.uart function uart0 group PB8
    pin 41 (PB9): device 2500000.uart function uart0 group PB9
    pin 42 (PB10): UNCLAIMED
    pin 43 (PB11): device 2031000.dmic function io_disabled group PB11
    pin 44 (PB12): UNCLAIMED
    pin 64 (PC0): device 2008000.ledc function ledc group PC0
    pin 65 (PC1): UNCLAIMED
    pin 66 (PC2): UNCLAIMED
    pin 67 (PC3): UNCLAIMED
    pin 68 (PC4): UNCLAIMED
    pin 69 (PC5): UNCLAIMED
    pin 70 (PC6): UNCLAIMED
    pin 71 (PC7): UNCLAIMED
    pin 96 (PD0): UNCLAIMED
    pin 97 (PD1): UNCLAIMED
    pin 98 (PD2): UNCLAIMED
    pin 99 (PD3): UNCLAIMED
    pin 100 (PD4): UNCLAIMED
    pin 101 (PD5): UNCLAIMED
    pin 102 (PD6): UNCLAIMED
    pin 103 (PD7): UNCLAIMED
    pin 104 (PD8): UNCLAIMED
    pin 105 (PD9): UNCLAIMED
    pin 106 (PD10): UNCLAIMED
    pin 107 (PD11): UNCLAIMED
    pin 108 (PD12): UNCLAIMED
    pin 109 (PD13): UNCLAIMED
    pin 110 (PD14): UNCLAIMED
    pin 111 (PD15): UNCLAIMED
    pin 112 (PD16): UNCLAIMED
    pin 113 (PD17): UNCLAIMED
    pin 114 (PD18): UNCLAIMED
    pin 115 (PD19): UNCLAIMED
    pin 116 (PD20): UNCLAIMED
    pin 117 (PD21): UNCLAIMED
    pin 118 (PD22): UNCLAIMED
    pin 128 (PE0): device 4500000.eth function gmac0 group PE0
    pin 129 (PE1): device 4500000.eth function gmac0 group PE1
    pin 130 (PE2): device 4500000.eth function gmac0 group PE2
    pin 131 (PE3): device 4500000.eth function gmac0 group PE3
    pin 132 (PE4): device 4500000.eth function gmac0 group PE4
    pin 133 (PE5): device 4500000.eth function gmac0 group PE5
    pin 134 (PE6): device 4500000.eth function gmac0 group PE6
    pin 135 (PE7): device 4500000.eth function gmac0 group PE7
    pin 136 (PE8): device 4500000.eth function gmac0 group PE8
    pin 137 (PE9): device 4500000.eth function gmac0 group PE9
    pin 138 (PE10): UNCLAIMED
    pin 139 (PE11): UNCLAIMED
    pin 140 (PE12): UNCLAIMED
    pin 141 (PE13): UNCLAIMED
    pin 142 (PE14): UNCLAIMED
    pin 143 (PE15): UNCLAIMED
    pin 144 (PE16): GPIO 2000000.pinctrl:144
    pin 145 (PE17): device 2031000.dmic function io_disabled group PE17
    pin 160 (PF0): device 4020000.sdmmc function sdc0 group PF0
    pin 161 (PF1): device 4020000.sdmmc function sdc0 group PF1
    pin 162 (PF2): device 4020000.sdmmc function sdc0 group PF2
    pin 163 (PF3): device 4020000.sdmmc function sdc0 group PF3
    pin 164 (PF4): device 4020000.sdmmc function sdc0 group PF4
    pin 165 (PF5): device 4020000.sdmmc function sdc0 group PF5
    pin 166 (PF6): GPIO 2000000.pinctrl:166
    pin 192 (PG0): device 4021000.sdmmc function gpio_in group PG0
    pin 193 (PG1): device 4021000.sdmmc function gpio_in group PG1
    pin 194 (PG2): device 4021000.sdmmc function gpio_in group PG2
    pin 195 (PG3): device 4021000.sdmmc function gpio_in group PG3
    pin 196 (PG4): device 4021000.sdmmc function gpio_in group PG4
    pin 197 (PG5): device 4021000.sdmmc function gpio_in group PG5
    pin 198 (PG6): device 2500400.uart function uart1 group PG6
    pin 199 (PG7): device 2500400.uart function uart1 group PG7
    pin 200 (PG8): device 2500400.uart function uart1 group PG8
    pin 201 (PG9): device 2500400.uart function uart1 group PG9
    pin 202 (PG10): GPIO 2000000.pinctrl:202
    pin 203 (PG11): UNCLAIMED
    pin 204 (PG12): GPIO 2000000.pinctrl:204
    pin 205 (PG13): UNCLAIMED
    pin 206 (PG14): UNCLAIMED
    pin 207 (PG15): UNCLAIMED
    pin 208 (PG16): UNCLAIMED
    pin 209 (PG17): UNCLAIMED
    pin 210 (PG18): GPIO 2000000.pinctrl:210
    root@TinaLinux:/#
    root@TinaLinux:/#
    root@TinaLinux:/#
    root@TinaLinux:/#
    
    
    • 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
    • 256
    • 257
    • 258
    • 259
    • 260
    • 261
    • 262
    • 263
    • 264
    • 265
    • 266
    • 267
    • 268
    • 269
    • 270
    • 271
    • 272
    • 273
    • 274
    • 275
    • 276
    • 277
    • 278
    • 279
    • 280
    • 281
    • 282
    • 283
    • 284
    • 285
    • 286
    • 287
    • 288
    • 289
    • 290
    • 291
    • 292
    • 293
    • 294
    • 295
    • 296
    • 297
    • 298
    • 299
    • 300
    • 301
    • 302
    • 303
    • 304
    • 305
    • 306
    • 307
    • 308
    • 309
    • 310
    • 311
    • 312
    • 313
    • 314
    • 315
    • 316
    • 317
    • 318
    • 319
    • 320
    • 321
    • 322
    • 323
    • 324
    • 325
    • 326
    • 327
    • 328
    • 329
    • 330
    • 331
    • 332
    • 333
    • 334
    • 335
    • 336
    • 337
    • 338
    • 339
    • 340
    • 341
    • 342
    • 343
    • 344
    • 345
    • 346
    • 347
    • 348
    • 349
    • 350
    • 351
    • 352
    • 353
    • 354
    • 355
    • 356
    • 357
    • 358
    • 359
    • 360
    • 361
    • 362
    • 363
    • 364
    • 365
    • 366
    • 367
    • 368
    • 369
    • 370
    • 371
    • 372
    • 373
    • 374
    • 375
    • 376
    • 377
    • 378
    • 379
    • 380
    • 381
    • 382
    • 383
    • 384
    • 385
    • 386
    • 387
    • 388
    • 389
    • 390
    • 391
    • 392
    • 393
    • 394
    • 395
    • 396
    • 397
    • 398
    • 399
    • 400
    • 401
    • 402
    • 403
    • 404
    • 405
    • 406
    • 407
    • 408
    • 409
    • 410
    • 411
    • 412
    • 413
    • 414
    • 415
    • 416
    • 417
    • 418
    • 419
    • 420
    • 421
    • 422
    • 423
    • 424
    • 425
    • 426
    • 427
    • 428
    • 429
    • 430
    • 431
    • 432
    • 433
    • 434
    • 435
    • 436
    • 437
    • 438
    • 439
    • 440
    • 441
    • 442
    • 443
    • 444
    • 445
    • 446
    • 447
    • 448
    • 449
    • 450
    • 451
    • 452
    • 453
    • 454
    • 455
    • 456
    • 457
    • 458
    • 459
    • 460
    • 461
    • 462
    • 463
    • 464
    • 465
    • 466
    • 467
    • 468
    • 469
    • 470
    • 471
    • 472
    • 473
    • 474
    • 475
    • 476
    • 477
    • 478
    • 479
    • 480
    • 481
    • 482
    • 483
    • 484
    • 485
    • 486
    • 487
    • 488
    • 489
    • 490
    • 491
    • 492
    • 493
    • 494
    • 495
    • 496
    • 497
    • 498
    • 499
    • 500
    • 501
    • 502
    • 503
    • 504
    • 505
    • 506
    • 507
    • 508
    • 509
    • 510
    • 511
    • 512
    • 513
    • 514
    • 515
    • 516
    • 517
    • 518
    • 519
    • 520
    • 521
    • 522
    • 523
    • 524
    • 525
    • 526
    • 527
    • 528
    • 529
    • 530
    • 531
    • 532
    • 533
    • 534
    • 535
    • 536
    • 537
    • 538
    • 539
    • 540
    • 541
    • 542
    • 543
    • 544
    • 545
    • 546
    • 547
    • 548
    • 549
    • 550
    • 551
    • 552
    • 553
    • 554
    • 555
    • 556
    • 557
    • 558
    • 559
    • 560
    • 561
    • 562
    • 563
    • 564
    • 565
    • 566
    • 567
    • 568
    • 569
    • 570
    • 571
    • 572
    • 573
    • 574
    • 575
    • 576
    • 577
    • 578
    • 579
    • 580
    • 581
    • 582
    • 583
    • 584
    • 585
    • 586
    • 587
    • 588
    • 589
    • 590
    • 591
    • 592
    • 593
    • 594
    • 595
    • 596
    • 597
    • 598
    • 599
    • 600
    • 601
    • 602
    • 603
    • 604
    • 605
    • 606
    • 607
    • 608
    • 609
    • 610
    • 611
    • 612
    • 613
    • 614
    • 615
    • 616
    • 617
    • 618
    • 619
    • 620
    • 621
    • 622
    • 623
    • 624
    • 625
    • 626
    • 627
    • 628
    • 629
    • 630
    • 631
    • 632
    • 633
    • 634
    • 635
    • 636
    • 637
    • 638
    • 639
    • 640
    • 641
    • 642
    • 643
    • 644
    • 645
    • 646
    • 647
    • 648
    • 649
    • 650
    • 651
    • 652
    • 653
    • 654
    • 655
    • 656
    • 657
    • 658
    • 659
    • 660
    • 661
    • 662
    • 663
    • 664
    • 665
    • 666
    • 667
    • 668
    • 669
    • 670
    • 671
    • 672
    • 673
    • 674
    • 675
    • 676
    • 677
    • 678
    • 679
    • 680
    • 681
    • 682
    • 683
    • 684
    • 685
    • 686
    • 687
    • 688
    • 689
    • 690
    • 691
    • 692
    • 693
    • 694
    • 695
    • 696
    • 697
    • 698
    • 699
    • 700
    • 701
    • 702
    • 703
    • 704
    • 705
    • 706
    • 707
    • 708
    • 709
    • 710
    • 711
    • 712
    • 713
    • 714
    • 715
    • 716
    • 717
    • 718
    • 719
    • 720
    • 721
    • 722
    • 723
    • 724
    • 725
    • 726
    • 727
    • 728
    • 729
    • 730
    • 731
    • 732
    • 733
    • 734
    • 735
    • 736
    • 737

    是否遗漏某些地方配置不当或者设备树修改错误了?

    使用的是sun20iw1p1.dtsi里面的rgb18_pins_a

    初步分析

    好像是因为没在linux源码仓库添加st7701_rgb的驱动。

    先试试加上st7701_rgb的驱动

    即使改成了rgb18_20_pins_a ,也没能将io初始化

    pin 140 (PE12): UNCLAIMED
    pin 141 (PE13): UNCLAIMED
    pin 142 (PE14): UNCLAIMED
    pin 143 (PE15): UNCLAIMED
    
    • 1
    • 2
    • 3
    • 4

    感觉 st7701s_rgb.c 没有编译,你看下

    find . -name st7701s_rgb.o
    
    • 1

    实际上也编译进去了

    在这里插入图片描述在这里插入图片描述

    再次尝试

    使用仓库:https://github.com/Tina-Linux/tina-d1x-lichee-rv,编译依旧不通过

    在这里插入图片描述

    也尝试针对你仓库的代码,修改以下文件

    tina-d1-h/device/config/chips/d1-h/configs/nezha/linux-5.4/board.dts
    tina-d1-h/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/Makefile
    tina-d1-h/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/Kconfig
    tina-d1-h/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.c
    tina-d1-h/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.h
    tina-d1-h/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/st7701s_rgb.c
    tina-d1-h/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/st7701s_rgb.h
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    结果 lcd的io也是没有初始化

    再再尝试

    看到有大佬分析:lcd rgb gpio是在你们屏驱动st7701s_rgb中调用sunxi_lcd_pin_cfg(sel, 1);初始化的,可以跟下调用流程,试一下发现连这个printk都没有打印,好像都没有进入probe在这里插入图片描述
    开机过程中在uboot初始化lcd后,kernel是不是走lcd初始化流程的,进入内核后,休眠唤醒一下lcd,看看pin脚状态有没有变化

    mount -t debugfs none /sys/kernel/debug
    cd /sys/kernel/debug/dispdbg
    //休眠
    echo suspend > command; echo disp0 > name; echo 1 > start
    //唤醒
    echo resume > command; echo disp0 > name; echo 1 > start
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    使用以上指令,lcd部分管脚配置成功了。lcd_gpio_0、lcd_gpio_1、lcd_gpio_2、lcd_gpio_3,这四个gpio没有初始化正常。

    在这里插入图片描述

    以下是执行唤醒lcd的log

    在这里插入图片描述

    lcd的显示情况如下:

    在这里插入图片描述

    最终结果

    1. 将uboot-board.dts的lcd注释掉,colorbar不在闪屏。

    2. lcd_gpio_0、lcd_gpio_1、lcd_gpio_2、lcd_gpio_3,依旧没能初始化。原因未知。

    目前显示效果如下:

    在这里插入图片描述

    以下是完整的patch, 在tina v2.0验证成功。

    Index: tina-d1-h/device/config/chips/d1-h/configs/nezha/linux-5.4/board.dts
    ===================================================================
    --- tina-d1-h.orig/device/config/chips/d1-h/configs/nezha/linux-5.4/board.dts
    +++ tina-d1-h/device/config/chips/d1-h/configs/nezha/linux-5.4/board.dts
    @@ -15,7 +15,6 @@
     	aliases {
     		dsp0 = &dsp0;
     		dsp0_gpio_int= &dsp0_gpio_int;
    -		gmac0 = &gmac0;
     	};
     
     	dsp0: dsp0 {
    @@ -31,7 +30,7 @@
     
     	reg_vdd_cpu: vdd-cpu {
     		compatible = "sunxi-pwm-regulator";
    -		pwms = <&pwm 0 5000 1>;
    +		pwms = <&pwm 0 5000 0>;
     		regulator-name = "vdd_cpu";
     		regulator-min-microvolt = <810000>;
     		regulator-max-microvolt = <1160000>;
    @@ -47,7 +46,15 @@
     		regulator-min-microvolt = <5000000>;
     		regulator-max-microvolt = <5000000>;
     		regulator-enable-ramp-delay = <1000>;
    -		gpio = <&pio PD 19 GPIO_ACTIVE_HIGH>;
    +		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;
     	};
     };
    @@ -58,8 +65,7 @@
     
     &pio {
     	sdc0_pins_a: sdc0@0 {
    -		allwinner,pins = "PF0", "PF1", "PF2",
    -				 "PF3", "PF4", "PF5";
    +		allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
     		allwinner,function = "sdc0";
     		allwinner,muxsel = <2>;
     		allwinner,drive = <3>;
    @@ -74,8 +80,7 @@
     
     
     	sdc0_pins_b: sdc0@1 {
    -		pins = "PF0", "PF1", "PF2",
    -		       "PF3", "PF4", "PF5";
    +		pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
     		function = "sdc0";
     		drive-strength = <30>;
     		bias-pull-up;
    @@ -83,8 +88,7 @@
     	};
     
     	sdc0_pins_c: sdc0@2 {
    -		pins = "PF0", "PF1", "PF2",
    -			"PF3", "PF4", "PF5";
    +		pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
     		function = "gpio_in";
     	};
     
    @@ -97,8 +101,7 @@
     	};
     
     	sdc0_pins_e: sdc0@4 {
    -		pins = "PF0", "PF1", "PF3",
    -			"PF5";
    +		pins = "PF0", "PF1", "PF3", "PF5";
     		function = "jtag";
     		drive-strength = <10>;
     		bias-pull-up;
    @@ -106,36 +109,31 @@
     
     
     	sdc1_pins_a: sdc1@0 {
    -		pins = "PG0", "PG1", "PG2",
    -		       "PG3", "PG4", "PG5";
    +		pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5";
     		function = "sdc1";
     		drive-strength = <30>;
     		bias-pull-up;
     	};
     
     	sdc1_pins_b: sdc1@1 {
    -		pins = "PG0", "PG1", "PG2",
    -		       "PG3", "PG4", "PG5";
    +		pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5";
     			function = "gpio_in";
     	};
     
     	sdc2_pins_a: sdc2@0 {
    -		allwinner,pins = "PC2", "PC3", "PC4",
    -				 "PC5", "PC6", "PC7";
    +		allwinner,pins = "PC2", "PC3", "PC4", "PC5", "PC6", "PC7";
     		allwinner,function = "sdc2";
     		allwinner,muxsel = <3>;
     		allwinner,drive = <3>;
     		allwinner,pull = <1>;
    -		pins = "PC2", "PC3", "PC4",
    -			"PC5", "PC6", "PC7";
    +		pins = "PC2", "PC3", "PC4", "PC5", "PC6", "PC7";
     		function = "sdc2";
     		drive-strength = <30>;
     		bias-pull-up;
     	};
     
     	sdc2_pins_b: sdc2@1 {
    -		pins = "PC2", "PC3", "PC4",
    -		       "PC5", "PC6", "PC7";
    +		pins = "PC2", "PC3", "PC4", "PC5", "PC6", "PC7";
     		function = "gpio_in";
     	};
     
    @@ -234,62 +232,42 @@
     
     	gmac_pins_a: gmac@0 {
     		pins = "PE0", "PE1", "PE2", "PE3",
    -		       "PE4", "PE5", "PE6", "PE7",
    -		       "PE8", "PE9", "PE10", "PE11",
    -		       "PE12", "PE13", "PE14", "PE15";
    +				"PE4", "PE5", "PE6", "PE7",
    +				"PE8", "PE9";
     		function = "gmac0";
    -		muxsel = <8>; /* for uboot driver */
     		drive-strength = <10>;
     	};
     
     	gmac_pins_b: gmac@1 {
     		pins = "PE0", "PE1", "PE2", "PE3",
    -		       "PE4", "PE5", "PE6", "PE7",
    -		       "PE8", "PE9", "PE10", "PE11",
    -		       "PE12", "PE13", "PE14", "PE15";
    +				"PE4", "PE5", "PE6", "PE7",
    +				"PE8", "PE9";
     		function = "gpio_in";
     	};
     
     	dmic_pins_a: dmic@0 {
     		/* DMIC_PIN: CLK, DATA0, DATA1, DATA2 */
    -		pins = "PE17", "PB11", "PB10", "PD17";
    +		pins = "PE17", "PB11";
     		function = "dmic";
     		drive-strength = <20>;
     		bias-disable;
     	};
     
     	dmic_pins_b: dmic@1 {
    -		pins = "PE17", "PB11", "PB10", "PD17";
    +		pins = "PE17", "PB11";
     		function = "io_disabled";
     		drive-strength = <20>;
     		bias-disable;
     	};
     
     	daudio0_pins_a: daudio0@0 {
    -		/* MCLK, BCLK, LRCK */
    -		pins = "PE17", "PE16", "PE15";
    +		pins = "PE17", "PE16", "PE15", "PE14", "PE13";
     		function = "i2s0";
     		drive-strength = <20>;
     		bias-disable;
     	};
     
    -	daudio0_pins_b: daudio0@1 {
    -		/* DIN0 */
    -		pins = "PE14";
    -		function = "i2s0_din";
    -		drive-strength = <20>;
    -		bias-disable;
    -	};
    -
    -	daudio0_pins_c: daudio0@2 {
    -		/* DOUT0 */
    -		pins = "PE13";
    -		function = "i2s0_dout";
    -		drive-strength = <20>;
    -		bias-disable;
    -	};
    -
    -	daudio0_pins_d: daudio0_sleep@0 {
    +	daudio0_pins_b: daudio0_sleep@0 {
     		pins = "PE17", "PE16", "PE15", "PE14", "PE13";
     		function = "io_disabled";
     		drive-strength = <20>;
    @@ -297,30 +275,13 @@
     	};
     
     	daudio1_pins_a: daudio1@0 {
    -		/* MCLK, LRCK, BCLK */
    -		pins = "PG11", "PG12", "PG13";
    +		pins = "PG11", "PG12", "PG13", "PG14", "PG15";
     		function = "i2s1";
     		drive-strength = <20>;
     		bias-disable;
     	};
     
    -	daudio1_pins_b: daudio1@1 {
    -		/* DIN0 */
    -		pins = "PG14";
    -		function = "i2s1_din";
    -		drive-strength = <20>;
    -		bias-disable;
    -	};
    -
    -	daudio1_pins_c: daudio1@2 {
    -		/* DOUT0 */
    -		pins = "PG15";
    -		function = "i2s1_dout";
    -		drive-strength = <20>;
    -		bias-disable;
    -	};
    -
    -	daudio1_pins_d: daudio1_sleep@0 {
    +	daudio1_pins_b: daudio1_sleep@0 {
     		pins = "PG11", "PG12", "PG13", "PG14", "PG15";
     		function = "io_disabled";
     		drive-strength = <20>;
    @@ -374,7 +335,7 @@
     	};
     
     	spi0_pins_a: spi0@0 {
    -		pins = "PC2", "PC4", "PC5"; /* clk, mosi, miso */
    +		pins = "PC2", "PC4", "PC5","PC7", "PC6"; /*clk mosi miso hold wp*/
     		function = "spi0";
     		muxsel = <2>;
     		drive-strength = <10>;
    @@ -385,7 +346,7 @@
     		function = "spi0";
     		muxsel = <2>;
     		drive-strength = <10>;
    -		bias-pull-up;   /* cs, hold, wp should be pulled up */
    +		bias-pull-up;   /* only CS should be pulled up */
     	};
     
     	spi0_pins_c: spi0@2 {
    @@ -396,16 +357,16 @@
     	};
     
     	spi1_pins_a: spi1@0 {
    -		pins = "PD11", "PD12", "PD13"; /* clk, mosi, miso */
    +		pins = "PD11", "PD12", "PD13","PD14", "PD15"; /*clk mosi miso hold wp*/
     		function = "spi1";
     		drive-strength = <10>;
     	};
     
     	spi1_pins_b: spi1@1 {
    -		pins = "PD10", "PD14", "PD15";
    +		pins = "PD10";
     		function = "spi1";
     		drive-strength = <10>;
    -		bias-pull-up;   /* cs, hold, wp should be pulled up */
    +		bias-pull-up;   // only CS should be pulled up
     	};
     
     	spi1_pins_c: spi1@2 {
    @@ -447,9 +408,9 @@
     
     	pwm2_pin_b: pwm2@1 {
     		pins = "PD18";
    -		function = "gpio_out";
    +		function = "gpio_in";
     	};
    -/*
    +
     	pwm7_pin_a: pwm7@0 {
     		pins = "PD22";
     		function = "pwm7";
    @@ -461,7 +422,6 @@
     		pins = "PD22";
     		function = "gpio_in";
     	};
    -*/
     
     	s_cir0_pins_a: s_cir@0 {
     		pins = "PB12";
    @@ -486,6 +446,45 @@
     		pins = "PB0";
     		function = "gpio_in";
     	};
    +
    +	rgb18_20_pins_a: rgb18_20@0 {
    +		pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", \
    +				"PD6", "PD7", "PD8", "PD9", "PD10", "PD11", \
    +				"PD12", "PD13", "PD14", "PD15", "PD16", "PD17", \
    +				"PD18", "PD19", "PD20", "PD21";
    +		function = "lcd0";
    +		drive-strength = <20>;
    +		bias-disable;
    +	};
    +
    +	rgb18_20_pins_b: rgb18_20@1 {
    +		pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", \
    +				"PD6", "PD7", "PD8", "PD9", "PD10", "PD11", \
    +				"PD12", "PD13", "PD14", "PD15", "PD16", "PD17", \
    +				"PD18", "PD19", "PD20", "PD21";
    +		function = "io_disabled";
    +		bias-disable;
    +	};
    +
    +	rgb18_10_pins_a: rgb18_10@0 {
    +		pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", \
    +				"PD6", "PD7", "PD8", "PD9", "PD10", "PD11", \
    +				"PD12", "PD13", "PD14", "PD15", "PD16", "PD17", \
    +				"PD18", "PD19", "PD20", "PD21";
    +		function = "lcd0";
    +		drive-strength = <10>;
    +		bias-disable;
    +	};
    +
    +	rgb18_10_pins_b: rgb18_10@1 {
    +		pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", \
    +				"PD6", "PD7", "PD8", "PD9", "PD10", "PD11", \
    +				"PD12", "PD13", "PD14", "PD15", "PD16", "PD17", \
    +				"PD18", "PD19", "PD20", "PD21";
    +		function = "io_disabled";
    +		bias-disable;
    +	};
    +
     };
     
     &uart0 {
    @@ -510,11 +509,11 @@
     };
     
     &uart3 {
    -	compatible = "allwinner,sun20iw1-dsp-uart";
    +	/*compatible = "allwinner,sun20iw1-dsp-uart";*/
     	pinctrl-names = "default", "sleep";
     	pinctrl-0 = <&uart3_pins_a>;
     	pinctrl-1 = <&uart3_pins_a>;
    -	status = "okay";
    +	status = "disabled";
     };
     
     &soc {
    @@ -557,12 +556,12 @@
     		compatible    = "allwinner,sunxi-rfkill";
     		chip_en;
     		power_en;
    -		pinctrl-0 = <&wlan_pins_a>;
    -		pinctrl-names = "default";
     		status        = "okay";
     
     		wlan: wlan@0 {
     			compatible    = "allwinner,sunxi-wlan";
    +			pinctrl-0 = <&wlan_pins_a>;
    +			pinctrl-names = "default";
     			clock-names = "32k-fanout1";
     			clocks = <&ccu CLK_FANOUT1_OUT>;
     			wlan_busnum    = <0x1>;
    @@ -578,6 +577,8 @@
     
     		bt: bt@0 {
     			compatible    = "allwinner,sunxi-bt";
    +			pinctrl-0 = <&wlan_pins_a>;
    +			pinctrl-names = "default";
     			clock-names = "32k-fanout1";
     			clocks = <&ccu CLK_FANOUT1_OUT>;
     			/*bt_power_num = <0x01>;*/
    @@ -590,13 +591,13 @@
     		};
     	};
     
    -	btlpm: btlpm@0 {
    +	/*btlpm: btlpm@0 {
     		compatible  = "allwinner,sunxi-btlpm";
     		uart_index  = <0x1>;
     		bt_wake     = <&pio PG 16 GPIO_ACTIVE_HIGH>;
     		bt_hostwake = <&pio PG 17 GPIO_ACTIVE_HIGH>;
     		status      = "okay";
    -	};
    +	};*/
     
     	addr_mgt: addr_mgt@0 {
     		compatible     = "allwinner,sunxi-addr_mgt";
    @@ -750,7 +751,7 @@ tvd_row*tvd_column is the total tvd chan
     	mic2gain 	= <0x13>;
     	mic3gain 	= <0x13>;
     	/* ADC/DAC DRC/HPF func enabled */
    -        /* 0x1:DAP_HP_EN; 0x2:DAP_SPK_EN; 0x3:DAP_HPSPK_EN */
    +	/* 0x1:DAP_HP_EN; 0x2:DAP_SPK_EN; 0x3:DAP_HPSPK_EN */
     	adcdrc_cfg 	= <0x0>;
     	adchpf_cfg 	= <0x1>;
     	dacdrc_cfg 	= <0x0>;
    @@ -826,8 +827,8 @@ tvd_row*tvd_column is the total tvd chan
     	pcm_lrck_period = <0x80>;
     	slot_width_select = <0x20>;
     	pinctrl-names   = "default", "sleep";
    -	pinctrl-0       = <&daudio0_pins_a &daudio0_pins_b &daudio0_pins_c>;
    -	pinctrl-1       = <&daudio0_pins_d>;
    +	pinctrl-0       = <&daudio0_pins_a>;
    +	pinctrl-1       = <&daudio0_pins_b>;
     	pinctrl_used	= <0x0>;
     	status = "disabled";
     };
    @@ -853,18 +854,18 @@ tvd_row*tvd_column is the total tvd chan
     };
     
     &daudio1 {
    -	mclk_div 	= <0x01>;
    -	frametype 	= <0x00>;
    -	tdm_config 	= <0x01>;
    -	sign_extend 	= <0x00>;
    -	msb_lsb_first 	= <0x00>;
    -	pcm_lrck_period = <0x80>;
    +	mclk_div          = <0x01>;
    +	frametype         = <0x00>;
    +	tdm_config        = <0x01>;
    +	sign_extend       = <0x00>;
    +	msb_lsb_first     = <0x00>;
    +	pcm_lrck_period   = <0x80>;
     	slot_width_select = <0x20>;
    -	pinctrl-names   = "default", "sleep";
    -	pinctrl-0       = <&daudio1_pins_a &daudio1_pins_b &daudio1_pins_c>;
    -	pinctrl-1       = <&daudio1_pins_d>;
    -	pinctrl_used	= <0x0>;
    -	status = "disabled";
    +	pinctrl-names     = "default", "sleep";
    +	pinctrl-0         = <&daudio1_pins_a>;
    +	pinctrl-1         = <&daudio1_pins_b>;
    +	pinctrl_used      = <0x0>;
    +	status            = "disabled";
     };
     
     &sounddaudio1 {
    @@ -930,12 +931,10 @@ tvd_row*tvd_column is the total tvd chan
      */
     &usbc0 {
     	device_type = "usbc0";
    -	usb_port_type = <0x2>;
    +	usb_port_type = <0x0>;
     	usb_detect_type = <0x1>;
     	usb_detect_mode = <0>;
    -	usb_id_gpio = <&pio PD 21 GPIO_ACTIVE_HIGH>;
     	enable-active-high;
    -	usb_det_vbus_gpio = <&pio PD 20 GPIO_ACTIVE_HIGH>;
     	usb_wakeup_suspend = <0>;
     	usb_serial_unique = <0>;
     	usb_serial_number = "20080411";
    @@ -997,43 +996,20 @@ tvd_row*tvd_column is the total tvd chan
     	dma-names = "tx", "rx";
     	status = "okay";
     
    -	/* pcf8574-usage:
    -	 * only use gpio0~7, 0 means PP0.
    -	 * pin set:
    -	 * gpios = <&pcf8574 0 GPIO_ACTIVE_LOW>;
    -	 * interrupt set:
    -	 * interrupt-parent = <&pcf8574>;
    -	 * interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
    -	 */
    -	pcf8574: gpio@38 {
    -		compatible = "nxp,pcf8574";
    -		reg = <0x38>;
    -		gpio_base = <2020>;
    -		gpio-controller;
    -		#gpio-cells = <2>;
    -		interrupt-controller;
    -		#interrupt-cells = <2>;
    -		interrupt-parent = <&pio>;
    -		interrupts = ;
    +	focaltech@48{
    +		compatible = "focaltech,fts";
     		status = "okay";
    +		reg = <0x48>;
    +		interrupt-parent = <&pio>;
    +		interrupts = ;
    +		focaltech,reset-gpio = <&pio PG 15 GPIO_ACTIVE_HIGH>;
    +		focaltech,irq-gpio = <&pio PG 14 IRQ_TYPE_LEVEL_LOW>;
    +		focaltech,max-touch-number = <2>;
    +		focaltech,display-coords =  <0 0 480 480>;
    +		focaltech,reg_vdd = <®_3v3>;
    +		focaltech,reg_avdd = <®_3v3>;
     	};
     
    -	ctp@14 {
    -		compatible = "allwinner,goodix";
    -		device_type = "ctp";
    -		reg = <0x14>;
    -		status = "disabled";
    -		ctp_name = "gt9xxnew_ts";
    -		ctp_twi_id = <0x2>;
    -		ctp_twi_addr = <0x14>;
    -		ctp_screen_max_x = <0x320>;
    -		ctp_screen_max_y = <0x500>;
    -		ctp_revert_x_flag = <0x0>;
    -		ctp_revert_y_flag = <0x1>;
    -		ctp_exchange_x_y_flag = <0x0>;
    -		ctp_int_port = <&pio PG 14 GPIO_ACTIVE_HIGH>;
    -		ctp_wakeup = <&pio PG 15 GPIO_ACTIVE_HIGH>;
    -	};
     };
     
     &twi3 {
    @@ -1045,14 +1021,12 @@ tvd_row*tvd_column is the total tvd chan
     };
     
     &gmac0 {
    -	phy-mode = "rgmii";
    +	phy-mode = "rmii";
     	use_ephy25m = <1>;
     	pinctrl-0 = <&gmac_pins_a>;
     	pinctrl-1 = <&gmac_pins_b>;
     	pinctrl-names = "default", "sleep";
     	phy-rst = <&pio PE 16 GPIO_ACTIVE_HIGH>;
    -	tx-delay = <3>; /*2~4*/
    -	rx-delay = <0>;
     	status = "okay";
     };
     
    @@ -1064,7 +1038,7 @@ tvd_row*tvd_column is the total tvd chan
     	/*spi-supply = <®_dcdc1>;*/
     	spi_slave_mode = <0>;
     	spi0_cs_number = <1>;
    -        spi0_cs_bitmap = <1>;
    +	spi0_cs_bitmap = <1>;
     	status = "disabled";
     
     	spi-nand@0 {
    @@ -1083,21 +1057,9 @@ tvd_row*tvd_column is the total tvd chan
     	pinctrl-1 = <&spi1_pins_c>;
     	pinctrl-names = "default", "sleep";
     	spi_slave_mode = <0>;
    -	spi1_cs_number = <1>;
    -	spi1_cs_bitmap = <1>;
    -	spi_dbi_enable = <1>;
     	status = "disabled";
     
     	spi_board1@0 {
    -		device_type = "spi-dbi";
    -		compatible = "sunxi,spidbi";
    -		spi-max-frequency = <0x5f5e100>;
    -		reg = <0x0>;
    -		spi-rx-bus-width = <0x4>;
    -		spi-tx-bus-width = <0x4>;
    -		status = "okay";
    -	};
    -	/* spi_board1@0 {
     		device_type = "spi_board1";
     		compatible = "rohm,dh2228fv";
     		spi-max-frequency = <0x5f5e100>;
    @@ -1105,7 +1067,7 @@ tvd_row*tvd_column is the total tvd chan
     		spi-rx-bus-width = <0x4>;
     		spi-tx-bus-width = <0x4>;
     		status = "disabled";
    -	}; */
    +	};
     };
     
     &ledc {
    @@ -1279,55 +1241,54 @@ pull up or pull down(default 0), driver
     ;For lvds0: use lvds0_pins_a  and lvds0_pins_b instead
     ;----------------------------------------------------------------------------------*/
     &lcd0 {
    -	lcd_used            = <1>;
    +	lcd_used             = <1>;
    +	lcd_driver_name      = "st7701s_rgb";
    +
    +	lcd_if               = <0>;
    +	lcd_hv_if            = <0>;
     
    -	lcd_driver_name     = "tft08006";
    -	lcd_backlight       = <100>;
    -	lcd_if              = <4>;
    -
    -	lcd_x               = <800>;
    -	lcd_y               = <1280>;
    -	lcd_width           = <52>;
    -	lcd_height          = <52>;
    -	lcd_dclk_freq       = <70>;
    -
    -	lcd_pwm_used        = <1>;
    -	lcd_pwm_ch          = <2>;
    -	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              = <1311>;
    -	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_gpio_0 =  <&pio PG 13 GPIO_ACTIVE_HIGH>;
    -	pinctrl-0 = <&dsi4lane_pins_a>;
    -	pinctrl-1 = <&dsi4lane_pins_b>;
    +	lcd_width            = <70>;
    +	lcd_height           = <72>;
    +	lcd_x                = <480>;
    +	lcd_y                = <480>;
    +	lcd_dclk_freq        = <19>;
    +	lcd_hbp              = <60>;
    +	lcd_ht               = <612>;
    +	lcd_hspw             = <12>;
    +	lcd_vbp              = <18>;
    +	lcd_vt               = <520>;
    +	lcd_vspw             = <4>;
    +
    +	lcd_backlight        = <50>;
    +	lcd_pwm_used         = <1>;
    +	lcd_pwm_ch           = <7>;
    +	lcd_pwm_freq         = <20000>;
    +	lcd_pwm_pol          = <1>;
    +	lcd_bright_curve_en  = <0>;
    +
    +	lcd_frm              = <1>;
    +	lcd_io_phase         = <0x0000>;
    +	lcd_gamma_en         = <0>;
    +	lcd_cmap_en          = <0>;
    +	lcd_hv_clk_phase     = <0>;
    +	lcd_hv_sync_polarity = <0>;
    +	lcd_rb_swap          = <0>;
    +
    +	lcd_power            = "vcc-lcd";
    +	lcd_pin_power        = "vcc-pd";
    +	lcd_gpio_0           = <&pio PG 13 GPIO_ACTIVE_HIGH>;
    +	lcd_gpio_1           = <&pio PE 14 GPIO_ACTIVE_HIGH>;
    +	lcd_gpio_2           = <&pio PE 12 GPIO_ACTIVE_HIGH>;
    +	lcd_gpio_3           = <&pio PE 15 GPIO_ACTIVE_HIGH>;
    +	/*
    +	lcd_gpio_0           = <&pio PG 13 1 1 1 1>;
    +	lcd_gpio_1           = <&pio PE 14 1 1 1 1>;
    +	lcd_gpio_2           = <&pio PE 12 1 1 1 1>;
    +	lcd_gpio_3           = <&pio PE 15 1 1 1 1>;
    +	*/
    +	pinctrl-0            = <&rgb18_pins_a>;
    +	pinctrl-1            = <&rgb18_pins_b>;
    +	status               = "okay";
     };
     
     &hdmi {
    @@ -1357,14 +1318,12 @@ pull up or pull down(default 0), driver
     	status = "okay";
     };
     
    -/*
     &pwm7 {
     	pinctrl-names = "active", "sleep";
     	pinctrl-0 = <&pwm7_pin_a>;
     	pinctrl-1 = <&pwm7_pin_b>;
     	status = "okay";
     };
    -*/
     
     &rtp {
     	allwinner,tp-sensitive-adjust = <0xf>;
    @@ -1400,60 +1359,3 @@ pull up or pull down(default 0), driver
     	pinctrl-1 = <&ir1_pins_b>;
     	status = "disabled";
     };
    -
    -/* &lcd_fb0 {
    -	lcd_used = <1>;
    -	lcd_driver_name = "kld35512";
    -	lcd_if = <1>;
    -	lcd_dbi_if = <4>;
    -	lcd_data_speed = <60>;
    -	lcd_spi_bus_num = <1>;
    -	lcd_x = <320>;
    -	lcd_y = <480>;
    -	lcd_pixel_fmt = <10>;
    -	lcd_dbi_fmt = <2>;
    -	lcd_rgb_order = <0>;
    -	lcd_width = <60>;
    -	lcd_height = <95>;
    -	lcd_pwm_used = <1>;
    -	lcd_pwm_ch = <7>;
    -	lcd_pwm_freq = <5000>;
    -	lcd_pwm_pol = <1>;
    -	lcd_frm = <1>;
    -	lcd_gamma_en = <1>;
    -	fb_buffer_num = <2>;
    -	lcd_backlight = <100>;
    -	lcd_fps = <40>;
    -	lcd_dbi_te = <1>;
    -	lcd_dbi_clk_mode = <1>;
    -	lcd_gpio_0 = <&pio PC 0 GPIO_ACTIVE_HIGH>;
    -	status = "okay";
    -}; */
    -
    -/* &lcd_fb0 {
    -	lcd_used = <1>;
    -	lcd_driver_name = "kld2844b";
    -	lcd_if = <1>;
    -	lcd_dbi_if = <4>;
    -	lcd_data_speed = <60>;
    -	lcd_spi_bus_num = <1>;
    -	lcd_x = <240>;
    -	lcd_y = <320>;
    -	lcd_width = <60>;
    -	lcd_height = <95>;
    -	lcd_pwm_used = <1>;
    -	lcd_pwm_ch = <7>;
    -	lcd_pwm_freq = <5000>;
    -	lcd_pwm_pol = <0>;
    -	lcd_pixel_fmt = <0>;
    -	lcd_dbi_fmt = <3>;
    -	lcd_rgb_order = <0>;
    -	lcd_frm = <1>;
    -	lcd_gamma_en = <1>;
    -	fb_buffer_num = <2>;
    -	lcd_backlight = <100>;
    -	lcd_dbi_te = <1>;
    -	lcd_fps = <60>;
    -	lcd_gpio_0 = <&pio PC 0 GPIO_ACTIVE_HIGH>;
    -	status = "okay";
    -}; */
    Index: tina-d1-h/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/Makefile
    ===================================================================
    --- tina-d1-h.orig/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/Makefile
    +++ tina-d1-h/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/Makefile
    @@ -45,6 +45,7 @@ disp-$(CONFIG_LCD_SUPPORT_LH219WQ1) += l
     disp-$(CONFIG_LCD_SUPPORT_ST7789V) += lcd/st7789v.o
     disp-$(CONFIG_LCD_SUPPORT_ST7796S) += lcd/st7796s.o
     disp-$(CONFIG_LCD_SUPPORT_ST7701S) += lcd/st7701s.o
    +disp-$(CONFIG_LCD_SUPPORT_ST7701S_RGB) += lcd/st7701s_rgb.o
     disp-$(CONFIG_LCD_SUPPORT_WTL096601G03) += lcd/wtl096601g03.o
     disp-$(CONFIG_LCD_SUPPORT_T30P106) += lcd/t30p106.o
     disp-$(CONFIG_LCD_SUPPORT_TO20T20000) += lcd/to20t20000.o
    Index: tina-d1-h/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/Kconfig
    ===================================================================
    --- tina-d1-h.orig/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/Kconfig
    +++ tina-d1-h/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/Kconfig
    @@ -103,6 +103,12 @@ config LCD_SUPPORT_ST7701S
     	---help---
     		If you want to support ST7701S panel for display driver, select it.
     
    +config LCD_SUPPORT_ST7701S_RGB
    +	bool "LCD support ST7701S RGB panel"
    +	default n
    +	---help---
    +		If you want to support ST7701S_RGB panel for display driver, select it.
    +
     config LCD_SUPPORT_T30P106
     	bool "LCD support T30P106 panel"
     	default n
    @@ -210,4 +216,3 @@ config LCD_SUPPORT_K080_IM2HYL802R_800X1
     	default y
     	---help---
     		If you want to support K080_IM2HYL802R_800X1280 panel for display driver, select it.
    -
    Index: tina-d1-h/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.c
    ===================================================================
    --- tina-d1-h.orig/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.c
    +++ tina-d1-h/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.c
    @@ -80,6 +80,9 @@ struct __lcd_panel *panel_array[] = {
     #ifdef CONFIG_LCD_SUPPORT_ST7701S
     	&st7701s_panel,
     #endif
    +#ifdef CONFIG_LCD_SUPPORT_ST7701S_RGB
    +	&st7701s_rgb_panel,
    +#endif
     #ifdef CONFIG_LCD_SUPPORT_T30P106
     	&t30p106_panel,
     #endif
    @@ -136,6 +139,7 @@ void lcd_set_panel_funs(void)
     	int i;
     
     	for (i = 0; panel_array[i] != NULL; i++) {
    +		printk("panel name: %s\n", panel_array[i]->name);
     		sunxi_lcd_set_panel_funs(panel_array[i]->name,
     					 &panel_array[i]->func);
     	}
    Index: tina-d1-h/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.h
    ===================================================================
    --- tina-d1-h.orig/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.h
    +++ tina-d1-h/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.h
    @@ -125,6 +125,9 @@ extern struct __lcd_panel st7796s_panel;
     #ifdef CONFIG_LCD_SUPPORT_ST7701S
     extern struct __lcd_panel st7701s_panel;
     #endif
    +#ifdef CONFIG_LCD_SUPPORT_ST7701S_RGB
    +extern struct __lcd_panel st7701s_rgb_panel;
    +#endif
     #ifdef CONFIG_LCD_SUPPORT_T30P106
     extern struct __lcd_panel t30p106_panel;
     #endif
    Index: tina-d1-h/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/st7701s_rgb.c
    ===================================================================
    --- /dev/null
    +++ tina-d1-h/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/st7701s_rgb.c
    @@ -0,0 +1,517 @@
    +/*
    + * drivers/video/fbdev/sunxi/disp2/disp/lcd/st7701s_rgb.c
    + *
    + * Copyright (c) 2018-2021 Allwinnertech Co., Ltd.
    + * Author: zepan 
    + *
    + * This software is licensed under the terms of the GNU General Public
    + * License version 2, as published by the Free Software Foundation, and
    + * may be copied, distributed, and modified under those terms.
    + *
    + * This program is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    + * GNU General Public License for more details.
    +
    +&lcd0 {
    +	lcd_used            = <1>;
    +
    +	lcd_driver_name     = "st7701s_rgb";
    +	lcd_backlight       = <100>;
    +	lcd_if              = <2>;
    +
    +	lcd_x               = <480>;
    +	lcd_y               = <480>;
    +	lcd_width           = <70>;
    +	lcd_height          = <72>;
    +	lcd_dclk_freq       = <30>;
    +
    +	lcd_pwm_used        = <1>;
    +	lcd_pwm_ch          = <7>;
    +	lcd_pwm_freq        = <19000>;
    +	lcd_pwm_pol         = <0>;
    +	lcd_pwm_max_limit   = <255>;
    +
    +	lcd_hbp             = <60>;
    +	lcd_ht              = <612>;
    +	lcd_hspw            = <12>;
    +	lcd_vbp             = <18>;
    +	lcd_vt              = <520>;
    +	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_gpio_0 = <&pio PG 13 GPIO_ACTIVE_HIGH>;RST
    +	lcd_gpio_1 = <&pio PE 14 GPIO_ACTIVE_HIGH>;CS
    +	lcd_gpio_2 = <&pio PE 12 GPIO_ACTIVE_HIGH>;SDA
    +	lcd_gpio_3 = <&pio PE 15 GPIO_ACTIVE_HIGH>;SCK
    +	pinctrl-0 = <&rgb18_pins_a>;
    +	pinctrl-1 = <&rgb18_pins_b>;
    +};
    + */
    +#include "st7701s_rgb.h"
    +#include "default_panel.h"
    +
    +//s32 sunxi_lcd_gpio_set_value(u32 screen_id, u32 io_index, u32 value)
    +
    +#define st7701s_spi_scl_1   sunxi_lcd_gpio_set_value(0, 3, 1)
    +#define st7701s_spi_scl_0   sunxi_lcd_gpio_set_value(0, 3, 0)
    +#define st7701s_spi_sdi_1   sunxi_lcd_gpio_set_value(0, 2, 1)
    +#define st7701s_spi_sdi_0   sunxi_lcd_gpio_set_value(0, 2, 0)
    +#define st7701s_spi_cs_1    sunxi_lcd_gpio_set_value(0, 1, 1)
    +#define st7701s_spi_cs_0    sunxi_lcd_gpio_set_value(0, 1, 0)
    +#define st7701s_spi_reset_1 sunxi_lcd_gpio_set_value(0, 0, 1)
    +#define st7701s_spi_reset_0 sunxi_lcd_gpio_set_value(0, 0, 0)
    +
    +static void LCD_power_on(u32 sel);
    +static void LCD_power_off(u32 sel);
    +static void LCD_bl_open(u32 sel);
    +static void LCD_bl_close(u32 sel);
    +
    +static void LCD_panel_init(u32 sel);
    +static void LCD_panel_exit(u32 sel);
    +
    +static void LCD_cfg_panel_info(struct panel_extend_para *info)
    +{
    +	u32 i = 0, j = 0;
    +	u32 items;
    +	u8 lcd_gamma_tbl[][2] = {
    +		/* {input value, corrected value} */
    +		{0, 0},
    +		{15, 15},
    +		{30, 30},
    +		{45, 45},
    +		{60, 60},
    +		{75, 75},
    +		{90, 90},
    +		{105, 105},
    +		{120, 120},
    +		{135, 135},
    +		{150, 150},
    +		{165, 165},
    +		{180, 180},
    +		{195, 195},
    +		{210, 210},
    +		{225, 225},
    +		{240, 240},
    +		{255, 255},
    +	};
    +
    +	u32 lcd_cmap_tbl[2][3][4] = {
    +		{
    +			{LCD_CMAP_G0, LCD_CMAP_B1, LCD_CMAP_G2, LCD_CMAP_B3},
    +			{LCD_CMAP_B0, LCD_CMAP_R1, LCD_CMAP_B2, LCD_CMAP_R3},
    +			{LCD_CMAP_R0, LCD_CMAP_G1, LCD_CMAP_R2, LCD_CMAP_G3},
    +		},
    +		{
    +			{LCD_CMAP_B3, LCD_CMAP_G2, LCD_CMAP_B1, LCD_CMAP_G0},
    +			{LCD_CMAP_R3, LCD_CMAP_B2, LCD_CMAP_R1, LCD_CMAP_B0},
    +			{LCD_CMAP_G3, LCD_CMAP_R2, LCD_CMAP_G1, LCD_CMAP_R0},
    +		},
    +	};
    +
    +	items = sizeof(lcd_gamma_tbl) / 2;
    +	for (i = 0; i < items - 1; i++) {
    +		u32 num = lcd_gamma_tbl[i + 1][0] - lcd_gamma_tbl[i][0];
    +
    +		for (j = 0; j < num; j++) {
    +			u32 value = 0;
    +
    +			value = lcd_gamma_tbl[i][1] + ((lcd_gamma_tbl[i + 1][1] - lcd_gamma_tbl[i][1]) * j) / num;
    +			info->lcd_gamma_tbl[lcd_gamma_tbl[i][0] + j] = (value << 16) + (value << 8) + value;
    +		}
    +	}
    +	info->lcd_gamma_tbl[255] = (lcd_gamma_tbl[items - 1][1] << 16) + (lcd_gamma_tbl[items - 1][1] << 8) + lcd_gamma_tbl[items - 1][1];
    +
    +	memcpy(info->lcd_cmap_tbl, lcd_cmap_tbl, sizeof(lcd_cmap_tbl));
    +}
    +
    +static s32 LCD_open_flow(u32 sel)
    +{
    +    printk("=====================LCD_open_flow\n");
    +	/* open lcd power, and delay 50ms */
    +	LCD_OPEN_FUNC(sel, LCD_power_on, 20);
    +	/* open lcd power, than delay 200ms */
    +	LCD_OPEN_FUNC(sel, LCD_panel_init, 20);
    +	/* open lcd controller, and delay 100ms */
    +	LCD_OPEN_FUNC(sel, sunxi_lcd_tcon_enable, 100);
    +	/* open lcd backlight, and delay 0ms */
    +	LCD_OPEN_FUNC(sel, LCD_bl_open, 0);
    +
    +	return 0;
    +}
    +
    +static s32 LCD_close_flow(u32 sel)
    +{
    +	/* close lcd backlight, and delay 0ms */
    +	LCD_CLOSE_FUNC(sel, LCD_bl_close, 0);
    +	/* close lcd controller, and delay 0ms */
    +	LCD_CLOSE_FUNC(sel, sunxi_lcd_tcon_disable, 0);
    +	/* open lcd power, than delay 200ms */
    +	LCD_CLOSE_FUNC(sel, LCD_panel_exit, 200);
    +	/* close lcd power, and delay 500ms */
    +	LCD_CLOSE_FUNC(sel, LCD_power_off, 500);
    +
    +	return 0;
    +}
    +
    +static void LCD_power_on(u32 sel)
    +{
    +	printk("=====================LCD_power_on\n");
    +	/* config lcd_power pin to open lcd power0 */
    +	sunxi_lcd_power_enable(sel, 0);
    +	sunxi_lcd_pin_cfg(sel, 1);
    +
    +}
    +
    +static void LCD_power_off(u32 sel)
    +{
    +	sunxi_lcd_pin_cfg(sel, 0);
    +	/* config lcd_power pin to close lcd power0 */
    +	sunxi_lcd_power_disable(sel, 0);
    +}
    +
    +static void LCD_bl_open(u32 sel)
    +{
    +	printk("=====================LCD_bl_open\n");
    +	sunxi_lcd_pwm_enable(sel);
    +	sunxi_lcd_backlight_enable(sel);
    +}
    +
    +static void LCD_bl_close(u32 sel)
    +{
    +	/* config lcd_bl_en pin to close lcd backlight */
    +	sunxi_lcd_backlight_disable(sel);
    +	sunxi_lcd_pwm_disable(sel);
    +}
    +
    +//three line 9bit mode
    +static void LCD_WRITE_DATA(u32 value)
    +{
    +	u32 i;
    +	st7701s_spi_cs_0;
    +	st7701s_spi_sdi_1;
    +	st7701s_spi_scl_0;
    +	sunxi_lcd_delay_us(10);
    +	st7701s_spi_scl_1;
    +	for (i = 0; i < 8; i++) {
    +		sunxi_lcd_delay_us(10);
    +		if (value & 0x80)
    +			st7701s_spi_sdi_1;
    +		else
    +			st7701s_spi_sdi_0;
    +		value <<= 1;
    +		sunxi_lcd_delay_us(10);
    +		st7701s_spi_scl_0;
    +		st7701s_spi_scl_1;
    +	}
    +	sunxi_lcd_delay_us(10);
    +	st7701s_spi_cs_1;
    +}
    +
    +static void LCD_WRITE_COMMAND(u32 value)
    +{
    +	u32 i;
    +	st7701s_spi_cs_0;
    +	st7701s_spi_sdi_0;
    +	st7701s_spi_scl_0;
    +	sunxi_lcd_delay_us(10);
    +	st7701s_spi_scl_1;
    +	for (i = 0; i < 8; i++) {
    +		sunxi_lcd_delay_us(10);
    +		if (value & 0x80)
    +			st7701s_spi_sdi_1;
    +		else
    +			st7701s_spi_sdi_0;
    +		st7701s_spi_scl_0;
    +		sunxi_lcd_delay_us(10);
    +		st7701s_spi_scl_1;
    +		value <<= 1;
    +	}
    +	sunxi_lcd_delay_us(10);
    +	st7701s_spi_cs_1;
    +}
    +
    +
    +static void LCD_panel_init(u32 sel)
    +{
    +	printk("=====================LCD_panel_init\n");
    +	LCD_WRITE_COMMAND(0xFF);
    +	LCD_WRITE_DATA(0x77);
    +	LCD_WRITE_DATA(0x01);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x10);
    +
    +	LCD_WRITE_COMMAND(0xC0);
    +	LCD_WRITE_DATA(0x3B);
    +	LCD_WRITE_DATA(0x00);
    +
    +	LCD_WRITE_COMMAND(0xC1);
    +	LCD_WRITE_DATA(0x0D);
    +	LCD_WRITE_DATA(0x02);
    +
    +	LCD_WRITE_COMMAND(0xC2);
    +	LCD_WRITE_DATA(0x21);
    +	LCD_WRITE_DATA(0x08);
    +
    +	// RGB Interface Setting
    +	// LCD_WRITE_COMMAND(0xC3);
    +	// LCD_WRITE_DATA(0x02);
    +
    +	LCD_WRITE_COMMAND(0xCD);
    +	LCD_WRITE_DATA(0x18);//0F 08-OK  D0-D18
    +
    +	LCD_WRITE_COMMAND(0xB0);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x11);
    +	LCD_WRITE_DATA(0x18);
    +	LCD_WRITE_DATA(0x0E);
    +	LCD_WRITE_DATA(0x11);
    +	LCD_WRITE_DATA(0x06);
    +	LCD_WRITE_DATA(0x07);
    +	LCD_WRITE_DATA(0x08);
    +	LCD_WRITE_DATA(0x07);
    +	LCD_WRITE_DATA(0x22);
    +	LCD_WRITE_DATA(0x04);
    +	LCD_WRITE_DATA(0x12);
    +	LCD_WRITE_DATA(0x0F);
    +	LCD_WRITE_DATA(0xAA);
    +	LCD_WRITE_DATA(0x31);
    +	LCD_WRITE_DATA(0x18);
    +
    +	LCD_WRITE_COMMAND(0xB1);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x11);
    +	LCD_WRITE_DATA(0x19);
    +	LCD_WRITE_DATA(0x0E);
    +	LCD_WRITE_DATA(0x12);
    +	LCD_WRITE_DATA(0x07);
    +	LCD_WRITE_DATA(0x08);
    +	LCD_WRITE_DATA(0x08);
    +	LCD_WRITE_DATA(0x08);
    +	LCD_WRITE_DATA(0x22);
    +	LCD_WRITE_DATA(0x04);
    +	LCD_WRITE_DATA(0x11);
    +	LCD_WRITE_DATA(0x11);
    +	LCD_WRITE_DATA(0xA9);
    +	LCD_WRITE_DATA(0x32);
    +	LCD_WRITE_DATA(0x18);
    +
    +	LCD_WRITE_COMMAND(0xFF);
    +	LCD_WRITE_DATA(0x77);
    +	LCD_WRITE_DATA(0x01);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x11);
    +
    +	LCD_WRITE_COMMAND(0xB0);
    +	LCD_WRITE_DATA(0x60);
    +
    +	LCD_WRITE_COMMAND(0xB1);
    +	LCD_WRITE_DATA(0x30);
    +
    +	LCD_WRITE_COMMAND(0xB2);
    +	LCD_WRITE_DATA(0x87);
    +
    +	LCD_WRITE_COMMAND(0xB3);
    +	LCD_WRITE_DATA(0x80);
    +
    +	LCD_WRITE_COMMAND(0xB5);
    +	LCD_WRITE_DATA(0x49);
    +
    +	LCD_WRITE_COMMAND(0xB7);
    +	LCD_WRITE_DATA(0x85);
    +
    +	LCD_WRITE_COMMAND(0xB8);
    +	LCD_WRITE_DATA(0x21);
    +
    +	LCD_WRITE_COMMAND(0xC1);
    +	LCD_WRITE_DATA(0x78);
    +
    +	LCD_WRITE_COMMAND(0xC2);
    +	LCD_WRITE_DATA(0x78);
    +	sunxi_lcd_delay_ms(20);
    +
    +	LCD_WRITE_COMMAND(0xE0);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x1B);
    +	LCD_WRITE_DATA(0x02);
    +
    +	LCD_WRITE_COMMAND(0xE1);
    +	LCD_WRITE_DATA(0x08);
    +	LCD_WRITE_DATA(0xA0);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x07);
    +	LCD_WRITE_DATA(0xA0);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x44);
    +	LCD_WRITE_DATA(0x44);
    +
    +	LCD_WRITE_COMMAND(0xE2);
    +	LCD_WRITE_DATA(0x11);
    +	LCD_WRITE_DATA(0x11);
    +	LCD_WRITE_DATA(0x44);
    +	LCD_WRITE_DATA(0x44);
    +	LCD_WRITE_DATA(0xED);
    +	LCD_WRITE_DATA(0xA0);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0xEC);
    +	LCD_WRITE_DATA(0xA0);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x00);
    +
    +	LCD_WRITE_COMMAND(0xE3);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x11);
    +	LCD_WRITE_DATA(0x11);
    +
    +	LCD_WRITE_COMMAND(0xE4);
    +	LCD_WRITE_DATA(0x44);
    +	LCD_WRITE_DATA(0x44);
    +
    +	LCD_WRITE_COMMAND(0xE5);
    +	LCD_WRITE_DATA(0x0A);
    +	LCD_WRITE_DATA(0xE9);
    +	LCD_WRITE_DATA(0xD8);
    +	LCD_WRITE_DATA(0xA0);
    +	LCD_WRITE_DATA(0x0C);
    +	LCD_WRITE_DATA(0xEB);
    +	LCD_WRITE_DATA(0xD8);
    +	LCD_WRITE_DATA(0xA0);
    +	LCD_WRITE_DATA(0x0E);
    +	LCD_WRITE_DATA(0xED);
    +	LCD_WRITE_DATA(0xD8);
    +	LCD_WRITE_DATA(0xA0);
    +	LCD_WRITE_DATA(0x10);
    +	LCD_WRITE_DATA(0xEF);
    +	LCD_WRITE_DATA(0xD8);
    +	LCD_WRITE_DATA(0xA0);
    +
    +	LCD_WRITE_COMMAND(0xE6);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x11);
    +	LCD_WRITE_DATA(0x11);
    +
    +	LCD_WRITE_COMMAND(0xE7);
    +	LCD_WRITE_DATA(0x44);
    +	LCD_WRITE_DATA(0x44);
    +
    +	LCD_WRITE_COMMAND(0xE8);
    +	LCD_WRITE_DATA(0x09);
    +	LCD_WRITE_DATA(0xE8);
    +	LCD_WRITE_DATA(0xD8);
    +	LCD_WRITE_DATA(0xA0);
    +	LCD_WRITE_DATA(0x0B);
    +	LCD_WRITE_DATA(0xEA);
    +	LCD_WRITE_DATA(0xD8);
    +	LCD_WRITE_DATA(0xA0);
    +	LCD_WRITE_DATA(0x0D);
    +	LCD_WRITE_DATA(0xEC);
    +	LCD_WRITE_DATA(0xD8);
    +	LCD_WRITE_DATA(0xA0);
    +	LCD_WRITE_DATA(0x0F);
    +	LCD_WRITE_DATA(0xEE);
    +	LCD_WRITE_DATA(0xD8);
    +	LCD_WRITE_DATA(0xA0);
    +
    +	LCD_WRITE_COMMAND(0xEB);
    +	LCD_WRITE_DATA(0x02);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0xE4);
    +	LCD_WRITE_DATA(0xE4);
    +	LCD_WRITE_DATA(0x88);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x40);
    +
    +	LCD_WRITE_COMMAND(0xEC);
    +	LCD_WRITE_DATA(0x3C);
    +	LCD_WRITE_DATA(0x00);
    +
    +	LCD_WRITE_COMMAND(0xED);
    +	LCD_WRITE_DATA(0xAB);
    +	LCD_WRITE_DATA(0x89);
    +	LCD_WRITE_DATA(0x76);
    +	LCD_WRITE_DATA(0x54);
    +	LCD_WRITE_DATA(0x02);
    +	LCD_WRITE_DATA(0xFF);
    +	LCD_WRITE_DATA(0xFF);
    +	LCD_WRITE_DATA(0xFF);
    +	LCD_WRITE_DATA(0xFF);
    +	LCD_WRITE_DATA(0xFF);
    +	LCD_WRITE_DATA(0xFF);
    +	LCD_WRITE_DATA(0x20);
    +	LCD_WRITE_DATA(0x45);
    +	LCD_WRITE_DATA(0x67);
    +	LCD_WRITE_DATA(0x98);
    +	LCD_WRITE_DATA(0xBA);
    +
    +	LCD_WRITE_COMMAND(0xFF);
    +	LCD_WRITE_DATA(0x77);
    +	LCD_WRITE_DATA(0x01);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x00);
    +	LCD_WRITE_DATA(0x00);
    +
    +	LCD_WRITE_COMMAND(0x3A);
    +	LCD_WRITE_DATA(0x66);
    +
    +	LCD_WRITE_COMMAND(0x36);
    +	LCD_WRITE_DATA(0x00);
    +
    +	LCD_WRITE_COMMAND(0x21);
    +
    +	LCD_WRITE_COMMAND(0x11);
    +	sunxi_lcd_delay_ms(120);
    +
    +	LCD_WRITE_COMMAND(0x29);
    +	sunxi_lcd_delay_ms(20);
    +	return;
    +}
    +
    +static void LCD_panel_exit(u32 sel)
    +{
    +	return;
    +}
    +
    +/* sel: 0:lcd0; 1:lcd1 */
    +static s32 LCD_user_defined_func(u32 sel, u32 para1, u32 para2, u32 para3)
    +{
    +	return 0;
    +}
    +
    +struct __lcd_panel st7701s_rgb_panel = {
    +	/* panel driver name, must mach the lcd_drv_name in sys_config.fex */
    +	.name = "st7701s_rgb",
    +	.func = {
    +		.cfg_panel_info = LCD_cfg_panel_info,
    +		.cfg_open_flow = LCD_open_flow,
    +		.cfg_close_flow = LCD_close_flow,
    +		.lcd_user_defined_func = LCD_user_defined_func,
    +	},
    +};
    \ No newline at end of file
    Index: tina-d1-h/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/st7701s_rgb.h
    ===================================================================
    --- /dev/null
    +++ tina-d1-h/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/st7701s_rgb.h
    @@ -0,0 +1,18 @@
    +/*
    + * Allwinner SoCs display driver.
    + *
    + * Copyright (C) 2021 Sipeed.
    + *
    + * This file is licensed under the terms of the GNU General Public
    + * License version 2.  This program is licensed "as is" without any
    + * warranty of any kind, whether express or implied.
    + */
    +
    +#ifndef __ST7701S_RGB_PANEL_H__
    +#define __ST7701S_RGB_PANEL_H__
    +
    +#include "panels.h"
    +
    +extern struct __lcd_panel st7701s_rgb_panel;
    +
    +#endif
    \ No newline at end of file
    Index: tina-d1-h/device/config/chips/d1-h/configs/nezha/linux-5.4/config-5.4
    ===================================================================
    --- tina-d1-h.orig/device/config/chips/d1-h/configs/nezha/linux-5.4/config-5.4
    +++ tina-d1-h/device/config/chips/d1-h/configs/nezha/linux-5.4/config-5.4
    @@ -2517,6 +2517,7 @@ CONFIG_LCD_SUPPORT_HE0801A068=y
     # CONFIG_LCD_SUPPORT_ST7789V is not set
     # CONFIG_LCD_SUPPORT_ST7796S is not set
     # CONFIG_LCD_SUPPORT_ST7701S is not set
    +CONFIG_LCD_SUPPORT_ST7701S_RGB=y
     # CONFIG_LCD_SUPPORT_T30P106 is not set
     # CONFIG_LCD_SUPPORT_TO20T20000 is not set
     # CONFIG_LCD_SUPPORT_FRD450H40014 is not set
    Index: tina-d1-h/device/config/chips/d1-h/configs/nezha/uboot-board.dts
    ===================================================================
    --- tina-d1-h.orig/device/config/chips/d1-h/configs/nezha/uboot-board.dts
    +++ tina-d1-h/device/config/chips/d1-h/configs/nezha/uboot-board.dts
    @@ -42,7 +42,7 @@
     &pwm2_pin_b {
     	pins = "PD18";
     	muxsel = <0>;
    -	function = "gpio_out";
    +	function = "gpio_in";
     };
     
     &pwm2 {
    @@ -260,57 +260,50 @@
     /*	dcdc1-supply = <®_dcdc1>;*/
     };
     
    +/*
     &lcd0 {
    -	lcd_used            = <1>;
    +	lcd_used        = <1>;
    +	lcd_driver_name = "st7701s_rgb";
     
    -	lcd_driver_name     = "tft08006";
    -	lcd_backlight       = <100>;
    -	lcd_if              = <4>;
    -
    -	lcd_x               = <800>;
    -	lcd_y               = <1280>;
    -	lcd_width           = <52>;
    -	lcd_height          = <52>;
    -	lcd_dclk_freq       = <70>;
    -
    -	lcd_pwm_used        = <1>;
    -	lcd_pwm_ch          = <2>;
    -	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              = <1311>;
    -	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_if          = <0>;
    +	lcd_hv_if       = <0>;
    +
    +	lcd_width       = <70>;
    +	lcd_height      = <72>;
    +	lcd_x           = <480>;
    +	lcd_y           = <480>;
    +	lcd_dclk_freq   = <19>;
    +	lcd_hbp         = <60>;
    +	lcd_ht          = <612>;
    +	lcd_hspw        = <12>;
    +	lcd_vbp         = <18>;
    +	lcd_vt          = <520>;
    +	lcd_vspw        = <4>;
    +
    +	lcd_backlight   = <50>;
    +	lcd_pwm_used    = <1>;
    +	lcd_pwm_ch      = <7>;
    +	lcd_pwm_freq    = <20000>;
    +	lcd_pwm_pol     = <1>;
     	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_gpio_0 =  <&pio PG 13 GPIO_ACTIVE_HIGH>;
    -	pinctrl-0 = <&dsi4lane_pins_a>;
    -	pinctrl-1 = <&dsi4lane_pins_b>;
    +
    +	lcd_frm         = <1>;
    +	lcd_io_phase    = <0x0000>;
    +	lcd_gamma_en    = <0>;
    +	lcd_cmap_en     = <0>;
    +	lcd_hv_clk_phase= <0>;
    +	lcd_hv_sync_polarity= <0>;
    +
    +	lcd_power       = "vcc-lcd";
    +	lcd_pin_power   = "vcc-pd";
    +	lcd_gpio_0      = <&pio PG 13 GPIO_ACTIVE_HIGH>;
    +	lcd_gpio_1      = <&pio PE 14 GPIO_ACTIVE_HIGH>;
    +	lcd_gpio_2      = <&pio PE 12 GPIO_ACTIVE_HIGH>;
    +	lcd_gpio_3      = <&pio PE 15 GPIO_ACTIVE_HIGH>;
    +	pinctrl-0       = <&rgb18_pins_a>;
    +	pinctrl-1       = <&rgb18_pins_b>;
     };
    +*/
     
     &hdmi {
     	hdmi_used = <1>;
    
    
    • 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
    • 256
    • 257
    • 258
    • 259
    • 260
    • 261
    • 262
    • 263
    • 264
    • 265
    • 266
    • 267
    • 268
    • 269
    • 270
    • 271
    • 272
    • 273
    • 274
    • 275
    • 276
    • 277
    • 278
    • 279
    • 280
    • 281
    • 282
    • 283
    • 284
    • 285
    • 286
    • 287
    • 288
    • 289
    • 290
    • 291
    • 292
    • 293
    • 294
    • 295
    • 296
    • 297
    • 298
    • 299
    • 300
    • 301
    • 302
    • 303
    • 304
    • 305
    • 306
    • 307
    • 308
    • 309
    • 310
    • 311
    • 312
    • 313
    • 314
    • 315
    • 316
    • 317
    • 318
    • 319
    • 320
    • 321
    • 322
    • 323
    • 324
    • 325
    • 326
    • 327
    • 328
    • 329
    • 330
    • 331
    • 332
    • 333
    • 334
    • 335
    • 336
    • 337
    • 338
    • 339
    • 340
    • 341
    • 342
    • 343
    • 344
    • 345
    • 346
    • 347
    • 348
    • 349
    • 350
    • 351
    • 352
    • 353
    • 354
    • 355
    • 356
    • 357
    • 358
    • 359
    • 360
    • 361
    • 362
    • 363
    • 364
    • 365
    • 366
    • 367
    • 368
    • 369
    • 370
    • 371
    • 372
    • 373
    • 374
    • 375
    • 376
    • 377
    • 378
    • 379
    • 380
    • 381
    • 382
    • 383
    • 384
    • 385
    • 386
    • 387
    • 388
    • 389
    • 390
    • 391
    • 392
    • 393
    • 394
    • 395
    • 396
    • 397
    • 398
    • 399
    • 400
    • 401
    • 402
    • 403
    • 404
    • 405
    • 406
    • 407
    • 408
    • 409
    • 410
    • 411
    • 412
    • 413
    • 414
    • 415
    • 416
    • 417
    • 418
    • 419
    • 420
    • 421
    • 422
    • 423
    • 424
    • 425
    • 426
    • 427
    • 428
    • 429
    • 430
    • 431
    • 432
    • 433
    • 434
    • 435
    • 436
    • 437
    • 438
    • 439
    • 440
    • 441
    • 442
    • 443
    • 444
    • 445
    • 446
    • 447
    • 448
    • 449
    • 450
    • 451
    • 452
    • 453
    • 454
    • 455
    • 456
    • 457
    • 458
    • 459
    • 460
    • 461
    • 462
    • 463
    • 464
    • 465
    • 466
    • 467
    • 468
    • 469
    • 470
    • 471
    • 472
    • 473
    • 474
    • 475
    • 476
    • 477
    • 478
    • 479
    • 480
    • 481
    • 482
    • 483
    • 484
    • 485
    • 486
    • 487
    • 488
    • 489
    • 490
    • 491
    • 492
    • 493
    • 494
    • 495
    • 496
    • 497
    • 498
    • 499
    • 500
    • 501
    • 502
    • 503
    • 504
    • 505
    • 506
    • 507
    • 508
    • 509
    • 510
    • 511
    • 512
    • 513
    • 514
    • 515
    • 516
    • 517
    • 518
    • 519
    • 520
    • 521
    • 522
    • 523
    • 524
    • 525
    • 526
    • 527
    • 528
    • 529
    • 530
    • 531
    • 532
    • 533
    • 534
    • 535
    • 536
    • 537
    • 538
    • 539
    • 540
    • 541
    • 542
    • 543
    • 544
    • 545
    • 546
    • 547
    • 548
    • 549
    • 550
    • 551
    • 552
    • 553
    • 554
    • 555
    • 556
    • 557
    • 558
    • 559
    • 560
    • 561
    • 562
    • 563
    • 564
    • 565
    • 566
    • 567
    • 568
    • 569
    • 570
    • 571
    • 572
    • 573
    • 574
    • 575
    • 576
    • 577
    • 578
    • 579
    • 580
    • 581
    • 582
    • 583
    • 584
    • 585
    • 586
    • 587
    • 588
    • 589
    • 590
    • 591
    • 592
    • 593
    • 594
    • 595
    • 596
    • 597
    • 598
    • 599
    • 600
    • 601
    • 602
    • 603
    • 604
    • 605
    • 606
    • 607
    • 608
    • 609
    • 610
    • 611
    • 612
    • 613
    • 614
    • 615
    • 616
    • 617
    • 618
    • 619
    • 620
    • 621
    • 622
    • 623
    • 624
    • 625
    • 626
    • 627
    • 628
    • 629
    • 630
    • 631
    • 632
    • 633
    • 634
    • 635
    • 636
    • 637
    • 638
    • 639
    • 640
    • 641
    • 642
    • 643
    • 644
    • 645
    • 646
    • 647
    • 648
    • 649
    • 650
    • 651
    • 652
    • 653
    • 654
    • 655
    • 656
    • 657
    • 658
    • 659
    • 660
    • 661
    • 662
    • 663
    • 664
    • 665
    • 666
    • 667
    • 668
    • 669
    • 670
    • 671
    • 672
    • 673
    • 674
    • 675
    • 676
    • 677
    • 678
    • 679
    • 680
    • 681
    • 682
    • 683
    • 684
    • 685
    • 686
    • 687
    • 688
    • 689
    • 690
    • 691
    • 692
    • 693
    • 694
    • 695
    • 696
    • 697
    • 698
    • 699
    • 700
    • 701
    • 702
    • 703
    • 704
    • 705
    • 706
    • 707
    • 708
    • 709
    • 710
    • 711
    • 712
    • 713
    • 714
    • 715
    • 716
    • 717
    • 718
    • 719
    • 720
    • 721
    • 722
    • 723
    • 724
    • 725
    • 726
    • 727
    • 728
    • 729
    • 730
    • 731
    • 732
    • 733
    • 734
    • 735
    • 736
    • 737
    • 738
    • 739
    • 740
    • 741
    • 742
    • 743
    • 744
    • 745
    • 746
    • 747
    • 748
    • 749
    • 750
    • 751
    • 752
    • 753
    • 754
    • 755
    • 756
    • 757
    • 758
    • 759
    • 760
    • 761
    • 762
    • 763
    • 764
    • 765
    • 766
    • 767
    • 768
    • 769
    • 770
    • 771
    • 772
    • 773
    • 774
    • 775
    • 776
    • 777
    • 778
    • 779
    • 780
    • 781
    • 782
    • 783
    • 784
    • 785
    • 786
    • 787
    • 788
    • 789
    • 790
    • 791
    • 792
    • 793
    • 794
    • 795
    • 796
    • 797
    • 798
    • 799
    • 800
    • 801
    • 802
    • 803
    • 804
    • 805
    • 806
    • 807
    • 808
    • 809
    • 810
    • 811
    • 812
    • 813
    • 814
    • 815
    • 816
    • 817
    • 818
    • 819
    • 820
    • 821
    • 822
    • 823
    • 824
    • 825
    • 826
    • 827
    • 828
    • 829
    • 830
    • 831
    • 832
    • 833
    • 834
    • 835
    • 836
    • 837
    • 838
    • 839
    • 840
    • 841
    • 842
    • 843
    • 844
    • 845
    • 846
    • 847
    • 848
    • 849
    • 850
    • 851
    • 852
    • 853
    • 854
    • 855
    • 856
    • 857
    • 858
    • 859
    • 860
    • 861
    • 862
    • 863
    • 864
    • 865
    • 866
    • 867
    • 868
    • 869
    • 870
    • 871
    • 872
    • 873
    • 874
    • 875
    • 876
    • 877
    • 878
    • 879
    • 880
    • 881
    • 882
    • 883
    • 884
    • 885
    • 886
    • 887
    • 888
    • 889
    • 890
    • 891
    • 892
    • 893
    • 894
    • 895
    • 896
    • 897
    • 898
    • 899
    • 900
    • 901
    • 902
    • 903
    • 904
    • 905
    • 906
    • 907
    • 908
    • 909
    • 910
    • 911
    • 912
    • 913
    • 914
    • 915
    • 916
    • 917
    • 918
    • 919
    • 920
    • 921
    • 922
    • 923
    • 924
    • 925
    • 926
    • 927
    • 928
    • 929
    • 930
    • 931
    • 932
    • 933
    • 934
    • 935
    • 936
    • 937
    • 938
    • 939
    • 940
    • 941
    • 942
    • 943
    • 944
    • 945
    • 946
    • 947
    • 948
    • 949
    • 950
    • 951
    • 952
    • 953
    • 954
    • 955
    • 956
    • 957
    • 958
    • 959
    • 960
    • 961
    • 962
    • 963
    • 964
    • 965
    • 966
    • 967
    • 968
    • 969
    • 970
    • 971
    • 972
    • 973
    • 974
    • 975
    • 976
    • 977
    • 978
    • 979
    • 980
    • 981
    • 982
    • 983
    • 984
    • 985
    • 986
    • 987
    • 988
    • 989
    • 990
    • 991
    • 992
    • 993
    • 994
    • 995
    • 996
    • 997
    • 998
    • 999
    • 1000
    • 1001
    • 1002
    • 1003
    • 1004
    • 1005
    • 1006
    • 1007
    • 1008
    • 1009
    • 1010
    • 1011
    • 1012
    • 1013
    • 1014
    • 1015
    • 1016
    • 1017
    • 1018
    • 1019
    • 1020
    • 1021
    • 1022
    • 1023
    • 1024
    • 1025
    • 1026
    • 1027
    • 1028
    • 1029
    • 1030
    • 1031
    • 1032
    • 1033
    • 1034
    • 1035
    • 1036
    • 1037
    • 1038
    • 1039
    • 1040
    • 1041
    • 1042
    • 1043
    • 1044
    • 1045
    • 1046
    • 1047
    • 1048
    • 1049
    • 1050
    • 1051
    • 1052
    • 1053
    • 1054
    • 1055
    • 1056
    • 1057
    • 1058
    • 1059
    • 1060
    • 1061
    • 1062
    • 1063
    • 1064
    • 1065
    • 1066
    • 1067
    • 1068
    • 1069
    • 1070
    • 1071
    • 1072
    • 1073
    • 1074
    • 1075
    • 1076
    • 1077
    • 1078
    • 1079
    • 1080
    • 1081
    • 1082
    • 1083
    • 1084
    • 1085
    • 1086
    • 1087
    • 1088
    • 1089
    • 1090
    • 1091
    • 1092
    • 1093
    • 1094
    • 1095
    • 1096
    • 1097
    • 1098
    • 1099
    • 1100
    • 1101
    • 1102
    • 1103
    • 1104
    • 1105
    • 1106
    • 1107
    • 1108
    • 1109
    • 1110
    • 1111
    • 1112
    • 1113
    • 1114
    • 1115
    • 1116
    • 1117
    • 1118
    • 1119
    • 1120
    • 1121
    • 1122
    • 1123
    • 1124
    • 1125
    • 1126
    • 1127
    • 1128
    • 1129
    • 1130
    • 1131
    • 1132
    • 1133
    • 1134
    • 1135
    • 1136
    • 1137
    • 1138
    • 1139
    • 1140
    • 1141
    • 1142
    • 1143
    • 1144
    • 1145
    • 1146
    • 1147
    • 1148
    • 1149
    • 1150
    • 1151
    • 1152
    • 1153
    • 1154
    • 1155
    • 1156
    • 1157
    • 1158
    • 1159
    • 1160
    • 1161
    • 1162
    • 1163
    • 1164
    • 1165
    • 1166
    • 1167
    • 1168
    • 1169
    • 1170
    • 1171
    • 1172
    • 1173
    • 1174
    • 1175
    • 1176
    • 1177
    • 1178
    • 1179
    • 1180
    • 1181
    • 1182
    • 1183
    • 1184
    • 1185
    • 1186
    • 1187
    • 1188
    • 1189
    • 1190
    • 1191
    • 1192
    • 1193
    • 1194
    • 1195
    • 1196
    • 1197
    • 1198
    • 1199
    • 1200
    • 1201
    • 1202
    • 1203
    • 1204
    • 1205
    • 1206
    • 1207
    • 1208
    • 1209
    • 1210
    • 1211
    • 1212
    • 1213
    • 1214
    • 1215
    • 1216
    • 1217
    • 1218
    • 1219
    • 1220
    • 1221
    • 1222
    • 1223
    • 1224
    • 1225
    • 1226
    • 1227
    • 1228
    • 1229
    • 1230
    • 1231
    • 1232
    • 1233
    • 1234
    • 1235
    • 1236
    • 1237
    • 1238
    • 1239
    • 1240
    • 1241
    • 1242
    • 1243
    • 1244
    • 1245
    • 1246
    • 1247
    • 1248
    • 1249
    • 1250
    • 1251
    • 1252
    • 1253
    • 1254
    • 1255
    • 1256
    • 1257
    • 1258
    • 1259
    • 1260
    • 1261
    • 1262
    • 1263
    • 1264
    • 1265
    • 1266
    • 1267
    • 1268
    • 1269
    • 1270
    • 1271
    • 1272
    • 1273
    • 1274
    • 1275
    • 1276
    • 1277
    • 1278
    • 1279
    • 1280
    • 1281
    • 1282
    • 1283
    • 1284
    • 1285
    • 1286
    • 1287
    • 1288
    • 1289
    • 1290
    • 1291
    • 1292
    • 1293
    • 1294
    • 1295
    • 1296
    • 1297
    • 1298
    • 1299
    • 1300
    • 1301
    • 1302
    • 1303
    • 1304
    • 1305
    • 1306
    • 1307
    • 1308
    • 1309
    • 1310
    • 1311
    • 1312
    • 1313
    • 1314
    • 1315
    • 1316
    • 1317
    • 1318
    • 1319
    • 1320
    • 1321
    • 1322
    • 1323
    • 1324
    • 1325
    • 1326
    • 1327
    • 1328
    • 1329
    • 1330
    • 1331
    • 1332
    • 1333
    • 1334
    • 1335
    • 1336
    • 1337
    • 1338
    • 1339
    • 1340
    • 1341
    • 1342
    • 1343
    • 1344
    • 1345
    • 1346
    • 1347
    • 1348
    • 1349
    • 1350
    • 1351
    • 1352
    • 1353
    • 1354
    • 1355
    • 1356
    • 1357
    • 1358
    • 1359
    • 1360
    • 1361
    • 1362
    • 1363
    • 1364
    • 1365
    • 1366
    • 1367
    • 1368
    • 1369
    • 1370
    • 1371
    • 1372
    • 1373
    • 1374
    • 1375
    • 1376
    • 1377
    • 1378
    • 1379
    • 1380
    • 1381
    • 1382
    • 1383
    • 1384
    • 1385
    • 1386
    • 1387
    • 1388
    • 1389
    • 1390
    • 1391
    • 1392
    • 1393
    • 1394
    • 1395
    • 1396
    • 1397
    • 1398
    • 1399
    • 1400
    • 1401
    • 1402
    • 1403
    • 1404
    • 1405
    • 1406
    • 1407
    • 1408
    • 1409
    • 1410
    • 1411
    • 1412
    • 1413
    • 1414
    • 1415
    • 1416
    • 1417
    • 1418
    • 1419
    • 1420
    • 1421
    • 1422
    • 1423
    • 1424
    • 1425
    • 1426
    • 1427
    • 1428
    • 1429
    • 1430
    • 1431
    • 1432
    • 1433
    • 1434
    • 1435
    • 1436
    • 1437
    • 1438
    • 1439
    • 1440
    • 1441
    • 1442
    • 1443
    • 1444
    • 1445
    • 1446
    • 1447
    • 1448
    • 1449
    • 1450
    • 1451
    • 1452
    • 1453
    • 1454
    • 1455
    • 1456
    • 1457
    • 1458
    • 1459
    • 1460
    • 1461
    • 1462
    • 1463
    • 1464
    • 1465
    • 1466
    • 1467
    • 1468
    • 1469
    • 1470
    • 1471
    • 1472
    • 1473
    • 1474
    • 1475
    • 1476
    • 1477

    请使用quilt应用该patch

    原文链接:https://bbs.aw-ol.com/topic/1772/

  • 相关阅读:
    BIM、建筑机器人、隧道工程施工关键技术
    淘宝API接口:提高电商运营效率与用户体验的利器(淘宝API接口使用指南)
    2022 GCPC--C. Chaotic Construction
    探索AI技术对古彝文保护与研究应用
    linux安装mysql 8.0.20
    浅谈数据中心新型末端母线配电系统-Susie 周
    Leetcode 73 矩阵置0
    三层架构与web结合图解
    搭建qemu RISC-V运行Linux环境
    js基本类型和引用类型
  • 原文地址:https://blog.csdn.net/weixin_43094346/article/details/126884414