forked from luck/tmp_suning_uos_patched
ARM: mxs: convert apx4devkit board to device tree
Tested-by: Lauri Hintsala <lauri.hintsala@bluegiga.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
This commit is contained in:
parent
8fa62e1128
commit
3143bbb42b
143
arch/arm/boot/dts/apx4devkit.dts
Normal file
143
arch/arm/boot/dts/apx4devkit.dts
Normal file
|
@ -0,0 +1,143 @@
|
|||
/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";
|
||||
};
|
||||
};
|
||||
};
|
|
@ -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 = <
|
||||
|
@ -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 = <
|
||||
|
|
|
@ -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>
|
||||
|
@ -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"))
|
||||
|
@ -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);
|
||||
|
@ -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…
Reference in New Issue
Block a user