Device-side Implementation
The device side implementation is as follows:
val = read(address)
val = (val & ~mask) | (value & mask);
write(val, address);
For example:
prod.0x02436010.0x00006000 = 0x00002000; # SDMMC4_DAT7,
DRV_TYPE: DRIVE_2X
prod.0x02436014.0x00006000 = 0x00002000; # SDMMC4_DAT6,
DRV_TYPE: DRIVE_2X
prod.0x02436018.0x00006000 = 0x00002000; # SDMMC4_DAT5,
DRV_TYPE: DRIVE_2X
prod.0x0243601c.0x00006000 = 0x00002000; # SDMMC4_DAT4,
DRV_TYPE: DRIVE_2X
prod.0x02436020.0x00006000 = 0x00002000; # SDMMC4_DAT3,
DRV_TYPE: DRIVE_2X