Tool/software:
How to I turn left LOP/M full power on?
Reg 86 has D0 as a read only, and it never turn to 1 unless I write 1 to it. Is that the proper sequence?
Thanks
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software:
How to I turn left LOP/M full power on?
Reg 86 has D0 as a read only, and it never turn to 1 unless I write 1 to it. Is that the proper sequence?
Thanks
Hello Fady,
In General when a register is designated as R , it means the user can only read its content but can NOT write into it. The user might have the option to reset or clear a Read only register ( such as registers for flags, or errors and status , etc )- but can not write into R register.
If you constantly can write a 1 or 0 and read the same value back , then that register is W/R not R (it looks like a typo in datasheet as other similar function registers such as register 58, 72 and 65 are R/W). So write into this register multiple times in a row: Write a 1 and read it back, following by writing a 0 and reading it back and once again write 1 and read it back. This can prove it is a R/W register.
Kind Regards,
Arash
Arash,
Thanks for the response.
My main question is how to fully power up the LOP/M.
I did the following:
Exp 1:
- write 0x08 to register 86 and run my firmware I get audio out of the codec on LOP/M.
Exp 2:
- write 0x08 to register 86 and read back reg 86 back reg 86 waiting for D0 to turn 1 (to verify it is powered)- it never turn to 1 as the datasheet insinuates.
Exp 3:
- write 0x09 to register 86 - everything works fine.
So not really sure what is the switch/bit that really powers up the LOP/M.
Thanks
I don't think you did what I asked , I wanted you to try a sequence to see the register is really read only or not.
( xx is the device address in your system)
r xx 56 01 # READ THE CURRENT VALUE OF THIS REGISTER
w xx 56 08 # WRITE a 0 to D0
r xx 56 01 # READ THE CURRENT VALUE OF REGISTER 56 , SHOULD READ 08
w xx 56 09 # now WRITE a 1 to D0 of this register
r xx 56 01 # READ THE CURRENT VALUE OF THIS REGISTER, SHOULD READ 09
w xx 56 08 # now WRITE a 0 to D0 of this register
r xx 56 01 # READ THE CURRENT VALUE OF THIS REGISTER, SHOULD READ 08
Nevertheless from your test it seems the operation is ok :
exp 1 : you wrote write 08 meaning bit D0 is 0 --indicating the LO is not fully on , but still you should expect to get the audio out ( note that D3=1 means it is not Muted and D1=0 means all programable gains are applied.) so this part is okay
expe 2: you wrote 08 ( that is D0=0) and you read D0=0 , so it is ok.
exp 3, you wrote 09 ( that is bit D0=1 and it is fully on ) and everything works as expected.
So for register 86 (0x56) write 90 to have LO fully on.
Regards,
Arash