RK3288W Android8.1 Development Log (1)

2023-01-21   ES  

1. The board is referred to the official public version design. The SDK version is RK3288_Android8.1_SDK_20180512;

2, decompress the SDK, execute Source Build.sh directly, then execute ./mkimage.sh, burn into the board, and find that the system starts normally.

3, the device is only HDMI and LVDS, click LVDS screen, modify the screen ginseng, modify the file RK3288-EVB-Android-RK808-EDP.DTS;

/dts-v1/;
#include "rk3288-evb.dtsi"
#include "rk3288-android.dtsi"

/ {
	compatible = "rockchip,rk3288-evb-android-rk808-edp", "rockchip,rk3288";

	sdio_pwrseq: sdio-pwrseq {
		compatible = "mmc-pwrseq-simple";
		clocks = <&rk808 1>;
		clock-names = "ext_clock";
		pinctrl-names = "default";
		pinctrl-0 = <&wifi_enable_h>;

		/*
		 * On the module itself this is one of these (depending
		 * on the actual card populated):
		 * - SDIO_RESET_L_WL_REG_ON
		 * - PDN (power down when low)
		 */
		reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
	};

	wireless-bluetooth {
		clocks = <&rk808 1>;
		clock-names = "ext_clock";
	};

	/delete-node/ sdmmc-regulator;

	vcc_lcd: vcc-lcd {
		compatible = "regulator-fixed";
		regulator-boot-on;
		enable-active-high;
		gpio = <&gpio7 3 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&lcd_en>;
		regulator-name = "vcc_lcd";
		vin-supply = <&vcc_io>;
	};
};

&cpu0 {
	cpu-supply = <&vdd_cpu>;
};

&cif_isp0 {
	status = "okay";
};
&dfi {
	status = "okay";
};

&lvds_in_vopl {
	status = "okay";
};

&lvds_in_vopb {
	status = "disabled";
};


&route_lvds {
	status = "okay";
};

&lvds {
	status = "okay";
};

&lvds_panel {
    status = "okay";
    compatible ="simple-panel";
    backlight = <&backlight>;
    bus-format = <MEDIA_BUS_FMT_RGB888_1X24>;
    power-supply = <&vcc_lcd>;
    delay,disable = <10>;
    enable-gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>;
    //rockchip,data-mapping = "jeida";
    rockchip,data-mapping = "vesa";
    rockchip,data-width = <24>;
    rockchip,output = "duallvds";

    display-timings {
        native-mode = <&timing0>;
        timing0: timing0 {
                clock-frequency = <148000000>;
                hactive = <1920>;             /* Horizontal display area thd 1024       DCLK            */
                vactive = <1080>;             /* Vertical display area tvd   600        H               */
                hback-porch = <48>;           /* HS Width +Back Porch   160  160   160  DCLK (Thw+ thbp)*/
                hfront-porch = <60>;          /* HS front porch thfp    16   160   216  DCLK            */
                vback-porch = <8>;            /* VS front porch tvfp    1    12    127  H               */
                vfront-porch = <33>;       /* VS Width+Back Porch    23   23    23   H (Tvw+ tvbp)   */
                hsync-len = <32>;             /* HS Pulse Width thw     1     -    140  DCLK            */
                vsync-len = <4>;              /* VS Pulse Width tvw     1     -     20  H               */
                hsync-active = <0>;
                vsync-active = <0>;
                de-active = <0>;
                pixelclk-active = <0>;
        };
    };

};

&gpu {
	status = "okay";
	mali-supply = <&vdd_gpu>;
};

&gmac {
	max-speed = <1000>;
};

&hdmi_analog_sound {
	status = "disabled";
};

