* [PATCH v4 0/2] ARM: mach-moxart: add MOXA ART SoC support @ 2013-12-13 14:33 ` Jonas Jensen 0 siblings, 0 replies; 44+ messages in thread From: Jonas Jensen @ 2013-12-13 14:33 UTC (permalink / raw) To: linux-arm-kernel Cc: linux-kernel, devicetree-discuss, arm, linux, arnd, olof, Jonas Jensen This set adds MOXA ART SoC and platform support. Changes since v3: 1. removed platform specific UART debug files, replaced by generic code under DEBUG_LL_UART_8250. arch/arm/mach-moxart/*: 2. select DMA_OF and PHYLIB 3. remove .init_time hook 4. reinsert restart code that rely on watchdog register (watchdog maintainers rejected arm_pm_restart in watchdog code) assign arm_pm_restart from .init_machine 5. move to ARCH_MULTI_V4T (ARCH_MULTI_V4 was removed) arch/arm/boot/dts/moxart-uc7112lx.dts: 6. remove comments 7. add "mdio0"/"mdio1" nodes 8. add phy-handle/phy-mode to "mac0"/"mac1" nodes 9. change bootargs (change root=/dev/mtdblock2 to root=/dev/mmcblk0p1) 10. add gpio-leds node "leds" 11. add gpio-keys-polled node "gpio_keys_polled" 12. rename "mmc" node "sdhci" arch/arm/boot/dts/moxart.dtsi: 13. add fixed-clock node "ref12" 14. remove "clk" node, add nodes "clk_pll"/"clk_apb" 15. add gpio-rtc-* (sclk|data|reset) to "rtc" node 16. add "dma" node 17. remove second register from "gpio" node Applies to next-20131213 Jonas Jensen (2): ARM: mach-moxart: add MOXA ART SoC platform files ARM: mach-moxart: add MOXA ART SoC device tree files Documentation/devicetree/bindings/arm/moxart.txt | 12 ++ arch/arm/Kconfig | 2 + arch/arm/Makefile | 1 + arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/moxart-uc7112lx.dts | 131 ++++++++++++++++++++ arch/arm/boot/dts/moxart.dtsi | 100 +++++++++++++++ arch/arm/configs/moxart_defconfig | 148 +++++++++++++++++++++++ arch/arm/mach-moxart/Kconfig | 31 +++++ arch/arm/mach-moxart/Makefile | 3 + arch/arm/mach-moxart/moxart.c | 75 ++++++++++++ 10 files changed, 504 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/moxart.txt create mode 100644 arch/arm/boot/dts/moxart-uc7112lx.dts create mode 100644 arch/arm/boot/dts/moxart.dtsi create mode 100644 arch/arm/configs/moxart_defconfig create mode 100644 arch/arm/mach-moxart/Kconfig create mode 100644 arch/arm/mach-moxart/Makefile create mode 100644 arch/arm/mach-moxart/moxart.c -- 1.8.2.1 ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 0/2] ARM: mach-moxart: add MOXA ART SoC support @ 2013-12-13 14:33 ` Jonas Jensen 0 siblings, 0 replies; 44+ messages in thread From: Jonas Jensen @ 2013-12-13 14:33 UTC (permalink / raw) To: linux-arm-kernel This set adds MOXA ART SoC and platform support. Changes since v3: 1. removed platform specific UART debug files, replaced by generic code under DEBUG_LL_UART_8250. arch/arm/mach-moxart/*: 2. select DMA_OF and PHYLIB 3. remove .init_time hook 4. reinsert restart code that rely on watchdog register (watchdog maintainers rejected arm_pm_restart in watchdog code) assign arm_pm_restart from .init_machine 5. move to ARCH_MULTI_V4T (ARCH_MULTI_V4 was removed) arch/arm/boot/dts/moxart-uc7112lx.dts: 6. remove comments 7. add "mdio0"/"mdio1" nodes 8. add phy-handle/phy-mode to "mac0"/"mac1" nodes 9. change bootargs (change root=/dev/mtdblock2 to root=/dev/mmcblk0p1) 10. add gpio-leds node "leds" 11. add gpio-keys-polled node "gpio_keys_polled" 12. rename "mmc" node "sdhci" arch/arm/boot/dts/moxart.dtsi: 13. add fixed-clock node "ref12" 14. remove "clk" node, add nodes "clk_pll"/"clk_apb" 15. add gpio-rtc-* (sclk|data|reset) to "rtc" node 16. add "dma" node 17. remove second register from "gpio" node Applies to next-20131213 Jonas Jensen (2): ARM: mach-moxart: add MOXA ART SoC platform files ARM: mach-moxart: add MOXA ART SoC device tree files Documentation/devicetree/bindings/arm/moxart.txt | 12 ++ arch/arm/Kconfig | 2 + arch/arm/Makefile | 1 + arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/moxart-uc7112lx.dts | 131 ++++++++++++++++++++ arch/arm/boot/dts/moxart.dtsi | 100 +++++++++++++++ arch/arm/configs/moxart_defconfig | 148 +++++++++++++++++++++++ arch/arm/mach-moxart/Kconfig | 31 +++++ arch/arm/mach-moxart/Makefile | 3 + arch/arm/mach-moxart/moxart.c | 75 ++++++++++++ 10 files changed, 504 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/moxart.txt create mode 100644 arch/arm/boot/dts/moxart-uc7112lx.dts create mode 100644 arch/arm/boot/dts/moxart.dtsi create mode 100644 arch/arm/configs/moxart_defconfig create mode 100644 arch/arm/mach-moxart/Kconfig create mode 100644 arch/arm/mach-moxart/Makefile create mode 100644 arch/arm/mach-moxart/moxart.c -- 1.8.2.1 ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files 2013-12-13 14:33 ` Jonas Jensen @ 2013-12-13 14:33 ` Jonas Jensen -1 siblings, 0 replies; 44+ messages in thread From: Jonas Jensen @ 2013-12-13 14:33 UTC (permalink / raw) To: linux-arm-kernel Cc: linux-kernel, devicetree-discuss, arm, linux, arnd, olof, Jonas Jensen The MOXA ART SoC is based on Faraday's FA526. This is a ARMv4 32-bit 192 MHz CPU with MMU and 16KB/8KB D/I-cache. Add platform support for this SoC. Also add UC-7112-LX as a machine. Signed-off-by: Jonas Jensen <jonas.jensen@gmail.com> --- arch/arm/Kconfig | 2 + arch/arm/Makefile | 1 + arch/arm/configs/moxart_defconfig | 148 ++++++++++++++++++++++++++++++++++++++ arch/arm/mach-moxart/Kconfig | 31 ++++++++ arch/arm/mach-moxart/Makefile | 3 + arch/arm/mach-moxart/moxart.c | 75 +++++++++++++++++++ 6 files changed, 260 insertions(+) create mode 100644 arch/arm/configs/moxart_defconfig create mode 100644 arch/arm/mach-moxart/Kconfig create mode 100644 arch/arm/mach-moxart/Makefile create mode 100644 arch/arm/mach-moxart/moxart.c diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index b64a8ef..04cd39f 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -949,6 +949,8 @@ source "arch/arm/mach-ks8695/Kconfig" source "arch/arm/mach-msm/Kconfig" +source "arch/arm/mach-moxart/Kconfig" + source "arch/arm/mach-mv78xx0/Kconfig" source "arch/arm/mach-imx/Kconfig" diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 1edf8eb..4965742 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -167,6 +167,7 @@ machine-$(CONFIG_ARCH_KIRKWOOD) += kirkwood machine-$(CONFIG_ARCH_KS8695) += ks8695 machine-$(CONFIG_ARCH_LPC32XX) += lpc32xx machine-$(CONFIG_ARCH_MMP) += mmp +machine-$(CONFIG_ARCH_MOXART) += moxart machine-$(CONFIG_ARCH_MSM) += msm machine-$(CONFIG_ARCH_MV78XX0) += mv78xx0 machine-$(CONFIG_ARCH_MVEBU) += mvebu diff --git a/arch/arm/configs/moxart_defconfig b/arch/arm/configs/moxart_defconfig new file mode 100644 index 0000000..51f0f03 --- /dev/null +++ b/arch/arm/configs/moxart_defconfig @@ -0,0 +1,148 @@ +# CONFIG_LOCALVERSION_AUTO is not set +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_NO_HZ=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_SYSCTL_SYSCALL=y +# CONFIG_ELF_CORE is not set +# CONFIG_BASE_FULL is not set +# CONFIG_SIGNALFD is not set +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_AIO is not set +CONFIG_EMBEDDED=y +# CONFIG_VM_EVENT_COUNTERS is not set +# CONFIG_SLUB_DEBUG is not set +# CONFIG_COMPAT_BRK is not set +# CONFIG_LBDAF is not set +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_IOSCHED_DEADLINE is not set +CONFIG_ARCH_MULTI_V4T=y +# CONFIG_ARCH_MULTI_V7 is not set +CONFIG_KEYBOARD_GPIO_POLLED=y +CONFIG_ARCH_MOXART=y +CONFIG_MACH_UC7112LX=y +# CONFIG_ARM_THUMB is not set +CONFIG_PREEMPT=y +CONFIG_AEABI=y +# CONFIG_ATAGS is not set +CONFIG_ARM_APPENDED_DTB=y +CONFIG_NET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_LRO is not set +# CONFIG_INET_DIAG is not set +# CONFIG_IPV6 is not set +# CONFIG_WIRELESS is not set +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +# CONFIG_FW_LOADER is not set +CONFIG_MTD=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CFI=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_GEOMETRY=y +CONFIG_MTD_CFI_INTELEXT=y +CONFIG_MTD_COMPLEX_MAPPINGS=y +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_PHYSMAP_OF=y +CONFIG_PROC_DEVICETREE=y +CONFIG_NETDEVICES=y +CONFIG_NETCONSOLE=y +CONFIG_NETCONSOLE_DYNAMIC=y +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +# CONFIG_NET_VENDOR_FARADAY is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +CONFIG_ARM_MOXART_ETHER=y +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_REALTEK_PHY=y +CONFIG_MDIO_MOXART=y +# CONFIG_WLAN is not set +# CONFIG_INPUT_MOUSEDEV is not set +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVBUG=y +# CONFIG_KEYBOARD_ATKBD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_SERIO is not set +# CONFIG_VT is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_DEVKMEM is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_NR_UARTS=1 +CONFIG_SERIAL_8250_RUNTIME_UARTS=1 +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_OF_PLATFORM=y +# CONFIG_HW_RANDOM is not set +CONFIG_DEBUG_GPIO=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_MOXART=y +CONFIG_POWER_SUPPLY=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO=y +# CONFIG_HWMON is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y +CONFIG_MOXART_WDT=y +# CONFIG_USB_SUPPORT is not set +CONFIG_MMC=y +CONFIG_MMC_SDHCI_MOXART=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LEDS_TRIGGER_ONESHOT=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_MOXART=y +CONFIG_DMADEVICES=y +CONFIG_MOXART_DMA=y +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_EXT3_FS=y +CONFIG_TMPFS=y +CONFIG_CONFIGFS_FS=y +CONFIG_JFFS2_FS=y +CONFIG_PRINTK_TIME=y +CONFIG_DEBUG_INFO=y +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_DEBUG_PAGEALLOC=y +CONFIG_DEBUG_OBJECTS=y +CONFIG_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_STACK_USAGE=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_DEBUG_SHIRQ=y +CONFIG_DETECT_HUNG_TASK=y +# CONFIG_SCHED_DEBUG is not set +# CONFIG_DEBUG_PREEMPT is not set +CONFIG_PROVE_LOCKING=y +CONFIG_DMA_API_DEBUG=y +CONFIG_KGDB=y +CONFIG_DEBUG_LL=y +CONFIG_DEBUG_LL_UART_8250=y +CONFIG_DEBUG_UART_PHYS=0x98200000 +CONFIG_DEBUG_UART_VIRT=0xf9820000 +CONFIG_EARLY_PRINTK=y +CONFIG_KEYS=y +CONFIG_CRC32_BIT=y diff --git a/arch/arm/mach-moxart/Kconfig b/arch/arm/mach-moxart/Kconfig new file mode 100644 index 0000000..ba470d6 --- /dev/null +++ b/arch/arm/mach-moxart/Kconfig @@ -0,0 +1,31 @@ +config ARCH_MOXART + bool "MOXA ART SoC" if ARCH_MULTI_V4T + select CPU_FA526 + select ARM_DMA_MEM_BUFFERABLE + select DMA_OF + select USE_OF + select CLKSRC_OF + select CLKSRC_MMIO + select HAVE_CLK + select COMMON_CLK + select GENERIC_IRQ_CHIP + select ARCH_REQUIRE_GPIOLIB + select GENERIC_CLOCKEVENTS + select PHYLIB if NETDEVICES + help + Say Y here if you want to run your kernel on hardware with a + MOXA ART SoC. + The MOXA ART SoC is based on a Faraday FA526 ARMv4 32-bit + 192 MHz CPU with MMU and 16KB/8KB D/I-cache (UC-7112-LX). + Used on models UC-7101, UC-7112/UC-7110, IA240/IA241, IA3341. + +if ARCH_MOXART + +config MACH_UC7112LX + bool "MOXA UC-7112-LX" + depends on ARCH_MOXART + help + Say Y here if you intend to run this kernel on a MOXA + UC-7112-LX embedded computer. + +endif diff --git a/arch/arm/mach-moxart/Makefile b/arch/arm/mach-moxart/Makefile new file mode 100644 index 0000000..fa022eb --- /dev/null +++ b/arch/arm/mach-moxart/Makefile @@ -0,0 +1,3 @@ +# Object file lists. + +obj-$(CONFIG_MACH_UC7112LX) += moxart.o diff --git a/arch/arm/mach-moxart/moxart.c b/arch/arm/mach-moxart/moxart.c new file mode 100644 index 0000000..491458a --- /dev/null +++ b/arch/arm/mach-moxart/moxart.c @@ -0,0 +1,75 @@ +/* + * arch/arm/mach-moxart/moxart.c + * + * (C) Copyright 2013, Jonas Jensen <jonas.jensen@gmail.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <linux/init.h> +#include <linux/of_platform.h> +#include <linux/of_address.h> +#include <linux/io.h> + +#include <asm/mach/arch.h> +#include <asm/system_misc.h> + +#define REG_COUNT 0x4 +#define REG_MODE 0x8 +#define REG_ENABLE 0xC + +static void __iomem *moxart_wdt_base; + +static void moxart_wdt_restart(enum reboot_mode reboot_mode, const char *cmd) +{ + writel(1, moxart_wdt_base + REG_COUNT); + writel(0x5ab9, moxart_wdt_base + REG_MODE); + writel(0x03, moxart_wdt_base + REG_ENABLE); +} + +static const struct of_device_id moxart_watchdog_match[] = { + { .compatible = "moxa,moxart-watchdog", .data = moxart_wdt_restart }, + { }, +}; + +static void moxart_setup_restart(void) +{ + const struct of_device_id *of_id; + struct device_node *np; + + np = of_find_matching_node(NULL, moxart_watchdog_match); + if (WARN(!np, "unable to setup watchdog restart")) + return; + + moxart_wdt_base = of_iomap(np, 0); + WARN(!moxart_wdt_base, "failed to map watchdog base address"); + + of_id = of_match_node(moxart_watchdog_match, np); + WARN(!of_id, "restart function not available"); + + arm_pm_restart = of_id->data; +} + +static void __init moxart_dt_init(void) +{ + moxart_setup_restart(); + of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); +} + +static const char * const moxart_dt_compat[] = { + "moxa,moxart", + NULL, +}; + +DT_MACHINE_START(MOXART, "MOXA UC-7112-LX") + .init_machine = moxart_dt_init, + .dt_compat = moxart_dt_compat, +MACHINE_END -- 1.8.2.1 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files @ 2013-12-13 14:33 ` Jonas Jensen 0 siblings, 0 replies; 44+ messages in thread From: Jonas Jensen @ 2013-12-13 14:33 UTC (permalink / raw) To: linux-arm-kernel The MOXA ART SoC is based on Faraday's FA526. This is a ARMv4 32-bit 192 MHz CPU with MMU and 16KB/8KB D/I-cache. Add platform support for this SoC. Also add UC-7112-LX as a machine. Signed-off-by: Jonas Jensen <jonas.jensen@gmail.com> --- arch/arm/Kconfig | 2 + arch/arm/Makefile | 1 + arch/arm/configs/moxart_defconfig | 148 ++++++++++++++++++++++++++++++++++++++ arch/arm/mach-moxart/Kconfig | 31 ++++++++ arch/arm/mach-moxart/Makefile | 3 + arch/arm/mach-moxart/moxart.c | 75 +++++++++++++++++++ 6 files changed, 260 insertions(+) create mode 100644 arch/arm/configs/moxart_defconfig create mode 100644 arch/arm/mach-moxart/Kconfig create mode 100644 arch/arm/mach-moxart/Makefile create mode 100644 arch/arm/mach-moxart/moxart.c diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index b64a8ef..04cd39f 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -949,6 +949,8 @@ source "arch/arm/mach-ks8695/Kconfig" source "arch/arm/mach-msm/Kconfig" +source "arch/arm/mach-moxart/Kconfig" + source "arch/arm/mach-mv78xx0/Kconfig" source "arch/arm/mach-imx/Kconfig" diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 1edf8eb..4965742 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -167,6 +167,7 @@ machine-$(CONFIG_ARCH_KIRKWOOD) += kirkwood machine-$(CONFIG_ARCH_KS8695) += ks8695 machine-$(CONFIG_ARCH_LPC32XX) += lpc32xx machine-$(CONFIG_ARCH_MMP) += mmp +machine-$(CONFIG_ARCH_MOXART) += moxart machine-$(CONFIG_ARCH_MSM) += msm machine-$(CONFIG_ARCH_MV78XX0) += mv78xx0 machine-$(CONFIG_ARCH_MVEBU) += mvebu diff --git a/arch/arm/configs/moxart_defconfig b/arch/arm/configs/moxart_defconfig new file mode 100644 index 0000000..51f0f03 --- /dev/null +++ b/arch/arm/configs/moxart_defconfig @@ -0,0 +1,148 @@ +# CONFIG_LOCALVERSION_AUTO is not set +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_NO_HZ=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_SYSCTL_SYSCALL=y +# CONFIG_ELF_CORE is not set +# CONFIG_BASE_FULL is not set +# CONFIG_SIGNALFD is not set +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_AIO is not set +CONFIG_EMBEDDED=y +# CONFIG_VM_EVENT_COUNTERS is not set +# CONFIG_SLUB_DEBUG is not set +# CONFIG_COMPAT_BRK is not set +# CONFIG_LBDAF is not set +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_IOSCHED_DEADLINE is not set +CONFIG_ARCH_MULTI_V4T=y +# CONFIG_ARCH_MULTI_V7 is not set +CONFIG_KEYBOARD_GPIO_POLLED=y +CONFIG_ARCH_MOXART=y +CONFIG_MACH_UC7112LX=y +# CONFIG_ARM_THUMB is not set +CONFIG_PREEMPT=y +CONFIG_AEABI=y +# CONFIG_ATAGS is not set +CONFIG_ARM_APPENDED_DTB=y +CONFIG_NET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_LRO is not set +# CONFIG_INET_DIAG is not set +# CONFIG_IPV6 is not set +# CONFIG_WIRELESS is not set +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +# CONFIG_FW_LOADER is not set +CONFIG_MTD=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CFI=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_GEOMETRY=y +CONFIG_MTD_CFI_INTELEXT=y +CONFIG_MTD_COMPLEX_MAPPINGS=y +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_PHYSMAP_OF=y +CONFIG_PROC_DEVICETREE=y +CONFIG_NETDEVICES=y +CONFIG_NETCONSOLE=y +CONFIG_NETCONSOLE_DYNAMIC=y +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +# CONFIG_NET_VENDOR_FARADAY is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +CONFIG_ARM_MOXART_ETHER=y +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_REALTEK_PHY=y +CONFIG_MDIO_MOXART=y +# CONFIG_WLAN is not set +# CONFIG_INPUT_MOUSEDEV is not set +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVBUG=y +# CONFIG_KEYBOARD_ATKBD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_SERIO is not set +# CONFIG_VT is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_DEVKMEM is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_NR_UARTS=1 +CONFIG_SERIAL_8250_RUNTIME_UARTS=1 +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_OF_PLATFORM=y +# CONFIG_HW_RANDOM is not set +CONFIG_DEBUG_GPIO=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_MOXART=y +CONFIG_POWER_SUPPLY=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO=y +# CONFIG_HWMON is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y +CONFIG_MOXART_WDT=y +# CONFIG_USB_SUPPORT is not set +CONFIG_MMC=y +CONFIG_MMC_SDHCI_MOXART=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LEDS_TRIGGER_ONESHOT=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_MOXART=y +CONFIG_DMADEVICES=y +CONFIG_MOXART_DMA=y +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_EXT3_FS=y +CONFIG_TMPFS=y +CONFIG_CONFIGFS_FS=y +CONFIG_JFFS2_FS=y +CONFIG_PRINTK_TIME=y +CONFIG_DEBUG_INFO=y +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_DEBUG_PAGEALLOC=y +CONFIG_DEBUG_OBJECTS=y +CONFIG_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_STACK_USAGE=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_DEBUG_SHIRQ=y +CONFIG_DETECT_HUNG_TASK=y +# CONFIG_SCHED_DEBUG is not set +# CONFIG_DEBUG_PREEMPT is not set +CONFIG_PROVE_LOCKING=y +CONFIG_DMA_API_DEBUG=y +CONFIG_KGDB=y +CONFIG_DEBUG_LL=y +CONFIG_DEBUG_LL_UART_8250=y +CONFIG_DEBUG_UART_PHYS=0x98200000 +CONFIG_DEBUG_UART_VIRT=0xf9820000 +CONFIG_EARLY_PRINTK=y +CONFIG_KEYS=y +CONFIG_CRC32_BIT=y diff --git a/arch/arm/mach-moxart/Kconfig b/arch/arm/mach-moxart/Kconfig new file mode 100644 index 0000000..ba470d6 --- /dev/null +++ b/arch/arm/mach-moxart/Kconfig @@ -0,0 +1,31 @@ +config ARCH_MOXART + bool "MOXA ART SoC" if ARCH_MULTI_V4T + select CPU_FA526 + select ARM_DMA_MEM_BUFFERABLE + select DMA_OF + select USE_OF + select CLKSRC_OF + select CLKSRC_MMIO + select HAVE_CLK + select COMMON_CLK + select GENERIC_IRQ_CHIP + select ARCH_REQUIRE_GPIOLIB + select GENERIC_CLOCKEVENTS + select PHYLIB if NETDEVICES + help + Say Y here if you want to run your kernel on hardware with a + MOXA ART SoC. + The MOXA ART SoC is based on a Faraday FA526 ARMv4 32-bit + 192 MHz CPU with MMU and 16KB/8KB D/I-cache (UC-7112-LX). + Used on models UC-7101, UC-7112/UC-7110, IA240/IA241, IA3341. + +if ARCH_MOXART + +config MACH_UC7112LX + bool "MOXA UC-7112-LX" + depends on ARCH_MOXART + help + Say Y here if you intend to run this kernel on a MOXA + UC-7112-LX embedded computer. + +endif diff --git a/arch/arm/mach-moxart/Makefile b/arch/arm/mach-moxart/Makefile new file mode 100644 index 0000000..fa022eb --- /dev/null +++ b/arch/arm/mach-moxart/Makefile @@ -0,0 +1,3 @@ +# Object file lists. + +obj-$(CONFIG_MACH_UC7112LX) += moxart.o diff --git a/arch/arm/mach-moxart/moxart.c b/arch/arm/mach-moxart/moxart.c new file mode 100644 index 0000000..491458a --- /dev/null +++ b/arch/arm/mach-moxart/moxart.c @@ -0,0 +1,75 @@ +/* + * arch/arm/mach-moxart/moxart.c + * + * (C) Copyright 2013, Jonas Jensen <jonas.jensen@gmail.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <linux/init.h> +#include <linux/of_platform.h> +#include <linux/of_address.h> +#include <linux/io.h> + +#include <asm/mach/arch.h> +#include <asm/system_misc.h> + +#define REG_COUNT 0x4 +#define REG_MODE 0x8 +#define REG_ENABLE 0xC + +static void __iomem *moxart_wdt_base; + +static void moxart_wdt_restart(enum reboot_mode reboot_mode, const char *cmd) +{ + writel(1, moxart_wdt_base + REG_COUNT); + writel(0x5ab9, moxart_wdt_base + REG_MODE); + writel(0x03, moxart_wdt_base + REG_ENABLE); +} + +static const struct of_device_id moxart_watchdog_match[] = { + { .compatible = "moxa,moxart-watchdog", .data = moxart_wdt_restart }, + { }, +}; + +static void moxart_setup_restart(void) +{ + const struct of_device_id *of_id; + struct device_node *np; + + np = of_find_matching_node(NULL, moxart_watchdog_match); + if (WARN(!np, "unable to setup watchdog restart")) + return; + + moxart_wdt_base = of_iomap(np, 0); + WARN(!moxart_wdt_base, "failed to map watchdog base address"); + + of_id = of_match_node(moxart_watchdog_match, np); + WARN(!of_id, "restart function not available"); + + arm_pm_restart = of_id->data; +} + +static void __init moxart_dt_init(void) +{ + moxart_setup_restart(); + of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); +} + +static const char * const moxart_dt_compat[] = { + "moxa,moxart", + NULL, +}; + +DT_MACHINE_START(MOXART, "MOXA UC-7112-LX") + .init_machine = moxart_dt_init, + .dt_compat = moxart_dt_compat, +MACHINE_END -- 1.8.2.1 ^ permalink raw reply related [flat|nested] 44+ messages in thread
[parent not found: <1386945188-8316-2-git-send-email-jonas.jensen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Fwd: [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files [not found] ` <1386945188-8316-2-git-send-email-jonas.jensen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2013-12-13 14:38 ` Jonas Jensen 0 siblings, 0 replies; 44+ messages in thread From: Jonas Jensen @ 2013-12-13 14:38 UTC (permalink / raw) To: devicetree-u79uwXL29TY76Z2rM5mHXA Forwarding this because I used the wrong Cc address to devicetree-u79uwXL29TaiAVqoAR/hOA@public.gmane.org ---------- Forwarded message ---------- From: Jonas Jensen <jonas.jensen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Date: 13 December 2013 15:33 Subject: [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org, arnd-r2nGTMty4D4@public.gmane.org, olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org, Jonas Jensen <jonas.jensen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> The MOXA ART SoC is based on Faraday's FA526. This is a ARMv4 32-bit 192 MHz CPU with MMU and 16KB/8KB D/I-cache. Add platform support for this SoC. Also add UC-7112-LX as a machine. Signed-off-by: Jonas Jensen <jonas.jensen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> --- arch/arm/Kconfig | 2 + arch/arm/Makefile | 1 + arch/arm/configs/moxart_defconfig | 148 ++++++++++++++++++++++++++++++++++++++ arch/arm/mach-moxart/Kconfig | 31 ++++++++ arch/arm/mach-moxart/Makefile | 3 + arch/arm/mach-moxart/moxart.c | 75 +++++++++++++++++++ 6 files changed, 260 insertions(+) create mode 100644 arch/arm/configs/moxart_defconfig create mode 100644 arch/arm/mach-moxart/Kconfig create mode 100644 arch/arm/mach-moxart/Makefile create mode 100644 arch/arm/mach-moxart/moxart.c diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index b64a8ef..04cd39f 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -949,6 +949,8 @@ source "arch/arm/mach-ks8695/Kconfig" source "arch/arm/mach-msm/Kconfig" +source "arch/arm/mach-moxart/Kconfig" + source "arch/arm/mach-mv78xx0/Kconfig" source "arch/arm/mach-imx/Kconfig" diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 1edf8eb..4965742 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -167,6 +167,7 @@ machine-$(CONFIG_ARCH_KIRKWOOD) += kirkwood machine-$(CONFIG_ARCH_KS8695) += ks8695 machine-$(CONFIG_ARCH_LPC32XX) += lpc32xx machine-$(CONFIG_ARCH_MMP) += mmp +machine-$(CONFIG_ARCH_MOXART) += moxart machine-$(CONFIG_ARCH_MSM) += msm machine-$(CONFIG_ARCH_MV78XX0) += mv78xx0 machine-$(CONFIG_ARCH_MVEBU) += mvebu diff --git a/arch/arm/configs/moxart_defconfig b/arch/arm/configs/moxart_defconfig new file mode 100644 index 0000000..51f0f03 --- /dev/null +++ b/arch/arm/configs/moxart_defconfig @@ -0,0 +1,148 @@ +# CONFIG_LOCALVERSION_AUTO is not set +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_NO_HZ=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_SYSCTL_SYSCALL=y +# CONFIG_ELF_CORE is not set +# CONFIG_BASE_FULL is not set +# CONFIG_SIGNALFD is not set +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_AIO is not set +CONFIG_EMBEDDED=y +# CONFIG_VM_EVENT_COUNTERS is not set +# CONFIG_SLUB_DEBUG is not set +# CONFIG_COMPAT_BRK is not set +# CONFIG_LBDAF is not set +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_IOSCHED_DEADLINE is not set +CONFIG_ARCH_MULTI_V4T=y +# CONFIG_ARCH_MULTI_V7 is not set +CONFIG_KEYBOARD_GPIO_POLLED=y +CONFIG_ARCH_MOXART=y +CONFIG_MACH_UC7112LX=y +# CONFIG_ARM_THUMB is not set +CONFIG_PREEMPT=y +CONFIG_AEABI=y +# CONFIG_ATAGS is not set +CONFIG_ARM_APPENDED_DTB=y +CONFIG_NET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_LRO is not set +# CONFIG_INET_DIAG is not set +# CONFIG_IPV6 is not set +# CONFIG_WIRELESS is not set +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +# CONFIG_FW_LOADER is not set +CONFIG_MTD=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CFI=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_GEOMETRY=y +CONFIG_MTD_CFI_INTELEXT=y +CONFIG_MTD_COMPLEX_MAPPINGS=y +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_PHYSMAP_OF=y +CONFIG_PROC_DEVICETREE=y +CONFIG_NETDEVICES=y +CONFIG_NETCONSOLE=y +CONFIG_NETCONSOLE_DYNAMIC=y +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +# CONFIG_NET_VENDOR_FARADAY is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +CONFIG_ARM_MOXART_ETHER=y +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_REALTEK_PHY=y +CONFIG_MDIO_MOXART=y +# CONFIG_WLAN is not set +# CONFIG_INPUT_MOUSEDEV is not set +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVBUG=y +# CONFIG_KEYBOARD_ATKBD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_SERIO is not set +# CONFIG_VT is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_DEVKMEM is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_NR_UARTS=1 +CONFIG_SERIAL_8250_RUNTIME_UARTS=1 +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_OF_PLATFORM=y +# CONFIG_HW_RANDOM is not set +CONFIG_DEBUG_GPIO=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_MOXART=y +CONFIG_POWER_SUPPLY=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO=y +# CONFIG_HWMON is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y +CONFIG_MOXART_WDT=y +# CONFIG_USB_SUPPORT is not set +CONFIG_MMC=y +CONFIG_MMC_SDHCI_MOXART=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LEDS_TRIGGER_ONESHOT=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_MOXART=y +CONFIG_DMADEVICES=y +CONFIG_MOXART_DMA=y +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_EXT3_FS=y +CONFIG_TMPFS=y +CONFIG_CONFIGFS_FS=y +CONFIG_JFFS2_FS=y +CONFIG_PRINTK_TIME=y +CONFIG_DEBUG_INFO=y +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_DEBUG_PAGEALLOC=y +CONFIG_DEBUG_OBJECTS=y +CONFIG_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_STACK_USAGE=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_DEBUG_SHIRQ=y +CONFIG_DETECT_HUNG_TASK=y +# CONFIG_SCHED_DEBUG is not set +# CONFIG_DEBUG_PREEMPT is not set +CONFIG_PROVE_LOCKING=y +CONFIG_DMA_API_DEBUG=y +CONFIG_KGDB=y +CONFIG_DEBUG_LL=y +CONFIG_DEBUG_LL_UART_8250=y +CONFIG_DEBUG_UART_PHYS=0x98200000 +CONFIG_DEBUG_UART_VIRT=0xf9820000 +CONFIG_EARLY_PRINTK=y +CONFIG_KEYS=y +CONFIG_CRC32_BIT=y diff --git a/arch/arm/mach-moxart/Kconfig b/arch/arm/mach-moxart/Kconfig new file mode 100644 index 0000000..ba470d6 --- /dev/null +++ b/arch/arm/mach-moxart/Kconfig @@ -0,0 +1,31 @@ +config ARCH_MOXART + bool "MOXA ART SoC" if ARCH_MULTI_V4T + select CPU_FA526 + select ARM_DMA_MEM_BUFFERABLE + select DMA_OF + select USE_OF + select CLKSRC_OF + select CLKSRC_MMIO + select HAVE_CLK + select COMMON_CLK + select GENERIC_IRQ_CHIP + select ARCH_REQUIRE_GPIOLIB + select GENERIC_CLOCKEVENTS + select PHYLIB if NETDEVICES + help + Say Y here if you want to run your kernel on hardware with a + MOXA ART SoC. + The MOXA ART SoC is based on a Faraday FA526 ARMv4 32-bit + 192 MHz CPU with MMU and 16KB/8KB D/I-cache (UC-7112-LX). + Used on models UC-7101, UC-7112/UC-7110, IA240/IA241, IA3341. + +if ARCH_MOXART + +config MACH_UC7112LX + bool "MOXA UC-7112-LX" + depends on ARCH_MOXART + help + Say Y here if you intend to run this kernel on a MOXA + UC-7112-LX embedded computer. + +endif diff --git a/arch/arm/mach-moxart/Makefile b/arch/arm/mach-moxart/Makefile new file mode 100644 index 0000000..fa022eb --- /dev/null +++ b/arch/arm/mach-moxart/Makefile @@ -0,0 +1,3 @@ +# Object file lists. + +obj-$(CONFIG_MACH_UC7112LX) += moxart.o diff --git a/arch/arm/mach-moxart/moxart.c b/arch/arm/mach-moxart/moxart.c new file mode 100644 index 0000000..491458a --- /dev/null +++ b/arch/arm/mach-moxart/moxart.c @@ -0,0 +1,75 @@ +/* + * arch/arm/mach-moxart/moxart.c + * + * (C) Copyright 2013, Jonas Jensen <jonas.jensen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <linux/init.h> +#include <linux/of_platform.h> +#include <linux/of_address.h> +#include <linux/io.h> + +#include <asm/mach/arch.h> +#include <asm/system_misc.h> + +#define REG_COUNT 0x4 +#define REG_MODE 0x8 +#define REG_ENABLE 0xC + +static void __iomem *moxart_wdt_base; + +static void moxart_wdt_restart(enum reboot_mode reboot_mode, const char *cmd) +{ + writel(1, moxart_wdt_base + REG_COUNT); + writel(0x5ab9, moxart_wdt_base + REG_MODE); + writel(0x03, moxart_wdt_base + REG_ENABLE); +} + +static const struct of_device_id moxart_watchdog_match[] = { + { .compatible = "moxa,moxart-watchdog", .data = moxart_wdt_restart }, + { }, +}; + +static void moxart_setup_restart(void) +{ + const struct of_device_id *of_id; + struct device_node *np; + + np = of_find_matching_node(NULL, moxart_watchdog_match); + if (WARN(!np, "unable to setup watchdog restart")) + return; + + moxart_wdt_base = of_iomap(np, 0); + WARN(!moxart_wdt_base, "failed to map watchdog base address"); + + of_id = of_match_node(moxart_watchdog_match, np); + WARN(!of_id, "restart function not available"); + + arm_pm_restart = of_id->data; +} + +static void __init moxart_dt_init(void) +{ + moxart_setup_restart(); + of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); +} + +static const char * const moxart_dt_compat[] = { + "moxa,moxart", + NULL, +}; + +DT_MACHINE_START(MOXART, "MOXA UC-7112-LX") + .init_machine = moxart_dt_init, + .dt_compat = moxart_dt_compat, +MACHINE_END -- 1.8.2.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 44+ messages in thread
* Re: [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files 2013-12-13 14:33 ` Jonas Jensen @ 2013-12-13 16:17 ` Arnd Bergmann -1 siblings, 0 replies; 44+ messages in thread From: Arnd Bergmann @ 2013-12-13 16:17 UTC (permalink / raw) To: Jonas Jensen Cc: linux-arm-kernel, linux-kernel, devicetree-discuss, arm, linux, olof On Friday 13 December 2013, Jonas Jensen wrote: > The MOXA ART SoC is based on Faraday's FA526. This is a ARMv4 32-bit > 192 MHz CPU with MMU and 16KB/8KB D/I-cache. > > Add platform support for this SoC. > > Also add UC-7112-LX as a machine. > > Signed-off-by: Jonas Jensen <jonas.jensen@gmail.com> Let's make sure we get this merged this time. I'm definitely fine with this version going in. My questions are just for clarification on my part for potential future follow-ups. Acked-by: Arnd Bergmann <arnd@arndb.de> > diff --git a/arch/arm/configs/moxart_defconfig b/arch/arm/configs/moxart_defconfig > new file mode 100644 > index 0000000..51f0f03 > --- /dev/null > +++ b/arch/arm/configs/moxart_defconfig > @@ -0,0 +1,148 @@ > +# CONFIG_LOCALVERSION_AUTO is not set > +# CONFIG_SWAP is not set > +CONFIG_SYSVIPC=y > +CONFIG_NO_HZ=y > +CONFIG_IKCONFIG=y IIRC the separate defconfig is needed because we have never gotten a mixed fa526+arm9 kernel to boot, right? In theory it is supposed to work and there is most likely just a small bug somewhere. Once that is working, we can think about adding a generic multi_v4_v5_defconfig that handles all multipltform capable platforms along the lines of multi_v7_defconfig. > +static void __init moxart_dt_init(void) > +{ > + moxart_setup_restart(); > + of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); > +} I've been out of the loop a bit here. I initially suggested having the restart handler be part of the watchdog driver, and I thought you had done that in an earlier version. What has changed your mind? Arnd ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files @ 2013-12-13 16:17 ` Arnd Bergmann 0 siblings, 0 replies; 44+ messages in thread From: Arnd Bergmann @ 2013-12-13 16:17 UTC (permalink / raw) To: linux-arm-kernel On Friday 13 December 2013, Jonas Jensen wrote: > The MOXA ART SoC is based on Faraday's FA526. This is a ARMv4 32-bit > 192 MHz CPU with MMU and 16KB/8KB D/I-cache. > > Add platform support for this SoC. > > Also add UC-7112-LX as a machine. > > Signed-off-by: Jonas Jensen <jonas.jensen@gmail.com> Let's make sure we get this merged this time. I'm definitely fine with this version going in. My questions are just for clarification on my part for potential future follow-ups. Acked-by: Arnd Bergmann <arnd@arndb.de> > diff --git a/arch/arm/configs/moxart_defconfig b/arch/arm/configs/moxart_defconfig > new file mode 100644 > index 0000000..51f0f03 > --- /dev/null > +++ b/arch/arm/configs/moxart_defconfig > @@ -0,0 +1,148 @@ > +# CONFIG_LOCALVERSION_AUTO is not set > +# CONFIG_SWAP is not set > +CONFIG_SYSVIPC=y > +CONFIG_NO_HZ=y > +CONFIG_IKCONFIG=y IIRC the separate defconfig is needed because we have never gotten a mixed fa526+arm9 kernel to boot, right? In theory it is supposed to work and there is most likely just a small bug somewhere. Once that is working, we can think about adding a generic multi_v4_v5_defconfig that handles all multipltform capable platforms along the lines of multi_v7_defconfig. > +static void __init moxart_dt_init(void) > +{ > + moxart_setup_restart(); > + of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); > +} I've been out of the loop a bit here. I initially suggested having the restart handler be part of the watchdog driver, and I thought you had done that in an earlier version. What has changed your mind? Arnd ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files 2013-12-13 16:17 ` Arnd Bergmann @ 2013-12-13 17:23 ` Jonas Jensen -1 siblings, 0 replies; 44+ messages in thread From: Jonas Jensen @ 2013-12-13 17:23 UTC (permalink / raw) To: Arnd Bergmann Cc: linux-arm-kernel, linux-kernel, devicetree-discuss, arm, Russell King - ARM Linux, Olof Johansson, linux On 13 December 2013 17:17, Arnd Bergmann <arnd@arndb.de> wrote: > IIRC the separate defconfig is needed because we have never gotten a mixed fa526+arm9 > kernel to boot, right? In theory it is supposed to work and there is most likely just > a small bug somewhere. Once that is working, we can think about adding a generic > multi_v4_v5_defconfig that handles all multipltform capable platforms along the lines > of multi_v7_defconfig. A mixed kernel can boot without panic (tested today). The panic is avoided when CONFIG_ARM_THUMB=y is removed. See thread "[PATCH] ARM: reinsert ARCH_MULTI_V4 Kconfig option": http://lists.infradead.org/pipermail/linux-arm-kernel/2013-December/219004.html > I've been out of the loop a bit here. I initially suggested having the restart > handler be part of the watchdog driver, and I thought you had done that in an > earlier version. What has changed your mind? I got the impression from Guenter Roeck's review, that it doesn't belong there, maybe I was too quick to remove it? See thread "[PATCH] watchdog: Add MOXA ART watchdog driver": http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/183065.html Thanks, Jonas ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files @ 2013-12-13 17:23 ` Jonas Jensen 0 siblings, 0 replies; 44+ messages in thread From: Jonas Jensen @ 2013-12-13 17:23 UTC (permalink / raw) To: linux-arm-kernel On 13 December 2013 17:17, Arnd Bergmann <arnd@arndb.de> wrote: > IIRC the separate defconfig is needed because we have never gotten a mixed fa526+arm9 > kernel to boot, right? In theory it is supposed to work and there is most likely just > a small bug somewhere. Once that is working, we can think about adding a generic > multi_v4_v5_defconfig that handles all multipltform capable platforms along the lines > of multi_v7_defconfig. A mixed kernel can boot without panic (tested today). The panic is avoided when CONFIG_ARM_THUMB=y is removed. See thread "[PATCH] ARM: reinsert ARCH_MULTI_V4 Kconfig option": http://lists.infradead.org/pipermail/linux-arm-kernel/2013-December/219004.html > I've been out of the loop a bit here. I initially suggested having the restart > handler be part of the watchdog driver, and I thought you had done that in an > earlier version. What has changed your mind? I got the impression from Guenter Roeck's review, that it doesn't belong there, maybe I was too quick to remove it? See thread "[PATCH] watchdog: Add MOXA ART watchdog driver": http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/183065.html Thanks, Jonas ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files 2013-12-13 17:23 ` Jonas Jensen @ 2013-12-13 19:07 ` Guenter Roeck -1 siblings, 0 replies; 44+ messages in thread From: Guenter Roeck @ 2013-12-13 19:07 UTC (permalink / raw) To: Jonas Jensen Cc: Arnd Bergmann, linux-arm-kernel, linux-kernel, devicetree-discuss, arm, Russell King - ARM Linux, Olof Johansson On Fri, Dec 13, 2013 at 06:23:44PM +0100, Jonas Jensen wrote: > On 13 December 2013 17:17, Arnd Bergmann <arnd@arndb.de> wrote: > > IIRC the separate defconfig is needed because we have never gotten a mixed fa526+arm9 > > kernel to boot, right? In theory it is supposed to work and there is most likely just > > a small bug somewhere. Once that is working, we can think about adding a generic > > multi_v4_v5_defconfig that handles all multipltform capable platforms along the lines > > of multi_v7_defconfig. > > A mixed kernel can boot without panic (tested today). > > The panic is avoided when CONFIG_ARM_THUMB=y is removed. > > See thread "[PATCH] ARM: reinsert ARCH_MULTI_V4 Kconfig option": > > http://lists.infradead.org/pipermail/linux-arm-kernel/2013-December/219004.html > > > > I've been out of the loop a bit here. I initially suggested having the restart > > handler be part of the watchdog driver, and I thought you had done that in an > > earlier version. What has changed your mind? > > I got the impression from Guenter Roeck's review, that it doesn't belong there, > maybe I was too quick to remove it? > You'd have to answer the questions I raised in my review if you want it in there. Guenter > See thread "[PATCH] watchdog: Add MOXA ART watchdog driver": > > http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/183065.html > > > Thanks, > Jonas > ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files @ 2013-12-13 19:07 ` Guenter Roeck 0 siblings, 0 replies; 44+ messages in thread From: Guenter Roeck @ 2013-12-13 19:07 UTC (permalink / raw) To: linux-arm-kernel On Fri, Dec 13, 2013 at 06:23:44PM +0100, Jonas Jensen wrote: > On 13 December 2013 17:17, Arnd Bergmann <arnd@arndb.de> wrote: > > IIRC the separate defconfig is needed because we have never gotten a mixed fa526+arm9 > > kernel to boot, right? In theory it is supposed to work and there is most likely just > > a small bug somewhere. Once that is working, we can think about adding a generic > > multi_v4_v5_defconfig that handles all multipltform capable platforms along the lines > > of multi_v7_defconfig. > > A mixed kernel can boot without panic (tested today). > > The panic is avoided when CONFIG_ARM_THUMB=y is removed. > > See thread "[PATCH] ARM: reinsert ARCH_MULTI_V4 Kconfig option": > > http://lists.infradead.org/pipermail/linux-arm-kernel/2013-December/219004.html > > > > I've been out of the loop a bit here. I initially suggested having the restart > > handler be part of the watchdog driver, and I thought you had done that in an > > earlier version. What has changed your mind? > > I got the impression from Guenter Roeck's review, that it doesn't belong there, > maybe I was too quick to remove it? > You'd have to answer the questions I raised in my review if you want it in there. Guenter > See thread "[PATCH] watchdog: Add MOXA ART watchdog driver": > > http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/183065.html > > > Thanks, > Jonas > ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files 2013-12-13 19:07 ` Guenter Roeck @ 2013-12-14 4:01 ` Arnd Bergmann -1 siblings, 0 replies; 44+ messages in thread From: Arnd Bergmann @ 2013-12-14 4:01 UTC (permalink / raw) To: Guenter Roeck Cc: Jonas Jensen, linux-arm-kernel, linux-kernel, devicetree-discuss, arm, Russell King - ARM Linux, Olof Johansson On Friday 13 December 2013, Guenter Roeck wrote: > On Fri, Dec 13, 2013 at 06:23:44PM +0100, Jonas Jensen wrote: > > On 13 December 2013 17:17, Arnd Bergmann <arnd@arndb.de> wrote: > > > I've been out of the loop a bit here. I initially suggested having the restart > > > handler be part of the watchdog driver, and I thought you had done that in an > > > earlier version. What has changed your mind? > > > > I got the impression from Guenter Roeck's review, that it doesn't belong there, > > maybe I was too quick to remove it? > > > You'd have to answer the questions I raised in my review if you want it in > there. > Let me reply to your comment from that email: > > + > > + arm_pm_restart = moxart_wdt_restart; > > It is quite unusual that system restart code is implemented in a watchdog > driver (which may not even be compiled into an image, or not be loaded). I had asked Jonas to do it in the watchdog driver because that driver is the place that handles this particular register. We have moved a bunch of restart handlers into drivers/power for similar reasons, and those can also be compiled out. The restart handler isn't actually essential for most operations, and we have moved some far more important drivers from arch/arm into drivers/, such as clocks, interrupts, timers etc. The restart handler in this case is the only piece of code that remains in mach-moxart, and I would really like it to be completely empty. Arnd ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files @ 2013-12-14 4:01 ` Arnd Bergmann 0 siblings, 0 replies; 44+ messages in thread From: Arnd Bergmann @ 2013-12-14 4:01 UTC (permalink / raw) To: linux-arm-kernel On Friday 13 December 2013, Guenter Roeck wrote: > On Fri, Dec 13, 2013 at 06:23:44PM +0100, Jonas Jensen wrote: > > On 13 December 2013 17:17, Arnd Bergmann <arnd@arndb.de> wrote: > > > I've been out of the loop a bit here. I initially suggested having the restart > > > handler be part of the watchdog driver, and I thought you had done that in an > > > earlier version. What has changed your mind? > > > > I got the impression from Guenter Roeck's review, that it doesn't belong there, > > maybe I was too quick to remove it? > > > You'd have to answer the questions I raised in my review if you want it in > there. > Let me reply to your comment from that email: > > + > > + arm_pm_restart = moxart_wdt_restart; > > It is quite unusual that system restart code is implemented in a watchdog > driver (which may not even be compiled into an image, or not be loaded). I had asked Jonas to do it in the watchdog driver because that driver is the place that handles this particular register. We have moved a bunch of restart handlers into drivers/power for similar reasons, and those can also be compiled out. The restart handler isn't actually essential for most operations, and we have moved some far more important drivers from arch/arm into drivers/, such as clocks, interrupts, timers etc. The restart handler in this case is the only piece of code that remains in mach-moxart, and I would really like it to be completely empty. Arnd ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files 2013-12-13 19:07 ` Guenter Roeck @ 2013-12-14 8:32 ` Jonas Jensen -1 siblings, 0 replies; 44+ messages in thread From: Jonas Jensen @ 2013-12-14 8:32 UTC (permalink / raw) To: Guenter Roeck Cc: Arnd Bergmann, linux-arm-kernel, linux-kernel, arm, Russell King - ARM Linux, Olof Johansson On 13 December 2013 20:07, Guenter Roeck <linux@roeck-us.net> wrote: >> I got the impression from Guenter Roeck's review, that it doesn't belong there, >> maybe I was too quick to remove it? >> > You'd have to answer the questions I raised in my review if you want it in > there. I didn't see a solution at the time. Now I'm thinking arm_pm_restart can be set later in probe, preventing a crash on load failure, and maybe it can be unset on unload. Would you accept a patch for this? Best regards, Jonas ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files @ 2013-12-14 8:32 ` Jonas Jensen 0 siblings, 0 replies; 44+ messages in thread From: Jonas Jensen @ 2013-12-14 8:32 UTC (permalink / raw) To: linux-arm-kernel On 13 December 2013 20:07, Guenter Roeck <linux@roeck-us.net> wrote: >> I got the impression from Guenter Roeck's review, that it doesn't belong there, >> maybe I was too quick to remove it? >> > You'd have to answer the questions I raised in my review if you want it in > there. I didn't see a solution at the time. Now I'm thinking arm_pm_restart can be set later in probe, preventing a crash on load failure, and maybe it can be unset on unload. Would you accept a patch for this? Best regards, Jonas ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files 2013-12-14 8:32 ` Jonas Jensen @ 2013-12-14 15:50 ` Guenter Roeck -1 siblings, 0 replies; 44+ messages in thread From: Guenter Roeck @ 2013-12-14 15:50 UTC (permalink / raw) To: Jonas Jensen Cc: Arnd Bergmann, linux-arm-kernel, linux-kernel, arm, Russell King - ARM Linux, Olof Johansson On 12/14/2013 12:32 AM, Jonas Jensen wrote: > On 13 December 2013 20:07, Guenter Roeck <linux@roeck-us.net> wrote: >>> I got the impression from Guenter Roeck's review, that it doesn't belong there, >>> maybe I was too quick to remove it? >>> >> You'd have to answer the questions I raised in my review if you want it in >> there. > > I didn't see a solution at the time. Now I'm thinking arm_pm_restart > can be set later in probe, preventing a crash on load failure, and > maybe it can be unset on unload. > > Would you accept a patch for this? > The above would at least avoid the crash, though I would not understand the point of having an unloadable restart handler. Forcing the watchdog driver into the kernel just because you want the restart handler in it would seem odd. And if the restart handler is optional, why have it in the first place ? I also don't follow Arnd's logic of wanting to have the code in the watchdog driver just because it happens to use a register that it needs. Conceptually it might be cleaner to write a separate driver, for example in drivers/power/restart, than plugging the functionality into the watchdog driver, at least if you don't want it in architecture or platform code. The xgene restart driver is a good example. Anyway, it is not up to me to accept the code, that is up to Wim. My rejection was primarily due to technical flaws, which can be addressed. For the logical reasoning you'll have to convince Wim. Guenter ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files @ 2013-12-14 15:50 ` Guenter Roeck 0 siblings, 0 replies; 44+ messages in thread From: Guenter Roeck @ 2013-12-14 15:50 UTC (permalink / raw) To: linux-arm-kernel On 12/14/2013 12:32 AM, Jonas Jensen wrote: > On 13 December 2013 20:07, Guenter Roeck <linux@roeck-us.net> wrote: >>> I got the impression from Guenter Roeck's review, that it doesn't belong there, >>> maybe I was too quick to remove it? >>> >> You'd have to answer the questions I raised in my review if you want it in >> there. > > I didn't see a solution at the time. Now I'm thinking arm_pm_restart > can be set later in probe, preventing a crash on load failure, and > maybe it can be unset on unload. > > Would you accept a patch for this? > The above would at least avoid the crash, though I would not understand the point of having an unloadable restart handler. Forcing the watchdog driver into the kernel just because you want the restart handler in it would seem odd. And if the restart handler is optional, why have it in the first place ? I also don't follow Arnd's logic of wanting to have the code in the watchdog driver just because it happens to use a register that it needs. Conceptually it might be cleaner to write a separate driver, for example in drivers/power/restart, than plugging the functionality into the watchdog driver, at least if you don't want it in architecture or platform code. The xgene restart driver is a good example. Anyway, it is not up to me to accept the code, that is up to Wim. My rejection was primarily due to technical flaws, which can be addressed. For the logical reasoning you'll have to convince Wim. Guenter ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files 2013-12-14 15:50 ` Guenter Roeck @ 2013-12-14 16:26 ` Jonas Jensen -1 siblings, 0 replies; 44+ messages in thread From: Jonas Jensen @ 2013-12-14 16:26 UTC (permalink / raw) To: Guenter Roeck Cc: Arnd Bergmann, linux-arm-kernel, linux-kernel, arm, Russell King - ARM Linux, Olof Johansson On 14 December 2013 16:50, Guenter Roeck <linux@roeck-us.net> wrote: > The above would at least avoid the crash, though I would not understand > the point of having an unloadable restart handler. Forcing the watchdog > driver into the kernel just because you want the restart handler in it > would seem odd. And if the restart handler is optional, why have it > in the first place ? I also don't follow Arnd's logic of wanting to have > the code in the watchdog driver just because it happens to use a register > that it needs. > > Conceptually it might be cleaner to write a separate driver, for example > in drivers/power/restart, than plugging the functionality into > the watchdog driver, at least if you don't want it in architecture > or platform code. The xgene restart driver is a good example. > > Anyway, it is not up to me to accept the code, that is up to Wim. > My rejection was primarily due to technical flaws, which can be addressed. > For the logical reasoning you'll have to convince Wim. Thanks for the replies. Moving it to a new power/restart driver seems reasonable to me, I'm really just looking for a home for it, I would have preferred a hardware with reset in a separate register though. I now plan to remove it for v5 and submit a separate driver. Regards, Jonas ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files @ 2013-12-14 16:26 ` Jonas Jensen 0 siblings, 0 replies; 44+ messages in thread From: Jonas Jensen @ 2013-12-14 16:26 UTC (permalink / raw) To: linux-arm-kernel On 14 December 2013 16:50, Guenter Roeck <linux@roeck-us.net> wrote: > The above would at least avoid the crash, though I would not understand > the point of having an unloadable restart handler. Forcing the watchdog > driver into the kernel just because you want the restart handler in it > would seem odd. And if the restart handler is optional, why have it > in the first place ? I also don't follow Arnd's logic of wanting to have > the code in the watchdog driver just because it happens to use a register > that it needs. > > Conceptually it might be cleaner to write a separate driver, for example > in drivers/power/restart, than plugging the functionality into > the watchdog driver, at least if you don't want it in architecture > or platform code. The xgene restart driver is a good example. > > Anyway, it is not up to me to accept the code, that is up to Wim. > My rejection was primarily due to technical flaws, which can be addressed. > For the logical reasoning you'll have to convince Wim. Thanks for the replies. Moving it to a new power/restart driver seems reasonable to me, I'm really just looking for a home for it, I would have preferred a hardware with reset in a separate register though. I now plan to remove it for v5 and submit a separate driver. Regards, Jonas ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files 2013-12-14 16:26 ` Jonas Jensen @ 2013-12-14 18:50 ` Arnd Bergmann -1 siblings, 0 replies; 44+ messages in thread From: Arnd Bergmann @ 2013-12-14 18:50 UTC (permalink / raw) To: Jonas Jensen Cc: Guenter Roeck, linux-arm-kernel, linux-kernel, arm, Russell King - ARM Linux, Olof Johansson On Saturday 14 December 2013, Jonas Jensen wrote: > > > > Conceptually it might be cleaner to write a separate driver, for example > > in drivers/power/restart, than plugging the functionality into > > the watchdog driver, at least if you don't want it in architecture > > or platform code. The xgene restart driver is a good example. > > > > Moving it to a new power/restart driver seems reasonable to me, I'm > really just looking for a home for it, I would have preferred a > hardware with reset in a separate register though. > > I now plan to remove it for v5 and submit a separate driver. I still think it's better to leave it in the watchdog driver: This driver attaches to the watchdog device, and adding a separate driver for reset means we have to trick the core Linux code into attaching two drivers to one device in some way, or the device tree has to fake a second device that doesn't exist in hardware but is only needed because of Linux implementation details. Arnd ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files @ 2013-12-14 18:50 ` Arnd Bergmann 0 siblings, 0 replies; 44+ messages in thread From: Arnd Bergmann @ 2013-12-14 18:50 UTC (permalink / raw) To: linux-arm-kernel On Saturday 14 December 2013, Jonas Jensen wrote: > > > > Conceptually it might be cleaner to write a separate driver, for example > > in drivers/power/restart, than plugging the functionality into > > the watchdog driver, at least if you don't want it in architecture > > or platform code. The xgene restart driver is a good example. > > > > Moving it to a new power/restart driver seems reasonable to me, I'm > really just looking for a home for it, I would have preferred a > hardware with reset in a separate register though. > > I now plan to remove it for v5 and submit a separate driver. I still think it's better to leave it in the watchdog driver: This driver attaches to the watchdog device, and adding a separate driver for reset means we have to trick the core Linux code into attaching two drivers to one device in some way, or the device tree has to fake a second device that doesn't exist in hardware but is only needed because of Linux implementation details. Arnd ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files 2013-12-14 18:50 ` Arnd Bergmann @ 2013-12-14 20:14 ` Guenter Roeck -1 siblings, 0 replies; 44+ messages in thread From: Guenter Roeck @ 2013-12-14 20:14 UTC (permalink / raw) To: Arnd Bergmann, Jonas Jensen Cc: linux-arm-kernel, linux-kernel, arm, Russell King - ARM Linux, Olof Johansson On 12/14/2013 10:50 AM, Arnd Bergmann wrote: > On Saturday 14 December 2013, Jonas Jensen wrote: >>> >>> Conceptually it might be cleaner to write a separate driver, for example >>> in drivers/power/restart, than plugging the functionality into >>> the watchdog driver, at least if you don't want it in architecture >>> or platform code. The xgene restart driver is a good example. >>> >> >> Moving it to a new power/restart driver seems reasonable to me, I'm >> really just looking for a home for it, I would have preferred a >> hardware with reset in a separate register though. >> >> I now plan to remove it for v5 and submit a separate driver. > > I still think it's better to leave it in the watchdog driver: This > driver attaches to the watchdog device, and adding a separate driver > for reset means we have to trick the core Linux code into attaching > two drivers to one device in some way, or the device tree has to fake > a second device that doesn't exist in hardware but is only needed > because of Linux implementation details. > Hmm ... not sure I agree. I don't see a problem with something like "arm,moxart-reboot". There are already vexpress-reboot and xgene-reboot properties which do pretty much the same. Actually, you don't even need that; the reset driver could simply re-use the "moxa,moxart-watchdog" property. After all, all that specifies is that there is a compatible driver. Look for "samsung,s3c2410-wdt" for an example of another reset handler doing just that. Attaching it to the watchdog device seems to be more problematic given the (currently) optional nature of the watchdog driver and its different scope. Thanks, Guenter ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files @ 2013-12-14 20:14 ` Guenter Roeck 0 siblings, 0 replies; 44+ messages in thread From: Guenter Roeck @ 2013-12-14 20:14 UTC (permalink / raw) To: linux-arm-kernel On 12/14/2013 10:50 AM, Arnd Bergmann wrote: > On Saturday 14 December 2013, Jonas Jensen wrote: >>> >>> Conceptually it might be cleaner to write a separate driver, for example >>> in drivers/power/restart, than plugging the functionality into >>> the watchdog driver, at least if you don't want it in architecture >>> or platform code. The xgene restart driver is a good example. >>> >> >> Moving it to a new power/restart driver seems reasonable to me, I'm >> really just looking for a home for it, I would have preferred a >> hardware with reset in a separate register though. >> >> I now plan to remove it for v5 and submit a separate driver. > > I still think it's better to leave it in the watchdog driver: This > driver attaches to the watchdog device, and adding a separate driver > for reset means we have to trick the core Linux code into attaching > two drivers to one device in some way, or the device tree has to fake > a second device that doesn't exist in hardware but is only needed > because of Linux implementation details. > Hmm ... not sure I agree. I don't see a problem with something like "arm,moxart-reboot". There are already vexpress-reboot and xgene-reboot properties which do pretty much the same. Actually, you don't even need that; the reset driver could simply re-use the "moxa,moxart-watchdog" property. After all, all that specifies is that there is a compatible driver. Look for "samsung,s3c2410-wdt" for an example of another reset handler doing just that. Attaching it to the watchdog device seems to be more problematic given the (currently) optional nature of the watchdog driver and its different scope. Thanks, Guenter ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files 2013-12-14 20:14 ` Guenter Roeck @ 2013-12-15 0:21 ` Arnd Bergmann -1 siblings, 0 replies; 44+ messages in thread From: Arnd Bergmann @ 2013-12-15 0:21 UTC (permalink / raw) To: Guenter Roeck Cc: Jonas Jensen, linux-arm-kernel, linux-kernel, arm, Russell King - ARM Linux, Olof Johansson On Saturday 14 December 2013, Guenter Roeck wrote: > Hmm ... not sure I agree. I don't see a problem with something like "arm,moxart-reboot". > There are already vexpress-reboot and xgene-reboot properties which do pretty much > the same. > > Actually, you don't even need that; the reset driver could simply re-use the > "moxa,moxart-watchdog" property. After all, all that specifies is that there > is a compatible driver. Look for "samsung,s3c2410-wdt" for an example of another > reset handler doing just that. > > Attaching it to the watchdog device seems to be more problematic given the > (currently) optional nature of the watchdog driver and its different scope. As far as I'm concerned a watchdog driver is just as optional as a reboot driver. The vexpress and xgene reset drivers are different because those are actually dedicated devices that are there only to do rebooting. The "samsung,s3c2410-wdt" device is exactly the same category as the moxart one, but the code to use it performs the same hack by scanning the device tree ad hoc from the platform initialization. I think it should be integrated into watchdog the same way, and if we have more drivers in that category, we'd probably want a generic watchdog reboot callback function that wdt drivers can hook up to the architecture reset handler. The main difference I see between plat-samsung and mach-moxart here is that the samsung platforms still need a lot of code in arch/arm to get things to work (this will have to change as soon as we get an arm64 exynos, which would have everything in proper drivers), while for moxart this is the only non-driver code. Reusing the moxa,moxart-watchdog device from a separate reboot driver is a violation of the driver model, since we can't really bind two platform drivers to one platform device, unless you add another device in drivers/mfd to create two children for wdt and reboot, but that would be really silly. You could use the same code that samsung has at the moment in a loadable module, which effectively implements a linux-2.4 style driver that probes the device in the module_init function rather than registering a struct device_driver with a probe callback. Arnd ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files @ 2013-12-15 0:21 ` Arnd Bergmann 0 siblings, 0 replies; 44+ messages in thread From: Arnd Bergmann @ 2013-12-15 0:21 UTC (permalink / raw) To: linux-arm-kernel On Saturday 14 December 2013, Guenter Roeck wrote: > Hmm ... not sure I agree. I don't see a problem with something like "arm,moxart-reboot". > There are already vexpress-reboot and xgene-reboot properties which do pretty much > the same. > > Actually, you don't even need that; the reset driver could simply re-use the > "moxa,moxart-watchdog" property. After all, all that specifies is that there > is a compatible driver. Look for "samsung,s3c2410-wdt" for an example of another > reset handler doing just that. > > Attaching it to the watchdog device seems to be more problematic given the > (currently) optional nature of the watchdog driver and its different scope. As far as I'm concerned a watchdog driver is just as optional as a reboot driver. The vexpress and xgene reset drivers are different because those are actually dedicated devices that are there only to do rebooting. The "samsung,s3c2410-wdt" device is exactly the same category as the moxart one, but the code to use it performs the same hack by scanning the device tree ad hoc from the platform initialization. I think it should be integrated into watchdog the same way, and if we have more drivers in that category, we'd probably want a generic watchdog reboot callback function that wdt drivers can hook up to the architecture reset handler. The main difference I see between plat-samsung and mach-moxart here is that the samsung platforms still need a lot of code in arch/arm to get things to work (this will have to change as soon as we get an arm64 exynos, which would have everything in proper drivers), while for moxart this is the only non-driver code. Reusing the moxa,moxart-watchdog device from a separate reboot driver is a violation of the driver model, since we can't really bind two platform drivers to one platform device, unless you add another device in drivers/mfd to create two children for wdt and reboot, but that would be really silly. You could use the same code that samsung has at the moment in a loadable module, which effectively implements a linux-2.4 style driver that probes the device in the module_init function rather than registering a struct device_driver with a probe callback. Arnd ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files 2013-12-13 14:33 ` Jonas Jensen @ 2013-12-22 19:48 ` Olof Johansson -1 siblings, 0 replies; 44+ messages in thread From: Olof Johansson @ 2013-12-22 19:48 UTC (permalink / raw) To: Jonas Jensen Cc: linux-arm-kernel, linux-kernel, devicetree-discuss, arm, linux, arnd On Fri, Dec 13, 2013 at 03:33:07PM +0100, Jonas Jensen wrote: > The MOXA ART SoC is based on Faraday's FA526. This is a ARMv4 32-bit > 192 MHz CPU with MMU and 16KB/8KB D/I-cache. > > Add platform support for this SoC. > > Also add UC-7112-LX as a machine. > > Signed-off-by: Jonas Jensen <jonas.jensen@gmail.com> Applied to next/soc for 3.14. Please follow up on the comments and submit patches as needed on top of this. Also, I renamed the patch to be ARM: moxart: ... since we normally leave out the mach- part. -Olof ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files @ 2013-12-22 19:48 ` Olof Johansson 0 siblings, 0 replies; 44+ messages in thread From: Olof Johansson @ 2013-12-22 19:48 UTC (permalink / raw) To: linux-arm-kernel On Fri, Dec 13, 2013 at 03:33:07PM +0100, Jonas Jensen wrote: > The MOXA ART SoC is based on Faraday's FA526. This is a ARMv4 32-bit > 192 MHz CPU with MMU and 16KB/8KB D/I-cache. > > Add platform support for this SoC. > > Also add UC-7112-LX as a machine. > > Signed-off-by: Jonas Jensen <jonas.jensen@gmail.com> Applied to next/soc for 3.14. Please follow up on the comments and submit patches as needed on top of this. Also, I renamed the patch to be ARM: moxart: ... since we normally leave out the mach- part. -Olof ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files 2013-12-13 14:33 ` Jonas Jensen @ 2013-12-13 14:33 ` Jonas Jensen -1 siblings, 0 replies; 44+ messages in thread From: Jonas Jensen @ 2013-12-13 14:33 UTC (permalink / raw) To: linux-arm-kernel Cc: linux-kernel, devicetree-discuss, arm, linux, arnd, olof, Jonas Jensen Add a generic (dtsi) include file for MOXA ART SoCs. Also add a file for UC-7112-LX. Signed-off-by: Jonas Jensen <jonas.jensen@gmail.com> --- Documentation/devicetree/bindings/arm/moxart.txt | 12 +++ arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/moxart-uc7112lx.dts | 131 +++++++++++++++++++++++ arch/arm/boot/dts/moxart.dtsi | 100 +++++++++++++++++ 4 files changed, 244 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/moxart.txt create mode 100644 arch/arm/boot/dts/moxart-uc7112lx.dts create mode 100644 arch/arm/boot/dts/moxart.dtsi diff --git a/Documentation/devicetree/bindings/arm/moxart.txt b/Documentation/devicetree/bindings/arm/moxart.txt new file mode 100644 index 0000000..11087ed --- /dev/null +++ b/Documentation/devicetree/bindings/arm/moxart.txt @@ -0,0 +1,12 @@ +MOXA ART device tree bindings + +Boards with the MOXA ART SoC shall have the following properties: + +Required root node property: + +compatible = "moxa,moxart"; + +Boards: + +- UC-7112-LX: embedded computer + compatible = "moxa,moxart-uc-7112-lx", "moxa,moxart" diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 9fe33e7..f331b22 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -318,6 +318,7 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \ dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb \ zynq-zc706.dtb \ zynq-zed.dtb +dtb-$(CONFIG_ARCH_MOXART) += moxart-uc7112lx.dtb targets += dtbs targets += $(dtb-y) diff --git a/arch/arm/boot/dts/moxart-uc7112lx.dts b/arch/arm/boot/dts/moxart-uc7112lx.dts new file mode 100644 index 0000000..c63d013 --- /dev/null +++ b/arch/arm/boot/dts/moxart-uc7112lx.dts @@ -0,0 +1,131 @@ +/* moxart-uc7112lx.dts - Device Tree file for MOXA UC-7112-LX + * + * Copyright (C) 2013 Jonas Jensen <jonas.jensen@gmail.com> + * + * Licensed under GPLv2 or later. + */ + +/dts-v1/; +/include/ "moxart.dtsi" + +/ { + model = "MOXA UC-7112-LX"; + compatible = "moxa,moxart-uc-7112-lx", "moxa,moxart"; + + memory { + device_type = "memory"; + reg = <0x0 0x2000000>; + }; + + flash@80000000,0 { + compatible = "numonyx,js28f128", "cfi-flash"; + reg = <0x80000000 0x1000000>; + bank-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + partition@0 { + label = "bootloader"; + reg = <0x0 0x40000>; + }; + partition@40000 { + label = "linux kernel"; + reg = <0x40000 0x1C0000>; + }; + partition@200000 { + label = "root filesystem"; + reg = <0x200000 0x800000>; + }; + partition@a00000 { + label = "user filesystem"; + reg = <0xa00000 0x600000>; + }; + }; + + sdhci: sdhci@98e00000 { + compatible = "moxa,moxart-sdhci"; + reg = <0x98e00000 0x5C>; + interrupts = <5 0>; + clocks = <&clk_apb>; + dmas = <&dma 5>, + <&dma 5>; + dma-names = "tx", "rx"; + }; + + mdio0: mdio@90900090 { + compatible = "moxa,moxart-mdio"; + reg = <0x90900090 0x8>; + #address-cells = <1>; + #size-cells = <0>; + + ethphy0: ethernet-phy@1 { + device_type = "ethernet-phy"; + compatible = "moxa,moxart-rtl8201cp", "ethernet-phy-ieee802.3-c22"; + reg = <1>; + }; + }; + + mdio1: mdio@92000090 { + compatible = "moxa,moxart-mdio"; + reg = <0x92000090 0x8>; + #address-cells = <1>; + #size-cells = <0>; + + ethphy1: ethernet-phy@1 { + device_type = "ethernet-phy"; + compatible = "moxa,moxart-rtl8201cp", "ethernet-phy-ieee802.3-c22"; + reg = <1>; + }; + }; + + mac0: mac@90900000 { + compatible = "moxa,moxart-mac"; + reg = <0x90900000 0x90>; + interrupts = <25 0>; + phy-handle = <ðphy0>; + phy-mode = "mii"; + }; + + mac1: mac@92000000 { + compatible = "moxa,moxart-mac"; + reg = <0x92000000 0x90>; + interrupts = <27 0>; + phy-handle = <ðphy1>; + phy-mode = "mii"; + }; + + uart0: uart@98200000 { + compatible = "ns16550a"; + reg = <0x98200000 0x20>; + interrupts = <31 8>; + reg-shift = <2>; + reg-io-width = <4>; + clock-frequency = <14745600>; + status = "okay"; + }; + + leds { + compatible = "gpio-leds"; + user-led { + label = "ready-led"; + gpios = <&gpio 27 0x1>; + default-state = "on"; + linux,default-trigger = "default-on"; + }; + }; + + gpio_keys_polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <500>; + button@25 { + label = "GPIO Reset"; + linux,code = <116>; + gpios = <&gpio 25 1>; + }; + }; + + chosen { + bootargs = "console=ttyS0,115200n8 earlyprintk root=/dev/mmcblk0p1 rw rootwait"; + }; +}; diff --git a/arch/arm/boot/dts/moxart.dtsi b/arch/arm/boot/dts/moxart.dtsi new file mode 100644 index 0000000..0ea51ed --- /dev/null +++ b/arch/arm/boot/dts/moxart.dtsi @@ -0,0 +1,100 @@ +/* moxart.dtsi - Device Tree Include file for MOXA ART family SoC + * + * Copyright (C) 2013 Jonas Jensen <jonas.jensen@gmail.com> + * + * Licensed under GPLv2 or later. + */ + +/include/ "skeleton.dtsi" + +/ { + compatible = "moxa,moxart"; + model = "MOXART"; + interrupt-parent = <&intc>; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + device_type = "cpu"; + compatible = "faraday,fa526"; + reg = <0>; + }; + }; + + clocks { + #address-cells = <1>; + #size-cells = <0>; + + ref12: ref12M { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <12000000>; + }; + }; + + soc { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0x90000000 0x10000000>; + ranges; + + intc: interrupt-controller@98800000 { + compatible = "moxa,moxart-ic"; + reg = <0x98800000 0x38>; + interrupt-controller; + #interrupt-cells = <2>; + interrupt-mask = <0x00080000>; + }; + + clk_pll: clk_pll@98100000 { + compatible = "moxa,moxart-pll-clock"; + #clock-cells = <0>; + reg = <0x98100000 0x34>; + clocks = <&ref12>; + }; + + clk_apb: clk_apb@98100000 { + compatible = "moxa,moxart-apb-clock"; + #clock-cells = <0>; + reg = <0x98100000 0x34>; + clocks = <&clk_pll>; + }; + + timer: timer@98400000 { + compatible = "moxa,moxart-timer"; + reg = <0x98400000 0x42>; + interrupts = <19 1>; + clocks = <&clk_apb>; + }; + + gpio: gpio@98700000 { + gpio-controller; + #gpio-cells = <2>; + compatible = "moxa,moxart-gpio"; + reg = <0x98700000 0xC>; + }; + + rtc: rtc { + compatible = "moxa,moxart-rtc"; + gpio-rtc-sclk = <&gpio 5 0>; + gpio-rtc-data = <&gpio 6 0>; + gpio-rtc-reset = <&gpio 7 0>; + }; + + dma: dma@90500000 { + compatible = "moxa,moxart-dma"; + reg = <0x90500080 0x40>; + interrupts = <24 0>; + #dma-cells = <1>; + }; + + watchdog: watchdog@98500000 { + compatible = "moxa,moxart-watchdog"; + reg = <0x98500000 0x10>; + clocks = <&clk_apb>; + }; + }; +}; -- 1.8.2.1 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files @ 2013-12-13 14:33 ` Jonas Jensen 0 siblings, 0 replies; 44+ messages in thread From: Jonas Jensen @ 2013-12-13 14:33 UTC (permalink / raw) To: linux-arm-kernel Add a generic (dtsi) include file for MOXA ART SoCs. Also add a file for UC-7112-LX. Signed-off-by: Jonas Jensen <jonas.jensen@gmail.com> --- Documentation/devicetree/bindings/arm/moxart.txt | 12 +++ arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/moxart-uc7112lx.dts | 131 +++++++++++++++++++++++ arch/arm/boot/dts/moxart.dtsi | 100 +++++++++++++++++ 4 files changed, 244 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/moxart.txt create mode 100644 arch/arm/boot/dts/moxart-uc7112lx.dts create mode 100644 arch/arm/boot/dts/moxart.dtsi diff --git a/Documentation/devicetree/bindings/arm/moxart.txt b/Documentation/devicetree/bindings/arm/moxart.txt new file mode 100644 index 0000000..11087ed --- /dev/null +++ b/Documentation/devicetree/bindings/arm/moxart.txt @@ -0,0 +1,12 @@ +MOXA ART device tree bindings + +Boards with the MOXA ART SoC shall have the following properties: + +Required root node property: + +compatible = "moxa,moxart"; + +Boards: + +- UC-7112-LX: embedded computer + compatible = "moxa,moxart-uc-7112-lx", "moxa,moxart" diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 9fe33e7..f331b22 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -318,6 +318,7 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \ dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb \ zynq-zc706.dtb \ zynq-zed.dtb +dtb-$(CONFIG_ARCH_MOXART) += moxart-uc7112lx.dtb targets += dtbs targets += $(dtb-y) diff --git a/arch/arm/boot/dts/moxart-uc7112lx.dts b/arch/arm/boot/dts/moxart-uc7112lx.dts new file mode 100644 index 0000000..c63d013 --- /dev/null +++ b/arch/arm/boot/dts/moxart-uc7112lx.dts @@ -0,0 +1,131 @@ +/* moxart-uc7112lx.dts - Device Tree file for MOXA UC-7112-LX + * + * Copyright (C) 2013 Jonas Jensen <jonas.jensen@gmail.com> + * + * Licensed under GPLv2 or later. + */ + +/dts-v1/; +/include/ "moxart.dtsi" + +/ { + model = "MOXA UC-7112-LX"; + compatible = "moxa,moxart-uc-7112-lx", "moxa,moxart"; + + memory { + device_type = "memory"; + reg = <0x0 0x2000000>; + }; + + flash at 80000000,0 { + compatible = "numonyx,js28f128", "cfi-flash"; + reg = <0x80000000 0x1000000>; + bank-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + partition at 0 { + label = "bootloader"; + reg = <0x0 0x40000>; + }; + partition at 40000 { + label = "linux kernel"; + reg = <0x40000 0x1C0000>; + }; + partition at 200000 { + label = "root filesystem"; + reg = <0x200000 0x800000>; + }; + partition at a00000 { + label = "user filesystem"; + reg = <0xa00000 0x600000>; + }; + }; + + sdhci: sdhci at 98e00000 { + compatible = "moxa,moxart-sdhci"; + reg = <0x98e00000 0x5C>; + interrupts = <5 0>; + clocks = <&clk_apb>; + dmas = <&dma 5>, + <&dma 5>; + dma-names = "tx", "rx"; + }; + + mdio0: mdio at 90900090 { + compatible = "moxa,moxart-mdio"; + reg = <0x90900090 0x8>; + #address-cells = <1>; + #size-cells = <0>; + + ethphy0: ethernet-phy at 1 { + device_type = "ethernet-phy"; + compatible = "moxa,moxart-rtl8201cp", "ethernet-phy-ieee802.3-c22"; + reg = <1>; + }; + }; + + mdio1: mdio at 92000090 { + compatible = "moxa,moxart-mdio"; + reg = <0x92000090 0x8>; + #address-cells = <1>; + #size-cells = <0>; + + ethphy1: ethernet-phy at 1 { + device_type = "ethernet-phy"; + compatible = "moxa,moxart-rtl8201cp", "ethernet-phy-ieee802.3-c22"; + reg = <1>; + }; + }; + + mac0: mac at 90900000 { + compatible = "moxa,moxart-mac"; + reg = <0x90900000 0x90>; + interrupts = <25 0>; + phy-handle = <ðphy0>; + phy-mode = "mii"; + }; + + mac1: mac at 92000000 { + compatible = "moxa,moxart-mac"; + reg = <0x92000000 0x90>; + interrupts = <27 0>; + phy-handle = <ðphy1>; + phy-mode = "mii"; + }; + + uart0: uart at 98200000 { + compatible = "ns16550a"; + reg = <0x98200000 0x20>; + interrupts = <31 8>; + reg-shift = <2>; + reg-io-width = <4>; + clock-frequency = <14745600>; + status = "okay"; + }; + + leds { + compatible = "gpio-leds"; + user-led { + label = "ready-led"; + gpios = <&gpio 27 0x1>; + default-state = "on"; + linux,default-trigger = "default-on"; + }; + }; + + gpio_keys_polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <500>; + button at 25 { + label = "GPIO Reset"; + linux,code = <116>; + gpios = <&gpio 25 1>; + }; + }; + + chosen { + bootargs = "console=ttyS0,115200n8 earlyprintk root=/dev/mmcblk0p1 rw rootwait"; + }; +}; diff --git a/arch/arm/boot/dts/moxart.dtsi b/arch/arm/boot/dts/moxart.dtsi new file mode 100644 index 0000000..0ea51ed --- /dev/null +++ b/arch/arm/boot/dts/moxart.dtsi @@ -0,0 +1,100 @@ +/* moxart.dtsi - Device Tree Include file for MOXA ART family SoC + * + * Copyright (C) 2013 Jonas Jensen <jonas.jensen@gmail.com> + * + * Licensed under GPLv2 or later. + */ + +/include/ "skeleton.dtsi" + +/ { + compatible = "moxa,moxart"; + model = "MOXART"; + interrupt-parent = <&intc>; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu at 0 { + device_type = "cpu"; + compatible = "faraday,fa526"; + reg = <0>; + }; + }; + + clocks { + #address-cells = <1>; + #size-cells = <0>; + + ref12: ref12M { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <12000000>; + }; + }; + + soc { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0x90000000 0x10000000>; + ranges; + + intc: interrupt-controller at 98800000 { + compatible = "moxa,moxart-ic"; + reg = <0x98800000 0x38>; + interrupt-controller; + #interrupt-cells = <2>; + interrupt-mask = <0x00080000>; + }; + + clk_pll: clk_pll at 98100000 { + compatible = "moxa,moxart-pll-clock"; + #clock-cells = <0>; + reg = <0x98100000 0x34>; + clocks = <&ref12>; + }; + + clk_apb: clk_apb at 98100000 { + compatible = "moxa,moxart-apb-clock"; + #clock-cells = <0>; + reg = <0x98100000 0x34>; + clocks = <&clk_pll>; + }; + + timer: timer at 98400000 { + compatible = "moxa,moxart-timer"; + reg = <0x98400000 0x42>; + interrupts = <19 1>; + clocks = <&clk_apb>; + }; + + gpio: gpio at 98700000 { + gpio-controller; + #gpio-cells = <2>; + compatible = "moxa,moxart-gpio"; + reg = <0x98700000 0xC>; + }; + + rtc: rtc { + compatible = "moxa,moxart-rtc"; + gpio-rtc-sclk = <&gpio 5 0>; + gpio-rtc-data = <&gpio 6 0>; + gpio-rtc-reset = <&gpio 7 0>; + }; + + dma: dma at 90500000 { + compatible = "moxa,moxart-dma"; + reg = <0x90500080 0x40>; + interrupts = <24 0>; + #dma-cells = <1>; + }; + + watchdog: watchdog at 98500000 { + compatible = "moxa,moxart-watchdog"; + reg = <0x98500000 0x10>; + clocks = <&clk_apb>; + }; + }; +}; -- 1.8.2.1 ^ permalink raw reply related [flat|nested] 44+ messages in thread
[parent not found: <1386945188-8316-3-git-send-email-jonas.jensen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Fwd: [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files [not found] ` <1386945188-8316-3-git-send-email-jonas.jensen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2013-12-13 14:39 ` Jonas Jensen 0 siblings, 0 replies; 44+ messages in thread From: Jonas Jensen @ 2013-12-13 14:39 UTC (permalink / raw) To: devicetree-u79uwXL29TY76Z2rM5mHXA Forwarding this because I used the wrong Cc address to devicetree-u79uwXL29TaiAVqoAR/hOA@public.gmane.org ---------- Forwarded message ---------- From: Jonas Jensen <jonas.jensen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Date: 13 December 2013 15:33 Subject: [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org, arnd-r2nGTMty4D4@public.gmane.org, olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org, Jonas Jensen <jonas.jensen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Add a generic (dtsi) include file for MOXA ART SoCs. Also add a file for UC-7112-LX. Signed-off-by: Jonas Jensen <jonas.jensen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> --- Documentation/devicetree/bindings/arm/moxart.txt | 12 +++ arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/moxart-uc7112lx.dts | 131 +++++++++++++++++++++++ arch/arm/boot/dts/moxart.dtsi | 100 +++++++++++++++++ 4 files changed, 244 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/moxart.txt create mode 100644 arch/arm/boot/dts/moxart-uc7112lx.dts create mode 100644 arch/arm/boot/dts/moxart.dtsi diff --git a/Documentation/devicetree/bindings/arm/moxart.txt b/Documentation/devicetree/bindings/arm/moxart.txt new file mode 100644 index 0000000..11087ed --- /dev/null +++ b/Documentation/devicetree/bindings/arm/moxart.txt @@ -0,0 +1,12 @@ +MOXA ART device tree bindings + +Boards with the MOXA ART SoC shall have the following properties: + +Required root node property: + +compatible = "moxa,moxart"; + +Boards: + +- UC-7112-LX: embedded computer + compatible = "moxa,moxart-uc-7112-lx", "moxa,moxart" diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 9fe33e7..f331b22 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -318,6 +318,7 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \ dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb \ zynq-zc706.dtb \ zynq-zed.dtb +dtb-$(CONFIG_ARCH_MOXART) += moxart-uc7112lx.dtb targets += dtbs targets += $(dtb-y) diff --git a/arch/arm/boot/dts/moxart-uc7112lx.dts b/arch/arm/boot/dts/moxart-uc7112lx.dts new file mode 100644 index 0000000..c63d013 --- /dev/null +++ b/arch/arm/boot/dts/moxart-uc7112lx.dts @@ -0,0 +1,131 @@ +/* moxart-uc7112lx.dts - Device Tree file for MOXA UC-7112-LX + * + * Copyright (C) 2013 Jonas Jensen <jonas.jensen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> + * + * Licensed under GPLv2 or later. + */ + +/dts-v1/; +/include/ "moxart.dtsi" + +/ { + model = "MOXA UC-7112-LX"; + compatible = "moxa,moxart-uc-7112-lx", "moxa,moxart"; + + memory { + device_type = "memory"; + reg = <0x0 0x2000000>; + }; + + flash@80000000,0 { + compatible = "numonyx,js28f128", "cfi-flash"; + reg = <0x80000000 0x1000000>; + bank-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + partition@0 { + label = "bootloader"; + reg = <0x0 0x40000>; + }; + partition@40000 { + label = "linux kernel"; + reg = <0x40000 0x1C0000>; + }; + partition@200000 { + label = "root filesystem"; + reg = <0x200000 0x800000>; + }; + partition@a00000 { + label = "user filesystem"; + reg = <0xa00000 0x600000>; + }; + }; + + sdhci: sdhci@98e00000 { + compatible = "moxa,moxart-sdhci"; + reg = <0x98e00000 0x5C>; + interrupts = <5 0>; + clocks = <&clk_apb>; + dmas = <&dma 5>, + <&dma 5>; + dma-names = "tx", "rx"; + }; + + mdio0: mdio@90900090 { + compatible = "moxa,moxart-mdio"; + reg = <0x90900090 0x8>; + #address-cells = <1>; + #size-cells = <0>; + + ethphy0: ethernet-phy@1 { + device_type = "ethernet-phy"; + compatible = "moxa,moxart-rtl8201cp", "ethernet-phy-ieee802.3-c22"; + reg = <1>; + }; + }; + + mdio1: mdio@92000090 { + compatible = "moxa,moxart-mdio"; + reg = <0x92000090 0x8>; + #address-cells = <1>; + #size-cells = <0>; + + ethphy1: ethernet-phy@1 { + device_type = "ethernet-phy"; + compatible = "moxa,moxart-rtl8201cp", "ethernet-phy-ieee802.3-c22"; + reg = <1>; + }; + }; + + mac0: mac@90900000 { + compatible = "moxa,moxart-mac"; + reg = <0x90900000 0x90>; + interrupts = <25 0>; + phy-handle = <ðphy0>; + phy-mode = "mii"; + }; + + mac1: mac@92000000 { + compatible = "moxa,moxart-mac"; + reg = <0x92000000 0x90>; + interrupts = <27 0>; + phy-handle = <ðphy1>; + phy-mode = "mii"; + }; + + uart0: uart@98200000 { + compatible = "ns16550a"; + reg = <0x98200000 0x20>; + interrupts = <31 8>; + reg-shift = <2>; + reg-io-width = <4>; + clock-frequency = <14745600>; + status = "okay"; + }; + + leds { + compatible = "gpio-leds"; + user-led { + label = "ready-led"; + gpios = <&gpio 27 0x1>; + default-state = "on"; + linux,default-trigger = "default-on"; + }; + }; + + gpio_keys_polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <500>; + button@25 { + label = "GPIO Reset"; + linux,code = <116>; + gpios = <&gpio 25 1>; + }; + }; + + chosen { + bootargs = "console=ttyS0,115200n8 earlyprintk root=/dev/mmcblk0p1 rw rootwait"; + }; +}; diff --git a/arch/arm/boot/dts/moxart.dtsi b/arch/arm/boot/dts/moxart.dtsi new file mode 100644 index 0000000..0ea51ed --- /dev/null +++ b/arch/arm/boot/dts/moxart.dtsi @@ -0,0 +1,100 @@ +/* moxart.dtsi - Device Tree Include file for MOXA ART family SoC + * + * Copyright (C) 2013 Jonas Jensen <jonas.jensen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> + * + * Licensed under GPLv2 or later. + */ + +/include/ "skeleton.dtsi" + +/ { + compatible = "moxa,moxart"; + model = "MOXART"; + interrupt-parent = <&intc>; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + device_type = "cpu"; + compatible = "faraday,fa526"; + reg = <0>; + }; + }; + + clocks { + #address-cells = <1>; + #size-cells = <0>; + + ref12: ref12M { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <12000000>; + }; + }; + + soc { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0x90000000 0x10000000>; + ranges; + + intc: interrupt-controller@98800000 { + compatible = "moxa,moxart-ic"; + reg = <0x98800000 0x38>; + interrupt-controller; + #interrupt-cells = <2>; + interrupt-mask = <0x00080000>; + }; + + clk_pll: clk_pll@98100000 { + compatible = "moxa,moxart-pll-clock"; + #clock-cells = <0>; + reg = <0x98100000 0x34>; + clocks = <&ref12>; + }; + + clk_apb: clk_apb@98100000 { + compatible = "moxa,moxart-apb-clock"; + #clock-cells = <0>; + reg = <0x98100000 0x34>; + clocks = <&clk_pll>; + }; + + timer: timer@98400000 { + compatible = "moxa,moxart-timer"; + reg = <0x98400000 0x42>; + interrupts = <19 1>; + clocks = <&clk_apb>; + }; + + gpio: gpio@98700000 { + gpio-controller; + #gpio-cells = <2>; + compatible = "moxa,moxart-gpio"; + reg = <0x98700000 0xC>; + }; + + rtc: rtc { + compatible = "moxa,moxart-rtc"; + gpio-rtc-sclk = <&gpio 5 0>; + gpio-rtc-data = <&gpio 6 0>; + gpio-rtc-reset = <&gpio 7 0>; + }; + + dma: dma@90500000 { + compatible = "moxa,moxart-dma"; + reg = <0x90500080 0x40>; + interrupts = <24 0>; + #dma-cells = <1>; + }; + + watchdog: watchdog@98500000 { + compatible = "moxa,moxart-watchdog"; + reg = <0x98500000 0x10>; + clocks = <&clk_apb>; + }; + }; +}; -- 1.8.2.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 44+ messages in thread
* Re: [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files 2013-12-13 14:33 ` Jonas Jensen @ 2013-12-13 16:17 ` Arnd Bergmann -1 siblings, 0 replies; 44+ messages in thread From: Arnd Bergmann @ 2013-12-13 16:17 UTC (permalink / raw) To: Jonas Jensen Cc: linux-arm-kernel, linux-kernel, devicetree-discuss, arm, linux, olof On Friday 13 December 2013, Jonas Jensen wrote: > Add a generic (dtsi) include file for MOXA ART SoCs. > > Also add a file for UC-7112-LX. > > Signed-off-by: Jonas Jensen <jonas.jensen@gmail.com> Acked-by: Arnd Bergmann <arnd@arndb.de> ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files @ 2013-12-13 16:17 ` Arnd Bergmann 0 siblings, 0 replies; 44+ messages in thread From: Arnd Bergmann @ 2013-12-13 16:17 UTC (permalink / raw) To: linux-arm-kernel On Friday 13 December 2013, Jonas Jensen wrote: > Add a generic (dtsi) include file for MOXA ART SoCs. > > Also add a file for UC-7112-LX. > > Signed-off-by: Jonas Jensen <jonas.jensen@gmail.com> Acked-by: Arnd Bergmann <arnd@arndb.de> ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files 2013-12-13 14:33 ` Jonas Jensen @ 2013-12-15 4:27 ` Peter Crosthwaite -1 siblings, 0 replies; 44+ messages in thread From: Peter Crosthwaite @ 2013-12-15 4:27 UTC (permalink / raw) To: Jonas Jensen Cc: linux-arm-kernel, linux-kernel, devicetree-discuss, arm, linux, Arnd Bergmann, olof On Sat, Dec 14, 2013 at 12:33 AM, Jonas Jensen <jonas.jensen@gmail.com> wrote: > Add a generic (dtsi) include file for MOXA ART SoCs. > > Also add a file for UC-7112-LX. > > Signed-off-by: Jonas Jensen <jonas.jensen@gmail.com> > --- > Documentation/devicetree/bindings/arm/moxart.txt | 12 +++ > arch/arm/boot/dts/Makefile | 1 + > arch/arm/boot/dts/moxart-uc7112lx.dts | 131 +++++++++++++++++++++++ > arch/arm/boot/dts/moxart.dtsi | 100 +++++++++++++++++ > 4 files changed, 244 insertions(+) > create mode 100644 Documentation/devicetree/bindings/arm/moxart.txt > create mode 100644 arch/arm/boot/dts/moxart-uc7112lx.dts > create mode 100644 arch/arm/boot/dts/moxart.dtsi > > diff --git a/Documentation/devicetree/bindings/arm/moxart.txt b/Documentation/devicetree/bindings/arm/moxart.txt > new file mode 100644 > index 0000000..11087ed > --- /dev/null > +++ b/Documentation/devicetree/bindings/arm/moxart.txt > @@ -0,0 +1,12 @@ > +MOXA ART device tree bindings > + > +Boards with the MOXA ART SoC shall have the following properties: > + > +Required root node property: > + > +compatible = "moxa,moxart"; > + > +Boards: > + > +- UC-7112-LX: embedded computer > + compatible = "moxa,moxart-uc-7112-lx", "moxa,moxart" > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > index 9fe33e7..f331b22 100644 > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > @@ -318,6 +318,7 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \ > dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb \ > zynq-zc706.dtb \ > zynq-zed.dtb > +dtb-$(CONFIG_ARCH_MOXART) += moxart-uc7112lx.dtb > > targets += dtbs > targets += $(dtb-y) > diff --git a/arch/arm/boot/dts/moxart-uc7112lx.dts b/arch/arm/boot/dts/moxart-uc7112lx.dts > new file mode 100644 > index 0000000..c63d013 > --- /dev/null > +++ b/arch/arm/boot/dts/moxart-uc7112lx.dts > @@ -0,0 +1,131 @@ > +/* moxart-uc7112lx.dts - Device Tree file for MOXA UC-7112-LX > + * > + * Copyright (C) 2013 Jonas Jensen <jonas.jensen@gmail.com> > + * > + * Licensed under GPLv2 or later. > + */ > + > +/dts-v1/; > +/include/ "moxart.dtsi" > + > +/ { > + model = "MOXA UC-7112-LX"; > + compatible = "moxa,moxart-uc-7112-lx", "moxa,moxart"; > + > + memory { > + device_type = "memory"; > + reg = <0x0 0x2000000>; > + }; > + > + flash@80000000,0 { > + compatible = "numonyx,js28f128", "cfi-flash"; > + reg = <0x80000000 0x1000000>; > + bank-width = <2>; > + #address-cells = <1>; > + #size-cells = <1>; > + partition@0 { > + label = "bootloader"; > + reg = <0x0 0x40000>; > + }; > + partition@40000 { > + label = "linux kernel"; > + reg = <0x40000 0x1C0000>; > + }; > + partition@200000 { > + label = "root filesystem"; > + reg = <0x200000 0x800000>; > + }; > + partition@a00000 { > + label = "user filesystem"; > + reg = <0xa00000 0x600000>; > + }; > + }; > + > + sdhci: sdhci@98e00000 { > + compatible = "moxa,moxart-sdhci"; > + reg = <0x98e00000 0x5C>; > + interrupts = <5 0>; > + clocks = <&clk_apb>; > + dmas = <&dma 5>, > + <&dma 5>; > + dma-names = "tx", "rx"; > + }; Is your SDHCI really implemented on the board level? The fact that its reg property is within the same as the SoC range (for your dtsi) suggests the SDHCI is part of the SoC and should perhaps be in the dtsi? > + > + mdio0: mdio@90900090 { > + compatible = "moxa,moxart-mdio"; > + reg = <0x90900090 0x8>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + ethphy0: ethernet-phy@1 { > + device_type = "ethernet-phy"; > + compatible = "moxa,moxart-rtl8201cp", "ethernet-phy-ieee802.3-c22"; > + reg = <1>; > + }; > + }; > + > + mdio1: mdio@92000090 { > + compatible = "moxa,moxart-mdio"; > + reg = <0x92000090 0x8>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + ethphy1: ethernet-phy@1 { > + device_type = "ethernet-phy"; > + compatible = "moxa,moxart-rtl8201cp", "ethernet-phy-ieee802.3-c22"; > + reg = <1>; > + }; > + }; > + > + mac0: mac@90900000 { > + compatible = "moxa,moxart-mac"; > + reg = <0x90900000 0x90>; > + interrupts = <25 0>; > + phy-handle = <ðphy0>; > + phy-mode = "mii"; > + }; > + > + mac1: mac@92000000 { > + compatible = "moxa,moxart-mac"; > + reg = <0x92000000 0x90>; > + interrupts = <27 0>; > + phy-handle = <ðphy1>; > + phy-mode = "mii"; > + }; Same for MACs. > + > + uart0: uart@98200000 { > + compatible = "ns16550a"; > + reg = <0x98200000 0x20>; > + interrupts = <31 8>; > + reg-shift = <2>; > + reg-io-width = <4>; > + clock-frequency = <14745600>; > + status = "okay"; > + }; > + And UARTs. Let me know if i'm misunderstanding dts/dtsi split but looking at some of the other SoCs this seems inconsistent to me. Regards, Peter > + leds { > + compatible = "gpio-leds"; > + user-led { > + label = "ready-led"; > + gpios = <&gpio 27 0x1>; > + default-state = "on"; > + linux,default-trigger = "default-on"; > + }; > + }; > + > + gpio_keys_polled { > + compatible = "gpio-keys-polled"; > + #address-cells = <1>; > + #size-cells = <0>; > + poll-interval = <500>; > + button@25 { > + label = "GPIO Reset"; > + linux,code = <116>; > + gpios = <&gpio 25 1>; > + }; > + }; > + > + chosen { > + bootargs = "console=ttyS0,115200n8 earlyprintk root=/dev/mmcblk0p1 rw rootwait"; > + }; > +}; > diff --git a/arch/arm/boot/dts/moxart.dtsi b/arch/arm/boot/dts/moxart.dtsi > new file mode 100644 > index 0000000..0ea51ed > --- /dev/null > +++ b/arch/arm/boot/dts/moxart.dtsi > @@ -0,0 +1,100 @@ > +/* moxart.dtsi - Device Tree Include file for MOXA ART family SoC > + * > + * Copyright (C) 2013 Jonas Jensen <jonas.jensen@gmail.com> > + * > + * Licensed under GPLv2 or later. > + */ > + > +/include/ "skeleton.dtsi" > + > +/ { > + compatible = "moxa,moxart"; > + model = "MOXART"; > + interrupt-parent = <&intc>; > + > + cpus { > + #address-cells = <1>; > + #size-cells = <0>; > + > + cpu@0 { > + device_type = "cpu"; > + compatible = "faraday,fa526"; > + reg = <0>; > + }; > + }; > + > + clocks { > + #address-cells = <1>; > + #size-cells = <0>; > + > + ref12: ref12M { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <12000000>; > + }; > + }; > + > + soc { > + compatible = "simple-bus"; > + #address-cells = <1>; > + #size-cells = <1>; > + reg = <0x90000000 0x10000000>; > + ranges; > + > + intc: interrupt-controller@98800000 { > + compatible = "moxa,moxart-ic"; > + reg = <0x98800000 0x38>; > + interrupt-controller; > + #interrupt-cells = <2>; > + interrupt-mask = <0x00080000>; > + }; > + > + clk_pll: clk_pll@98100000 { > + compatible = "moxa,moxart-pll-clock"; > + #clock-cells = <0>; > + reg = <0x98100000 0x34>; > + clocks = <&ref12>; > + }; > + > + clk_apb: clk_apb@98100000 { > + compatible = "moxa,moxart-apb-clock"; > + #clock-cells = <0>; > + reg = <0x98100000 0x34>; > + clocks = <&clk_pll>; > + }; > + > + timer: timer@98400000 { > + compatible = "moxa,moxart-timer"; > + reg = <0x98400000 0x42>; > + interrupts = <19 1>; > + clocks = <&clk_apb>; > + }; > + > + gpio: gpio@98700000 { > + gpio-controller; > + #gpio-cells = <2>; > + compatible = "moxa,moxart-gpio"; > + reg = <0x98700000 0xC>; > + }; > + > + rtc: rtc { > + compatible = "moxa,moxart-rtc"; > + gpio-rtc-sclk = <&gpio 5 0>; > + gpio-rtc-data = <&gpio 6 0>; > + gpio-rtc-reset = <&gpio 7 0>; > + }; > + > + dma: dma@90500000 { > + compatible = "moxa,moxart-dma"; > + reg = <0x90500080 0x40>; > + interrupts = <24 0>; > + #dma-cells = <1>; > + }; > + > + watchdog: watchdog@98500000 { > + compatible = "moxa,moxart-watchdog"; > + reg = <0x98500000 0x10>; > + clocks = <&clk_apb>; > + }; > + }; > +}; > -- > 1.8.2.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files @ 2013-12-15 4:27 ` Peter Crosthwaite 0 siblings, 0 replies; 44+ messages in thread From: Peter Crosthwaite @ 2013-12-15 4:27 UTC (permalink / raw) To: linux-arm-kernel On Sat, Dec 14, 2013 at 12:33 AM, Jonas Jensen <jonas.jensen@gmail.com> wrote: > Add a generic (dtsi) include file for MOXA ART SoCs. > > Also add a file for UC-7112-LX. > > Signed-off-by: Jonas Jensen <jonas.jensen@gmail.com> > --- > Documentation/devicetree/bindings/arm/moxart.txt | 12 +++ > arch/arm/boot/dts/Makefile | 1 + > arch/arm/boot/dts/moxart-uc7112lx.dts | 131 +++++++++++++++++++++++ > arch/arm/boot/dts/moxart.dtsi | 100 +++++++++++++++++ > 4 files changed, 244 insertions(+) > create mode 100644 Documentation/devicetree/bindings/arm/moxart.txt > create mode 100644 arch/arm/boot/dts/moxart-uc7112lx.dts > create mode 100644 arch/arm/boot/dts/moxart.dtsi > > diff --git a/Documentation/devicetree/bindings/arm/moxart.txt b/Documentation/devicetree/bindings/arm/moxart.txt > new file mode 100644 > index 0000000..11087ed > --- /dev/null > +++ b/Documentation/devicetree/bindings/arm/moxart.txt > @@ -0,0 +1,12 @@ > +MOXA ART device tree bindings > + > +Boards with the MOXA ART SoC shall have the following properties: > + > +Required root node property: > + > +compatible = "moxa,moxart"; > + > +Boards: > + > +- UC-7112-LX: embedded computer > + compatible = "moxa,moxart-uc-7112-lx", "moxa,moxart" > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > index 9fe33e7..f331b22 100644 > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > @@ -318,6 +318,7 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \ > dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb \ > zynq-zc706.dtb \ > zynq-zed.dtb > +dtb-$(CONFIG_ARCH_MOXART) += moxart-uc7112lx.dtb > > targets += dtbs > targets += $(dtb-y) > diff --git a/arch/arm/boot/dts/moxart-uc7112lx.dts b/arch/arm/boot/dts/moxart-uc7112lx.dts > new file mode 100644 > index 0000000..c63d013 > --- /dev/null > +++ b/arch/arm/boot/dts/moxart-uc7112lx.dts > @@ -0,0 +1,131 @@ > +/* moxart-uc7112lx.dts - Device Tree file for MOXA UC-7112-LX > + * > + * Copyright (C) 2013 Jonas Jensen <jonas.jensen@gmail.com> > + * > + * Licensed under GPLv2 or later. > + */ > + > +/dts-v1/; > +/include/ "moxart.dtsi" > + > +/ { > + model = "MOXA UC-7112-LX"; > + compatible = "moxa,moxart-uc-7112-lx", "moxa,moxart"; > + > + memory { > + device_type = "memory"; > + reg = <0x0 0x2000000>; > + }; > + > + flash at 80000000,0 { > + compatible = "numonyx,js28f128", "cfi-flash"; > + reg = <0x80000000 0x1000000>; > + bank-width = <2>; > + #address-cells = <1>; > + #size-cells = <1>; > + partition at 0 { > + label = "bootloader"; > + reg = <0x0 0x40000>; > + }; > + partition at 40000 { > + label = "linux kernel"; > + reg = <0x40000 0x1C0000>; > + }; > + partition at 200000 { > + label = "root filesystem"; > + reg = <0x200000 0x800000>; > + }; > + partition at a00000 { > + label = "user filesystem"; > + reg = <0xa00000 0x600000>; > + }; > + }; > + > + sdhci: sdhci at 98e00000 { > + compatible = "moxa,moxart-sdhci"; > + reg = <0x98e00000 0x5C>; > + interrupts = <5 0>; > + clocks = <&clk_apb>; > + dmas = <&dma 5>, > + <&dma 5>; > + dma-names = "tx", "rx"; > + }; Is your SDHCI really implemented on the board level? The fact that its reg property is within the same as the SoC range (for your dtsi) suggests the SDHCI is part of the SoC and should perhaps be in the dtsi? > + > + mdio0: mdio at 90900090 { > + compatible = "moxa,moxart-mdio"; > + reg = <0x90900090 0x8>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + ethphy0: ethernet-phy at 1 { > + device_type = "ethernet-phy"; > + compatible = "moxa,moxart-rtl8201cp", "ethernet-phy-ieee802.3-c22"; > + reg = <1>; > + }; > + }; > + > + mdio1: mdio at 92000090 { > + compatible = "moxa,moxart-mdio"; > + reg = <0x92000090 0x8>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + ethphy1: ethernet-phy at 1 { > + device_type = "ethernet-phy"; > + compatible = "moxa,moxart-rtl8201cp", "ethernet-phy-ieee802.3-c22"; > + reg = <1>; > + }; > + }; > + > + mac0: mac at 90900000 { > + compatible = "moxa,moxart-mac"; > + reg = <0x90900000 0x90>; > + interrupts = <25 0>; > + phy-handle = <ðphy0>; > + phy-mode = "mii"; > + }; > + > + mac1: mac at 92000000 { > + compatible = "moxa,moxart-mac"; > + reg = <0x92000000 0x90>; > + interrupts = <27 0>; > + phy-handle = <ðphy1>; > + phy-mode = "mii"; > + }; Same for MACs. > + > + uart0: uart at 98200000 { > + compatible = "ns16550a"; > + reg = <0x98200000 0x20>; > + interrupts = <31 8>; > + reg-shift = <2>; > + reg-io-width = <4>; > + clock-frequency = <14745600>; > + status = "okay"; > + }; > + And UARTs. Let me know if i'm misunderstanding dts/dtsi split but looking at some of the other SoCs this seems inconsistent to me. Regards, Peter > + leds { > + compatible = "gpio-leds"; > + user-led { > + label = "ready-led"; > + gpios = <&gpio 27 0x1>; > + default-state = "on"; > + linux,default-trigger = "default-on"; > + }; > + }; > + > + gpio_keys_polled { > + compatible = "gpio-keys-polled"; > + #address-cells = <1>; > + #size-cells = <0>; > + poll-interval = <500>; > + button at 25 { > + label = "GPIO Reset"; > + linux,code = <116>; > + gpios = <&gpio 25 1>; > + }; > + }; > + > + chosen { > + bootargs = "console=ttyS0,115200n8 earlyprintk root=/dev/mmcblk0p1 rw rootwait"; > + }; > +}; > diff --git a/arch/arm/boot/dts/moxart.dtsi b/arch/arm/boot/dts/moxart.dtsi > new file mode 100644 > index 0000000..0ea51ed > --- /dev/null > +++ b/arch/arm/boot/dts/moxart.dtsi > @@ -0,0 +1,100 @@ > +/* moxart.dtsi - Device Tree Include file for MOXA ART family SoC > + * > + * Copyright (C) 2013 Jonas Jensen <jonas.jensen@gmail.com> > + * > + * Licensed under GPLv2 or later. > + */ > + > +/include/ "skeleton.dtsi" > + > +/ { > + compatible = "moxa,moxart"; > + model = "MOXART"; > + interrupt-parent = <&intc>; > + > + cpus { > + #address-cells = <1>; > + #size-cells = <0>; > + > + cpu at 0 { > + device_type = "cpu"; > + compatible = "faraday,fa526"; > + reg = <0>; > + }; > + }; > + > + clocks { > + #address-cells = <1>; > + #size-cells = <0>; > + > + ref12: ref12M { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <12000000>; > + }; > + }; > + > + soc { > + compatible = "simple-bus"; > + #address-cells = <1>; > + #size-cells = <1>; > + reg = <0x90000000 0x10000000>; > + ranges; > + > + intc: interrupt-controller at 98800000 { > + compatible = "moxa,moxart-ic"; > + reg = <0x98800000 0x38>; > + interrupt-controller; > + #interrupt-cells = <2>; > + interrupt-mask = <0x00080000>; > + }; > + > + clk_pll: clk_pll at 98100000 { > + compatible = "moxa,moxart-pll-clock"; > + #clock-cells = <0>; > + reg = <0x98100000 0x34>; > + clocks = <&ref12>; > + }; > + > + clk_apb: clk_apb at 98100000 { > + compatible = "moxa,moxart-apb-clock"; > + #clock-cells = <0>; > + reg = <0x98100000 0x34>; > + clocks = <&clk_pll>; > + }; > + > + timer: timer at 98400000 { > + compatible = "moxa,moxart-timer"; > + reg = <0x98400000 0x42>; > + interrupts = <19 1>; > + clocks = <&clk_apb>; > + }; > + > + gpio: gpio at 98700000 { > + gpio-controller; > + #gpio-cells = <2>; > + compatible = "moxa,moxart-gpio"; > + reg = <0x98700000 0xC>; > + }; > + > + rtc: rtc { > + compatible = "moxa,moxart-rtc"; > + gpio-rtc-sclk = <&gpio 5 0>; > + gpio-rtc-data = <&gpio 6 0>; > + gpio-rtc-reset = <&gpio 7 0>; > + }; > + > + dma: dma at 90500000 { > + compatible = "moxa,moxart-dma"; > + reg = <0x90500080 0x40>; > + interrupts = <24 0>; > + #dma-cells = <1>; > + }; > + > + watchdog: watchdog at 98500000 { > + compatible = "moxa,moxart-watchdog"; > + reg = <0x98500000 0x10>; > + clocks = <&clk_apb>; > + }; > + }; > +}; > -- > 1.8.2.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files 2013-12-15 4:27 ` Peter Crosthwaite @ 2013-12-16 20:05 ` Jonas Jensen -1 siblings, 0 replies; 44+ messages in thread From: Jonas Jensen @ 2013-12-16 20:05 UTC (permalink / raw) To: Peter Crosthwaite Cc: linux-arm-kernel, linux-kernel, devicetree-discuss, arm, Russell King - ARM Linux, Arnd Bergmann, Olof Johansson On 15 December 2013 05:27, Peter Crosthwaite <peter.crosthwaite@xilinx.com> wrote: >> + sdhci: sdhci@98e00000 { >> + compatible = "moxa,moxart-sdhci"; >> + reg = <0x98e00000 0x5C>; >> + interrupts = <5 0>; >> + clocks = <&clk_apb>; >> + dmas = <&dma 5>, >> + <&dma 5>; >> + dma-names = "tx", "rx"; >> + }; > > Is your SDHCI really implemented on the board level? The fact that its > reg property is within the same as the SoC range (for your dtsi) > suggests the SDHCI is part of the SoC and should perhaps be in the > dtsi? >> + mac1: mac@92000000 { >> + compatible = "moxa,moxart-mac"; >> + reg = <0x92000000 0x90>; >> + interrupts = <27 0>; >> + phy-handle = <ðphy1>; >> + phy-mode = "mii"; >> + }; > > Same for MACs. >> + >> + uart0: uart@98200000 { >> + compatible = "ns16550a"; >> + reg = <0x98200000 0x20>; >> + interrupts = <31 8>; >> + reg-shift = <2>; >> + reg-io-width = <4>; >> + clock-frequency = <14745600>; >> + status = "okay"; >> + }; >> + > > And UARTs. > > Let me know if i'm misunderstanding dts/dtsi split but looking at some > of the other SoCs this seems inconsistent to me. It is likely to be true, that technically these are all part of the SoC. By examining the hardware, there are no external chips (on either base or main board) that looks capable of handling such functions: https://plus.google.com/photos/103371465418643926605/albums/5820634595801767953 I made the split with some consideration to other MOXA ART machines, that they can be added as a separate file including the same dtsi: MOXA ART hardware examples: UC-7112/UC-7110: "SD slot (UC-7112, and UC-7112 Plus only)": http://www.moxa.com/product/UC-7112_UC-7110.htm IA241: "64 MB RAM": http://www.moxa.com/product/IA241_IA240.htm UC-7101-LX: "One 10/100 Mbps Ethernet port": http://www.moxa.com/product/UC-7101-LX.htm UC-7112-LX has 32 MB RAM and two ethernet ports. This is why I think MAC is good as is, RAM should move out from SoC? I don't know if they all have a debug UART (I only have access to UC-7112-LX), and it's not obvious in specifications. UART can possibly be moved into SoC as you say. In cases where SD slot is missing but the register remains in the SoC, how is that normally handled? Regards, Jonas ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files @ 2013-12-16 20:05 ` Jonas Jensen 0 siblings, 0 replies; 44+ messages in thread From: Jonas Jensen @ 2013-12-16 20:05 UTC (permalink / raw) To: linux-arm-kernel On 15 December 2013 05:27, Peter Crosthwaite <peter.crosthwaite@xilinx.com> wrote: >> + sdhci: sdhci at 98e00000 { >> + compatible = "moxa,moxart-sdhci"; >> + reg = <0x98e00000 0x5C>; >> + interrupts = <5 0>; >> + clocks = <&clk_apb>; >> + dmas = <&dma 5>, >> + <&dma 5>; >> + dma-names = "tx", "rx"; >> + }; > > Is your SDHCI really implemented on the board level? The fact that its > reg property is within the same as the SoC range (for your dtsi) > suggests the SDHCI is part of the SoC and should perhaps be in the > dtsi? >> + mac1: mac at 92000000 { >> + compatible = "moxa,moxart-mac"; >> + reg = <0x92000000 0x90>; >> + interrupts = <27 0>; >> + phy-handle = <ðphy1>; >> + phy-mode = "mii"; >> + }; > > Same for MACs. >> + >> + uart0: uart at 98200000 { >> + compatible = "ns16550a"; >> + reg = <0x98200000 0x20>; >> + interrupts = <31 8>; >> + reg-shift = <2>; >> + reg-io-width = <4>; >> + clock-frequency = <14745600>; >> + status = "okay"; >> + }; >> + > > And UARTs. > > Let me know if i'm misunderstanding dts/dtsi split but looking at some > of the other SoCs this seems inconsistent to me. It is likely to be true, that technically these are all part of the SoC. By examining the hardware, there are no external chips (on either base or main board) that looks capable of handling such functions: https://plus.google.com/photos/103371465418643926605/albums/5820634595801767953 I made the split with some consideration to other MOXA ART machines, that they can be added as a separate file including the same dtsi: MOXA ART hardware examples: UC-7112/UC-7110: "SD slot (UC-7112, and UC-7112 Plus only)": http://www.moxa.com/product/UC-7112_UC-7110.htm IA241: "64 MB RAM": http://www.moxa.com/product/IA241_IA240.htm UC-7101-LX: "One 10/100 Mbps Ethernet port": http://www.moxa.com/product/UC-7101-LX.htm UC-7112-LX has 32 MB RAM and two ethernet ports. This is why I think MAC is good as is, RAM should move out from SoC? I don't know if they all have a debug UART (I only have access to UC-7112-LX), and it's not obvious in specifications. UART can possibly be moved into SoC as you say. In cases where SD slot is missing but the register remains in the SoC, how is that normally handled? Regards, Jonas ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files 2013-12-16 20:05 ` Jonas Jensen (?) @ 2013-12-16 23:53 ` Peter Crosthwaite -1 siblings, 0 replies; 44+ messages in thread From: Peter Crosthwaite @ 2013-12-16 23:53 UTC (permalink / raw) To: Jonas Jensen Cc: linux-arm-kernel, linux-kernel, devicetree-discuss, arm, Russell King - ARM Linux, Arnd Bergmann, Olof Johansson, devicetree, Soren Brinkmann On Tue, Dec 17, 2013 at 6:05 AM, Jonas Jensen <jonas.jensen@gmail.com> wrote: > On 15 December 2013 05:27, Peter Crosthwaite > <peter.crosthwaite@xilinx.com> wrote: >>> + sdhci: sdhci@98e00000 { >>> + compatible = "moxa,moxart-sdhci"; >>> + reg = <0x98e00000 0x5C>; >>> + interrupts = <5 0>; >>> + clocks = <&clk_apb>; >>> + dmas = <&dma 5>, >>> + <&dma 5>; >>> + dma-names = "tx", "rx"; >>> + }; >> >> Is your SDHCI really implemented on the board level? The fact that its >> reg property is within the same as the SoC range (for your dtsi) >> suggests the SDHCI is part of the SoC and should perhaps be in the >> dtsi? > >>> + mac1: mac@92000000 { >>> + compatible = "moxa,moxart-mac"; >>> + reg = <0x92000000 0x90>; >>> + interrupts = <27 0>; >>> + phy-handle = <ðphy1>; >>> + phy-mode = "mii"; >>> + }; >> >> Same for MACs. > >>> + >>> + uart0: uart@98200000 { >>> + compatible = "ns16550a"; >>> + reg = <0x98200000 0x20>; >>> + interrupts = <31 8>; >>> + reg-shift = <2>; >>> + reg-io-width = <4>; >>> + clock-frequency = <14745600>; >>> + status = "okay"; >>> + }; >>> + >> >> And UARTs. >> >> Let me know if i'm misunderstanding dts/dtsi split but looking at some >> of the other SoCs this seems inconsistent to me. > > > It is likely to be true, that technically these are all part of the > SoC. By examining the hardware, there are no external chips (on either > base or main board) that looks capable of handling such functions: > > https://plus.google.com/photos/103371465418643926605/albums/5820634595801767953 > > I made the split with some consideration to other MOXA ART machines, > that they can be added as a separate file including the same dtsi: > > MOXA ART hardware examples: > > UC-7112/UC-7110: "SD slot (UC-7112, and UC-7112 Plus only)": > http://www.moxa.com/product/UC-7112_UC-7110.htm > > IA241: "64 MB RAM": > http://www.moxa.com/product/IA241_IA240.htm > > UC-7101-LX: "One 10/100 Mbps Ethernet port": > http://www.moxa.com/product/UC-7101-LX.htm > > > UC-7112-LX has 32 MB RAM and two ethernet ports. This is why I think > MAC is good as is, RAM should move out from SoC? > > I don't know if they all have a debug UART (I only have access to > UC-7112-LX), and it's not obvious in specifications. UART can possibly > be moved into SoC as you say. > I think its going to all be in the SoC. Having it board level would mean you have a system bus as copper which is not very SoC like (at least for UART anyway). > In cases where SD slot is missing but the register remains in the SoC, > how is that normally handled? > Soren Brinkmann's recent addition of ethernet to the Zynq SoC illustrates the concept for a MAC. The two MACs are added to the shared dtsi but disabled. The board level dts then enables it for the one which is board populated: https://lkml.org/lkml/2013/12/11/434 I think its generally applicable to your SD MAC and UART cases. The tegra20 dtsi illustrates the status = "disabled" concept specifically for SDHCI. Regards, Peter > > Regards, > Jonas > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files @ 2013-12-16 23:53 ` Peter Crosthwaite 0 siblings, 0 replies; 44+ messages in thread From: Peter Crosthwaite @ 2013-12-16 23:53 UTC (permalink / raw) To: linux-arm-kernel On Tue, Dec 17, 2013 at 6:05 AM, Jonas Jensen <jonas.jensen@gmail.com> wrote: > On 15 December 2013 05:27, Peter Crosthwaite > <peter.crosthwaite@xilinx.com> wrote: >>> + sdhci: sdhci at 98e00000 { >>> + compatible = "moxa,moxart-sdhci"; >>> + reg = <0x98e00000 0x5C>; >>> + interrupts = <5 0>; >>> + clocks = <&clk_apb>; >>> + dmas = <&dma 5>, >>> + <&dma 5>; >>> + dma-names = "tx", "rx"; >>> + }; >> >> Is your SDHCI really implemented on the board level? The fact that its >> reg property is within the same as the SoC range (for your dtsi) >> suggests the SDHCI is part of the SoC and should perhaps be in the >> dtsi? > >>> + mac1: mac at 92000000 { >>> + compatible = "moxa,moxart-mac"; >>> + reg = <0x92000000 0x90>; >>> + interrupts = <27 0>; >>> + phy-handle = <ðphy1>; >>> + phy-mode = "mii"; >>> + }; >> >> Same for MACs. > >>> + >>> + uart0: uart at 98200000 { >>> + compatible = "ns16550a"; >>> + reg = <0x98200000 0x20>; >>> + interrupts = <31 8>; >>> + reg-shift = <2>; >>> + reg-io-width = <4>; >>> + clock-frequency = <14745600>; >>> + status = "okay"; >>> + }; >>> + >> >> And UARTs. >> >> Let me know if i'm misunderstanding dts/dtsi split but looking at some >> of the other SoCs this seems inconsistent to me. > > > It is likely to be true, that technically these are all part of the > SoC. By examining the hardware, there are no external chips (on either > base or main board) that looks capable of handling such functions: > > https://plus.google.com/photos/103371465418643926605/albums/5820634595801767953 > > I made the split with some consideration to other MOXA ART machines, > that they can be added as a separate file including the same dtsi: > > MOXA ART hardware examples: > > UC-7112/UC-7110: "SD slot (UC-7112, and UC-7112 Plus only)": > http://www.moxa.com/product/UC-7112_UC-7110.htm > > IA241: "64 MB RAM": > http://www.moxa.com/product/IA241_IA240.htm > > UC-7101-LX: "One 10/100 Mbps Ethernet port": > http://www.moxa.com/product/UC-7101-LX.htm > > > UC-7112-LX has 32 MB RAM and two ethernet ports. This is why I think > MAC is good as is, RAM should move out from SoC? > > I don't know if they all have a debug UART (I only have access to > UC-7112-LX), and it's not obvious in specifications. UART can possibly > be moved into SoC as you say. > I think its going to all be in the SoC. Having it board level would mean you have a system bus as copper which is not very SoC like (at least for UART anyway). > In cases where SD slot is missing but the register remains in the SoC, > how is that normally handled? > Soren Brinkmann's recent addition of ethernet to the Zynq SoC illustrates the concept for a MAC. The two MACs are added to the shared dtsi but disabled. The board level dts then enables it for the one which is board populated: https://lkml.org/lkml/2013/12/11/434 I think its generally applicable to your SD MAC and UART cases. The tegra20 dtsi illustrates the status = "disabled" concept specifically for SDHCI. Regards, Peter > > Regards, > Jonas > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files @ 2013-12-16 23:53 ` Peter Crosthwaite 0 siblings, 0 replies; 44+ messages in thread From: Peter Crosthwaite @ 2013-12-16 23:53 UTC (permalink / raw) To: Jonas Jensen Cc: linux-arm-kernel, linux-kernel, devicetree-discuss, arm, Russell King - ARM Linux, Arnd Bergmann, Olof Johansson, devicetree, Soren Brinkmann On Tue, Dec 17, 2013 at 6:05 AM, Jonas Jensen <jonas.jensen@gmail.com> wrote: > On 15 December 2013 05:27, Peter Crosthwaite > <peter.crosthwaite@xilinx.com> wrote: >>> + sdhci: sdhci@98e00000 { >>> + compatible = "moxa,moxart-sdhci"; >>> + reg = <0x98e00000 0x5C>; >>> + interrupts = <5 0>; >>> + clocks = <&clk_apb>; >>> + dmas = <&dma 5>, >>> + <&dma 5>; >>> + dma-names = "tx", "rx"; >>> + }; >> >> Is your SDHCI really implemented on the board level? The fact that its >> reg property is within the same as the SoC range (for your dtsi) >> suggests the SDHCI is part of the SoC and should perhaps be in the >> dtsi? > >>> + mac1: mac@92000000 { >>> + compatible = "moxa,moxart-mac"; >>> + reg = <0x92000000 0x90>; >>> + interrupts = <27 0>; >>> + phy-handle = <ðphy1>; >>> + phy-mode = "mii"; >>> + }; >> >> Same for MACs. > >>> + >>> + uart0: uart@98200000 { >>> + compatible = "ns16550a"; >>> + reg = <0x98200000 0x20>; >>> + interrupts = <31 8>; >>> + reg-shift = <2>; >>> + reg-io-width = <4>; >>> + clock-frequency = <14745600>; >>> + status = "okay"; >>> + }; >>> + >> >> And UARTs. >> >> Let me know if i'm misunderstanding dts/dtsi split but looking at some >> of the other SoCs this seems inconsistent to me. > > > It is likely to be true, that technically these are all part of the > SoC. By examining the hardware, there are no external chips (on either > base or main board) that looks capable of handling such functions: > > https://plus.google.com/photos/103371465418643926605/albums/5820634595801767953 > > I made the split with some consideration to other MOXA ART machines, > that they can be added as a separate file including the same dtsi: > > MOXA ART hardware examples: > > UC-7112/UC-7110: "SD slot (UC-7112, and UC-7112 Plus only)": > http://www.moxa.com/product/UC-7112_UC-7110.htm > > IA241: "64 MB RAM": > http://www.moxa.com/product/IA241_IA240.htm > > UC-7101-LX: "One 10/100 Mbps Ethernet port": > http://www.moxa.com/product/UC-7101-LX.htm > > > UC-7112-LX has 32 MB RAM and two ethernet ports. This is why I think > MAC is good as is, RAM should move out from SoC? > > I don't know if they all have a debug UART (I only have access to > UC-7112-LX), and it's not obvious in specifications. UART can possibly > be moved into SoC as you say. > I think its going to all be in the SoC. Having it board level would mean you have a system bus as copper which is not very SoC like (at least for UART anyway). > In cases where SD slot is missing but the register remains in the SoC, > how is that normally handled? > Soren Brinkmann's recent addition of ethernet to the Zynq SoC illustrates the concept for a MAC. The two MACs are added to the shared dtsi but disabled. The board level dts then enables it for the one which is board populated: https://lkml.org/lkml/2013/12/11/434 I think its generally applicable to your SD MAC and UART cases. The tegra20 dtsi illustrates the status = "disabled" concept specifically for SDHCI. Regards, Peter > > Regards, > Jonas > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files 2013-12-16 23:53 ` Peter Crosthwaite (?) @ 2013-12-17 0:09 ` Sören Brinkmann -1 siblings, 0 replies; 44+ messages in thread From: Sören Brinkmann @ 2013-12-17 0:09 UTC (permalink / raw) To: Peter Crosthwaite Cc: Jonas Jensen, linux-arm-kernel, linux-kernel, devicetree-discuss, arm, Russell King - ARM Linux, Arnd Bergmann, Olof Johansson, devicetree Hi, On Tue, Dec 17, 2013 at 09:53:27AM +1000, Peter Crosthwaite wrote: > On Tue, Dec 17, 2013 at 6:05 AM, Jonas Jensen <jonas.jensen@gmail.com> wrote: > > On 15 December 2013 05:27, Peter Crosthwaite > > <peter.crosthwaite@xilinx.com> wrote: > >>> + sdhci: sdhci@98e00000 { > >>> + compatible = "moxa,moxart-sdhci"; > >>> + reg = <0x98e00000 0x5C>; > >>> + interrupts = <5 0>; > >>> + clocks = <&clk_apb>; > >>> + dmas = <&dma 5>, > >>> + <&dma 5>; > >>> + dma-names = "tx", "rx"; > >>> + }; > >> > >> Is your SDHCI really implemented on the board level? The fact that its > >> reg property is within the same as the SoC range (for your dtsi) > >> suggests the SDHCI is part of the SoC and should perhaps be in the > >> dtsi? > > > >>> + mac1: mac@92000000 { > >>> + compatible = "moxa,moxart-mac"; > >>> + reg = <0x92000000 0x90>; > >>> + interrupts = <27 0>; > >>> + phy-handle = <ðphy1>; > >>> + phy-mode = "mii"; > >>> + }; > >> > >> Same for MACs. > > > >>> + > >>> + uart0: uart@98200000 { > >>> + compatible = "ns16550a"; > >>> + reg = <0x98200000 0x20>; > >>> + interrupts = <31 8>; > >>> + reg-shift = <2>; > >>> + reg-io-width = <4>; > >>> + clock-frequency = <14745600>; > >>> + status = "okay"; > >>> + }; > >>> + > >> > >> And UARTs. > >> > >> Let me know if i'm misunderstanding dts/dtsi split but looking at some > >> of the other SoCs this seems inconsistent to me. > > > > > > It is likely to be true, that technically these are all part of the > > SoC. By examining the hardware, there are no external chips (on either > > base or main board) that looks capable of handling such functions: > > > > https://plus.google.com/photos/103371465418643926605/albums/5820634595801767953 > > > > I made the split with some consideration to other MOXA ART machines, > > that they can be added as a separate file including the same dtsi: > > > > MOXA ART hardware examples: > > > > UC-7112/UC-7110: "SD slot (UC-7112, and UC-7112 Plus only)": > > http://www.moxa.com/product/UC-7112_UC-7110.htm > > > > IA241: "64 MB RAM": > > http://www.moxa.com/product/IA241_IA240.htm > > > > UC-7101-LX: "One 10/100 Mbps Ethernet port": > > http://www.moxa.com/product/UC-7101-LX.htm > > > > > > UC-7112-LX has 32 MB RAM and two ethernet ports. This is why I think > > MAC is good as is, RAM should move out from SoC? > > > > I don't know if they all have a debug UART (I only have access to > > UC-7112-LX), and it's not obvious in specifications. UART can possibly > > be moved into SoC as you say. > > > > I think its going to all be in the SoC. Having it board level would > mean you have a system bus as copper which is not very SoC like (at > least for UART anyway). > > > In cases where SD slot is missing but the register remains in the SoC, > > how is that normally handled? > > > > Soren Brinkmann's recent addition of ethernet to the Zynq SoC > illustrates the concept for a MAC. The two MACs are added to the > shared dtsi but disabled. The board level dts then enables it for the > one which is board populated: > > https://lkml.org/lkml/2013/12/11/434 > > I think its generally applicable to your SD MAC and UART cases. The > tegra20 dtsi illustrates the status = "disabled" concept specifically > for SDHCI. I think it's less SoC vs. non-SoC parts. There are even platforms using more than two levels of includes. IMHO, it's just to avoid duplication. So, stuff that doesn't change ever goes into the lowest level dtsi and then you work your way up. That way people bringing up a board with your part just have to enable the correct set of peripherals and provide board specific properties. You don't want everybody to repeat the same memory map (reg properties), clock references, etc. over and over again in all dtses that use a specific SoC, right? Long story short: I separate by: Properties that are statically defined by the SOC => dtsi. Properties that are defined by the PCB design => board level dts. Sören ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files @ 2013-12-17 0:09 ` Sören Brinkmann 0 siblings, 0 replies; 44+ messages in thread From: Sören Brinkmann @ 2013-12-17 0:09 UTC (permalink / raw) To: linux-arm-kernel Hi, On Tue, Dec 17, 2013 at 09:53:27AM +1000, Peter Crosthwaite wrote: > On Tue, Dec 17, 2013 at 6:05 AM, Jonas Jensen <jonas.jensen@gmail.com> wrote: > > On 15 December 2013 05:27, Peter Crosthwaite > > <peter.crosthwaite@xilinx.com> wrote: > >>> + sdhci: sdhci at 98e00000 { > >>> + compatible = "moxa,moxart-sdhci"; > >>> + reg = <0x98e00000 0x5C>; > >>> + interrupts = <5 0>; > >>> + clocks = <&clk_apb>; > >>> + dmas = <&dma 5>, > >>> + <&dma 5>; > >>> + dma-names = "tx", "rx"; > >>> + }; > >> > >> Is your SDHCI really implemented on the board level? The fact that its > >> reg property is within the same as the SoC range (for your dtsi) > >> suggests the SDHCI is part of the SoC and should perhaps be in the > >> dtsi? > > > >>> + mac1: mac at 92000000 { > >>> + compatible = "moxa,moxart-mac"; > >>> + reg = <0x92000000 0x90>; > >>> + interrupts = <27 0>; > >>> + phy-handle = <ðphy1>; > >>> + phy-mode = "mii"; > >>> + }; > >> > >> Same for MACs. > > > >>> + > >>> + uart0: uart at 98200000 { > >>> + compatible = "ns16550a"; > >>> + reg = <0x98200000 0x20>; > >>> + interrupts = <31 8>; > >>> + reg-shift = <2>; > >>> + reg-io-width = <4>; > >>> + clock-frequency = <14745600>; > >>> + status = "okay"; > >>> + }; > >>> + > >> > >> And UARTs. > >> > >> Let me know if i'm misunderstanding dts/dtsi split but looking at some > >> of the other SoCs this seems inconsistent to me. > > > > > > It is likely to be true, that technically these are all part of the > > SoC. By examining the hardware, there are no external chips (on either > > base or main board) that looks capable of handling such functions: > > > > https://plus.google.com/photos/103371465418643926605/albums/5820634595801767953 > > > > I made the split with some consideration to other MOXA ART machines, > > that they can be added as a separate file including the same dtsi: > > > > MOXA ART hardware examples: > > > > UC-7112/UC-7110: "SD slot (UC-7112, and UC-7112 Plus only)": > > http://www.moxa.com/product/UC-7112_UC-7110.htm > > > > IA241: "64 MB RAM": > > http://www.moxa.com/product/IA241_IA240.htm > > > > UC-7101-LX: "One 10/100 Mbps Ethernet port": > > http://www.moxa.com/product/UC-7101-LX.htm > > > > > > UC-7112-LX has 32 MB RAM and two ethernet ports. This is why I think > > MAC is good as is, RAM should move out from SoC? > > > > I don't know if they all have a debug UART (I only have access to > > UC-7112-LX), and it's not obvious in specifications. UART can possibly > > be moved into SoC as you say. > > > > I think its going to all be in the SoC. Having it board level would > mean you have a system bus as copper which is not very SoC like (at > least for UART anyway). > > > In cases where SD slot is missing but the register remains in the SoC, > > how is that normally handled? > > > > Soren Brinkmann's recent addition of ethernet to the Zynq SoC > illustrates the concept for a MAC. The two MACs are added to the > shared dtsi but disabled. The board level dts then enables it for the > one which is board populated: > > https://lkml.org/lkml/2013/12/11/434 > > I think its generally applicable to your SD MAC and UART cases. The > tegra20 dtsi illustrates the status = "disabled" concept specifically > for SDHCI. I think it's less SoC vs. non-SoC parts. There are even platforms using more than two levels of includes. IMHO, it's just to avoid duplication. So, stuff that doesn't change ever goes into the lowest level dtsi and then you work your way up. That way people bringing up a board with your part just have to enable the correct set of peripherals and provide board specific properties. You don't want everybody to repeat the same memory map (reg properties), clock references, etc. over and over again in all dtses that use a specific SoC, right? Long story short: I separate by: Properties that are statically defined by the SOC => dtsi. Properties that are defined by the PCB design => board level dts. S?ren ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files @ 2013-12-17 0:09 ` Sören Brinkmann 0 siblings, 0 replies; 44+ messages in thread From: Sören Brinkmann @ 2013-12-17 0:09 UTC (permalink / raw) To: Peter Crosthwaite Cc: Jonas Jensen, linux-arm-kernel, linux-kernel, devicetree-discuss, arm, Russell King - ARM Linux, Arnd Bergmann, Olof Johansson, devicetree Hi, On Tue, Dec 17, 2013 at 09:53:27AM +1000, Peter Crosthwaite wrote: > On Tue, Dec 17, 2013 at 6:05 AM, Jonas Jensen <jonas.jensen@gmail.com> wrote: > > On 15 December 2013 05:27, Peter Crosthwaite > > <peter.crosthwaite@xilinx.com> wrote: > >>> + sdhci: sdhci@98e00000 { > >>> + compatible = "moxa,moxart-sdhci"; > >>> + reg = <0x98e00000 0x5C>; > >>> + interrupts = <5 0>; > >>> + clocks = <&clk_apb>; > >>> + dmas = <&dma 5>, > >>> + <&dma 5>; > >>> + dma-names = "tx", "rx"; > >>> + }; > >> > >> Is your SDHCI really implemented on the board level? The fact that its > >> reg property is within the same as the SoC range (for your dtsi) > >> suggests the SDHCI is part of the SoC and should perhaps be in the > >> dtsi? > > > >>> + mac1: mac@92000000 { > >>> + compatible = "moxa,moxart-mac"; > >>> + reg = <0x92000000 0x90>; > >>> + interrupts = <27 0>; > >>> + phy-handle = <ðphy1>; > >>> + phy-mode = "mii"; > >>> + }; > >> > >> Same for MACs. > > > >>> + > >>> + uart0: uart@98200000 { > >>> + compatible = "ns16550a"; > >>> + reg = <0x98200000 0x20>; > >>> + interrupts = <31 8>; > >>> + reg-shift = <2>; > >>> + reg-io-width = <4>; > >>> + clock-frequency = <14745600>; > >>> + status = "okay"; > >>> + }; > >>> + > >> > >> And UARTs. > >> > >> Let me know if i'm misunderstanding dts/dtsi split but looking at some > >> of the other SoCs this seems inconsistent to me. > > > > > > It is likely to be true, that technically these are all part of the > > SoC. By examining the hardware, there are no external chips (on either > > base or main board) that looks capable of handling such functions: > > > > https://plus.google.com/photos/103371465418643926605/albums/5820634595801767953 > > > > I made the split with some consideration to other MOXA ART machines, > > that they can be added as a separate file including the same dtsi: > > > > MOXA ART hardware examples: > > > > UC-7112/UC-7110: "SD slot (UC-7112, and UC-7112 Plus only)": > > http://www.moxa.com/product/UC-7112_UC-7110.htm > > > > IA241: "64 MB RAM": > > http://www.moxa.com/product/IA241_IA240.htm > > > > UC-7101-LX: "One 10/100 Mbps Ethernet port": > > http://www.moxa.com/product/UC-7101-LX.htm > > > > > > UC-7112-LX has 32 MB RAM and two ethernet ports. This is why I think > > MAC is good as is, RAM should move out from SoC? > > > > I don't know if they all have a debug UART (I only have access to > > UC-7112-LX), and it's not obvious in specifications. UART can possibly > > be moved into SoC as you say. > > > > I think its going to all be in the SoC. Having it board level would > mean you have a system bus as copper which is not very SoC like (at > least for UART anyway). > > > In cases where SD slot is missing but the register remains in the SoC, > > how is that normally handled? > > > > Soren Brinkmann's recent addition of ethernet to the Zynq SoC > illustrates the concept for a MAC. The two MACs are added to the > shared dtsi but disabled. The board level dts then enables it for the > one which is board populated: > > https://lkml.org/lkml/2013/12/11/434 > > I think its generally applicable to your SD MAC and UART cases. The > tegra20 dtsi illustrates the status = "disabled" concept specifically > for SDHCI. I think it's less SoC vs. non-SoC parts. There are even platforms using more than two levels of includes. IMHO, it's just to avoid duplication. So, stuff that doesn't change ever goes into the lowest level dtsi and then you work your way up. That way people bringing up a board with your part just have to enable the correct set of peripherals and provide board specific properties. You don't want everybody to repeat the same memory map (reg properties), clock references, etc. over and over again in all dtses that use a specific SoC, right? Long story short: I separate by: Properties that are statically defined by the SOC => dtsi. Properties that are defined by the PCB design => board level dts. Sören ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files 2013-12-13 14:33 ` Jonas Jensen @ 2013-12-22 19:49 ` Olof Johansson -1 siblings, 0 replies; 44+ messages in thread From: Olof Johansson @ 2013-12-22 19:49 UTC (permalink / raw) To: Jonas Jensen Cc: linux-arm-kernel, linux-kernel, devicetree-discuss, arm, linux, arnd Hi, On Fri, Dec 13, 2013 at 03:33:08PM +0100, Jonas Jensen wrote: > Add a generic (dtsi) include file for MOXA ART SoCs. > > Also add a file for UC-7112-LX. > > Signed-off-by: Jonas Jensen <jonas.jensen@gmail.com> Applied to next/dt. Again, please follow up with some of the comments -- in particular the requests to keep the SoC IP blocks in the dtsi file and only enable/disable or amend the entries in the per-board file depending on actual board configuration. But I didn't see a reason to not merge it while that's being cleaned up, etc. -Olof ^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files @ 2013-12-22 19:49 ` Olof Johansson 0 siblings, 0 replies; 44+ messages in thread From: Olof Johansson @ 2013-12-22 19:49 UTC (permalink / raw) To: linux-arm-kernel Hi, On Fri, Dec 13, 2013 at 03:33:08PM +0100, Jonas Jensen wrote: > Add a generic (dtsi) include file for MOXA ART SoCs. > > Also add a file for UC-7112-LX. > > Signed-off-by: Jonas Jensen <jonas.jensen@gmail.com> Applied to next/dt. Again, please follow up with some of the comments -- in particular the requests to keep the SoC IP blocks in the dtsi file and only enable/disable or amend the entries in the per-board file depending on actual board configuration. But I didn't see a reason to not merge it while that's being cleaned up, etc. -Olof ^ permalink raw reply [flat|nested] 44+ messages in thread
end of thread, other threads:[~2013-12-22 19:51 UTC | newest] Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-12-13 14:33 [PATCH v4 0/2] ARM: mach-moxart: add MOXA ART SoC support Jonas Jensen 2013-12-13 14:33 ` Jonas Jensen 2013-12-13 14:33 ` [PATCH v4 1/2] ARM: mach-moxart: add MOXA ART SoC platform files Jonas Jensen 2013-12-13 14:33 ` Jonas Jensen [not found] ` <1386945188-8316-2-git-send-email-jonas.jensen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2013-12-13 14:38 ` Fwd: " Jonas Jensen 2013-12-13 16:17 ` Arnd Bergmann 2013-12-13 16:17 ` Arnd Bergmann 2013-12-13 17:23 ` Jonas Jensen 2013-12-13 17:23 ` Jonas Jensen 2013-12-13 19:07 ` Guenter Roeck 2013-12-13 19:07 ` Guenter Roeck 2013-12-14 4:01 ` Arnd Bergmann 2013-12-14 4:01 ` Arnd Bergmann 2013-12-14 8:32 ` Jonas Jensen 2013-12-14 8:32 ` Jonas Jensen 2013-12-14 15:50 ` Guenter Roeck 2013-12-14 15:50 ` Guenter Roeck 2013-12-14 16:26 ` Jonas Jensen 2013-12-14 16:26 ` Jonas Jensen 2013-12-14 18:50 ` Arnd Bergmann 2013-12-14 18:50 ` Arnd Bergmann 2013-12-14 20:14 ` Guenter Roeck 2013-12-14 20:14 ` Guenter Roeck 2013-12-15 0:21 ` Arnd Bergmann 2013-12-15 0:21 ` Arnd Bergmann 2013-12-22 19:48 ` Olof Johansson 2013-12-22 19:48 ` Olof Johansson 2013-12-13 14:33 ` [PATCH v4 2/2] ARM: mach-moxart: add MOXA ART SoC device tree files Jonas Jensen 2013-12-13 14:33 ` Jonas Jensen [not found] ` <1386945188-8316-3-git-send-email-jonas.jensen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2013-12-13 14:39 ` Fwd: " Jonas Jensen 2013-12-13 16:17 ` Arnd Bergmann 2013-12-13 16:17 ` Arnd Bergmann 2013-12-15 4:27 ` Peter Crosthwaite 2013-12-15 4:27 ` Peter Crosthwaite 2013-12-16 20:05 ` Jonas Jensen 2013-12-16 20:05 ` Jonas Jensen 2013-12-16 23:53 ` Peter Crosthwaite 2013-12-16 23:53 ` Peter Crosthwaite 2013-12-16 23:53 ` Peter Crosthwaite 2013-12-17 0:09 ` Sören Brinkmann 2013-12-17 0:09 ` Sören Brinkmann 2013-12-17 0:09 ` Sören Brinkmann 2013-12-22 19:49 ` Olof Johansson 2013-12-22 19:49 ` Olof Johansson
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.