Merge tag 'imx-dt-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt

i.MX arm32 device tree changes for 6.4:

- New board device trees: Tolino Vison, chargebyte Tarragon,
  new revision of the IOTA board.
- A couple of imx7d-remarkable2 update to enable cyttsp5 touch and
  BD71815 PMIC.
- A series from Oleksij Rempel to configure Ethernet reference clock
  from device tree.
- A series from Stefan Wahren to use label references for i.MX28 based
  boards.

* tag 'imx-dt-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (31 commits)
  ARM: dts: imx6ull: Add chargebyte Tarragon support
  ARM: dts: imx: Add devicetree for Tolino Vison
  ARM: dts: imx6dl-yapp43: Add support for new HW revision of the IOTA board
  ARM: dts: imx6dl-yapp4: Remove unneeded status "okay"
  ARM: dts: imx6dl-yapp4: Move status to the end of property list
  ARM: dts: imx6dl-yapp4: Move phy reset into switch node
  ARM: dts: imx28-tx28: add SPDX-License-Identifier
  ARM: dts: imx28-ts4600: Convert to use label references
  ARM: dts: imx28-evk: Convert to use label references
  ARM: dts: imx28-duckbill-2: Include base board
  ARM: dts: imx28-duckbill: Convert to use label references
  ARM: dts: imx28-cfa10036: Convert to use label references
  ARM: dts: imx28-apx4devkit: Convert to use label references
  ARM: dts: imx28-m28/sps1: Convert to use label references
  ARM: dts: imx28-apf28: Convert to use label references
  ARM: dts: imx7d-remarkable2: Enable the rohm,bd71815
  ARM: dts: imx7d-remarkable2: Enable the cyttsp5
  ARM: dts: imx6dl-yapp4: Use reset-gpios property name
  ARM: dts: imx6ul-prti6g: configure ethernet reference clock parent
  ARM: dts: imx6ul: set enet_clk_ref to CLK_ENETx_REF_SEL
  ...

Link: https://lore.kernel.org/r/20230408101928.280271-4-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann
2023-04-14 17:27:25 +02:00
48 changed files with 4861 additions and 2802 deletions

View File

@@ -561,7 +561,9 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
imx6dl-wandboard-revd1.dtb \
imx6dl-yapp4-draco.dtb \
imx6dl-yapp4-hydra.dtb \
imx6dl-yapp4-lynx.dtb \
imx6dl-yapp4-orion.dtb \
imx6dl-yapp4-phoenix.dtb \
imx6dl-yapp4-ursa.dtb \
imx6q-apalis-eval.dtb \
imx6q-apalis-ixora.dtb \
@@ -668,6 +670,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
imx6q-wandboard-revb1.dtb \
imx6q-wandboard-revd1.dtb \
imx6q-yapp4-crux.dtb \
imx6q-yapp4-pegasus.dtb \
imx6q-zii-rdu2.dtb \
imx6qp-mba6b.dtb \
imx6qp-nitrogen6_max.dtb \
@@ -683,6 +686,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
imx6qp-vicutp.dtb \
imx6qp-wandboard-revd1.dtb \
imx6qp-yapp4-crux-plus.dtb \
imx6qp-yapp4-pegasus-plus.dtb \
imx6qp-zii-rdu2.dtb \
imx6s-dhcom-drc02.dtb
dtb-$(CONFIG_SOC_IMX6SL) += \
@@ -690,6 +694,7 @@ dtb-$(CONFIG_SOC_IMX6SL) += \
imx6sl-kobo-aura2.dtb \
imx6sl-tolino-shine2hd.dtb \
imx6sl-tolino-shine3.dtb \
imx6sl-tolino-vision.dtb \
imx6sl-tolino-vision5.dtb \
imx6sl-warp.dtb
dtb-$(CONFIG_SOC_IMX6SLL) += \
@@ -755,6 +760,10 @@ dtb-$(CONFIG_SOC_IMX6UL) += \
imx6ull-phytec-segin-lc-rdk-nand.dtb \
imx6ull-phytec-tauri-emmc.dtb \
imx6ull-phytec-tauri-nand.dtb \
imx6ull-tarragon-master.dtb \
imx6ull-tarragon-micro.dtb \
imx6ull-tarragon-slave.dtb \
imx6ull-tarragon-slavext.dtb \
imx6ull-tqma6ull2-mba6ulx.dtb \
imx6ull-tqma6ull2l-mba6ulx.dtb \
imx6ulz-14x14-evk.dtb \

View File

@@ -14,67 +14,59 @@ memory@40000000 {
device_type = "memory";
reg = <0x40000000 0x08000000>;
};
};
apb@80000000 {
apbh@80000000 {
nand-controller@8000c000 {
pinctrl-names = "default";
pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
status = "okay";
&duart {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
partition@0 {
label = "u-boot";
reg = <0x0 0x300000>;
};
&gpmi {
pinctrl-names = "default";
pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
status = "okay";
partition@300000 {
label = "env";
reg = <0x300000 0x80000>;
};
partition@380000 {
label = "env2";
reg = <0x380000 0x80000>;
};
partition@400000 {
label = "dtb";
reg = <0x400000 0x80000>;
};
partition@480000 {
label = "splash";
reg = <0x480000 0x80000>;
};
partition@500000 {
label = "kernel";
reg = <0x500000 0x800000>;
};
partition@d00000 {
label = "rootfs";
reg = <0xd00000 0xf300000>;
};
};
};
apbx@80040000 {
duart: serial@80074000 {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
};
partition@0 {
label = "u-boot";
reg = <0x0 0x300000>;
};
ahb@80080000 {
mac0: ethernet@800f0000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>;
phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;
status = "okay";
};
partition@300000 {
label = "env";
reg = <0x300000 0x80000>;
};
partition@380000 {
label = "env2";
reg = <0x380000 0x80000>;
};
partition@400000 {
label = "dtb";
reg = <0x400000 0x80000>;
};
partition@480000 {
label = "splash";
reg = <0x480000 0x80000>;
};
partition@500000 {
label = "kernel";
reg = <0x500000 0x800000>;
};
partition@d00000 {
label = "rootfs";
reg = <0xd00000 0xf300000>;
};
};
&mac0 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>;
phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;
status = "okay";
};

View File

@@ -10,166 +10,6 @@ / {
model = "Armadeus Systems APF28Dev docking/development board";
compatible = "armadeus,imx28-apf28dev", "armadeus,imx28-apf28", "fsl,imx28";
apb@80000000 {
apbh@80000000 {
ssp0: spi@80010000 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_4bit_pins_a
&mmc0_cd_cfg &mmc0_sck_cfg>;
bus-width = <4>;
status = "okay";
};
ssp2: spi@80014000 {
compatible = "fsl,imx28-spi";
pinctrl-names = "default";
pinctrl-0 = <&spi2_pins_a>;
status = "okay";
};
pinctrl@80018000 {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_apf28dev>;
hog_pins_apf28dev: hog@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D16__GPIO_1_16
MX28_PAD_LCD_D17__GPIO_1_17
MX28_PAD_LCD_D18__GPIO_1_18
MX28_PAD_LCD_D19__GPIO_1_19
MX28_PAD_LCD_D20__GPIO_1_20
MX28_PAD_LCD_D21__GPIO_1_21
MX28_PAD_LCD_D22__GPIO_1_22
MX28_PAD_GPMI_CE1N__GPIO_0_17
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_apf28dev: lcdif-apf28dev@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RD_E__LCD_VSYNC
MX28_PAD_LCD_WR_RWN__LCD_HSYNC
MX28_PAD_LCD_RS__LCD_DOTCLK
MX28_PAD_LCD_CS__LCD_ENABLE
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
usb0_otg_apf28dev: otg-apf28dev@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D23__GPIO_1_23
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
lcdif@80030000 {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_16bit_pins_a
&lcdif_pins_apf28dev>;
display = <&display0>;
status = "okay";
display0: display0 {
bits-per-pixel = <16>;
bus-width = <16>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <33000033>;
hactive = <800>;
vactive = <480>;
hback-porch = <96>;
hfront-porch = <96>;
vback-porch = <20>;
vfront-porch = <21>;
hsync-len = <64>;
vsync-len = <4>;
hsync-active = <1>;
vsync-active = <1>;
de-active = <1>;
pixelclk-active = <0>;
};
};
};
};
can0: can@80032000 {
pinctrl-names = "default";
pinctrl-0 = <&can0_pins_a>;
xceiver-supply = <&reg_can0_vcc>;
status = "okay";
};
};
apbx@80040000 {
lradc@80050000 {
fsl,lradc-touchscreen-wires = <4>;
status = "okay";
};
i2c0: i2c@80058000 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
};
pwm: pwm@80064000 {
pinctrl-names = "default";
pinctrl-0 = <&pwm3_pins_a &pwm4_pins_a>;
status = "okay";
};
auart0: serial@8006a000 {
pinctrl-names = "default";
pinctrl-0 = <&auart0_pins_a>;
uart-has-rtscts;
status = "okay";
};
usbphy0: usbphy@8007c000 {
status = "okay";
};
usbphy1: usbphy@8007e000 {
status = "okay";
};
};
};
ahb@80080000 {
usb0: usb@80080000 {
pinctrl-names = "default";
pinctrl-0 = <&usb0_otg_apf28dev
&usb0_id_pins_b>;
vbus-supply = <&reg_usb0_vbus>;
status = "okay";
};
usb1: usb@80090000 {
status = "okay";
};
mac1: ethernet@800f4000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac1_pins_a>;
phy-reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
status = "okay";
};
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
@@ -223,3 +63,155 @@ user-button {
};
};
};
&auart0 {
pinctrl-names = "default";
pinctrl-0 = <&auart0_pins_a>;
uart-has-rtscts;
status = "okay";
};
&can0 {
pinctrl-names = "default";
pinctrl-0 = <&can0_pins_a>;
xceiver-supply = <&reg_can0_vcc>;
status = "okay";
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
};
&lcdif {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_16bit_pins_a
&lcdif_pins_apf28dev>;
display = <&display0>;
status = "okay";
display0: display0 {
bits-per-pixel = <16>;
bus-width = <16>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <33000033>;
hactive = <800>;
vactive = <480>;
hback-porch = <96>;
hfront-porch = <96>;
vback-porch = <20>;
vfront-porch = <21>;
hsync-len = <64>;
vsync-len = <4>;
hsync-active = <1>;
vsync-active = <1>;
de-active = <1>;
pixelclk-active = <0>;
};
};
};
};
&lradc {
fsl,lradc-touchscreen-wires = <4>;
status = "okay";
};
&mac1 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac1_pins_a>;
phy-reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
status = "okay";
};
&pinctrl {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_apf28dev>;
hog_pins_apf28dev: hog@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D16__GPIO_1_16
MX28_PAD_LCD_D17__GPIO_1_17
MX28_PAD_LCD_D18__GPIO_1_18
MX28_PAD_LCD_D19__GPIO_1_19
MX28_PAD_LCD_D20__GPIO_1_20
MX28_PAD_LCD_D21__GPIO_1_21
MX28_PAD_LCD_D22__GPIO_1_22
MX28_PAD_GPMI_CE1N__GPIO_0_17
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_apf28dev: lcdif-apf28dev@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RD_E__LCD_VSYNC
MX28_PAD_LCD_WR_RWN__LCD_HSYNC
MX28_PAD_LCD_RS__LCD_DOTCLK
MX28_PAD_LCD_CS__LCD_ENABLE
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
usb0_otg_apf28dev: otg-apf28dev@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D23__GPIO_1_23
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
&pwm {
pinctrl-names = "default";
pinctrl-0 = <&pwm3_pins_a &pwm4_pins_a>;
status = "okay";
};
&ssp0 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_4bit_pins_a
&mmc0_cd_cfg &mmc0_sck_cfg>;
bus-width = <4>;
status = "okay";
};
&ssp2 {
compatible = "fsl,imx28-spi";
pinctrl-names = "default";
pinctrl-0 = <&spi2_pins_a>;
status = "okay";
};
&usb0 {
pinctrl-names = "default";
pinctrl-0 = <&usb0_otg_apf28dev
&usb0_id_pins_b>;
vbus-supply = <&reg_usb0_vbus>;
status = "okay";
};
&usb1 {
status = "okay";
};
&usbphy0 {
status = "okay";
};
&usbphy1 {
status = "okay";
};

View File

@@ -11,200 +11,6 @@ memory@40000000 {
reg = <0x40000000 0x04000000>;
};
apb@80000000 {
apbh@80000000 {
nand-controller@8000c000 {
pinctrl-names = "default";
pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
status = "okay";
};
ssp0: spi@80010000 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>;
bus-width = <4>;
status = "okay";
};
ssp2: spi@80014000 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc2_4bit_pins_apx4 &mmc2_sck_cfg_apx4>;
bus-width = <4>;
status = "okay";
};
pinctrl@80018000 {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_a>;
hog_pins_a: hog@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_CE1N__GPIO_0_17
MX28_PAD_GPMI_RDY1__GPIO_0_21
MX28_PAD_SSP2_MISO__GPIO_2_18
MX28_PAD_SSP2_SS0__AUART3_TX /* was: 0x2131 - MX28_PAD_SSP2_SS0__GPIO_2_19 */
MX28_PAD_PWM3__GPIO_3_28
MX28_PAD_LCD_RESET__GPIO_3_30
MX28_PAD_JTAG_RTCK__GPIO_4_20
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_apx4: lcdif-apx4@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RD_E__LCD_VSYNC
MX28_PAD_LCD_WR_RWN__LCD_HSYNC
MX28_PAD_LCD_RS__LCD_DOTCLK
MX28_PAD_LCD_CS__LCD_ENABLE
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
mmc2_4bit_pins_apx4: mmc2-4bit-apx4@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP0_DATA4__SSP2_D0
MX28_PAD_SSP0_DATA5__SSP2_D3
MX28_PAD_SSP0_DATA6__SSP2_CMD
MX28_PAD_SSP0_DATA7__SSP2_SCK
MX28_PAD_SSP2_SS1__SSP2_D1
MX28_PAD_SSP2_SS2__SSP2_D2
>;
fsl,drive-strength = <MXS_DRIVE_8mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
mmc2_sck_cfg_apx4: mmc2-sck-cfg-apx4@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP0_DATA7__SSP2_SCK
>;
fsl,drive-strength = <MXS_DRIVE_12mA>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
lcdif@80030000 {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_24bit_pins_a
&lcdif_pins_apx4>;
display = <&display0>;
status = "okay";
display0: display0 {
bits-per-pixel = <32>;
bus-width = <24>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <30000000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hfront-porch = <40>;
vback-porch = <32>;
vfront-porch = <13>;
hsync-len = <48>;
vsync-len = <3>;
hsync-active = <1>;
vsync-active = <1>;
de-active = <1>;
pixelclk-active = <0>;
};
};
};
};
};
apbx@80040000 {
saif0: saif@80042000 {
pinctrl-names = "default";
pinctrl-0 = <&saif0_pins_a>;
status = "okay";
};
saif1: saif@80046000 {
pinctrl-names = "default";
pinctrl-0 = <&saif1_pins_a>;
fsl,saif-master = <&saif0>;
status = "okay";
};
i2c0: i2c@80058000 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
sgtl5000: codec@a {
compatible = "fsl,sgtl5000";
reg = <0x0a>;
#sound-dai-cells = <0>;
VDDA-supply = <&reg_3p3v>;
VDDIO-supply = <&reg_3p3v>;
clocks = <&saif0>;
};
pcf8563: rtc@51 {
compatible = "phg,pcf8563";
reg = <0x51>;
};
};
duart: serial@80074000 {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
auart0: serial@8006a000 {
pinctrl-names = "default";
pinctrl-0 = <&auart0_pins_a>;
status = "okay";
};
auart1: serial@8006c000 {
pinctrl-names = "default";
pinctrl-0 = <&auart1_2pins_a>;
status = "okay";
};
auart2: serial@8006e000 {
pinctrl-names = "default";
pinctrl-0 = <&auart2_2pins_a>;
status = "okay";
};
usbphy1: usbphy@8007e000 {
pinctrl-names = "default";
pinctrl-0 = <&usb1_pins_a>;
status = "okay";
};
};
};
ahb@80080000 {
usb1: usb@80090000 {
status = "okay";
};
mac0: ethernet@800f0000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>;
status = "okay";
};
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
@@ -238,3 +44,189 @@ user {
};
};
};
&auart0 {
pinctrl-names = "default";
pinctrl-0 = <&auart0_pins_a>;
status = "okay";
};
&auart1 {
pinctrl-names = "default";
pinctrl-0 = <&auart1_2pins_a>;
status = "okay";
};
&auart2 {
pinctrl-names = "default";
pinctrl-0 = <&auart2_2pins_a>;
status = "okay";
};
&duart {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
&gpmi {
pinctrl-names = "default";
pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
status = "okay";
};
&lcdif {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_24bit_pins_a
&lcdif_pins_apx4>;
display = <&display0>;
status = "okay";
display0: display0 {
bits-per-pixel = <32>;
bus-width = <24>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <30000000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hfront-porch = <40>;
vback-porch = <32>;
vfront-porch = <13>;
hsync-len = <48>;
vsync-len = <3>;
hsync-active = <1>;
vsync-active = <1>;
de-active = <1>;
pixelclk-active = <0>;
};
};
};
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
sgtl5000: codec@a {
compatible = "fsl,sgtl5000";
reg = <0x0a>;
#sound-dai-cells = <0>;
VDDA-supply = <&reg_3p3v>;
VDDIO-supply = <&reg_3p3v>;
clocks = <&saif0>;
};
pcf8563: rtc@51 {
compatible = "phg,pcf8563";
reg = <0x51>;
};
};
&mac0 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>;
status = "okay";
};
&pinctrl {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_a>;
hog_pins_a: hog@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_CE1N__GPIO_0_17
MX28_PAD_GPMI_RDY1__GPIO_0_21
MX28_PAD_SSP2_MISO__GPIO_2_18
MX28_PAD_SSP2_SS0__AUART3_TX /* was: 0x2131 - MX28_PAD_SSP2_SS0__GPIO_2_19 */
MX28_PAD_PWM3__GPIO_3_28
MX28_PAD_LCD_RESET__GPIO_3_30
MX28_PAD_JTAG_RTCK__GPIO_4_20
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_apx4: lcdif-apx4@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RD_E__LCD_VSYNC
MX28_PAD_LCD_WR_RWN__LCD_HSYNC
MX28_PAD_LCD_RS__LCD_DOTCLK
MX28_PAD_LCD_CS__LCD_ENABLE
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
mmc2_4bit_pins_apx4: mmc2-4bit-apx4@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP0_DATA4__SSP2_D0
MX28_PAD_SSP0_DATA5__SSP2_D3
MX28_PAD_SSP0_DATA6__SSP2_CMD
MX28_PAD_SSP0_DATA7__SSP2_SCK
MX28_PAD_SSP2_SS1__SSP2_D1
MX28_PAD_SSP2_SS2__SSP2_D2
>;
fsl,drive-strength = <MXS_DRIVE_8mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
mmc2_sck_cfg_apx4: mmc2-sck-cfg-apx4@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP0_DATA7__SSP2_SCK
>;
fsl,drive-strength = <MXS_DRIVE_12mA>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
&saif0 {
pinctrl-names = "default";
pinctrl-0 = <&saif0_pins_a>;
status = "okay";
};
&saif1 {
pinctrl-names = "default";
pinctrl-0 = <&saif1_pins_a>;
fsl,saif-master = <&saif0>;
status = "okay";
};
&ssp0 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>;
bus-width = <4>;
status = "okay";
};
&ssp2 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc2_4bit_pins_apx4 &mmc2_sck_cfg_apx4>;
bus-width = <4>;
status = "okay";
};
&usb1 {
status = "okay";
};
&usbphy1 {
pinctrl-names = "default";
pinctrl-0 = <&usb1_pins_a>;
status = "okay";
};

View File

@@ -16,107 +16,6 @@ memory@40000000 {
reg = <0x40000000 0x08000000>;
};
apb@80000000 {
apbh@80000000 {
pinctrl@80018000 {
ssd1306_cfa10036: ssd1306-10036@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP0_DATA7__GPIO_2_7
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
led_pins_cfa10036: leds-10036@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_AUART1_RX__GPIO_3_4
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
usb0_otg_cfa10036: otg-10036@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_RDY0__USB0_ID
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
mmc_pwr_cfa10036: mmc_pwr_cfa10036@0 {
reg = <0>;
fsl,pinmux-ids = <
0x31c3 /*
MX28_PAD_PWM3__GPIO_3_28 */
>;
fsl,drive-strength = <0>;
fsl,voltage = <1>;
fsl,pull-up = <0>;
};
};
ssp0: spi@80010000 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_4bit_pins_a
&mmc0_cd_cfg &mmc0_sck_cfg>;
vmmc-supply = <&reg_vddio_sd0>;
bus-width = <4>;
status = "okay";
};
};
apbx@80040000 {
duart: serial@80074000 {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_b>;
status = "okay";
};
i2c0: i2c@80058000 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_b>;
clock-frequency = <400000>;
status = "okay";
ssd1306: oled@3c {
compatible = "solomon,ssd1306fb-i2c";
pinctrl-names = "default";
pinctrl-0 = <&ssd1306_cfa10036>;
reg = <0x3c>;
reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>;
solomon,height = <32>;
solomon,width = <128>;
solomon,page-offset = <0>;
solomon,com-lrremap;
solomon,com-invdir;
solomon,com-offset = <32>;
};
};
usbphy0: usbphy@8007c000 {
status = "okay";
};
};
};
ahb@80080000 {
usb0: usb@80080000 {
pinctrl-names = "default";
pinctrl-0 = <&usb0_otg_cfa10036>;
dr_mode = "peripheral";
phy_type = "utmi";
status = "okay";
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
@@ -138,3 +37,95 @@ reg_vddio_sd0: vddio-sd0 {
gpio = <&gpio3 28 0>;
};
};
&duart {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_b>;
status = "okay";
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_b>;
clock-frequency = <400000>;
status = "okay";
ssd1306: oled@3c {
compatible = "solomon,ssd1306fb-i2c";
pinctrl-names = "default";
pinctrl-0 = <&ssd1306_cfa10036>;
reg = <0x3c>;
reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>;
solomon,height = <32>;
solomon,width = <128>;
solomon,page-offset = <0>;
solomon,com-lrremap;
solomon,com-invdir;
solomon,com-offset = <32>;
};
};
&pinctrl {
ssd1306_cfa10036: ssd1306-10036@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP0_DATA7__GPIO_2_7
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
led_pins_cfa10036: leds-10036@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_AUART1_RX__GPIO_3_4
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
usb0_otg_cfa10036: otg-10036@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_RDY0__USB0_ID
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
mmc_pwr_cfa10036: mmc_pwr_cfa10036@0 {
reg = <0>;
fsl,pinmux-ids = <
0x31c3 /*
MX28_PAD_PWM3__GPIO_3_28 */
>;
fsl,drive-strength = <0>;
fsl,voltage = <1>;
fsl,pull-up = <0>;
};
};
&ssp0 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_4bit_pins_a
&mmc0_cd_cfg &mmc0_sck_cfg>;
vmmc-supply = <&reg_vddio_sd0>;
bus-width = <4>;
status = "okay";
};
&usb0 {
pinctrl-names = "default";
pinctrl-0 = <&usb0_otg_cfa10036>;
dr_mode = "peripheral";
phy_type = "utmi";
status = "okay";
};
&usbphy0 {
status = "okay";
};

