* [PATCH v2 2/3] spi: pxa2xx: Prepare for edge-triggered interrupts
From: Jan Kiszka @ 2017-01-17 18:52 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <7fd7a8eb-4302-523b-08dd-f2a28b845a5e@siemens.com>
On 2017-01-16 20:46, Jan Kiszka wrote:
> On 2017-01-16 20:07, Andy Shevchenko wrote:
>> On Mon, 2017-01-16 at 19:44 +0100, Jan Kiszka wrote:
>>> When using the a device with edge-triggered interrupts, such as MSIs,
>>> the interrupt handler has to ensure that there is a point in time
>>> during
>>> its execution where all interrupts sources are silent so that a new
>>> event can trigger a new interrupt again.
>>>
>>> This is achieved here by looping over SSSR evaluation. We need to take
>>> into account that SSCR1 may be changed by the transfer handler, thus
>>> we
>>> need to redo the mask calculation, at least regarding the volatile
>>> interrupt enable bit (TIE).
>>>
>>
>> So, more comments/questions below.
>>
>>>
>>> sccr1_reg = pxa2xx_spi_read(drv_data, SSCR1);
>>>
>>> - /* Ignore possible writes if we don't need to write */
>>> - if (!(sccr1_reg & SSCR1_TIE))
>>> - mask &= ~SSSR_TFS;
>>> -
>>> /* Ignore RX timeout interrupt if it is disabled */
>>> if (!(sccr1_reg & SSCR1_TINTE))
>>> mask &= ~SSSR_TINT;
>>>
>>> - if (!(status & mask))
>>> - return IRQ_NONE;
>>> + while (1) {
>>
>> Can we switch to do-while and move previous block here?
>
> Don't see how this would help (without duplicating more code).
>
>> Btw, can TINTE
>> bit be set again during a loop?
>
> Nope, it's statically set, at least so far.
>
> What we could do is simply restarting ssp_int
>
>>
>>> + /* Ignore possible writes if we don't need to write
>>> */
>>> + if (!(sccr1_reg & SSCR1_TIE))
>>> + mask &= ~SSSR_TFS;
>>>
>>> - if (!drv_data->master->cur_msg) {
>>> - handle_bad_msg(drv_data);
>>> - /* Never fail */
>>> - return IRQ_HANDLED;
>>> - }
>>> + if (!(status & mask))
>>> + return ret;
>>> +
>>> + if (!drv_data->master->cur_msg) {
>>> + handle_bad_msg(drv_data);
>>> + /* Never fail */
>>> + return IRQ_HANDLED;
>>> + }
>>> +
>>
>>> + ret |= drv_data->transfer_handler(drv_data);
>>
>> So, we might call handler several times. This needs to be commented in
>> the code why you do so.
>
> I can move the commit log into the code.
>
>>
>>>
>>> - return drv_data->transfer_handler(drv_data);
>>> + status = pxa2xx_spi_read(drv_data, SSSR);
>>
>> Would it be possible to get all 1:s from the register
>> (something/autosuspend just powered off it by timeout?) ?
>>
>
> Not sure if that can happen, but I guess it would be simpler and more
> readable to simply do this instead:
>
> while (1) {
> /*
> * If the device is not yet in RPM suspended state and we get an
> * interrupt that is meant for another device, check if status
> * bits are all set to one. That means that the device is
> * already powered off.
> */
> status = pxa2xx_spi_read(drv_data, SSSR);
> if (status == ~0)
> return ret;
>
> sccr1_reg = pxa2xx_spi_read(drv_data, SSCR1);
>
> /* Ignore RX timeout interrupt if it is disabled */
> if (!(sccr1_reg & SSCR1_TINTE))
> mask &= ~SSSR_TINT;
>
> /* Ignore possible writes if we don't need to write */
> if (!(sccr1_reg & SSCR1_TIE))
> mask &= ~SSSR_TFS;
>
> if (!(status & mask))
> return ret;
>
> if (!drv_data->master->cur_msg) {
> handle_bad_msg(drv_data);
> /* Never fail */
> return IRQ_HANDLED;
> }
>
> ret |= drv_data->transfer_handler(drv_data);
> }
>
>
> i.e. preserve the current structure, just add the loop.
>
OK, please let me know if you want a v3 of this patch with the structure
above. If there are further concerns/questions, just let me know as
well, but I'd like to close this topic if possible.
Thanks,
Jan
--
Siemens AG, Corporate Technology, CT RDA ITP SES-DE
Corporate Competence Center Embedded Linux
^ permalink raw reply
* [PATCH v2 11/14] sata: ahci-da850: un-hardcode the MPY bits
From: David Lechner @ 2017-01-17 18:51 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1484655976-25382-12-git-send-email-bgolaszewski@baylibre.com>
On 01/17/2017 06:26 AM, Bartosz Golaszewski wrote:
> In order to make the MPY bits configurable, try to obtain the refclk
> and calculate the required multiplier from its rate.
>
> If we fail to get the clock, fall back to the default value which
> keeps backwards compatibility.
It seems like it would be wiser to make is so that if we fail to get the
clock, it is an error. This way, if someone makes a new board and
forgets to configure a clock, they will get an error instead of
wondering why things are not working because it is using the wrong
multiplier.
>
> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> ---
> drivers/ata/ahci_da850.c | 88 +++++++++++++++++++++++++++++++++++++++++-------
> 1 file changed, 76 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/ata/ahci_da850.c b/drivers/ata/ahci_da850.c
> index a7a7161..f48b7d0 100644
> --- a/drivers/ata/ahci_da850.c
> +++ b/drivers/ata/ahci_da850.c
> @@ -14,6 +14,7 @@
> #include <linux/platform_device.h>
> #include <linux/libata.h>
> #include <linux/ahci_platform.h>
> +#include <asm/div64.h>
> #include "ahci.h"
>
> #define DRV_NAME "ahci_da850"
> @@ -30,16 +31,14 @@
> #define SATA_PHY_ENPLL(x) ((x) << 31)
>
> /*
> - * The multiplier needed for 1.5GHz PLL output.
> - *
> - * NOTE: This is currently hardcoded to be suitable for 100MHz crystal
> - * frequency (which is used by DA850 EVM board) and may need to be changed
> - * if you would like to use this driver on some other board.
> + * This is the default multiplier value used if the refclk could not be
> + * obtained. It corresponds with a crystal rate of 100MHz for 1.5GHz PLL
> + * output.
> */
> -#define DA850_SATA_CLK_MULTIPLIER 7
> +#define DA850_SATA_MPY_DEFAULT 0x8
>
> static void da850_sata_init(struct device *dev, void __iomem *pwrdn_reg,
> - void __iomem *ahci_base)
> + void __iomem *ahci_base, u32 mpy)
> {
> unsigned int val;
>
> @@ -48,13 +47,56 @@ static void da850_sata_init(struct device *dev, void __iomem *pwrdn_reg,
> val &= ~BIT(0);
> writel(val, pwrdn_reg);
>
> - val = SATA_PHY_MPY(DA850_SATA_CLK_MULTIPLIER + 1) | SATA_PHY_LOS(1) |
> - SATA_PHY_RXCDR(4) | SATA_PHY_RXEQ(1) | SATA_PHY_TXSWING(3) |
> - SATA_PHY_ENPLL(1);
> + val = SATA_PHY_MPY(mpy) | SATA_PHY_LOS(1) | SATA_PHY_RXCDR(4) |
> + SATA_PHY_RXEQ(1) | SATA_PHY_TXSWING(3) | SATA_PHY_ENPLL(1);
>
> writel(val, ahci_base + SATA_P0PHYCR_REG);
> }
>
> +static u32 ahci_da850_calculate_mpy(unsigned long refclk_rate)
> +{
> + u64 pll_output = 1500000000;
> + u32 needed;
> +
> + /*
> + * We need to determine the value of the multiplier (MPY) bits.
> + *
> + * In order to include the 12.5 multiplier we need to first multiply
> + * the desired rate of 1.5GHz by 10 before division.
> + */
> + pll_output *= 10;
> + needed = __div64_32(&pll_output, refclk_rate);
What if this does not divide evenly and there is a remainder. Shouldn't
there be an error in that case?
...
^ permalink raw reply
* Applied "spi: pxa2xx: Factor out handle_bad_msg" to the spi tree
From: Mark Brown @ 2017-01-17 18:46 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <776c72d3de4b75ff0a8b91791740389950d8abe8.1484592296.git.jan.kiszka@siemens.com>
The patch
spi: pxa2xx: Factor out handle_bad_msg
has been applied to the spi tree at
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
>From b03124825b8612bf371e5b4ccc2cd812ed3c2dbb Mon Sep 17 00:00:00 2001
From: Jan Kiszka <jan.kiszka@siemens.com>
Date: Mon, 16 Jan 2017 19:44:54 +0100
Subject: [PATCH] spi: pxa2xx: Factor out handle_bad_msg
As suggested by Andy Shevchenko: Decouple this corner cause from the
general handling logic in ssp_int.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Reviewed-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/spi/spi-pxa2xx.c | 29 +++++++++++++++--------------
1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/drivers/spi/spi-pxa2xx.c b/drivers/spi/spi-pxa2xx.c
index d6239fa718be..8c65bc1823f3 100644
--- a/drivers/spi/spi-pxa2xx.c
+++ b/drivers/spi/spi-pxa2xx.c
@@ -732,6 +732,20 @@ static irqreturn_t interrupt_transfer(struct driver_data *drv_data)
return IRQ_HANDLED;
}
+static void handle_bad_msg(struct driver_data *drv_data)
+{
+ pxa2xx_spi_write(drv_data, SSCR0,
+ pxa2xx_spi_read(drv_data, SSCR0) & ~SSCR0_SSE);
+ pxa2xx_spi_write(drv_data, SSCR1,
+ pxa2xx_spi_read(drv_data, SSCR1) & ~drv_data->int_cr1);
+ if (!pxa25x_ssp_comp(drv_data))
+ pxa2xx_spi_write(drv_data, SSTO, 0);
+ write_SSSR_CS(drv_data, drv_data->clear_sr);
+
+ dev_err(&drv_data->pdev->dev,
+ "bad message state in interrupt handler\n");
+}
+
static irqreturn_t ssp_int(int irq, void *dev_id)
{
struct driver_data *drv_data = dev_id;
@@ -772,20 +786,7 @@ static irqreturn_t ssp_int(int irq, void *dev_id)
return IRQ_NONE;
if (!drv_data->master->cur_msg) {
-
- pxa2xx_spi_write(drv_data, SSCR0,
- pxa2xx_spi_read(drv_data, SSCR0)
- & ~SSCR0_SSE);
- pxa2xx_spi_write(drv_data, SSCR1,
- pxa2xx_spi_read(drv_data, SSCR1)
- & ~drv_data->int_cr1);
- if (!pxa25x_ssp_comp(drv_data))
- pxa2xx_spi_write(drv_data, SSTO, 0);
- write_SSSR_CS(drv_data, drv_data->clear_sr);
-
- dev_err(&drv_data->pdev->dev,
- "bad message state in interrupt handler\n");
-
+ handle_bad_msg(drv_data);
/* Never fail */
return IRQ_HANDLED;
}
--
2.11.0
^ permalink raw reply related
* Applied "ASoC: sun4i-i2s: Increase DMA max burst to 8" to the asoc tree
From: Mark Brown @ 2017-01-17 18:44 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20170117140230.23142-2-mylene.josserand@free-electrons.com>
The patch
ASoC: sun4i-i2s: Increase DMA max burst to 8
has been applied to the asoc tree at
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
>From ebad64d19377957976963f99ce1fcf2f09796357 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Myl=C3=A8ne=20Josserand?=
<mylene.josserand@free-electrons.com>
Date: Tue, 17 Jan 2017 15:02:21 +0100
Subject: [PATCH] ASoC: sun4i-i2s: Increase DMA max burst to 8
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
As done previously for sun4i-codec, the DMA maxburst of 4
is not supported by every SoCs so the DMA controller engine
returns "unsupported value".
As a maxburst of 8 is supported by all variants, this patch
increases it to 8.
For more details, see commit from Chen-Yu Tsai:
commit 730e2dd0cbc7 ("ASoC: sun4i-codec: Increase DMA max burst to 8")
Signed-off-by: Myl??ne Josserand <mylene.josserand@free-electrons.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
sound/soc/sunxi/sun4i-i2s.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
index f24d19526603..4237323ef594 100644
--- a/sound/soc/sunxi/sun4i-i2s.c
+++ b/sound/soc/sunxi/sun4i-i2s.c
@@ -694,10 +694,10 @@ static int sun4i_i2s_probe(struct platform_device *pdev)
}
i2s->playback_dma_data.addr = res->start + SUN4I_I2S_FIFO_TX_REG;
- i2s->playback_dma_data.maxburst = 4;
+ i2s->playback_dma_data.maxburst = 8;
i2s->capture_dma_data.addr = res->start + SUN4I_I2S_FIFO_RX_REG;
- i2s->capture_dma_data.maxburst = 4;
+ i2s->capture_dma_data.maxburst = 8;
pm_runtime_enable(&pdev->dev);
if (!pm_runtime_enabled(&pdev->dev)) {
--
2.11.0
^ permalink raw reply related
* [PATCH v2 06/14] ARM: davinci: da850: model the SATA refclk
From: David Lechner @ 2017-01-17 18:40 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1484655976-25382-7-git-send-email-bgolaszewski@baylibre.com>
On 01/17/2017 06:26 AM, Bartosz Golaszewski wrote:
> Register a dummy clock modelling the external SATA oscillator for
> da850 DT mode. For non-DT boot we don't register the clock - instead
> we rely on the default MPY value defined in the da850 ahci driver (as
> is done currently).
Why not register a clock for non-DT boot as well?
^ permalink raw reply
* [PATCH] arm64: mm: fix __page_to_voff definition
From: Mark Rutland @ 2017-01-17 18:38 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <424a4f63-316b-3f14-6a29-a8a754d9d68d@gmail.com>
On Tue, Jan 17, 2017 at 08:15:36PM +0200, Oleksandr Andrushchenko wrote:
> Do you also want "Fixes: 3fa72fe9c614 ("arm64: mm: fix
> __page_to_voff definition")"
>From a look at the git history, that Fixes tag looks correct, so yes
please.
Thanks,
Mark.
^ permalink raw reply
* [PATCH v2 01/14] devicetree: bindings: add bindings for ahci-da850
From: David Lechner @ 2017-01-17 18:35 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1484655976-25382-2-git-send-email-bgolaszewski@baylibre.com>
On 01/17/2017 06:26 AM, Bartosz Golaszewski wrote:
> Add DT bindings for the TI DA850 AHCI SATA controller.
>
> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> ---
> Documentation/devicetree/bindings/ata/ahci-da850.txt | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/ata/ahci-da850.txt
>
> diff --git a/Documentation/devicetree/bindings/ata/ahci-da850.txt b/Documentation/devicetree/bindings/ata/ahci-da850.txt
> new file mode 100644
> index 0000000..e7111b4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/ata/ahci-da850.txt
> @@ -0,0 +1,18 @@
> +Device tree binding for the TI DA850 AHCI SATA Controller
> +---------------------------------------------------------
> +
> +Required properties:
> + - compatible: must be "ti,da850-ahci"
> + - reg: physical base addresses and sizes of the controller's register areas
> + - interrupts: interrupt specifier (refer to the interrupt binding)
> +
> +Optional properties:
> + - clocks: clock specifier (refer to the common clock binding)
Won't you also need a clock-names property since there are two clocks?
> +
> +Example:
> +
> + sata: ahci at 218000 {
> + compatible = "ti,da850-ahci";
> + reg = <0x218000 0x2000>, <0x22c018 0x4>;
> + interrupts = <67>;
> + };
>
It would be nice to have clocks and clock-names in the example as well.
^ permalink raw reply
* [PATCH] ARM: dts: imx6q-utilite-pro: enable 2nd display pipeline
From: Christopher Spinrath @ 2017-01-17 18:35 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <88bdfd5321484efc82af4132ac2f0d7e@rwthex-s1-b.rwth-ad.de>
Hi Philipp,
thanks for the review!
On 01/17/2017 09:57 AM, Philipp Zabel wrote:
> [...]
>> +
>> + parallel-display {
>> + compatible = "fsl,imx-parallel-display";
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pinctrl_ipu1>;
>> +
>> + interface-pix-fmt = "rgb24";
>
> This is not necessary if the connector created by the tpf410 has the
> correct media bus format set in its display_info structure. This can be
> done in tfp410_attach, before calling drm_mode_connector_attach_encoder:
>
> u32 bus_format = MEDIA_BUS_FMT_RGB888_1X24;
>
> drm_display_info_set_bus_formats(&dvi->connector.display_info,
> &bus_format, 1);
>
> After this is done, the above line should be removed in a follow-up
> patch.
Ok, I will send a mini follow-up series doing that with your
Suggested-by (unless you object) in the next few days.
Cheers,
Christopher
>> + port at 0 {
>> + reg = <0>;
>> +
>> + parallel_display_in: endpoint {
>> + remote-endpoint = <&ipu1_di0_disp0>;
>> + };
>> + };
>> +
>> + port at 1 {
>> + reg = <1>;
>> +
>> + parallel_display_out: endpoint {
>> + remote-endpoint = <&tfp410_in>;
>> + };
>> + };
>> + };
>> };
>> [...]
^ permalink raw reply
* [PATCH] clk: meson-gxbb: Export HDMI clocks
From: Stephen Boyd @ 2017-01-17 18:34 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1484654928-5640-1-git-send-email-narmstrong@baylibre.com>
On 01/17, Neil Armstrong wrote:
> Export HDMI clock from internal to dt-bindings.
>
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
> ---
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
I think we decided this would go with the dts changes if more
needed to be exposed.
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
^ permalink raw reply
* davinci common clock framework (was Re: [PATCH 03/10] devicetree: bindings: add bindings for ahci-da850)
From: David Lechner @ 2017-01-17 18:31 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <37c826cc-9804-291e-a7b2-a512b59524fd@ti.com>
On 01/17/2017 06:00 AM, Sekhar Nori wrote:
> On Tuesday 17 January 2017 12:17 AM, David Lechner wrote:
>> On 01/16/2017 08:30 AM, Bartosz Golaszewski wrote:
>>> 2017-01-16 13:45 GMT+01:00 Sekhar Nori <nsekhar@ti.com>:
>>>> On Monday 16 January 2017 03:43 PM, Bartosz Golaszewski wrote:
>>>
>>> It's true that once davinci gets ported (is this planned?) to using
>>> the common clock framework, we could just create a fixed-clock node in
>>> da850-lcdk for the SATA oscillator, so the new property is redundant.
>>>
>>
>> I have some commits[1] where I started on converting da850 to use the
>> common clock framework. But, I don't know anything about other davinci
>> family devices, so I don't think I could really take that to completion
>> without lots of help.
>
> I can help with testing, reviewing and filling in any missing
> information. But I wont have time to write the code itself.
>
>>
>> [1]: https://github.com/dlech/ev3dev-kernel/commits/wip-20160509
>
> I see that you have made a copy of the keystone PSC driver. I think you
> will need pretty strong reasons to not use the same driver with some
> customization for DaVinci.
>
It has been a while since I looked at this, but as I recall, the device
tree bindings for keystone are horrible and make no sense. So, I made
new bindings that make more sense. But since we can't break backwards
compatibility in device tree, I made a new driver rather than having the
mess of supporting two very different bindings in one driver. I don't
know if that is a strong enough reason, but that is why I did it. :-)
^ permalink raw reply
* [PATCH v2 2/2] arm64: dts: exynos: Add regulators for Vbus and Vbus-Boost
From: Krzysztof Kozlowski @ 2017-01-17 18:28 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1484665444-23365-3-git-send-email-pankaj.dubey@samsung.com>
On Tue, Jan 17, 2017 at 08:34:04PM +0530, Pankaj Dubey wrote:
> From: Vivek Gautam <gautamvivek1987@gmail.com>
>
> Adding fixed voltage regulators for Vbus and Vbus-boost required
> by USB 3.0 DRD controller on Exynos7-espresso board.
>
> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
> Signed-off-by: Vivek Gautam <gautamvivek1987@gmail.com>
> Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Same as patch 1.
> ---
> arch/arm64/boot/dts/exynos/exynos7-espresso.dts | 45 +++++++++++++++++++++++++
> 1 file changed, 45 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/exynos/exynos7-espresso.dts b/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
> index 9cf73cf..8d5abdd 100644
> --- a/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
> +++ b/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
> @@ -13,6 +13,7 @@
> #include "exynos7.dtsi"
> #include <dt-bindings/interrupt-controller/irq.h>
> #include <dt-bindings/clock/samsung,s2mps11.h>
> +#include <dt-bindings/gpio/gpio.h>
>
> / {
> model = "Samsung Exynos7 Espresso board based on EXYNOS7";
> @@ -33,6 +34,29 @@
> device_type = "memory";
> reg = <0x0 0x40000000 0x0 0xC0000000>;
> };
> +
> + usb30_vbus_reg: regulator-usb30 {
> + compatible = "regulator-fixed";
> + regulator-name = "VBUS_5V";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + gpio = <&gph1 1 GPIO_ACTIVE_HIGH>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&usb30_vbus_en>;
> + enable-active-high;
> + };
> +
> + usb3drd_boost_5v: regulator-usb3drd-boost {
> + compatible = "regulator-fixed";
> + regulator-name = "VUSB_VBUS_5V";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + gpio = <&gpf4 1 GPIO_ACTIVE_HIGH>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&usb3drd_boost_en>;
> + enable-active-high;
> + };
> +
> };
>
> &fin_pll {
> @@ -366,3 +390,24 @@
> vqmmc-supply = <&ldo2_reg>;
> disable-wp;
> };
> +
> +&usbdrd_phy {
> + vbus-supply = <&usb30_vbus_reg>;
> + vbus-boost-supply = <&usb3drd_boost_5v>;
> +};
> +
> +&pinctrl_bus1 {
> + usb30_vbus_en: usb30-vbus-en {
> + samsung,pins = "gph1-1";
> + samsung,pin-function = <1>;
Javier mentioned it, please use EXYNOS_PIN_FUNC_OUTPUT
> + samsung,pin-pud = <0>;
EXYNOS_PIN_PULL_NONE
> + samsung,pin-drv = <0>;
I think these are the same as in Exynos5422, so EXYNOS5420_PIN_DRV_LV1
Best regards,
Krzysztof
> + };
> +
> + usb3drd_boost_en: usb3drd-boost-en {
> + samsung,pins = "gpf4-1";
> + samsung,pin-function = <1>;
> + samsung,pin-pud = <0>;
> + samsung,pin-drv = <0>;
> + };
> +};
> --
> 2.7.4
>
^ permalink raw reply
* [PATCH v2 1/2] arm64: dts: exynos: Add USB 3.0 controller node for Exynos7
From: Krzysztof Kozlowski @ 2017-01-17 18:23 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1484665444-23365-2-git-send-email-pankaj.dubey@samsung.com>
On Tue, Jan 17, 2017 at 08:34:03PM +0530, Pankaj Dubey wrote:
> From: Vivek Gautam <gautamvivek1987@gmail.com>
>
> Add USB 3.0 DRD controller device node, with its clock
> and phy information to enable the same on Exynos7.
>
> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
> Signed-off-by: Vivek Gautam <gautamvivek1987@gmail.com>
> Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Javier's Reviewed-by should be at the end.
> ---
> arch/arm64/boot/dts/exynos/exynos7.dtsi | 34 +++++++++++++++++++++++++++++++++
> 1 file changed, 34 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/exynos/exynos7.dtsi b/arch/arm64/boot/dts/exynos/exynos7.dtsi
> index 9080a11..a2d8d11 100644
> --- a/arch/arm64/boot/dts/exynos/exynos7.dtsi
> +++ b/arch/arm64/boot/dts/exynos/exynos7.dtsi
> @@ -603,6 +603,40 @@
> #include "exynos7-trip-points.dtsi"
> };
> };
> +
> + usbdrd_phy: phy at 15500000 {
> + compatible = "samsung,exynos7-usbdrd-phy";
> + reg = <0x15500000 0x100>;
> + clocks = <&clock_fsys0 ACLK_USBDRD300>,
> + <&clock_fsys0 OSCCLK_PHY_CLKOUT_USB30_PHY>,
> + <&clock_fsys0 PHYCLK_USBDRD300_UDRD30_PIPE_PCLK_USER>,
> + <&clock_fsys0 PHYCLK_USBDRD300_UDRD30_PHYCLK_USER>,
> + <&clock_fsys0 SCLK_USBDRD300_REFCLK>;
> + clock-names = "phy", "ref", "phy_pipe",
> + "phy_utmi", "itp";
> + samsung,pmu-syscon = <&pmu_system_controller>;
> + #phy-cells = <1>;
> + };
> +
> + usbdrd3: usb at 15400000 {
> + compatible = "samsung,exynos7-dwusb3";
> + clocks = <&clock_fsys0 ACLK_USBDRD300>,
> + <&clock_fsys0 SCLK_USBDRD300_SUSPENDCLK>,
> + <&clock_fsys0 ACLK_AXIUS_USBDRD30X_FSYS0X>;
> + clock-names = "usbdrd30", "usbdrd30_susp_clk",
> + "usbdrd30_axius_clk";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges;
> +
> + dwc3 {
dtc should complain here - you need:
dwc3 at 15400000
In the same time I think the address node does not have to be put after
parent's usb.
Best regards,
Krzysztof
> + compatible = "snps,dwc3";
> + reg = <0x15400000 0x10000>;
> + interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
> + phys = <&usbdrd_phy 0>, <&usbdrd_phy 1>;
> + phy-names = "usb2-phy", "usb3-phy";
> + };
> + };
> };
> };
>
> --
> 2.7.4
>
^ permalink raw reply
* [PATCH v3 8/8] ARM: dts: kirkwood-rd88f6281: Utilize new DSA binding
From: Florian Fainelli @ 2017-01-17 18:22 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20170117182224.32212-1-f.fainelli@gmail.com>
Utilize the new DSA binding, introduced with commit 8c5ad1d6179d ("net: dsa:
Document new binding"). The legacy binding node is kept included, but is marked
disabled.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
arch/arm/boot/dts/kirkwood-rd88f6281-a.dts | 9 +++---
arch/arm/boot/dts/kirkwood-rd88f6281-z0.dts | 11 ++++++++
arch/arm/boot/dts/kirkwood-rd88f6281.dtsi | 44 +++++++++++++++++++++++++++++
3 files changed, 59 insertions(+), 5 deletions(-)
diff --git a/arch/arm/boot/dts/kirkwood-rd88f6281-a.dts b/arch/arm/boot/dts/kirkwood-rd88f6281-a.dts
index 6f771a99cb02..9ec5a65561e9 100644
--- a/arch/arm/boot/dts/kirkwood-rd88f6281-a.dts
+++ b/arch/arm/boot/dts/kirkwood-rd88f6281-a.dts
@@ -19,11 +19,6 @@
model = "Marvell RD88f6281 Reference design, with A0 or higher SoC";
compatible = "marvell,rd88f6281-a", "marvell,rd88f6281","marvell,kirkwood-88f6281", "marvell,kirkwood";
- dsa {
- switch at 0 {
- reg = <10 0>; /* MDIO address 10, switch 0 in tree */
- };
- };
};
&mdio {
@@ -34,6 +29,10 @@
};
};
+&switch {
+ reg = <10>;
+};
+
ð1 {
status = "okay";
diff --git a/arch/arm/boot/dts/kirkwood-rd88f6281-z0.dts b/arch/arm/boot/dts/kirkwood-rd88f6281-z0.dts
index 1a797381d3d4..6a4a65ec7944 100644
--- a/arch/arm/boot/dts/kirkwood-rd88f6281-z0.dts
+++ b/arch/arm/boot/dts/kirkwood-rd88f6281-z0.dts
@@ -33,3 +33,14 @@
ð1 {
status = "disabled";
};
+
+&switch {
+ reg = <0>;
+
+ ports {
+ port at 4 {
+ reg = <4>;
+ label = "wan";
+ };
+ };
+};
diff --git a/arch/arm/boot/dts/kirkwood-rd88f6281.dtsi b/arch/arm/boot/dts/kirkwood-rd88f6281.dtsi
index d5aacf137e40..91f5da5dae5f 100644
--- a/arch/arm/boot/dts/kirkwood-rd88f6281.dtsi
+++ b/arch/arm/boot/dts/kirkwood-rd88f6281.dtsi
@@ -54,6 +54,8 @@
};
dsa {
+ status = "disabled";
+
compatible = "marvell,dsa";
#address-cells = <2>;
#size-cells = <0>;
@@ -115,6 +117,48 @@
&mdio {
status = "okay";
+
+ switch: switch at 0 {
+ compatible = "marvell,mv88e6085";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port at 0 {
+ reg = <0>;
+ label = "lan1";
+ };
+
+ port at 1 {
+ reg = <1>;
+ label = "lan2";
+ };
+
+ port at 2 {
+ reg = <2>;
+ label = "lan3";
+ };
+
+ port at 3 {
+ reg = <3>;
+ label = "lan4";
+ };
+
+ port at 5 {
+ reg = <5>;
+ label = "cpu";
+ ethernet = <ð0port>;
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+
+ };
+ };
};
ð0 {
--
2.9.3
^ permalink raw reply related
* [PATCH v3 7/8] ARM: dts: kirkwood-mv88f6281gtw-ge: Utilize new DSA binding
From: Florian Fainelli @ 2017-01-17 18:22 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20170117182224.32212-1-f.fainelli@gmail.com>
Utilize the new DSA binding, introduced with commit 8c5ad1d6179d ("net: dsa:
Document new binding"). The legacy binding node is kept included, but is marked
disabled.
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts | 49 ++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
diff --git a/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts b/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts
index 172a38c0b8a9..327023a477b8 100644
--- a/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts
+++ b/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts
@@ -112,6 +112,8 @@
};
dsa {
+ status = "disabled";
+
compatible = "marvell,dsa";
#address-cells = <1>;
#size-cells = <0>;
@@ -159,6 +161,53 @@
&mdio {
status = "okay";
+
+ switch at 0 {
+ compatible = "marvell,mv88e6085";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port at 0 {
+ reg = <0>;
+ label = "lan1";
+ };
+
+ port at 1 {
+ reg = <1>;
+ label = "lan2";
+ };
+
+ port at 2 {
+ reg = <2>;
+ label = "lan3";
+ };
+
+ port at 3 {
+ reg = <3>;
+ label = "lan4";
+ };
+
+ port at 4 {
+ reg = <4>;
+ label = "wan";
+ };
+
+ port at 5 {
+ reg = <5>;
+ label = "cpu";
+ ethernet = <ð0port>;
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+ };
+ };
};
ð0 {
--
2.9.3
^ permalink raw reply related
* [PATCH v3 6/8] ARM: dts: kirkwood-linksys-viper: Utilize new DSA binding
From: Florian Fainelli @ 2017-01-17 18:22 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20170117182224.32212-1-f.fainelli@gmail.com>
Utilize the new DSA binding, introduced with commit 8c5ad1d6179d ("net: dsa:
Document new binding"). The legacy binding node is kept included, but is marked
disabled.
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
arch/arm/boot/dts/kirkwood-linksys-viper.dts | 49 ++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
diff --git a/arch/arm/boot/dts/kirkwood-linksys-viper.dts b/arch/arm/boot/dts/kirkwood-linksys-viper.dts
index 345fcac48dc7..df7851820507 100644
--- a/arch/arm/boot/dts/kirkwood-linksys-viper.dts
+++ b/arch/arm/boot/dts/kirkwood-linksys-viper.dts
@@ -70,6 +70,8 @@
};
dsa {
+ status = "disabled";
+
compatible = "marvell,dsa";
#address-cells = <2>;
#size-cells = <0>;
@@ -207,6 +209,53 @@
&mdio {
status = "okay";
+
+ switch at 10 {
+ compatible = "marvell,mv88e6085";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <16>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port at 0 {
+ reg = <0>;
+ label = "ethernet1";
+ };
+
+ port at 1 {
+ reg = <1>;
+ label = "ethernet2";
+ };
+
+ port at 2 {
+ reg = <2>;
+ label = "ethernet3";
+ };
+
+ port at 3 {
+ reg = <3>;
+ label = "ethernet4";
+ };
+
+ port at 4 {
+ reg = <4>;
+ label = "internet";
+ };
+
+ port at 5 {
+ reg = <5>;
+ label = "cpu";
+ ethernet = <ð0port>;
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+ };
+ };
};
&uart0 {
--
2.9.3
^ permalink raw reply related
* [PATCH v3 5/8] ARM: dts: kirkwood-dir665: Utilize new DSA binding
From: Florian Fainelli @ 2017-01-17 18:22 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20170117182224.32212-1-f.fainelli@gmail.com>
Utilize the new DSA binding, introduced with commit 8c5ad1d6179d ("net: dsa:
Document new binding"). The legacy binding node is kept included, but is marked
disabled.
Tested-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
arch/arm/boot/dts/kirkwood-dir665.dts | 49 +++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
diff --git a/arch/arm/boot/dts/kirkwood-dir665.dts b/arch/arm/boot/dts/kirkwood-dir665.dts
index 41acbb6dd6ab..4d2b15d6244a 100644
--- a/arch/arm/boot/dts/kirkwood-dir665.dts
+++ b/arch/arm/boot/dts/kirkwood-dir665.dts
@@ -194,6 +194,8 @@
};
dsa {
+ status = "disabled";
+
compatible = "marvell,dsa";
#address-cells = <2>;
#size-cells = <0>;
@@ -241,6 +243,53 @@
&mdio {
status = "okay";
+
+ switch at 0 {
+ compatible = "marvell,mv88e6085";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port at 0 {
+ reg = <0>;
+ label = "lan4";
+ };
+
+ port at 1 {
+ reg = <1>;
+ label = "lan3";
+ };
+
+ port at 2 {
+ reg = <2>;
+ label = "lan2";
+ };
+
+ port at 3 {
+ reg = <3>;
+ label = "lan1";
+ };
+
+ port at 4 {
+ reg = <4>;
+ label = "wan";
+ };
+
+ port at 6 {
+ reg = <6>;
+ label = "cpu";
+ ethernet = <ð0port>;
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+ };
+ };
};
/* eth0 is connected to a Marvell 88E6171 switch, without a PHY. So set
--
2.9.3
^ permalink raw reply related
* [PATCH v3 4/8] ARM: dts: armada-xp-linksys-mamba: Utilize new DSA binding
From: Florian Fainelli @ 2017-01-17 18:22 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20170117182224.32212-1-f.fainelli@gmail.com>
Utilize the new DSA binding, introduced with commit 8c5ad1d6179d ("net: dsa:
Document new binding"). The legacy binding node is kept included, but is marked
disabled.
Tested-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
arch/arm/boot/dts/armada-xp-linksys-mamba.dts | 53 +++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts
index 83ac884c0f8a..42ea8764814c 100644
--- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts
+++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts
@@ -302,6 +302,8 @@
};
dsa {
+ status = "disabled";
+
compatible = "marvell,dsa";
#address-cells = <2>;
#size-cells = <0>;
@@ -398,3 +400,54 @@
spi-max-frequency = <40000000>;
};
};
+
+&mdio {
+ status = "okay";
+
+ switch at 0 {
+ compatible = "marvell,mv88e6085";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port at 0 {
+ reg = <0>;
+ label = "lan4";
+ };
+
+ port at 1 {
+ reg = <1>;
+ label = "lan3";
+ };
+
+ port at 2 {
+ reg = <2>;
+ label = "lan2";
+ };
+
+ port at 3 {
+ reg = <3>;
+ label = "lan1";
+ };
+
+ port at 4 {
+ reg = <4>;
+ label = "internet";
+ };
+
+ port at 5 {
+ reg = <5>;
+ label = "cpu";
+ ethernet = <ð0>;
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+ };
+ };
+};
--
2.9.3
^ permalink raw reply related
* [PATCH v3 3/8] ARM: dts: armada-388-clearfog: Utilize new DSA binding
From: Florian Fainelli @ 2017-01-17 18:22 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20170117182224.32212-1-f.fainelli@gmail.com>
Utilize the new DSA binding, introduced with commit 8c5ad1d6179d ("net:
dsa: Document new binding"). The legacy binding node is kept included, but is
marked disabled.
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
arch/arm/boot/dts/armada-388-clearfog.dts | 65 +++++++++++++++++++++++++++++++
1 file changed, 65 insertions(+)
diff --git a/arch/arm/boot/dts/armada-388-clearfog.dts b/arch/arm/boot/dts/armada-388-clearfog.dts
index 71ce201c903e..40ec6d768669 100644
--- a/arch/arm/boot/dts/armada-388-clearfog.dts
+++ b/arch/arm/boot/dts/armada-388-clearfog.dts
@@ -351,6 +351,8 @@
};
dsa at 0 {
+ status = "disabled";
+
compatible = "marvell,dsa";
dsa,ethernet = <ð1>;
dsa,mii-bus = <&mdio>;
@@ -444,3 +446,66 @@
status = "disabled";
};
};
+
+&mdio {
+ status = "okay";
+
+ switch at 4 {
+ compatible = "marvell,mv88e6085";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <4>;
+ pinctrl-0 = <&clearfog_dsa0_clk_pins &clearfog_dsa0_pins>;
+ pinctrl-names = "default";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port at 0 {
+ reg = <0>;
+ label = "lan5";
+ };
+
+ port at 1 {
+ reg = <1>;
+ label = "lan4";
+ };
+
+ port at 2 {
+ reg = <2>;
+ label = "lan3";
+ };
+
+ port at 3 {
+ reg = <3>;
+ label = "lan2";
+ };
+
+ port at 4 {
+ reg = <4>;
+ label = "lan1";
+ };
+
+ port at 5 {
+ reg = <5>;
+ label = "cpu";
+ ethernet = <ð1>;
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+
+ port at 6 {
+ /* 88E1512 external phy */
+ reg = <6>;
+ label = "lan6";
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+ };
+ };
+};
--
2.9.3
^ permalink raw reply related
* [PATCH v3 2/8] ARM: dts: armada-385-linksys: Utilize new DSA binding
From: Florian Fainelli @ 2017-01-17 18:22 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20170117182224.32212-1-f.fainelli@gmail.com>
Utilize the new DSA binding, introduced with commit 8c5ad1d6179d ("net: dsa:
Document new binding"). The legacy binding node is kept included, but is marked
disabled.
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
arch/arm/boot/dts/armada-385-linksys.dtsi | 52 ++++++++++++++++++++++++++++++-
1 file changed, 51 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/armada-385-linksys.dtsi b/arch/arm/boot/dts/armada-385-linksys.dtsi
index 8f0e508f64ae..20d5e8b00f2d 100644
--- a/arch/arm/boot/dts/armada-385-linksys.dtsi
+++ b/arch/arm/boot/dts/armada-385-linksys.dtsi
@@ -103,8 +103,56 @@
};
};
- mdio {
+ mdio at 72004 {
status = "okay";
+
+ switch at 0 {
+ compatible = "marvell,mv88e6095";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port at 0 {
+ reg = <0>;
+ label = "lan4";
+ };
+
+ port at 1 {
+ reg = <1>;
+ label = "lan3";
+ };
+
+ port at 2 {
+ reg = <2>;
+ label = "lan2";
+ };
+
+ port at 3 {
+ reg = <3>;
+ label = "lan1";
+ };
+
+ port at 4 {
+ reg = <4>;
+ label = "wan";
+ };
+
+ port at 5 {
+ reg = <5>;
+ label = "cpu";
+ ethernet = <ð2>;
+
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+ };
+ };
};
sata at a8000 {
@@ -261,6 +309,8 @@
};
dsa at 0 {
+ status = "disabled";
+
compatible = "marvell,dsa";
#address-cells = <2>;
#size-cells = <0>;
--
2.9.3
^ permalink raw reply related
* [PATCH v3 1/8] ARM: dts: armada-370-rd: Utilize new DSA binding
From: Florian Fainelli @ 2017-01-17 18:22 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20170117182224.32212-1-f.fainelli@gmail.com>
Utilize the new DSA binding, introduced with commit 8c5ad1d6179d ("net: dsa:
Document new binding"). The legacy binding node is kept included, but is marked
disabled.
Tested-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
arch/arm/boot/dts/armada-370-rd.dts | 44 +++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/arch/arm/boot/dts/armada-370-rd.dts b/arch/arm/boot/dts/armada-370-rd.dts
index c3fd6e49212f..ade956cbd41a 100644
--- a/arch/arm/boot/dts/armada-370-rd.dts
+++ b/arch/arm/boot/dts/armada-370-rd.dts
@@ -173,6 +173,8 @@
};
dsa {
+ status = "disabled";
+
compatible = "marvell,dsa";
#address-cells = <2>;
#size-cells = <0>;
@@ -235,6 +237,48 @@
phy0: ethernet-phy at 0 {
reg = <0>;
};
+
+ switch: switch at 10 {
+ compatible = "marvell,mv88e6085";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x10>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port at 0 {
+ reg = <0>;
+ label = "lan0";
+ };
+
+ port at 1 {
+ reg = <1>;
+ label = "lan1";
+ };
+
+ port at 2 {
+ reg = <2>;
+ label = "lan2";
+ };
+
+ port at 3 {
+ reg = <3>;
+ label = "lan3";
+ };
+
+ port at 5 {
+ reg = <5>;
+ label = "cpu";
+ ethernet = <ð1>;
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+ };
+ };
};
--
2.9.3
^ permalink raw reply related
* [PATCH v3 0/8] ARM: dts: Switch to new DSA binding
From: Florian Fainelli @ 2017-01-17 18:22 UTC (permalink / raw)
To: linux-arm-kernel
Hi all,
This patch series converts the in-tree users to utilize the new (relatively)
DSA binding that was introduced with commit 8c5ad1d6179d ("net: dsa: Document
new binding"). The legacy binding node is kept included, but is marked
disabled.
Changes in v3:
- collected tags from Andrew and Russell
- added missing change to arch/arm/boot/dts/kirkwood-rd88f6281-a.dts
Changes in v2:
- patch 1: Use an hexadecimal reg property
- patch 2: fixed the subject
- patch 3: s/okay/disabled/ for the legacy DSA node
- patches 7/8: fixed a stray whitespace
In about 2-3 releases we may consider removing the old DSA binding entirely
from the kernel.
Thank you!
Florian Fainelli (8):
ARM: dts: armada-370-rd: Utilize new DSA binding
ARM: dts: armada-385-linksys: Utilize new DSA binding
ARM: dts: armada-388-clearfog: Utilize new DSA binding
ARM: dts: armada-xp-linksys-mamba: Utilize new DSA binding
ARM: dts: kirkwood-dir665: Utilize new DSA binding
ARM: dts: kirkwood-linksys-viper: Utilize new DSA binding
ARM: dts: kirkwood-mv88f6281gtw-ge: Utilize new DSA binding
ARM: dts: kirkwood-rd88f6281: Utilize new DSA binding
arch/arm/boot/dts/armada-370-rd.dts | 44 +++++++++++++++++
arch/arm/boot/dts/armada-385-linksys.dtsi | 52 ++++++++++++++++++++-
arch/arm/boot/dts/armada-388-clearfog.dts | 65 ++++++++++++++++++++++++++
arch/arm/boot/dts/armada-xp-linksys-mamba.dts | 53 +++++++++++++++++++++
arch/arm/boot/dts/kirkwood-dir665.dts | 49 +++++++++++++++++++
arch/arm/boot/dts/kirkwood-linksys-viper.dts | 49 +++++++++++++++++++
arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts | 49 +++++++++++++++++++
arch/arm/boot/dts/kirkwood-rd88f6281-z0.dts | 11 +++++
arch/arm/boot/dts/kirkwood-rd88f6281.dtsi | 44 +++++++++++++++++
9 files changed, 415 insertions(+), 1 deletion(-)
--
2.9.3
^ permalink raw reply
* [PATCH] arm64: mm: fix __page_to_voff definition
From: Oleksandr Andrushchenko @ 2017-01-17 18:15 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20170117171929.GA367@leverpostej>
On 01/17/2017 07:19 PM, Mark Rutland wrote:
> On Tue, Jan 17, 2017 at 07:13:45PM +0200, Oleksandr Andrushchenko wrote:
>> On 01/17/2017 06:15 PM, Mark Rutland wrote:
>>> On Tue, Jan 17, 2017 at 05:23:53PM +0200, Oleksandr Andrushchenko wrote:
>>>> From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
>>>>
>>>> Fix parameter name for __page_to_voff, to match its definition.
>>>> There are other callers of page_to_virt which do not
>>>> declare 'page'.
>>>>
>>>> Fixes: 3fa72fe9c614 ("arm64: mm: fix __page_to_voff definition")
>>>> Signed-off-by: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
>>> I take it this is because it messes up the 'struct page' at the end of
>>> the macro expansion?
>> yes, you got it right
>>> It would be good to explicitly state that, since that's not immediately
>>> obvious.
>> Will do that in patch v1
>>> With that:
>>>
>>> Acked-by: Mark Rutland <mark.rutland@arm.com>
>> Can I put your ack into the v1?
> Yes, with the updated commit message and title, you can add my ack.
>
> W.r.t. wording, I'd recommend:
>
> arm64: mm: avoid name clash in __page_to_voff()
>
> The arm64 __page_to_voff() macro taks a parameter called 'page', and
> also refers to 'struct page'. Thus, if the value passed in is not
> called 'page', we'll refer to the wrong struct name (which might not
> exist).
>
> Rename the parameter so that it doesn't clash.
Great, thanks
Do you also want "Fixes: 3fa72fe9c614 ("arm64: mm: fix __page_to_voff
definition")"
line or it is good without it?
> Thanks,
> Mark.
>
>>> Thanks,
>>> Mark.
>> Thanks,
>> Oleksandr
>>>> ---
>>>> arch/arm64/include/asm/memory.h | 2 +-
>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h
>>>> index bfe632808d77..90c39a662379 100644
>>>> --- a/arch/arm64/include/asm/memory.h
>>>> +++ b/arch/arm64/include/asm/memory.h
>>>> @@ -222,7 +222,7 @@ static inline void *phys_to_virt(phys_addr_t x)
>>>> #define _virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT)
>>>> #else
>>>> #define __virt_to_pgoff(kaddr) (((u64)(kaddr) & ~PAGE_OFFSET) / PAGE_SIZE * sizeof(struct page))
>>>> -#define __page_to_voff(page) (((u64)(page) & ~VMEMMAP_START) * PAGE_SIZE / sizeof(struct page))
>>>> +#define __page_to_voff(kaddr) (((u64)(kaddr) & ~VMEMMAP_START) * PAGE_SIZE / sizeof(struct page))
>>>> #define page_to_virt(page) ((void *)((__page_to_voff(page)) | PAGE_OFFSET))
>>>> #define virt_to_page(vaddr) ((struct page *)((__virt_to_pgoff(vaddr)) | VMEMMAP_START))
>>>> --
>>>> 2.7.4
>>>>
>>>>
>>>> _______________________________________________
>>>> linux-arm-kernel mailing list
>>>> linux-arm-kernel at lists.infradead.org
>>>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply
* [PATCH] ASoC: sunxi: Add bindings for sun8i to SPDIF
From: Mark Brown @ 2017-01-17 18:15 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20170112173343.9953-1-codekipper@gmail.com>
On Thu, Jan 12, 2017 at 06:33:43PM +0100, codekipper at gmail.com wrote:
> From: Marcus Cooper <codekipper@gmail.com>
>
> The H3 SoC uses the same SPDIF block as found in earlier SoCs, but the
> transmit fifo is at a different address.
>
> Signed-off-by: Marcus Cooper <codekipper@gmail.com>
> ---
> Documentation/devicetree/bindings/sound/sunxi,sun4i-spdif.txt | 1 +
> 1 file changed, 1 insertion(+)
This is fine but it doesn't actually add the compatible string to the
driver which I'd expect.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170117/5c3d2259/attachment-0001.sig>
^ permalink raw reply
* CONFIG_PCIEASPM breaks PCIe on Marvell Armada 385 machine
From: Bjorn Helgaas @ 2017-01-17 18:14 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20170117175728.GE27312@n2100.armlinux.org.uk>
On Tue, Jan 17, 2017 at 05:57:28PM +0000, Russell King - ARM Linux wrote:
> On Tue, Jan 17, 2017 at 05:51:16PM +0000, Russell King - ARM Linux wrote:
> > On Tue, Jan 17, 2017 at 11:46:49AM -0600, Bjorn Helgaas wrote:
> > > Uwe has already done that; the dmesg logs including this
> > > instrumentation are at
> > > https://bugzilla.kernel.org/show_bug.cgi?id=192441
> >
> > Grr, <swears about SSL incompatibilities>... wget's the URL and then
> > uses elinks on it...
> >
> > Umm, not quite. He's done mvebu_pcie_hw_wr_conf() and mvebu_pcie_hw_rd_conf()
> > but not the bridge from the descriptions given on the attachments.
> > Obviously, it's going to be a lot of work to manufacture the links to
> > look at each attachment to thoroughly check, so I'm not going to do
> > that given quite how broken SSL crap is today.
> >
> > (Try installing elinks and pointing it at the above URL.)
>
> Oh, and looking at some of the debug that's been added:
>
> [ 3.646322] mvebu_pcie_rd_conf(where=16, size=4, val=3892314116) => 0
> [ 3.646325] mvebu_pcie_wr_conf(where=16, size=4, val=4294967295)
> [ 3.646329] mvebu_pcie_rd_conf(where=16, size=4, val=4292870148) => 0
> [ 3.646332] mvebu_pcie_wr_conf(where=16, size=4, val=3892314116)
>
> Please print register values in HEX, not decimal. Same for register
> addresses. Hex is the normal base to print this information, which
> the human brain can easily comprehend and translate to bits in a
> register. Decimal values are useless and might as well be encrypted.
The instrumentation has evolved a bit since then. Latest is below (could
still use improvement, but it does address your suggestions above):
https://bugzilla.kernel.org/attachment.cgi?id=251691 (CONFIG_PCIEASPM=y)
https://bugzilla.kernel.org/attachment.cgi?id=251701 (CONFIG_PCIEASPM not set)
^ permalink raw reply
* [PATCH v7 2/3] input: tm2-touchkey: Add touchkey driver support for TM2
From: Krzysztof Kozlowski @ 2017-01-17 18:10 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <CAKdAkRQij9VuG1mguE0FwQMKuHrnyLAZJxOtkoR97uuX+ZBmLQ@mail.gmail.com>
On Tue, Jan 17, 2017 at 10:06:27AM -0800, Dmitry Torokhov wrote:
> On Tue, Jan 17, 2017 at 9:20 AM, Krzysztof Kozlowski <krzk@kernel.org> wrote:
> > On Tue, Jan 17, 2017 at 02:54:38PM +0900, Jaechul Lee wrote:
> >> This patch adds support for the TM2 touch key and led
> >> functionality.
> >>
> >> The driver interfaces with userspace through an input device and
> >> reports KEY_PHONE and KEY_BACK event types. LED brightness can be
> >> controlled by "/sys/class/leds/tm2-touchkey/brightness".
> >>
> >> Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
> >> Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
> >> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
> >> Reviewed-by: Andi Shyti <andi.shyti@samsung.com>
> >> Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
> >> Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
> >> Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
> >> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> >
> > This looks unusual. How did Dmitry's Sob end here?
>
> I sent Jaechul a version of the patch to try out.
Ah, makes sense then.
Best regards,
Krzysztof
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox