Skip to contentSkip to conversation

video: Add support for Armada XP LCD controller

PATCH New Stefan Roese 2 participants 4 messages Jan 20, 2016 – Jan 27, 2016

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/2 video: Add support for Armada XP LCD controller

This patch adds basic support for the LCD controller of the Marvell Armada XP SoC.

An AXP based custom board port will be added later, to use this driver to display a splash screen via the bmp command later.

Cc Anatolij Gustschin <[email protected]>
Cc Luka Perkov <[email protected]>
---
 arch/arm/mach-mvebu/include/mach/cpu.h |  13 +
 arch/arm/mach-mvebu/include/mach/soc.h |   1 +
 drivers/video/Kconfig                  |   7 +
 drivers/video/Makefile                 |   1 +
 drivers/video/mvebu_lcd.c              | 532 +++++++++++++++++++++++++++++++++
 5 files changed, 554 insertions(+)
 create mode 100644 drivers/video/mvebu_lcd.c
arch/arm/mach-mvebu/include/mach/cpu.h +13 -0
index 47f45c1..017d55f 100644
@@ -145,5 +145,18 @@ int serdes_phy_config(void);
  * drivers/ddr/marvell
  */
 int ddr3_init(void);
+
+struct mvebu_lcd_info {
+	u32 fb_base;
+	int x_res;
+	int y_res;
+	int x_fp;		/* frontporch */
+	int y_fp;
+	int x_bp;		/* backporch */
+	int y_bp;
+};
+
+int mvebu_lcd_register_init(struct mvebu_lcd_info *lcd_info);
+
 #endif /* __ASSEMBLY__ */
 #endif /* _MVEBU_CPU_H */
arch/arm/mach-mvebu/include/mach/soc.h +1 -0
index cb216bc..b317940 100644
@@ -67,6 +67,7 @@
 #define MVEBU_SATA0_BASE	(MVEBU_REGISTER(0xa8000))
 #define MVEBU_NAND_BASE		(MVEBU_REGISTER(0xd0000))
 #define MVEBU_SDIO_BASE		(MVEBU_REGISTER(0xd8000))
+#define MVEBU_LCD_BASE		(MVEBU_REGISTER(0xe0000))
 
 #define SOC_COHERENCY_FABRIC_CTRL_REG	(MVEBU_REGISTER(0x20200))
 #define MBUS_ERR_PROP_EN	(1 << 8)
drivers/video/Kconfig +7 -0
index caf1efc..64dbf1f 100644
@@ -247,6 +247,13 @@ config DISPLAY_PORT
 	   to drive LCD panels. This framework provides support for enabling
 	   these displays where supported by the video hardware.
 
+config VIDEO_MVEBU
+	bool "Armada XP LCD controller"
+	default n
+	---help---
+	Support for the LCD controller integrated in the Marvell
+	Armada XP SoC.
+
 config VIDEO_TEGRA124
 	bool "Enable video support on Tegra124"
 	help
drivers/video/Makefile +1 -0
index e85fd8a..64cb61c 100644
@@ -39,6 +39,7 @@ obj-$(CONFIG_VIDEO_LCD_SSD2828) += ssd2828.o
 obj-$(CONFIG_VIDEO_MB862xx) += mb862xx.o videomodes.o
 obj-$(CONFIG_VIDEO_MX3) += mx3fb.o videomodes.o
 obj-$(CONFIG_VIDEO_IPUV3) += mxc_ipuv3_fb.o ipu_common.o ipu_disp.o
+obj-$(CONFIG_VIDEO_MVEBU) += mvebu_lcd.o
 obj-$(CONFIG_VIDEO_MXS) += mxsfb.o videomodes.o
 obj-$(CONFIG_VIDEO_OMAP3) += omap3_dss.o
 obj-$(CONFIG_VIDEO_SANDBOX_SDL) += sandbox_sdl.o
drivers/video/mvebu_lcd.c new file +532 -0

532 lines not on this page · raw message

Signature · 1 line
2.6.5
#1 lore raw

PATCH 2/2 arm: mvebu: Add support for the Armada XP theadorable board

This patch adds support for the Armada XP (MV78260) based theadorable board. Its equipped with onboard DDR3, UART, ethernet, I2C, SPI NOR, LCD and SATA (SSD) interfaces / devices.

Two defconfigs are added:

theadorable_defconfig:
The production U-Boot version with a stripped down drivers and feature list. This removes networking, USB and PCI support.

theadorable_debug_defconfig:
The debugging / testing U-Boot version with full support for all drivers.

---
 arch/arm/dts/Makefile                  |   3 +-
 arch/arm/dts/armada-xp-theadorable.dts | 143 +++++++++++++++++++++++++++
 arch/arm/mach-mvebu/Kconfig            |   6 ++
 board/theadorable/MAINTAINERS          |   7 ++
 board/theadorable/Makefile             |   7 ++
 board/theadorable/kwbimage.cfg         |  12 +++
 board/theadorable/theadorable.c        | 171 +++++++++++++++++++++++++++++++++
 configs/theadorable_debug_defconfig    |  28 ++++++
 configs/theadorable_defconfig          |  26 +++++
 include/configs/theadorable.h          | 170 ++++++++++++++++++++++++++++++++
 10 files changed, 572 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/dts/armada-xp-theadorable.dts
 create mode 100644 board/theadorable/MAINTAINERS
 create mode 100644 board/theadorable/Makefile
 create mode 100644 board/theadorable/kwbimage.cfg
 create mode 100644 board/theadorable/theadorable.c
 create mode 100644 configs/theadorable_debug_defconfig
 create mode 100644 configs/theadorable_defconfig
 create mode 100644 include/configs/theadorable.h
arch/arm/dts/Makefile +2 -1
index e4f8aae..9b933ac 100644
@@ -52,7 +52,8 @@ dtb-$(CONFIG_ARCH_MVEBU) +=			\
 	armada-388-gp.dtb			\
 	armada-xp-gp.dtb			\
 	armada-xp-maxbcm.dtb			\
-	armada-xp-synology-ds414.dtb
+	armada-xp-synology-ds414.dtb		\
+	armada-xp-theadorable.dtb
 
 dtb-$(CONFIG_ARCH_UNIPHIER) += \
 	uniphier-ph1-ld4-ref.dtb \
arch/arm/dts/armada-xp-theadorable.dts new file +143 -0

143 lines not on this page · raw message

arch/arm/mach-mvebu/Kconfig +6 -0
index b962846..96a3313 100644
@@ -46,6 +46,10 @@ config TARGET_MAXBCM
 	bool "Support maxbcm"
 	select MV78460
 
+config TARGET_THEADORABLE
+	bool "Support theadorable Armada XP"
+	select MV78260
+
 endchoice
 
 config SYS_BOARD
@@ -54,6 +58,7 @@ config SYS_BOARD
 	default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
 	default "ds414" if TARGET_DS414
 	default "maxbcm" if TARGET_MAXBCM
+	default "theadorable" if TARGET_THEADORABLE
 
 config SYS_CONFIG_NAME
 	default "clearfog" if TARGET_CLEARFOG
@@ -61,6 +66,7 @@ config SYS_CONFIG_NAME
 	default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
 	default "ds414" if TARGET_DS414
 	default "maxbcm" if TARGET_MAXBCM
+	default "theadorable" if TARGET_THEADORABLE
 
 config SYS_VENDOR
 	default "Marvell" if TARGET_DB_MV784MP_GP
board/theadorable/MAINTAINERS new file +7 -0
new file mode 100644
index 0000000..5ae6b64
@@ -0,0 +1,7 @@
+THEADORABLE BOARD
+M:	Stefan Roese <[email protected]>
+S:	Maintained
+F:	board/theadorable/
+F:	include/configs/theadorable.h
+F:	configs/theadorable_debug_defconfig
+F:	configs/theadorable_defconfig
board/theadorable/Makefile new file +7 -0
new file mode 100644
index 0000000..9d5b39e
@@ -0,0 +1,7 @@
+#
+# Copyright (C) 2015-2016 Stefan Roese <[email protected]>
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y	:= theadorable.o
board/theadorable/kwbimage.cfg new file +12 -0
new file mode 100644
index 0000000..4f3b7b2
@@ -0,0 +1,12 @@
+#
+# Copyright (C) 2015-2016 Stefan Roese <[email protected]>
+#
+
+# Armada XP uses version 1 image format
+VERSION		1
+
+# Boot Media configurations
+BOOT_FROM	spi
+
+# Binary Header (bin_hdr) with DDR3 training code
+BINARY spl/u-boot-spl-dtb.bin 0000005b 00000068
board/theadorable/theadorable.c new file +171 -0

171 lines not on this page · raw message

configs/theadorable_debug_defconfig new file +28 -0
new file mode 100644
index 0000000..fbed23c
@@ -0,0 +1,28 @@
+CONFIG_ARM=y
+CONFIG_ARCH_MVEBU=y
+CONFIG_SYS_MALLOC_F_LEN=0x2000
+CONFIG_TARGET_THEADORABLE=y
+CONFIG_DEFAULT_DEVICE_TREE="armada-xp-theadorable"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SPL=y
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_SF=y
+CONFIG_CMD_USB=y
+# CONFIG_CMD_FPGA is not set
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SPL_OF_TRANSLATE=y
+CONFIG_SPI_FLASH=y
+CONFIG_SPI_FLASH_MACRONIX=y
+CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_DEBUG_UART=y
+CONFIG_DEBUG_UART_BASE=0xd0012000
+CONFIG_DEBUG_UART_CLOCK=250000000
+CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550=y
+CONFIG_USB=y
+CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_STORAGE=y
+CONFIG_VIDEO_MVEBU=y
configs/theadorable_defconfig new file +26 -0
new file mode 100644
index 0000000..cce4669
@@ -0,0 +1,26 @@
+CONFIG_ARM=y
+CONFIG_ARCH_MVEBU=y
+CONFIG_SYS_MALLOC_F_LEN=0x2000
+CONFIG_TARGET_THEADORABLE=y
+CONFIG_DEFAULT_DEVICE_TREE="armada-xp-theadorable"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SPL=y
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_SF=y
+# CONFIG_CMD_FPGA is not set
+# CONFIG_CMD_SETEXPR is not set
+# CONFIG_CMD_NET is not set
+# CONFIG_CMD_NFS is not set
+CONFIG_SPL_OF_TRANSLATE=y
+CONFIG_SPI_FLASH=y
+CONFIG_SPI_FLASH_MACRONIX=y
+CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_DEBUG_UART=y
+CONFIG_DEBUG_UART_BASE=0xd0012000
+CONFIG_DEBUG_UART_CLOCK=250000000
+CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550=y
+CONFIG_VIDEO_MVEBU=y
+CONFIG_REGEX=y
+CONFIG_LIB_RAND=y
include/configs/theadorable.h new file +170 -0

170 lines not on this page · raw message

Signature · 1 line
2.6.5
#2 lore raw

PATCH 2/2 arm: mvebu: Add support for the Armada XP theadorable board

Quoted 10 lines · Stefan Roese

This patch adds support for the Armada XP (MV78260) based theadorable board. Its equipped with onboard DDR3, UART, ethernet, I2C, SPI NOR, LCD and SATA (SSD) interfaces / devices.

Two defconfigs are added:

theadorable_defconfig:
The production U-Boot version with a stripped down drivers and feature list. This removes networking, USB and PCI support.

Quoted 5 lines

theadorable_debug_defconfig:
The debugging / testing U-Boot version with full support for all drivers.

Applied to u-boot-marvell/master.

Thanks,
Stefan

#3 lore raw

PATCH 1/2 video: Add support for Armada XP LCD controller

In reply to Stefan Roese

Hi Stefan,

Quoted 9 lines · On Wed, 20 Jan 2016 08:13:28 +0100 Stefan Roese <[email protected]> wrote:

This patch adds basic support for the LCD controller of the Marvell Armada XP SoC.

An AXP based custom board port will be added later, to use this driver to display a splash screen via the bmp command later.

Cc Anatolij Gustschin <[email protected]>
Cc Luka Perkov <[email protected]>
Quoted 8 lines
---
 arch/arm/mach-mvebu/include/mach/cpu.h |  13 +
 arch/arm/mach-mvebu/include/mach/soc.h |   1 +
 drivers/video/Kconfig                  |   7 +
 drivers/video/Makefile                 |   1 +
 drivers/video/mvebu_lcd.c              | 532 +++++++++++++++++++++++++++++++++
 5 files changed, 554 insertions(+)
 create mode 100644 drivers/video/mvebu_lcd.c

applied to u-boot-video/master, thanks!

--
Anatolij