View File

@@ -78,226 +78,6 @@ pca9555: pca9555@20 {
};
};
apb@80000000 {
apbh@80000000 {
pinctrl@80018000 {
usb_pins_cfa10049: usb-10049@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_D07__GPIO_0_7
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
i2cmux_pins_cfa10049: i2cmux-10049@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D22__GPIO_1_22
MX28_PAD_LCD_D23__GPIO_1_23
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
mac0_pins_cfa10049: mac0-10049@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP2_SS2__GPIO_2_21
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
pca_pins_cfa10049: pca-10049@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP2_SS0__GPIO_2_19
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
rotary_pins_cfa10049: rotary-10049@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_I2C0_SCL__GPIO_3_24
MX28_PAD_I2C0_SDA__GPIO_3_25
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
rotary_btn_pins_cfa10049: rotary-btn-10049@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SAIF1_SDATA0__GPIO_3_26
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
spi2_pins_cfa10049: spi2-cfa10049@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP2_SCK__GPIO_2_16
MX28_PAD_SSP2_MOSI__GPIO_2_17
MX28_PAD_SSP2_MISO__GPIO_2_18
MX28_PAD_AUART1_TX__GPIO_3_5
>;
fsl,drive-strength = <MXS_DRIVE_8mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
spi3_pins_cfa10049: spi3-cfa10049@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_RDN__GPIO_0_24
MX28_PAD_GPMI_RESETN__GPIO_0_28
MX28_PAD_GPMI_CE1N__GPIO_0_17
MX28_PAD_GPMI_ALE__GPIO_0_26
MX28_PAD_GPMI_CLE__GPIO_0_27
>;
fsl,drive-strength = <MXS_DRIVE_8mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
lcdif_18bit_pins_cfa10049: lcdif-18bit@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D00__LCD_D0
MX28_PAD_LCD_D01__LCD_D1
MX28_PAD_LCD_D02__LCD_D2
MX28_PAD_LCD_D03__LCD_D3
MX28_PAD_LCD_D04__LCD_D4
MX28_PAD_LCD_D05__LCD_D5
MX28_PAD_LCD_D06__LCD_D6
MX28_PAD_LCD_D07__LCD_D7
MX28_PAD_LCD_D08__LCD_D8
MX28_PAD_LCD_D09__LCD_D9
MX28_PAD_LCD_D10__LCD_D10
MX28_PAD_LCD_D11__LCD_D11
MX28_PAD_LCD_D12__LCD_D12
MX28_PAD_LCD_D13__LCD_D13
MX28_PAD_LCD_D14__LCD_D14
MX28_PAD_LCD_D15__LCD_D15
MX28_PAD_LCD_D16__LCD_D16
MX28_PAD_LCD_D17__LCD_D17
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_cfa10049: lcdif-evk@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RD_E__LCD_VSYNC
MX28_PAD_LCD_WR_RWN__LCD_HSYNC
MX28_PAD_LCD_RS__LCD_DOTCLK
MX28_PAD_LCD_CS__LCD_ENABLE
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_cfa10049_pullup: lcdif-10049-pullup@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RESET__GPIO_3_30
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
w1_gpio_pins: w1-gpio@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D21__GPIO_1_21
>;
fsl,drive-strength = <MXS_DRIVE_8mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>; /* 0 will enable the keeper */
};
};
lcdif@80030000 {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_18bit_pins_cfa10049
&lcdif_pins_cfa10049
&lcdif_pins_cfa10049_pullup>;
display = <&display0>;
status = "okay";
display0: display0 {
bits-per-pixel = <32>;
bus-width = <18>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <9216000>;
hactive = <320>;
vactive = <480>;
hback-porch = <2>;
hfront-porch = <2>;
vback-porch = <2>;
vfront-porch = <2>;
hsync-len = <15>;
vsync-len = <15>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
};
apbx@80040000 {
pwm: pwm@80064000 {
pinctrl-names = "default";
pinctrl-0 = <&pwm3_pins_b>;
status = "okay";
};
i2c1: i2c@8005a000 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "okay";
};
usbphy1: usbphy@8007e000 {
status = "okay";
};
lradc@80050000 {
status = "okay";
fsl,lradc-touchscreen-wires = <4>;
};
};
};
ahb@80080000 {
usb1: usb@80090000 {
vbus-supply = <&reg_usb1_vbus>;
pinctrl-0 = <&usb1_pins_a>;
pinctrl-names = "default";
status = "okay";
};
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
@@ -315,18 +95,6 @@ reg_usb1_vbus: regulator@0 {
};
};
ahb@80080000 {
mac0: ethernet@800f0000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a
&mac0_pins_cfa10049>;
phy-reset-gpios = <&gpio2 21 GPIO_ACTIVE_LOW>;
phy-reset-duration = <100>;
status = "okay";
};
};
spi-2 {
compatible = "spi-gpio";
pinctrl-names = "default";
@@ -426,3 +194,225 @@ onewire {
gpios = <&gpio1 21 0>;
};
};
&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "okay";
};
&lcdif {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_18bit_pins_cfa10049
&lcdif_pins_cfa10049
&lcdif_pins_cfa10049_pullup>;
display = <&display0>;
status = "okay";
display0: display0 {
bits-per-pixel = <32>;
bus-width = <18>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <9216000>;
hactive = <320>;
vactive = <480>;
hback-porch = <2>;
hfront-porch = <2>;
vback-porch = <2>;
vfront-porch = <2>;
hsync-len = <15>;
vsync-len = <15>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
&lradc {
fsl,lradc-touchscreen-wires = <4>;
status = "okay";
};
&mac0 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a
&mac0_pins_cfa10049>;
phy-reset-gpios = <&gpio2 21 GPIO_ACTIVE_LOW>;
phy-reset-duration = <100>;
status = "okay";
};
&pinctrl {
usb_pins_cfa10049: usb-10049@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_D07__GPIO_0_7
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
i2cmux_pins_cfa10049: i2cmux-10049@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D22__GPIO_1_22
MX28_PAD_LCD_D23__GPIO_1_23
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
mac0_pins_cfa10049: mac0-10049@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP2_SS2__GPIO_2_21
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
pca_pins_cfa10049: pca-10049@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP2_SS0__GPIO_2_19
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
rotary_pins_cfa10049: rotary-10049@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_I2C0_SCL__GPIO_3_24
MX28_PAD_I2C0_SDA__GPIO_3_25
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
rotary_btn_pins_cfa10049: rotary-btn-10049@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SAIF1_SDATA0__GPIO_3_26
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
spi2_pins_cfa10049: spi2-cfa10049@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP2_SCK__GPIO_2_16
MX28_PAD_SSP2_MOSI__GPIO_2_17
MX28_PAD_SSP2_MISO__GPIO_2_18
MX28_PAD_AUART1_TX__GPIO_3_5
>;
fsl,drive-strength = <MXS_DRIVE_8mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
spi3_pins_cfa10049: spi3-cfa10049@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_RDN__GPIO_0_24
MX28_PAD_GPMI_RESETN__GPIO_0_28
MX28_PAD_GPMI_CE1N__GPIO_0_17
MX28_PAD_GPMI_ALE__GPIO_0_26
MX28_PAD_GPMI_CLE__GPIO_0_27
>;
fsl,drive-strength = <MXS_DRIVE_8mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
lcdif_18bit_pins_cfa10049: lcdif-18bit@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D00__LCD_D0
MX28_PAD_LCD_D01__LCD_D1
MX28_PAD_LCD_D02__LCD_D2
MX28_PAD_LCD_D03__LCD_D3
MX28_PAD_LCD_D04__LCD_D4
MX28_PAD_LCD_D05__LCD_D5
MX28_PAD_LCD_D06__LCD_D6
MX28_PAD_LCD_D07__LCD_D7
MX28_PAD_LCD_D08__LCD_D8
MX28_PAD_LCD_D09__LCD_D9
MX28_PAD_LCD_D10__LCD_D10
MX28_PAD_LCD_D11__LCD_D11
MX28_PAD_LCD_D12__LCD_D12
MX28_PAD_LCD_D13__LCD_D13
MX28_PAD_LCD_D14__LCD_D14
MX28_PAD_LCD_D15__LCD_D15
MX28_PAD_LCD_D16__LCD_D16
MX28_PAD_LCD_D17__LCD_D17
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_cfa10049: lcdif-evk@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RD_E__LCD_VSYNC
MX28_PAD_LCD_WR_RWN__LCD_HSYNC
MX28_PAD_LCD_RS__LCD_DOTCLK
MX28_PAD_LCD_CS__LCD_ENABLE
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_cfa10049_pullup: lcdif-10049-pullup@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RESET__GPIO_3_30
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
w1_gpio_pins: w1-gpio@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D21__GPIO_1_21
>;
fsl,drive-strength = <MXS_DRIVE_8mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>; /* 0 will enable the keeper */
};
};
&pwm {
pinctrl-names = "default";
pinctrl-0 = <&pwm3_pins_b>;
status = "okay";
};
&usb1 {
vbus-supply = <&reg_usb1_vbus>;
pinctrl-0 = <&usb1_pins_a>;
pinctrl-names = "default";
status = "okay";
};
&usbphy1 {
status = "okay";
};

View File

