I’m not sure how to make changes to the registers. I’ll try to find some useful information and get back to you.
Have you already seen this document Intel® Quark SoC — Intel® Quark SoC UEFI Firmware Writer Guide ? Section 5.5.23 and section 21.6 have information on register locks. Take a look at this and let me know if this helps.
So I have worked my way threw the files located at :
I have what I believe to be all those Locks commented out
the one below is still on because i believe it has nothing to do with it and when removed it will shut itself down in BIOS stages when booting
NewValue = (UINT32)(BaseAddress + SmramLength);
DEBUG ((EFI_D_INFO,"Locking HMBOUND at: = 0x%8x\n",NewValue));
QNCPortWrite (QUARK_NC_HOST_BRIDGE_SB_PORT_ID, QUARK_NC_HOST_BRIDGE_HMBOUND_REG, (NewValue | HMBOUND_LOCK));
I am still getting the same issue
this is how i am writing to the register in Kernel space:
copy_from_user(buf, (char *)arg, len);
sb_write(SB_ID_RMU, THRM_CTRL_WRITE, THRM_TEMP_REG,buf, 1);
I am sending an integer into buf and jsut running threw all possible values with a count++ to see what happens
is my write correct ?
Can you try to make the changes to thermal settings like QNCThermalSensorSetTripValues, QNCThermalSensorEnableWithCatastrophicTrip etc before BIOS locked it?
Have you tried with the Sergio's suggestion?