On Tue, Mar 08, 2016 at 02:46:52PM -0800, Andrey Smirnov wrote: > >> > >> I don't think I understand what you mean, could you give me an example > >> of how I'd use local-mac-address property for that use case? AFAIK, > >> local-mac-address is just an array of bytes embedded into device tree, > > > > Well, yeah, but the nvmem-blob is also just an array of bytes embedded > > into the DT, right? > > One is accessible via "nvmem" API and the other one isn't.
But there's no point in accessing it with nvmem in the first place. You want to provide some information to the ethernet driver to give it his mac address, that's what you want to do. And we already have a property that does just that, and is supported by all the ethernet drivers. Why would you want to add a special case to something that is doing exactly the same thing? > >> how would it get populated with data from OTP memory of SoC? > > > > In the bootloader, or Linux, read the OTP, patch the DT to add that > > node, done. > > No, it's not really "done", because if you read my previous messages, > "read the OTP, patch the DT" is exactly the problem I am trying to > solve. The overall goal is to be able to read a certain "nvmem" cell > and patch DT with that data as MAC address, But *why* do you need to store that using nvmem in the first place? You really have two solutions here: make your ethernet driver read the EEPROM using nvmem directly or do it in the bootloader and set local-mac-address (note that you can do both). > however in it's current incarnation "nvmem" doesn't have provisions > to make cells that are just combination of other cells (patch #3) This use case is valid. > and to embed certain data in DT and then access it as "nvmem" cell > (patch #2) And this one is redundant. Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
signature.asc
Description: Digital signature