[RFC] Bluetooth: Retry configure request if result is L2CAP_CONF_UNKNOWN

2019-02-07 Thread Andrey Smirnov
a mask of supported conf option types per connection 2. Parse the body of response L2CAP_CONF_UNKNOWN and adjust connection's supported conf option types mask 3. Retry configuration step the same way it's done for L2CAP_CONF_UNACCEPT Signed-off-by: Andrey Smirnov Cc: Pierre-

[PATCH v5 0/3] Reset controller support for i.MX8MQ

2019-01-21 Thread Andrey Smirnov
This patch contains changes I made in order to add support for i.MX8MQ to reset-imx7.c in order to enable support of PCIE IP block on i.MX8MQ SoCs. Feedback is welcome! Thanks, Andrey Smirnov Changes since [v4] - Reset driver reworked to support different IP variants by providing different

[PATCH v5 2/3] dt-bindings: reset: imx7: Document usage on i.MX8MQ SoCs

2019-01-21 Thread Andrey Smirnov
nux-kernel@vger.kernel.org Reviewed-by: Rob Herring Signed-off-by: Andrey Smirnov --- .../bindings/reset/fsl,imx7-src.txt | 7 +- include/dt-bindings/reset/imx8mq-reset.h | 64 +++ 2 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 include/dt-bind

[PATCH v5 1/3] reset: imx7: Add plubming to support multiple IP variants

2019-01-21 Thread Andrey Smirnov
ob Herring Cc: devicet...@vger.kernel.org Cc: linux-...@nxp.com Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Andrey Smirnov --- drivers/reset/reset-imx7.c | 50 +++--- 1 file changed, 36 insertions(+), 14 deletions(-) di

[PATCH v5 3/3] reset: imx7: Add support for i.MX8MQ IP block variant

2019-01-21 Thread Andrey Smirnov
..@nxp.com Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Andrey Smirnov --- drivers/reset/Kconfig | 4 +- drivers/reset/reset-imx7.c | 122 + 2 files changed, 124 insertions(+), 2 deletions(-) diff --git a/dri

Re: [PATCH v4 1/3] reset: imx7: Add plubming to support multiple IP variants

2019-01-17 Thread Andrey Smirnov
On Thu, Jan 17, 2019 at 9:16 AM Philipp Zabel wrote: > > On Wed, 2018-12-19 at 17:06 -0800, Andrey Smirnov wrote: > > In order to enable supporting i.MX8MQ with this driver, convert it to > > expect variant specific bits to be passed via driver data. > > > > Cc:

Re: [PATCH v4 2/3] dt-bindings: reset: imx7: Document usage on i.MX8MQ SoCs

2019-01-17 Thread Andrey Smirnov
On Thu, Jan 17, 2019 at 8:45 AM Philipp Zabel wrote: > > Hi Andrey, > > sorry for the delay. Thank you for the update, apart from the comments > below, the list now looks to be complete. > > On Wed, 2018-12-19 at 17:06 -0800, Andrey Smirnov wrote: > > The driver now

Re: [PATCH v4 4/4] PCI: imx6: Add support for i.MX8MQ

2019-01-12 Thread Andrey Smirnov
On Fri, Jan 11, 2019 at 11:53 AM Rob Herring wrote: > > On Fri, Jan 04, 2019 at 08:53:35AM -0800, Andrey Smirnov wrote: > > Add code needed to support i.MX8MQ variant. > > > > Cc: Bjorn Helgaas > > Cc: Fabio Estevam > > Cc: Chris Healy > > Cc: Lucas St

[PATCH v5 2/4] PCI: imx6: Mark PHY functions as i.MX6 specific

2019-01-12 Thread Andrey Smirnov
PCIE PHY IP block on i.MX7D differs from the one used on i.MX6 family, so none of the code in current implementation of imx6_setup_phy_mpll() is applicable. Tested-by: Trent Piepho Signed-off-by: Andrey Smirnov Reviewed-by: Lucas Stach Cc: Bjorn Helgaas Cc: Fabio Estevam Cc: Chris Healy Cc

[PATCH v5 0/4] PCIE support for i.MX8MQ

2019-01-12 Thread Andrey Smirnov
code pertaining to L1SS was dropped to simplify the patch - Documented additions to DT bindings Feedback is welcome! Thanks, Andrey Smirnov [v4] https://lore.kernel.org/linux-arm-kernel/20190104165335.13205-1-andrew.smir...@gmail.com [v3] https://lore.kernel.org/linux-arm-kernel/2018121804

[PATCH v5 1/4] PCI: imx6: introduce drvdata

2019-01-12 Thread Andrey Smirnov
nux-kernel@vger.kernel.org Cc: linux-...@vger.kernel.org Signed-off-by: Stefan Agner Reviewed-by: Lucas Stach [andrew.smir...@gmail.com reformatted drvdata, to simplify future diffs] Signed-off-by: Andrey Smirnov --- drivers/pci/controller/dwc/pci-imx6.c | 56 ++- 1 file c

[PATCH v5 3/4] PCI: imx6: Convert DIRECT_SPEED_CHANGE quirk code to use a flag

2019-01-12 Thread Andrey Smirnov
: Lucas Stach Cc: Leonard Crestez Cc: "A.s. Dong" Cc: Richard Zhu Cc: linux-...@nxp.com Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: linux-...@vger.kernel.org Reviewed-by: Lucas Stach Signed-off-by: Andrey Smirnov --- drivers/pci/controller/dwc/pci-i

[PATCH v5 4/4] PCI: imx6: Add support for i.MX8MQ

2019-01-12 Thread Andrey Smirnov
kernel.org Reviewed-by: Lucas Stach Signed-off-by: Andrey Smirnov --- .../bindings/pci/fsl,imx6q-pcie.txt | 3 +- drivers/pci/controller/dwc/Kconfig| 4 +- drivers/pci/controller/dwc/pci-imx6.c | 77 ++- 3 files changed, 79 insertions(+), 5 deletion

Re: [PATCH v4 0/3] Reset controller support for i.MX8MQ

2019-01-14 Thread Andrey Smirnov
On Wed, Dec 19, 2018 at 5:07 PM Andrey Smirnov wrote: > > Everyone: > > This patch contains changes I made in order to add support for i.MX8MQ > to reset-imx7.c in order to enable support of PCIE IP block on i.MX8MQ > SoCs. > > Feedback is welcome! > > Thanks, &g

[PATCH v7 0/4] PCIE support for i.MX8MQ

2019-02-01 Thread Andrey Smirnov
two intances of PCIE IP block - All code pertaining to L1SS was dropped to simplify the patch - Documented additions to DT bindings Feedback is welcome! Thanks, Andrey Smirnov [v6] https://lore.kernel.org/linux-arm-kernel/https://lore.kernel.org/linux-arm-kernel/20190124201522.8973-1-andre

[PATCH v7 1/4] PCI: imx6: Introduce drvdata

2019-02-01 Thread Andrey Smirnov
Introduce driver data struct. This will simplify handling of device specific differences. Signed-off-by: Stefan Agner [andrew.smir...@gmail.com reformatted drvdata, to simplify future diffs] Signed-off-by: Andrey Smirnov Reviewed-by: Lucas Stach Cc: Bjorn Helgaas Cc: Fabio Estevam Cc: Chris

[PATCH v7 4/4] PCI: imx6: Add support for i.MX8MQ

2019-02-01 Thread Andrey Smirnov
Add code needed to support i.MX8MQ variant. Signed-off-by: Andrey Smirnov Reviewed-by: Lucas Stach Cc: Bjorn Helgaas Cc: Fabio Estevam Cc: Chris Healy Cc: Lucas Stach Cc: Leonard Crestez Cc: "A.s. Dong" Cc: Richard Zhu Cc: linux-...@nxp.com Cc: linux-arm-ker...@lists.infrad

[PATCH v7 3/4] PCI: imx6: Convert DIRECT_SPEED_CHANGE quirk code to use a flag

2019-02-01 Thread Andrey Smirnov
Both i.MX7D and i.MX8MQ have the same behaviour when it comes to clearing DIRECT_SPEED_CHANGE bit when no speed change occur. To account for that change the code handling that to use a generic flag instead of checking IP block variant. Signed-off-by: Andrey Smirnov Reviewed-by: Lucas Stach Cc

[PATCH v7 2/4] PCI: imx6: Mark PHY functions as i.MX6 specific

2019-02-01 Thread Andrey Smirnov
on apporpriate PCIe IP variants. Tested-by: Trent Piepho Signed-off-by: Andrey Smirnov Reviewed-by: Lucas Stach Cc: Bjorn Helgaas Cc: Fabio Estevam Cc: Chris Healy Cc: Lucas Stach Cc: Leonard Crestez Cc: "A.s. Dong" Cc: Richard Zhu Cc: linux-...@nxp.com Cc: lin

Re: [PATCH v4 2/3] dt-bindings: reset: imx7: Document usage on i.MX8MQ SoCs

2019-01-23 Thread Andrey Smirnov
On Wed, Jan 23, 2019 at 2:52 AM Philipp Zabel wrote: > > On Thu, 2019-01-17 at 14:38 -0800, Andrey Smirnov wrote: > [...] > > > To be honest, I don't like these two, I'm not convinced anymore that > > > they actually qualify as reset signals. To me it looks

[PATCH v6 1/4] PCI: imx6: Introduce drvdata

2019-01-24 Thread Andrey Smirnov
Introduce driver data struct. This will simplify handling of device specific differences. Signed-off-by: Stefan Agner [andrew.smir...@gmail.com reformatted drvdata, to simplify future diffs] Signed-off-by: Andrey Smirnov Reviewed-by: Lucas Stach Cc: Bjorn Helgaas Cc: Fabio Estevam Cc: Chris

[PATCH v6 0/4] PCIE support for i.MX8MQ

2019-01-24 Thread Andrey Smirnov
notations Changes since [v1]: - Driver changed to use single "fsl,controller-id" property to distinguish between two intances of PCIE IP block - All code pertaining to L1SS was dropped to simplify the patch - Documented additions to DT bindings Feedback is welcome! Thanks, Andr

[PATCH v6 2/4] PCI: imx6: Mark PHY functions as i.MX6 specific

2019-01-24 Thread Andrey Smirnov
PCIE PHY IP block on i.MX7D differs from the one used on i.MX6 family, so none of the code in current implementation of imx6_setup_phy_mpll() is applicable. Tested-by: Trent Piepho Signed-off-by: Andrey Smirnov Reviewed-by: Lucas Stach Cc: Bjorn Helgaas Cc: Fabio Estevam Cc: Chris Healy Cc

[PATCH v6 4/4] PCI: imx6: Add support for i.MX8MQ

2019-01-24 Thread Andrey Smirnov
Add code needed to support i.MX8MQ variant. Signed-off-by: Andrey Smirnov Reviewed-by: Lucas Stach Cc: Bjorn Helgaas Cc: Fabio Estevam Cc: Chris Healy Cc: Lucas Stach Cc: Leonard Crestez Cc: "A.s. Dong" Cc: Richard Zhu Cc: linux-...@nxp.com Cc: linux-arm-ker...@lists.infrad

