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";
};