On 5 December 2013 21:35, Roy Franz <roy.fr...@linaro.org> wrote: > For handling CFI and device ID reads, we need to not only know the > width that a NOR flash device is configured for, but also its maximum > width. The maximum width addressing mode is used for multi-width > parts no matter which width they are configured for. The most common > case is x16 parts that also support x8 mode. When configured for x8 > operation these devices respond to CFI and device ID requests differently > than native x8 NOR parts.
> DEFINE_PROP_UINT64("sector-length", struct pflash_t, sector_len, 0), > DEFINE_PROP_UINT8("width", struct pflash_t, bank_width, 0), > DEFINE_PROP_UINT8("device-width", struct pflash_t, device_width, 0), > + DEFINE_PROP_UINT8("max-device-width", struct pflash_t, max_device_width, > 0), So I think that given we now have three width related properties we could use a comment here about what they mean. Do I have this right? /* width here is the overall width of this QEMU device in bytes. * The QEMU device may be emulating a number of flash devices * wired up in parallel; the width of each individual flash * device should be specified via device-width. If the individual * devices have a maximum width which is greater than the width * they are being used for, this maximum width should be set via * max-device-width (which otherwise defaults to device-width). * So for instance a 32-bit wide QEMU flash device made from four * 16-bit flash devices used in 8-bit wide mode would be configured * with width = 4, device-width = 1, max-device-width = 2. * * If device-width is not specified we default to backwards * compatible behaviour which is a bad emulation of two * 16 bit devices making up a 32 bit wide QEMU device. This * is deprecated for new uses of this device. */ thanks -- PMM