@@ -14,121 +14,6 @@ / {
model = "Crystalfontz CFA-10055 Board";
compatible = "crystalfontz,cfa10055", "crystalfontz,cfa10037", "crystalfontz,cfa10036", "fsl,imx28";
apb@80000000 {
apbh@80000000 {
pinctrl@80018000 {
spi2_pins_cfa10055: spi2-cfa10055@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP2_SCK__GPIO_2_16
MX28_PAD_SSP2_MOSI__GPIO_2_17
MX28_PAD_SSP2_MISO__GPIO_2_18
MX28_PAD_AUART1_TX__GPIO_3_5
>;
fsl,drive-strength = <MXS_DRIVE_8mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
lcdif_18bit_pins_cfa10055: lcdif-18bit@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D00__LCD_D0
MX28_PAD_LCD_D01__LCD_D1
MX28_PAD_LCD_D02__LCD_D2
MX28_PAD_LCD_D03__LCD_D3
MX28_PAD_LCD_D04__LCD_D4
MX28_PAD_LCD_D05__LCD_D5
MX28_PAD_LCD_D06__LCD_D6
MX28_PAD_LCD_D07__LCD_D7
MX28_PAD_LCD_D08__LCD_D8
MX28_PAD_LCD_D09__LCD_D9
MX28_PAD_LCD_D10__LCD_D10
MX28_PAD_LCD_D11__LCD_D11
MX28_PAD_LCD_D12__LCD_D12
MX28_PAD_LCD_D13__LCD_D13
MX28_PAD_LCD_D14__LCD_D14
MX28_PAD_LCD_D15__LCD_D15
MX28_PAD_LCD_D16__LCD_D16
MX28_PAD_LCD_D17__LCD_D17
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_cfa10055: lcdif-evk@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RD_E__LCD_VSYNC
MX28_PAD_LCD_WR_RWN__LCD_HSYNC
MX28_PAD_LCD_RS__LCD_DOTCLK
MX28_PAD_LCD_CS__LCD_ENABLE
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_cfa10055_pullup: lcdif-10055-pullup@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RESET__GPIO_3_30
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
};
lcdif@80030000 {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_18bit_pins_cfa10055
&lcdif_pins_cfa10055
&lcdif_pins_cfa10055_pullup>;
display = <&display0>;
status = "okay";
display0: display0 {
bits-per-pixel = <32>;
bus-width = <18>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <9216000>;
hactive = <320>;
vactive = <480>;
hback-porch = <2>;
hfront-porch = <2>;
vback-porch = <2>;
vfront-porch = <2>;
hsync-len = <15>;
vsync-len = <15>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
};
apbx@80040000 {
lradc@80050000 {
fsl,lradc-touchscreen-wires = <4>;
status = "okay";
};
pwm: pwm@80064000 {
pinctrl-names = "default";
pinctrl-0 = <&pwm3_pins_b>;
status = "okay";
};
};
};
spi-2 {
compatible = "spi-gpio";
pinctrl-names = "default";
@@ -159,3 +44,112 @@ backlight {
default-brightness-level = <6>;
};
};
&lcdif {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_18bit_pins_cfa10055
&lcdif_pins_cfa10055
&lcdif_pins_cfa10055_pullup>;
display = <&display0>;
status = "okay";
display0: display0 {
bits-per-pixel = <32>;
bus-width = <18>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <9216000>;
hactive = <320>;
vactive = <480>;
hback-porch = <2>;
hfront-porch = <2>;
vback-porch = <2>;
vfront-porch = <2>;
hsync-len = <15>;
vsync-len = <15>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
&lradc {
fsl,lradc-touchscreen-wires = <4>;
status = "okay";
};
&pinctrl {
spi2_pins_cfa10055: spi2-cfa10055@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP2_SCK__GPIO_2_16
MX28_PAD_SSP2_MOSI__GPIO_2_17
MX28_PAD_SSP2_MISO__GPIO_2_18
MX28_PAD_AUART1_TX__GPIO_3_5
>;
fsl,drive-strength = <MXS_DRIVE_8mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
lcdif_18bit_pins_cfa10055: lcdif-18bit@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D00__LCD_D0
MX28_PAD_LCD_D01__LCD_D1
MX28_PAD_LCD_D02__LCD_D2
MX28_PAD_LCD_D03__LCD_D3
MX28_PAD_LCD_D04__LCD_D4
MX28_PAD_LCD_D05__LCD_D5
MX28_PAD_LCD_D06__LCD_D6
MX28_PAD_LCD_D07__LCD_D7
MX28_PAD_LCD_D08__LCD_D8
MX28_PAD_LCD_D09__LCD_D9
MX28_PAD_LCD_D10__LCD_D10
MX28_PAD_LCD_D11__LCD_D11
MX28_PAD_LCD_D12__LCD_D12
MX28_PAD_LCD_D13__LCD_D13
MX28_PAD_LCD_D14__LCD_D14
MX28_PAD_LCD_D15__LCD_D15
MX28_PAD_LCD_D16__LCD_D16
MX28_PAD_LCD_D17__LCD_D17
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_cfa10055: lcdif-evk@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RD_E__LCD_VSYNC
MX28_PAD_LCD_WR_RWN__LCD_HSYNC
MX28_PAD_LCD_RS__LCD_DOTCLK
MX28_PAD_LCD_CS__LCD_ENABLE
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_cfa10055_pullup: lcdif-10055-pullup@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RESET__GPIO_3_30
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
};
&pwm {
pinctrl-names = "default";
pinctrl-0 = <&pwm3_pins_b>;
status = "okay";
};

View File

@@ -13,81 +13,6 @@ / {
model = "Crystalfontz CFA-10056 Board";
compatible = "crystalfontz,cfa10056", "crystalfontz,cfa10037", "crystalfontz,cfa10036", "fsl,imx28";
apb@80000000 {
apbh@80000000 {
pinctrl@80018000 {
spi2_pins_cfa10056: spi2-cfa10056@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP2_SCK__GPIO_2_16
MX28_PAD_SSP2_MOSI__GPIO_2_17
MX28_PAD_SSP2_MISO__GPIO_2_18
MX28_PAD_AUART1_TX__GPIO_3_5
>;
fsl,drive-strength = <MXS_DRIVE_8mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
lcdif_pins_cfa10056: lcdif-10056@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RD_E__LCD_VSYNC
MX28_PAD_LCD_WR_RWN__LCD_HSYNC
MX28_PAD_LCD_RS__LCD_DOTCLK
MX28_PAD_LCD_CS__LCD_ENABLE
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_cfa10056_pullup: lcdif-10056-pullup@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RESET__GPIO_3_30
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
};
lcdif@80030000 {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_24bit_pins_a
&lcdif_pins_cfa10056
&lcdif_pins_cfa10056_pullup >;
display = <&display0>;
status = "okay";
display0: display0 {
bits-per-pixel = <32>;
bus-width = <24>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <32000000>;
hactive = <480>;
vactive = <800>;
hback-porch = <2>;
hfront-porch = <2>;
vback-porch = <2>;
vfront-porch = <2>;
hsync-len = <5>;
vsync-len = <5>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
};
};
spi-2 {
compatible = "spi-gpio";
pinctrl-names = "default";
@@ -111,3 +36,74 @@ hx8369: hx8369@0 {
};
};
};
&pinctrl {
spi2_pins_cfa10056: spi2-cfa10056@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP2_SCK__GPIO_2_16
MX28_PAD_SSP2_MOSI__GPIO_2_17
MX28_PAD_SSP2_MISO__GPIO_2_18
MX28_PAD_AUART1_TX__GPIO_3_5
>;
fsl,drive-strength = <MXS_DRIVE_8mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
lcdif_pins_cfa10056: lcdif-10056@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RD_E__LCD_VSYNC
MX28_PAD_LCD_WR_RWN__LCD_HSYNC
MX28_PAD_LCD_RS__LCD_DOTCLK
MX28_PAD_LCD_CS__LCD_ENABLE
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_cfa10056_pullup: lcdif-10056-pullup@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RESET__GPIO_3_30
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_ENABLE>;
};
};
&lcdif {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_24bit_pins_a
&lcdif_pins_cfa10056
&lcdif_pins_cfa10056_pullup >;
display = <&display0>;
status = "okay";
display0: display0 {
bits-per-pixel = <32>;
bus-width = <24>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <32000000>;
hactive = <480>;
vactive = <800>;
hback-porch = <2>;
hfront-porch = <2>;
vback-porch = <2>;
vfront-porch = <2>;
hsync-len = <5>;
vsync-len = <5>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};

View File

@@ -14,126 +14,6 @@ / {
model = "Crystalfontz CFA-10057 Board";
compatible = "crystalfontz,cfa10057", "crystalfontz,cfa10036", "fsl,imx28";
apb@80000000 {
apbh@80000000 {
pinctrl@80018000 {
usb_pins_cfa10057: usb-10057@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_D07__GPIO_0_7
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_18bit_pins_cfa10057: lcdif-18bit@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D00__LCD_D0
MX28_PAD_LCD_D01__LCD_D1
MX28_PAD_LCD_D02__LCD_D2
MX28_PAD_LCD_D03__LCD_D3
MX28_PAD_LCD_D04__LCD_D4
MX28_PAD_LCD_D05__LCD_D5
MX28_PAD_LCD_D06__LCD_D6
MX28_PAD_LCD_D07__LCD_D7
MX28_PAD_LCD_D08__LCD_D8
MX28_PAD_LCD_D09__LCD_D9
MX28_PAD_LCD_D10__LCD_D10
MX28_PAD_LCD_D11__LCD_D11
MX28_PAD_LCD_D12__LCD_D12
MX28_PAD_LCD_D13__LCD_D13
MX28_PAD_LCD_D14__LCD_D14
MX28_PAD_LCD_D15__LCD_D15
MX28_PAD_LCD_D16__LCD_D16
MX28_PAD_LCD_D17__LCD_D17
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_cfa10057: lcdif-evk@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RD_E__LCD_VSYNC
MX28_PAD_LCD_WR_RWN__LCD_HSYNC
MX28_PAD_LCD_RS__LCD_DOTCLK
MX28_PAD_LCD_CS__LCD_ENABLE
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
lcdif@80030000 {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_18bit_pins_cfa10057
&lcdif_pins_cfa10057>;
display = <&display0>;
status = "okay";
display0: display0 {
bits-per-pixel = <32>;
bus-width = <18>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <30000000>;
hactive = <480>;
vactive = <800>;
hfront-porch = <12>;
hback-porch = <2>;
vfront-porch = <5>;
vback-porch = <3>;
hsync-len = <2>;
vsync-len = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
};
apbx@80040000 {
lradc@80050000 {
fsl,lradc-touchscreen-wires = <4>;
status = "okay";
};
pwm: pwm@80064000 {
pinctrl-names = "default";
pinctrl-0 = <&pwm4_pins_a>;
status = "okay";
};
i2c1: i2c@8005a000 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "okay";
};
usbphy1: usbphy@8007e000 {
status = "okay";
};
};
};
ahb@80080000 {
usb1: usb@80090000 {
vbus-supply = <&reg_usb1_vbus>;
pinctrl-0 = <&usb1_pins_a>;
pinctrl-names = "default";
status = "okay";
};
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
@@ -151,17 +31,6 @@ reg_usb1_vbus: regulator@0 {
};
};
ahb@80080000 {
mac0: ethernet@800f0000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>;
phy-reset-gpios = <&gpio2 21 GPIO_ACTIVE_LOW>;
phy-reset-duration = <100>;
status = "okay";
};
};
backlight {
compatible = "pwm-backlight";
pwms = <&pwm 4 5000000>;
@@ -169,3 +38,124 @@ backlight {
default-brightness-level = <7>;
};
};
&lcdif {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_18bit_pins_cfa10057
&lcdif_pins_cfa10057>;
display = <&display0>;
status = "okay";
display0: display0 {
bits-per-pixel = <32>;
bus-width = <18>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <30000000>;
hactive = <480>;
vactive = <800>;
hfront-porch = <12>;
hback-porch = <2>;
vfront-porch = <5>;
vback-porch = <3>;
hsync-len = <2>;
vsync-len = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
&lradc {
fsl,lradc-touchscreen-wires = <4>;
status = "okay";
};
&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "okay";
};
&mac0 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>;
phy-reset-gpios = <&gpio2 21 GPIO_ACTIVE_LOW>;
phy-reset-duration = <100>;
status = "okay";
};
&pinctrl {
usb_pins_cfa10057: usb-10057@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_D07__GPIO_0_7
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_18bit_pins_cfa10057: lcdif-18bit@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D00__LCD_D0
MX28_PAD_LCD_D01__LCD_D1
MX28_PAD_LCD_D02__LCD_D2
MX28_PAD_LCD_D03__LCD_D3
MX28_PAD_LCD_D04__LCD_D4
MX28_PAD_LCD_D05__LCD_D5
MX28_PAD_LCD_D06__LCD_D6
MX28_PAD_LCD_D07__LCD_D7
MX28_PAD_LCD_D08__LCD_D8
MX28_PAD_LCD_D09__LCD_D9
MX28_PAD_LCD_D10__LCD_D10
MX28_PAD_LCD_D11__LCD_D11
MX28_PAD_LCD_D12__LCD_D12
MX28_PAD_LCD_D13__LCD_D13
MX28_PAD_LCD_D14__LCD_D14
MX28_PAD_LCD_D15__LCD_D15
MX28_PAD_LCD_D16__LCD_D16
MX28_PAD_LCD_D17__LCD_D17
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_cfa10057: lcdif-evk@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RD_E__LCD_VSYNC
MX28_PAD_LCD_WR_RWN__LCD_HSYNC
MX28_PAD_LCD_RS__LCD_DOTCLK
MX28_PAD_LCD_CS__LCD_ENABLE
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
&pwm {
pinctrl-names = "default";
pinctrl-0 = <&pwm4_pins_a>;
status = "okay";
};
&usb1 {
vbus-supply = <&reg_usb1_vbus>;
pinctrl-0 = <&usb1_pins_a>;
pinctrl-names = "default";
status = "okay";
};
&usbphy1 {
status = "okay";
};

View File

@@ -14,93 +14,6 @@ / {
model = "Crystalfontz CFA-10058 Board";
compatible = "crystalfontz,cfa10058", "crystalfontz,cfa10036", "fsl,imx28";
apb@80000000 {
apbh@80000000 {
pinctrl@80018000 {
usb_pins_cfa10058: usb-10058@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_D07__GPIO_0_7
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_cfa10058: lcdif-10058@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RD_E__LCD_VSYNC
MX28_PAD_LCD_WR_RWN__LCD_HSYNC
MX28_PAD_LCD_RS__LCD_DOTCLK
MX28_PAD_LCD_CS__LCD_ENABLE
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
lcdif@80030000 {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_24bit_pins_a
&lcdif_pins_cfa10058>;
display = <&display0>;
status = "okay";
display0: display0 {
bits-per-pixel = <32>;
bus-width = <24>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <30000000>;
hactive = <800>;
vactive = <480>;
hback-porch = <40>;
hfront-porch = <40>;
vback-porch = <13>;
vfront-porch = <29>;
hsync-len = <8>;
vsync-len = <8>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
};
apbx@80040000 {
lradc@80050000 {
fsl,lradc-touchscreen-wires = <4>;
status = "okay";
};
pwm: pwm@80064000 {
pinctrl-names = "default";
pinctrl-0 = <&pwm3_pins_b>;
status = "okay";
};
usbphy1: usbphy@8007e000 {
status = "okay";
};
};
};
ahb@80080000 {
usb1: usb@80090000 {
vbus-supply = <&reg_usb1_vbus>;
pinctrl-0 = <&usb1_pins_a>;
pinctrl-names = "default";
status = "okay";
};
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
@@ -118,17 +31,6 @@ reg_usb1_vbus: regulator@0 {
};
};
ahb@80080000 {
mac0: ethernet@800f0000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>;
phy-reset-gpios = <&gpio2 21 GPIO_ACTIVE_LOW>;
phy-reset-duration = <100>;
status = "okay";
};
};
backlight {
compatible = "pwm-backlight";
pwms = <&pwm 3 5000000>;
@@ -136,3 +38,91 @@ backlight {
default-brightness-level = <6>;
};
};
&lcdif {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_24bit_pins_a
&lcdif_pins_cfa10058>;
display = <&display0>;
status = "okay";
display0: display0 {
bits-per-pixel = <32>;
bus-width = <24>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <30000000>;
hactive = <800>;
vactive = <480>;
hback-porch = <40>;
hfront-porch = <40>;
vback-porch = <13>;
vfront-porch = <29>;
hsync-len = <8>;
vsync-len = <8>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
&lradc {
fsl,lradc-touchscreen-wires = <4>;
status = "okay";
};
&mac0 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>;
phy-reset-gpios = <&gpio2 21 GPIO_ACTIVE_LOW>;
phy-reset-duration = <100>;
status = "okay";
};
&pinctrl {
usb_pins_cfa10058: usb-10058@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_D07__GPIO_0_7
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_cfa10058: lcdif-10058@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RD_E__LCD_VSYNC
MX28_PAD_LCD_WR_RWN__LCD_HSYNC
MX28_PAD_LCD_RS__LCD_DOTCLK
MX28_PAD_LCD_CS__LCD_ENABLE
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
&pwm {
pinctrl-names = "default";
pinctrl-0 = <&pwm3_pins_b>;
status = "okay";
};
&usb1 {
vbus-supply = <&reg_usb1_vbus>;
pinctrl-0 = <&usb1_pins_a>;
pinctrl-names = "default";
status = "okay";
};
&usbphy1 {
status = "okay";
};

View File

@@ -5,172 +5,13 @@
*/
/dts-v1/;
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/gpio/gpio.h>
#include "imx28.dtsi"
#include "imx28-duckbill-2.dts"
/ {
model = "I2SE Duckbill 2 485";
compatible = "i2se,duckbill-2-485", "i2se,duckbill-2", "fsl,imx28";
memory@40000000 {
device_type = "memory";
reg = <0x40000000 0x08000000>;
};
apb@80000000 {
apbh@80000000 {
ssp0: spi@80010000 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_8bit_pins_a
&mmc0_cd_cfg &mmc0_sck_cfg>;
bus-width = <8>;
vmmc-supply = <&reg_3p3v>;
status = "okay";
non-removable;
};
ssp2: spi@80014000 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc2_4bit_pins_b
&mmc2_cd_cfg &mmc2_sck_cfg_b>;
bus-width = <4>;
vmmc-supply = <&reg_3p3v>;
status = "okay";
};
pinctrl@80018000 {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_a>;
hog_pins_a: hog@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
mac0_phy_reset_pin: mac0-phy-reset@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_ALE__GPIO_0_26 /* PHY Reset */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
mac0_phy_int_pin: mac0-phy-int@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_D07__GPIO_0_7 /* PHY Interrupt */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
led_pins: leds@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SAIF0_MCLK__GPIO_3_20
MX28_PAD_SAIF0_LRCLK__GPIO_3_21
MX28_PAD_I2C0_SCL__GPIO_3_24
MX28_PAD_I2C0_SDA__GPIO_3_25
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
};
apbx@80040000 {
lradc@80050000 {
status = "okay";
};
auart0: serial@8006a000 {
pinctrl-names = "default";
pinctrl-0 = <&auart0_2pins_a>;
status = "okay";
};
duart: serial@80074000 {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
usbphy0: usbphy@8007c000 {
status = "okay";
};
};
};
ahb@80080000 {
usb0: usb@80080000 {
status = "okay";
dr_mode = "peripheral";
};
mac0: ethernet@800f0000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>;
phy-supply = <&reg_3p3v>;
phy-reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
phy-reset-duration = <25>;
phy-handle = <&ethphy>;
status = "okay";
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
pinctrl-names = "default";
pinctrl-0 = <&mac0_phy_int_pin>;
interrupt-parent = <&gpio0>;
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
max-speed = <100>;
};
};
};
};
reg_3p3v: regulator-3p3v {
compatible = "regulator-fixed";
regulator-name = "3P3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins>;
status-red {
label = "duckbill:red:status";
gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "default-on";
};
status-green {
label = "duckbill:green:status";
gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
};
rs485-red {
label = "duckbill:red:rs485";
gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
@@ -182,3 +23,16 @@ rs485-green {
};
};
};
&i2c0 {
status = "disabled";
};
&led_pins {
fsl,pinmux-ids = <
MX28_PAD_SAIF0_MCLK__GPIO_3_20
MX28_PAD_SAIF0_LRCLK__GPIO_3_21
MX28_PAD_I2C0_SCL__GPIO_3_24
MX28_PAD_I2C0_SDA__GPIO_3_25
>;
};

View File

@@ -5,184 +5,14 @@
*/
/dts-v1/;
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
#include "imx28.dtsi"
#include "imx28-duckbill-2.dts"
/ {
model = "I2SE Duckbill 2 EnOcean";
compatible = "i2se,duckbill-2-enocean", "i2se,duckbill-2", "fsl,imx28";
memory@40000000 {
device_type = "memory";
reg = <0x40000000 0x08000000>;
};
apb@80000000 {
apbh@80000000 {
ssp0: spi@80010000 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_8bit_pins_a
&mmc0_cd_cfg &mmc0_sck_cfg>;
bus-width = <8>;
vmmc-supply = <&reg_3p3v>;
status = "okay";
non-removable;
};
ssp2: spi@80014000 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc2_4bit_pins_b
&mmc2_cd_cfg &mmc2_sck_cfg_b>;
bus-width = <4>;
vmmc-supply = <&reg_3p3v>;
status = "okay";
};
pinctrl@80018000 {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_a>;
hog_pins_a: hog@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
mac0_phy_reset_pin: mac0-phy-reset@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_ALE__GPIO_0_26 /* PHY Reset */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
mac0_phy_int_pin: mac0-phy-int@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_D07__GPIO_0_7 /* PHY Interrupt */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
led_pins: leds@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SAIF0_MCLK__GPIO_3_20
MX28_PAD_SAIF0_LRCLK__GPIO_3_21
MX28_PAD_AUART0_CTS__GPIO_3_2
MX28_PAD_I2C0_SCL__GPIO_3_24
MX28_PAD_I2C0_SDA__GPIO_3_25
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
enocean_button: enocean-button@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_AUART0_RTS__GPIO_3_3
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
};
apbx@80040000 {
lradc@80050000 {
status = "okay";
};
auart0: serial@8006a000 {
pinctrl-names = "default";
pinctrl-0 = <&auart0_2pins_a>;
status = "okay";
};
duart: serial@80074000 {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
usbphy0: usbphy@8007c000 {
status = "okay";
};
};
};
ahb@80080000 {
usb0: usb@80080000 {
status = "okay";
dr_mode = "peripheral";
};
mac0: ethernet@800f0000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>;
phy-supply = <&reg_3p3v>;
phy-reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
phy-reset-duration = <25>;
phy-handle = <&ethphy>;
status = "okay";
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
pinctrl-names = "default";
pinctrl-0 = <&mac0_phy_int_pin>;
interrupt-parent = <&gpio0>;
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
max-speed = <100>;
};
};
};
};
reg_3p3v: regulator-3p3v {
compatible = "regulator-fixed";
regulator-name = "3P3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins>;
status-red {
label = "duckbill:red:status";
gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "default-on";
};
status-green {
label = "duckbill:green:status";
gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
};
enocean-blue {
label = "duckbill:blue:enocean";
gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
@@ -211,3 +41,29 @@ key-enocean {
};
};
};
&i2c0 {
status = "disabled";
};
&led_pins {
fsl,pinmux-ids = <
MX28_PAD_SAIF0_MCLK__GPIO_3_20
MX28_PAD_SAIF0_LRCLK__GPIO_3_21
MX28_PAD_AUART0_CTS__GPIO_3_2
MX28_PAD_I2C0_SCL__GPIO_3_24
MX28_PAD_I2C0_SDA__GPIO_3_25
>;
};
&pinctrl {
enocean_button: enocean-button@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_AUART0_RTS__GPIO_3_3
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};

View File

@@ -5,9 +5,7 @@
*/
/dts-v1/;
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/gpio/gpio.h>
#include "imx28.dtsi"
#include "imx28-duckbill-2.dts"
/ {
model = "I2SE Duckbill 2 SPI";
@@ -16,179 +14,50 @@ / {
aliases {
ethernet1 = &qca7000;
};
};
memory@40000000 {
device_type = "memory";
reg = <0x40000000 0x08000000>;
};
&auart0 {
status = "disabled";
};
apb@80000000 {
apbh@80000000 {
ssp0: spi@80010000 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_8bit_pins_a
&mmc0_cd_cfg &mmc0_sck_cfg>;
bus-width = <8>;
vmmc-supply = <&reg_3p3v>;
status = "okay";
non-removable;
};
&i2c0 {
status = "disabled";
};
ssp2: spi@80014000 {
compatible = "fsl,imx28-spi";
pinctrl-names = "default";
pinctrl-0 = <&spi2_pins_a>;
status = "okay";
qca7000: ethernet@0 {
reg = <0>;
compatible = "qca,qca7000";
pinctrl-names = "default";
pinctrl-0 = <&qca7000_pins>;
interrupt-parent = <&gpio3>;
interrupts = <3 IRQ_TYPE_EDGE_RISING>;
spi-cpha;
spi-cpol;
spi-max-frequency = <8000000>;
};
};
pinctrl@80018000 {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_a>;
hog_pins_a: hog@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
mac0_phy_reset_pin: mac0-phy-reset@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_ALE__GPIO_0_26 /* PHY Reset */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
mac0_phy_int_pin: mac0-phy-int@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_D07__GPIO_0_7 /* PHY Interrupt */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
led_pins: led@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SAIF0_MCLK__GPIO_3_20
MX28_PAD_SAIF0_LRCLK__GPIO_3_21
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
qca7000_pins: qca7000@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_AUART0_RTS__GPIO_3_3 /* Interrupt */
MX28_PAD_LCD_D13__GPIO_1_13 /* QCA7K reset */
MX28_PAD_LCD_D14__GPIO_1_14 /* GPIO 0 */
MX28_PAD_LCD_D15__GPIO_1_15 /* GPIO 1 */
MX28_PAD_LCD_D18__GPIO_1_18 /* GPIO 2 */
MX28_PAD_LCD_D21__GPIO_1_21 /* GPIO 3 */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
};
apbx@80040000 {
lradc@80050000 {
status = "okay";
};
duart: serial@80074000 {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
usbphy0: usbphy@8007c000 {
status = "okay";
};
};
};
ahb@80080000 {
usb0: usb@80080000 {
status = "okay";
dr_mode = "peripheral";
};
mac0: ethernet@800f0000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>;
phy-supply = <&reg_3p3v>;
phy-reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
phy-reset-duration = <25>;
phy-handle = <&ethphy>;
status = "okay";
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
pinctrl-names = "default";
pinctrl-0 = <&mac0_phy_int_pin>;
interrupt-parent = <&gpio0>;
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
max-speed = <100>;
};
};
};
};
reg_3p3v: regulator-3p3v {
compatible = "regulator-fixed";
regulator-name = "3P3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins>;
status-red {
label = "duckbill:red:status";
gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "default-on";
};
status-green {
label = "duckbill:green:status";
gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
};
&pinctrl {
qca7000_pins: qca7000@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_AUART0_RTS__GPIO_3_3 /* Interrupt */
MX28_PAD_LCD_D13__GPIO_1_13 /* QCA7K reset */
MX28_PAD_LCD_D14__GPIO_1_14 /* GPIO 0 */
MX28_PAD_LCD_D15__GPIO_1_15 /* GPIO 1 */
MX28_PAD_LCD_D18__GPIO_1_18 /* GPIO 2 */
MX28_PAD_LCD_D21__GPIO_1_21 /* GPIO 3 */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
&ssp2 {
compatible = "fsl,imx28-spi";
pinctrl-names = "default";
pinctrl-0 = <&spi2_pins_a>;
/delete-property/ bus-width;
/delete-property/ vmmc-supply;
status = "okay";
qca7000: ethernet@0 {
reg = <0>;
compatible = "qca,qca7000";
pinctrl-names = "default";
pinctrl-0 = <&qca7000_pins>;
interrupt-parent = <&gpio3>;
interrupts = <3 IRQ_TYPE_EDGE_RISING>;
spi-cpha;
spi-cpol;
spi-max-frequency = <8000000>;
};
};

View File

@@ -18,138 +18,6 @@ memory@40000000 {
reg = <0x40000000 0x08000000>;
};
apb@80000000 {
apbh@80000000 {
ssp0: spi@80010000 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_8bit_pins_a
&mmc0_cd_cfg &mmc0_sck_cfg>;
bus-width = <8>;
vmmc-supply = <&reg_3p3v>;
status = "okay";
non-removable;
};
ssp2: spi@80014000 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc2_4bit_pins_b
&mmc2_cd_cfg &mmc2_sck_cfg_b>;
bus-width = <4>;
vmmc-supply = <&reg_3p3v>;
status = "okay";
};
pinctrl@80018000 {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_a>;
hog_pins_a: hog@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
mac0_phy_reset_pin: mac0-phy-reset@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_ALE__GPIO_0_26 /* PHY Reset */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
mac0_phy_int_pin: mac0-phy-int@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_D07__GPIO_0_7 /* PHY Interrupt */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
led_pins: leds@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SAIF0_MCLK__GPIO_3_20
MX28_PAD_SAIF0_LRCLK__GPIO_3_21
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
};
apbx@80040000 {
lradc@80050000 {
status = "okay";
};
i2c0: i2c@80058000 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
};
auart0: serial@8006a000 {
pinctrl-names = "default";
pinctrl-0 = <&auart0_2pins_a>;
status = "okay";
};
duart: serial@80074000 {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
usbphy0: usbphy@8007c000 {
status = "okay";
};
};
};
ahb@80080000 {
usb0: usb@80080000 {
status = "okay";
dr_mode = "peripheral";
};
mac0: ethernet@800f0000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>;
phy-supply = <&reg_3p3v>;
phy-reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
phy-reset-duration = <25>;
phy-handle = <&ethphy>;
status = "okay";
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
pinctrl-names = "default";
pinctrl-0 = <&mac0_phy_int_pin>;
interrupt-parent = <&gpio0>;
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
max-speed = <100>;
};
};
};
};
reg_3p3v: regulator-3p3v {
compatible = "regulator-fixed";
regulator-name = "3P3V";
@@ -176,3 +44,127 @@ status-green {
};
};
};
&auart0 {
pinctrl-names = "default";
pinctrl-0 = <&auart0_2pins_a>;
status = "okay";
};
&duart {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
};
&lradc {
status = "okay";
};
&mac0 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>;
phy-supply = <&reg_3p3v>;
phy-reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
phy-reset-duration = <25>;
phy-handle = <&ethphy>;
status = "okay";
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
pinctrl-names = "default";
pinctrl-0 = <&mac0_phy_int_pin>;
interrupt-parent = <&gpio0>;
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
max-speed = <100>;
};
};
};
&pinctrl {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_a>;
hog_pins_a: hog@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
mac0_phy_reset_pin: mac0-phy-reset@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_ALE__GPIO_0_26 /* PHY Reset */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
mac0_phy_int_pin: mac0-phy-int@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_D07__GPIO_0_7 /* PHY Interrupt */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
led_pins: leds@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SAIF0_MCLK__GPIO_3_20
MX28_PAD_SAIF0_LRCLK__GPIO_3_21
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
&ssp0 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_8bit_pins_a
&mmc0_cd_cfg &mmc0_sck_cfg>;
bus-width = <8>;
vmmc-supply = <&reg_3p3v>;
status = "okay";
non-removable;
};
&ssp2 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc2_4bit_pins_b
&mmc2_cd_cfg &mmc2_sck_cfg_b>;
bus-width = <4>;
vmmc-supply = <&reg_3p3v>;
status = "okay";
};
&usb0 {
status = "okay";
dr_mode = "peripheral";
};
&usbphy0 {
status = "okay";
};

View File

@@ -17,108 +17,6 @@ memory@40000000 {
reg = <0x40000000 0x08000000>;
};
apb@80000000 {
apbh@80000000 {
ssp0: spi@80010000 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_4bit_pins_a
&mmc0_cd_cfg &mmc0_sck_cfg>;
bus-width = <4>;
vmmc-supply = <&reg_3p3v>;
status = "okay";
};
ssp2: spi@80014000 {
compatible = "fsl,imx28-spi";
pinctrl-names = "default";
pinctrl-0 = <&spi2_pins_a>;
status = "okay";
};
pinctrl@80018000 {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_a>;
hog_pins_a: hog@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
mac0_phy_reset_pin: mac0-phy-reset@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP0_DATA7__GPIO_2_7 /* PHY Reset */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
led_pins: leds@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_AUART1_RX__GPIO_3_4
MX28_PAD_AUART1_TX__GPIO_3_5
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
};
apbx@80040000 {
lradc@80050000 {
status = "okay";
};
i2c0: i2c@80058000 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
};
auart0: serial@8006a000 {
pinctrl-names = "default";
pinctrl-0 = <&auart0_2pins_a>;
status = "okay";
};
duart: serial@80074000 {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
usbphy0: usbphy@8007c000 {
status = "okay";
};
};
};
ahb@80080000 {
usb0: usb@80080000 {
status = "okay";
dr_mode = "peripheral";
};
mac0: ethernet@800f0000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>;
phy-supply = <&reg_3p3v>;
phy-reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>;
phy-reset-duration = <25>;
status = "okay";
};
};
reg_3p3v: regulator-3p3v {
compatible = "regulator-fixed";
regulator-name = "3P3V";
@@ -145,3 +43,97 @@ status-green {
};
};
};
&auart0 {
pinctrl-names = "default";
pinctrl-0 = <&auart0_2pins_a>;
status = "okay";
};
&duart {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
&lradc {
status = "okay";
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
};
&mac0 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>;
phy-supply = <&reg_3p3v>;
phy-reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>;
phy-reset-duration = <25>;
status = "okay";
};
&pinctrl {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_a>;
hog_pins_a: hog@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
mac0_phy_reset_pin: mac0-phy-reset@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP0_DATA7__GPIO_2_7 /* PHY Reset */
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
led_pins: leds@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_AUART1_RX__GPIO_3_4
MX28_PAD_AUART1_TX__GPIO_3_5
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
&ssp0 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_4bit_pins_a
&mmc0_cd_cfg &mmc0_sck_cfg>;
bus-width = <4>;
vmmc-supply = <&reg_3p3v>;
status = "okay";
};
&ssp2 {
compatible = "fsl,imx28-spi";
pinctrl-names = "default";
pinctrl-0 = <&spi2_pins_a>;
status = "okay";
};
&usb0 {
dr_mode = "peripheral";
status = "okay";
};
&usbphy0 {
status = "okay";
};

View File

@@ -95,242 +95,6 @@ panel_in: endpoint {
};
};
apb@80000000 {
apbh@80000000 {
nand-controller@8000c000 {
pinctrl-names = "default";
pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg
&gpmi_pins_evk>;
status = "okay";
};
ssp0: spi@80010000 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_8bit_pins_a
&mmc0_cd_cfg &mmc0_sck_cfg>;
bus-width = <8>;
wp-gpios = <&gpio2 12 0>;
vmmc-supply = <&reg_vddio_sd0>;
status = "okay";
};
ssp1: spi@80012000 {
compatible = "fsl,imx28-mmc";
bus-width = <8>;
wp-gpios = <&gpio0 28 0>;
};
ssp2: spi@80014000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,imx28-spi";
pinctrl-names = "default";
pinctrl-0 = <&spi2_pins_a>;
status = "okay";
flash: flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "sst,sst25vf016b", "jedec,spi-nor";
spi-max-frequency = <40000000>;
reg = <0>;
};
};
pinctrl@80018000 {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_a>;
hog_pins_a: hog@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP1_CMD__GPIO_2_13
MX28_PAD_SSP1_DATA3__GPIO_2_15
MX28_PAD_ENET0_RX_CLK__GPIO_4_13
MX28_PAD_SSP1_SCK__GPIO_2_12
MX28_PAD_PWM3__GPIO_3_28
MX28_PAD_LCD_RESET__GPIO_3_30
MX28_PAD_AUART2_RX__GPIO_3_8
MX28_PAD_AUART2_TX__GPIO_3_9
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
led_pin_gpio3_5: led_gpio3_5@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_AUART1_TX__GPIO_3_5
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
gpmi_pins_evk: gpmi-nand-evk@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_CE1N__GPMI_CE1N
MX28_PAD_GPMI_RDY1__GPMI_READY1
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_evk: lcdif-evk@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RD_E__LCD_VSYNC
MX28_PAD_LCD_WR_RWN__LCD_HSYNC
MX28_PAD_LCD_RS__LCD_DOTCLK
MX28_PAD_LCD_CS__LCD_ENABLE
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
lcdif@80030000 {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_24bit_pins_a
&lcdif_pins_evk>;
status = "okay";
port {
display_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
can0: can@80032000 {
pinctrl-names = "default";
pinctrl-0 = <&can0_pins_a>;
xceiver-supply = <&reg_can_3v3>;
status = "okay";
};
can1: can@80034000 {
pinctrl-names = "default";
pinctrl-0 = <&can1_pins_a>;
xceiver-supply = <&reg_can_3v3>;
status = "okay";
};
};
apbx@80040000 {
saif0: saif@80042000 {
pinctrl-names = "default";
pinctrl-0 = <&saif0_pins_a>;
status = "okay";
};
saif1: saif@80046000 {
pinctrl-names = "default";
pinctrl-0 = <&saif1_pins_a>;
fsl,saif-master = <&saif0>;
status = "okay";
};
lradc@80050000 {
status = "okay";
fsl,lradc-touchscreen-wires = <4>;
fsl,ave-ctrl = <4>;
fsl,ave-delay = <2>;
fsl,settling = <10>;
};
i2c0: i2c@80058000 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
sgtl5000: codec@a {
compatible = "fsl,sgtl5000";
reg = <0x0a>;
#sound-dai-cells = <0>;
VDDA-supply = <&reg_3p3v>;
VDDIO-supply = <&reg_3p3v>;
clocks = <&saif0>;
};
at24@51 {
compatible = "atmel,24c32";
pagesize = <32>;
reg = <0x51>;
};
};
pwm: pwm@80064000 {
pinctrl-names = "default";
pinctrl-0 = <&pwm2_pins_a>;
status = "okay";
};
duart: serial@80074000 {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
auart0: serial@8006a000 {
pinctrl-names = "default";
pinctrl-0 = <&auart0_pins_a>;
uart-has-rtscts;
status = "okay";
};
auart3: serial@80070000 {
pinctrl-names = "default";
pinctrl-0 = <&auart3_pins_a>;
status = "okay";
};
usbphy0: usbphy@8007c000 {
status = "okay";
};
usbphy1: usbphy@8007e000 {
status = "okay";
};
};
};
ahb@80080000 {
usb0: usb@80080000 {
pinctrl-names = "default";
pinctrl-0 = <&usb0_id_pins_a>;
vbus-supply = <&reg_usb0_vbus>;
status = "okay";
};
usb1: usb@80090000 {
vbus-supply = <&reg_usb1_vbus>;
status = "okay";
};
mac0: ethernet@800f0000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>;
phy-supply = <&reg_fec_3v3>;
phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;
phy-reset-duration = <100>;
status = "okay";
};
mac1: ethernet@800f4000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac1_pins_a>;
status = "okay";
};
};
sound {
compatible = "fsl,imx28-evk-sgtl5000",
"fsl,mxs-audio-sgtl5000";
@@ -358,3 +122,231 @@ backlight_display: backlight {
default-brightness-level = <6>;
};
};
&auart0 {
pinctrl-names = "default";
pinctrl-0 = <&auart0_pins_a>;
uart-has-rtscts;
status = "okay";
};
&auart3 {
pinctrl-names = "default";
pinctrl-0 = <&auart3_pins_a>;
status = "okay";
};
&can0 {
pinctrl-names = "default";
pinctrl-0 = <&can0_pins_a>;
xceiver-supply = <&reg_can_3v3>;
status = "okay";
};
&can1 {
pinctrl-names = "default";
pinctrl-0 = <&can1_pins_a>;
xceiver-supply = <&reg_can_3v3>;
status = "okay";
};
&duart {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
&gpmi {
pinctrl-names = "default";
pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg
&gpmi_pins_evk>;
status = "okay";
};
&lcdif {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_24bit_pins_a
&lcdif_pins_evk>;
status = "okay";
port {
display_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
&lradc {
fsl,lradc-touchscreen-wires = <4>;
fsl,ave-ctrl = <4>;
fsl,ave-delay = <2>;
fsl,settling = <10>;
status = "okay";
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
sgtl5000: codec@a {
compatible = "fsl,sgtl5000";
reg = <0x0a>;
#sound-dai-cells = <0>;
VDDA-supply = <&reg_3p3v>;
VDDIO-supply = <&reg_3p3v>;
clocks = <&saif0>;
};
at24@51 {
compatible = "atmel,24c32";
pagesize = <32>;
reg = <0x51>;
};
};
&mac0 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>;
phy-supply = <&reg_fec_3v3>;
phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;
phy-reset-duration = <100>;
status = "okay";
};
&mac1 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac1_pins_a>;
status = "okay";
};
&pinctrl {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_a>;
hog_pins_a: hog@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP1_CMD__GPIO_2_13
MX28_PAD_SSP1_DATA3__GPIO_2_15
MX28_PAD_ENET0_RX_CLK__GPIO_4_13
MX28_PAD_SSP1_SCK__GPIO_2_12
MX28_PAD_PWM3__GPIO_3_28
MX28_PAD_LCD_RESET__GPIO_3_30
MX28_PAD_AUART2_RX__GPIO_3_8
MX28_PAD_AUART2_TX__GPIO_3_9
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
led_pin_gpio3_5: led_gpio3_5@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_AUART1_TX__GPIO_3_5
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
gpmi_pins_evk: gpmi-nand-evk@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_CE1N__GPMI_CE1N
MX28_PAD_GPMI_RDY1__GPMI_READY1
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_evk: lcdif-evk@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_RD_E__LCD_VSYNC
MX28_PAD_LCD_WR_RWN__LCD_HSYNC
MX28_PAD_LCD_RS__LCD_DOTCLK
MX28_PAD_LCD_CS__LCD_ENABLE
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
&pwm {
pinctrl-names = "default";
pinctrl-0 = <&pwm2_pins_a>;
status = "okay";
};
&saif0 {
pinctrl-names = "default";
pinctrl-0 = <&saif0_pins_a>;
status = "okay";
};
&saif1 {
pinctrl-names = "default";
pinctrl-0 = <&saif1_pins_a>;
fsl,saif-master = <&saif0>;
status = "okay";
};
&ssp0 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_8bit_pins_a
&mmc0_cd_cfg &mmc0_sck_cfg>;
bus-width = <8>;
wp-gpios = <&gpio2 12 0>;
vmmc-supply = <&reg_vddio_sd0>;
status = "okay";
};
&ssp1 {
compatible = "fsl,imx28-mmc";
bus-width = <8>;
wp-gpios = <&gpio0 28 0>;
};
&ssp2 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,imx28-spi";
pinctrl-names = "default";
pinctrl-0 = <&spi2_pins_a>;
status = "okay";
flash: flash@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <1>;
compatible = "sst,sst25vf016b", "jedec,spi-nor";
spi-max-frequency = <40000000>;
};
};
&usb0 {
pinctrl-names = "default";
pinctrl-0 = <&usb0_id_pins_a>;
vbus-supply = <&reg_usb0_vbus>;
status = "okay";
};
&usb1 {
vbus-supply = <&reg_usb1_vbus>;
status = "okay";
};
&usbphy0 {
status = "okay";
};
&usbphy1 {
status = "okay";
};

