diff --git a/src/arm64/overlays/BBAI64-CAN0-00A0.dts b/src/arm64/overlays/BBAI64-CAN0-00A0.dts new file mode 100644 index 00000000..c21fe269 --- /dev/null +++ b/src/arm64/overlays/BBAI64-CAN0-00A0.dts @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + * https://beagleboard.org/ai-64 + * Copyright (C) 2025 BeagleBoard.org Foundation + * + * CAN overlay for BeagleBone AI-64 + * Enables MCAN0 on pins mapped to I2C2 by default + */ + +/dts-v1/; +/plugin/; + +#include "ti/k3-pinctrl.h" + +&{/chosen} { + overlays { + BBAI64-CAN0-00A0.kernel = __TIMESTAMP__; + }; +}; + +&main_pmx0 { + main_mcan0_pins_default: main-mcan0-default-pins { + pinctrl-single,pins = < + J721E_IOPAD(0x208, PIN_INPUT, 0) /* (W5) MCAN0_RX */ + J721E_IOPAD(0x20c, PIN_OUTPUT, 0) /* (W6) MCAN0_TX */ + >; + }; +}; + +&main_mcan0 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&main_mcan0_pins_default>; +}; + +&main_i2c2 { + status = "disabled"; +}; diff --git a/src/arm64/overlays/BBAI64-CSI1-imx219.dts b/src/arm64/overlays/BBAI64-CSI1-imx219.dts new file mode 100644 index 00000000..35df7a38 --- /dev/null +++ b/src/arm64/overlays/BBAI64-CSI1-imx219.dts @@ -0,0 +1,90 @@ +// 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 + +/* + * 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"; +};