From: Keke Li <keke.li@amlogic.com>
To: Neil Armstrong <neil.armstrong@linaro.org>,
Kevin Hilman <khilman@baylibre.com>,
Jerome Brunet <jbrunet@baylibre.com>,
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org,
linux-amlogic@lists.infradead.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH RESEND] dts: arm64: amlogic: Add ISP related nodes for C3
Date: Mon, 22 Sep 2025 16:43:54 +0800 [thread overview]
Message-ID: <b16a6936-b6b8-44cc-9c9f-3415cef54b29@amlogic.com> (raw)
In-Reply-To: <36345378-6fd5-4a48-b5ea-0fcb6abda7ba@linaro.org>
Hi Neil
Thanks for your reply.
On 2025/9/19 22:43, Neil Armstrong wrote:
> [You don't often get email from neil.armstrong@linaro.org. Learn why
> this is important at https://aka.ms/LearnAboutSenderIdentification ]
>
> [ EXTERNAL EMAIL ]
>
> On 18/09/2025 10:35, Keke Li via B4 Relay wrote:
>> From: Keke Li <keke.li@amlogic.com>
>>
>> Add the IMX290 sensor node description to the device tree file,
>> which will be controlled via I2C bus with image data transmission
>> through MIPI CSI-2 interface.
>>
>> Add CSI-2, adapter and ISP nodes for C3 family.
>>
>> Signed-off-by: Keke Li <keke.li@amlogic.com>
>> ---
>> The C3 ISP driver and device-tree bindings have been
>> submitted. To facilitate using the C3 ISP driver, the
>> related device nodes need to be added.
>
> No need to resend until the bindings are merged.
>
> Neil
>
https://lore.kernel.org/all/20250427-c3isp-v9-1-e0fe09433d94@amlogic.com/
https://lore.kernel.org/all/20250427-c3isp-v9-3-e0fe09433d94@amlogic.com/
https://lore.kernel.org/all/20250427-c3isp-v9-5-e0fe09433d94@amlogic.com/
The device-tree bindings for C3 ISP have been merged into the Linux
kernel v6.16.
Thanks.
>> ---
>> .../boot/dts/amlogic/amlogic-c3-c308l-aw419.dts | 84
>> +++++++++++++++++++++
>> arch/arm64/boot/dts/amlogic/amlogic-c3.dtsi | 88
>> ++++++++++++++++++++++
>> 2 files changed, 172 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/amlogic/amlogic-c3-c308l-aw419.dts
>> b/arch/arm64/boot/dts/amlogic/amlogic-c3-c308l-aw419.dts
>> index 45f8631f9feb..e026604c55e6 100644
>> --- a/arch/arm64/boot/dts/amlogic/amlogic-c3-c308l-aw419.dts
>> +++ b/arch/arm64/boot/dts/amlogic/amlogic-c3-c308l-aw419.dts
>> @@ -17,6 +17,7 @@ / {
>> aliases {
>> serial0 = &uart_b;
>> spi0 = &spifc;
>> + i2c2 = &i2c2;
>> };
>>
>> memory@0 {
>> @@ -146,6 +147,36 @@ sdcard: regulator-sdcard {
>> regulator-boot-on;
>> regulator-always-on;
>> };
>> +
>> + camera_vdddo_1v8: regulator-camera-1v8 {
>> + compatible = "regulator-fixed";
>> + regulator-name = "CAMERA_VDDDO";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + vin-supply = <&vcc_3v3>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> +
>> + camera_vdda_2v9: regulator-camera-2v9 {
>> + compatible = "regulator-fixed";
>> + regulator-name = "CAMERA_VDDA";
>> + regulator-min-microvolt = <2900000>;
>> + regulator-max-microvolt = <2900000>;
>> + vin-supply = <&vcc_5v>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> +
>> + camera_vddd_1v2: regulator-camera-1v2 {
>> + compatible = "regulator-fixed";
>> + regulator-name = "CAMERA_VDDD";
>> + regulator-min-microvolt = <1200000>;
>> + regulator-max-microvolt = <1200000>;
>> + vin-supply = <&vcc_3v3>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> };
>>
>> &uart_b {
>> @@ -258,3 +289,56 @@ &sd {
>> vmmc-supply = <&sdcard>;
>> vqmmc-supply = <&sdcard>;
>> };
>> +
>> +&i2c2 {
>> + status = "okay";
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&i2c2_pins1>;
>> + clock-frequency = <100000>; /* default 100k */
>> +
>> + imx290: sensor0@1a {
>> + compatible = "sony,imx290";
>> + reg = <0x1a>;
>> + clocks = <&clkc_pll CLKID_MCLK0>;
>> + clock-names = "xclk";
>> + clock-frequency = <37125000>;
>> + assigned-clocks = <&clkc_pll CLKID_MCLK_PLL>,
>> + <&clkc_pll CLKID_MCLK0>;
>> + assigned-clock-rates = <74250000>, <37125000>;
>> +
>> + vdddo-supply = <&camera_vdddo_1v8>;
>> + vdda-supply = <&camera_vdda_2v9>;
>> + vddd-supply = <&camera_vddd_1v2>;
>> +
>> + reset-gpios = <&gpio GPIOE_4 GPIO_ACTIVE_LOW>;
>> +
>> + port {
>> + imx290_out: endpoint {
>> + data-lanes = <1 2 3 4>;
>> + link-frequencies = /bits/ 64 <222750000
>> 148500000>;
>> + remote-endpoint = <&c3_mipi_csi_in>;
>> + };
>> + };
>> + };
>> +};
>> +
>> +&csi2 {
>> + status = "okay";
>> +
>> + ports {
>> + port@0 {
>> + c3_mipi_csi_in: endpoint {
>> + remote-endpoint = <&imx290_out>;
>> + data-lanes = <1 2 3 4>;
>> + };
>> + };
>> + };
>> +};
>> +
>> +&adap {
>> + status = "okay";
>> +};
>> +
>> +&isp {
>> + status = "okay";
>> +};
>> diff --git a/arch/arm64/boot/dts/amlogic/amlogic-c3.dtsi
>> b/arch/arm64/boot/dts/amlogic/amlogic-c3.dtsi
>> index cb9ea3ca6ee0..a62fd8534209 100644
>> --- a/arch/arm64/boot/dts/amlogic/amlogic-c3.dtsi
>> +++ b/arch/arm64/boot/dts/amlogic/amlogic-c3.dtsi
>> @@ -992,5 +992,93 @@ mdio0: mdio {
>> #size-cells = <0>;
>> };
>> };
>> +
>> + csi2: csi2@ff018000 {
>> + compatible = "amlogic,c3-mipi-csi2";
>> + reg = <0x0 0xff018000 0x0 0x100>,
>> + <0x0 0xff019000 0x0 0x300>,
>> + <0x0 0xff01a000 0x0 0x100>;
>> + reg-names = "aphy", "dphy", "host";
>> + power-domains = <&pwrc PWRC_C3_MIPI_ISP_WRAP_ID>;
>> + clocks = <&clkc_periphs CLKID_VAPB>,
>> + <&clkc_periphs CLKID_CSI_PHY0>;
>> + clock-names = "vapb", "phy0";
>> + assigned-clocks = <&clkc_periphs CLKID_VAPB>,
>> + <&clkc_periphs CLKID_CSI_PHY0>;
>> + assigned-clock-rates = <0>, <200000000>;
>> + status = "disabled";
>> +
>> + ports {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + port@0 {
>> + reg = <0>;
>> + };
>> +
>> + port@1 {
>> + reg = <1>;
>> + c3_mipi_csi_out: endpoint {
>> + remote-endpoint =
>> <&c3_adap_in>;
>> + };
>> + };
>> + };
>> + };
>> +
>> + adap: adap@ff010000 {
>> + compatible = "amlogic,c3-mipi-adapter";
>> + reg = <0x0 0xff010000 0x0 0x100>,
>> + <0x0 0xff01b000 0x0 0x100>,
>> + <0x0 0xff01d000 0x0 0x200>;
>> + reg-names = "top", "fd", "rd";
>> + power-domains = <&pwrc PWRC_C3_ISP_TOP_ID>;
>> + clocks = <&clkc_periphs CLKID_VAPB>,
>> + <&clkc_periphs CLKID_ISP0>;
>> + clock-names = "vapb", "isp0";
>> + assigned-clocks = <&clkc_periphs CLKID_VAPB>,
>> + <&clkc_periphs CLKID_ISP0>;
>> + assigned-clock-rates = <0>, <400000000>;
>> + status = "disabled";
>> +
>> + ports {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + port@0 {
>> + reg = <0>;
>> + c3_adap_in: endpoint {
>> + remote-endpoint =
>> <&c3_mipi_csi_out>;
>> + };
>> + };
>> +
>> + port@1 {
>> + reg = <1>;
>> + c3_adap_out: endpoint {
>> + remote-endpoint =
>> <&c3_isp_in>;
>> + };
>> + };
>> + };
>> + };
>> +
>> + isp: isp@ff000000 {
>> + compatible = "amlogic,c3-isp";
>> + reg = <0x0 0xff000000 0x0 0xf000>;
>> + reg-names = "isp";
>> + power-domains = <&pwrc PWRC_C3_ISP_TOP_ID>;
>> + clocks = <&clkc_periphs CLKID_VAPB>,
>> + <&clkc_periphs CLKID_ISP0>;
>> + clock-names = "vapb", "isp0";
>> + assigned-clocks = <&clkc_periphs CLKID_VAPB>,
>> + <&clkc_periphs CLKID_ISP0>;
>> + assigned-clock-rates = <0>, <400000000>;
>> + interrupts = <GIC_SPI 145 IRQ_TYPE_EDGE_RISING>;
>> + status = "disabled";
>> +
>> + port {
>> + c3_isp_in: endpoint {
>> + remote-endpoint = <&c3_adap_out>;
>> + };
>> + };
>> + };
>> };
>> };
>>
>> ---
>> base-commit: 84b92a499e7eca54ba1df6f6c6e01766025943f1
>> change-id: 20250731-b4-c3isp-16531391a1cb
>>
>> Best regards,
>
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
next prev parent reply other threads:[~2025-09-22 8:44 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-18 8:35 Keke Li via B4 Relay
2025-09-19 14:43 ` Neil Armstrong
2025-09-22 8:43 ` Keke Li [this message]
2025-10-21 12:29 ` Neil Armstrong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b16a6936-b6b8-44cc-9c9f-3415cef54b29@amlogic.com \
--to=keke.li@amlogic.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jbrunet@baylibre.com \
--cc=khilman@baylibre.com \
--cc=krzk+dt@kernel.org \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=martin.blumenstingl@googlemail.com \
--cc=neil.armstrong@linaro.org \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®