mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-31 22:23:05 +00:00

Follow the example of the recently added apq8016-sbc-usb-host.dtso and convert apq8016-sbc-d3-camera-mezzanine.dts to a DT overlay that can be applied on top of the apq8016-sbc.dtb. This makes it more clear that this is not a special type of DB410c but just an addon board that can be added on top. Functionally there should not be any difference since apq8016-sbc-d3-camera-mezzanine.dtb is still generated as before (but now by applying the overlay on top of apq8016-sbc.dtb). Since dtc does not know that there are default #address/size-cells in msm8916.dtsi, repeat those in the overlay to avoid dtc warnings because it expects the wrong amount of address/size-cells. It would be nice to have a generic overlay for the D3 camera mezzanine (that can be applied to all 96Boards) but that's much more complicated than providing a board-specific DT overlay as intermediate step. Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Stephan Gerhold <stephan@gerhold.net> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250408-apq8016-sbc-camera-dtso-v1-1-cdf1cd41bda6@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
90 lines
1.8 KiB
Plaintext
90 lines
1.8 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0-only
|
|
/*
|
|
* Copyright (c) 2015, The Linux Foundation. All rights reserved.
|
|
* Copyright (c) 2023, Linaro Ltd.
|
|
*/
|
|
|
|
/dts-v1/;
|
|
/plugin/;
|
|
|
|
#include <dt-bindings/clock/qcom,gcc-msm8916.h>
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
|
|
&{/} {
|
|
camera_vdddo_1v8: regulator-camera-vdddo {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "camera_vdddo";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
camera_vdda_2v8: regulator-camera-vdda {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "camera_vdda";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
camera_vddd_1v5: regulator-camera-vddd {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "camera_vddd";
|
|
regulator-min-microvolt = <1500000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-always-on;
|
|
};
|
|
};
|
|
|
|
&camss {
|
|
status = "okay";
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
csiphy0_ep: endpoint {
|
|
data-lanes = <0 2>;
|
|
remote-endpoint = <&ov5640_ep>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&cci {
|
|
status = "okay";
|
|
};
|
|
|
|
&cci_i2c0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
camera@3b {
|
|
compatible = "ovti,ov5640";
|
|
reg = <0x3b>;
|
|
|
|
powerdown-gpios = <&tlmm 34 GPIO_ACTIVE_HIGH>;
|
|
reset-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&camera_rear_default>;
|
|
|
|
clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
|
|
clock-names = "xclk";
|
|
assigned-clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
|
|
assigned-clock-rates = <23880000>;
|
|
|
|
DOVDD-supply = <&camera_vdddo_1v8>;
|
|
AVDD-supply = <&camera_vdda_2v8>;
|
|
DVDD-supply = <&camera_vddd_1v5>;
|
|
|
|
port {
|
|
ov5640_ep: endpoint {
|
|
data-lanes = <1 2>;
|
|
remote-endpoint = <&csiphy0_ep>;
|
|
};
|
|
};
|
|
};
|
|
};
|