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: wifi_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";
|
|
};
|