View File

@@ -14,31 +14,6 @@ memory@40000000 {
reg = <0x40000000 0x08000000>;
};
apb@80000000 {
apbh@80000000 {
nand-controller@8000c000 {
#address-cells = <1>;
#size-cells = <1>;
pinctrl-names = "default";
pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
status = "okay";
};
};
apbx@80040000 {
i2c0: i2c@80058000 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
rtc: rtc@68 {
compatible = "st,m41t62";
reg = <0x68>;
};
};
};
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
@@ -54,3 +29,22 @@ reg_3p3v: regulator@0 {
};
};
};
&gpmi {
#address-cells = <1>;
#size-cells = <1>;
pinctrl-names = "default";
pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
status = "okay";
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
rtc: rtc@68 {
compatible = "st,m41t62";
reg = <0x68>;
};
};

View File

@@ -15,187 +15,6 @@ memory@40000000 {
reg = <0x40000000 0x08000000>;
};
apb@80000000 {
apbh@80000000 {
nand-controller@8000c000 {
#address-cells = <1>;
#size-cells = <1>;
pinctrl-names = "default";
pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
status = "okay";
partition@0 {
label = "gpmi-nfc-0-boot";
reg = <0x00000000 0x01400000>;
read-only;
};
partition@1 {
label = "gpmi-nfc-general-use";
reg = <0x01400000 0x0ec00000>;
};
};
ssp0: spi@80010000 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_4bit_pins_a
&mmc0_cd_cfg
&mmc0_sck_cfg>;
bus-width = <4>;
vmmc-supply = <&reg_vddio_sd0>;
status = "okay";
};
ssp2: spi@80014000 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc2_4bit_pins_a
&mmc2_cd_cfg
&mmc2_sck_cfg_a>;
bus-width = <4>;
vmmc-supply = <&reg_vddio_sd1>;
status = "okay";
};
pinctrl@80018000 {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_a>;
hog_pins_a: hog@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP2_SS0__GPIO_2_19
MX28_PAD_PWM4__GPIO_3_29
MX28_PAD_AUART2_RX__GPIO_3_8
MX28_PAD_ENET0_RX_CLK__GPIO_4_13
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_m28: lcdif-m28@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_VSYNC__LCD_VSYNC
MX28_PAD_LCD_HSYNC__LCD_HSYNC
MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
MX28_PAD_LCD_RESET__LCD_RESET
MX28_PAD_LCD_CS__LCD_ENABLE
MX28_PAD_AUART1_TX__GPIO_3_5
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
led_pins_gpio: leds-m28@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP3_MISO__GPIO_2_26
MX28_PAD_SSP3_SCK__GPIO_2_24
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
ocotp@8002c000 {
status = "okay";
};
lcdif@80030000 {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_24bit_pins_a
&lcdif_pins_m28>;
display = <&display0>;
status = "okay";
display0: display0 {
bits-per-pixel = <32>;
bus-width = <24>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <6410256>;
hactive = <320>;
vactive = <240>;
hback-porch = <38>;
hfront-porch = <20>;
vback-porch = <15>;
vfront-porch = <5>;
hsync-len = <30>;
vsync-len = <3>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
};
apbx@80040000 {
duart: serial@80074000 {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_b>;
status = "okay";
};
usbphy1: usbphy@8007e000 {
status = "okay";
};
auart0: serial@8006a000 {
pinctrl-names = "default";
pinctrl-0 = <&auart0_2pins_a>;
status = "okay";
};
auart3: serial@80070000 {
pinctrl-names = "default";
pinctrl-0 = <&auart3_2pins_b>;
status = "okay";
};
pwm: pwm@80064000 {
pinctrl-names = "default";
pinctrl-0 = <&pwm3_pins_a>;
status = "okay";
};
};
};
ahb@80080000 {
usb1: usb@80090000 {
vbus-supply = <&reg_usb1_vbus>;
pinctrl-names = "default";
pinctrl-0 = <&usb1_pins_a>;
disable-over-current;
status = "okay";
};
mac0: ethernet@800f0000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>;
phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;
phy-reset-duration = <100>;
status = "okay";
};
mac1: ethernet@800f4000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac1_pins_a>;
status = "okay";
};
};
backlight {
compatible = "pwm-backlight";
pwms = <&pwm 3 5000000>;
@@ -264,3 +83,176 @@ reg_usb1_vbus: regulator@3 {
};
};
};
&auart0 {
pinctrl-names = "default";
pinctrl-0 = <&auart0_2pins_a>;
status = "okay";
};
&auart3 {
pinctrl-names = "default";
pinctrl-0 = <&auart3_2pins_b>;
status = "okay";
};
&duart {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_b>;
status = "okay";
};
&gpmi {
#address-cells = <1>;
#size-cells = <1>;
pinctrl-names = "default";
pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
status = "okay";
partition@0 {
label = "gpmi-nfc-0-boot";
reg = <0x00000000 0x01400000>;
read-only;
};
partition@1 {
label = "gpmi-nfc-general-use";
reg = <0x01400000 0x0ec00000>;
};
};
&lcdif {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_24bit_pins_a
&lcdif_pins_m28>;
display = <&display0>;
status = "okay";
display0: display0 {
bits-per-pixel = <32>;
bus-width = <24>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <6410256>;
hactive = <320>;
vactive = <240>;
hback-porch = <38>;
hfront-porch = <20>;
vback-porch = <15>;
vfront-porch = <5>;
hsync-len = <30>;
vsync-len = <3>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
&mac0 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>;
phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;
phy-reset-duration = <100>;
status = "okay";
};
&mac1 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac1_pins_a>;
status = "okay";
};
&ocotp {
status = "okay";
};
&pinctrl {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_a>;
hog_pins_a: hog@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP2_SS0__GPIO_2_19
MX28_PAD_PWM4__GPIO_3_29
MX28_PAD_AUART2_RX__GPIO_3_8
MX28_PAD_ENET0_RX_CLK__GPIO_4_13
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_m28: lcdif-m28@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_VSYNC__LCD_VSYNC
MX28_PAD_LCD_HSYNC__LCD_HSYNC
MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
MX28_PAD_LCD_RESET__LCD_RESET
MX28_PAD_LCD_CS__LCD_ENABLE
MX28_PAD_AUART1_TX__GPIO_3_5
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
led_pins_gpio: leds-m28@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_SSP3_MISO__GPIO_2_26
MX28_PAD_SSP3_SCK__GPIO_2_24
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
&pwm {
pinctrl-names = "default";
pinctrl-0 = <&pwm3_pins_a>;
status = "okay";
};
&ssp0 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_4bit_pins_a
&mmc0_cd_cfg
&mmc0_sck_cfg>;
bus-width = <4>;
vmmc-supply = <&reg_vddio_sd0>;
status = "okay";
};
&ssp2 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc2_4bit_pins_a
&mmc2_cd_cfg
&mmc2_sck_cfg_a>;
bus-width = <4>;
vmmc-supply = <&reg_vddio_sd1>;
status = "okay";
};
&usb1 {
vbus-supply = <&reg_usb1_vbus>;
pinctrl-names = "default";
pinctrl-0 = <&usb1_pins_a>;
disable-over-current;
status = "okay";
};
&usbphy1 {
status = "okay";
};

View File

@@ -11,220 +11,6 @@ / {
model = "Aries/DENX M28EVK";
compatible = "aries,m28evk", "denx,m28evk", "fsl,imx28";
apb@80000000 {
apbh@80000000 {
ssp0: spi@80010000 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_8bit_pins_a
&mmc0_cd_cfg
&mmc0_sck_cfg>;
bus-width = <8>;
wp-gpios = <&gpio3 10 0>;
vmmc-supply = <&reg_vddio_sd0>;
status = "okay";
};
ssp2: spi@80014000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,imx28-spi";
pinctrl-names = "default";
pinctrl-0 = <&spi2_pins_a>;
status = "okay";
flash: flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "m25p80", "jedec,spi-nor";
spi-max-frequency = <40000000>;
reg = <0>;
};
};
pinctrl@80018000 {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_a>;
hog_pins_a: hog@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_PWM3__GPIO_3_28
MX28_PAD_AUART2_CTS__GPIO_3_10
MX28_PAD_AUART2_RTS__GPIO_3_11
MX28_PAD_AUART3_RX__GPIO_3_12
MX28_PAD_AUART3_TX__GPIO_3_13
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_m28: lcdif-m28@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
MX28_PAD_LCD_ENABLE__LCD_ENABLE
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
lcdif@80030000 {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_24bit_pins_a
&lcdif_pins_m28>;
display = <&display0>;
status = "okay";
display0: display0 {
bits-per-pixel = <16>;
bus-width = <18>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <33260000>;
hactive = <800>;
vactive = <480>;
hback-porch = <0>;
hfront-porch = <256>;
vback-porch = <0>;
vfront-porch = <45>;
hsync-len = <1>;
vsync-len = <1>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
can0: can@80032000 {
pinctrl-names = "default";
pinctrl-0 = <&can0_pins_a>;
status = "okay";
};
can1: can@80034000 {
pinctrl-names = "default";
pinctrl-0 = <&can1_pins_a>;
status = "okay";
};
};
apbx@80040000 {
saif0: saif@80042000 {
pinctrl-names = "default";
pinctrl-0 = <&saif0_pins_a>;
status = "okay";
};
saif1: saif@80046000 {
pinctrl-names = "default";
pinctrl-0 = <&saif1_pins_a>;
fsl,saif-master = <&saif0>;
status = "okay";
};
i2c0: i2c@80058000 {
sgtl5000: codec@a {
compatible = "fsl,sgtl5000";
reg = <0x0a>;
#sound-dai-cells = <0>;
VDDA-supply = <&reg_3p3v>;
VDDIO-supply = <&reg_3p3v>;
clocks = <&saif0>;
};
eeprom: eeprom@51 {
compatible = "atmel,24c128";
reg = <0x51>;
pagesize = <32>;
};
};
lradc@80050000 {
status = "okay";
fsl,lradc-touchscreen-wires = <4>;
};
duart: serial@80074000 {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
usbphy0: usbphy@8007c000 {
status = "okay";
};
usbphy1: usbphy@8007e000 {
status = "okay";
};
auart0: serial@8006a000 {
pinctrl-names = "default";
pinctrl-0 = <&auart0_pins_a>;
status = "okay";
};
auart1: serial@8006c000 {
pinctrl-names = "default";
pinctrl-0 = <&auart1_pins_a>;
status = "okay";
};
auart2: serial@8006e000 {
pinctrl-names = "default";
pinctrl-0 = <&auart2_2pins_b>;
status = "okay";
};
pwm: pwm@80064000 {
pinctrl-names = "default";
pinctrl-0 = <&pwm4_pins_a>;
status = "okay";
};
};
};
ahb@80080000 {
usb0: usb@80080000 {
vbus-supply = <&reg_usb0_vbus>;
pinctrl-names = "default";
pinctrl-0 = <&usb0_pins_a>;
status = "okay";
};
usb1: usb@80090000 {
vbus-supply = <&reg_usb1_vbus>;
pinctrl-names = "default";
pinctrl-0 = <&usb1_pins_a>;
status = "okay";
};
mac0: ethernet@800f0000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>;
clocks = <&clks 57>, <&clks 57>;
clock-names = "ipg", "ahb";
status = "okay";
};
mac1: ethernet@800f4000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac1_pins_a>;
status = "okay";
};
};
backlight {
compatible = "pwm-backlight";
pwms = <&pwm 4 5000000>;
@@ -269,3 +55,209 @@ sound {
audio-codec = <&sgtl5000>;
};
};
&auart0 {
pinctrl-names = "default";
pinctrl-0 = <&auart0_pins_a>;
status = "okay";
};
&auart1 {
pinctrl-names = "default";
pinctrl-0 = <&auart1_pins_a>;
status = "okay";
};
&auart2 {
pinctrl-names = "default";
pinctrl-0 = <&auart2_2pins_b>;
status = "okay";
};
&duart {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
&i2c0 {
sgtl5000: codec@a {
compatible = "fsl,sgtl5000";
reg = <0x0a>;
#sound-dai-cells = <0>;
VDDA-supply = <&reg_3p3v>;
VDDIO-supply = <&reg_3p3v>;
clocks = <&saif0>;
};
eeprom: eeprom@51 {
compatible = "atmel,24c128";
reg = <0x51>;
pagesize = <32>;
};
};
&lcdif {
pinctrl-names = "default";
pinctrl-0 = <&lcdif_24bit_pins_a
&lcdif_pins_m28>;
display = <&display0>;
status = "okay";
display0: display0 {
bits-per-pixel = <16>;
bus-width = <18>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <33260000>;
hactive = <800>;
vactive = <480>;
hback-porch = <0>;
hfront-porch = <256>;
vback-porch = <0>;
vfront-porch = <45>;
hsync-len = <1>;
vsync-len = <1>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
&lradc {
status = "okay";
fsl,lradc-touchscreen-wires = <4>;
};
&can0 {
pinctrl-names = "default";
pinctrl-0 = <&can0_pins_a>;
status = "okay";
};
&can1 {
pinctrl-names = "default";
pinctrl-0 = <&can1_pins_a>;
status = "okay";
};
&mac0 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>;
clocks = <&clks 57>, <&clks 57>;
clock-names = "ipg", "ahb";
status = "okay";
};
&mac1 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac1_pins_a>;
status = "okay";
};
&pinctrl {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_a>;
hog_pins_a: hog@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_PWM3__GPIO_3_28
MX28_PAD_AUART2_CTS__GPIO_3_10
MX28_PAD_AUART2_RTS__GPIO_3_11
MX28_PAD_AUART3_RX__GPIO_3_12
MX28_PAD_AUART3_TX__GPIO_3_13
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
lcdif_pins_m28: lcdif-m28@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
MX28_PAD_LCD_ENABLE__LCD_ENABLE
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
&pwm {
pinctrl-names = "default";
pinctrl-0 = <&pwm4_pins_a>;
status = "okay";
};
&saif0 {
pinctrl-names = "default";
pinctrl-0 = <&saif0_pins_a>;
status = "okay";
};
&saif1 {
pinctrl-names = "default";
pinctrl-0 = <&saif1_pins_a>;
fsl,saif-master = <&saif0>;
status = "okay";
};
&ssp0 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_8bit_pins_a
&mmc0_cd_cfg
&mmc0_sck_cfg>;
bus-width = <8>;
wp-gpios = <&gpio3 10 0>;
vmmc-supply = <&reg_vddio_sd0>;
status = "okay";
};
&ssp2 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,imx28-spi";
pinctrl-names = "default";
pinctrl-0 = <&spi2_pins_a>;
status = "okay";
flash: flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "m25p80", "jedec,spi-nor";
spi-max-frequency = <40000000>;
reg = <0>;
};
};
&usb0 {
vbus-supply = <&reg_usb0_vbus>;
pinctrl-names = "default";
pinctrl-0 = <&usb0_pins_a>;
status = "okay";
};
&usb1 {
vbus-supply = <&reg_usb1_vbus>;
pinctrl-names = "default";
pinctrl-0 = <&usb1_pins_a>;
status = "okay";
};
&usbphy0 {
status = "okay";
};
&usbphy1 {
status = "okay";
};

