linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Andrianov <andrew@ncrmnt.org>
To: Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Kumar Gala <galak@codeaurora.org>,
	Russell King <linux@arm.linux.org.uk>,
	Linus Walleij <linus.walleij@linaro.org>,
	Wolfram Sang <wsa@the-dreams.de>,
	devicetree@vger.kernel.org
Cc: Andrew Andrianov <andrew@ncrmnt.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org
Subject: [PATCH 0/2] ARM: mvebu: Add DLINK-DNS327L support
Date: Sat, 11 Apr 2015 23:29:18 +0300	[thread overview]
Message-ID: <1428784160-19431-1-git-send-email-andrew@ncrmnt.org> (raw)

This patchset adds support for armada370-based NAS by DLINK.

DNS-327L is a 2-bay NAS with the following specs:     
     - 512MiB RAM
     - 128MiB NAND Flash
     - 1 GbE interface (Marvell PHY)
     - 1 rear USB 3.0 port (via PCIe USB 3.0 controller)
     - 2 internal SATA ports handled by the Armada 370: 
       	 uses 2 gpios for power control
     - two front 2-color leds (amber + white) for both discs, 
        controlled by the SoC
     - One white LED handled by SoC (USB)
     - 3 buttons. Power handled by weltrend, USB and 
       RESET (on the bottom) are wired via GPIOs 
     - Unidentified i2c device at address 0x13 (via i2cdetect)
     - UART0 providing serial console
     - Weltrend MCU serving for RTC, temperature, fan control, 
       and power button handling interfaced via UART1 (dns320l-daemon)
     
Hardware notes follow: 
Everything's supported, save for mysterious i2c device at 
address 0x13 that I couldn't even find on the PCB.

Stock firmware performs some messing with PHY registers (that 
have no public documentation) using a userspace script. With 
upstream kernel it is possible to match the stock behavior using 
the following in u-boot prompt:

mw.l 0xd00184e0 0xa8a; 
phyWrite 0 16 2; 
phyWrite 0 19 77; 
phyWrite 0 18 5747; 

When power button is pressed to turn the NAS off, weltrend signals 
the SoC by driving mpp63 line low. Apparently right now pinctrl assumes
that this line can only work as 'gpo' that screws up gpio-buttons driver.
Since without gpio-buttons, mpp63 works as input properly via sysfs 
interface, I've added a patch for pinctrl-armada-370.c that fixes the 
issue.

The only remaining issue are hard-freezes every 4-16 hours when
CONFIG_ARM_MVEBU_V7_CPUIDLE=y
As of 3.18 this issue was still present, I'm testing if things changed 
in 4.0-rc7 right now (Still live for 3 hours at the time of writing)

Andrew Andrianov (2):
  pinctrl: mvebu: Fix mapping of pin 63 (gpo -> gpio)
  ARM: mvebu: dts: Add dts file for DLink DNS-327L

 arch/arm/boot/dts/Makefile                     |    1 +
 arch/arm/boot/dts/armada-370-dlink-dns327l.dts |  309 ++++++++++++++++++++++++
 drivers/pinctrl/mvebu/pinctrl-armada-370.c     |    2 +-
 3 files changed, 311 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/armada-370-dlink-dns327l.dts

-- 
1.7.10.4

             reply	other threads:[~2015-04-11 20:29 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-11 20:29 Andrew Andrianov [this message]
2015-04-11 20:29 ` [PATCH 1/2] pinctrl: mvebu: Fix mapping of pin 63 (gpo -> gpio) Andrew Andrianov
2015-04-27 13:24   ` Linus Walleij
2015-05-29  9:10   ` Thomas Petazzoni
2015-05-29  9:55     ` Andrew
2015-05-29 10:06       ` Thomas Petazzoni
2015-04-11 20:29 ` [PATCH 2/2] ARM: mvebu: dts: Add dts file for DLink DNS-327L Andrew Andrianov
2015-04-11 21:40   ` Andrew Lunn
     [not found]     ` <20150411214005.GJ5244-g2DYL2Zd6BY@public.gmane.org>
2015-04-11 21:45       ` Andrew Lunn
2015-04-11 22:33     ` Andrew
2015-04-12 11:20   ` Sebastian Hesselbarth
2015-04-11 21:28 ` [PATCH 0/2] ARM: mvebu: Add DLINK-DNS327L support Andrew Lunn
2015-04-13 14:39   ` Gregory CLEMENT

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1428784160-19431-1-git-send-email-andrew@ncrmnt.org \
    --to=andrew@ncrmnt.org \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=pawel.moll@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=wsa@the-dreams.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).