[PATCH v6 3/4] PCI: imx6: Convert DIRECT_SPEED_CHANGE quirk code to use a flag

2019-01-24 Thread Andrey Smirnov
Both i.MX7D and i.MX8MQ have the same behaviour when it comes to clearing DIRECT_SPEED_CHANGE bit when no speed change occur. To account for that change the code handling that to use a generic flag instead of checking IP block variant. Signed-off-by: Andrey Smirnov Reviewed-by: Lucas Stach Cc

Re: [PATCH v5 3/3] reset: imx7: Add support for i.MX8MQ IP block variant

2019-01-24 Thread Andrey Smirnov
On Wed, Jan 23, 2019 at 2:49 AM Philipp Zabel wrote: > > Hi Andrey, > > On Mon, 2019-01-21 at 18:10 -0800, Andrey Smirnov wrote: > > Add bits and pieces needed to support IP block variant found on > > i.MX8MQ SoCs. > > > > Cc: p.za...@pengutronix.de

[PATCH v2] Bluetooth: Retry configure request if result is L2CAP_CONF_UNKNOWN

2019-05-21 Thread Andrey Smirnov
's done for L2CAP_CONF_UNACCEPT Signed-off-by: Andrey Smirnov Cc: Pierre-Loup A. Griffais Cc: Florian Dollinger Cc: Marcel Holtmann Cc: Johan Hedberg Cc: linux-blueto...@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- Changes since [v1]: - Patch simplified to simply clear

[PATCH] Input: uinput - add compat ioctl number translation for UI_*_FF_UPLOAD

2019-05-21 Thread Andrey Smirnov
and UI_END_FF_UPLOAD as well. Reported-by: Pierre-Loup A. Griffais Signed-off-by: Andrey Smirnov Cc: Dmitry Torokhov Cc: linux-in...@vger.kernel.org Cc: sta...@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/input/misc/uinput.c | 15 +-- 1 file changed, 13 insertions

[PATCH 2/3] ARM: dts: imx6: rdu2: Disable WP for USDHC2 and USDHC3

2019-05-22 Thread Andrey Smirnov
RDU2 production units come with resistor connecting WP pin to correpsonding GPIO DNPed for both SD card slots. Drop any WP related configuration and mark both slots with "disable-wp". Reported-by: Chris Healy Signed-off-by: Andrey Smirnov Cc: Shawn Guo Cc: Fabio Estevam Cc: Lucas

[PATCH 1/3] ARM: dts: imx6: rdu2: Add node for UCS1002 USB charger chip

2019-05-22 Thread Andrey Smirnov
Add node for UCS1002 USB charger chip connected to front panel USB and replace "regulator-fixed" previously used to control VBUS. Signed-off-by: Andrey Smirnov Cc: Shawn Guo Cc: Chris Healy Cc: Fabio Estevam Cc: Lucas Stach Cc: linux-arm-ker...@lists.infradead.org Cc: li

[PATCH 3/3] ARM: dts: imx6: rdu2: Limit USBH1 to Full Speed

2019-05-22 Thread Andrey Smirnov
Cabling used to connect devices to USBH1 on RDU2 does not meet USB spec cable quality and cable length requirements to operate at High Speed, so limit the port to Full Speed only. Reported-by: Chris Healy Signed-off-by: Andrey Smirnov Cc: Shawn Guo Cc: Fabio Estevam Cc: Lucas Stach Cc: linux

[PATCH v2 2/2] ARM: dts: vf610-zii-dev: Add QSPI node

2019-05-22 Thread Andrey Smirnov
Both rev C and rev B of the board come with two QSPI-NOR chips attached to the SoC. Add DT code describing all of this. Signed-off-by: Andrey Smirnov Cc: Shawn Guo Cc: Chris Healy Cc: Andrew Lunn Cc: Fabio Estevam Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org

[PATCH v2 1/2] ARM: dts: vf610-zii-dev: Fix incorrect UART2 pin assignment

2019-05-22 Thread Andrey Smirnov
UART2 is connected to PTD22/23, not PTD0/1. Fix corresponding pinmux node. Signed-off-by: Andrey Smirnov Cc: Shawn Guo Cc: Chris Healy Cc: Andrew Lunn Cc: Fabio Estevam Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org --- arch/arm/boot/dts/vf610-zii-dev.dtsi | 4

Re: [PATCH 1/3] ARM: dts: imx6: rdu2: Add node for UCS1002 USB charger chip

2019-05-22 Thread Andrey Smirnov
On Wed, May 22, 2019 at 2:37 AM Lucas Stach wrote: > > Hi Andrey, > > Am Mittwoch, den 22.05.2019, 00:12 -0700 schrieb Andrey Smirnov: > > Add node for UCS1002 USB charger chip connected to front panel USB and > > replace "regulator-fixed" previously used to co

Re: [PATCH 3/3] ARM: dts: imx6: rdu2: Limit USBH1 to Full Speed

2019-05-22 Thread Andrey Smirnov
On Wed, May 22, 2019 at 2:33 AM Lucas Stach wrote: > > Hi Andrey, > > Am Mittwoch, den 22.05.2019, 00:12 -0700 schrieb Andrey Smirnov: > > Cabling used to connect devices to USBH1 on RDU2 does not meet USB > > spec cable quality and cable length requirements to operate at

Re: [PATCH] thermal/drivers/of: Add a get_temp_id callback function

