> -----Original Message----- > From: Ulf Hansson [mailto:ulf.hansson@xxxxxxxxxx] > Sent: Monday, November 24, 2014 2:24 PM > To: Alex Lemberg > Cc: linux-mmc; Chris Ball; Avi Shchislowski > Subject: Re: [PATCH 1/1] Production State Awareness support in host side > > [...] > > >> >> > >> >> I am not so sure we should finalize the production phase while > >> >> initializing the eMMC card like this. > >> >> > >> >> Certainly we should check the PSA state, but I think we should > >> >> return an error if we think the device hasn’t completed > >> >> production. It should be the responsibility for the "programming > >> >> tools" to finalize the > >> production, right!? > >> > > >> > According to eMMC spec, the switch to NORMAL should be done after > >> > device > >> soldering to final host (not programmer). > >> > Please refer to "Figure 32 — Recommended Soldering procedure" in > >> eMMC5.0 specification document. > >> > Also, since we are dealing with only "field" host here, we are not > >> touching/switching any other modes of PSA, but only Normal (field). > >> > This code should run only once - in the beginning of device life cycle. > >> > >> I get your point, but I am not so sure. > >> > >> To me, I wouldn't trust that the platform binaries has been > >> successfully programmed to the device, unless the programmer tool > >> takes care of switching the device to "normal". > >> > > > > Thanks Ulf! > > Also, please note - PSA PRE_SOLDERING_POST_WRITES mode intent to save > > device pre-loaded content during the soldering process. > > Flash data can be corrupted due to soldering procedure high > > temperature. So switching to Normal cannot be done by external > programmer. > > So, if flash data will be corrupted due to for example high temperatures during > soldering, how will that be detected when using the "manual mode"? > > If that's the job for the platform software I fail to understand why the > PRE_SOLDERING_POST_WRITES state needs to exists at all!? The flow of "Manual Mode" is: [skipping few common steps] ... Host (Programmer) sets PRODUCTION_STATE_AWARENESS to 0x1 (PRE_SOLDERING_WRITES) Host (Programmer) perform pre-soldering data loading and/or device configuration Host (Programmer) sets PRODUCTION_STATE_AWARENESS To 0x2 (PRE_SOLDERING_POST_WRITES). No writes past this point Device Soldering Host (field) sets PRODUCTION_STATE_AWARENESS to 0x0 (NORMAL) ... Hope this will answer... > > Kind regards > Uffe ��.n��������+%������w��{.n�����{��i��)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