The user manual UM10912 doesn't have anything about the programming model of the flash controller on LPC546xx, and the SDK driver simply uses the IAP provided by the boot ROM API. It doesn't feel like a simple omission of information, more like intentionally concealed. For example PDRUNCFG0 is assigned to power down the flash controller, but is shown as a reserved bit in the manual.
While we appreciate the boot ROM API offered the IAP since the driver can't run off the flash anyway, however, there are limitation to the boot ROM API. For example it cannot be used with a DMA channel, or use interrupt instead of polling to reduce CPU load, also it is unknown whether it is safe to use with preemptive multithread OS.
There are also other low-level aspect that may be useful to developers, for example the exact ECC matrix and the bit pattern that can be over-programmed.
Is there a specific reason why the programming model has to be kept secret from developers?