2019-05-23 Thread Andrey Smirnov
> and from the driver structure, so a back pointer to the driver structure > > is added in the sensor structure. > > Hi Eduardo, > > does the explanation clarifies the purpose of this change? > Eduardo, did you ever have a chance to revisit this thread? I would really like to make some progress on this one to unblock my i.MX8MQ hwmon series. Thanks, Andrey Smirnov

[PATCH] power: supply: sysfs: prevent endless uevent loop with CONFIG_POWER_SUPPLY_DEBUG

2019-04-05 Thread Andrey Smirnov
ent for a new device, generating the next syslog entry Both CONFIG_I2C_DEBUG_CORE and CONFIG_POWER_SUPPLY_DEBUG were reported in https://bugs.freedesktop.org/show_bug.cgi?id=76886 but only former seems to have been fixed. Change debug prints to use pr_debug insted to resolve the issue. Signed-off-by

[PATCH v5 5/5] arm64: dts: imx8mq-evk: Enable PCIE0 interface

2019-04-05 Thread Andrey Smirnov
Enable PCIE0 interface connected to BCM4356 WiFi/Bluetooth module. Signed-off-by: Andrey Smirnov Reviewed-by: Lucas Stach Reviewed-by: Fabio Estevam Cc: Shawn Guo Cc: Fabio Estevam Cc: Chris Healy Cc: Lucas Stach Cc: Leonard Crestez Cc: "A.s. Dong" Cc: Richard Zhu Cc: linux-.

[PATCH v5 3/5] arm64: dts: imx8mq: Combine PCIE power domains

2019-04-05 Thread Andrey Smirnov
pgc_pcie' power domain. Signed-off-by: Andrey Smirnov Reviewed-by: Lucas Stach Reviewed-by: Fabio Estevam Cc: Shawn Guo Cc: Fabio Estevam Cc: Chris Healy Cc: Lucas Stach Cc: Leonard Crestez Cc: "A.s. Dong" Cc: Richard Zhu Cc: linux-...@nxp.com Cc: linux-arm-ker...@lists.

[PATCH v5 4/5] arm64: dts: imx8mq: Add nodes for PCIe IP blocks

2019-04-05 Thread Andrey Smirnov
Add nodes for two PCIe controllers found on i.MX8MQ. Signed-off-by: Andrey Smirnov Reviewed-by: Lucas Stach Reviewed-by: Fabio Estevam Cc: Shawn Guo Cc: Fabio Estevam Cc: Chris Healy Cc: Lucas Stach Cc: Leonard Crestez Cc: "A.s. Dong" Cc: Richard Zhu Cc: linux-...@nxp.com Cc:

[PATCH v5 1/5] arm64: dts: imx8mq: Mark iomuxc_gpr as i.MX6Q compatible

2019-04-05 Thread Andrey Smirnov
Mark iomuxc_gpr as compatible with "fsl,imx6q-iomuxc-gpr" in order for to allow i.MX6 PCIe driver to use it. Signed-off-by: Andrey Smirnov Acked-by: Lucas Stach Reviewed-by: Fabio Estevam Cc: Shawn Guo Cc: Fabio Estevam Cc: Chris Healy Cc: Lucas Stach Cc: Leonard Crestez Cc:

[PATCH v5 0/5] PCIE support for i.MX8MQ (DT changes)

2019-04-05 Thread Andrey Smirnov
- Dropped unsupported IRQ from PCIe nodes (a leftover from vendor tree) - Added "pcie_aux" clock and moved clock configuration to board file since "pcie_bus" clock is now board specific Thanks, Andrey Smirnov [v1] https://lore.kernel.org/lkml/20190131204333.318

[PATCH v5 2/5] arm64: dts: imx8mq: Add a node for SRC IP block

2019-04-05 Thread Andrey Smirnov
Add a node for reset controller IP block found on i.MX8MQ. Signed-off-by: Andrey Smirnov Reviewed-by: Lucas Stach Reviewed-by: Fabio Estevam Cc: Shawn Guo Cc: Fabio Estevam Cc: Chris Healy Cc: Lucas Stach Cc: Leonard Crestez Cc: "A.s. Dong" Cc: Richard Zhu Cc: linux-...@

Re: [PATCH v3 01/13] thermal: qoriq: Remove unnecessary DT node is NULL check

2019-04-05 Thread Andrey Smirnov
On Wed, Apr 3, 2019 at 8:21 PM Daniel Lezcano wrote: > > On 01/04/2019 06:14, Andrey Smirnov wrote: > > This driver is meant to be used with Device Tree and there's no > > use-case where device's DT node is going to be NULL. Remove code > > protecting against

Re: [PATCH v3 04/13] thermal: qoriq: Add local struct qoriq_sensor pointer

2019-04-05 Thread Andrey Smirnov
On Wed, Apr 3, 2019 at 8:28 PM Daniel Lezcano wrote: > > On 01/04/2019 06:14, Andrey Smirnov wrote: > > Add local struct qoriq_sensor pointer in qoriq_tmu_register_tmu_zone() > > for brevity. > > > > Signed-off-by: Andrey Smirnov > > Cc: Chris Healy &g

Re: [PATCH v3 05/13] thermal: qoriq: Embed per-sensor data into struct qoriq_tmu_data

2019-04-05 Thread Andrey Smirnov
On Thu, Apr 4, 2019 at 12:57 AM Daniel Lezcano wrote: > > On 01/04/2019 06:14, Andrey Smirnov wrote: > > Embed per-sensor data into struct qoriq_tmu_data so we can drop the > > code allocating it. This also allows us to get rid of per-sensor back > > reference to struct

Re: [PATCH v3 07/13] thermal: qoriq: Pass data to qoriq_tmu_calibration() directly

