Notes:
RFC: I'm thinking of removing SPINOR_OP_BP in favor of
SPINOR_OP_PP (they have the same value). SPINOR_OP_PP
is the "standard" name for the elementary unit-sized
(1 byte, in the case of NOR) write operation. I find it
confusing to have two names for the same operation,
so in a followup I plan to remove the vendor-specific
name in favor of the standard one.
Even though the operations have the same opcode, I see them as different
operations. One is a byte program: it can only write one byte at a time.
The other is a page program: it can write up to one page (256 bytes
usually) at a time.
So I would actually find it more confusing if you use page program in a
situation where the operation is actually a byte program, and attempting
to program the whole page will fail.
Not directly related to this patch, but when reviewing this patch I
noticed another small improvement you can make. [...]
Here, we do a write disable. Then if a one-byte write is needed, do a
write enable again, write the data and write disable.
Do we really need to toggle write enable between these? If not, it can
be simplified to only do the write disable after all bytes have been
written.