Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[kernel] gpio_crystalcove fails to initialize #3217

Open
jokubasver opened this issue Dec 1, 2024 · 0 comments
Open

[kernel] gpio_crystalcove fails to initialize #3217

jokubasver opened this issue Dec 1, 2024 · 0 comments

Comments

@jokubasver
Copy link

On Baytrail based tablets, there is an issue with the init order of GPIO/PWM drivers for the Crystal Cove PMIC chip. Crystal Cove has to be initialized before i915 in order for the Crystal Cove to work, which controls the brightness and power of the LCD display.

The error is as follows:

i915 0000:00:02.0: cannot find GPIO chip gpio_crystalcove, deferring
i915 0000:00:02.0: [drm] *ERROR* Failed to own gpio for panel control
i915 0000:00:02.0: [drm] *ERROR* [CONNECTOR:86:DSI-1] Failed to get the PMIC PWM chip

Because of this issue, LCD brightness cannot be changed, and the display does not turn off when in sleep (backlight keeps running).

Check the following bug reports here and here.

Since the init order can't be easily changed at the moment, the fix is to make sure that the Crystal Cove GPIO/PWM drivers are built-in, and i915 is built as a module, so that PMIC initializes before i915.

On Clear Linux kernel, Crystal Cove GPIO is built as a module, Crystal Cove PWM is built in, and i915 is built as a module. This causes a bad init sequence of the drivers.

Please consider changing CONFIG_GPIO_CRYSTAL_COVE from =m to =y, and CONFIG_DRM_I915 from =y to =m in order to fix this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant