@@ -119,6 +119,7 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \
omap3-beagle-xm.dtb \
omap3-evm.dtb \
omap3-tobi.dtb \
+ omap3-n900.dtb \
omap4-panda.dtb \
omap4-panda-a4.dtb \
omap4-panda-es.dtb \
new file mode 100644
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2013 Pavel Machek <pavel@ucw.cz>
+ * Copyright 2013 Aaro Koskinen <aaro.koskinen@iki.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 (or later) as
+ * published by the Free Software Foundation.
+ */
+
+/dts-v1/;
+
+/include/ "omap34xx.dtsi"
+
+/ {
+ model = "Nokia N900";
+ compatible = "nokia,omap3-n900", "ti,omap3";
+
+ cpus {
+ cpu@0 {
+// cpu0-supply = <&vcc>;
+ };
+ };
+
+ memory {
+ device_type = "memory";
+ reg = <0x80000000 0x10000000>; /* 256 MB */
+ };
+
+};
+
+&i2c1 {
+ clock-frequency = <2200000>;
+
+ twl: twl@48 {
+ reg = <0x48>;
+ interrupts = <7>; /* SYS_NIRQ cascaded to intc */
+ interrupt-parent = <&intc>;
+ };
+};
+
+/include/ "twl4030.dtsi"
+
+&twl_gpio {
+ ti,pullups = <0x0>;
+ ti,pulldowns = <0x03ff3f>; /* BIT(0..5) | BIT(8..17) */
+};
+
+&i2c2 {
+ clock-frequency = <400000>;
+};
+
+&i2c3 {
+ clock-frequency = <100000>;
+};
+
+&mmc1 {
+ status = "disabled";
+};
+
+&mmc2 {
+ status = "disabled";
+};
+
+&mmc3 {
+ status = "disabled";
+};
+
+&mcspi1 {
+ // For some reason, touchscreen is neccessary for screen to work at
+ // all on real hw. It works well without it on emulator.
+ //
+ // Also... order in the device tree actually matters here.
+ tsc2005@0 {
+ compatible = "tsc2005";
+ spi-max-frequency = <6000000>;
+ reg = <0>;
+ };
+ mipid@2 {
+ compatible = "acx565akm";
+ spi-max-frequency = <6000000>;
+ reg = <2>;
+ // turbo_mode = 0,
+ // cs_per_word = 0
+ };
+};
+
+/*
+&usb_otg_hs {
+ interface-type = <0>;
+ usb-phy = <&usb2_phy>;
+ mode = <2>;
+ power = <50>;
+};
+*/
new file mode 100644
@@ -0,0 +1,28 @@
+/*
+ * Device Tree Source for OMAP34xx/OMAP35xx SoC
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2. This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+/include/ "omap3.dtsi"
+
+/ {
+ cpus {
+ cpu@0 {
+ /* OMAP343x/OMAP35xx variants OPP1-5 */
+ operating-points = <
+ /* kHz uV */
+ 125000 975000
+ 250000 1075000
+ 500000 1200000
+ 550000 1270000
+ 600000 1350000
+ >;
+ clock-latency = <300000>; /* From legacy driver */
+ };
+ };
+};
@@ -131,6 +131,7 @@ static long twl4030_madc_ioctl(struct file *filp, unsigned int cmd,
switch (cmd) {
case TWL4030_MADC_IOCX_ADC_RAW_READ: {
+#if 0
struct twl4030_madc_request req;
if (par.channel >= TWL4030_MADC_MAX_CHANNELS)
return -EINVAL;
@@ -151,6 +152,9 @@ static long twl4030_madc_ioctl(struct file *filp, unsigned int cmd,
} else {
par.status = val;
}
+#else
+ panic("no raw readings from adc");
+#endif
break;
}
default:
@@ -68,7 +68,7 @@ static struct omap_dss_board_info rx51_dss_board_info = {
static int __init rx51_video_init(void)
{
- if (!machine_is_nokia_rx51())
+ if (!machine_is_nokia_rx51() && !of_machine_is_compatible("nokia,omap3-n900"))
return 0;
if (omap_mux_init_gpio(RX51_LCD_RESET_GPIO, OMAP_PIN_OUTPUT)) {
@@ -33,9 +33,12 @@
#include "pm.h"
#include "sdram-nokia.h"
#include "board-rx51-secure.h"
+#include "soc.h"
#define RX51_GPIO_SLEEP_IND 162
+/* This lights up left part of keyboard */
+
static struct gpio_led gpio_leds[] = {
{
.name = "sleep_ind",
@@ -107,9 +110,11 @@ static void __init rx51_init(void)
rx51_camera_init();
#ifdef CONFIG_ARM_ERRATA_430973
- printk(KERN_INFO "RX-51: Enabling ARM errata 430973 workaround.\n");
- /* set IBE to 1 */
- rx51_secure_update_aux_cr(1 << 6, 0);
+ if (omap_type() == OMAP2_DEVICE_TYPE_SEC) {
+ printk(KERN_INFO "RX-51: Enabling ARM errata 430973 workaround.\n");
+ /* set IBE to 1 */
+ rx51_secure_update_aux_cr(1 << 6, 0);
+ }
#endif
/* Ensure SDRC pins are mux'd for self-refresh */
@@ -124,6 +129,7 @@ static void __init rx51_reserve(void)
omap_reserve();
}
+#if 0
MACHINE_START(NOKIA_RX51, "Nokia RX-51 board")
/* Maintainer: Lauri Leukkunen <lauri.leukkunen@nokia.com> */
.atag_offset = 0x100,
@@ -137,3 +143,4 @@ MACHINE_START(NOKIA_RX51, "Nokia RX-51 board")
.init_time = omap3_sync32k_timer_init,
.restart = omap3xxx_restart,
MACHINE_END
+#endif
@@ -396,7 +396,7 @@ static int rx51_soc_probe(struct platform_device *pdev)
struct snd_soc_card *card = &rx51_sound_card;
int err;
- if (!machine_is_nokia_rx51())
+ if (!machine_is_nokia_rx51() && !of_machine_is_compatible("nokia,omap3-n900"))
return -ENODEV;
err = gpio_request_one(RX51_TVOUT_SEL_GPIO,