Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932624AbbHXIkV (ORCPT ); Mon, 24 Aug 2015 04:40:21 -0400 Received: from 212-186-180-163.dynamic.surfer.at ([212.186.180.163]:59105 "EHLO cgate.sperl.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753953AbbHXIkS (ORCPT ); Mon, 24 Aug 2015 04:40:18 -0400 From: kernel@martin.sperl.org To: Stephen Warren , Lee Jones , Russell King , Mark Brown , Mark Rutland , devicetree@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, Ian Campbell , Rob Herring , Pawel Moll , Kumar Gala Cc: Martin Sperl Subject: [PATCH v4 0/5] bcm2835: auxiliar device support for spi Date: Mon, 24 Aug 2015 08:40:03 +0000 Message-Id: <1440405608-3995-1-git-send-email-kernel@martin.sperl.org> X-Mailer: git-send-email 1.7.10.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2887 Lines: 69 From: Martin Sperl The BCM2835 contains 3 auxiliar devices: * spi1 * spi2 * uart1 All of those 3 devices are enabled/disabled via a shared register, which is set by default to be disabled. Access to this register needs to get serialized. So fter several iterations of discussions with the following idea: * syscon - device tree should describe HW not drivers to use - 'compatiblity = "brcm,bcm2835-aux-enable", "syscon";' is not acceptable * regulator - it is not necessarily a regulator or a power gate that is implemented in HW, so it is not valid to use this framework The recommendation was made to create a new minimal API in soc just for access to this shared enable/disable register. This patch-series implements: * the bcm2835-auxiliar device enable/disable api in soc. * the bcm2835-auxiliar spi device driver The uart1 device driver (ns16550 based) is not implemented so far but should be using the same API. Martin Sperl (5): soc: bcm2835: auxiliar devices enable infrastructure ARM: bcm2835: add DT for the bcm2835 auxiliar devices dt/bindings: bcm2835: add binding documentation for bcm2835-aux spi: bcm2835: new driver implementing auxiliar spi1/spi2 on the bcm2835 soc dt/bindings: bcm2835: Add binding documentation for auxiliar spi devices .../bindings/soc/bcm/brcm,bcm2835-aux.txt | 27 ++ .../bindings/spi/brcm,bcm2835-aux-spi.txt | 61 +++ arch/arm/boot/dts/bcm2835.dtsi | 37 ++ arch/arm/configs/bcm2835_defconfig | 1 + drivers/soc/Kconfig | 1 + drivers/soc/Makefile | 1 + drivers/soc/bcm/Kconfig | 11 + drivers/soc/bcm/Makefile | 1 + drivers/soc/bcm/bcm2835-aux.c | 154 ++++++ drivers/spi/Kconfig | 12 + drivers/spi/Makefile | 1 + drivers/spi/spi-bcm2835aux.c | 506 ++++++++++++++++++++ include/linux/soc/bcm/bcm2835-aux.h | 23 + 13 files changed, 836 insertions(+) create mode 100644 Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-aux.txt create mode 100644 Documentation/devicetree/bindings/spi/brcm,bcm2835-aux-spi.txt create mode 100644 drivers/soc/bcm/Kconfig create mode 100644 drivers/soc/bcm/Makefile create mode 100644 drivers/soc/bcm/bcm2835-aux.c create mode 100644 drivers/spi/spi-bcm2835aux.c create mode 100644 include/linux/soc/bcm/bcm2835-aux.h -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/