It's mxs device tree changes for 3.8. The majority is device tree
source updates. One timer improvement and one defconfig update are also included there. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQEcBAABAgAGBQJQpeyAAAoJEFBXWFqHsHzOgpsH/3b8dVbanZFsAwm5z1rF2DY2 xrI5Xjqmk8K76CoZopRjQo/u6/SFbARzhClzCywBZKeVDM4Ah15bAN7wABmLgaVV xMDF8pA9mDZCzRwKEH6SG85n2/lMupG6qjbDNG22FXYfUAYJRxopoSDdNjfkvYr0 Da5ZcvC9qvYnyyp37vYTI6CVO4EgJseoirvaJOKCALb5FFpzq0QEkEYK6IIx7pg3 j9K2ZPy4/MIrsQQMyiv9AFEbUkUWy+deuTHv9Sl8+ddoqPtqNy4EfICt+no5uBmp frDg003/67Pz/fIm7lJ5IMBF4X0TW4OqMv9c2afG8/kJP34rXnBJVHdLKil731k= =jEM1 -----END PGP SIGNATURE----- Merge tag 'mxs-dt-3.8' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/dt From Shawn Guo <shawn.guo@linaro.org>: It's mxs device tree changes for 3.8. The majority is device tree source updates. One timer improvement and one defconfig update are also included there. * tag 'mxs-dt-3.8' of git://git.linaro.org/people/shawnguo/linux-2.6: ARM: mxs_defconfig: Improve USB related support ARM: mxs: apf28dev: Add I2C and SPI support ARM: mxs: Setup scheduler clock ARM: dts: mxs: Add hog pins to Crystalfontz boards ARM: dts: cfa10036: Use pinctrl for power led ARM: mxs: apf28dev: Add LCD and backlight support ARM: mxs: apf28dev: Add pinctrl and gpios ARM: dts: mxs: Add 16 bits LCD screen muxing options for I.MX28 ARM: dts: cfa10049: Add the DH2228FV DAC to the DTS ARM: mxs: Add support for the Armadeus Systems APF28Dev docking board ARM: mx28: Skip OCOTP FEC MAC setup if in DT ARM: dts: mxs: Add PWM3 muxing options for i.MX28 ARM: mxs: Add support for the Armadeus Systems APF28 module ARM: dts: cfa10049: Add FEC to the CFA-10049 expansion board ARM: dts: imx23-olinuxino: Use pinctrl for gpio-led ARM: dts: imx23-olinuxino: Remove unneeded "default-on" ARM: dts: imx28-evk: Use pinctrl for gpio-led Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
93363526c8
|
@ -56,6 +56,8 @@ dtb-$(CONFIG_ARCH_MXC) += imx51-babbage.dtb \
|
|||
dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
|
||||
imx23-olinuxino.dtb \
|
||||
imx23-stmp378x_devb.dtb \
|
||||
imx28-apf28.dtb \
|
||||
imx28-apf28dev.dtb \
|
||||
imx28-apx4devkit.dtb \
|
||||
imx28-cfa10036.dtb \
|
||||
imx28-cfa10049.dtb \
|
||||
|
|
|
@ -40,6 +40,15 @@
|
|||
reg = <0>;
|
||||
fsl,pinmux-ids = <
|
||||
0x2013 /* MX23_PAD_SSP1_DETECT__GPIO_2_1 */
|
||||
>;
|
||||
fsl,drive-strength = <0>;
|
||||
fsl,voltage = <1>;
|
||||
fsl,pull-up = <0>;
|
||||
};
|
||||
|
||||
led_pin_gpio0_17: led_gpio0_17@0 {
|
||||
reg = <0>;
|
||||
fsl,pinmux-ids = <
|
||||
0x0113 /* MX23_PAD_GPMI_ALE__GPIO_0_17 */
|
||||
>;
|
||||
fsl,drive-strength = <0>;
|
||||
|
@ -91,11 +100,12 @@
|
|||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pin_gpio0_17>;
|
||||
|
||||
user {
|
||||
label = "green";
|
||||
gpios = <&gpio2 1 0>;
|
||||
linux,default-trigger = "default-on";
|
||||
gpios = <&gpio2 1 1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -0,0 +1,85 @@
|
|||
/*
|
||||
* Copyright 2012 Armadeus Systems - <support@armadeus.com>
|
||||
*
|
||||
* The code contained herein is licensed under the GNU General Public
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
* Version 2 or later at the following locations:
|
||||
*
|
||||
* http://www.opensource.org/licenses/gpl-license.html
|
||||
* http://www.gnu.org/copyleft/gpl.html
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/include/ "imx28.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Armadeus Systems APF28 module";
|
||||
compatible = "armadeus,imx28-apf28", "fsl,imx28";
|
||||
|
||||
memory {
|
||||
reg = <0x40000000 0x08000000>;
|
||||
};
|
||||
|
||||
apb@80000000 {
|
||||
apbh@80000000 {
|
||||
gpmi-nand@8000c000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
|
||||
status = "okay";
|
||||
|
||||
partition@0 {
|
||||
label = "u-boot";
|
||||
reg = <0x0 0x300000>;
|
||||
};
|
||||
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ahb@80080000 {
|
||||
mac0: ethernet@800f0000 {
|
||||
phy-mode = "rmii";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mac0_pins_a>;
|
||||
phy-reset-gpios = <&gpio4 13 0>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
|
@ -0,0 +1,154 @@
|
|||
/*
|
||||
* Copyright 2012 Armadeus Systems - <support@armadeus.com>
|
||||
*
|
||||
* The code contained herein is licensed under the GNU General Public
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
* Version 2 or later at the following locations:
|
||||
*
|
||||
* http://www.opensource.org/licenses/gpl-license.html
|
||||
* http://www.gnu.org/copyleft/gpl.html
|
||||
*/
|
||||
|
||||
/* APF28Dev is a docking board for the APF28 SOM */
|
||||
/include/ "imx28-apf28.dts"
|
||||
|
||||
/ {
|
||||
model = "Armadeus Systems APF28Dev docking/development board";
|
||||
compatible = "armadeus,imx28-apf28dev", "armadeus,imx28-apf28", "fsl,imx28";
|
||||
|
||||
apb@80000000 {
|
||||
apbh@80000000 {
|
||||
ssp0: ssp@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: ssp@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 = <
|
||||
0x1103 /* MX28_PAD_LCD_D16__GPIO_1_16 */
|
||||
0x1113 /* MX28_PAD_LCD_D17__GPIO_1_17 */
|
||||
0x1123 /* MX28_PAD_LCD_D18__GPIO_1_18 */
|
||||
0x1133 /* MX28_PAD_LCD_D19__GPIO_1_19 */
|
||||
0x1143 /* MX28_PAD_LCD_D20__GPIO_1_20 */
|
||||
0x1153 /* MX28_PAD_LCD_D21__GPIO_1_21 */
|
||||
0x1163 /* MX28_PAD_LCD_D22__GPIO_1_22 */
|
||||
>;
|
||||
fsl,drive-strength = <0>;
|
||||
fsl,voltage = <1>;
|
||||
fsl,pull-up = <0>;
|
||||
};
|
||||
|
||||
lcdif_pins_apf28dev: lcdif-apf28dev@0 {
|
||||
reg = <0>;
|
||||
fsl,pinmux-ids = <
|
||||
0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */
|
||||
0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */
|
||||
0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */
|
||||
0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */
|
||||
>;
|
||||
fsl,drive-strength = <0>;
|
||||
fsl,voltage = <1>;
|
||||
fsl,pull-up = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
lcdif@80030000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&lcdif_16bit_pins_a
|
||||
&lcdif_pins_apf28dev>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
apbx@80040000 {
|
||||
lradc@80050000 {
|
||||
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";
|
||||
};
|
||||
|
||||
usbphy0: usbphy@8007c000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbphy1: usbphy@8007e000 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ahb@80080000 {
|
||||
usb0: usb@80080000 {
|
||||
vbus-supply = <®_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 = <&gpio0 23 0>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
regulators {
|
||||
compatible = "simple-bus";
|
||||
|
||||
reg_usb0_vbus: usb0_vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb0_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio1 23 1>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
user {
|
||||
label = "Heartbeat";
|
||||
gpios = <&gpio0 21 0>;
|
||||
linux,default-trigger = "heartbeat";
|
||||
};
|
||||
};
|
||||
|
||||
backlight {
|
||||
compatible = "pwm-backlight";
|
||||
|
||||
pwms = <&pwm 3 191000>;
|
||||
brightness-levels = <0 4 8 16 32 64 128 255>;
|
||||
default-brightness-level = <6>;
|
||||
};
|
||||
};
|
|
@ -22,6 +22,31 @@
|
|||
|
||||
apb@80000000 {
|
||||
apbh@80000000 {
|
||||
pinctrl@80018000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hog_pins_cfa10036>;
|
||||
|
||||
hog_pins_cfa10036: hog-10036@0 {
|
||||
reg = <0>;
|
||||
fsl,pinmux-ids = <
|
||||
0x2073 /* MX28_PAD_SSP0_D7__GPIO_2_7 */
|
||||
>;
|
||||
fsl,drive-strength = <0>;
|
||||
fsl,voltage = <1>;
|
||||
fsl,pull-up = <0>;
|
||||
};
|
||||
|
||||
led_pins_cfa10036: leds-10036@0 {
|
||||
reg = <0>;
|
||||
fsl,pinmux-ids = <
|
||||
0x3043 /* MX28_PAD_AUART1_RX__GPIO_3_4 */
|
||||
>;
|
||||
fsl,drive-strength = <0>;
|
||||
fsl,voltage = <1>;
|
||||
fsl,pull-up = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
ssp0: ssp@80010000 {
|
||||
compatible = "fsl,imx28-mmc";
|
||||
pinctrl-names = "default";
|
||||
|
@ -43,6 +68,8 @@
|
|||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_cfa10036>;
|
||||
|
||||
power {
|
||||
gpios = <&gpio3 4 1>;
|
||||
|
|
|
@ -22,6 +22,22 @@
|
|||
apb@80000000 {
|
||||
apbh@80000000 {
|
||||
pinctrl@80018000 {
|
||||
pinctrl-names = "default", "default";
|
||||
pinctrl-1 = <&hog_pins_cfa10049>;
|
||||
|
||||
hog_pins_cfa10049: hog-10049@0 {
|
||||
reg = <0>;
|
||||
fsl,pinmux-ids = <
|
||||
0x0073 /* MX28_PAD_GPMI_D7__GPIO_0_7 */
|
||||
0x1163 /* MX28_PAD_LCD_D22__GPIO_1_22 */
|
||||
0x1173 /* MX28_PAD_LCD_D22__GPIO_1_23 */
|
||||
0x2153 /* MX28_PAD_SSP2_D5__GPIO_2_21 */
|
||||
>;
|
||||
fsl,drive-strength = <0>;
|
||||
fsl,voltage = <1>;
|
||||
fsl,pull-up = <0>;
|
||||
};
|
||||
|
||||
spi3_pins_cfa10049: spi3-cfa10049@0 {
|
||||
reg = <0>;
|
||||
fsl,pinmux-ids = <
|
||||
|
@ -29,6 +45,7 @@
|
|||
0x01c1 /* MX28_PAD_GPMI_RESETN__SSP3_CMD */
|
||||
0x0111 /* MX28_PAD_GPMI_CE1N__SSP3_D3 */
|
||||
0x01a2 /* MX28_PAD_GPMI_ALE__SSP3_D4 */
|
||||
0x01b2 /* MX28_PAD_GPMI_CLE__SSP3_D5 */
|
||||
>;
|
||||
fsl,drive-strength = <1>;
|
||||
fsl,voltage = <1>;
|
||||
|
@ -60,6 +77,11 @@
|
|||
spi-max-frequency = <100000>;
|
||||
};
|
||||
|
||||
dac0: dh2228@2 {
|
||||
compatible = "rohm,dh2228fv";
|
||||
reg = <2>;
|
||||
spi-max-frequency = <100000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -96,4 +118,15 @@
|
|||
gpio = <&gpio0 7 1>;
|
||||
};
|
||||
};
|
||||
|
||||
ahb@80080000 {
|
||||
mac0: ethernet@800f0000 {
|
||||
phy-mode = "rmii";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mac0_pins_a>;
|
||||
phy-reset-gpios = <&gpio2 21 0>;
|
||||
phy-reset-duration = <100>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -76,7 +76,6 @@
|
|||
0x20c3 /* MX28_PAD_SSP1_SCK__GPIO_2_12 */
|
||||
0x31c3 /* MX28_PAD_PWM3__GPIO_3_28 */
|
||||
0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
|
||||
0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
|
||||
0x3083 /* MX28_PAD_AUART2_RX__GPIO_3_8 */
|
||||
0x3093 /* MX28_PAD_AUART2_TX__GPIO_3_9 */
|
||||
>;
|
||||
|
@ -85,6 +84,16 @@
|
|||
fsl,pull-up = <0>;
|
||||
};
|
||||
|
||||
led_pin_gpio3_5: led_gpio3_5@0 {
|
||||
reg = <0>;
|
||||
fsl,pinmux-ids = <
|
||||
0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
|
||||
>;
|
||||
fsl,drive-strength = <0>;
|
||||
fsl,voltage = <1>;
|
||||
fsl,pull-up = <0>;
|
||||
};
|
||||
|
||||
gpmi_pins_evk: gpmi-nand-evk@0 {
|
||||
reg = <0>;
|
||||
fsl,pinmux-ids = <
|
||||
|
@ -288,6 +297,8 @@
|
|||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pin_gpio3_5>;
|
||||
|
||||
user {
|
||||
label = "Heartbeat";
|
||||
|
|
|
@ -492,6 +492,16 @@
|
|||
fsl,pull-up = <0>;
|
||||
};
|
||||
|
||||
pwm3_pins_a: pwm3@0 {
|
||||
reg = <0>;
|
||||
fsl,pinmux-ids = <
|
||||
0x31c0 /* MX28_PAD_PWM3__PWM_3 */
|
||||
>;
|
||||
fsl,drive-strength = <0>;
|
||||
fsl,voltage = <1>;
|
||||
fsl,pull-up = <0>;
|
||||
};
|
||||
|
||||
pwm4_pins_a: pwm4@0 {
|
||||
reg = <0>;
|
||||
fsl,pinmux-ids = <
|
||||
|
@ -535,6 +545,31 @@
|
|||
fsl,pull-up = <0>;
|
||||
};
|
||||
|
||||
lcdif_16bit_pins_a: lcdif-16bit@0 {
|
||||
reg = <0>;
|
||||
fsl,pinmux-ids = <
|
||||
0x1000 /* MX28_PAD_LCD_D00__LCD_D0 */
|
||||
0x1010 /* MX28_PAD_LCD_D01__LCD_D1 */
|
||||
0x1020 /* MX28_PAD_LCD_D02__LCD_D2 */
|
||||
0x1030 /* MX28_PAD_LCD_D03__LCD_D3 */
|
||||
0x1040 /* MX28_PAD_LCD_D04__LCD_D4 */
|
||||
0x1050 /* MX28_PAD_LCD_D05__LCD_D5 */
|
||||
0x1060 /* MX28_PAD_LCD_D06__LCD_D6 */
|
||||
0x1070 /* MX28_PAD_LCD_D07__LCD_D7 */
|
||||
0x1080 /* MX28_PAD_LCD_D08__LCD_D8 */
|
||||
0x1090 /* MX28_PAD_LCD_D09__LCD_D9 */
|
||||
0x10a0 /* MX28_PAD_LCD_D10__LCD_D10 */
|
||||
0x10b0 /* MX28_PAD_LCD_D11__LCD_D11 */
|
||||
0x10c0 /* MX28_PAD_LCD_D12__LCD_D12 */
|
||||
0x10d0 /* MX28_PAD_LCD_D13__LCD_D13 */
|
||||
0x10e0 /* MX28_PAD_LCD_D14__LCD_D14 */
|
||||
0x10f0 /* MX28_PAD_LCD_D15__LCD_D15 */
|
||||
>;
|
||||
fsl,drive-strength = <0>;
|
||||
fsl,voltage = <1>;
|
||||
fsl,pull-up = <0>;
|
||||
};
|
||||
|
||||
can0_pins_a: can0@0 {
|
||||
reg = <0>;
|
||||
fsl,pinmux-ids = <
|
||||
|
|
|
@ -61,6 +61,8 @@ CONFIG_MTD_NAND_GPMI_NAND=y
|
|||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NET_ETHERNET=y
|
||||
CONFIG_ENC28J60=y
|
||||
CONFIG_USB_USBNET=y
|
||||
CONFIG_USB_NET_SMSC95XX=y
|
||||
# CONFIG_NETDEV_1000 is not set
|
||||
# CONFIG_NETDEV_10000 is not set
|
||||
# CONFIG_WLAN is not set
|
||||
|
@ -158,6 +160,10 @@ CONFIG_NFS_V3=y
|
|||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_NLS_ISO8859_15=y
|
||||
CONFIG_PRINTK_TIME=y
|
||||
CONFIG_FRAME_WARN=2048
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
|
|
|
@ -100,6 +100,25 @@ static struct fb_videomode apx4devkit_video_modes[] = {
|
|||
},
|
||||
};
|
||||
|
||||
static struct fb_videomode apf28dev_video_modes[] = {
|
||||
{
|
||||
.name = "LW700",
|
||||
.refresh = 60,
|
||||
.xres = 800,
|
||||
.yres = 480,
|
||||
.pixclock = 30303, /* picosecond */
|
||||
.left_margin = 96,
|
||||
.right_margin = 96, /* at least 3 & 1 */
|
||||
.upper_margin = 0x14,
|
||||
.lower_margin = 0x15,
|
||||
.hsync_len = 64,
|
||||
.vsync_len = 4,
|
||||
.sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT |
|
||||
FB_SYNC_DATA_ENABLE_HIGH_ACT |
|
||||
FB_SYNC_DOTCLK_FAILING_ACT,
|
||||
},
|
||||
};
|
||||
|
||||
static struct mxsfb_platform_data mxsfb_pdata __initdata;
|
||||
|
||||
/*
|
||||
|
@ -160,6 +179,7 @@ static struct sys_timer imx28_timer = {
|
|||
enum mac_oui {
|
||||
OUI_FSL,
|
||||
OUI_DENX,
|
||||
OUI_CRYSTALFONTZ,
|
||||
};
|
||||
|
||||
static void __init update_fec_mac_prop(enum mac_oui oui)
|
||||
|
@ -175,8 +195,12 @@ static void __init update_fec_mac_prop(enum mac_oui oui)
|
|||
np = of_find_compatible_node(from, NULL, "fsl,imx28-fec");
|
||||
if (!np)
|
||||
return;
|
||||
|
||||
from = np;
|
||||
|
||||
if (of_get_property(np, "local-mac-address", NULL))
|
||||
continue;
|
||||
|
||||
newmac = kzalloc(sizeof(*newmac) + 6, GFP_KERNEL);
|
||||
if (!newmac)
|
||||
return;
|
||||
|
@ -205,6 +229,11 @@ static void __init update_fec_mac_prop(enum mac_oui oui)
|
|||
macaddr[1] = 0xe5;
|
||||
macaddr[2] = 0x4e;
|
||||
break;
|
||||
case OUI_CRYSTALFONTZ:
|
||||
macaddr[0] = 0x58;
|
||||
macaddr[1] = 0xb9;
|
||||
macaddr[2] = 0xe1;
|
||||
break;
|
||||
}
|
||||
val = ocotp[i];
|
||||
macaddr[3] = (val >> 16) & 0xff;
|
||||
|
@ -355,6 +384,22 @@ static void __init tx28_post_init(void)
|
|||
pinctrl_put(pctl);
|
||||
}
|
||||
|
||||
static void __init cfa10049_init(void)
|
||||
{
|
||||
enable_clk_enet_out();
|
||||
update_fec_mac_prop(OUI_CRYSTALFONTZ);
|
||||
}
|
||||
|
||||
static void __init apf28_init(void)
|
||||
{
|
||||
enable_clk_enet_out();
|
||||
|
||||
mxsfb_pdata.mode_list = apf28dev_video_modes;
|
||||
mxsfb_pdata.mode_count = ARRAY_SIZE(apf28dev_video_modes);
|
||||
mxsfb_pdata.default_bpp = 16;
|
||||
mxsfb_pdata.ld_intf_width = STMLCDIF_16BIT;
|
||||
}
|
||||
|
||||
static void __init mxs_machine_init(void)
|
||||
{
|
||||
if (of_machine_is_compatible("fsl,imx28-evk"))
|
||||
|
@ -365,6 +410,10 @@ static void __init mxs_machine_init(void)
|
|||
m28evk_init();
|
||||
else if (of_machine_is_compatible("bluegiga,apx4devkit"))
|
||||
apx4devkit_init();
|
||||
else if (of_machine_is_compatible("crystalfontz,cfa10049"))
|
||||
cfa10049_init();
|
||||
else if (of_machine_is_compatible("armadeus,imx28-apf28"))
|
||||
apf28_init();
|
||||
|
||||
of_platform_populate(NULL, of_default_bus_match_table,
|
||||
mxs_auxdata_lookup, NULL);
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#include <linux/of_irq.h>
|
||||
|
||||
#include <asm/mach/time.h>
|
||||
#include <asm/sched_clock.h>
|
||||
#include <mach/mxs.h>
|
||||
#include <mach/common.h>
|
||||
|
||||
|
@ -233,15 +234,22 @@ static struct clocksource clocksource_mxs = {
|
|||
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
|
||||
};
|
||||
|
||||
static u32 notrace mxs_read_sched_clock_v2(void)
|
||||
{
|
||||
return ~readl_relaxed(mxs_timrot_base + HW_TIMROT_RUNNING_COUNTn(1));
|
||||
}
|
||||
|
||||
static int __init mxs_clocksource_init(struct clk *timer_clk)
|
||||
{
|
||||
unsigned int c = clk_get_rate(timer_clk);
|
||||
|
||||
if (timrot_is_v1())
|
||||
clocksource_register_hz(&clocksource_mxs, c);
|
||||
else
|
||||
else {
|
||||
clocksource_mmio_init(mxs_timrot_base + HW_TIMROT_RUNNING_COUNTn(1),
|
||||
"mxs_timer", c, 200, 32, clocksource_mmio_readl_down);
|
||||
setup_sched_clock(mxs_read_sched_clock_v2, 32, c);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue