diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2022-05-19 13:55:43 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2022-05-19 13:55:43 +0200 |
commit | 764fdbaba337e3b58f31ce7b177c4e7c0ba2088d (patch) | |
tree | 954b7c40be6beb5ab6ca9158840e93873cc43427 /arch/arm/mach-omap | |
parent | 28889ccbfe785c59bfaa7c39985c376b697e2331 (diff) | |
parent | 747146a3eb186fb7101f1aaab53d9188dc41bfbb (diff) | |
download | barebox-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/Kconfig | 6 | ||||
-rw-r--r-- | arch/arm/mach-omap/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap/include/mach/am33xx-clock.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap/include/mach/am33xx-silicon.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap/include/mach/devices.h | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap/include/mach/omap-fb.h | 49 | ||||
-rw-r--r-- | arch/arm/mach-omap/omap4_generic.c | 17 | ||||
-rw-r--r-- | arch/arm/mach-omap/omap_devices.c | 29 | ||||
-rw-r--r-- | arch/arm/mach-omap/omap_fb.c | 36 |
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); |