Re: [v1 2/6] arm64: dts: apq8016-sbc: Add CCI/Sensor nodes

From: Bjorn Andersson
Date: Thu Mar 12 2020 - 01:03:19 EST


On Wed 11 Mar 05:34 PDT 2020, Robert Foss wrote:

> From: Loic Poulain <loic.poulain@xxxxxxxxxx>
>
> Add cci device to msm8916.dtsi.
> Add default 96boards camera node for db410c (apq8016-sbc).
>
> Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxxx>
> Signed-off-by: Robert Foss <robert.foss@xxxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi | 75 +++++++++++++++++++++++
> 1 file changed, 75 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
> index 037e26b3f8d5..a3e6982f4f93 100644
> --- a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
> +++ b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
> @@ -495,6 +495,81 @@
> wcnss@a21b000 {
> status = "okay";
> };
> +
> + camera_vdddo_1v8: fixedregulator@0 {

While "fixedregulator" is a seemingly good name, you're not allows to
use a unit address on the node if there's no address information in the
node. So you need to give these nodes a non-generic name.


And please move nodes without a reg (i.e. not on an mmio bus) out of
/soc, i.e. place it near /chosen.

> + compatible = "regulator-fixed";
> + regulator-name = "camera_vdddo";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + camera_vdda_2v8: fixedregulator@1 {
> + compatible = "regulator-fixed";
> + regulator-name = "camera_vdda";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + regulator-always-on;
> + };
> +
> + camera_vddd_1v5: fixedregulator@2 {
> + compatible = "regulator-fixed";
> + regulator-name = "camera_vddd";
> + regulator-min-microvolt = <1500000>;
> + regulator-max-microvolt = <1500000>;
> + regulator-always-on;
> + };
> +
> + cci@1b0c000 {

Please ensure that cci and camss have labels and reference them by &cci
and &camss below the / {}, sorted by label name.

> + status = "ok";
> + i2c-bus@0 {

Please reference this by its label as well.

> + camera_rear@3b {
> + compatible = "ovti,ov5640";
> + reg = <0x3b>;
> +
> + enable-gpios = <&msmgpio 34 GPIO_ACTIVE_HIGH>;
> + reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&camera_rear_default>;
> +
> + clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
> + clock-names = "xclk";
> + clock-frequency = <23880000>;
> +
> + vdddo-supply = <&camera_vdddo_1v8>;
> + vdda-supply = <&camera_vdda_2v8>;
> + vddd-supply = <&camera_vddd_1v5>;
> +
> + /* No camera mezzanine by default */

This comment gives me the feeling that this node should have been status
disabled, please confirm.

Regards,
Bjorn

> + status = "okay";
> +
> + port {
> + ov5640_ep: endpoint {
> + clock-lanes = <1>;
> + data-lanes = <0 2>;
> + remote-endpoint = <&csiphy0_ep>;
> + };
> + };
> + };
> + };
> + };
> +
> + camss@1b00000 {
> + status = "ok";
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + port@0 {
> + reg = <0>;
> + csiphy0_ep: endpoint {
> + clock-lanes = <1>;
> + data-lanes = <0 2>;
> + remote-endpoint = <&ov5640_ep>;
> + status = "okay";
> + };
> + };
> + };
> + };
> };
>
> usb2513 {
> --
> 2.20.1
>