Skip to content

Commit

Permalink
ARM: dts: imx28-duckbill-2: Include base board
Browse files Browse the repository at this point in the history
All additional I2SE Duckbill 2 variants always have the same
base board in common. So consider this by including the base
board and avoid a lot of redundancy.

Special care needs to be taken of the SPI variant. ssp2 is used
as SD card interface on the base board, but on the SPI variant
it's downgrade to a SPI interface to connect the QCA7000. So
the SD card properties must be deleted.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Cc: Michael Heimpold <mhei@heimpold.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
  • Loading branch information
Stefan Wahren authored and Shawn Guo committed Mar 14, 2023
1 parent bad4d33 commit 1e89943
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 502 deletions.
174 changes: 14 additions & 160 deletions arch/arm/boot/dts/imx28-duckbill-2-485.dts
Original file line number Diff line number Diff line change
Expand Up @@ -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>;
Expand All @@ -182,3 +23,16 @@
};
};
};

&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
>;
};
Loading

0 comments on commit 1e89943

Please sign in to comment.