arm: add PW-H1 device tree
This commit is contained in:
parent
001161e546
commit
fff05eea68
|
@ -692,7 +692,8 @@ dtb-$(CONFIG_SOC_IMX7ULP) += \
|
|||
imx7ulp-evkb-lpuart.dtb \
|
||||
imx7ulp-evkb-mipi.dtb \
|
||||
imx7ulp-evkb-rm68200-wxga.dtb \
|
||||
imx7ulp-evkb-rm68191-qhd.dtb
|
||||
imx7ulp-evkb-rm68191-qhd.dtb \
|
||||
imx7ulp-pwh1.dts
|
||||
dtb-$(CONFIG_SOC_LS1021A) += \
|
||||
ls1021a-moxa-uc-8410a.dtb \
|
||||
ls1021a-qds.dtb \
|
||||
|
|
|
@ -0,0 +1,551 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Copyright 2016 Freescale Semiconductor, Inc.
|
||||
* Copyright 2017-2018 NXP
|
||||
* Dong Aisheng <aisheng.dong@nxp.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx7ulp.dtsi"
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
model = "SHARP Brain PW-H1";
|
||||
compatible = "sharp,pw-h1", "sharp,brain", "fsl,imx7ulp";
|
||||
|
||||
aliases {
|
||||
gpio4 = &rpmsg_gpio0;
|
||||
gpio5 = &rpmsg_gpio1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = &lpuart4;
|
||||
};
|
||||
|
||||
memory@60000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x60000000 0x40000000>;
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
vdev0vring0: vdev0vring0@9ff00000 {
|
||||
reg = <0x9ff00000 0x8000>;
|
||||
no-map;
|
||||
};
|
||||
vdev0vring1: vdev0vring1@9ff08000 {
|
||||
reg = <0x9ff08000 0x8000>;
|
||||
no-map;
|
||||
};
|
||||
vdev1vring0: vdev1vring0@9ff10000 {
|
||||
reg = <0x9ff10000 0x8000>;
|
||||
no-map;
|
||||
};
|
||||
vdev1vring1: vdev1vring1@9ff18000 {
|
||||
reg = <0x9ff18000 0x8000>;
|
||||
no-map;
|
||||
};
|
||||
vdev1vring3 {
|
||||
reg = <0x9ff20000 0xe0000>;
|
||||
no-map;
|
||||
};
|
||||
};
|
||||
|
||||
backlight {
|
||||
compatible = "pwm-backlight";
|
||||
pwms = <&tpm4 1 50000 0>;
|
||||
brightness-levels = <0 20 25 30 35 40 100>;
|
||||
default-brightness-level = <6>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
mipi_dsi_reset: mipi-dsi-reset {
|
||||
compatible = "gpio-reset";
|
||||
reset-gpios = <&gpio_ptc 19 GPIO_ACTIVE_LOW>;
|
||||
reset-delay-us = <1000>;
|
||||
#reset-cells = <0>;
|
||||
};
|
||||
|
||||
pf1550-rpmsg {
|
||||
compatible = "fsl,pf1550-rpmsg";
|
||||
sw1_reg: SW1 {
|
||||
regulator-name = "SW1";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <1387500>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sw2_reg: SW2 {
|
||||
regulator-name = "SW2";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <1387500>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sw3_reg: SW3 {
|
||||
regulator-name = "SW3";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vref_reg: VREFDDR {
|
||||
regulator-name = "VREFDDR";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vldo1_reg: LDO1 {
|
||||
regulator-name = "LDO1";
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vldo2_reg: LDO2 {
|
||||
regulator-name = "LDO2";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vldo3_reg: LDO3 {
|
||||
regulator-name = "LDO3";
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
||||
regulators {
|
||||
compatible = "simple-bus";
|
||||
#address-cell = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
reg_usb_otg1_vbus: regulator-usb-otg1-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&pinctrl_usbotg1_vbus>;
|
||||
pinctrl-1 = <&pinctrl_usbotg1_vbus>;
|
||||
regulator-name = "usb_otg1_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio_ptc 0 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
reg_vsd_3v3: regulator-vsd-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VSD_3V3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usdhc0_rst>;
|
||||
gpio = <&gpio_ptd 0 GPIO_ACTIVE_HIGH>;
|
||||
off-on-delay-us = <20000>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
reg_sd1_vmmc: sd1_regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "WLAN_EN";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpio = <&rpmsg_gpio0 14 GPIO_ACTIVE_HIGH>;
|
||||
startup-delay-us = <100>;
|
||||
off-on-delay-us = <20000>;
|
||||
enable-active-high;
|
||||
};
|
||||
};
|
||||
|
||||
rpmsg_gpio0: rpmsg-gpio0 {
|
||||
compatible = "fsl,imx-rpmsg-gpio";
|
||||
port_idx = <0>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
interrupt-parent = <&rpmsg_gpio0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
rpmsg_gpio1: rpmsg-gpio1 {
|
||||
compatible = "fsl,imx-rpmsg-gpio";
|
||||
port_idx = <1>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
interrupt-parent = <&rpmsg_gpio1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
rpmsg_keys: rpmsg-keys {
|
||||
compatible = "fsl,rpmsg-keys";
|
||||
|
||||
volume-up {
|
||||
label = "Volume Up";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
};
|
||||
|
||||
volume-down {
|
||||
label = "Volume Down";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
};
|
||||
|
||||
power-on {
|
||||
label = "PowerOn";
|
||||
linux,code = <KEY_POWER>;
|
||||
rpmsg-key,wakeup;
|
||||
};
|
||||
};
|
||||
|
||||
rpmsg_sensor: rpmsg-sensor {
|
||||
compatible = "fsl,rpmsg-input";
|
||||
};
|
||||
|
||||
rpmsg_i2s: rpmsg-i2s {
|
||||
compatible = "fsl,imx7ulp-rpmsg-i2s";
|
||||
/* the audio device index in m4 domain */
|
||||
fsl,audioindex = <0> ;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
sound-rpmsg {
|
||||
compatible = "fsl,imx-audio-rpmsg";
|
||||
model = "wm8960-audio";
|
||||
cpu-dai = <&rpmsg_i2s>;
|
||||
rpmsg-out;
|
||||
rpmsg-in;
|
||||
audio-routing =
|
||||
"Headphone Jack", "HP_L",
|
||||
"Headphone Jack", "HP_R",
|
||||
"Ext Spk", "SPK_LP",
|
||||
"Ext Spk", "SPK_LN",
|
||||
"Ext Spk", "SPK_RP",
|
||||
"Ext Spk", "SPK_RN",
|
||||
"LINPUT2", "Mic Jack",
|
||||
"LINPUT3", "Mic Jack",
|
||||
"RINPUT1", "Main MIC",
|
||||
"RINPUT2", "Main MIC",
|
||||
"Mic Jack", "MICB",
|
||||
"Main MIC", "MICB",
|
||||
"Playback", "CPU-Playback",
|
||||
"CPU-Capture", "Capture";
|
||||
};
|
||||
|
||||
imx7ulp-cm4 {
|
||||
compatible = "fsl,imx7ulp-cm4";
|
||||
ipc-only;
|
||||
rsc-da=<0x1fff8000>;
|
||||
mbox-names = "tx", "rx", "rxdb";
|
||||
mboxes = <&mu 0 1
|
||||
&mu 1 1
|
||||
&mu 3 1>;
|
||||
memory-region = <&vdev0vring0>, <&vdev0vring1>,
|
||||
<&vdev1vring0>, <&vdev1vring1>;
|
||||
};
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
arm-supply= <&sw1_reg>;
|
||||
};
|
||||
|
||||
&lpspi3 {
|
||||
fsl,spi-num-chipselects = <1>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&pinctrl_lpspi3>;
|
||||
pinctrl-1 = <&pinctrl_lpspi3>;
|
||||
status = "okay";
|
||||
|
||||
spidev0: spi@0 {
|
||||
reg = <0>;
|
||||
compatible = "rohm,dh2228fv";
|
||||
spi-max-frequency = <1000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&lpi2c5 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clock-frequency = <100000>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&pinctrl_lpi2c5>;
|
||||
pinctrl-1 = <&pinctrl_lpi2c5>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&lcdif {
|
||||
status = "okay";
|
||||
disp-dev = "mipi_dsi_northwest";
|
||||
display = <&display0>;
|
||||
|
||||
display0: display@0 {
|
||||
bits-per-pixel = <16>;
|
||||
bus-width = <24>;
|
||||
|
||||
display-timings {
|
||||
native-mode = <&timing0>;
|
||||
timing0: timing0 {
|
||||
clock-frequency = <9200000>;
|
||||
hactive = <480>;
|
||||
vactive = <272>;
|
||||
hfront-porch = <8>;
|
||||
hback-porch = <4>;
|
||||
hsync-len = <41>;
|
||||
vback-porch = <2>;
|
||||
vfront-porch = <4>;
|
||||
vsync-len = <10>;
|
||||
|
||||
hsync-active = <0>;
|
||||
vsync-active = <0>;
|
||||
de-active = <1>;
|
||||
pixelclk-active = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&lpuart4 {
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&pinctrl_lpuart4>;
|
||||
pinctrl-1 = <&pinctrl_lpuart4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&lpuart6 {
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&pinctrl_lpuart6>;
|
||||
pinctrl-1 = <&pinctrl_lpuart6>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&lpuart7 { /* Uart test */
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&pinctrl_lpuart7>;
|
||||
pinctrl-1 = <&pinctrl_lpuart7>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&lpi2c7 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clock-frequency = <100000>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&pinctrl_lpi2c7 &pinctrl_touch_io>;
|
||||
pinctrl-1 = <&pinctrl_lpi2c7 &pinctrl_touch_io>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mipi_dsi {
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&pinctrl_mipi_dsi_reset>;
|
||||
pinctrl-1 = <&pinctrl_mipi_dsi_reset>;
|
||||
lcd_panel = "TRULY-WVGA-TFT3P5581E";
|
||||
resets = <&mipi_dsi_reset>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rpmsg{
|
||||
/*
|
||||
* 64K for one rpmsg instance, default using 2 rpmsg instances:
|
||||
* --0x9FF00000~0x9FF0FFFF: pmic,pm,audio,keys,gpio,sensor
|
||||
* --0x9FF10000~0x9FF1FFFF: pingpong,virtual tty
|
||||
*/
|
||||
vdev-nums = <2>;
|
||||
reg = <0x9FF00000 0x20000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&tpm4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pwm0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbotg1 {
|
||||
vbus-supply = <®_usb_otg1_vbus>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&pinctrl_usbotg1_id>;
|
||||
pinctrl-1 = <&pinctrl_usbotg1_id>;
|
||||
srp-disable;
|
||||
hnp-disable;
|
||||
adp-disable;
|
||||
disable-over-current;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbphy1 {
|
||||
fsl,tx-d-cal = <106>;
|
||||
};
|
||||
|
||||
&usdhc0 {
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
|
||||
pinctrl-0 = <&pinctrl_usdhc0>;
|
||||
pinctrl-1 = <&pinctrl_usdhc0>;
|
||||
pinctrl-2 = <&pinctrl_usdhc0>;
|
||||
pinctrl-3 = <&pinctrl_usdhc0>;
|
||||
fsl,delay-line = <15>;
|
||||
vmmc-supply = <®_vsd_3v3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usdhc1 {
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&pinctrl_usdhc1>;
|
||||
pinctrl-1 = <&pinctrl_usdhc1>;
|
||||
bus-width = <4>;
|
||||
no-1-8-v;
|
||||
vmmc-supply = <®_sd1_vmmc>;
|
||||
pm-ignore-notify;
|
||||
keep-power-in-suspend;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&iomuxc1 {
|
||||
pinctrl_lpi2c5: lpi2c5grp {
|
||||
fsl,pins = <
|
||||
IMX7ULP_PAD_PTC4__LPI2C5_SCL 0x27
|
||||
IMX7ULP_PAD_PTC5__LPI2C5_SDA 0x27
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_mipi_dsi_reset: mipi_dsi_reset_grp {
|
||||
fsl,pins = <
|
||||
IMX7ULP_PAD_PTC19__PTC19 0x20003
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_lpuart4: lpuart4grp {
|
||||
fsl,pins = <
|
||||
IMX7ULP_PAD_PTC3__LPUART4_RX 0x3
|
||||
IMX7ULP_PAD_PTC2__LPUART4_TX 0x3
|
||||
>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
pinctrl_lpuart6: lpuart6grp {
|
||||
fsl,pins = <
|
||||
IMX7ULP_PAD_PTE10__LPUART6_TX 0x3
|
||||
IMX7ULP_PAD_PTE11__LPUART6_RX 0x3
|
||||
IMX7ULP_PAD_PTE9__LPUART6_RTS_B 0x3
|
||||
IMX7ULP_PAD_PTE8__LPUART6_CTS_B 0x3
|
||||
IMX7ULP_PAD_PTE7__PTE7 0x20000 /* BT_REG_ON */
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_lpuart7: lpuart7grp {
|
||||
fsl,pins = <
|
||||
IMX7ULP_PAD_PTF14__LPUART7_TX 0x3
|
||||
IMX7ULP_PAD_PTF15__LPUART7_RX 0x3
|
||||
IMX7ULP_PAD_PTF13__LPUART7_RTS_B 0x3
|
||||
IMX7ULP_PAD_PTF12__LPUART7_CTS_B 0x3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_lpi2c7: lpi2c7grp {
|
||||
fsl,pins = <
|
||||
IMX7ULP_PAD_PTF12__LPI2C7_SCL 0x27
|
||||
IMX7ULP_PAD_PTF13__LPI2C7_SDA 0x27
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_touch_io: touchiogrp {
|
||||
fsl,pins = <
|
||||
IMX7ULP_PAD_PTF0__PTF0 0x10043
|
||||
IMX7ULP_PAD_PTF1__PTF1 0x20043
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pwm0: pwm0grp {
|
||||
fsl,pins = <
|
||||
IMX7ULP_PAD_PTF2__TPM4_CH1 0x2
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_lpspi3: lpspi3grp {
|
||||
fsl,pins = <
|
||||
IMX7ULP_PAD_PTF16__LPSPI3_SIN 0x0
|
||||
IMX7ULP_PAD_PTF17__LPSPI3_SOUT 0x0
|
||||
IMX7ULP_PAD_PTF18__LPSPI3_SCK 0x0
|
||||
IMX7ULP_PAD_PTF19__LPSPI3_PCS0 0x0
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usbotg1_vbus: otg1vbusgrp {
|
||||
fsl,pins = <
|
||||
IMX7ULP_PAD_PTC0__PTC0 0x20000
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usbotg1_id: otg1idgrp {
|
||||
fsl,pins = <
|
||||
IMX7ULP_PAD_PTC13__USB0_ID 0x10003
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc0: usdhc0grp {
|
||||
fsl,pins = <
|
||||
IMX7ULP_PAD_PTD1__SDHC0_CMD 0x43
|
||||
IMX7ULP_PAD_PTD2__SDHC0_CLK 0x40
|
||||
IMX7ULP_PAD_PTD7__SDHC0_D3 0x43
|
||||
IMX7ULP_PAD_PTD8__SDHC0_D2 0x43
|
||||
IMX7ULP_PAD_PTD9__SDHC0_D1 0x43
|
||||
IMX7ULP_PAD_PTD10__SDHC0_D0 0x43
|
||||
//IMX7ULP_PAD_PTC10__PTC10 0x3 /* CD */
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc0_8bit: usdhc0grp_8bit {
|
||||
fsl,pins = <
|
||||
IMX7ULP_PAD_PTD1__SDHC0_CMD 0x43
|
||||
IMX7ULP_PAD_PTD2__SDHC0_CLK 0x10042
|
||||
IMX7ULP_PAD_PTD3__SDHC0_D7 0x43
|
||||
IMX7ULP_PAD_PTD4__SDHC0_D6 0x43
|
||||
IMX7ULP_PAD_PTD5__SDHC0_D5 0x43
|
||||
IMX7ULP_PAD_PTD6__SDHC0_D4 0x43
|
||||
IMX7ULP_PAD_PTD7__SDHC0_D3 0x43
|
||||
IMX7ULP_PAD_PTD8__SDHC0_D2 0x43
|
||||
IMX7ULP_PAD_PTD9__SDHC0_D1 0x43
|
||||
IMX7ULP_PAD_PTD10__SDHC0_D0 0x43
|
||||
IMX7ULP_PAD_PTD11__SDHC0_DQS 0x42
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc0_rst: usdhc0-gpio-rst-grp {
|
||||
fsl,pins = <
|
||||
IMX7ULP_PAD_PTD0__PTD0 0x3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc1: usdhc1grp {
|
||||
fsl,pins = <
|
||||
IMX7ULP_PAD_PTE3__SDHC1_CMD 0x43
|
||||
IMX7ULP_PAD_PTE2__SDHC1_CLK 0x10042
|
||||
IMX7ULP_PAD_PTE1__SDHC1_D0 0x43
|
||||
IMX7ULP_PAD_PTE0__SDHC1_D1 0x43
|
||||
IMX7ULP_PAD_PTE5__SDHC1_D2 0x43
|
||||
IMX7ULP_PAD_PTE4__SDHC1_D3 0x43
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc1_rst: usdhc1grp_rst {
|
||||
fsl,pins = <
|
||||
IMX7ULP_PAD_PTE11__PTE11 0x20000 /* USDHC1 RST */
|
||||
IMX7ULP_PAD_PTE13__PTE13 0x10003 /* USDHC1 CD */
|
||||
IMX7ULP_PAD_PTE12__PTE12 0x10003 /* USDHC1 WP */
|
||||
IMX7ULP_PAD_PTE14__SDHC1_VS 0x43 /* USDHC1 VSEL */
|
||||
>;
|
||||
};
|
||||
|
||||
};
|
Loading…
Reference in New Issue