Loading arch/arm/boot/dts/apx4devkit.dts 0 → 100644 +143 −0 Original line number Diff line number Diff line /dts-v1/; /include/ "imx28.dtsi" / { model = "Bluegiga APX4 Development Kit"; compatible = "bluegiga,apx4devkit", "fsl,imx28"; memory { reg = <0x40000000 0x04000000>; }; apb@80000000 { apbh@80000000 { ssp0: ssp@80010000 { compatible = "fsl,imx28-mmc"; pinctrl-names = "default"; pinctrl-0 = <&mmc0_8bit_pins_a &mmc0_cd_cfg &mmc0_sck_cfg>; bus-width = <8>; status = "okay"; }; pinctrl@80018000 { pinctrl-names = "default"; pinctrl-0 = <&hog_pins_a>; hog_pins_a: hog-gpios@0 { reg = <0>; fsl,pinmux-ids = < 0x31c3 /* MX28_PAD_PWM3__GPIO_3_28 */ >; fsl,drive-strength = <0>; fsl,voltage = <1>; fsl,pull-up = <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@0a { compatible = "fsl,sgtl5000"; reg = <0x0a>; VDDA-supply = <®_3p3v>; VDDIO-supply = <®_3p3v>; }; 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"; }; auart3: serial@80070000 { pinctrl-names = "default"; pinctrl-0 = <&auart3_2pins_a>; status = "okay"; }; }; }; ahb@80080000 { mac0: ethernet@800f0000 { phy-mode = "rmii"; pinctrl-names = "default"; pinctrl-0 = <&mac0_pins_a>; status = "okay"; }; }; regulators { compatible = "simple-bus"; reg_3p3v: 3p3v { compatible = "regulator-fixed"; regulator-name = "3P3V"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; }; sound { compatible = "bluegiga,apx4devkit-sgtl5000", "fsl,mxs-audio-sgtl5000"; model = "apx4devkit-sgtl5000"; saif-controllers = <&saif0 &saif1>; audio-codec = <&sgtl5000>; }; leds { compatible = "gpio-leds"; user { label = "Heartbeat"; gpios = <&gpio3 28 0>; linux,default-trigger = "heartbeat"; }; }; }; arch/arm/boot/dts/imx28.dtsi +33 −0 Original line number Diff line number Diff line Loading @@ -243,6 +243,28 @@ auart0_2pins_a: auart0-2pins@0 { fsl,pull-up = <0>; }; auart1_2pins_a: auart1-2pins@0 { reg = <0>; fsl,pinmux-ids = < 0x3040 /* MX28_PAD_AUART1_RX__AUART1_RX */ 0x3050 /* MX28_PAD_AUART1_TX__AUART1_TX */ >; fsl,drive-strength = <0>; fsl,voltage = <1>; fsl,pull-up = <0>; }; auart2_2pins_a: auart2-2pins@0 { reg = <0>; fsl,pinmux-ids = < 0x2101 /* MX28_PAD_SSP2_SCK__AUART2_RX */ 0x2111 /* MX28_PAD_SSP2_MOSI__AUART2_TX */ >; fsl,drive-strength = <0>; fsl,voltage = <1>; fsl,pull-up = <0>; }; auart3_pins_a: auart3@0 { reg = <0>; fsl,pinmux-ids = < Loading @@ -256,6 +278,17 @@ auart3_pins_a: auart3@0 { fsl,pull-up = <0>; }; auart3_2pins_a: auart3-2pins@0 { reg = <0>; fsl,pinmux-ids = < 0x2121 /* MX28_PAD_SSP2_MISO__AUART3_RX */ 0x2131 /* MX28_PAD_SSP2_SS0__AUART3_TX */ >; fsl,drive-strength = <0>; fsl,voltage = <1>; fsl,pull-up = <0>; }; mac0_pins_a: mac0@0 { reg = <0>; fsl,pinmux-ids = < Loading arch/arm/mach-mxs/mach-mxs.c +20 −0 Original line number Diff line number Diff line Loading @@ -16,9 +16,11 @@ #include <linux/init.h> #include <linux/init.h> #include <linux/irqdomain.h> #include <linux/micrel_phy.h> #include <linux/mxsfb.h> #include <linux/of_irq.h> #include <linux/of_platform.h> #include <linux/phy.h> #include <asm/mach/arch.h> #include <asm/mach/time.h> #include <mach/common.h> Loading Loading @@ -233,6 +235,21 @@ static void __init m28evk_init(void) mxsfb_pdata.ld_intf_width = STMLCDIF_18BIT; } static int apx4devkit_phy_fixup(struct phy_device *phy) { phy->dev_flags |= MICREL_PHY_50MHZ_CLK; return 0; } static void __init apx4devkit_init(void) { enable_clk_enet_out(); if (IS_BUILTIN(CONFIG_PHYLIB)) phy_register_fixup_for_uid(PHY_ID_KS8051, MICREL_PHY_ID_MASK, apx4devkit_phy_fixup); } static void __init mxs_machine_init(void) { if (of_machine_is_compatible("fsl,imx28-evk")) Loading @@ -241,6 +258,8 @@ static void __init mxs_machine_init(void) imx23_evk_init(); else if (of_machine_is_compatible("denx,m28evk")) m28evk_init(); else if (of_machine_is_compatible("bluegiga,apx4devkit")) apx4devkit_init(); of_platform_populate(NULL, of_default_bus_match_table, mxs_auxdata_lookup, NULL); Loading @@ -254,6 +273,7 @@ static const char *imx23_dt_compat[] __initdata = { }; static const char *imx28_dt_compat[] __initdata = { "bluegiga,apx4devkit", "crystalfontz,cfa10036", "denx,m28evk", "fsl,imx28-evk", Loading Loading
arch/arm/boot/dts/apx4devkit.dts 0 → 100644 +143 −0 Original line number Diff line number Diff line /dts-v1/; /include/ "imx28.dtsi" / { model = "Bluegiga APX4 Development Kit"; compatible = "bluegiga,apx4devkit", "fsl,imx28"; memory { reg = <0x40000000 0x04000000>; }; apb@80000000 { apbh@80000000 { ssp0: ssp@80010000 { compatible = "fsl,imx28-mmc"; pinctrl-names = "default"; pinctrl-0 = <&mmc0_8bit_pins_a &mmc0_cd_cfg &mmc0_sck_cfg>; bus-width = <8>; status = "okay"; }; pinctrl@80018000 { pinctrl-names = "default"; pinctrl-0 = <&hog_pins_a>; hog_pins_a: hog-gpios@0 { reg = <0>; fsl,pinmux-ids = < 0x31c3 /* MX28_PAD_PWM3__GPIO_3_28 */ >; fsl,drive-strength = <0>; fsl,voltage = <1>; fsl,pull-up = <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@0a { compatible = "fsl,sgtl5000"; reg = <0x0a>; VDDA-supply = <®_3p3v>; VDDIO-supply = <®_3p3v>; }; 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"; }; auart3: serial@80070000 { pinctrl-names = "default"; pinctrl-0 = <&auart3_2pins_a>; status = "okay"; }; }; }; ahb@80080000 { mac0: ethernet@800f0000 { phy-mode = "rmii"; pinctrl-names = "default"; pinctrl-0 = <&mac0_pins_a>; status = "okay"; }; }; regulators { compatible = "simple-bus"; reg_3p3v: 3p3v { compatible = "regulator-fixed"; regulator-name = "3P3V"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; }; sound { compatible = "bluegiga,apx4devkit-sgtl5000", "fsl,mxs-audio-sgtl5000"; model = "apx4devkit-sgtl5000"; saif-controllers = <&saif0 &saif1>; audio-codec = <&sgtl5000>; }; leds { compatible = "gpio-leds"; user { label = "Heartbeat"; gpios = <&gpio3 28 0>; linux,default-trigger = "heartbeat"; }; }; };
arch/arm/boot/dts/imx28.dtsi +33 −0 Original line number Diff line number Diff line Loading @@ -243,6 +243,28 @@ auart0_2pins_a: auart0-2pins@0 { fsl,pull-up = <0>; }; auart1_2pins_a: auart1-2pins@0 { reg = <0>; fsl,pinmux-ids = < 0x3040 /* MX28_PAD_AUART1_RX__AUART1_RX */ 0x3050 /* MX28_PAD_AUART1_TX__AUART1_TX */ >; fsl,drive-strength = <0>; fsl,voltage = <1>; fsl,pull-up = <0>; }; auart2_2pins_a: auart2-2pins@0 { reg = <0>; fsl,pinmux-ids = < 0x2101 /* MX28_PAD_SSP2_SCK__AUART2_RX */ 0x2111 /* MX28_PAD_SSP2_MOSI__AUART2_TX */ >; fsl,drive-strength = <0>; fsl,voltage = <1>; fsl,pull-up = <0>; }; auart3_pins_a: auart3@0 { reg = <0>; fsl,pinmux-ids = < Loading @@ -256,6 +278,17 @@ auart3_pins_a: auart3@0 { fsl,pull-up = <0>; }; auart3_2pins_a: auart3-2pins@0 { reg = <0>; fsl,pinmux-ids = < 0x2121 /* MX28_PAD_SSP2_MISO__AUART3_RX */ 0x2131 /* MX28_PAD_SSP2_SS0__AUART3_TX */ >; fsl,drive-strength = <0>; fsl,voltage = <1>; fsl,pull-up = <0>; }; mac0_pins_a: mac0@0 { reg = <0>; fsl,pinmux-ids = < Loading
arch/arm/mach-mxs/mach-mxs.c +20 −0 Original line number Diff line number Diff line Loading @@ -16,9 +16,11 @@ #include <linux/init.h> #include <linux/init.h> #include <linux/irqdomain.h> #include <linux/micrel_phy.h> #include <linux/mxsfb.h> #include <linux/of_irq.h> #include <linux/of_platform.h> #include <linux/phy.h> #include <asm/mach/arch.h> #include <asm/mach/time.h> #include <mach/common.h> Loading Loading @@ -233,6 +235,21 @@ static void __init m28evk_init(void) mxsfb_pdata.ld_intf_width = STMLCDIF_18BIT; } static int apx4devkit_phy_fixup(struct phy_device *phy) { phy->dev_flags |= MICREL_PHY_50MHZ_CLK; return 0; } static void __init apx4devkit_init(void) { enable_clk_enet_out(); if (IS_BUILTIN(CONFIG_PHYLIB)) phy_register_fixup_for_uid(PHY_ID_KS8051, MICREL_PHY_ID_MASK, apx4devkit_phy_fixup); } static void __init mxs_machine_init(void) { if (of_machine_is_compatible("fsl,imx28-evk")) Loading @@ -241,6 +258,8 @@ static void __init mxs_machine_init(void) imx23_evk_init(); else if (of_machine_is_compatible("denx,m28evk")) m28evk_init(); else if (of_machine_is_compatible("bluegiga,apx4devkit")) apx4devkit_init(); of_platform_populate(NULL, of_default_bus_match_table, mxs_auxdata_lookup, NULL); Loading @@ -254,6 +273,7 @@ static const char *imx23_dt_compat[] __initdata = { }; static const char *imx28_dt_compat[] __initdata = { "bluegiga,apx4devkit", "crystalfontz,cfa10036", "denx,m28evk", "fsl,imx28-evk", Loading