View File

@@ -15,111 +15,6 @@ memory@40000000 {
reg = <0x40000000 0x08000000>;
};
apb@80000000 {
apbh@80000000 {
pinctrl@80018000 {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_a>;
hog_pins_a: hog-gpios@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_D00__GPIO_0_0
MX28_PAD_GPMI_D03__GPIO_0_3
MX28_PAD_GPMI_D06__GPIO_0_6
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
ssp0: spi@80010000 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_4bit_pins_a>;
bus-width = <4>;
status = "okay";
};
ssp2: spi@80014000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,imx28-spi";
pinctrl-names = "default";
pinctrl-0 = <&spi2_pins_a>;
status = "okay";
flash: flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "everspin,mr25h256", "mr25h256";
spi-max-frequency = <40000000>;
reg = <0>;
};
};
};
apbx@80040000 {
i2c0: i2c@80058000 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
rtc: rtc@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
};
eeprom: eeprom@52 {
compatible = "atmel,24c64";
reg = <0x52>;
pagesize = <32>;
};
};
duart: serial@80074000 {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
usbphy0: usbphy@8007c000 {
status = "okay";
};
auart0: serial@8006a000 {
pinctrl-names = "default";
pinctrl-0 = <&auart0_pins_a>;
status = "okay";
};
};
};
ahb@80080000 {
usb0: usb@80080000 {
vbus-supply = <&reg_usb0_vbus>;
pinctrl-names = "default";
pinctrl-0 = <&usb0_pins_b>;
status = "okay";
};
mac0: ethernet@800f0000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>;
status = "okay";
};
mac1: ethernet@800f4000 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac1_pins_a>;
status = "okay";
};
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
@@ -164,3 +59,99 @@ led@3 {
};
};
&auart0 {
pinctrl-names = "default";
pinctrl-0 = <&auart0_pins_a>;
status = "okay";
};
&duart {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
rtc: rtc@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
};
eeprom: eeprom@52 {
compatible = "atmel,24c64";
reg = <0x52>;
pagesize = <32>;
};
};
&mac0 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>;
status = "okay";
};
&mac1 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac1_pins_a>;
status = "okay";
};
&pinctrl {
pinctrl-names = "default";
pinctrl-0 = <&hog_pins_a>;
hog_pins_a: hog-gpios@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_GPMI_D00__GPIO_0_0
MX28_PAD_GPMI_D03__GPIO_0_3
MX28_PAD_GPMI_D06__GPIO_0_6
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
&ssp0 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_4bit_pins_a>;
bus-width = <4>;
status = "okay";
};
&ssp2 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,imx28-spi";
pinctrl-names = "default";
pinctrl-0 = <&spi2_pins_a>;
status = "okay";
flash: flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "everspin,mr25h256", "mr25h256";
spi-max-frequency = <40000000>;
reg = <0>;
};
};
&usb0 {
vbus-supply = <&reg_usb0_vbus>;
pinctrl-names = "default";
pinctrl-0 = <&usb0_pins_b>;
status = "okay";
};
&usbphy0 {
status = "okay";
};

View File

