Commit b1f368b5 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'armsoc-for-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull ARM SoC fixes from Olof Johansson:
 "Another quiet week:

   - a fix to silence edma probe error on non-supported platforms from
     Arnd
   - a fix to enable the PL clock for Parallella, to make mainline
     usable with the SDK.
   - a somewhat verbose fix for the PLL clock tree on VF610
   - enabling of SD/MMC on one of the VF610-based boards (for testing)
   - a fix for i.MX where CONFIG_SPI used to be implicitly enabled and
     now needs to be added to the defconfig instead
   - another maintainer added for bcm2835: Lee Jones"

* tag 'armsoc-for-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  ARM: dts: zynq: Enable PL clocks for Parallella
  dma: edma: move device registration to platform code
  ARM: dts: vf610: add SD node to cosmic dts
  MAINTAINERS: update bcm2835 entry
  ARM: imx: Fix the removal of CONFIG_SPI option
  ARM: imx: clk-vf610: define PLL's clock tree
parents a3157809 92c9e0c7
...@@ -2072,8 +2072,9 @@ F: drivers/clocksource/bcm_kona_timer.c ...@@ -2072,8 +2072,9 @@ F: drivers/clocksource/bcm_kona_timer.c
BROADCOM BCM2835 ARM ARCHITECTURE BROADCOM BCM2835 ARM ARCHITECTURE
M: Stephen Warren <swarren@wwwdotorg.org> M: Stephen Warren <swarren@wwwdotorg.org>
M: Lee Jones <lee@kernel.org>
L: linux-rpi-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-rpi-kernel@lists.infradead.org (moderated for non-subscribers)
T: git git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/rpi/linux-rpi.git
S: Maintained S: Maintained
N: bcm2835 N: bcm2835
......
...@@ -33,6 +33,13 @@ enet_ext { ...@@ -33,6 +33,13 @@ enet_ext {
}; };
&esdhc1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_esdhc1>;
bus-width = <4>;
status = "okay";
};
&fec1 { &fec1 {
phy-mode = "rmii"; phy-mode = "rmii";
pinctrl-names = "default"; pinctrl-names = "default";
...@@ -42,6 +49,18 @@ &fec1 { ...@@ -42,6 +49,18 @@ &fec1 {
&iomuxc { &iomuxc {
vf610-cosmic { vf610-cosmic {
pinctrl_esdhc1: esdhc1grp {
fsl,pins = <
VF610_PAD_PTA24__ESDHC1_CLK 0x31ef
VF610_PAD_PTA25__ESDHC1_CMD 0x31ef
VF610_PAD_PTA26__ESDHC1_DAT0 0x31ef
VF610_PAD_PTA27__ESDHC1_DAT1 0x31ef
VF610_PAD_PTA28__ESDHC1_DATA2 0x31ef
VF610_PAD_PTA29__ESDHC1_DAT3 0x31ef
VF610_PAD_PTB28__GPIO_98 0x219d
>;
};
pinctrl_fec1: fec1grp { pinctrl_fec1: fec1grp {
fsl,pins = < fsl,pins = <
VF610_PAD_PTC9__ENET_RMII1_MDC 0x30d2 VF610_PAD_PTC9__ENET_RMII1_MDC 0x30d2
......
...@@ -34,6 +34,10 @@ chosen { ...@@ -34,6 +34,10 @@ chosen {
}; };
}; };
&clkc {
fclk-enable = <0xf>;
};
&gem0 { &gem0 {
status = "okay"; status = "okay";
phy-mode = "rgmii-id"; phy-mode = "rgmii-id";
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include <linux/io.h> #include <linux/io.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/edma.h> #include <linux/edma.h>
#include <linux/dma-mapping.h>
#include <linux/of_address.h> #include <linux/of_address.h>
#include <linux/of_device.h> #include <linux/of_device.h>
#include <linux/of_dma.h> #include <linux/of_dma.h>
...@@ -1623,6 +1624,11 @@ static int edma_probe(struct platform_device *pdev) ...@@ -1623,6 +1624,11 @@ static int edma_probe(struct platform_device *pdev)
struct device_node *node = pdev->dev.of_node; struct device_node *node = pdev->dev.of_node;
struct device *dev = &pdev->dev; struct device *dev = &pdev->dev;
int ret; int ret;
struct platform_device_info edma_dev_info = {
.name = "edma-dma-engine",
.dma_mask = DMA_BIT_MASK(32),
.parent = &pdev->dev,
};
if (node) { if (node) {
/* Check if this is a second instance registered */ /* Check if this is a second instance registered */
...@@ -1793,6 +1799,9 @@ static int edma_probe(struct platform_device *pdev) ...@@ -1793,6 +1799,9 @@ static int edma_probe(struct platform_device *pdev)
edma_write_array(j, EDMA_QRAE, i, 0x0); edma_write_array(j, EDMA_QRAE, i, 0x0);
} }
arch_num_cc++; arch_num_cc++;
edma_dev_info.id = j;
platform_device_register_full(&edma_dev_info);
} }
return 0; return 0;
......
...@@ -97,6 +97,7 @@ CONFIG_SERIAL_IMX_CONSOLE=y ...@@ -97,6 +97,7 @@ CONFIG_SERIAL_IMX_CONSOLE=y
# CONFIG_HW_RANDOM is not set # CONFIG_HW_RANDOM is not set
CONFIG_I2C_CHARDEV=y CONFIG_I2C_CHARDEV=y
CONFIG_I2C_IMX=y CONFIG_I2C_IMX=y
CONFIG_SPI=y
CONFIG_SPI_IMX=y CONFIG_SPI_IMX=y
CONFIG_SPI_SPIDEV=y CONFIG_SPI_SPIDEV=y
CONFIG_GPIO_SYSFS=y CONFIG_GPIO_SYSFS=y
......
...@@ -158,6 +158,7 @@ CONFIG_I2C_CHARDEV=y ...@@ -158,6 +158,7 @@ CONFIG_I2C_CHARDEV=y
CONFIG_I2C_ALGOPCF=m CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCA=m CONFIG_I2C_ALGOPCA=m
CONFIG_I2C_IMX=y CONFIG_I2C_IMX=y
CONFIG_SPI=y
CONFIG_SPI_IMX=y CONFIG_SPI_IMX=y
CONFIG_GPIO_SYSFS=y CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_MC9S08DZ60=y CONFIG_GPIO_MC9S08DZ60=y
......
This diff is collapsed.
...@@ -1107,52 +1107,14 @@ bool edma_filter_fn(struct dma_chan *chan, void *param) ...@@ -1107,52 +1107,14 @@ bool edma_filter_fn(struct dma_chan *chan, void *param)
} }
EXPORT_SYMBOL(edma_filter_fn); EXPORT_SYMBOL(edma_filter_fn);
static struct platform_device *pdev0, *pdev1;
static const struct platform_device_info edma_dev_info0 = {
.name = "edma-dma-engine",
.id = 0,
.dma_mask = DMA_BIT_MASK(32),
};
static const struct platform_device_info edma_dev_info1 = {
.name = "edma-dma-engine",
.id = 1,
.dma_mask = DMA_BIT_MASK(32),
};
static int edma_init(void) static int edma_init(void)
{ {
int ret = platform_driver_register(&edma_driver); return platform_driver_register(&edma_driver);
if (ret == 0) {
pdev0 = platform_device_register_full(&edma_dev_info0);
if (IS_ERR(pdev0)) {
platform_driver_unregister(&edma_driver);
ret = PTR_ERR(pdev0);
goto out;
}
}
if (!of_have_populated_dt() && EDMA_CTLRS == 2) {
pdev1 = platform_device_register_full(&edma_dev_info1);
if (IS_ERR(pdev1)) {
platform_driver_unregister(&edma_driver);
platform_device_unregister(pdev0);
ret = PTR_ERR(pdev1);
}
}
out:
return ret;
} }
subsys_initcall(edma_init); subsys_initcall(edma_init);
static void __exit edma_exit(void) static void __exit edma_exit(void)
{ {
platform_device_unregister(pdev0);
if (pdev1)
platform_device_unregister(pdev1);
platform_driver_unregister(&edma_driver); platform_driver_unregister(&edma_driver);
} }
module_exit(edma_exit); module_exit(edma_exit);
......
...@@ -21,24 +21,24 @@ ...@@ -21,24 +21,24 @@
#define VF610_CLK_FASK_CLK_SEL 8 #define VF610_CLK_FASK_CLK_SEL 8
#define VF610_CLK_AUDIO_EXT 9 #define VF610_CLK_AUDIO_EXT 9
#define VF610_CLK_ENET_EXT 10 #define VF610_CLK_ENET_EXT 10
#define VF610_CLK_PLL1_MAIN 11 #define VF610_CLK_PLL1_SYS 11
#define VF610_CLK_PLL1_PFD1 12 #define VF610_CLK_PLL1_PFD1 12
#define VF610_CLK_PLL1_PFD2 13 #define VF610_CLK_PLL1_PFD2 13
#define VF610_CLK_PLL1_PFD3 14 #define VF610_CLK_PLL1_PFD3 14
#define VF610_CLK_PLL1_PFD4 15 #define VF610_CLK_PLL1_PFD4 15
#define VF610_CLK_PLL2_MAIN 16 #define VF610_CLK_PLL2_BUS 16
#define VF610_CLK_PLL2_PFD1 17 #define VF610_CLK_PLL2_PFD1 17
#define VF610_CLK_PLL2_PFD2 18 #define VF610_CLK_PLL2_PFD2 18
#define VF610_CLK_PLL2_PFD3 19 #define VF610_CLK_PLL2_PFD3 19
#define VF610_CLK_PLL2_PFD4 20 #define VF610_CLK_PLL2_PFD4 20
#define VF610_CLK_PLL3_MAIN 21 #define VF610_CLK_PLL3_USB_OTG 21
#define VF610_CLK_PLL3_PFD1 22 #define VF610_CLK_PLL3_PFD1 22
#define VF610_CLK_PLL3_PFD2 23 #define VF610_CLK_PLL3_PFD2 23
#define VF610_CLK_PLL3_PFD3 24 #define VF610_CLK_PLL3_PFD3 24
#define VF610_CLK_PLL3_PFD4 25 #define VF610_CLK_PLL3_PFD4 25
#define VF610_CLK_PLL4_MAIN 26 #define VF610_CLK_PLL4_AUDIO 26
#define VF610_CLK_PLL5_MAIN 27 #define VF610_CLK_PLL5_ENET 27
#define VF610_CLK_PLL6_MAIN 28 #define VF610_CLK_PLL6_VIDEO 28
#define VF610_CLK_PLL3_MAIN_DIV 29 #define VF610_CLK_PLL3_MAIN_DIV 29
#define VF610_CLK_PLL4_MAIN_DIV 30 #define VF610_CLK_PLL4_MAIN_DIV 30
#define VF610_CLK_PLL6_MAIN_DIV 31 #define VF610_CLK_PLL6_MAIN_DIV 31
...@@ -166,9 +166,32 @@ ...@@ -166,9 +166,32 @@
#define VF610_CLK_DMAMUX3 153 #define VF610_CLK_DMAMUX3 153
#define VF610_CLK_FLEXCAN0_EN 154 #define VF610_CLK_FLEXCAN0_EN 154
#define VF610_CLK_FLEXCAN1_EN 155 #define VF610_CLK_FLEXCAN1_EN 155
#define VF610_CLK_PLL7_MAIN 156 #define VF610_CLK_PLL7_USB_HOST 156
#define VF610_CLK_USBPHY0 157 #define VF610_CLK_USBPHY0 157
#define VF610_CLK_USBPHY1 158 #define VF610_CLK_USBPHY1 158
#define VF610_CLK_END 159 #define VF610_CLK_LVDS1_IN 159
#define VF610_CLK_ANACLK1 160
#define VF610_CLK_PLL1_BYPASS_SRC 161
#define VF610_CLK_PLL2_BYPASS_SRC 162
#define VF610_CLK_PLL3_BYPASS_SRC 163
#define VF610_CLK_PLL4_BYPASS_SRC 164
#define VF610_CLK_PLL5_BYPASS_SRC 165
#define VF610_CLK_PLL6_BYPASS_SRC 166
#define VF610_CLK_PLL7_BYPASS_SRC 167
#define VF610_CLK_PLL1 168
#define VF610_CLK_PLL2 169
#define VF610_CLK_PLL3 170
#define VF610_CLK_PLL4 171
#define VF610_CLK_PLL5 172
#define VF610_CLK_PLL6 173
#define VF610_CLK_PLL7 174
#define VF610_PLL1_BYPASS 175
#define VF610_PLL2_BYPASS 176
#define VF610_PLL3_BYPASS 177
#define VF610_PLL4_BYPASS 178
#define VF610_PLL5_BYPASS 179
#define VF610_PLL6_BYPASS 180
#define VF610_PLL7_BYPASS 181
#define VF610_CLK_END 182
#endif /* __DT_BINDINGS_CLOCK_VF610_H */ #endif /* __DT_BINDINGS_CLOCK_VF610_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment