summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2022-05-19 13:55:43 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2022-05-19 13:55:43 +0200
commit764fdbaba337e3b58f31ce7b177c4e7c0ba2088d (patch)
tree954b7c40be6beb5ab6ca9158840e93873cc43427 /arch/arm/mach-omap
parent28889ccbfe785c59bfaa7c39985c376b697e2331 (diff)
parent747146a3eb186fb7101f1aaab53d9188dc41bfbb (diff)
downloadbarebox-764fdbaba337e3b58f31ce7b177c4e7c0ba2088d.tar.gz
barebox-764fdbaba337e3b58f31ce7b177c4e7c0ba2088d.tar.xz
Merge branch 'for-next/misc'
Diffstat (limited to 'arch/arm/mach-omap')
-rw-r--r--arch/arm/mach-omap/Kconfig6
-rw-r--r--arch/arm/mach-omap/Makefile2
-rw-r--r--arch/arm/mach-omap/include/mach/am33xx-clock.h1
-rw-r--r--arch/arm/mach-omap/include/mach/am33xx-silicon.h2
-rw-r--r--arch/arm/mach-omap/include/mach/devices.h3
-rw-r--r--arch/arm/mach-omap/include/mach/omap-fb.h49
-rw-r--r--arch/arm/mach-omap/omap4_generic.c17
-rw-r--r--arch/arm/mach-omap/omap_devices.c29
-rw-r--r--arch/arm/mach-omap/omap_fb.c36
9 files changed, 46 insertions, 99 deletions
diff --git a/arch/arm/mach-omap/Kconfig b/arch/arm/mach-omap/Kconfig
index 220b635167..f0e035e31e 100644
--- a/arch/arm/mach-omap/Kconfig
+++ b/arch/arm/mach-omap/Kconfig
@@ -168,6 +168,12 @@ config MACH_BEAGLEBONE
help
Say Y here if you are using Beagle Bone
+config MACH_MYIRTECH_X335X
+ bool "MYIR Tech Limited SOMs"
+ select ARCH_AM33XX
+ help
+ Say Y here if you are using a TI AM335X based MYIR SOM
+
config MACH_PHYTEC_SOM_AM335X
bool "Phytec AM335X SOMs"
select ARCH_AM33XX
diff --git a/arch/arm/mach-omap/Makefile b/arch/arm/mach-omap/Makefile
index 36b2aa090e..e81284ec3b 100644
--- a/arch/arm/mach-omap/Makefile
+++ b/arch/arm/mach-omap/Makefile
@@ -15,7 +15,7 @@
# GNU General Public License for more details.
#
#
-obj-$(CONFIG_ARCH_OMAP) += syslib.o omap_devices.o omap_generic.o omap_fb.o
+obj-$(CONFIG_ARCH_OMAP) += syslib.o omap_devices.o omap_generic.o
pbl-$(CONFIG_ARCH_OMAP) += syslib.o
obj-$(CONFIG_ARCH_OMAP3) += omap3_generic.o auxcr.o
pbl-$(CONFIG_ARCH_OMAP3) += omap3_generic.o auxcr.o
diff --git a/arch/arm/mach-omap/include/mach/am33xx-clock.h b/arch/arm/mach-omap/include/mach/am33xx-clock.h
index 3c2143d600..b0293db990 100644
--- a/arch/arm/mach-omap/include/mach/am33xx-clock.h
+++ b/arch/arm/mach-omap/include/mach/am33xx-clock.h
@@ -25,6 +25,7 @@
#define MPUPLL_M_600 600 /* 125 * n */
#define MPUPLL_M_720 720 /* 125 * n */
#define MPUPLL_M_800 800
+#define MPUPLL_M_1000 1000
#define MPUPLL_M2 1
diff --git a/arch/arm/mach-omap/include/mach/am33xx-silicon.h b/arch/arm/mach-omap/include/mach/am33xx-silicon.h
index 0729369255..0467dac03b 100644
--- a/arch/arm/mach-omap/include/mach/am33xx-silicon.h
+++ b/arch/arm/mach-omap/include/mach/am33xx-silicon.h
@@ -201,6 +201,8 @@
#define AM33XX_MAC_ID1_HI (AM33XX_CTRL_BASE + 0x63c)
#define AM33XX_MAC_MII_SEL (AM33XX_CTRL_BASE + 0x650)
+#define AM33XX_EFUSE_SMA (AM33XX_CTRL_BASE + 0x7fc)
+
struct am33xx_cmd_control {
u32 slave_ratio0;
u32 dll_lock_diff0;
diff --git a/arch/arm/mach-omap/include/mach/devices.h b/arch/arm/mach-omap/include/mach/devices.h
index 0f9fdf1ca5..06fd2a8dd3 100644
--- a/arch/arm/mach-omap/include/mach/devices.h
+++ b/arch/arm/mach-omap/include/mach/devices.h
@@ -4,6 +4,7 @@
#define __MACH_OMAP_DEVICES_H
#include <mach/omap_hsmmc.h>
+#include <video/omap-fb.h>
void omap_add_ram0(resource_size_t size);
@@ -11,4 +12,6 @@ void omap_add_sram0(resource_size_t base, resource_size_t size);
struct device_d *omap_add_uart(int id, unsigned long base);
+struct device_d *omap_add_display(struct omapfb_platform_data *o_pdata);
+
#endif /* __MACH_OMAP_DEVICES_H */
diff --git a/arch/arm/mach-omap/include/mach/omap-fb.h b/arch/arm/mach-omap/include/mach/omap-fb.h
deleted file mode 100644
index f727164434..0000000000
--- a/arch/arm/mach-omap/include/mach/omap-fb.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-
-#ifndef H_BAREBOX_ARCH_ARM_MACH_OMAP_MACH_FB4_H
-#define H_BAREBOX_ARCH_ARM_MACH_OMAP_MACH_FB4_H
-
-#include <fb.h>
-
-#define OMAP_DSS_LCD_TFT (1u << 0)
-#define OMAP_DSS_LCD_IVS (1u << 1)
-#define OMAP_DSS_LCD_IHS (1u << 2)
-#define OMAP_DSS_LCD_IPC (1u << 3)
-#define OMAP_DSS_LCD_IEO (1u << 4)
-#define OMAP_DSS_LCD_RF (1u << 5)
-#define OMAP_DSS_LCD_ONOFF (1u << 6)
-
-#define OMAP_DSS_LCD_DATALINES(_l) ((_l) << 10)
-#define OMAP_DSS_LCD_DATALINES_msk OMAP_DSS_LCD_DATALINES(3u)
-#define OMAP_DSS_LCD_DATALINES_12 OMAP_DSS_LCD_DATALINES(0u)
-#define OMAP_DSS_LCD_DATALINES_16 OMAP_DSS_LCD_DATALINES(1u)
-#define OMAP_DSS_LCD_DATALINES_18 OMAP_DSS_LCD_DATALINES(2u)
-#define OMAP_DSS_LCD_DATALINES_24 OMAP_DSS_LCD_DATALINES(3u)
-
-struct omapfb_display {
- struct fb_videomode mode;
-
- unsigned long config;
-
- unsigned int power_on_delay;
- unsigned int power_off_delay;
-};
-
-struct omapfb_platform_data {
- struct omapfb_display const *displays;
- size_t num_displays;
-
- unsigned int dss_clk_hz;
-
- unsigned int bpp;
-
- struct resource const *screen;
-
- void (*enable)(int p);
-};
-
-struct device_d;
-struct device_d *omap_add_display(struct omapfb_platform_data *o_pdata);
-
-
-#endif /* H_BAREBOX_ARCH_ARM_MACH_OMAP_MACH_FB4_H */
diff --git a/arch/arm/mach-omap/omap4_generic.c b/arch/arm/mach-omap/omap4_generic.c
index c9a89c57b7..406b686318 100644
--- a/arch/arm/mach-omap/omap4_generic.c
+++ b/arch/arm/mach-omap/omap4_generic.c
@@ -433,38 +433,29 @@ unsigned int omap4_revision(void)
return OMAP4430_ES1_0;
case MIDR_CORTEX_A9_R1P2:
switch (readl(CONTROL_ID_CODE)) {
- case OMAP4_CONTROL_ID_CODE_ES2_0:
- return OMAP4430_ES2_0;
- break;
case OMAP4_CONTROL_ID_CODE_ES2_1:
return OMAP4430_ES2_1;
- break;
case OMAP4_CONTROL_ID_CODE_ES2_2:
return OMAP4430_ES2_2;
- break;
default:
- return OMAP4430_ES2_0;
break;
}
- break;
+ return OMAP4430_ES2_0;
case MIDR_CORTEX_A9_R1P3:
return OMAP4430_ES2_3;
- break;
case MIDR_CORTEX_A9_R2P10:
switch (readl(CONTROL_ID_CODE)) {
case OMAP4460_CONTROL_ID_CODE_ES1_1:
return OMAP4460_ES1_1;
- break;
- case OMAP4460_CONTROL_ID_CODE_ES1_0:
default:
- return OMAP4460_ES1_0;
break;
}
- break;
+ return OMAP4460_ES1_0;
default:
- return OMAP4430_SILICON_ID_INVALID;
break;
}
+
+ return OMAP4430_SILICON_ID_INVALID;
}
/*
diff --git a/arch/arm/mach-omap/omap_devices.c b/arch/arm/mach-omap/omap_devices.c
index 7c36b8819d..beae59f74d 100644
--- a/arch/arm/mach-omap/omap_devices.c
+++ b/arch/arm/mach-omap/omap_devices.c
@@ -26,3 +26,32 @@ struct device_d *omap_add_uart(int id, unsigned long base)
return add_generic_device("omap-uart", id, NULL, base, 1024,
IORESOURCE_MEM | IORESOURCE_MEM_8BIT, &serial_plat);
}
+
+#if defined(CONFIG_DRIVER_VIDEO_OMAP)
+static struct resource omapfb_resources[] = {
+ {
+ .name = "omap4_dss",
+ .start = 0x48040000,
+ .end = 0x48040000 + 512 - 1,
+ .flags = IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
+ }, {
+ .name = "omap4_dispc",
+ .start = 0x48041000,
+ .end = 0x48041000 + 3072 - 1,
+ .flags = IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
+ },
+};
+
+struct device_d *omap_add_display(struct omapfb_platform_data *o_pdata)
+{
+ return add_generic_device_res("omap_fb", -1,
+ omapfb_resources,
+ ARRAY_SIZE(omapfb_resources),
+ o_pdata);
+}
+#else
+struct device_d *omap_add_display(struct omapfb_platform_data *o_pdata)
+{
+ return NULL;
+}
+#endif
diff --git a/arch/arm/mach-omap/omap_fb.c b/arch/arm/mach-omap/omap_fb.c
deleted file mode 100644
index 0bd51c5f55..0000000000
--- a/arch/arm/mach-omap/omap_fb.c
+++ /dev/null
@@ -1,36 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-
-#include <driver.h>
-#include <common.h>
-#include <linux/ioport.h>
-#include <mach/omap-fb.h>
-
-#if defined(CONFIG_DRIVER_VIDEO_OMAP)
-static struct resource omapfb_resources[] = {
- {
- .name = "omap4_dss",
- .start = 0x48040000,
- .end = 0x48040000 + 512 - 1,
- .flags = IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
- }, {
- .name = "omap4_dispc",
- .start = 0x48041000,
- .end = 0x48041000 + 3072 - 1,
- .flags = IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
- },
-};
-
-struct device_d *omap_add_display(struct omapfb_platform_data *o_pdata)
-{
- return add_generic_device_res("omap_fb", -1,
- omapfb_resources,
- ARRAY_SIZE(omapfb_resources),
- o_pdata);
-}
-#else
-struct device_d *omap_add_display(struct omapfb_platform_data *o_pdata)
-{
- return NULL;
-}
-#endif
-EXPORT_SYMBOL(omap_add_display);