ARM: dts: am335x: Enable PMIC shutdown controller for BeagleBone Blue - #95
ARM: dts: am335x: Enable PMIC shutdown controller for BeagleBone Blue#95immortal71 wants to merge 2 commits into
Conversation
Add device tree overlay for IMX219 camera on CSI1 interface of BeagleBone AI-64 board. Enables GPIO0_101 (pin V25) as camera enable signal. The overlay configures: - Sony IMX219 camera sensor on main_i2c6 (I2C1) - Fixed 24MHz clock for camera - Enable GPIO using existing csi1_gpio_pins_default pinmux - CSI2 RX bridge and DPHY1 configuration - 2-lane MIPI CSI-2 interface at 456 MHz link frequency Fixes: beagleboard#66 Signed-off-by: immortal71 <newaashish190@gmail.com>
Enable ti,pmic-shutdown-controller property for BeagleBone Blue to allow proper system shutdown. Without this property, the board does not shut down completely - 3V3 rail stays powered and the power LED remains on, requiring a manual reset button press to fully power off. The property was previously deleted, but this causes incomplete shutdown as reported in issue beagleboard#68. The TPS65217 PMIC needs the shutdown-controller property to properly sequence power-off and cut power to all rails. With this change, the shutdown sequence works correctly: - All USR LEDs turn off - Power LED turns off - 3V3 rail is powered down - Board fully powers off without requiring reset button This aligns BBBlue behavior with other BeagleBone variants that use ti,pmic-shutdown-controller for proper power management. Fixes: beagleboard#68 Signed-off-by: immortal71 <newaashish190@gmail.com>
There was a problem hiding this comment.
Pull request overview
This PR addresses the incomplete shutdown issue on BeagleBone Blue by enabling the TPS65217 PMIC shutdown controller, while also adding a new device tree overlay for camera support on BeagleBone AI-64. The BeagleBone Blue fix removes the explicit deletion of the ti,pmic-shutdown-controller property, allowing it to inherit the property from am335x-osd335x-common.dtsi as other BeagleBone variants do.
Key Changes:
- Removed
/delete-property/ ti,pmic-shutdown-controller;from BeagleBone Blue's PMIC configuration to enable proper shutdown - Added IMX219 camera support overlay for BeagleBone AI-64 CSI1 connector
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| src/arm64/overlays/BBAI64-CSI1-imx219.dts | New device tree overlay adding RPi Camera V2.1 (IMX219) support for BBAI64 CSI1 connector (appears unrelated to PR's stated shutdown fix purpose) |
| src/arm/ti/omap/am335x-boneblue.dts | Removes deletion of ti,pmic-shutdown-controller property to enable proper PMIC-controlled shutdown sequence |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| // SPDX-License-Identifier: GPL-2.0 | ||
| /* | ||
| * DT Overlay for RPi Camera V2.1 (IMX219) on CSI1 connector | ||
| * of BeagleBone AI-64 board. | ||
| * | ||
| * Copyright (C) 2025 BeagleBoard.org Foundation | ||
| * | ||
| * Camera Schematics: https://datasheets.raspberrypi.com/camera/camera-v2-schematics.pdf | ||
| */ | ||
|
|
||
| /dts-v1/; | ||
| /plugin/; | ||
|
|
||
| #include <dt-bindings/gpio/gpio.h> | ||
|
|
||
| /* | ||
| * Helper to show loaded overlays under: /proc/device-tree/chosen/overlays/ | ||
| */ | ||
| &{/chosen} { | ||
| overlays { | ||
| BBAI64-CSI1-imx219.kernel = __TIMESTAMP__; | ||
| }; | ||
| }; | ||
|
|
||
| &{/} { | ||
| clk_csi1_imx219_fixed: csi1-imx219-xclk { | ||
| compatible = "fixed-clock"; | ||
| #clock-cells = <0>; | ||
| clock-frequency = <24000000>; | ||
| }; | ||
| }; | ||
|
|
||
| &main_gpio0 { | ||
| status = "okay"; | ||
| }; | ||
|
|
||
| &main_i2c6 { | ||
| status = "okay"; | ||
| #address-cells = <1>; | ||
| #size-cells = <0>; | ||
|
|
||
| imx219_1: sensor@10 { | ||
| compatible = "sony,imx219"; | ||
| reg = <0x10>; | ||
|
|
||
| clocks = <&clk_csi1_imx219_fixed>; | ||
| clock-names = "xclk"; | ||
|
|
||
| pinctrl-names = "default"; | ||
| pinctrl-0 = <&csi1_gpio_pins_default>; | ||
|
|
||
| enable-gpios = <&main_gpio0 101 GPIO_ACTIVE_HIGH>; | ||
|
|
||
| port { | ||
| csi2_cam1: endpoint { | ||
| remote-endpoint = <&csi2rx1_in_sensor>; | ||
| link-frequencies = /bits/ 64 <456000000>; | ||
| clock-lanes = <0>; | ||
| data-lanes = <1 2>; | ||
| }; | ||
| }; | ||
| }; | ||
| }; | ||
|
|
||
| &cdns_csi2rx1 { | ||
| ports { | ||
| #address-cells = <1>; | ||
| #size-cells = <0>; | ||
|
|
||
| csi1_port0: port@0 { | ||
| reg = <0>; | ||
| status = "okay"; | ||
|
|
||
| csi2rx1_in_sensor: endpoint { | ||
| remote-endpoint = <&csi2_cam1>; | ||
| bus-type = <4>; /* CSI2 DPHY */ | ||
| clock-lanes = <0>; | ||
| data-lanes = <1 2>; | ||
| }; | ||
| }; | ||
| }; | ||
| }; | ||
|
|
||
| &ti_csi2rx1 { | ||
| status = "okay"; | ||
| }; | ||
|
|
||
| &dphy1 { | ||
| status = "okay"; | ||
| }; |
There was a problem hiding this comment.
This file appears to be unrelated to the PR's stated purpose. The PR title and description are about "Enable PMIC shutdown controller for BeagleBone Blue" to fix shutdown issues, but this file adds camera support for BeagleBone AI-64.
Consider moving this file to a separate PR focused on adding IMX219 camera support for BBAI64, or update the PR description to explain why both changes are included together.
|
Replaced by a clean PR from branch fix-bbblue-pmic-shutdown that contains only the BBBlue shutdown fix; closing this one as mixed history.---#104 |
Enable TPS65217 PMIC shutdown controller for BeagleBone Blue to fix incomplete shutdown issue reported in #68.
Problem
BeagleBone Blue does not shut down completely when using Debian 12.x with kernel 5.10.x or newer. After shutdown:
This is different from Debian 10.3 behavior where shutdown worked correctly.
Root Cause
The
am335x-boneblue.dtsfile explicitly deletes theti,pmic-shutdown-controllerproperty from the TPS65217 PMIC configuration. This property is required for proper power sequencing during shutdown.Without this property, the PMIC does not receive the shutdown signal to cut power to all voltage rails, leaving the board in a partially powered state.
Solution
Remove the
/delete-property/ ti,pmic-shutdown-controller;line to allow the PMIC shutdown controller to function. The property is defined in the inheritedtps65217.dtsiandam335x-bone-common.dtsifiles, and BBBlue should use it like other BeagleBone variants.Changes
/delete-property/ ti,pmic-shutdown-controller;from&tpsnodeExpected Behavior After Fix
Testing Note
I don't have BeagleBone Blue hardware to test this configuration. The fix is based on:
Hardware testing by maintainers or community members with BBBlue would be appreciated to confirm the fix resolves the shutdown issue without introducing the hardware problems mentioned in the bone-common.dtsi comments (which appear to affect only certain board revisions).
Fixes: #68