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