* [v9, 0/7] Fix eSDHC host version register bug @ 2016-05-04 3:24 Yangbo Lu 2016-05-04 3:24 ` [v9, 2/7] ARM64: dts: ls2080a: add device configuration node Yangbo Lu ` (2 more replies) 0 siblings, 3 replies; 12+ messages in thread From: Yangbo Lu @ 2016-05-04 3:24 UTC (permalink / raw) To: linux-mmc-u79uwXL29TY76Z2rM5mHXA, linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-clk-u79uwXL29TY76Z2rM5mHXA, linux-i2c-u79uwXL29TY76Z2rM5mHXA, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, netdev-u79uwXL29TY76Z2rM5mHXA Cc: Mark Rutland, ulf.hansson-QSEj5FYQhm4dnm+yROfE0A, Russell King, Yangbo Lu, Bhupesh Sharma, Santosh Shilimkar, Jochen Friedrich, leoyang.li-3arQi8VN3Tc, Scott Wood, Rob Herring, Claudiu Manoil, Kumar Gala, xiaobo.xie-3arQi8VN3Tc, Qiang Zhao This patchset is used to fix a host version register bug in the T4240-R1.0-R2.0 eSDHC controller. To get the SoC version and revision, it's needed to add the GUTS driver to access the global utilities registers. So, the first four patches are to add the GUTS driver. The following patches except the updating MAINTAINERS patch are to enable GUTS driver support to get SVR in eSDHC driver and fix host version for T4240. Yangbo Lu (7): Documentation: DT: update Freescale DCFG compatible ARM64: dts: ls2080a: add device configuration node soc: fsl: add GUTS driver for QorIQ platforms dt: move guts devicetree doc out of powerpc directory powerpc/fsl: move mpc85xx.h to include/linux/fsl MAINTAINERS: add entry for Freescale SoC driver mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0 Documentation/devicetree/bindings/arm/fsl.txt | 6 +- .../bindings/{powerpc => soc}/fsl/guts.txt | 3 + MAINTAINERS | 11 +- arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi | 6 + arch/powerpc/kernel/cpu_setup_fsl_booke.S | 2 +- drivers/clk/clk-qoriq.c | 3 +- drivers/i2c/busses/i2c-mpc.c | 2 +- drivers/iommu/fsl_pamu.c | 3 +- drivers/mmc/host/Kconfig | 1 + drivers/mmc/host/sdhci-of-esdhc.c | 23 ++++ drivers/net/ethernet/freescale/gianfar.c | 2 +- drivers/soc/Kconfig | 2 +- drivers/soc/fsl/Kconfig | 8 ++ drivers/soc/fsl/Makefile | 1 + drivers/soc/fsl/guts.c | 119 +++++++++++++++++++ include/linux/fsl/guts.h | 126 +++++++++++++-------- .../asm/mpc85xx.h => include/linux/fsl/svr.h | 4 +- 17 files changed, 262 insertions(+), 60 deletions(-) rename Documentation/devicetree/bindings/{powerpc => soc}/fsl/guts.txt (91%) create mode 100644 drivers/soc/fsl/Kconfig create mode 100644 drivers/soc/fsl/guts.c rename arch/powerpc/include/asm/mpc85xx.h => include/linux/fsl/svr.h (97%) -- 2.1.0.27.g96db324 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [v9, 2/7] ARM64: dts: ls2080a: add device configuration node 2016-05-04 3:24 [v9, 0/7] Fix eSDHC host version register bug Yangbo Lu @ 2016-05-04 3:24 ` Yangbo Lu 2016-05-04 3:24 ` [v9, 3/7] soc: fsl: add GUTS driver for QorIQ platforms Yangbo Lu [not found] ` <1462332274-13744-1-git-send-email-yangbo.lu-3arQi8VN3Tc@public.gmane.org> 2 siblings, 0 replies; 12+ messages in thread From: Yangbo Lu @ 2016-05-04 3:24 UTC (permalink / raw) To: linux-mmc, linuxppc-dev, devicetree, linux-arm-kernel, linux-kernel, linux-clk, linux-i2c, iommu, netdev Cc: ulf.hansson, Scott Wood, Mark Rutland, Rob Herring, Russell King, Jochen Friedrich, Joerg Roedel, Claudiu Manoil, Bhupesh Sharma, Qiang Zhao, Kumar Gala, Santosh Shilimkar, leoyang.li, xiaobo.xie, Yangbo Lu Add the dts node for device configuration unit that provides general purpose configuration and status for the device. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> Acked-by: Scott Wood <oss@buserror.net> --- Changes for v5: - Added this patch Changes for v6: - None Changes for v7: - None Changes for v8: - Added 'Acked-by: Scott Wood' Changes for v9: - None --- arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi index 9d746c6..8724cf1 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi @@ -191,6 +191,12 @@ clocks = <&sysclk>; }; + dcfg: dcfg@1e00000 { + compatible = "fsl,ls2080a-dcfg", "syscon"; + reg = <0x0 0x1e00000 0x0 0x10000>; + little-endian; + }; + serial0: serial@21c0500 { compatible = "fsl,ns16550", "ns16550a"; reg = <0x0 0x21c0500 0x0 0x100>; -- 2.1.0.27.g96db324 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [v9, 3/7] soc: fsl: add GUTS driver for QorIQ platforms 2016-05-04 3:24 [v9, 0/7] Fix eSDHC host version register bug Yangbo Lu 2016-05-04 3:24 ` [v9, 2/7] ARM64: dts: ls2080a: add device configuration node Yangbo Lu @ 2016-05-04 3:24 ` Yangbo Lu [not found] ` <1462332274-13744-1-git-send-email-yangbo.lu-3arQi8VN3Tc@public.gmane.org> 2 siblings, 0 replies; 12+ messages in thread From: Yangbo Lu @ 2016-05-04 3:24 UTC (permalink / raw) To: linux-mmc, linuxppc-dev, devicetree, linux-arm-kernel, linux-kernel, linux-clk, linux-i2c, iommu, netdev Cc: ulf.hansson, Scott Wood, Mark Rutland, Rob Herring, Russell King, Jochen Friedrich, Joerg Roedel, Claudiu Manoil, Bhupesh Sharma, Qiang Zhao, Kumar Gala, Santosh Shilimkar, leoyang.li, xiaobo.xie, Yangbo Lu The global utilities block controls power management, I/O device enabling, power-onreset(POR) configuration monitoring, alternate function selection for multiplexed signals,and clock control. This patch adds GUTS driver to manage and access global utilities block. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> Acked-by: Scott Wood <oss@buserror.net> --- Changes for v4: - Added this patch Changes for v5: - Modified copyright info - Changed MODULE_LICENSE to GPL - Changed EXPORT_SYMBOL_GPL to EXPORT_SYMBOL - Made FSL_GUTS user-invisible - Added a complete compatible list for GUTS - Stored guts info in file-scope variable - Added mfspr() getting SVR - Redefined GUTS APIs - Called fsl_guts_init rather than using platform driver - Removed useless parentheses - Removed useless 'extern' key words Changes for v6: - Made guts thread safe in fsl_guts_init Changes for v7: - Removed 'ifdef' for function declaration in guts.h Changes for v8: - Fixes lines longer than 80 characters checkpatch issue - Added 'Acked-by: Scott Wood' Changes for v9: - None --- drivers/soc/Kconfig | 2 +- drivers/soc/fsl/Kconfig | 8 +++ drivers/soc/fsl/Makefile | 1 + drivers/soc/fsl/guts.c | 119 ++++++++++++++++++++++++++++++++++++++++++++ include/linux/fsl/guts.h | 126 +++++++++++++++++++++++++++++------------------ 5 files changed, 207 insertions(+), 49 deletions(-) create mode 100644 drivers/soc/fsl/Kconfig create mode 100644 drivers/soc/fsl/guts.c diff --git a/drivers/soc/Kconfig b/drivers/soc/Kconfig index cb58ef0..7106463 100644 --- a/drivers/soc/Kconfig +++ b/drivers/soc/Kconfig @@ -2,7 +2,7 @@ menu "SOC (System On Chip) specific Drivers" source "drivers/soc/bcm/Kconfig" source "drivers/soc/brcmstb/Kconfig" -source "drivers/soc/fsl/qe/Kconfig" +source "drivers/soc/fsl/Kconfig" source "drivers/soc/mediatek/Kconfig" source "drivers/soc/qcom/Kconfig" source "drivers/soc/rockchip/Kconfig" diff --git a/drivers/soc/fsl/Kconfig b/drivers/soc/fsl/Kconfig new file mode 100644 index 0000000..b313759 --- /dev/null +++ b/drivers/soc/fsl/Kconfig @@ -0,0 +1,8 @@ +# +# Freescale SOC drivers +# + +source "drivers/soc/fsl/qe/Kconfig" + +config FSL_GUTS + bool diff --git a/drivers/soc/fsl/Makefile b/drivers/soc/fsl/Makefile index 203307f..02afb7f 100644 --- a/drivers/soc/fsl/Makefile +++ b/drivers/soc/fsl/Makefile @@ -4,3 +4,4 @@ obj-$(CONFIG_QUICC_ENGINE) += qe/ obj-$(CONFIG_CPM) += qe/ +obj-$(CONFIG_FSL_GUTS) += guts.o diff --git a/drivers/soc/fsl/guts.c b/drivers/soc/fsl/guts.c new file mode 100644 index 0000000..fa155e6 --- /dev/null +++ b/drivers/soc/fsl/guts.c @@ -0,0 +1,119 @@ +/* + * Freescale QorIQ Platforms GUTS Driver + * + * Copyright (C) 2016 Freescale Semiconductor, Inc. + * + * 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. + */ + +#include <linux/io.h> +#include <linux/module.h> +#include <linux/slab.h> +#include <linux/mutex.h> +#include <linux/of_address.h> +#include <linux/of_platform.h> +#include <linux/fsl/guts.h> + +struct guts { + struct ccsr_guts __iomem *regs; + bool little_endian; +}; + +static struct guts *guts; +static DEFINE_MUTEX(guts_lock); + +u32 fsl_guts_get_svr(void) +{ + u32 svr = 0; + + if (!guts || !guts->regs) { +#ifdef CONFIG_PPC + svr = mfspr(SPRN_SVR); +#endif + return svr; + } + + if (guts->little_endian) + svr = ioread32(&guts->regs->svr); + else + svr = ioread32be(&guts->regs->svr); + + return svr; +} +EXPORT_SYMBOL(fsl_guts_get_svr); + +/* + * Table for matching compatible strings, for device tree + * guts node, for Freescale QorIQ SOCs. + */ +static const struct of_device_id guts_of_match[] = { + /* For T4 & B4 Series SOCs */ + { .compatible = "fsl,qoriq-device-config-1.0", }, + /* For P Series SOCs */ + { .compatible = "fsl,qoriq-device-config-2.0", }, + { .compatible = "fsl,p1010-guts", }, + { .compatible = "fsl,p1020-guts", }, + { .compatible = "fsl,p1021-guts", }, + { .compatible = "fsl,p1022-guts", }, + { .compatible = "fsl,p1023-guts", }, + { .compatible = "fsl,p2020-guts", }, + /* For BSC Series SOCs */ + { .compatible = "fsl,bsc9131-guts", }, + { .compatible = "fsl,bsc9132-guts", }, + /* For MPC85xx Series SOCs */ + { .compatible = "fsl,mpc8536-guts", }, + { .compatible = "fsl,mpc8544-guts", }, + { .compatible = "fsl,mpc8548-guts", }, + { .compatible = "fsl,mpc8568-guts", }, + { .compatible = "fsl,mpc8569-guts", }, + { .compatible = "fsl,mpc8572-guts", }, + /* For Layerscape Series SOCs */ + { .compatible = "fsl,ls1021a-dcfg", }, + { .compatible = "fsl,ls1043a-dcfg", }, + { .compatible = "fsl,ls2080a-dcfg", }, + {} +}; + +int fsl_guts_init(void) +{ + struct device_node *np; + int ret; + + mutex_lock(&guts_lock); + /* Initialize guts only once */ + if (guts) { + ret = guts->regs ? 0 : -ENOMEM; + goto out; + } + + np = of_find_matching_node(NULL, guts_of_match); + if (!np) { + ret = -ENODEV; + goto out; + } + + guts = kzalloc(sizeof(*guts), GFP_KERNEL); + if (!guts) { + ret = -ENOMEM; + goto out; + } + + guts->little_endian = of_property_read_bool(np, "little-endian"); + + guts->regs = of_iomap(np, 0); + if (!guts->regs) { + ret = -ENOMEM; + kfree(guts); + goto out; + } + + of_node_put(np); + ret = 0; +out: + mutex_unlock(&guts_lock); + return ret; +} +EXPORT_SYMBOL(fsl_guts_init); diff --git a/include/linux/fsl/guts.h b/include/linux/fsl/guts.h index 649e917..7e1e22b 100644 --- a/include/linux/fsl/guts.h +++ b/include/linux/fsl/guts.h @@ -29,83 +29,113 @@ * #ifdefs. */ struct ccsr_guts { - __be32 porpllsr; /* 0x.0000 - POR PLL Ratio Status Register */ - __be32 porbmsr; /* 0x.0004 - POR Boot Mode Status Register */ - __be32 porimpscr; /* 0x.0008 - POR I/O Impedance Status and Control Register */ - __be32 pordevsr; /* 0x.000c - POR I/O Device Status Register */ - __be32 pordbgmsr; /* 0x.0010 - POR Debug Mode Status Register */ - __be32 pordevsr2; /* 0x.0014 - POR device status register 2 */ + u32 porpllsr; /* 0x.0000 - POR PLL Ratio Status Register */ + u32 porbmsr; /* 0x.0004 - POR Boot Mode Status Register */ + u32 porimpscr; /* 0x.0008 - POR I/O Impedance Status and + * Control Register + */ + u32 pordevsr; /* 0x.000c - POR I/O Device Status Register */ + u32 pordbgmsr; /* 0x.0010 - POR Debug Mode Status Register */ + u32 pordevsr2; /* 0x.0014 - POR device status register 2 */ u8 res018[0x20 - 0x18]; - __be32 porcir; /* 0x.0020 - POR Configuration Information Register */ + u32 porcir; /* 0x.0020 - POR Configuration Information + * Register + */ u8 res024[0x30 - 0x24]; - __be32 gpiocr; /* 0x.0030 - GPIO Control Register */ + u32 gpiocr; /* 0x.0030 - GPIO Control Register */ u8 res034[0x40 - 0x34]; - __be32 gpoutdr; /* 0x.0040 - General-Purpose Output Data Register */ + u32 gpoutdr; /* 0x.0040 - General-Purpose Output Data + * Register + */ u8 res044[0x50 - 0x44]; - __be32 gpindr; /* 0x.0050 - General-Purpose Input Data Register */ + u32 gpindr; /* 0x.0050 - General-Purpose Input Data + * Register + */ u8 res054[0x60 - 0x54]; - __be32 pmuxcr; /* 0x.0060 - Alternate Function Signal Multiplex Control */ - __be32 pmuxcr2; /* 0x.0064 - Alternate function signal multiplex control 2 */ - __be32 dmuxcr; /* 0x.0068 - DMA Mux Control Register */ + u32 pmuxcr; /* 0x.0060 - Alternate Function Signal + * Multiplex Control + */ + u32 pmuxcr2; /* 0x.0064 - Alternate function signal + * multiplex control 2 + */ + u32 dmuxcr; /* 0x.0068 - DMA Mux Control Register */ u8 res06c[0x70 - 0x6c]; - __be32 devdisr; /* 0x.0070 - Device Disable Control */ + u32 devdisr; /* 0x.0070 - Device Disable Control */ #define CCSR_GUTS_DEVDISR_TB1 0x00001000 #define CCSR_GUTS_DEVDISR_TB0 0x00004000 - __be32 devdisr2; /* 0x.0074 - Device Disable Control 2 */ + u32 devdisr2; /* 0x.0074 - Device Disable Control 2 */ u8 res078[0x7c - 0x78]; - __be32 pmjcr; /* 0x.007c - 4 Power Management Jog Control Register */ - __be32 powmgtcsr; /* 0x.0080 - Power Management Status and Control Register */ - __be32 pmrccr; /* 0x.0084 - Power Management Reset Counter Configuration Register */ - __be32 pmpdccr; /* 0x.0088 - Power Management Power Down Counter Configuration Register */ - __be32 pmcdr; /* 0x.008c - 4Power management clock disable register */ - __be32 mcpsumr; /* 0x.0090 - Machine Check Summary Register */ - __be32 rstrscr; /* 0x.0094 - Reset Request Status and Control Register */ - __be32 ectrstcr; /* 0x.0098 - Exception reset control register */ - __be32 autorstsr; /* 0x.009c - Automatic reset status register */ - __be32 pvr; /* 0x.00a0 - Processor Version Register */ - __be32 svr; /* 0x.00a4 - System Version Register */ + u32 pmjcr; /* 0x.007c - 4 Power Management Jog Control + * Register + */ + u32 powmgtcsr; /* 0x.0080 - Power Management Status and + * Control Register + */ + u32 pmrccr; /* 0x.0084 - Power Management Reset Counter + * Configuration Register + */ + u32 pmpdccr; /* 0x.0088 - Power Management Power Down Counter + * Configuration Register + */ + u32 pmcdr; /* 0x.008c - 4Power management clock disable + * register + */ + u32 mcpsumr; /* 0x.0090 - Machine Check Summary Register */ + u32 rstrscr; /* 0x.0094 - Reset Request Status and + * Control Register + */ + u32 ectrstcr; /* 0x.0098 - Exception reset control register */ + u32 autorstsr; /* 0x.009c - Automatic reset status register */ + u32 pvr; /* 0x.00a0 - Processor Version Register */ + u32 svr; /* 0x.00a4 - System Version Register */ u8 res0a8[0xb0 - 0xa8]; - __be32 rstcr; /* 0x.00b0 - Reset Control Register */ + u32 rstcr; /* 0x.00b0 - Reset Control Register */ u8 res0b4[0xc0 - 0xb4]; - __be32 iovselsr; /* 0x.00c0 - I/O voltage select status register + u32 iovselsr; /* 0x.00c0 - I/O voltage select status register Called 'elbcvselcr' on 86xx SOCs */ u8 res0c4[0x100 - 0xc4]; - __be32 rcwsr[16]; /* 0x.0100 - Reset Control Word Status registers + u32 rcwsr[16]; /* 0x.0100 - Reset Control Word Status registers There are 16 registers */ u8 res140[0x224 - 0x140]; - __be32 iodelay1; /* 0x.0224 - IO delay control register 1 */ - __be32 iodelay2; /* 0x.0228 - IO delay control register 2 */ + u32 iodelay1; /* 0x.0224 - IO delay control register 1 */ + u32 iodelay2; /* 0x.0228 - IO delay control register 2 */ u8 res22c[0x604 - 0x22c]; - __be32 pamubypenr; /* 0x.604 - PAMU bypass enable register */ + u32 pamubypenr; /* 0x.604 - PAMU bypass enable register */ u8 res608[0x800 - 0x608]; - __be32 clkdvdr; /* 0x.0800 - Clock Divide Register */ + u32 clkdvdr; /* 0x.0800 - Clock Divide Register */ u8 res804[0x900 - 0x804]; - __be32 ircr; /* 0x.0900 - Infrared Control Register */ + u32 ircr; /* 0x.0900 - Infrared Control Register */ u8 res904[0x908 - 0x904]; - __be32 dmacr; /* 0x.0908 - DMA Control Register */ + u32 dmacr; /* 0x.0908 - DMA Control Register */ u8 res90c[0x914 - 0x90c]; - __be32 elbccr; /* 0x.0914 - eLBC Control Register */ + u32 elbccr; /* 0x.0914 - eLBC Control Register */ u8 res918[0xb20 - 0x918]; - __be32 ddr1clkdr; /* 0x.0b20 - DDR1 Clock Disable Register */ - __be32 ddr2clkdr; /* 0x.0b24 - DDR2 Clock Disable Register */ - __be32 ddrclkdr; /* 0x.0b28 - DDR Clock Disable Register */ + u32 ddr1clkdr; /* 0x.0b20 - DDR1 Clock Disable Register */ + u32 ddr2clkdr; /* 0x.0b24 - DDR2 Clock Disable Register */ + u32 ddrclkdr; /* 0x.0b28 - DDR Clock Disable Register */ u8 resb2c[0xe00 - 0xb2c]; - __be32 clkocr; /* 0x.0e00 - Clock Out Select Register */ + u32 clkocr; /* 0x.0e00 - Clock Out Select Register */ u8 rese04[0xe10 - 0xe04]; - __be32 ddrdllcr; /* 0x.0e10 - DDR DLL Control Register */ + u32 ddrdllcr; /* 0x.0e10 - DDR DLL Control Register */ u8 rese14[0xe20 - 0xe14]; - __be32 lbcdllcr; /* 0x.0e20 - LBC DLL Control Register */ - __be32 cpfor; /* 0x.0e24 - L2 charge pump fuse override register */ + u32 lbcdllcr; /* 0x.0e20 - LBC DLL Control Register */ + u32 cpfor; /* 0x.0e24 - L2 charge pump fuse override + * register + */ u8 rese28[0xf04 - 0xe28]; - __be32 srds1cr0; /* 0x.0f04 - SerDes1 Control Register 0 */ - __be32 srds1cr1; /* 0x.0f08 - SerDes1 Control Register 0 */ + u32 srds1cr0; /* 0x.0f04 - SerDes1 Control Register 0 */ + u32 srds1cr1; /* 0x.0f08 - SerDes1 Control Register 0 */ u8 resf0c[0xf2c - 0xf0c]; - __be32 itcr; /* 0x.0f2c - Internal transaction control register */ + u32 itcr; /* 0x.0f2c - Internal transaction control + * register + */ u8 resf30[0xf40 - 0xf30]; - __be32 srds2cr0; /* 0x.0f40 - SerDes2 Control Register 0 */ - __be32 srds2cr1; /* 0x.0f44 - SerDes2 Control Register 0 */ + u32 srds2cr0; /* 0x.0f40 - SerDes2 Control Register 0 */ + u32 srds2cr1; /* 0x.0f44 - SerDes2 Control Register 0 */ } __attribute__ ((packed)); +u32 fsl_guts_get_svr(void); +int fsl_guts_init(void); /* Alternate function signal multiplex control */ #define MPC85xx_PMUXCR_QE(x) (0x8000 >> (x)) -- 2.1.0.27.g96db324 ^ permalink raw reply related [flat|nested] 12+ messages in thread
[parent not found: <1462332274-13744-1-git-send-email-yangbo.lu-3arQi8VN3Tc@public.gmane.org>]
* [v9, 1/7] Documentation: DT: update Freescale DCFG compatible [not found] ` <1462332274-13744-1-git-send-email-yangbo.lu-3arQi8VN3Tc@public.gmane.org> @ 2016-05-04 3:24 ` Yangbo Lu 2016-05-04 3:24 ` [v9, 4/7] dt: move guts devicetree doc out of powerpc directory Yangbo Lu ` (3 subsequent siblings) 4 siblings, 0 replies; 12+ messages in thread From: Yangbo Lu @ 2016-05-04 3:24 UTC (permalink / raw) To: linux-mmc-u79uwXL29TY76Z2rM5mHXA, linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-clk-u79uwXL29TY76Z2rM5mHXA, linux-i2c-u79uwXL29TY76Z2rM5mHXA, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, netdev-u79uwXL29TY76Z2rM5mHXA Cc: Mark Rutland, ulf.hansson-QSEj5FYQhm4dnm+yROfE0A, Russell King, Yangbo Lu, Bhupesh Sharma, Santosh Shilimkar, Jochen Friedrich, leoyang.li-3arQi8VN3Tc, Scott Wood, Rob Herring, Claudiu Manoil, Kumar Gala, xiaobo.xie-3arQi8VN3Tc, Qiang Zhao Update Freescale DCFG compatible with 'fsl,<chip>-dcfg' instead of 'fsl,ls1021a-dcfg' to include more chips such as ls1021a, ls1043a, and ls2080a. Signed-off-by: Yangbo Lu <yangbo.lu-3arQi8VN3Tc@public.gmane.org> --- Changes for v8: - Added this patch Changes for v9: - Added a list for the possible compatibles --- Documentation/devicetree/bindings/arm/fsl.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/arm/fsl.txt b/Documentation/devicetree/bindings/arm/fsl.txt index 752a685..465cba1 100644 --- a/Documentation/devicetree/bindings/arm/fsl.txt +++ b/Documentation/devicetree/bindings/arm/fsl.txt @@ -119,7 +119,11 @@ Freescale DCFG configuration and status for the device. Such as setting the secondary core start address and release the secondary core from holdoff and startup. Required properties: - - compatible: should be "fsl,ls1021a-dcfg" + - compatible: should be "fsl,<chip>-dcfg" + Possible compatibles: + "fsl,ls1021a-dcfg" + "fsl,ls1043a-dcfg" + "fsl,ls2080a-dcfg" - reg : should contain base address and length of DCFG memory-mapped registers Example: -- 2.1.0.27.g96db324 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [v9, 4/7] dt: move guts devicetree doc out of powerpc directory [not found] ` <1462332274-13744-1-git-send-email-yangbo.lu-3arQi8VN3Tc@public.gmane.org> 2016-05-04 3:24 ` [v9, 1/7] Documentation: DT: update Freescale DCFG compatible Yangbo Lu @ 2016-05-04 3:24 ` Yangbo Lu 2016-05-04 3:24 ` [v9, 5/7] powerpc/fsl: move mpc85xx.h to include/linux/fsl Yangbo Lu ` (2 subsequent siblings) 4 siblings, 0 replies; 12+ messages in thread From: Yangbo Lu @ 2016-05-04 3:24 UTC (permalink / raw) To: linux-mmc-u79uwXL29TY76Z2rM5mHXA, linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-clk-u79uwXL29TY76Z2rM5mHXA, linux-i2c-u79uwXL29TY76Z2rM5mHXA, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, netdev-u79uwXL29TY76Z2rM5mHXA Cc: Mark Rutland, ulf.hansson-QSEj5FYQhm4dnm+yROfE0A, Russell King, Yangbo Lu, Bhupesh Sharma, Santosh Shilimkar, Jochen Friedrich, leoyang.li-3arQi8VN3Tc, Scott Wood, Rob Herring, Claudiu Manoil, Kumar Gala, xiaobo.xie-3arQi8VN3Tc, Qiang Zhao Move guts devicetree doc to Documentation/devicetree/bindings/soc/fsl/ since it's used by not only PowerPC but also ARM. And add a specification for 'little-endian' property. Signed-off-by: Yangbo Lu <yangbo.lu-3arQi8VN3Tc@public.gmane.org> Acked-by: Scott Wood <oss-fOR+EgIDQEHk1uMJSBkQmQ@public.gmane.org> Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> --- Changes for v4: - Added this patch Changes for v5: - Modified the description for little-endian property Changes for v6: - None Changes for v7: - None Changes for v8: - Added 'Acked-by: Scott Wood' - Added 'Acked-by: Rob Herring' Changes for v9: - None --- Documentation/devicetree/bindings/{powerpc => soc}/fsl/guts.txt | 3 +++ 1 file changed, 3 insertions(+) rename Documentation/devicetree/bindings/{powerpc => soc}/fsl/guts.txt (91%) diff --git a/Documentation/devicetree/bindings/powerpc/fsl/guts.txt b/Documentation/devicetree/bindings/soc/fsl/guts.txt similarity index 91% rename from Documentation/devicetree/bindings/powerpc/fsl/guts.txt rename to Documentation/devicetree/bindings/soc/fsl/guts.txt index b71b203..07adca9 100644 --- a/Documentation/devicetree/bindings/powerpc/fsl/guts.txt +++ b/Documentation/devicetree/bindings/soc/fsl/guts.txt @@ -25,6 +25,9 @@ Recommended properties: - fsl,liodn-bits : Indicates the number of defined bits in the LIODN registers, for those SOCs that have a PAMU device. + - little-endian : Indicates that the global utilities block is little + endian. The default is big endian. + Examples: global-utilities@e0000 { /* global utilities block */ compatible = "fsl,mpc8548-guts"; -- 2.1.0.27.g96db324 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [v9, 5/7] powerpc/fsl: move mpc85xx.h to include/linux/fsl [not found] ` <1462332274-13744-1-git-send-email-yangbo.lu-3arQi8VN3Tc@public.gmane.org> 2016-05-04 3:24 ` [v9, 1/7] Documentation: DT: update Freescale DCFG compatible Yangbo Lu 2016-05-04 3:24 ` [v9, 4/7] dt: move guts devicetree doc out of powerpc directory Yangbo Lu @ 2016-05-04 3:24 ` Yangbo Lu 2016-05-04 3:24 ` [v9, 6/7] MAINTAINERS: add entry for Freescale SoC driver Yangbo Lu 2016-05-04 3:24 ` [v9, 7/7] mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0 Yangbo Lu 4 siblings, 0 replies; 12+ messages in thread From: Yangbo Lu @ 2016-05-04 3:24 UTC (permalink / raw) To: linux-mmc-u79uwXL29TY76Z2rM5mHXA, linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-clk-u79uwXL29TY76Z2rM5mHXA, linux-i2c-u79uwXL29TY76Z2rM5mHXA, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, netdev-u79uwXL29TY76Z2rM5mHXA Cc: Mark Rutland, ulf.hansson-QSEj5FYQhm4dnm+yROfE0A, Russell King, Yangbo Lu, Bhupesh Sharma, Santosh Shilimkar, Jochen Friedrich, leoyang.li-3arQi8VN3Tc, Scott Wood, Rob Herring, Claudiu Manoil, Kumar Gala, xiaobo.xie-3arQi8VN3Tc, Qiang Zhao Move mpc85xx.h to include/linux/fsl and rename it to svr.h as a common header file. It has been used for mpc85xx and it will be used for ARM-based SoC as well. Signed-off-by: Yangbo Lu <yangbo.lu-3arQi8VN3Tc@public.gmane.org> Acked-by: Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org> Acked-by: Stephen Boyd <sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> Acked-by: Scott Wood <oss-fOR+EgIDQEHk1uMJSBkQmQ@public.gmane.org> Acked-by: Joerg Roedel <jroedel-l3A5Bk7waGM@public.gmane.org> --- Changes for v2: - None Changes for v3: - None Changes for v4: - None Changes for v5: - Changed to Move mpc85xx.h to include/linux/fsl/ - Adjusted '#include <linux/fsl/svr.h>' position in file Changes for v6: - None Changes for v7: - Added 'Acked-by: Wolfram Sang' for I2C part - Also applied to arch/powerpc/kernel/cpu_setup_fsl_booke.S Changes for v8: - Added 'Acked-by: Stephen Boyd' for clk part - Added 'Acked-by: Scott Wood' - Added 'Acked-by: Joerg Roedel' for iommu part Changes for v9: - None --- arch/powerpc/kernel/cpu_setup_fsl_booke.S | 2 +- drivers/clk/clk-qoriq.c | 3 +-- drivers/i2c/busses/i2c-mpc.c | 2 +- drivers/iommu/fsl_pamu.c | 3 +-- drivers/net/ethernet/freescale/gianfar.c | 2 +- arch/powerpc/include/asm/mpc85xx.h => include/linux/fsl/svr.h | 4 ++-- 6 files changed, 7 insertions(+), 9 deletions(-) rename arch/powerpc/include/asm/mpc85xx.h => include/linux/fsl/svr.h (97%) diff --git a/arch/powerpc/kernel/cpu_setup_fsl_booke.S b/arch/powerpc/kernel/cpu_setup_fsl_booke.S index 462aed9..2b0284e 100644 --- a/arch/powerpc/kernel/cpu_setup_fsl_booke.S +++ b/arch/powerpc/kernel/cpu_setup_fsl_booke.S @@ -13,13 +13,13 @@ * */ +#include <linux/fsl/svr.h> #include <asm/page.h> #include <asm/processor.h> #include <asm/cputable.h> #include <asm/ppc_asm.h> #include <asm/mmu-book3e.h> #include <asm/asm-offsets.h> -#include <asm/mpc85xx.h> _GLOBAL(__e500_icache_setup) mfspr r0, SPRN_L1CSR1 diff --git a/drivers/clk/clk-qoriq.c b/drivers/clk/clk-qoriq.c index 7bc1c45..fc7f722 100644 --- a/drivers/clk/clk-qoriq.c +++ b/drivers/clk/clk-qoriq.c @@ -13,6 +13,7 @@ #include <linux/clk.h> #include <linux/clk-provider.h> #include <linux/fsl/guts.h> +#include <linux/fsl/svr.h> #include <linux/io.h> #include <linux/kernel.h> #include <linux/module.h> @@ -1148,8 +1149,6 @@ bad_args: } #ifdef CONFIG_PPC -#include <asm/mpc85xx.h> - static const u32 a4510_svrs[] __initconst = { (SVR_P2040 << 8) | 0x10, /* P2040 1.0 */ (SVR_P2040 << 8) | 0x11, /* P2040 1.1 */ diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c index 48ecffe..600704c 100644 --- a/drivers/i2c/busses/i2c-mpc.c +++ b/drivers/i2c/busses/i2c-mpc.c @@ -27,9 +27,9 @@ #include <linux/i2c.h> #include <linux/interrupt.h> #include <linux/delay.h> +#include <linux/fsl/svr.h> #include <asm/mpc52xx.h> -#include <asm/mpc85xx.h> #include <sysdev/fsl_soc.h> #define DRV_NAME "mpc-i2c" diff --git a/drivers/iommu/fsl_pamu.c b/drivers/iommu/fsl_pamu.c index a34355f..af8fb27 100644 --- a/drivers/iommu/fsl_pamu.c +++ b/drivers/iommu/fsl_pamu.c @@ -21,11 +21,10 @@ #include "fsl_pamu.h" #include <linux/fsl/guts.h> +#include <linux/fsl/svr.h> #include <linux/interrupt.h> #include <linux/genalloc.h> -#include <asm/mpc85xx.h> - /* define indexes for each operation mapping scenario */ #define OMI_QMAN 0x00 #define OMI_FMAN 0x01 diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c index d2f917a..2224b10 100644 --- a/drivers/net/ethernet/freescale/gianfar.c +++ b/drivers/net/ethernet/freescale/gianfar.c @@ -86,11 +86,11 @@ #include <linux/udp.h> #include <linux/in.h> #include <linux/net_tstamp.h> +#include <linux/fsl/svr.h> #include <asm/io.h> #ifdef CONFIG_PPC #include <asm/reg.h> -#include <asm/mpc85xx.h> #endif #include <asm/irq.h> #include <asm/uaccess.h> diff --git a/arch/powerpc/include/asm/mpc85xx.h b/include/linux/fsl/svr.h similarity index 97% rename from arch/powerpc/include/asm/mpc85xx.h rename to include/linux/fsl/svr.h index 213f3a8..8d13836 100644 --- a/arch/powerpc/include/asm/mpc85xx.h +++ b/include/linux/fsl/svr.h @@ -9,8 +9,8 @@ * (at your option) any later version. */ -#ifndef __ASM_PPC_MPC85XX_H -#define __ASM_PPC_MPC85XX_H +#ifndef FSL_SVR_H +#define FSL_SVR_H #define SVR_REV(svr) ((svr) & 0xFF) /* SOC design resision */ #define SVR_MAJ(svr) (((svr) >> 4) & 0xF) /* Major revision field*/ -- 2.1.0.27.g96db324 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [v9, 6/7] MAINTAINERS: add entry for Freescale SoC driver [not found] ` <1462332274-13744-1-git-send-email-yangbo.lu-3arQi8VN3Tc@public.gmane.org> ` (2 preceding siblings ...) 2016-05-04 3:24 ` [v9, 5/7] powerpc/fsl: move mpc85xx.h to include/linux/fsl Yangbo Lu @ 2016-05-04 3:24 ` Yangbo Lu 2016-05-04 7:43 ` Ulf Hansson ` (2 more replies) 2016-05-04 3:24 ` [v9, 7/7] mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0 Yangbo Lu 4 siblings, 3 replies; 12+ messages in thread From: Yangbo Lu @ 2016-05-04 3:24 UTC (permalink / raw) To: linux-mmc-u79uwXL29TY76Z2rM5mHXA, linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-clk-u79uwXL29TY76Z2rM5mHXA, linux-i2c-u79uwXL29TY76Z2rM5mHXA, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, netdev-u79uwXL29TY76Z2rM5mHXA Cc: Mark Rutland, ulf.hansson-QSEj5FYQhm4dnm+yROfE0A, Russell King, Yangbo Lu, Bhupesh Sharma, Santosh Shilimkar, Jochen Friedrich, leoyang.li-3arQi8VN3Tc, Scott Wood, Rob Herring, Claudiu Manoil, Kumar Gala, xiaobo.xie-3arQi8VN3Tc, Qiang Zhao Add maintainer entry for Freescale SoC driver including the QE library and the GUTS driver now. Also add maintainer for QE library. Signed-off-by: Yangbo Lu <yangbo.lu-3arQi8VN3Tc@public.gmane.org> --- Changes for v8: - Added this patch Changes for v9: - Added linux-arm mail list - Removed GUTS driver entry --- MAINTAINERS | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 42e65d1..ce91db7 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4622,9 +4622,18 @@ F: drivers/net/ethernet/freescale/fec_ptp.c F: drivers/net/ethernet/freescale/fec.h F: Documentation/devicetree/bindings/net/fsl-fec.txt +FREESCALE SOC DRIVER +M: Scott Wood <oss-fOR+EgIDQEHk1uMJSBkQmQ@public.gmane.org> +L: linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org +L: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org +S: Maintained +F: drivers/soc/fsl/ +F: include/linux/fsl/ + FREESCALE QUICC ENGINE LIBRARY +M: Qiang Zhao <qiang.zhao-3arQi8VN3Tc@public.gmane.org> L: linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org -S: Orphan +S: Maintained F: drivers/soc/fsl/qe/ F: include/soc/fsl/*qe*.h F: include/soc/fsl/*ucc*.h -- 2.1.0.27.g96db324 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [v9, 6/7] MAINTAINERS: add entry for Freescale SoC driver 2016-05-04 3:24 ` [v9, 6/7] MAINTAINERS: add entry for Freescale SoC driver Yangbo Lu @ 2016-05-04 7:43 ` Ulf Hansson 2016-05-04 17:35 ` Scott Wood 2016-05-05 2:31 ` Qiang Zhao 2 siblings, 0 replies; 12+ messages in thread From: Ulf Hansson @ 2016-05-04 7:43 UTC (permalink / raw) To: Yangbo Lu, Scott Wood, Qiang Zhao Cc: linux-mmc, linuxppc-dev@lists.ozlabs.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-clk, linux-i2c@vger.kernel.org, iommu, netdev, Mark Rutland, Rob Herring, Russell King, Jochen Friedrich, Joerg Roedel, Claudiu Manoil, Bhupesh Sharma, Kumar Gala, Santosh Shilimkar, Yang-Leo Li, Xiaobo Xie On 4 May 2016 at 05:24, Yangbo Lu <yangbo.lu@nxp.com> wrote: > Add maintainer entry for Freescale SoC driver including > the QE library and the GUTS driver now. Also add maintainer > for QE library. > > Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> So I need an ack from Scott and Qiang for this one, then I intend to queue up the series. Kind regards Uffe > --- > Changes for v8: > - Added this patch > Changes for v9: > - Added linux-arm mail list > - Removed GUTS driver entry > --- > MAINTAINERS | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/MAINTAINERS b/MAINTAINERS > index 42e65d1..ce91db7 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -4622,9 +4622,18 @@ F: drivers/net/ethernet/freescale/fec_ptp.c > F: drivers/net/ethernet/freescale/fec.h > F: Documentation/devicetree/bindings/net/fsl-fec.txt > > +FREESCALE SOC DRIVER > +M: Scott Wood <oss@buserror.net> > +L: linuxppc-dev@lists.ozlabs.org > +L: linux-arm-kernel@lists.infradead.org > +S: Maintained > +F: drivers/soc/fsl/ > +F: include/linux/fsl/ > + > FREESCALE QUICC ENGINE LIBRARY > +M: Qiang Zhao <qiang.zhao@nxp.com> > L: linuxppc-dev@lists.ozlabs.org > -S: Orphan > +S: Maintained > F: drivers/soc/fsl/qe/ > F: include/soc/fsl/*qe*.h > F: include/soc/fsl/*ucc*.h > -- > 2.1.0.27.g96db324 > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [v9, 6/7] MAINTAINERS: add entry for Freescale SoC driver 2016-05-04 3:24 ` [v9, 6/7] MAINTAINERS: add entry for Freescale SoC driver Yangbo Lu 2016-05-04 7:43 ` Ulf Hansson @ 2016-05-04 17:35 ` Scott Wood 2016-05-05 3:21 ` Yangbo Lu 2016-05-05 2:31 ` Qiang Zhao 2 siblings, 1 reply; 12+ messages in thread From: Scott Wood @ 2016-05-04 17:35 UTC (permalink / raw) To: Yangbo Lu, linux-mmc, linuxppc-dev, devicetree, linux-arm-kernel, linux-kernel, linux-clk, linux-i2c, iommu, netdev Cc: ulf.hansson, Mark Rutland, Rob Herring, Russell King, Jochen Friedrich, Joerg Roedel, Claudiu Manoil, Bhupesh Sharma, Qiang Zhao, Kumar Gala, Santosh Shilimkar, leoyang.li, xiaobo.xie On Wed, 2016-05-04 at 11:24 +0800, Yangbo Lu wrote: > Add maintainer entry for Freescale SoC driver including > the QE library and the GUTS driver now. Also add maintainer > for QE library. > > Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> > --- > Changes for v8: > - Added this patch > Changes for v9: > - Added linux-arm mail list > - Removed GUTS driver entry > --- > MAINTAINERS | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/MAINTAINERS b/MAINTAINERS > index 42e65d1..ce91db7 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -4622,9 +4622,18 @@ F: drivers/net/ethernet/freescale/fec_ptp.c > F: drivers/net/ethernet/freescale/fec.h > F: Documentation/devicetree/bindings/net/fsl-fec.txt > > +FREESCALE SOC DRIVER > +M: Scott Wood <oss@buserror.net> > +L: linuxppc-dev@lists.ozlabs.org > +L: linux-arm-kernel@lists.infradead.org > +S: Maintained > +F: drivers/soc/fsl/ > +F: include/linux/fsl/ > + > FREESCALE QUICC ENGINE LIBRARY > +M: Qiang Zhao <qiang.zhao@nxp.com> > L: linuxppc-dev@lists.ozlabs.org > -S: Orphan > +S: Maintained > F: drivers/soc/fsl/qe/ > F: include/soc/fsl/*qe*.h > F: include/soc/fsl/*ucc*.h s/DRIVER/DRIVERS/ There's more than one. Otherwise: Acked-by: Scott Wood <oss@buserror.net> -Scott > ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: [v9, 6/7] MAINTAINERS: add entry for Freescale SoC driver 2016-05-04 17:35 ` Scott Wood @ 2016-05-05 3:21 ` Yangbo Lu 0 siblings, 0 replies; 12+ messages in thread From: Yangbo Lu @ 2016-05-05 3:21 UTC (permalink / raw) To: Scott Wood, Qiang Zhao, linux-mmc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, linux-i2c@vger.kernel.org, iommu@lists.linux-foundation.org, netdev@vger.kernel.org Cc: ulf.hansson@linaro.org, Mark Rutland, Rob Herring, Russell King, Jochen Friedrich, Joerg Roedel, Claudiu Manoil, Bhupesh Sharma, Kumar Gala, Santosh Shilimkar, Yang-Leo Li, Xiaobo Xie Thanks a lot, Scott and Qiang. Will change 'DRIVER' to 'DRIVERS' and update the patchset with your acts. Best regards, Yangbo Lu > -----Original Message----- > From: linux-mmc-owner@vger.kernel.org [mailto:linux-mmc- > owner@vger.kernel.org] On Behalf Of Scott Wood > Sent: Thursday, May 05, 2016 1:35 AM > To: Yangbo Lu; linux-mmc@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; > devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux- > kernel@vger.kernel.org; linux-clk@vger.kernel.org; linux- > i2c@vger.kernel.org; iommu@lists.linux-foundation.org; > netdev@vger.kernel.org > Cc: ulf.hansson@linaro.org; Mark Rutland; Rob Herring; Russell King; > Jochen Friedrich; Joerg Roedel; Claudiu Manoil; Bhupesh Sharma; Qiang > Zhao; Kumar Gala; Santosh Shilimkar; Yang-Leo Li; Xiaobo Xie > Subject: Re: [v9, 6/7] MAINTAINERS: add entry for Freescale SoC driver > > On Wed, 2016-05-04 at 11:24 +0800, Yangbo Lu wrote: > > Add maintainer entry for Freescale SoC driver including the QE library > > and the GUTS driver now. Also add maintainer for QE library. > > > > Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> > > --- > > Changes for v8: > > - Added this patch > > Changes for v9: > > - Added linux-arm mail list > > - Removed GUTS driver entry > > --- > > MAINTAINERS | 11 ++++++++++- > > 1 file changed, 10 insertions(+), 1 deletion(-) > > > > diff --git a/MAINTAINERS b/MAINTAINERS index 42e65d1..ce91db7 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -4622,9 +4622,18 @@ F: drivers/net/ethernet/freescale/fec_ptp.c > > F: drivers/net/ethernet/freescale/fec.h > > F: Documentation/devicetree/bindings/net/fsl-fec.txt > > > > +FREESCALE SOC DRIVER > > +M: Scott Wood <oss@buserror.net> > > +L: linuxppc-dev@lists.ozlabs.org > > +L: linux-arm-kernel@lists.infradead.org > > +S: Maintained > > +F: drivers/soc/fsl/ > > +F: include/linux/fsl/ > > + > > FREESCALE QUICC ENGINE LIBRARY > > +M: Qiang Zhao <qiang.zhao@nxp.com> > > L: linuxppc-dev@lists.ozlabs.org > > -S: Orphan > > +S: Maintained > > F: drivers/soc/fsl/qe/ > > F: include/soc/fsl/*qe*.h > > F: include/soc/fsl/*ucc*.h > > s/DRIVER/DRIVERS/ > > There's more than one. > > Otherwise: > Acked-by: Scott Wood <oss@buserror.net> > > -Scott > > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-mmc" in > the body of a message to majordomo@vger.kernel.org More majordomo info at > http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: [v9, 6/7] MAINTAINERS: add entry for Freescale SoC driver 2016-05-04 3:24 ` [v9, 6/7] MAINTAINERS: add entry for Freescale SoC driver Yangbo Lu 2016-05-04 7:43 ` Ulf Hansson 2016-05-04 17:35 ` Scott Wood @ 2016-05-05 2:31 ` Qiang Zhao 2 siblings, 0 replies; 12+ messages in thread From: Qiang Zhao @ 2016-05-05 2:31 UTC (permalink / raw) To: linux-mmc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, linux-i2c@vger.kernel.org, iommu@lists.linux-foundation.org, netdev@vger.kernel.org Cc: Mark Rutland, ulf.hansson@linaro.org, Russell King, Yangbo Lu, Bhupesh Sharma, Joerg Roedel, Santosh Shilimkar, Jochen Friedrich, Yang-Leo Li, Scott Wood, Rob Herring, Claudiu Manoil, Kumar Gala, Xiaobo Xie On Wed, 2016-05-04 at 11:24 +0800, Yangbo Lu wrote: > -----Original Message----- > From: Yangbo Lu [mailto:yangbo.lu@nxp.com] > Sent: Wednesday, May 04, 2016 11:25 AM > To: linux-mmc@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; > devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux- > kernel@vger.kernel.org; linux-clk@vger.kernel.org; linux-i2c@vger.kernel.org; > iommu@lists.linux-foundation.org; netdev@vger.kernel.org > Cc: ulf.hansson@linaro.org; Scott Wood <oss@buserror.net>; Mark Rutland > <mark.rutland@arm.com>; Rob Herring <robh+dt@kernel.org>; Russell King > <linux@arm.linux.org.uk>; Jochen Friedrich <jochen@scram.de>; Joerg Roedel > <joro@8bytes.org>; Claudiu Manoil <claudiu.manoil@freescale.com>; Bhupesh > Sharma <bhupesh.sharma@freescale.com>; Qiang Zhao > <qiang.zhao@nxp.com>; Kumar Gala <galak@codeaurora.org>; Santosh > Shilimkar <ssantosh@kernel.org>; Yang-Leo Li <leoyang.li@nxp.com>; Xiaobo > Xie <xiaobo.xie@nxp.com>; Yangbo Lu <yangbo.lu@nxp.com> > Subject: [v9, 6/7] MAINTAINERS: add entry for Freescale SoC driver > > Add maintainer entry for Freescale SoC driver including the QE library and the > GUTS driver now. Also add maintainer for QE library. > > Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> > --- > Changes for v8: > - Added this patch > Changes for v9: > - Added linux-arm mail list > - Removed GUTS driver entry > --- > MAINTAINERS | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/MAINTAINERS b/MAINTAINERS > index 42e65d1..ce91db7 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -4622,9 +4622,18 @@ F: drivers/net/ethernet/freescale/fec_ptp.c > F: drivers/net/ethernet/freescale/fec.h > F: Documentation/devicetree/bindings/net/fsl-fec.txt > > +FREESCALE SOC DRIVER > +M: Scott Wood <oss@buserror.net> > +L: linuxppc-dev@lists.ozlabs.org > +L: linux-arm-kernel@lists.infradead.org > +S: Maintained > +F: drivers/soc/fsl/ > +F: include/linux/fsl/ > + > FREESCALE QUICC ENGINE LIBRARY > +M: Qiang Zhao <qiang.zhao@nxp.com> > L: linuxppc-dev@lists.ozlabs.org > -S: Orphan > +S: Maintained > F: drivers/soc/fsl/qe/ > F: include/soc/fsl/*qe*.h > F: include/soc/fsl/*ucc*.h > -- > 2.1.0.27.g96db324 I am ok! -Zhao Qiang ^ permalink raw reply [flat|nested] 12+ messages in thread
* [v9, 7/7] mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0 [not found] ` <1462332274-13744-1-git-send-email-yangbo.lu-3arQi8VN3Tc@public.gmane.org> ` (3 preceding siblings ...) 2016-05-04 3:24 ` [v9, 6/7] MAINTAINERS: add entry for Freescale SoC driver Yangbo Lu @ 2016-05-04 3:24 ` Yangbo Lu 4 siblings, 0 replies; 12+ messages in thread From: Yangbo Lu @ 2016-05-04 3:24 UTC (permalink / raw) To: linux-mmc-u79uwXL29TY76Z2rM5mHXA, linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-clk-u79uwXL29TY76Z2rM5mHXA, linux-i2c-u79uwXL29TY76Z2rM5mHXA, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, netdev-u79uwXL29TY76Z2rM5mHXA Cc: Mark Rutland, ulf.hansson-QSEj5FYQhm4dnm+yROfE0A, Russell King, Yangbo Lu, Bhupesh Sharma, Santosh Shilimkar, Jochen Friedrich, leoyang.li-3arQi8VN3Tc, Scott Wood, Rob Herring, Claudiu Manoil, Kumar Gala, xiaobo.xie-3arQi8VN3Tc, Qiang Zhao The eSDHC of T4240-R1.0-R2.0 has incorrect vender version and spec version. Acturally the right version numbers should be VVN=0x13 and SVN = 0x1. This patch adds the GUTS driver support for eSDHC driver to get SVR(System version register). And fix host version to avoid that incorrect version numbers break down the ADMA data transfer. Signed-off-by: Yangbo Lu <yangbo.lu-3arQi8VN3Tc@public.gmane.org> Acked-by: Ulf Hansson <ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> Acked-by: Scott Wood <oss-fOR+EgIDQEHk1uMJSBkQmQ@public.gmane.org> --- Changes for v2: - Got SVR through iomap instead of dts Changes for v3: - Managed GUTS through syscon instead of iomap in eSDHC driver Changes for v4: - Got SVR by GUTS driver instead of SYSCON Changes for v5: - Changed to get SVR through API fsl_guts_get_svr() - Combined patch 4, patch 5 and patch 6 into one Changes for v6: - Added 'Acked-by: Ulf Hansson' Changes for v7: - None Changes for v8: - Added 'Acked-by: Scott Wood' Changes for v9: - None --- drivers/mmc/host/Kconfig | 1 + drivers/mmc/host/sdhci-of-esdhc.c | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig index 0aa484c..e15e836 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -143,6 +143,7 @@ config MMC_SDHCI_OF_ESDHC depends on MMC_SDHCI_PLTFM depends on PPC || ARCH_MXC || ARCH_LAYERSCAPE select MMC_SDHCI_IO_ACCESSORS + select FSL_GUTS help This selects the Freescale eSDHC controller support. diff --git a/drivers/mmc/host/sdhci-of-esdhc.c b/drivers/mmc/host/sdhci-of-esdhc.c index 3f34d35..68cc020 100644 --- a/drivers/mmc/host/sdhci-of-esdhc.c +++ b/drivers/mmc/host/sdhci-of-esdhc.c @@ -18,6 +18,8 @@ #include <linux/of.h> #include <linux/delay.h> #include <linux/module.h> +#include <linux/fsl/svr.h> +#include <linux/fsl/guts.h> #include <linux/mmc/host.h> #include "sdhci-pltfm.h" #include "sdhci-esdhc.h" @@ -28,6 +30,8 @@ struct sdhci_esdhc { u8 vendor_ver; u8 spec_ver; + u32 soc_ver; + u8 soc_rev; }; /** @@ -73,6 +77,8 @@ static u32 esdhc_readl_fixup(struct sdhci_host *host, static u16 esdhc_readw_fixup(struct sdhci_host *host, int spec_reg, u32 value) { + struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); + struct sdhci_esdhc *esdhc = sdhci_pltfm_priv(pltfm_host); u16 ret; int shift = (spec_reg & 0x2) * 8; @@ -80,6 +86,13 @@ static u16 esdhc_readw_fixup(struct sdhci_host *host, ret = value & 0xffff; else ret = (value >> shift) & 0xffff; + + /* Workaround for T4240-R1.0-R2.0 eSDHC which has incorrect + * vendor version and spec version information. + */ + if ((spec_reg == SDHCI_HOST_VERSION) && + (esdhc->soc_ver == SVR_T4240) && (esdhc->soc_rev <= 0x20)) + ret = (VENDOR_V_23 << SDHCI_VENDOR_VER_SHIFT) | SDHCI_SPEC_200; return ret; } @@ -567,10 +580,20 @@ static void esdhc_init(struct platform_device *pdev, struct sdhci_host *host) struct sdhci_pltfm_host *pltfm_host; struct sdhci_esdhc *esdhc; u16 host_ver; + u32 svr; pltfm_host = sdhci_priv(host); esdhc = sdhci_pltfm_priv(pltfm_host); + fsl_guts_init(); + svr = fsl_guts_get_svr(); + if (svr) { + esdhc->soc_ver = SVR_SOC_VER(svr); + esdhc->soc_rev = SVR_REV(svr); + } else { + dev_err(&pdev->dev, "Failed to get SVR value!\n"); + } + host_ver = sdhci_readw(host, SDHCI_HOST_VERSION); esdhc->vendor_ver = (host_ver & SDHCI_VENDOR_VER_MASK) >> SDHCI_VENDOR_VER_SHIFT; -- 2.1.0.27.g96db324 ^ permalink raw reply related [flat|nested] 12+ messages in thread
end of thread, other threads:[~2016-05-05 3:21 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-05-04 3:24 [v9, 0/7] Fix eSDHC host version register bug Yangbo Lu 2016-05-04 3:24 ` [v9, 2/7] ARM64: dts: ls2080a: add device configuration node Yangbo Lu 2016-05-04 3:24 ` [v9, 3/7] soc: fsl: add GUTS driver for QorIQ platforms Yangbo Lu [not found] ` <1462332274-13744-1-git-send-email-yangbo.lu-3arQi8VN3Tc@public.gmane.org> 2016-05-04 3:24 ` [v9, 1/7] Documentation: DT: update Freescale DCFG compatible Yangbo Lu 2016-05-04 3:24 ` [v9, 4/7] dt: move guts devicetree doc out of powerpc directory Yangbo Lu 2016-05-04 3:24 ` [v9, 5/7] powerpc/fsl: move mpc85xx.h to include/linux/fsl Yangbo Lu 2016-05-04 3:24 ` [v9, 6/7] MAINTAINERS: add entry for Freescale SoC driver Yangbo Lu 2016-05-04 7:43 ` Ulf Hansson 2016-05-04 17:35 ` Scott Wood 2016-05-05 3:21 ` Yangbo Lu 2016-05-05 2:31 ` Qiang Zhao 2016-05-04 3:24 ` [v9, 7/7] mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0 Yangbo Lu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).