2019-04-05 Thread Andrey Smirnov
On Thu, Apr 4, 2019 at 1:12 AM Daniel Lezcano wrote: > > On 01/04/2019 06:14, Andrey Smirnov wrote: > > We can simplify error cleanup code if instead of passing a "struct > > platform_device *" to qoriq_tmu_calibration() and deriving a bunch of > > pointe

Re: [PATCH v3 08/13] thermal: qoriq: Convert driver to use devm_ioremap()

2019-04-05 Thread Andrey Smirnov
On Thu, Apr 4, 2019 at 1:23 AM Daniel Lezcano wrote: > > On 01/04/2019 06:14, Andrey Smirnov wrote: > > Convert driver to use devm_ioremap() to simplify memory deallocation > > and error handling code. No functional change intended. > > > > Signed-off-by: Andre

Re: [PATCH v3 09/13] thermal: qoriq: Convert driver to use regmap API

2019-04-05 Thread Andrey Smirnov
On Thu, Apr 4, 2019 at 1:47 AM Daniel Lezcano wrote: > > On 01/04/2019 06:14, Andrey Smirnov wrote: > > Convert driver to use regmap API, drop custom LE/BE IO helpers and > > simplify bit manipulation using regmap_update_bits(). This also allows > > us to convert some re

Re: [PATCH v3 11/13] thermal: qoriq: Do not report invalid temperature reading

2019-04-05 Thread Andrey Smirnov
On Thu, Apr 4, 2019 at 2:05 AM Daniel Lezcano wrote: > > On 01/04/2019 06:14, Andrey Smirnov wrote: > > Before returning measured temperature data to upper layer we need to > > make sure that the reading was marked as "valid" to avoid reporting > > bogus data. &

Re: [PATCH v3 13/13] thermal: qoriq: Add hwmon support

2019-04-05 Thread Andrey Smirnov
On Thu, Apr 4, 2019 at 2:12 AM Daniel Lezcano wrote: > > On 01/04/2019 06:14, Andrey Smirnov wrote: > > Expose thermal readings as a HWMON device, so that it could be > > accessed using lm-sensors. > > > > Signed-off-by: Andrey Smirnov > > Cc: Chris Healy &g

[PATCH] mtd: spi-nor: Add Micron MT25QL02 support

2019-05-12 Thread Andrey Smirnov
Add an entry for Micron MT25QL02 which is a 3V variant of already supported MT25QU02. Testing was done on a ZII VF610 Dev Board (rev. B). Signed-off-by: Cory Tusar Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Marek Vasut Cc: Tudor Ambarus Cc: linux-...@lists.infradead.org Cc: linux

[PATCH 2/2] ARM: dts: vf610-zii-dev: Add QSPI node

2019-05-12 Thread Andrey Smirnov
Both rev C and rev B of the board come with two QSPI-NOR chips attached to the SoC. Add DT code describing all of this. Signed-off-by: Andrey Smirnov Cc: Shawn Guo Cc: Chris Healy Cc: Andrew Lunn Cc: Fabio Estevam Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org

[PATCH 1/2] ARM: dts: vf610-zii-dev: Fix incorrect UART2 pin assignment

2019-05-12 Thread Andrey Smirnov
UART2 is connected to PTD22/23, not PTD0/1. Fix corresponding pinmux node. Signed-off-by: Andrey Smirnov Cc: Shawn Guo Cc: Chris Healy Cc: Andrew Lunn Cc: Fabio Estevam Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org --- arch/arm/boot/dts/vf610-zii-dev.dtsi | 4

Re: [PATCH 2/2] ARM: dts: vf610-zii-dev: Add QSPI node

2019-05-13 Thread Andrey Smirnov
On Mon, May 13, 2019 at 5:15 AM Fabio Estevam wrote: > > Hi Andrey, > > On Mon, May 13, 2019 at 12:59 AM Andrey Smirnov > wrote: > > > +&qspi0 { > > + pinctrl-names = "default"; > > + pinctr

Re: [PATCH 2/2] ARM: dts: Add support for ZII i.MX7 RPU2 board

2019-03-28 Thread Andrey Smirnov
On Tue, Mar 26, 2019 at 11:41 PM Andrey Smirnov wrote: > > Add support for ZII's i.MX7 based Remote Peripheral Unit 2 (RPU2) > board. > > Signed-off-by: Andrey Smirnov > Cc: Shawn Guo > Cc: Chris Healy > Cc: Andrew Lunn > Cc: Fabio Estevam >

Re: [PATCH] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock for SDMA

2019-03-28 Thread Andrey Smirnov
On Wed, Mar 27, 2019 at 4:17 AM Fabio Estevam wrote: > > Hi Andrey, > > On Tue, Mar 26, 2019 at 11:52 PM Andrey Smirnov > wrote: > > > I think it is worth fixing in DT, regardless if we do anything about > > SDMA driver or not. I'll add fixes for 6SX and 7D

[PATCH v3 6/9] ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ahb" clock to SDMA

2019-03-28 Thread Andrey Smirnov
t ratio is 1:1 which results in broken SDMA funtionality. Fix the code to specify IMX6SL_CLK_AHB as "ahb" clock for SDMA, to avoid detecting incorrect clock ratio. Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check") Signed-off-by: Andrey Smirnov Cc: Angus Ains

[PATCH v3 9/9] ARM: dts: imx50: Specify IMX5_CLK_IPG as "ahb" clock to SDMA

2019-03-28 Thread Andrey Smirnov
t ratio is 1:1 which results in broken SDMA funtionality. Fix the code to specify IMX5_CLK_AHB as "ahb" clock for SDMA, to avoid detecting incorrect clock ratio. Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check") Signed-off-by: Andrey Smirnov Cc: Angus Ains

[PATCH v3 2/9] ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ipg" clock to SDMA

2019-03-28 Thread Andrey Smirnov
t ratio is 1:1 which results in broken SDMA funtionality. Fix the code to specify IMX6SX_CLK_IPG as "ipg" clock for SDMA, to avoid detecting incorrect clock ratio. Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check") Signed-off-by: Andrey Smirnov Cc: Angus Ains

[PATCH v3 3/9] ARM: dts: imx7d: Specify IMX7D_CLK_IPG as "ipg" clock to SDMA

2019-03-28 Thread Andrey Smirnov
t ratio is 1:1 which results in broken SDMA funtionality. Fix the code to specify IMX7D_CLK_IPG as "ipg" clock for SDMA, to avoid detecting incorrect clock ratio. Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check") Signed-off-by: Andrey Smirnov Cc: Angus Ains

[PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA

2019-03-28 Thread Andrey Smirnov
t ratio is 1:1 which results in broken SDMA funtionality(this at least breaks RAVE SP serdev driver on RDU2). Fix the code to specify IMX6QDL_CLK_IPG as "ipg" clock for SDMA, to avoid detecting incorrect clock ratio. Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 ch

[PATCH v3 5/9] ARM: dts: imx6sll: Specify IMX6SLL_CLK_IPG as "ipg" clock to SDMA

2019-03-28 Thread Andrey Smirnov
t ratio is 1:1 which results in broken SDMA funtionality. Fix the code to specify IMX6SLL_CLK_IPG as "ipg" clock for SDMA, to avoid detecting incorrect clock ratio. Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check") Signed-off-by: Andrey Smirnov Cc: Angus Ains

[PATCH v3 4/9] ARM: dts: imx6ul: Specify IMX6UL_CLK_IPG as "ipg" clock to SDMA

2019-03-28 Thread Andrey Smirnov
t ratio is 1:1 which results in broken SDMA funtionality. Fix the code to specify IMX6UL_CLK_IPG as "ipg" clock for SDMA, to avoid detecting incorrect clock ratio. Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check") Signed-off-by: Andrey Smirnov Cc: Angus Ains

[PATCH v3 7/9] ARM: dts: imx53: Specify IMX5_CLK_IPG as "ahb" clock to SDMA

2019-03-28 Thread Andrey Smirnov
t ratio is 1:1 which results in broken SDMA funtionality. Fix the code to specify IMX5_CLK_AHB as "ahb" clock for SDMA, to avoid detecting incorrect clock ratio. Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check") Signed-off-by: Andrey Smirnov Cc: Angus Ains

[PATCH v3 8/9] ARM: dts: imx51: Specify IMX5_CLK_IPG as "ahb" clock to SDMA

2019-03-28 Thread Andrey Smirnov
t ratio is 1:1 which results in broken SDMA funtionality. Fix the code to specify IMX5_CLK_AHB as "ahb" clock for SDMA, to avoid detecting incorrect clock ratio. Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check") Signed-off-by: Andrey Smirnov Cc: Angus Ains

[PATCH v2 1/4] dt-bindings: iio: imx7d-adc: Add #io-channel-cells to required

2019-03-29 Thread Andrey Smirnov
Add #io-channel-cells to list of required properties. Needed to be able to reference that node by phandle. Signed-off-by: Andrey Smirnov Cc: Shawn Guo Cc: Chris Healy Cc: Andrew Lunn Cc: Fabio Estevam Cc: Rob Herring Cc: linux-kernel@vger.kernel.org Cc: devicet...@vger.kernel.org

[PATCH v2 2/4] ARM: dts: imx7s: Specify #io-channel-cells in ADC nodes

2019-03-29 Thread Andrey Smirnov
Specify #io-channel-cells in ADC nodes. Needed to be able to reference them by phandle. Signed-off-by: Andrey Smirnov Cc: Shawn Guo Cc: Chris Healy Cc: Andrew Lunn Cc: Fabio Estevam Cc: Rob Herring Cc: linux-kernel@vger.kernel.org Cc: devicet...@vger.kernel.org --- arch/arm/boot/dts

[PATCH v2 3/4] dt-bindings: arm: fsl: Add support for ZII i.MX7 RPU2 board

2019-03-29 Thread Andrey Smirnov
Add support for ZII i.MX7 RPU2 board. Signed-off-by: Andrey Smirnov Reviewed-by: Rob Herring Cc: Shawn Guo Cc: Chris Healy Cc: Andrew Lunn Cc: Fabio Estevam Cc: Rob Herring Cc: linux-kernel@vger.kernel.org Cc: devicet...@vger.kernel.org --- Documentation/devicetree/bindings/arm/fsl.yaml

[PATCH v2 4/4] ARM: dts: Add support for ZII i.MX7 RPU2 board

2019-03-29 Thread Andrey Smirnov
Add support for ZII's i.MX7 based Remote Peripheral Unit 2 (RPU2) board. Signed-off-by: Andrey Smirnov Cc: Shawn Guo Cc: Chris Healy Cc: Andrew Lunn Cc: Fabio Estevam Cc: Rob Herring Cc: linux-kernel@vger.kernel.org Cc: devicet...@vger.kernel.org --- Changes since [v1]: - Adde

[PATCH v4 1/5] arm64: dts: imx8mq: Mark iomuxc_gpr as i.MX6Q compatible

2019-03-31 Thread Andrey Smirnov
Mark iomuxc_gpr as compatible with "fsl,imx6q-iomuxc-gpr" in order for to allow i.MX6 PCIe driver to use it. Signed-off-by: Andrey Smirnov Acked-by: Lucas Stach Cc: Shawn Guo Cc: Fabio Estevam Cc: Chris Healy Cc: Lucas Stach Cc: Leonard Crestez Cc: "A.s. Dong" Cc: Ri

[PATCH v4 4/5] arm64: dts: imx8mq: Add nodes for PCIe IP blocks

2019-03-31 Thread Andrey Smirnov
Add nodes for two PCIe controllers found on i.MX8MQ. Signed-off-by: Andrey Smirnov Reviewed-by: Lucas Stach Cc: Shawn Guo Cc: Fabio Estevam Cc: Chris Healy Cc: Lucas Stach Cc: Leonard Crestez Cc: "A.s. Dong" Cc: Richard Zhu Cc: linux-...@nxp.com Cc: linux-arm-ker...@lists.inf

[PATCH v4 2/5] arm64: dts: imx8mq: Add a node for SRC IP block

2019-03-31 Thread Andrey Smirnov
Add a node for reset controller IP block found on i.MX8MQ. Signed-off-by: Andrey Smirnov Reviewed-by: Lucas Stach Cc: Shawn Guo Cc: Fabio Estevam Cc: Chris Healy Cc: Lucas Stach Cc: Leonard Crestez Cc: "A.s. Dong" Cc: Richard Zhu Cc: linux-...@nxp.com Cc: lin

[PATCH v4 0/5] PCIE support for i.MX8MQ (DT changes)

2019-03-31 Thread Andrey Smirnov
WiFi reset pin configuration into a separate pinmux entry. Changes since [v1]: - Dropped unsupported IRQ from PCIe nodes (a leftover from vendor tree) - Added "pcie_aux" clock and moved clock configuration to board file since "pcie_bus" clock is

[PATCH v4 3/5] arm64: dts: imx8mq: Combine PCIE power domains

2019-03-31 Thread Andrey Smirnov
pgc_pcie' power domain. Signed-off-by: Andrey Smirnov Reviewed-by: Lucas Stach Cc: Shawn Guo Cc: Fabio Estevam Cc: Chris Healy Cc: Lucas Stach Cc: Leonard Crestez Cc: "A.s. Dong" Cc: Richard Zhu Cc: linux-...@nxp.com Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@v

[PATCH v4 5/5] arm64: dts: imx8mq-evk: Enable PCIE0 interface

2019-03-31 Thread Andrey Smirnov
Enable PCIE0 interface connected to BCM4356 WiFi/Bluetooth module. Signed-off-by: Andrey Smirnov Reviewed-by: Lucas Stach Cc: Shawn Guo Cc: Fabio Estevam Cc: Chris Healy Cc: Lucas Stach Cc: Leonard Crestez Cc: "A.s. Dong" Cc: Richard Zhu Cc: linux-...@nxp.com Cc: lin

[PATCH v3 00/13] QorIQ TMU multi-sensor and HWMON support

2019-03-31 Thread Andrey Smirnov
Everyone: This series contains patches adding support for HWMON integration, bug fixes and general improvements (hopefully) for TMU driver I made while working on it on i.MX8MQ. Feedback is welcome! Thanks, Andrey Smirnov Changes since [v2] - Patches rebased on v5.1-rc1 Changes since [v1

[PATCH v3 05/13] thermal: qoriq: Embed per-sensor data into struct qoriq_tmu_data

2019-03-31 Thread Andrey Smirnov
Embed per-sensor data into struct qoriq_tmu_data so we can drop the code allocating it. This also allows us to get rid of per-sensor back reference to struct qoriq_tmu_data since now its address can be caluclated using container_of(). Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas

[PATCH v3 13/13] thermal: qoriq: Add hwmon support

2019-03-31 Thread Andrey Smirnov
Expose thermal readings as a HWMON device, so that it could be accessed using lm-sensors. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) Cc: linux-...@nxp.com Cc: linux...@vger.kernel.org Cc

[PATCH v3 01/13] thermal: qoriq: Remove unnecessary DT node is NULL check

2019-03-31 Thread Andrey Smirnov
This driver is meant to be used with Device Tree and there's no use-case where device's DT node is going to be NULL. Remove code protecting against that. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Ang

[PATCH v3 12/13] thermal_hwmon: Add devres wrapper for thermal_add_hwmon_sysfs()

2019-03-31 Thread Andrey Smirnov
Add devres wrapper for thermal_add_hwmon_sysfs() to simplify driver code. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) Cc: linux-...@nxp.com Cc: linux...@vger.kernel.org Cc: linux-kernel

[PATCH v3 03/13] thermal: qoriq: Don't store struct thermal_zone_device reference

2019-03-31 Thread Andrey Smirnov
Struct thermal_zone_device reference stored as sensor's private data isn't really used anywhere in the code. Drop it. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) Cc: linux-...@

[PATCH v3 11/13] thermal: qoriq: Do not report invalid temperature reading

2019-03-31 Thread Andrey Smirnov
Before returning measured temperature data to upper layer we need to make sure that the reading was marked as "valid" to avoid reporting bogus data. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainsl

[PATCH v3 09/13] thermal: qoriq: Convert driver to use regmap API

2019-03-31 Thread Andrey Smirnov
Convert driver to use regmap API, drop custom LE/BE IO helpers and simplify bit manipulation using regmap_update_bits(). This also allows us to convert some register initialization to use loops and adds convenient debug access to TMU registers via debugfs. Signed-off-by: Andrey Smirnov Cc: Chris

[PATCH v3 07/13] thermal: qoriq: Pass data to qoriq_tmu_calibration() directly

2019-03-31 Thread Andrey Smirnov
sequently would be able to drop the "err_iomap" error path. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) Cc: linux-...@nxp.com Cc: linux...@vger.kernel.org Cc: linux-kernel@vger.kernel

[PATCH v3 10/13] thermal: qoriq: Enable all sensors before registering them

2019-03-31 Thread Andrey Smirnov
, for the sake of simplicity, change the code to do just that. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) Cc: linux-...@nxp.com Cc: linux...@vger.kernel.org Cc: linux-kernel@vger.kerne