&i2c0 {
	clock-frequency = <400000>;

	rk808: [email protected] {
		compatible = "rockchip,rk808";
		reg = <0x1b>;
		interrupt-parent = <&gpio0>;
		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&pmic_int &global_pwroff>;
		rockchip,system-power-controller;
		wakeup-source;
		#clock-cells = <1>;
		clock-output-names = "xin32k", "rk808-clkout2";

		vcc1-supply = <&vcc_sys>;
		vcc2-supply = <&vcc_sys>;
		vcc3-supply = <&vcc_sys>;
		vcc4-supply = <&vcc_sys>;
		vcc6-supply = <&vcc_sys>;
		vcc8-supply = <&vcc_io>;
		vcc9-supply = <&vcc_io>;
		vcc12-supply = <&vcc_io>;
		vddio-supply = <&vccio_pmu>;

		regulators {
			vdd_cpu: DCDC_REG1 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <750000>;
				regulator-max-microvolt = <1400000>;
				regulator-name = "vdd_arm";
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vdd_gpu: DCDC_REG2 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <850000>;
				regulator-max-microvolt = <1250000>;
				regulator-name = "vdd_gpu";
				regulator-ramp-delay = <6000>;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vcc_ddr: DCDC_REG3 {
				regulator-always-on;
				regulator-boot-on;
				regulator-name = "vcc_ddr";
				regulator-state-mem {
					regulator-on-in-suspend;
				};
			};

			vcc_io: DCDC_REG4 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-name = "vcc_io";
				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <3300000>;
				};
			};

			vcc_tp: LDO_REG1 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-name = "vcc_tp";
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vcca_codec: LDO_REG2 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-name = "vcca_codec";
				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <3300000>;
				};
			};

			vdd_10: LDO_REG3 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;
				regulator-name = "vdd_10";
				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <1000000>;
				};
			};

			vcc_wl: LDO_REG4 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-name = "vcc_wl";
				regulator-state-mem {
					regulator-on-in-suspend;
				};
			};

			vccio_sd: LDO_REG5 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-name = "vccio_sd";
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vdd10_lcd: LDO_REG6 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;
				regulator-name = "vdd10_lcd";
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vcc_18: LDO_REG7 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-name = "vcc_18";
				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <1800000>;
				};
			};

			vcc18_lcd: LDO_REG8 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-name = "vcc18_lcd";
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vcc_sd: SWITCH_REG1 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-name = "vcc_sd";
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vccio_pmu: SWITCH_REG2 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-name = "vccio_pmu";
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};
		};
	};

	[email protected] {
		compatible = "cw201x";
		reg = <0x62>;
		bat_low_gpio = <&gpio0 7 GPIO_ACTIVE_LOW>;
		dc_det_gpio = <&gpio0 8 GPIO_ACTIVE_LOW>;
		chg_ok_gpio = <&gpio0 9 GPIO_ACTIVE_HIGH>;
		bat_config_info = <0x15 0x42 0x60 0x59 0x52 0x58 0x4D 0x48 0x48 0x44 0x44 0x46 0x49 0x48 0x32
			0x24 0x20 0x17 0x13 0x0F 0x19 0x3E 0x51 0x45 0x08 0x76 0x0B 0x85 0x0E 0x1C 0x2E 0x3E 0x4D 0x52 0x52
			0x57 0x3D 0x1B 0x6A 0x2D 0x25 0x43 0x52 0x87 0x8F 0x91 0x94 0x52 0x82 0x8C 0x92 0x96 0xFF 0x7B 0xBB
			0xCB 0x2F 0x7D 0x72 0xA5 0xB5 0xC1 0x46 0xAE>;
		is_dc_charge = <1>;
		is_usb_charge = <0>;
		monitor_sec = <5>;
		virtual_power = <0>;
		divider_res1 = <200>;
		divider_res2 = <200>;
	};
};

&i2c1 {
	status = "okay";
	clock-frequency = <400000>;

	[email protected] {
		compatible = "invensense,mpu6050";
		status = "okay";
		pinctrl-names = "default";
		pinctrl-0 = <&mpu6050_irq_gpio>;
		reg = <0x68>;
		irq-gpio = <&gpio8 0 IRQ_TYPE_EDGE_RISING>;
		mpu-int_config = <0x10>;
		mpu-level_shifter = <0>;
		mpu-orientation = <0 1 0 1 0 0 0 0 1>;
		orientation-x= <0>;
		orientation-y= <0>;
		orientation-z= <1>;
		support-hw-poweroff = <0>;
		mpu-debug = <1>;
	};

	ak8963:[email protected]{
		compatible = "mpu_ak8963";
		reg = <0x0d>;
		compass-bus = <0>;
		compass-adapt_num = <0>;
		compass-orientation = <1 0 0 0 1 0 0 0 1>;
		orientation-x= <0>;
		orientation-y= <0>;
		orientation-z= <1>;
		compass-debug = <1>;
		status = "okay";
	};
};

&io_domains {
	status = "okay";
	audio-supply = <&vcc_io>;
	bb-supply = <&vcc_io>;
	dvp-supply = <&vcc_io>;
	flash0-supply = <&vcc_18>;
	flash1-supply = <&vcc_io>;
	gpio30-supply = <&vcc_io>;
	gpio1830 = <&vcc_io>;
	lcdc-supply = <&vcc_lcd>;
	sdcard-supply = <&vccio_sd>;
	wifi-supply = <&vcc_wl>;
};


&rockchip_suspend {
	status = "okay";
	rockchip,pwm-regulator-config = <
	(0
	| PWM1_REGULATOR_EN
	)
	>;
};

&pwm1 {
	status = "okay";
	pinctrl-names = "active";
	pinctrl-0 = <&pwm1_pin_pull_down>;
};

&pinctrl {
	lcd {
		lcd_en: lcd-en  {
			rockchip,pins = <7 3 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
	mpu6050 {
		mpu6050_irq_gpio: mpu6050-irq-gpio {
			rockchip,pins = <8 0 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
};

4. Burning records and lighting up perfectly;

5. The system displays Chinese by default;

Alps \ Device \ RockChip \ RK3288 \ Device.mk Add the following code:

PRODUCT_PROPERTY_OVERRIDES += \
            persist.sys.timezone=Asia/Shanghai\
            persist.sys.language=zh\
            persist.sys.country=CN\

6. Modify the screen density

ro.sf.lcd_density=160

7. Close energy -saving mode

alps\frameworks\packages\SettingsProvider\res\values\defaults.xml

<bool name=”def_dim_screen”>false</bool>

8. Set the screen and never sleep;

alps\frameworks\packages\SettingsProvider\res\values\defaults.xml

    <integer name=”def_screen_off_timeout”>-1</integer>
    <integer name=”def_sleep_timeout”>-1</integer>

found that the change was invalid. Essence Essence Essence Essence Essence Essence

After get off work, continue next week, check the source code.

source

Random Posts

[Turn] Performance analysis of USB video collection based on MINI2440

Remember to make a production failure.

HDU 2897 Unexical (Bash Play)

javaweb’s DBUTILS (1) Queryrunner class to increase, delete, check the data table (8 result set processing methods), change operation

1 1