To make the processor boot faster, I changed the emmc read mode from the default mode(HS 52M) to HS200(200M).I achieved this by modifying the device tree of uboot:Add the following properties.
mmc-hs200-1_8v;
In uboot, emmc read speed increased from 30M/S to 60M/S.
However, this affects the kernel boot speed, and the kernel initializing emmc is one second slower, making the overall boot speed slower.
May I ask what causes this problem? I really hope to get your help and reply.
May I ask what causes this problem? Can you give some suggestions to solve this problem? I really hope to get your help and reply
uboot emmc dts:
&usdhc2 { pinctrl-names = "default", "state_100mhz", "state_200mhz"; pinctrl-0 = <&pinctrl_usdhc2>; pinctrl-1 = <&pinctrl_usdhc2_100mhz>; pinctrl-2 = <&pinctrl_usdhc2_200mhz>; vmmc-supply = <®_usdhc2_vmmc>; bus-width = <4>;
broken-cd; status = "okay"; }; &usdhc3 { pinctrl-names = "default", "state_100mhz", "state_200mhz"; pinctrl-0 = <&pinctrl_usdhc3>,<$pinctrl_usdhc3_gpio>; pinctrl-1 = <&pinctrl_usdhc3_100mhz>,<$pinctrl_usdhc3_gpio>; pinctrl-2 = <&pinctrl_usdhc3_200mhz>,<$pinctrl_usdhc3_gpio>; bus-width = <8>; non-removable;
mmc-hs2-1_2v;//This is the property I added status = "okay"; };
kernel emmc dts
&usdhc2 { pinctrl-names = "default", "state_100mhz", "state_200mhz"; pinctrl-0 = <&pinctrl_usdhc2>; pinctrl-1 = <&pinctrl_usdhc2_100mhz>; pinctrl-2 = <&pinctrl_usdhc2_200mhz>; //cd-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
//broken-cd; vmmc-supply = <®_usdhc2_vmmc>;
no-1-8v;
disable-wp; bus-width = <4>; status = "okay"; }; &usdhc3 { pinctrl-names = "default", "state_100mhz", "state_200mhz"; pinctrl-0 = <&pinctrl_usdhc3>; pinctrl-1 = <&pinctrl_usdhc3_100mhz>; pinctrl-2 = <&pinctrl_usdhc3_200mhz>; bus-width = <8>;
no-sd;
no-sdio; non-removable;
mmc-hs400-1_8v;
mmc-hs400-emhanced-strobe; status = "okay"; };