Skip to content

Disable base SPI channel nodes for LCD and touch#61

Open
vmanchala-dev wants to merge 3 commits intocomcard_v2_cifrom
vj/ili9488_driver_dts_config
Open

Disable base SPI channel nodes for LCD and touch#61
vmanchala-dev wants to merge 3 commits intocomcard_v2_cifrom
vj/ili9488_driver_dts_config

Conversation

@vmanchala-dev
Copy link

@vmanchala-dev vmanchala-dev commented Jan 30, 2026

Description

  • Disables the default channel@0 and channel@1 SPI child nodes created by the base AM335x device tree for both McSPI0 and McSPI1.
  • The base device tree pre-defines SPI channel nodes (bounding to spidev) that automatically claim chip-selects during boot.
    When custom SPI devices (ILI9488 LCD and ADS7846 touch) are added via overlay, these default nodes causing below errors
chipselect already in use errors
SPI device registration failures
pinmux conflicts

We are explicitly sets status = "disabled" on the base SPI channel@* nodes using target-path.
This prevents the placeholder SPI devices from being created while keeping the SPI controllers enabled for custom drivers.

Test

After loading the driver on V2 following is the message

[   74.064307] [drm] Initialized ili9488 1.0.0 20221017 for spi1.0 on minor 0
[   75.149075] Console: switching to colour frame buffer device 40x30
[   75.401902] ili9488 spi1.0: [drm] fb0: ili9488drmfb frame buffer device
[   93.659405] ads7846 spi1.1: supply vcc not found, using dummy regulator
[   93.662159] ads7846 spi1.1: touchscreen, irq 68
[   93.669482] input: ADS7846 Touchscreen as /devices/platform/ocp/48000000.interconnect/48000000.interconnect:segment@100000/481a0000.target-module/481a0000.spi/spi_master/spi1/spi1.1/input/input0
iex(12)> 

With these changes we will do actual test on reworked board and verify.


Note

Medium Risk
Medium risk because it changes device-tree SPI topology/pinmux for both McSPI0 and McSPI1 and can break SPI peripherals or pin assignments if target paths or GPIO mappings are wrong.

Overview
Prevents SPI chip-select conflicts for the LCD+touch overlay. The overlay now explicitly disables the base AM335x channel@0/channel@1 SPI child nodes (for both McSPI0 and McSPI1) via target-path, instead of deleting nodes under &spi1, so custom ili9488 and ads7846 devices can bind cleanly.

Also updates pin/pinmux handling: disables an additional pinmux (P8_41_pinmux), changes the LCD reset pinmux and reset-gpios mapping to a new GPIO, and bumps VERSION to 2.27.2+zola-12k.

Written by Cursor Bugbot for commit e0c4d4e. This will update automatically on new commits. Configure here.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

__overlay__ {
status = "disabled";
};
};
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent indentation uses tabs instead of spaces

Low Severity

The new fragment@3 through fragment@6 (lines 103-135) use tab characters for indentation, while the rest of the file consistently uses 4-space indentation. This creates visual inconsistency and can cause confusing diffs when different editors auto-format the file differently. The file mixes two indentation styles in directly adjacent code blocks.

Fix in Cursor Fix in Web

@vmanchala-dev vmanchala-dev requested a review from vs-pp January 30, 2026 19:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant