mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-05 11:53:41 +00:00

Underscores should not be used in node names (dtc with W=2 warns about them), so replace them with hyphens. Use also generic name for pwrseq node, because generic naming is favored by Devicetree spec. All the clocks affected by this change use clock-output-names, so resulting clock name should not change. Functional impact checked with comparing before/after DTBs with dtx_diff and fdtdump. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com> Link: https://lore.kernel.org/r/20240317184130.157695-4-krzysztof.kozlowski@linaro.org Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
229 lines
4.2 KiB
Plaintext
229 lines
4.2 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0+ OR X11)
|
|
/*
|
|
* Copyright 2019 Icenowy Zheng <icenowy@aosc.io>
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include "sun8i-v3.dtsi"
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/input/input.h>
|
|
|
|
/ {
|
|
model = "PineCube IP Camera";
|
|
compatible = "pine64,pinecube", "sochip,s3", "allwinner,sun8i-v3";
|
|
|
|
aliases {
|
|
serial0 = &uart2;
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
|
|
led1 {
|
|
label = "pine64:ir:led1";
|
|
gpios = <&pio 1 10 GPIO_ACTIVE_LOW>; /* PB10 */
|
|
};
|
|
|
|
led2 {
|
|
label = "pine64:ir:led2";
|
|
gpios = <&pio 1 12 GPIO_ACTIVE_LOW>; /* PB12 */
|
|
};
|
|
};
|
|
|
|
reg_vcc5v0: vcc5v0 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc5v0";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
};
|
|
|
|
reg_vcc_wifi: vcc-wifi {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc-wifi";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
gpio = <&pio 1 2 GPIO_ACTIVE_LOW>; /* PB2 WIFI-EN */
|
|
vin-supply = <®_dcdc3>;
|
|
startup-delay-us = <200000>;
|
|
};
|
|
|
|
wifi_pwrseq: pwrseq {
|
|
compatible = "mmc-pwrseq-simple";
|
|
reset-gpios = <&pio 1 3 GPIO_ACTIVE_LOW>; /* PB3 WIFI-RST */
|
|
post-power-on-delay-ms = <200>;
|
|
};
|
|
};
|
|
|
|
&csi1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&csi1_8bit_pins>;
|
|
status = "okay";
|
|
|
|
port {
|
|
csi1_ep: endpoint {
|
|
remote-endpoint = <&ov5640_ep>;
|
|
bus-width = <8>;
|
|
hsync-active = <1>; /* Active high */
|
|
vsync-active = <0>; /* Active low */
|
|
data-active = <1>; /* Active high */
|
|
pclk-sample = <1>; /* Rising */
|
|
};
|
|
};
|
|
};
|
|
|
|
&emac {
|
|
phy-handle = <&int_mii_phy>;
|
|
phy-mode = "mii";
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c0 {
|
|
status = "okay";
|
|
|
|
axp209: pmic@34 {
|
|
reg = <0x34>;
|
|
interrupt-parent = <&nmi_intc>;
|
|
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
|
};
|
|
};
|
|
|
|
&i2c1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c1_pe_pins>;
|
|
status = "okay";
|
|
|
|
ov5640: camera@3c {
|
|
compatible = "ovti,ov5640";
|
|
reg = <0x3c>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&csi1_mclk_pin>;
|
|
clocks = <&ccu CLK_CSI1_MCLK>;
|
|
clock-names = "xclk";
|
|
|
|
AVDD-supply = <®_ldo3>;
|
|
DOVDD-supply = <®_ldo3>;
|
|
DVDD-supply = <®_ldo4>;
|
|
reset-gpios = <&pio 4 23 GPIO_ACTIVE_LOW>; /* PE23 */
|
|
powerdown-gpios = <&pio 4 24 GPIO_ACTIVE_HIGH>; /* PE24 */
|
|
|
|
port {
|
|
ov5640_ep: endpoint {
|
|
remote-endpoint = <&csi1_ep>;
|
|
bus-width = <8>;
|
|
hsync-active = <1>; /* Active high */
|
|
vsync-active = <0>; /* Active low */
|
|
data-active = <1>; /* Active high */
|
|
pclk-sample = <1>; /* Rising */
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&lradc {
|
|
vref-supply = <®_ldo2>;
|
|
status = "okay";
|
|
|
|
button-200 {
|
|
label = "Setup";
|
|
linux,code = <KEY_SETUP>;
|
|
channel = <0>;
|
|
voltage = <190000>;
|
|
};
|
|
};
|
|
|
|
&mmc0 {
|
|
vmmc-supply = <®_dcdc3>;
|
|
bus-width = <4>;
|
|
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
|
status = "okay";
|
|
};
|
|
|
|
&mmc1 {
|
|
vmmc-supply = <®_vcc_wifi>;
|
|
vqmmc-supply = <®_dcdc3>;
|
|
mmc-pwrseq = <&wifi_pwrseq>;
|
|
bus-width = <4>;
|
|
non-removable;
|
|
status = "okay";
|
|
};
|
|
|
|
&pio {
|
|
vcc-pd-supply = <®_dcdc3>;
|
|
vcc-pe-supply = <®_ldo3>;
|
|
};
|
|
|
|
#include "axp209.dtsi"
|
|
|
|
&ac_power_supply {
|
|
status = "okay";
|
|
};
|
|
|
|
®_dcdc2 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1250000>;
|
|
regulator-max-microvolt = <1250000>;
|
|
regulator-name = "vdd-sys-cpu-ephy";
|
|
};
|
|
|
|
®_dcdc3 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vcc-3v3";
|
|
};
|
|
|
|
®_ldo1 {
|
|
regulator-name = "vdd-rtc";
|
|
};
|
|
|
|
®_ldo2 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-name = "avcc";
|
|
};
|
|
|
|
®_ldo3 {
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-name = "avdd-dovdd-2v8-csi";
|
|
regulator-soft-start;
|
|
regulator-ramp-delay = <1600>;
|
|
};
|
|
|
|
®_ldo4 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-name = "dvdd-1v8-csi";
|
|
};
|
|
|
|
&spi0 {
|
|
status = "okay";
|
|
|
|
flash@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "winbond,w25q128", "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <40000000>;
|
|
};
|
|
};
|
|
|
|
&uart2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_otg {
|
|
dr_mode = "host";
|
|
status = "okay";
|
|
};
|
|
|
|
&usbphy {
|
|
usb0_vbus-supply = <®_vcc5v0>;
|
|
status = "okay";
|
|
};
|