On 25 November 2014 at 10:17, Alex Lemberg <Alex.Lemberg@xxxxxxxxxxx> wrote: > > >> -----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: Thanks for clarifying. > > [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 To repeat my question: _Unless_ there are no validation of the device soldering performed by the "programmer tool" past this point, why couldn't the host set PRODUCTION_STATE_AWARENESS to 0x0 (NORMAL) at this point instead? > > Device Soldering > > Host (field) sets PRODUCTION_STATE_AWARENESS > to 0x0 (NORMAL) > ... > > Hope this will answer... > Kind regards Uffe -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html