@@ -18,50 +18,6 @@ memory@40000000 {
reg = <0x40000000 0x10000000>; /* 256MB */
};
apb@80000000 {
apbh@80000000 {
ssp0: spi@80010000 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_4bit_pins_a
&mmc0_sck_cfg
&en_sd_pwr>;
broken-cd;
bus-width = <4>;
vmmc-supply = <&reg_vddio_sd0>;
status = "okay";
};
pinctrl@80018000 {
en_sd_pwr: en-sd-pwr@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_PWM3__GPIO_3_28
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
};
apbx@80040000 {
pwm: pwm@80064000 {
pinctrl-names = "default";
pinctrl-0 = <&pwm2_pins_a>;
status = "okay";
};
duart: serial@80074000 {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
};
};
reg_vddio_sd0: regulator-vddio-sd0 {
compatible = "regulator-fixed";
regulator-name = "vddio-sd0";
@@ -72,3 +28,39 @@ reg_vddio_sd0: regulator-vddio-sd0 {
};
};
&duart {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
status = "okay";
};
&pinctrl {
en_sd_pwr: en-sd-pwr@0 {
reg = <0>;
fsl,pinmux-ids = <
MX28_PAD_PWM3__GPIO_3_28
>;
fsl,drive-strength = <MXS_DRIVE_4mA>;
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
};
&pwm {
pinctrl-names = "default";
pinctrl-0 = <&pwm2_pins_a>;
status = "okay";
};
&ssp0 {
compatible = "fsl,imx28-mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc0_4bit_pins_a
&mmc0_sck_cfg
&en_sd_pwr>;
broken-cd;
bus-width = <4>;
vmmc-supply = <&reg_vddio_sd0>;
status = "okay";
};

View File

@@ -1,43 +1,7 @@
// SPDX-License-Identifier: GPL-2.0 OR MIT
/*
* Copyright 2012 Shawn Guo <shawn.guo@linaro.org>
* Copyright 2013-2017 Lothar Waßmann <LW@KARO-electronics.de>
*
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This file is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* Or, alternatively,
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
/dts-v1/;

View File

@@ -22,6 +22,7 @@ clock_ksz8081: clock-ksz8081 {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <50000000>;
clock-output-names = "enet_ref_pad";
};
i2c2-mux {
@@ -191,6 +192,13 @@ &can1 {
status = "okay";
};
&clks {
clocks = <&clock_ksz8081>;
clock-names = "enet_ref_pad";
assigned-clocks = <&clks IMX6QDL_CLK_ENET_REF_SEL>;
assigned-clock-parents = <&clock_ksz8081>;
};
&ecspi1 {
cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
@@ -208,10 +216,6 @@ &fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet>;
phy-mode = "rmii";
clocks = <&clks IMX6QDL_CLK_ENET>,
<&clks IMX6QDL_CLK_ENET>,
<&clock_ksz8081>;
clock-names = "ipg", "ahb", "ptp";
status = "okay";
mdio {

View File

@@ -28,6 +28,7 @@ rmii_clk: clock-rmii {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <50000000>;
clock-output-names = "enet_ref_pad";
};
reg_usb_h1_vbus: regulator-usb-h1-vbus {
@@ -64,6 +65,13 @@ &can2 {
status = "okay";
};
&clks {
clocks = <&rmii_clk>;
clock-names = "enet_ref_pad";
assigned-clocks = <&clks IMX6QDL_CLK_ENET_REF_SEL>;
assigned-clock-parents = <&rmii_clk>;
};
&ecspi2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi2>;
@@ -297,11 +305,6 @@ &fec {
phy-mode = "rmii";
phy-reset-gpios = <&gpio1 18 GPIO_ACTIVE_LOW>;
phy-handle = <&phy>;
clocks = <&clks IMX6QDL_CLK_ENET>,
<&clks IMX6QDL_CLK_ENET>,
<&rmii_clk>,
<&clks IMX6QDL_CLK_ENET_REF>;
clock-names = "ipg", "ahb", "ptp", "enet_out";
status = "okay";
mdio {

View File

@@ -21,6 +21,7 @@ clock_ksz8081: clock-ksz8081 {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <50000000>;
clock-output-names = "enet_ref_pad";
};
backlight: backlight {
@@ -109,14 +110,17 @@ &can2 {
status = "okay";
};
&clks {
clocks = <&clock_ksz8081>;
clock-names = "enet_ref_pad";
assigned-clocks = <&clks IMX6QDL_CLK_ENET_REF_SEL>;
assigned-clock-parents = <&clock_ksz8081>;
};
&fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet>;
phy-mode = "rmii";
clocks = <&clks IMX6QDL_CLK_ENET>,
<&clks IMX6QDL_CLK_ENET>,
<&clock_ksz8081>;
clock-names = "ipg", "ahb", "ptp";
phy-handle = <&rgmii_phy>;
status = "okay";

View File

@@ -75,6 +75,7 @@ clk50m_phy: phy-clock {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <50000000>;
clock-output-names = "enet_ref_pad";
};
reg_5v0: regulator-5v0 {
@@ -99,6 +100,13 @@ &can2 {
status = "okay";
};
&clks {
clocks = <&clk50m_phy>;
clock-names = "enet_ref_pad";
assigned-clocks = <&clks IMX6QDL_CLK_ENET_REF_SEL>;
assigned-clock-parents = <&clk50m_phy>;
};
&ecspi1 {
cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
@@ -116,10 +124,6 @@ &fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet>;
phy-mode = "rmii";
clocks = <&clks IMX6QDL_CLK_ENET>,
<&clks IMX6QDL_CLK_ENET>,
<&clk50m_phy>;
clock-names = "ipg", "ahb", "ptp";
phy-handle = <&rgmii_phy>;
status = "okay";

View File

@@ -84,6 +84,7 @@ clk50m_phy: phy-clock {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <50000000>;
clock-output-names = "enet_ref_pad";
};
reg_3v3: regulator-3v3 {
@@ -173,6 +174,13 @@ &can1 {
status = "okay";
};
&clks {
clocks = <&clk50m_phy>;
clock-names = "enet_ref_pad";
assigned-clocks = <&clks IMX6QDL_CLK_ENET_REF_SEL>;
assigned-clock-parents = <&clk50m_phy>;
};
&ecspi1 {
cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
@@ -254,10 +262,6 @@ &fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet>;
phy-mode = "rmii";
clocks = <&clks IMX6QDL_CLK_ENET>,
<&clks IMX6QDL_CLK_ENET>,
<&clk50m_phy>;
clock-names = "ipg", "ahb", "ptp";
phy-handle = <&rgmii_phy>;
status = "okay";

View File

@@ -193,6 +193,7 @@ clk50m_phy: phy-clock {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <50000000>;
clock-output-names = "enet_ref_pad";
};
reg_1v8: regulator-1v8 {
@@ -293,8 +294,10 @@ &can2 {
};
&clks {
assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>;
assigned-clock-parents = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>;
clocks = <&clk50m_phy>;
clock-names = "enet_ref_pad";
assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, <&clks IMX6QDL_CLK_ENET_REF_SEL>;
assigned-clock-parents = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>, <&clk50m_phy>;
};
&ecspi1 {
@@ -314,10 +317,6 @@ &fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet>;
phy-mode = "rmii";
clocks = <&clks IMX6QDL_CLK_ENET>,
<&clks IMX6QDL_CLK_ENET>,
<&clk50m_phy>;
clock-names = "ipg", "ahb", "ptp";
phy-handle = <&rmii_phy>;
status = "okay";

View File

@@ -54,6 +54,7 @@ clk50m_phy: phy-clock {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <50000000>;
clock-output-names = "enet_ref_pad";
};
rotary-encoder {
@@ -134,6 +135,13 @@ vdiv_hitch_pos: voltage-divider-hitch-pos {
};
};
&clks {
clocks = <&clk50m_phy>;
clock-names = "enet_ref_pad";
assigned-clocks = <&clks IMX6QDL_CLK_ENET_REF_SEL>;
assigned-clock-parents = <&clk50m_phy>;
};
&ecspi2 {
cs-gpios = <&gpio5 12 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
@@ -182,10 +190,6 @@ &fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet>;
phy-mode = "rmii";
clocks = <&clks IMX6QDL_CLK_ENET>,
<&clks IMX6QDL_CLK_ENET>,
<&clk50m_phy>;
clock-names = "ipg", "ahb", "ptp";
phy-handle = <&rmii_phy>;
status = "okay";

View File

@@ -98,7 +98,6 @@ reg_usb_otg_vbus: regulator-usb-otg-vbus {
regulator-max-microvolt = <5000000>;
gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
enable-active-high;
status = "okay";
};
};
@@ -106,8 +105,6 @@ &fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet>;
phy-mode = "rgmii-id";
phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
phy-reset-duration = <20>;
phy-supply = <&sw2_reg>;
status = "okay";
@@ -131,6 +128,7 @@ phy_port3: phy@2 {
switch@10 {
compatible = "qca,qca8334";
reg = <10>;
reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
switch_ports: ports {
#address-cells = <1>;
@@ -270,9 +268,9 @@ leds: led-controller@30 {
compatible = "ti,lp5562";
reg = <0x30>;
clock-mode = /bits/ 8 <1>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
led@0 {
chan-name = "R";
@@ -303,7 +301,6 @@ eeprom@57 {
compatible = "atmel,24c128";
reg = <0x57>;
pagesize = <64>;
status = "okay";
};
touchscreen: touchscreen@5c {
@@ -313,7 +310,7 @@ touchscreen: touchscreen@5c {
interrupt-parent = <&gpio4>;
interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
attb-gpio = <&gpio4 5 GPIO_ACTIVE_HIGH>;
reset-gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
touchscreen-size-x = <800>;
touchscreen-size-y = <480>;
status = "disabled";

View File

@@ -0,0 +1,58 @@
// SPDX-License-Identifier: GPL-2.0
//
// Copyright (C) 2021 Y Soft Corporation, a.s.
/dts-v1/;
#include "imx6dl.dtsi"
#include "imx6dl-yapp43-common.dtsi"
/ {
model = "Y Soft IOTA Lynx i.MX6DualLite board";
compatible = "ysoft,imx6dl-yapp4-lynx", "fsl,imx6dl";
memory@10000000 {
device_type = "memory";
reg = <0x10000000 0x40000000>;
};
};
&backlight {
status = "okay";
};
&lcd_display {
status = "okay";
};
&leds {
status = "okay";
};
&panel {
status = "okay";
};
&pwm1 {
status = "okay";
};
&reg_usb_h1_vbus {
status = "okay";
};
&touchscreen {
status = "okay";
};
&uart2 {
status = "okay";
};
&usbh1 {
status = "okay";
};
&usbphy2 {
status = "okay";
};

View File

@@ -0,0 +1,42 @@
// SPDX-License-Identifier: GPL-2.0
//
// Copyright (C) 2021 Y Soft Corporation, a.s.
/dts-v1/;
#include "imx6dl.dtsi"
#include "imx6dl-yapp43-common.dtsi"
/ {
model = "Y Soft IOTA Phoenix i.MX6DualLite board";
compatible = "ysoft,imx6dl-yapp4-phoenix", "fsl,imx6dl";
memory@10000000 {
device_type = "memory";
reg = <0x10000000 0x40000000>;
};
};
&aliases {
/delete-property/ ethernet1;
};
&gpio_keys {
status = "okay";
};
&reg_usb_h1_vbus {
status = "okay";
};
&switch_ports {
/delete-node/ port@2;
};
&usbh1 {
status = "okay";
};
&usbphy2 {
status = "okay";
};

View File

@@ -0,0 +1,615 @@
// SPDX-License-Identifier: GPL-2.0
//
// Copyright (C) 2021 Y Soft Corporation, a.s.
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/pwm/pwm.h>
/ {
aliases: aliases {
ethernet1 = &eth1;
ethernet2 = &eth2;
mmc0 = &usdhc3;
mmc1 = &usdhc4;
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm1 0 500000 PWM_POLARITY_INVERTED>;
brightness-levels = <0 32 64 128 255>;
default-brightness-level = <32>;
num-interpolated-steps = <8>;
power-supply = <&sw2_reg>;
status = "disabled";
};
gpio_keys: gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_keys>;
status = "disabled";
button {
label = "Factory RESET";
linux,code = <BTN_0>;
gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
};
};
lcd_display: display {
compatible = "fsl,imx-parallel-display";
#address-cells = <1>;
#size-cells = <0>;
interface-pix-fmt = "rgb24";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ipu1>;
status = "disabled";
port@0 {
reg = <0>;
lcd_display_in: endpoint {
remote-endpoint = <&ipu1_di0_disp0>;
};
};
port@1 {
reg = <1>;
lcd_display_out: endpoint {
remote-endpoint = <&lcd_panel_in>;
};
};
};
panel: panel {
compatible = "dataimage,scf0700c48ggu18";
power-supply = <&sw2_reg>;
backlight = <&backlight>;
enable-gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>;
status = "disabled";
port {
lcd_panel_in: endpoint {
remote-endpoint = <&lcd_display_out>;
};
};
};
reg_usb_h1_vbus: regulator-usb-h1-vbus {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbh1_vbus>;
regulator-name = "usb_h1_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio1 29 GPIO_ACTIVE_HIGH>;
enable-active-high;
status = "disabled";
};
reg_usb_otg_vbus: regulator-usb-otg-vbus {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbotg_vbus>;
regulator-name = "usb_otg_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet>;
phy-mode = "rgmii-id";
phy-supply = <&sw2_reg>;
status = "okay";
fixed-link {
speed = <1000>;
full-duplex;
};
mdio {
#address-cells = <1>;
#size-cells = <0>;
switch@0 {
compatible = "marvell,mv88e6085";
reg = <0>;
reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
switch_ports: ports {
#address-cells = <1>;
#size-cells = <0>;
ethphy0: port@0 {
reg = <0>;
label = "cpu";
phy-mode = "rgmii-id";
ethernet = <&fec>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
eth2: port@1 {
reg = <1>;
label = "eth2";
phy-handle = <&phy_port1>;
};
eth1: port@2 {
reg = <2>;
label = "eth1";
phy-handle = <&phy_port2>;
};
};
mdio {
#address-cells = <1>;
#size-cells = <0>;
phy_port1: switchphy@11 {
reg = <0x11>;
};
phy_port2: switchphy@12 {
reg = <0x12>;
};
};
};
};
};
&i2c2 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c2>;
status = "okay";
pmic@8 {
compatible = "fsl,pfuze200";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pmic>;
reg = <0x8>;
regulators {
sw1a_reg: sw1ab {
regulator-min-microvolt = <300000>;
regulator-max-microvolt = <1875000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <6250>;
};
sw2_reg: sw2 {
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
sw3a_reg: sw3a {
regulator-min-microvolt = <400000>;
regulator-max-microvolt = <1975000>;
regulator-boot-on;
regulator-always-on;
};
sw3b_reg: sw3b {
regulator-min-microvolt = <400000>;
regulator-max-microvolt = <1975000>;
regulator-boot-on;
regulator-always-on;
};
swbst_reg: swbst {
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5150000>;
};
vgen1_reg: vgen1 {
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1550000>;
};
vgen2_reg: vgen2 {
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1550000>;
};
vgen3_reg: vgen3 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
vgen4_reg: vgen4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
vgen5_reg: vgen5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
vgen6_reg: vgen6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
vref_reg: vrefddr {
regulator-boot-on;
regulator-always-on;
};
vsnvs_reg: vsnvs {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <3000000>;
regulator-boot-on;
regulator-always-on;
};
};
};
leds: led-controller@30 {
compatible = "ti,lp5562";
reg = <0x30>;
clock-mode = /bits/ 8 <1>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
led@0 {
chan-name = "R";
led-cur = /bits/ 8 <0x20>;
max-cur = /bits/ 8 <0x60>;
reg = <0>;
color = <LED_COLOR_ID_RED>;
};
led@1 {
chan-name = "G";
led-cur = /bits/ 8 <0x20>;
max-cur = /bits/ 8 <0x60>;
reg = <1>;
color = <LED_COLOR_ID_GREEN>;
};
led@2 {
chan-name = "B";
led-cur = /bits/ 8 <0x20>;
max-cur = /bits/ 8 <0x60>;
reg = <2>;
color = <LED_COLOR_ID_BLUE>;
};
};
eeprom@57 {
compatible = "atmel,24c128";
reg = <0x57>;
pagesize = <64>;
};
touchscreen: touchscreen@5c {
compatible = "pixcir,pixcir_tangoc";
reg = <0x5c>;
pinctrl-0 = <&pinctrl_touch>;
interrupt-parent = <&gpio4>;
interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
attb-gpio = <&gpio4 5 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
touchscreen-size-x = <800>;
touchscreen-size-y = <480>;
status = "disabled";
};
rtc: rtc@68 {
compatible = "dallas,ds1341";
reg = <0x68>;
};
};
&i2c3 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c3>;
status = "disabled";
oled_1309: oled@3c {
compatible = "solomon,ssd1309fb-i2c";
reg = <0x3c>;
solomon,height = <64>;
solomon,width = <128>;
solomon,page-offset = <0>;
solomon,segment-no-remap;
solomon,prechargep2 = <15>;
reset-gpios = <&gpio_oled 1 GPIO_ACTIVE_LOW>;
vbat-supply = <&sw2_reg>;
status = "disabled";
};
oled_1305: oled@3d {
compatible = "solomon,ssd1305fb-i2c";
reg = <0x3d>;
solomon,height = <64>;
solomon,width = <128>;
solomon,page-offset = <0>;
solomon,col-offset = <4>;
solomon,prechargep2 = <15>;
reset-gpios = <&gpio_oled 1 GPIO_ACTIVE_LOW>;
vbat-supply = <&sw2_reg>;
status = "disabled";
};
gpio_oled: gpio@41 {
compatible = "nxp,pca9536";
gpio-controller;
#gpio-cells = <2>;
reg = <0x41>;
vcc-supply = <&sw2_reg>;
status = "disabled";
};
touchkeys: keys@5a {
compatible = "fsl,mpr121-touchkey";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_touchkeys>;
reg = <0x5a>;
vdd-supply = <&sw2_reg>;
autorepeat;
linux,keycodes = <KEY_1>, <KEY_2>, <KEY_3>, <KEY_4>, <KEY_5>,
<KEY_6>, <KEY_7>, <KEY_8>, <KEY_9>,
<KEY_BACKSPACE>, <KEY_0>, <KEY_ENTER>;
poll-interval = <50>;
status = "disabled";
};
};
&iomuxc {
pinctrl_enet: enetgrp {
fsl,pins = <
MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b020
MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b020
MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b020
MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b020
MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b020
MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b020
MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b020
MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b020
MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b020
MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b020
MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b020
MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b020
MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b020
MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b020
MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b010
MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x1b010
MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25 0x1b098
>;
};
pinctrl_gpio_keys: gpiokeysgrp {
fsl,pins = <
MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0
>;
};
pinctrl_i2c2: i2c2grp {
fsl,pins = <
MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b899
MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b899
>;
};
pinctrl_i2c3: i2c3grp {
fsl,pins = <
MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b899
MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b899
>;
};
pinctrl_ipu1: ipu1grp {
fsl,pins = <
MX6QDL_PAD_EIM_DA7__GPIO3_IO07 0x1b0b0
MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10
MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x10
MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x10
MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x10
MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x10
MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x10
MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x10
MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x10
MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x10
MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x10
MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x10
MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x10
MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x10
MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x10
MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x10
MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x10
MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x10
MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x10
MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x10
MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x10
MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x10
MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x10
MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x10
MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x10
MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x10
MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x10
MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x10
>;
};
pinctrl_pmic: pmicgrp {
fsl,pins = <
MX6QDL_PAD_GPIO_18__GPIO7_IO13 0x1b098
>;
};
pinctrl_pwm1: pwm1grp {
fsl,pins = <
MX6QDL_PAD_GPIO_9__PWM1_OUT 0x8
>;
};
pinctrl_touch: touchgrp {
fsl,pins = <
MX6QDL_PAD_GPIO_19__GPIO4_IO05 0x1b098
MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x1b098
>;
};
pinctrl_touchkeys: touchkeysgrp {
fsl,pins = <
MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x1b098
MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x1b098
>;
};
pinctrl_uart1: uart1grp {
fsl,pins = <
MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0a8
MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0a8
>;
};
pinctrl_uart2: uart2grp {
fsl,pins = <
MX6QDL_PAD_GPIO_7__UART2_TX_DATA 0x1b098
MX6QDL_PAD_GPIO_8__UART2_RX_DATA 0x1b098
>;
};
pinctrl_usbh1: usbh1grp {
fsl,pins = <
MX6QDL_PAD_EIM_D30__USB_H1_OC 0x1b098
>;
};
pinctrl_usbh1_vbus: usbh1-vbus {
fsl,pins = <
MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x98
>;
};
pinctrl_usbotg: usbotggrp {
fsl,pins = <
MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x1b098
MX6QDL_PAD_EIM_D21__USB_OTG_OC 0x1b098
>;
};
pinctrl_usbotg_vbus: usbotg-vbus {
fsl,pins = <
MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x98
>;
};
pinctrl_usdhc4: usdhc4grp {
fsl,pins = <
MX6QDL_PAD_SD4_CMD__SD4_CMD 0x1f069
MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10069
MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17069
MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17069
MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17069
MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17069
MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17069
MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17069
MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17069
MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17069
>;
};
pinctrl_wdog: wdoggrp {
fsl,pins = <
MX6QDL_PAD_GPIO_1__WDOG2_B 0x1b0b0
>;
};
};
&ipu1_di0_disp0 {
remote-endpoint = <&lcd_display_in>;
};
&pwm1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm1>;
status = "disabled";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
status = "okay";
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart2>;
status = "disabled";
};
&usbh1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbh1>;
vbus-supply = <&reg_usb_h1_vbus>;
over-current-active-low;
status = "disabled";
};
&usbotg {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbotg>;
vbus-supply = <&reg_usb_otg_vbus>;
over-current-active-low;
srp-disable;
hnp-disable;
adp-disable;
status = "okay";
};
&usbphy1 {
fsl,tx-d-cal = <106>;
status = "okay";
};
&usbphy2 {
fsl,tx-d-cal = <109>;
status = "disabled";
};
&usdhc4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc4>;
bus-width = <8>;
non-removable;
no-1-8-v;
keep-power-in-suspend;
vmmc-supply = <&sw2_reg>;
status = "okay";
};
&wdog1 {
status = "disabled";
};
&wdog2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wdog>;
fsl,ext-reset-output;
status = "okay";
};

View File

@@ -22,6 +22,13 @@ memory@80000000 {
reg = <0x80000000 0x20000000>;
};
clk50m_phy: phy-clock {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <50000000>;
clock-output-names = "enet_ref_pad";
};
usdhc2_wifi_pwrseq: usdhc2_wifi_pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
@@ -49,13 +56,17 @@ &can1 {
status = "okay";
};
&clks {
clocks = <&clk50m_phy>;
clock-names = "enet_ref_pad";
assigned-clocks = <&clks IMX6QDL_CLK_ENET_REF_SEL>;
assigned-clock-parents = <&clk50m_phy>;
};
&fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet>;
phy-mode = "rmii";
clocks = <&clks IMX6QDL_CLK_ENET>,
<&clks IMX6QDL_CLK_ENET>;
clock-names = "ipg", "ahb";
status = "okay";
fixed-link {

View File

@@ -0,0 +1,58 @@
// SPDX-License-Identifier: GPL-2.0
//
// Copyright (C) 2021 Y Soft Corporation, a.s.
/dts-v1/;
#include "imx6q.dtsi"
#include "imx6dl-yapp43-common.dtsi"
/ {
model = "Y Soft IOTA Pegasus i.MX6Quad board";
compatible = "ysoft,imx6q-yapp4-pegasus", "fsl,imx6q";
memory@10000000 {
device_type = "memory";
reg = <0x10000000 0xf0000000>;
};
};
&gpio_oled {
status = "okay";
};
&i2c3 {
status = "okay";
};
&leds {
status = "okay";
};
&oled_1305 {
status = "okay";
};
&oled_1309 {
status = "okay";
};
&reg_pu {
regulator-always-on;
};
&reg_usb_h1_vbus {
status = "okay";
};
&touchkeys {
status = "okay";
};
&usbh1 {
status = "okay";
};
&usbphy2 {
status = "okay";
};

View File

@@ -105,6 +105,7 @@ clk50m_phy: phy-clock {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <50000000>;
clock-output-names = "enet_ref_pad";
};
reg_3v3: regulator-3v3 {
@@ -232,13 +233,16 @@ adc: adc@0 {
};
};
&clks {
clocks = <&clk50m_phy>;
clock-names = "enet_ref_pad";
assigned-clocks = <&clks IMX6QDL_CLK_ENET_REF_SEL>;
assigned-clock-parents = <&clk50m_phy>;
};
&fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet>;
clocks = <&clks IMX6QDL_CLK_ENET>,
<&clks IMX6QDL_CLK_ENET>,
<&clk50m_phy>;
clock-names = "ipg", "ahb", "ptp";
phy-mode = "rmii";
phy-supply = <&reg_3v3>;
status = "okay";

View File

@@ -1049,8 +1049,8 @@ fec: ethernet@2188000 {
clocks = <&clks IMX6QDL_CLK_ENET>,
<&clks IMX6QDL_CLK_ENET>,
<&clks IMX6QDL_CLK_ENET_REF>,
<&clks IMX6QDL_CLK_ENET_REF>;
clock-names = "ipg", "ahb", "ptp", "enet_out";
<&clks IMX6QDL_CLK_ENET_REF_SEL>;
clock-names = "ipg", "ahb", "ptp", "enet_clk_ref";
fsl,stop-mode = <&gpr 0x34 27>;
nvmem-cells = <&fec_mac_addr>;
nvmem-cell-names = "mac-address";

View File

@@ -0,0 +1,58 @@
// SPDX-License-Identifier: GPL-2.0
//
// Copyright (C) 2021 Y Soft Corporation, a.s.
/dts-v1/;
#include "imx6qp.dtsi"
#include "imx6dl-yapp43-common.dtsi"
/ {
model = "Y Soft IOTA Pegasus+ i.MX6QuadPlus board";
compatible = "ysoft,imx6qp-yapp4-pegasus-plus", "fsl,imx6qp";
memory@10000000 {
device_type = "memory";
reg = <0x10000000 0xf0000000>;
};
};
&gpio_oled {
status = "okay";
};
&i2c3 {
status = "okay";
};
&leds {
status = "okay";
};
&oled_1305 {
status = "okay";
};
&oled_1309 {
status = "okay";
};
&reg_pu {
regulator-always-on;
};
&reg_usb_h1_vbus {
status = "okay";
};
&touchkeys {
status = "okay";
};
&usbh1 {
status = "okay";
};
&usbphy2 {
status = "okay";
};

View File

@@ -0,0 +1,490 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Device tree for the Tolino Vison ebook reader
*
* Name on mainboard is: 37NB-E60Q30+4A3
* Serials start with: 6032
*
* Copyright 2023 Andreas Kemnade
*/
/dts-v1/;
#include <dt-bindings/leds/common.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
#include "imx6sl.dtsi"
/ {
model = "Tolino Vision";
compatible = "kobo,tolino-vision", "fsl,imx6sl";
aliases {
mmc0 = &usdhc4;
mmc1 = &usdhc2;
};
backlight {
compatible = "pwm-backlight";
pwms = <&ec 0 50000>;
power-supply = <&backlight_regulator>;
};
backlight_regulator: regulator-backlight {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_backlight_power>;
regulator-name = "backlight";
gpio = <&gpio2 10 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
chosen {
stdout-path = &uart1;
};
gpio_keys: gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_keys>;
key-cover {
/* magnetic sensor in the corner next to the uSD slot */
label = "Cover";
gpios = <&gpio5 12 GPIO_ACTIVE_LOW>;
linux,code = <SW_LID>;
linux,input-type = <EV_SW>;
wakeup-source;
};
key-fl {
label = "Frontlight";
gpios = <&gpio3 26 GPIO_ACTIVE_LOW>;
linux,code = <KEY_BRIGHTNESS_CYCLE>;
};
key-power {
label = "Power";
gpios = <&gpio5 8 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
wakeup-source;
};
};
leds: leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_leds>;
led-0 {
/* LED on home button */
color = <LED_COLOR_ID_WHITE>;
function = LED_FUNCTION_STATUS;
gpios = <&gpio5 10 GPIO_ACTIVE_LOW>;
};
led-1 {
/* LED on power button */
color = <LED_COLOR_ID_WHITE>;
function = LED_FUNCTION_POWER;
gpios = <&gpio5 7 GPIO_ACTIVE_LOW>;
linux,default-trigger = "timer";
};
};
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x20000000>;
};
reg_wifi: regulator-wifi {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wifi_power>;
regulator-name = "SD3_SPWR";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
gpio = <&gpio4 29 GPIO_ACTIVE_LOW>;
};
wifi_pwrseq: wifi_pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wifi_reset>;
post-power-on-delay-ms = <20>;
reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
};
};
&i2c1 {
pinctrl-names = "default","sleep";
pinctrl-0 = <&pinctrl_i2c1>;
pinctrl-1 = <&pinctrl_i2c1_sleep>;
status = "okay";
touchscreen@15 {
compatible = "elan,ektf2132";
reg = <0x15>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ts>;
power-gpios = <&gpio5 13 GPIO_ACTIVE_HIGH>;
interrupts-extended = <&gpio5 6 IRQ_TYPE_EDGE_FALLING>;
};
accelerometer@1d {
compatible = "fsl,mma8652";
reg = <0x1d>;
};
};
&i2c2 {
pinctrl-names = "default","sleep";
pinctrl-0 = <&pinctrl_i2c2>;
pinctrl-1 = <&pinctrl_i2c2_sleep>;
clock-frequency = <100000>;
status = "okay";
};
&i2c3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c3>;
clock-frequency = <100000>;
status = "okay";
ec: embedded-controller@43 {
compatible = "netronix,ntxec";
reg = <0x43>;
#pwm-cells = <2>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ec>;
interrupts-extended = <&gpio5 11 IRQ_TYPE_EDGE_FALLING>;
system-power-controller;
};
};
&snvs_rtc {
/*
* We are using the RTC in the PMIC, but this one is not disabled
* in imx6sl.dtsi.
*/
status = "disabled";
};
&uart1 {
/* J4 */
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
status = "okay";
};
&uart4 {
/* J9 */
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart4>;
status = "okay";
};
&usdhc2 {
pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
pinctrl-0 = <&pinctrl_usdhc2>;
pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
pinctrl-3 = <&pinctrl_usdhc2_sleep>;
cd-gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
status = "okay";
/* removable uSD card */
};
&usdhc3 {
pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
pinctrl-0 = <&pinctrl_usdhc3>;
pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
pinctrl-3 = <&pinctrl_usdhc3_sleep>;
vmmc-supply = <&reg_wifi>;
mmc-pwrseq = <&wifi_pwrseq>;
cap-power-off-card;
non-removable;
status = "okay";
/* CyberTan WC121 (BCM43362) SDIO WiFi */
};
&usdhc4 {
pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
pinctrl-0 = <&pinctrl_usdhc4>;
pinctrl-1 = <&pinctrl_usdhc4_100mhz>;
pinctrl-2 = <&pinctrl_usdhc4_200mhz>;
pinctrl-3 = <&pinctrl_usdhc4_sleep>;
bus-width = <8>;
no-1-8-v;
non-removable;
status = "okay";
/* internal eMMC */
};
&usbotg1 {
pinctrl-names = "default";
disable-over-current;
srp-disable;
hnp-disable;
adp-disable;
status = "okay";
};
&iomuxc {
pinctrl_backlight_power: backlight-powergrp {
fsl,pins = <
MX6SL_PAD_EPDC_PWRCTRL3__GPIO2_IO10 0x10059
>;
};
pinctrl_ec: ecgrp {
fsl,pins = <
MX6SL_PAD_SD1_DAT0__GPIO5_IO11 0x17000
>;
};
pinctrl_gpio_keys: gpio-keysgrp {
fsl,pins = <
MX6SL_PAD_SD1_DAT1__GPIO5_IO08 0x110B0
MX6SL_PAD_SD1_DAT4__GPIO5_IO12 0x110B0
MX6SL_PAD_KEY_COL1__GPIO3_IO26 0x11030
>;
};
pinctrl_i2c1: i2c1grp {
fsl,pins = <
MX6SL_PAD_I2C1_SCL__I2C1_SCL 0x4001f8b1
MX6SL_PAD_I2C1_SDA__I2C1_SDA 0x4001f8b1
>;
};
pinctrl_i2c1_sleep: i2c1-sleepgrp {
fsl,pins = <
MX6SL_PAD_I2C1_SCL__I2C1_SCL 0x400108b1
MX6SL_PAD_I2C1_SDA__I2C1_SDA 0x400108b1
>;
};
pinctrl_i2c2: i2c2grp {
fsl,pins = <
MX6SL_PAD_I2C2_SCL__I2C2_SCL 0x4001f8b1
MX6SL_PAD_I2C2_SDA__I2C2_SDA 0x4001f8b1
>;
};
pinctrl_i2c2_sleep: i2c2-sleepgrp {
fsl,pins = <
MX6SL_PAD_I2C2_SCL__I2C2_SCL 0x400108b1
MX6SL_PAD_I2C2_SDA__I2C2_SDA 0x400108b1
>;
};
pinctrl_i2c3: i2c3grp {
fsl,pins = <
MX6SL_PAD_REF_CLK_24M__I2C3_SCL 0x4001f8b1
MX6SL_PAD_REF_CLK_32K__I2C3_SDA 0x4001f8b1
>;
};
pinctrl_leds: ledsgrp {
fsl,pins = <
MX6SL_PAD_SD1_DAT6__GPIO5_IO07 0x17059
MX6SL_PAD_SD1_DAT7__GPIO5_IO10 0x17059
MX6SL_PAD_EPDC_SDCE2__GPIO1_IO29 0x17059
>;
};
pinctrl_ts: tsgrp {
fsl,pins = <
MX6SL_PAD_SD1_DAT2__GPIO5_IO13 0x110B0
MX6SL_PAD_SD1_DAT3__GPIO5_IO06 0x1B0B1
>;
};
pinctrl_uart1: uart1grp {
fsl,pins = <
MX6SL_PAD_UART1_TXD__UART1_TX_DATA 0x1b0b1
MX6SL_PAD_UART1_RXD__UART1_RX_DATA 0x1b0b1
>;
};
pinctrl_uart4: uart4grp {
fsl,pins = <
MX6SL_PAD_KEY_ROW6__UART4_TX_DATA 0x1b0b1
MX6SL_PAD_KEY_COL6__UART4_RX_DATA 0x1b0b1
>;
};
pinctrl_usbotg1: usbotg1grp {
fsl,pins = <
MX6SL_PAD_EPDC_PWRCOM__USB_OTG1_ID 0x17059
>;
};
pinctrl_usdhc2: usdhc2grp {
fsl,pins = <
MX6SL_PAD_SD2_CMD__SD2_CMD 0x17059
MX6SL_PAD_SD2_CLK__SD2_CLK 0x13059
MX6SL_PAD_SD2_DAT0__SD2_DATA0 0x17059
MX6SL_PAD_SD2_DAT1__SD2_DATA1 0x17059
MX6SL_PAD_SD2_DAT2__SD2_DATA2 0x17059
MX6SL_PAD_SD2_DAT3__SD2_DATA3 0x17059
MX6SL_PAD_SD2_DAT4__GPIO5_IO02 0x1b0b1
>;
};
pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
fsl,pins = <
MX6SL_PAD_SD2_CMD__SD2_CMD 0x170b9
MX6SL_PAD_SD2_CLK__SD2_CLK 0x130b9
MX6SL_PAD_SD2_DAT0__SD2_DATA0 0x170b9
MX6SL_PAD_SD2_DAT1__SD2_DATA1 0x170b9
MX6SL_PAD_SD2_DAT2__SD2_DATA2 0x170b9
MX6SL_PAD_SD2_DAT3__SD2_DATA3 0x170b9
>;
};
pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
fsl,pins = <
MX6SL_PAD_SD2_CMD__SD2_CMD 0x170f9
MX6SL_PAD_SD2_CLK__SD2_CLK 0x130f9
MX6SL_PAD_SD2_DAT0__SD2_DATA0 0x170f9
MX6SL_PAD_SD2_DAT1__SD2_DATA1 0x170f9
MX6SL_PAD_SD2_DAT2__SD2_DATA2 0x170f9
MX6SL_PAD_SD2_DAT3__SD2_DATA3 0x170f9
>;
};
pinctrl_usdhc2_sleep: usdhc2-sleepgrp {
fsl,pins = <
MX6SL_PAD_SD2_CMD__GPIO5_IO04 0x100f9
MX6SL_PAD_SD2_CLK__GPIO5_IO05 0x100f9
MX6SL_PAD_SD2_DAT0__GPIO5_IO01 0x100f9
MX6SL_PAD_SD2_DAT1__GPIO4_IO30 0x100f9
MX6SL_PAD_SD2_DAT2__GPIO5_IO03 0x100f9
MX6SL_PAD_SD2_DAT3__GPIO4_IO28 0x100f9
>;
};
pinctrl_usdhc3: usdhc3grp {
fsl,pins = <
MX6SL_PAD_SD3_CMD__SD3_CMD 0x11059
MX6SL_PAD_SD3_CLK__SD3_CLK 0x11059
MX6SL_PAD_SD3_DAT0__SD3_DATA0 0x11059
MX6SL_PAD_SD3_DAT1__SD3_DATA1 0x11059
MX6SL_PAD_SD3_DAT2__SD3_DATA2 0x11059
MX6SL_PAD_SD3_DAT3__SD3_DATA3 0x11059
>;
};
pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
fsl,pins = <
MX6SL_PAD_SD3_CMD__SD3_CMD 0x170b9
MX6SL_PAD_SD3_CLK__SD3_CLK 0x170b9
MX6SL_PAD_SD3_DAT0__SD3_DATA0 0x170b9
MX6SL_PAD_SD3_DAT1__SD3_DATA1 0x170b9
MX6SL_PAD_SD3_DAT2__SD3_DATA2 0x170b9
MX6SL_PAD_SD3_DAT3__SD3_DATA3 0x170b9
>;
};
pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
fsl,pins = <
MX6SL_PAD_SD3_CMD__SD3_CMD 0x170f9
MX6SL_PAD_SD3_CLK__SD3_CLK 0x170f9
MX6SL_PAD_SD3_DAT0__SD3_DATA0 0x170f9
MX6SL_PAD_SD3_DAT1__SD3_DATA1 0x170f9
MX6SL_PAD_SD3_DAT2__SD3_DATA2 0x170f9
MX6SL_PAD_SD3_DAT3__SD3_DATA3 0x170f9
>;
};
pinctrl_usdhc3_sleep: usdhc3-sleepgrp {
fsl,pins = <
MX6SL_PAD_SD3_CMD__GPIO5_IO21 0x100c1
MX6SL_PAD_SD3_CLK__GPIO5_IO18 0x100c1
MX6SL_PAD_SD3_DAT0__GPIO5_IO19 0x100c1
MX6SL_PAD_SD3_DAT1__GPIO5_IO20 0x100c1
MX6SL_PAD_SD3_DAT2__GPIO5_IO16 0x100c1
MX6SL_PAD_SD3_DAT3__GPIO5_IO17 0x100c1
>;
};
pinctrl_usdhc4: usdhc4grp {
fsl,pins = <
MX6SL_PAD_FEC_TX_CLK__SD4_CMD 0x17059
MX6SL_PAD_FEC_MDIO__SD4_CLK 0x13059
MX6SL_PAD_FEC_RX_ER__SD4_DATA0 0x17059
MX6SL_PAD_FEC_CRS_DV__SD4_DATA1 0x17059
MX6SL_PAD_FEC_RXD1__SD4_DATA2 0x17059
MX6SL_PAD_FEC_TXD0__SD4_DATA3 0x17059
MX6SL_PAD_FEC_MDC__SD4_DATA4 0x17059
MX6SL_PAD_FEC_RXD0__SD4_DATA5 0x17059
MX6SL_PAD_FEC_TX_EN__SD4_DATA6 0x17059
MX6SL_PAD_FEC_TXD1__SD4_DATA7 0x17059
MX6SL_PAD_FEC_REF_CLK__SD4_RESET 0x17068
>;
};
pinctrl_usdhc4_100mhz: usdhc4-100mhzgrp {
fsl,pins = <
MX6SL_PAD_FEC_TX_CLK__SD4_CMD 0x170b9
MX6SL_PAD_FEC_MDIO__SD4_CLK 0x130b9
MX6SL_PAD_FEC_RX_ER__SD4_DATA0 0x170b9
MX6SL_PAD_FEC_CRS_DV__SD4_DATA1 0x170b9
MX6SL_PAD_FEC_RXD1__SD4_DATA2 0x170b9
MX6SL_PAD_FEC_TXD0__SD4_DATA3 0x170b9
MX6SL_PAD_FEC_MDC__SD4_DATA4 0x170b9
MX6SL_PAD_FEC_RXD0__SD4_DATA5 0x170b9
MX6SL_PAD_FEC_TX_EN__SD4_DATA6 0x170b9
MX6SL_PAD_FEC_TXD1__SD4_DATA7 0x170b9
>;
};
pinctrl_usdhc4_200mhz: usdhc4-200mhzgrp {
fsl,pins = <
MX6SL_PAD_FEC_TX_CLK__SD4_CMD 0x170f9
MX6SL_PAD_FEC_MDIO__SD4_CLK 0x130f9
MX6SL_PAD_FEC_RX_ER__SD4_DATA0 0x170f9
MX6SL_PAD_FEC_CRS_DV__SD4_DATA1 0x170f9
MX6SL_PAD_FEC_RXD1__SD4_DATA2 0x170f9
MX6SL_PAD_FEC_TXD0__SD4_DATA3 0x170f9
MX6SL_PAD_FEC_MDC__SD4_DATA4 0x170f9
MX6SL_PAD_FEC_RXD0__SD4_DATA5 0x170f9
MX6SL_PAD_FEC_TX_EN__SD4_DATA6 0x170f9
MX6SL_PAD_FEC_TXD1__SD4_DATA7 0x170f9
>;
};
pinctrl_usdhc4_sleep: usdhc4-sleepgrp {
fsl,pins = <
MX6SL_PAD_FEC_TX_CLK__GPIO4_IO21 0x100c1
MX6SL_PAD_FEC_MDIO__GPIO4_IO20 0x100c1
MX6SL_PAD_FEC_RX_ER__GPIO4_IO19 0x100c1
MX6SL_PAD_FEC_CRS_DV__GPIO4_IO25 0x100c1
MX6SL_PAD_FEC_RXD1__GPIO4_IO18 0x100c1
MX6SL_PAD_FEC_TXD0__GPIO4_IO24 0x100c1
MX6SL_PAD_FEC_MDC__GPIO4_IO23 0x100c1
MX6SL_PAD_FEC_RXD0__GPIO4_IO17 0x100c1
MX6SL_PAD_FEC_TX_EN__GPIO4_IO22 0x100c1
MX6SL_PAD_FEC_TXD1__GPIO4_IO16 0x100c1
>;
};
pinctrl_wifi_power: wifi-powergrp {
fsl,pins = <
MX6SL_PAD_SD2_DAT6__GPIO4_IO29 0x10059 /* WIFI_3V3_ON */
>;
};
pinctrl_wifi_reset: wifi-resetgrp {
fsl,pins = <
MX6SL_PAD_SD2_DAT7__GPIO5_IO00 0x10059 /* WIFI_RST */
>;
};
};