[PATCH v3 06/13] thermal: qoriq: Pass data to qoriq_tmu_register_tmu_zone() directly

2019-03-31 Thread Andrey Smirnov
Pass all necessary data to qoriq_tmu_register_tmu_zone() directly instead of passing a paltform device and then deriving it. This is done as a first step to simplify resource deallocation code. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin

[PATCH v3 08/13] thermal: qoriq: Convert driver to use devm_ioremap()

2019-03-31 Thread Andrey Smirnov
Convert driver to use devm_ioremap() to simplify memory deallocation and error handling code. No functional change intended. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) Cc: linux-...@nxp.com

[PATCH v3 04/13] thermal: qoriq: Add local struct qoriq_sensor pointer

2019-03-31 Thread Andrey Smirnov
Add local struct qoriq_sensor pointer in qoriq_tmu_register_tmu_zone() for brevity. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) Cc: linux-...@nxp.com Cc: linux...@vger.kernel.org Cc: linux

[PATCH v3 02/13] thermal: qoriq: Add local struct device pointer

2019-03-31 Thread Andrey Smirnov
Use a local "struct device *dev" for brevity. No functional change intended. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) Cc: linux-...@nxp.com Cc: linux...@vger.kernel.org Cc: li

[PATCH v3 09/11] PCI: imx6: Restrict PHY register data to 16-bit

2019-03-31 Thread Andrey Smirnov
s Stach Cc: Leonard Crestez Cc: "A.s. Dong" Cc: Richard Zhu Cc: linux-...@nxp.com Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: linux-...@vger.kernel.org Signed-off-by: Andrey Smirnov --- drivers/pci/controller/dwc/pci-imx6.c | 13 ++--- 1 fi

[PATCH v3 00/11] i.MX6, DesignWare PCI improvements

2019-03-31 Thread Andrey Smirnov
ch is self-explanatory. I tested this series on i.MX6Q, i.MX7D and i.MX8MQ. Feedback is welcome! Thanks, Andrey Smirnov Changes since [v2]: - All non i.MX6 patches dropped, since they were accepted as a seprarte series - Series rebased on lates 'dwc-pci' bra

[PATCH v3 02/11] PCI: imx6: Remove redundant debug tracing

2019-03-31 Thread Andrey Smirnov
Cc: linux-...@nxp.com Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: linux-...@vger.kernel.org Signed-off-by: Andrey Smirnov --- drivers/pci/controller/dwc/pci-imx6.c | 9 + 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/drivers/pci/controller/dwc/

[PATCH v3 07/11] PCI: imx6: Simplify bit operations in PHY functions

2019-03-31 Thread Andrey Smirnov
rd Zhu Cc: linux-...@nxp.com Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: linux-...@vger.kernel.org Signed-off-by: Andrey Smirnov --- drivers/pci/controller/dwc/pci-imx6.c | 28 +-- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git

[PATCH v3 05/11] PCI: dwc: imx6: Share PHY debug register definitions

2019-03-31 Thread Andrey Smirnov
s Cc: Fabio Estevam Cc: Chris Healy Cc: Lucas Stach Cc: Leonard Crestez Cc: "A.s. Dong" Cc: Richard Zhu Cc: linux-...@nxp.com Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: linux-...@vger.kernel.org Signed-off-by: Andrey Smirnov --- drivers/pci/con

[PATCH v3 03/11] PCI: imx6: Return -ETIMEOUT from imx6_pcie_wait_for_speed_change()

2019-03-31 Thread Andrey Smirnov
..@nxp.com Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: linux-...@vger.kernel.org Signed-off-by: Andrey Smirnov --- drivers/pci/controller/dwc/pci-imx6.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/d

[PATCH v3 04/11] PCI: imx6: Remove PCIE_PL_PFLR_* constants

2019-03-31 Thread Andrey Smirnov
Cc: Richard Zhu Cc: linux-...@nxp.com Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: linux-...@vger.kernel.org Signed-off-by: Andrey Smirnov --- drivers/pci/controller/dwc/pci-imx6.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/pci/controller/dwc/pci-i

[PATCH v3 08/11] PCI: imx6: Simplify pcie_phy_poll_ack()

2019-03-31 Thread Andrey Smirnov
ot; Cc: Richard Zhu Cc: linux-...@nxp.com Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: linux-...@vger.kernel.org Signed-off-by: Andrey Smirnov --- drivers/pci/controller/dwc/pci-imx6.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff

[PATCH v3 01/11] PCI: imx6: Simplify imx7d_pcie_wait_for_phy_pll_lock()

2019-03-31 Thread Andrey Smirnov
nxp.com Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: linux-...@vger.kernel.org Signed-off-by: Andrey Smirnov --- drivers/pci/controller/dwc/pci-imx6.c | 21 +++-- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/drivers/pci/controller/dwc/

[PATCH v3 06/11] PCI: imx6: Make use of BIT() in constant definitions

2019-03-31 Thread Andrey Smirnov
nxp.com Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: linux-...@vger.kernel.org Signed-off-by: Andrey Smirnov --- drivers/pci/controller/dwc/pci-imx6.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/d

<    3   4   5   6   7   8   9   10   11   12   >