This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

EP9307  backlight off problem

Note: This was originally posted on 14th July 2011 at http://forums.arm.com

I have a device with touch screen LCD and backlight using ep9307 controller of ARM processor. The problem is that we need to completely switch off the backlight so as to make the screen look dead.

Being a newbie in this field, I have no idea how to do that. After studying the schematics and user guide I came to know Brightness control register named as BRIGHT.But I have no idea how to write to that register.

I need to know how to do that. Can anyone please help.
  • Note: This was originally posted on 15th July 2011 at http://forums.arm.com

    Hi,
      The details are as follows
      1.C++ is the programming language used .Drivers are written in 'C' .
      2.Operating system ---Red hat  Linux
      I have been  working on the application layer  of the embedded system . I have no idea how the drivers were written for the hardware .
    Current requirement is backlight should be switched off  and on  . 
    I have till now studied through the data sheet and user guide of EP9307-CRZ controller. From that I found out that there is a 32 bit brightness control register.  16 bits of the register are reserved while reading. 8 bits are for CNT and 8 bits for CMP. Now for various values of CNT and CMP the brightness is toggled. If the both CNT and CMP is reset 0% brightness is achieved.
    Also I found out in the circuit diagram of EP9307 there is a BRIGHT pin on which PWM (Pulse width Modulation) waveform helps to control the brightness.

    So far the investigation have been theoretical and nothing practical has been tried out. The problems are:

    1. How to access to the brightness control register and write to it?
    2. Is there any library functions to access it?
    3. IS BRIGHT pin controlled by brightness control register?

    Hope my question are clear.
  • Note: This was originally posted on 14th July 2011 at http://forums.arm.com

    Hello,
    In order for forum members to be able to help you, you would need to give details on:
    - programming language used,
    - operating system used or bare metal,
    - development environment might also be helpful but not really necessary in this particular case.
    - which steps have you already done, what have you tried and what is the error message if any...
    Kind regards,
    Alban
  • Note: This was originally posted on 19th July 2011 at http://forums.arm.com

    Hi Jak,
    Thanks for the details. I looked at the EP9307 datasheet from Cirrus Logic website and could find the following:
    - The BRIGHT pin can indeed be used to change a screen brightness. Now, you need to check your schematics to see if it is actually being used for that purpose...
    - page 218 of the datasheet states that the "Brightness" control register is situated at address 0x8003_0020. This is therefore where you need to write your values for the PWM duty cycle.
    - page 232 shows that the you need to write a 16-bit word and not touch at the higher 16-bit part of the register (reserved).
    Now, all depends on how the screen brightness control is cabled as it can be either lit when you have BRIGHT=0 or when BRIGHT=1...
    The wording suggests to me that you would need to write 0x00 at 0x8003_0020 because it means that CNT will count down from 0 to 0 and BRIGHT=0 when CNT >= CMP.

    For question 2, look in the source code if something accesses that register maybe.
    For question 3, yes according to block diagram page 190.

    HTH,
    Alban


    Hi,
        The details are as follows
        1.C++ is the programming language used .Drivers are written in 'C' .
        2.Operating system ---Red hat  Linux
      I have been  working on the application layer  of the embedded system . I have no idea how the drivers were written for the hardware .
    Current requirement is backlight should be switched off  and on  . 
    I have till now studied through the data sheet and user guide of EP9307-CRZ controller. From that I found out that there is a 32 bit brightness control register.  16 bits of the register are reserved while reading. 8 bits are for CNT and 8 bits for CMP. Now for various values of CNT and CMP the brightness is toggled. If the both CNT and CMP is reset 0% brightness is achieved.
    Also I found out in the circuit diagram of EP9307 there is a BRIGHT pin on which PWM (Pulse width Modulation) waveform helps to control the brightness.

    So far the investigation have been theoretical and nothing practical has been tried out. The problems are:

    1. How to access to the brightness control register and write to it?
    2. Is there any library functions to access it?
    3. IS BRIGHT pin controlled by brightness control register?

    Hope my question are clear.