View File

@@ -26,6 +26,7 @@ clock_ksz8081_out: clock-ksz8081-out {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <50000000>;
clock-output-names = "enet1_ref_pad";
};
leds {
@@ -60,6 +61,13 @@ &can2 {
status = "okay";
};
&clks {
clocks = <&ckil>, <&osc>, <&ipp_di0>, <&ipp_di1>, <&clock_ksz8081_out>;
clock-names = "ckil", "osc", "ipp_di0", "ipp_di1", "enet1_ref_pad";
assigned-clocks = <&clks IMX6UL_CLK_ENET1_REF_SEL>;
assigned-clock-parents = <&clock_ksz8081_out>;
};
&ecspi1 {
cs-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
@@ -85,12 +93,6 @@ &fec1 {
pinctrl-0 = <&pinctrl_eth1>;
phy-mode = "rmii";
phy-handle = <&rmii_phy>;
clocks = <&clks IMX6UL_CLK_ENET>,
<&clks IMX6UL_CLK_ENET_AHB>,
<&clks IMX6UL_CLK_ENET_PTP>,
<&clock_ksz8081_out>;
clock-names = "ipg", "ahb", "ptp",
"enet_clk_ref";
status = "okay";
mdio {

View File

@@ -531,10 +531,9 @@ fec2: ethernet@20b4000 {
clocks = <&clks IMX6UL_CLK_ENET>,
<&clks IMX6UL_CLK_ENET_AHB>,
<&clks IMX6UL_CLK_ENET_PTP>,
<&clks IMX6UL_CLK_ENET2_REF_125M>,
<&clks IMX6UL_CLK_ENET2_REF_125M>;
<&clks IMX6UL_CLK_ENET2_REF_SEL>;
clock-names = "ipg", "ahb", "ptp",
"enet_clk_ref", "enet_out";
"enet_clk_ref";
fsl,num-tx-queues = <1>;
fsl,num-rx-queues = <1>;
fsl,stop-mode = <&gpr 0x10 4>;
@@ -879,10 +878,9 @@ fec1: ethernet@2188000 {
clocks = <&clks IMX6UL_CLK_ENET>,
<&clks IMX6UL_CLK_ENET_AHB>,
<&clks IMX6UL_CLK_ENET_PTP>,
<&clks IMX6UL_CLK_ENET_REF>,
<&clks IMX6UL_CLK_ENET_REF>;
<&clks IMX6UL_CLK_ENET1_REF_SEL>;
clock-names = "ipg", "ahb", "ptp",
"enet_clk_ref", "enet_out";
"enet_clk_ref";
fsl,num-tx-queues = <1>;
fsl,num-rx-queues = <1>;
fsl,stop-mode = <&gpr 0x10 3>;

View File

@@ -0,0 +1,852 @@
// SPDX-License-Identifier: GPL-2.0 OR MIT
//
// Copyright (C) 2023 chargebyte GmbH
/dts-v1/;
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/pwm/pwm.h>
#include "imx6ull.dtsi"
/ {
aliases {
mmc0 = &usdhc2; /* eMMC */
};
chosen {
stdout-path = &uart4;
};
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x20000000>;
};
emmc_pwrseq: emmc-pwrseq {
compatible = "mmc-pwrseq-emmc";
pinctrl-0 = <&pinctrl_emmc_rst>;
pinctrl-names = "default";
reset-gpios = <&gpio4 10 GPIO_ACTIVE_LOW>;
};
reg_dcdc_3v3: regulator-dcdc-3v3 {
compatible = "regulator-fixed";
regulator-name = "dcdc-3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
reg_1v8: regulator-1v8 {
compatible = "regulator-fixed";
regulator-name = "ldo-1v8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
regulator-always-on;
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_status_leds>;
led-1 {
function = LED_FUNCTION_BOOT;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "timer";
};
led-2 {
function = LED_FUNCTION_PROGRAMMING;
color = <LED_COLOR_ID_YELLOW>;
gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>;
};
led-3 {
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_RED>;
gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
};
};
};
&adc1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_adc_motor
&pinctrl_adc_cp
&pinctrl_adc_pp>;
vref-supply = <&vgen1_reg>;
status = "okay";
};
&cpu0 {
clock-frequency = <792000000>;
};
&ecspi2 {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi2>;
num-cs = <3>;
cs-gpios = <&gpio1 29 GPIO_ACTIVE_HIGH
&gpio3 2 GPIO_ACTIVE_HIGH
&gpio3 4 GPIO_ACTIVE_HIGH>;
};
&ecspi4 {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi4>;
num-cs = <1>;
cs-gpios = <&gpio2 15 GPIO_ACTIVE_HIGH>;
};
&fec1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet1
&pinctrl_enet1_phy_rst
&pinctrl_enet_mdio>;
phy-supply = <&reg_dcdc_3v3>;
phy-mode = "rmii";
phy-reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>;
phy-reset-duration = <25>;
phy-handle = <&ethphy0>;
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy0: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet1_phy_int>;
interrupt-parent = <&gpio2>;
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
interrupts-extended = <&gpio2 7 IRQ_TYPE_EDGE_FALLING>;
clocks = <&clks IMX6UL_CLK_ENET_REF>;
clock-names = "rmii-ref";
max-speed = <100>;
smsc,disable-energy-detect;
};
};
};
&gpio1 {
gpio-line-names = "", /* 0 */
"",
"",
"",
"",
"", /* 5 */
"",
"",
"",
"",
"", /* 10 */
"",
"",
"CP_INVERT",
"",
"", /* 15 */
"",
"",
"",
"MOTOR_1_FAULT_N",
"", /* 20 */
"",
"ROTARY_SWITCH_1_2_N",
"ROTARY_SWITCH_1_4_N",
"ROTARY_SWITCH_1_8_N",
"MOTOR_2_FAULT_N"; /* 25 */
};
&gpio3 {
gpio-line-names = "", /* 0 */
"",
"",
"",
"",
"", /* 5 */
"EXT_GPIO",
"MOTOR_1_DRIVER_IN1_N",
"MOTOR_1_DRIVER_IN2",
"MOTOR_2_DRIVER_IN1",
"STM32_BOOT0", /* 10 */
"STM32_RST_N",
"RELAY_1_ENABLE",
"RELAY_2_ENABLE",
"",
"", /* 15 */
"QCA700X_MAINS_BOOTLOADER_N",
"QCA700X_CP_RST_N",
"QCA700X_CP_BOOTLOADER_N",
"",
"DIGITAL_OUT_1", /* 20 */
"DIGITAL_OUT_2",
"DIGITAL_OUT_3",
"DIGITAL_OUT_4",
"DIGITAL_OUT_5",
"DIGITAL_OUT_6", /* 25 */
"ROTARY_SWITCH_2_8_N",
"ROTARY_SWITCH_2_4_N",
"ROTARY_SWITCH_2_2_N";
};
&gpio4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pmic>;
gpio-line-names = "", /* 0 */
"",
"",
"",
"",
"", /* 5 */
"",
"",
"",
"",
"", /* 10 */
"",
"",
"BOARD_VARIANT_1",
"BOARD_VARIANT_2",
"BOARD_VARIANT_0", /* 15 */
"BOARD_VARIANT_3",
"",
"ROTARY_SWITCH_2_1_N",
"",
"DIGITAL_IN_5", /* 20 */
"",
"",
"DIGITAL_IN_6",
"",
"DIGITAL_IN_1", /* 25 */
"DIGITAL_IN_2",
"DIGITAL_IN_4",
"DIGITAL_IN_3";
pmic-int-hog {
gpio-hog;
gpios = <19 0>;
input;
};
};
&gpio5 {
gpio-line-names = "ROTARY_SWITCH_1_1_N", /* 0 */
"",
"RELAY_2_SENSE",
"RELAY_1_SENSE",
"",
"", /* 5 */
"",
"QCA700X_MAINS_RST_N",
"MOTOR_2_DRIVER_IN2",
"",
"CP_POSITIVE_PEAK_RST", /* 10 */
"CP_NEGATIVE_PEAK_RST";
};
&i2c4 {
clock-frequency = <100000>;
pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c4>;
pinctrl-1 = <&pinctrl_i2c4_gpio>;
scl-gpios = <&gpio1 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
sda-gpios = <&gpio1 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
status = "okay";
pfuze3001: pmic@8 {
compatible = "fsl,pfuze3001";
reg = <0x08>;
regulators {
sw1_reg: sw1 {
regulator-name = "SW1";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
sw2_reg: sw2 {
regulator-name = "SW2";
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
sw3_reg: sw3 {
regulator-name = "SW3";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1650000>;
regulator-boot-on;
regulator-always-on;
};
snvs_reg: vsnvs {
regulator-name = "VSNVS";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <3000000>;
regulator-boot-on;
regulator-always-on;
};
vgen1_reg: vldo1 {
regulator-name = "VLDO1";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
vgen2_reg: vldo2 {
regulator-name = "VLDO2";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1550000>;
regulator-always-on;
};
vgen3_reg: vccsd {
regulator-name = "VCCSD";
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
vgen4_reg: v33 {
regulator-name = "V33";
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
vgen5_reg: vldo3 {
regulator-name = "VLDO3";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
vgen6_reg: vldo4 {
regulator-name = "VLDO4";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
};
};
onewire@18 {
compatible = "maxim,ds2484";
reg = <0x18>;
};
accelerometer@19 {
compatible = "st,iis328dq", "st,h3lis331dl-accel";
reg = <0x19>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_accelerometer_int1_snvs>;
vdd-supply = <&reg_dcdc_3v3>;
vddio-supply = <&reg_dcdc_3v3>;
st,drdy-int-pin = <1>;
interrupt-parent = <&gpio5>;
interrupts = <5 IRQ_TYPE_EDGE_RISING>;
};
};
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_board_var
&pinctrl_digital_input
&pinctrl_digital_output
&pinctrl_gpio_motor
&pinctrl_hog_pins
&pinctrl_rotary_switch1
&pinctrl_rotary_switch2>;
pinctrl_adc_cp: adc-cpgrp {
fsl,pins = <
MX6UL_PAD_GPIO1_IO02__GPIO1_IO02 0xb0
MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0xb0
>;
};
pinctrl_adc_motor: adc-motorgrp {
fsl,pins = <
MX6UL_PAD_GPIO1_IO00__GPIO1_IO00 0xb0
MX6UL_PAD_GPIO1_IO01__GPIO1_IO01 0xb0
MX6UL_PAD_GPIO1_IO04__GPIO1_IO04 0xb0
>;
};
pinctrl_adc_pp: adc-ppgrp {
fsl,pins = <
MX6UL_PAD_GPIO1_IO05__GPIO1_IO05 0xb0
>;
};
pinctrl_board_var: board-vargrp {
fsl,pins = <
MX6UL_PAD_NAND_CLE__GPIO4_IO15 0xb0
MX6UL_PAD_NAND_CE0_B__GPIO4_IO13 0xb0
MX6UL_PAD_NAND_CE1_B__GPIO4_IO14 0xb0
MX6UL_PAD_NAND_DQS__GPIO4_IO16 0xb0
>;
};
pinctrl_digital_input: digital-inputgrp {
fsl,pins = <
MX6UL_PAD_CSI_DATA04__GPIO4_IO25 0xb0
MX6UL_PAD_CSI_DATA05__GPIO4_IO26 0xb0
MX6UL_PAD_CSI_DATA07__GPIO4_IO28 0xb0
MX6UL_PAD_CSI_DATA06__GPIO4_IO27 0xb0
MX6UL_PAD_CSI_HSYNC__GPIO4_IO20 0xb0
MX6UL_PAD_CSI_DATA02__GPIO4_IO23 0xb0
>;
};
pinctrl_digital_output: digital-outputgrp {
fsl,pins = <
MX6UL_PAD_LCD_DATA15__GPIO3_IO20 0x400000b0
MX6UL_PAD_LCD_DATA16__GPIO3_IO21 0x400000b0
MX6UL_PAD_LCD_DATA17__GPIO3_IO22 0x400000b0
MX6UL_PAD_LCD_DATA18__GPIO3_IO23 0x400000b0
MX6UL_PAD_LCD_DATA19__GPIO3_IO24 0x400000b0
MX6UL_PAD_LCD_DATA20__GPIO3_IO25 0x400000b0
>;
};
pinctrl_ecspi2: ecspi2grp {
fsl,pins = <
MX6UL_PAD_UART4_RX_DATA__GPIO1_IO29 0x10b0
MX6UL_PAD_LCD_HSYNC__GPIO3_IO02 0xb0
MX6UL_PAD_LCD_RESET__GPIO3_IO04 0xb0
MX6UL_PAD_UART4_TX_DATA__ECSPI2_SCLK 0x10b0
MX6UL_PAD_UART5_RX_DATA__ECSPI2_MISO 0x10b0
MX6UL_PAD_UART5_TX_DATA__ECSPI2_MOSI 0x10b0
>;
};
pinctrl_ecspi4: ecspi4grp {
fsl,pins = <
MX6UL_PAD_ENET2_RX_ER__GPIO2_IO15 0x10b0
MX6UL_PAD_ENET2_TX_DATA1__ECSPI4_SCLK 0x10b0
MX6UL_PAD_ENET2_TX_CLK__ECSPI4_MISO 0x10b0
MX6UL_PAD_ENET2_TX_EN__ECSPI4_MOSI 0x10b0
>;
};
pinctrl_emmc_rst: emmc-rstgrp {
fsl,pins = <
MX6UL_PAD_NAND_ALE__GPIO4_IO10 0x400010b0
>;
};
pinctrl_enet_mdio: enet-mdiogrp {
fsl,pins = <
MX6UL_PAD_GPIO1_IO06__ENET1_MDIO 0x10b0
MX6UL_PAD_GPIO1_IO07__ENET1_MDC 0x10b0
>;
};
pinctrl_enet1_phy_int: enet1-phy-intgrp {
fsl,pins = <
MX6UL_PAD_ENET1_RX_ER__GPIO2_IO07 0x10b0
>;
};
pinctrl_enet1: enet1grp {
fsl,pins = <
MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x100b0
MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x100b0
MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN 0x100b0
MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x400000b1
MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0xb0
MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0xb0
MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN 0xb0
>;
};
pinctrl_ext_uart: ext-uartgrp {
fsl,pins = <
MX6UL_PAD_ENET2_TX_DATA0__UART7_DCE_RX 0xb0
MX6UL_PAD_ENET2_RX_EN__UART7_DCE_TX 0xb0
>;
};
pinctrl_fan_enable: fan-enablegrp {
fsl,pins = <
MX6UL_PAD_LCD_DATA00__GPIO3_IO05 0x400000b0
>;
};
pinctrl_gpio_motor: gpio-motorgrp {
fsl,pins = <
MX6UL_PAD_LCD_DATA02__GPIO3_IO07 0x400000b0
MX6UL_PAD_LCD_DATA03__GPIO3_IO08 0x400000b0
MX6UL_PAD_LCD_DATA04__GPIO3_IO09 0x400000b0
MX6UL_PAD_UART1_RTS_B__GPIO1_IO19 0xb0
MX6UL_PAD_UART3_RX_DATA__GPIO1_IO25 0xb0
>;
};
pinctrl_hog_pins: hog-pinsgrp {
fsl,pins = <
MX6UL_PAD_LCD_DATA07__GPIO3_IO12 0x400000b0
MX6UL_PAD_LCD_DATA08__GPIO3_IO13 0x400000b0
MX6UL_PAD_JTAG_TDI__GPIO1_IO13 0x400070a0
MX6UL_PAD_LCD_DATA05__GPIO3_IO10 0x400000b0
MX6UL_PAD_LCD_DATA06__GPIO3_IO11 0x400000b0
>;
};
pinctrl_i2c4: i2c4grp {
fsl,pins = <
MX6UL_PAD_UART2_RX_DATA__I2C4_SDA 0x400008b0
MX6UL_PAD_UART2_TX_DATA__I2C4_SCL 0x400008b0
>;
};
pinctrl_i2c4_gpio: i2c4-gpiogrp {
fsl,pins = <
MX6UL_PAD_UART2_RX_DATA__GPIO1_IO21 0x400008b0
MX6UL_PAD_UART2_TX_DATA__GPIO1_IO20 0x400008b0
>;
};
pinctrl_pmic: pmicgrp {
fsl,pins = <
MX6UL_PAD_GPIO1_IO08__USDHC2_VSELECT 0x70b1
MX6UL_PAD_CSI_VSYNC__GPIO4_IO19 0xb0
>;
};
pinctrl_pwm_cp: pinctrl-pwm-cpgrp {
fsl,pins = <
MX6UL_PAD_JTAG_TRST_B__PWM8_OUT 0x60a0
>;
};
pinctrl_pwm_digital_input_ref: pwm-digital-input-refgrp {
fsl,pins = <
MX6UL_PAD_GPIO1_IO09__PWM2_OUT 0xb0
>;
};
pinctrl_pwm_fan: pwm-fangrp {
fsl,pins = <
MX6UL_PAD_JTAG_TCK__PWM7_OUT 0x60a0
>;
};
pinctrl_qca700x_cp_btld: qca700x-cp-btldgrp {
fsl,pins = <
MX6UL_PAD_LCD_DATA13__GPIO3_IO18 0x400000b0
>;
};
pinctrl_qca700x_cp_int: qca700x-cp-intgrp {
fsl,pins = <
MX6UL_PAD_SD1_DATA1__GPIO2_IO19 0x10b0
>;
};
pinctrl_qca700x_cp_rst: qca700x-cp-rstgrp {
fsl,pins = <
MX6UL_PAD_LCD_DATA12__GPIO3_IO17 0x400000b0
>;
};
pinctrl_qca700x_mains_btld: qca700x-mains-btldgrp {
fsl,pins = <
MX6UL_PAD_LCD_DATA11__GPIO3_IO16 0x400000b0
>;
};
pinctrl_rotary_switch1: rotary-switch1grp {
fsl,pins = <
MX6UL_PAD_UART2_CTS_B__GPIO1_IO22 0xb0
MX6UL_PAD_UART2_RTS_B__GPIO1_IO23 0xb0
MX6UL_PAD_UART3_TX_DATA__GPIO1_IO24 0xb0
>;
};
pinctrl_rotary_switch2: rotary-switch2grp {
fsl,pins = <
MX6UL_PAD_CSI_PIXCLK__GPIO4_IO18 0xb0
MX6UL_PAD_LCD_DATA23__GPIO3_IO28 0xb0
MX6UL_PAD_LCD_DATA22__GPIO3_IO27 0xb0
MX6UL_PAD_LCD_DATA21__GPIO3_IO26 0xb0
>;
};
pinctrl_rs485_1: rs485-1grp {
fsl,pins = <
MX6UL_PAD_UART1_CTS_B__GPIO1_IO18 0xb0
MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX 0xb0
MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0xb0
>;
};
pinctrl_rs485_2: rs485-2grp {
fsl,pins = <
MX6UL_PAD_CSI_DATA03__GPIO4_IO24 0x10b0
MX6UL_PAD_CSI_DATA01__UART5_DCE_RX 0x10b0
MX6UL_PAD_CSI_DATA00__UART5_DCE_TX 0x10b0
>;
};
pinctrl_status_leds: status-ledsgrp {
fsl,pins = <
MX6UL_PAD_LCD_DATA09__GPIO3_IO14 0xb0
MX6UL_PAD_LCD_DATA10__GPIO3_IO15 0xb0
MX6UL_PAD_LCD_DATA14__GPIO3_IO19 0xb0
>;
};
pinctrl_stm32: stm32grp {
fsl,pins = <
MX6UL_PAD_ENET2_RX_DATA1__UART6_DCE_RX 0x10b0
MX6UL_PAD_ENET2_RX_DATA0__UART6_DCE_TX 0x10b0
>;
};
pinctrl_uart4: uart4grp {
fsl,pins = <
MX6UL_PAD_LCD_CLK__UART4_DTE_RX 0xb0
MX6UL_PAD_LCD_ENABLE__UART4_DTE_TX 0xb0
>;
};
pinctrl_usb: usbgrp {
fsl,pins = <
MX6UL_PAD_SD1_CLK__USB_OTG1_OC 0x70b0
MX6UL_PAD_SD1_DATA0__ANATOP_OTG1_ID 0x70b0
>;
};
pinctrl_usb_pwr: usb-pwrgrp {
fsl,pins = <
MX6UL_PAD_SD1_CMD__USB_OTG1_PWR 0xb0
>;
};
pinctrl_usdhc2: usdhc2grp {
fsl,pins = <
MX6UL_PAD_NAND_RE_B__USDHC2_CLK 0x7071
MX6UL_PAD_NAND_WE_B__USDHC2_CMD 0x7071
MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x7071
MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x7071
MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x7071
MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x7071
MX6UL_PAD_NAND_DATA04__USDHC2_DATA4 0x7071
MX6UL_PAD_NAND_DATA05__USDHC2_DATA5 0x7071
MX6UL_PAD_NAND_DATA06__USDHC2_DATA6 0x7071
MX6UL_PAD_NAND_DATA07__USDHC2_DATA7 0x7071
>;
};
pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
fsl,pins = <
MX6UL_PAD_NAND_RE_B__USDHC2_CLK 0x70b1
MX6UL_PAD_NAND_WE_B__USDHC2_CMD 0x70b1
MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x70b1
MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x70b1
MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x70b1
MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x70b1
MX6UL_PAD_NAND_DATA04__USDHC2_DATA4 0x70b1
MX6UL_PAD_NAND_DATA05__USDHC2_DATA5 0x70b1
MX6UL_PAD_NAND_DATA06__USDHC2_DATA6 0x70b1
MX6UL_PAD_NAND_DATA07__USDHC2_DATA7 0x70b1
>;
};
pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
fsl,pins = <
MX6UL_PAD_NAND_RE_B__USDHC2_CLK 0x70f1
MX6UL_PAD_NAND_WE_B__USDHC2_CMD 0x70f1
MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x70f1
MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x70f1
MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x70f1
MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x70f1
MX6UL_PAD_NAND_DATA04__USDHC2_DATA4 0x70f1
MX6UL_PAD_NAND_DATA05__USDHC2_DATA5 0x70f1
MX6UL_PAD_NAND_DATA06__USDHC2_DATA6 0x70f1
MX6UL_PAD_NAND_DATA07__USDHC2_DATA7 0x70f1
>;
};
pinctrl_wdog2: wdoggrp {
fsl,pins = <
MX6UL_PAD_LCD_VSYNC__WDOG2_WDOG_B 0x10b0
>;
};
};
&iomuxc_snvs {
pinctrl-names = "default_snvs";
pinctrl-0 = <&pinctrl_cp_peak_snvs
&pinctrl_gpio_motor_snvs
&pinctrl_relay_sense_snvs
&pinctrl_rotary_switch1_snvs>;
pinctrl_accelerometer_int1_snvs: accelerometer-int1-snvsgrp {
fsl,pins = <
MX6ULL_PAD_SNVS_TAMPER5__GPIO5_IO05 0x130a0
>;
};
pinctrl_cp_peak_snvs: cp-peak-snvsgrp {
fsl,pins = <
MX6ULL_PAD_BOOT_MODE0__GPIO5_IO10 0x130a0
MX6ULL_PAD_BOOT_MODE1__GPIO5_IO11 0x130a0
>;
};
pinctrl_enet1_phy_rst: enet1-phy-rstgrp {
fsl,pins = <
MX6ULL_PAD_SNVS_TAMPER6__GPIO5_IO06 0x100a0
>;
};
pinctrl_fan_sense_snvs: fan-sense-snvsgrp {
fsl,pins = <
MX6ULL_PAD_SNVS_TAMPER1__GPIO5_IO01 0x100a0
>;
};
pinctrl_gpio_motor_snvs: gpio-motor-snvsgrp {
fsl,pins = <
MX6ULL_PAD_SNVS_TAMPER8__GPIO5_IO08 0x110a0
>;
};
pinctrl_qca700x_mains_int: qca700x-mains-intgrp {
fsl,pins = <
MX6ULL_PAD_SNVS_TAMPER9__GPIO5_IO09 0x130a0
>;
};
pinctrl_qca700x_mains_rst: qca700x-mains-rstgrp {
fsl,pins = <
MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07 0x400100a0
>;
};
pinctrl_relay_sense_snvs: relay-sense-snvsgrp {
fsl,pins = <
MX6ULL_PAD_SNVS_TAMPER3__GPIO5_IO03 0x100a0
MX6ULL_PAD_SNVS_TAMPER2__GPIO5_IO02 0x100a0
>;
};
pinctrl_rotary_switch1_snvs: rotary-switch1-snvsgrp {
fsl,pins = <
MX6ULL_PAD_SNVS_TAMPER0__GPIO5_IO00 0x110a0
>;
};
};
&pwm2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm_digital_input_ref>;
status = "okay";
};
&pwm8 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm_cp>;
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rs485_1>;
status = "okay";
};
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart4>;
fsl,dte-mode;
status = "okay";
};
&uart5 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rs485_2>;
};
&uart6 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_stm32>;
status = "okay";
};
&uart7 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ext_uart>;
status = "okay";
};
&usbotg1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb
&pinctrl_usb_pwr>;
dr_mode = "host";
power-active-high;
disable-over-current;
status = "okay";
};
&usbotg2 {
dr_mode = "host";
disable-over-current;
status = "okay";
};
&usbphy1 {
fsl,tx-cal-45-dn-ohms = <35>;
fsl,tx-cal-45-dp-ohms = <35>;
};
&usbphy2 {
fsl,tx-cal-45-dn-ohms = <35>;
fsl,tx-cal-45-dp-ohms = <35>;
};
&usdhc2 {
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc2>;
pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
vmmc-supply = <&sw2_reg>;
vqmmc-supply = <&reg_1v8>;
mmc-pwrseq = <&emmc_pwrseq>;
bus-width = <8>;
non-removable;
no-sd;
no-sdio;
status = "okay";
};
&wdog1 {
status = "disabled";
};
&wdog2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wdog2>;
fsl,ext-reset-output;
status = "okay";
};

View File

@@ -0,0 +1,82 @@
// SPDX-License-Identifier: GPL-2.0 OR MIT
//
// Copyright (C) 2023 chargebyte GmbH
#include "imx6ull-tarragon-common.dtsi"
/ {
model = "chargebyte Tarragon Master";
compatible = "chargebyte,imx6ull-tarragon-master", "fsl,imx6ull";
fan0: pwm-fan {
compatible = "pwm-fan";
pwms = <&pwm7 0 40000 PWM_POLARITY_INVERTED>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fan_sense_snvs>;
fan-supply = <&reg_fan>;
interrupt-parent = <&gpio5>;
interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
};
reg_fan: regulator {
compatible = "regulator-fixed";
regulator-name = "fan-supply";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fan_enable>;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
gpio = <&gpio3 5 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-boot-on;
};
};
&ecspi2 {
status = "okay";
qca700x_cp: ethernet@0 {
reg = <0x0>;
compatible = "qca,qca7000";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_qca700x_cp_int
&pinctrl_qca700x_cp_rst
&pinctrl_qca700x_cp_btld>;
interrupt-parent = <&gpio2>;
interrupts = <19 IRQ_TYPE_EDGE_RISING>;
spi-cpha;
spi-cpol;
spi-max-frequency = <16000000>;
};
};
&ecspi4 {
status = "okay";
qca700x_mains: ethernet@0 {
reg = <0x0>;
compatible = "qca,qca7000";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_qca700x_mains_int
&pinctrl_qca700x_mains_rst
&pinctrl_qca700x_mains_btld>;
interrupt-parent = <&gpio5>;
interrupts = <9 IRQ_TYPE_EDGE_RISING>;
spi-cpha;
spi-cpol;
spi-max-frequency = <16000000>;
};
};
&fec1 {
status = "okay";
};
&pwm7 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm_fan>;
status = "okay";
};
&uart5 {
status = "okay";
};

View File

@@ -0,0 +1,10 @@
// SPDX-License-Identifier: GPL-2.0 OR MIT
//
// Copyright (C) 2023 chargebyte GmbH
#include "imx6ull-tarragon-common.dtsi"
/ {
model = "chargebyte Tarragon Micro";
compatible = "chargebyte,imx6ull-tarragon-micro", "fsl,imx6ull";
};

View File

@@ -0,0 +1,32 @@
// SPDX-License-Identifier: GPL-2.0 OR MIT
//
// Copyright (C) 2023 chargebyte GmbH
#include "imx6ull-tarragon-common.dtsi"
/ {
model = "chargebyte Tarragon Slave";
compatible = "chargebyte,imx6ull-tarragon-slave", "fsl,imx6ull";
};
&ecspi2 {
status = "okay";
qca700x_cp: ethernet@0 {
reg = <0x0>;
compatible = "qca,qca7000";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_qca700x_cp_int
&pinctrl_qca700x_cp_rst
&pinctrl_qca700x_cp_btld>;
interrupt-parent = <&gpio2>;
interrupts = <19 IRQ_TYPE_EDGE_RISING>;
spi-cpha;
spi-cpol;
spi-max-frequency = <16000000>;
};
};
&fec1 {
status = "okay";
};

View File

@@ -0,0 +1,64 @@
// SPDX-License-Identifier: GPL-2.0 OR MIT
//
// Copyright (C) 2023 chargebyte GmbH
#include "imx6ull-tarragon-common.dtsi"
/ {
model = "chargebyte Tarragon SlaveXT";
compatible = "chargebyte,imx6ull-tarragon-slavext", "fsl,imx6ull";
fan0: pwm-fan {
compatible = "pwm-fan";
pwms = <&pwm7 0 40000 PWM_POLARITY_INVERTED>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fan_sense_snvs>;
fan-supply = <&reg_fan>;
interrupt-parent = <&gpio5>;
interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
};
reg_fan: regulator {
compatible = "regulator-fixed";
regulator-name = "fan-supply";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fan_enable>;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
gpio = <&gpio3 5 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-boot-on;
};
};
&ecspi2 {
status = "okay";
qca700x_cp: ethernet@0 {
reg = <0x0>;
compatible = "qca,qca7000";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_qca700x_cp_int
&pinctrl_qca700x_cp_rst
&pinctrl_qca700x_cp_btld>;
interrupt-parent = <&gpio2>;
interrupts = <19 IRQ_TYPE_EDGE_RISING>;
spi-cpha;
spi-cpol;
spi-max-frequency = <16000000>;
};
};
&fec1 {
status = "okay";
};
&pwm7 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm_fan>;
status = "okay";
};
&uart5 {
status = "okay";
};

View File

@@ -8,6 +8,7 @@
/dts-v1/;
#include "imx7d.dtsi"
#include <dt-bindings/input/linux-event-codes.h>
/ {
model = "reMarkable 2.0";
@@ -69,6 +70,17 @@ reg_digitizer: regulator-digitizer {
startup-delay-us = <100000>; /* 100 ms */
};
reg_touch: regulator-touch {
compatible = "regulator-fixed";
regulator-name = "VDD_3V3_TOUCH";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_touch_reg>;
gpio = <&gpio1 11 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
wifi_pwrseq: wifi_pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
@@ -79,6 +91,10 @@ wifi_pwrseq: wifi_pwrseq {
};
};
&cpu0 {
cpu-supply = <&buck1>;
};
&clks {
assigned-clocks = <&clks IMX7D_CLKO2_ROOT_SRC>,
<&clks IMX7D_CLKO2_ROOT_DIV>;
@@ -106,6 +122,193 @@ wacom_digitizer: digitizer@9 {
};
};
&i2c2 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c2>;
status = "okay";
bd71815: pmic@4b {
compatible = "rohm,bd71815";
reg = <0x4b>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_bd71815>;
interrupt-parent = <&gpio6>; /* PMIC_INT_B GPIO6_IO16 */
interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
gpio-controller;
clocks = <&clks IMX7D_CLKO2_ROOT_SRC>;
clock-output-names = "bd71815-32k-out";
#clock-cells = <0>;
#gpio-cells = <2>;
regulators {
buck1: buck1 {
regulator-name = "buck1";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2000000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <1250>;
};
buck2: buck2 {
regulator-name = "buck2";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2000000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <1250>;
};
buck3: buck3 {
regulator-name = "buck3";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <2700000>;
regulator-boot-on;
regulator-always-on;
};
buck4: buck4 {
regulator-name = "buck4";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1850000>;
regulator-boot-on;
regulator-always-on;
};
buck5: buck5 {
regulator-name = "buck5";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
ldo1: ldo1 {
regulator-name = "ldo1";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
ldo2: ldo2 {
regulator-name = "ldo2";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
ldo3: ldo3 {
regulator-name = "ldo3";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
ldo4: ldo4 {
regulator-name = "ldo4";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
ldo5: ldo5 {
regulator-name = "ldo5";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
ldo6: ldodvref {
regulator-name = "ldodvref";
regulator-boot-on;
regulator-always-on;
};
ldo7: ldolpsr {
regulator-name = "ldolpsr";
regulator-boot-on;
regulator-always-on;
};
boost: wled {
regulator-name = "wled";
regulator-min-microamp = <10>;
regulator-max-microamp = <25000>;
regulator-boot-on;
regulator-always-on;
};
};
};
};
&i2c3 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c3>;
status = "okay";
touchscreen@24 {
compatible = "cypress,tt21000";
reg = <0x24>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_touch>;
interrupt-parent = <&gpio1>;
interrupts = <14 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
vdd-supply = <&reg_touch>;
touchscreen-size-x = <880>;
touchscreen-size-y = <1280>;
#address-cells = <1>;
#size-cells = <0>;
button@0 {
reg = <0>;
linux,keycodes = <KEY_HOMEPAGE>;
};
button@1 {
reg = <1>;
linux,keycodes = <KEY_MENU>;
};
button@2 {
reg = <2>;
linux,keycodes = <KEY_BACK>;
};
button@3 {
reg = <3>;
linux,keycodes = <KEY_SEARCH>;
};
button@4 {
reg = <4>;
linux,keycodes = <KEY_VOLUMEDOWN>;
};
button@5 {
reg = <5>;
linux,keycodes = <KEY_VOLUMEUP>;
};
button@6 {
reg = <6>;
linux,keycodes = <KEY_CAMERA>;
};
button@7 {
reg = <7>;
linux,keycodes = <KEY_POWER>;
};
};
};
&i2c4 {
clock-frequency = <100000>;
pinctrl-names = "default", "sleep";
@@ -218,6 +421,12 @@ MX7D_PAD_LPSR_GPIO1_IO01__GPIO1_IO1 0x00000034 /* WACOM INT */
};
&iomuxc {
pinctrl_bd71815: bd71815grp {
fsl,pins = <
MX7D_PAD_SAI1_RX_SYNC__GPIO6_IO16 0x59
>;
};
pinctrl_brcm_reg: brcmreggrp {
fsl,pins = <
/* WIFI_PWR_EN */
@@ -232,6 +441,15 @@ MX7D_PAD_ENET1_RGMII_TXC__GPIO7_IO11 0x00000014
>;
};
pinctrl_touch: touchgrp {
fsl,pins = <
/* CYTTSP interrupt */
MX7D_PAD_GPIO1_IO14__GPIO1_IO14 0x54
/* CYTTSP reset */
MX7D_PAD_GPIO1_IO13__GPIO1_IO13 0x04
>;
};
pinctrl_i2c1: i2c1grp {
fsl,pins = <
MX7D_PAD_I2C1_SDA__I2C1_SDA 0x4000007f
@@ -239,6 +457,20 @@ MX7D_PAD_I2C1_SCL__I2C1_SCL 0x4000007f
>;
};
pinctrl_i2c2: i2c2grp {
fsl,pins = <
MX7D_PAD_I2C2_SDA__I2C2_SDA 0x4000007f
MX7D_PAD_I2C2_SCL__I2C2_SCL 0x4000007f
>;
};
pinctrl_i2c3: i2c3grp {
fsl,pins = <
MX7D_PAD_I2C3_SDA__I2C3_SDA 0x4000007f
MX7D_PAD_I2C3_SCL__I2C3_SCL 0x4000007f
>;
};
pinctrl_i2c4: i2c4grp {
fsl,pins = <
MX7D_PAD_I2C4_SDA__I2C4_SDA 0x4000007f
@@ -246,6 +478,13 @@ MX7D_PAD_I2C4_SCL__I2C4_SCL 0x4000007f
>;
};
pinctrl_touch_reg: touchreggrp {
fsl,pins = <
/* TOUCH_PWR_EN */
MX7D_PAD_GPIO1_IO11__GPIO1_IO11 0x14
>;
};
pinctrl_uart1: uart1grp {
fsl,pins = <
MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX 0x79

View File

@@ -165,6 +165,15 @@ pcie_phy: pcie-phy@306d0000 {
reg = <0x306d0000 0x10000>;
status = "disabled";
};
pxp: pxp@30700000 {
compatible = "fsl,imx7d-pxp";
reg = <0x30700000 0x10000>;
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX7D_PXP_CLK>;
clock-names = "axi";
};
};
&aips3 {