> This caused my spidev1.0 and spidev1.1 to disappear.
Yes, that's good.. you can use the gpiolib/etc instead of hacking thru spidev..
>
> Here's what I compiled:
> /*
> * Copyright (C) 2015 Robert Nelson <
robert...@gmail.com>
> *
> * This program is free software; you can redistribute it and/or modify
> * it under the terms of the GNU General Public License version 2 as
> * published by the Free Software Foundation.
> */
>
> /dts-v1/;
> /plugin/;
>
> #include <dt-bindings/board/am335x-bbw-bbb-base.h>
> #include <dt-bindings/pinctrl/am33xx.h>
>
> / {
> compatible = "ti,beaglebone", "ti,beaglebone-black", "ti,beaglebone-green";
>
> /* identification */
> part-number = "BB-SPI1-MCP23S17";
> version = "00A0";
>
> /* state the resources this cape uses */
> exclusive-use =
> /* the pin header uses */
> "P9.31", /* spi1_sclk, SPI1_SCLK */
> "P9.29", /* spi1_d0, SPI1_MISO */
> "P9.30", /* spi1_d1, SPI1_MOSI */
> "P9.28", /* spi1_cs0, CS0 */
> "P9.42", /* spi1_cs1, CS1 */
> /* the hardware ip uses */
> "spi1";
>
> /*
> * Helper to show loaded overlays under: /proc/device-tree/chosen/overlays/
> */
> fragment@0 {
> target-path="/";
> __overlay__ {
>
> chosen {
> overlays {
> BB-SPI1-MCP23S17-00A0 = __TIMESTAMP__;
> };
> };
> };
> };
>
> /*
> * Free up the pins used by the cape from the pinmux helpers.
> */
> fragment@1 {
> target = <&ocp>;
> __overlay__ {
> P9_28_pinmux { status = "disabled"; }; /* spi1_cs0 */
> P9_30_pinmux { status = "disabled"; }; /* spi1_d1 */
> P9_29_pinmux { status = "disabled"; }; /* spi1_d0 */
> P9_31_pinmux { status = "disabled"; }; /* spi1_sclk */
> P9_42_pinmux { status = "disabled"; }; /* spi1_cs1 */
> };
> };
>
> fragment@2 {
> target = <&am33xx_pinmux>;
> __overlay__ {
> bb_spi0_pins: pinmux_bb_spi0_pins {
This label name doesn't match below... (aka: bb_spi1) replace ^ spi0
with spi1...
> pinctrl-single,pins = <
> BONE_P9_31 (PIN_INPUT_PULLUP | MUX_MODE3) /* spi1_sclk.spi1_sclk */
> BONE_P9_29 (PIN_INPUT_PULLUP | MUX_MODE3) /* spi1_d0.spi1_d0 */
> BONE_P9_30 (PIN_OUTPUT_PULLUP | MUX_MODE3) /* spi1_d1.spi1_d1 */
> BONE_P9_28 (PIN_OUTPUT_PULLUP | MUX_MODE3) /* spi1_cs0.spi1_cs0 */
> BONE_P9_42 (PIN_OUTPUT_PULLUP | MUX_MODE2) /* spi1_cs1.spi1_cs1 */
> >;
> };
> };
> };
>
> fragment@3 {
> target = <&spi1>;
> __overlay__ {
> #address-cells = <1>;
> #size-cells = <0>;
>
> status = "okay";
> pinctrl-names = "default";
> pinctrl-0 = <&bb_spi1_pins>;
>
> gpiom1: gpio@0 {
> compatible = "microchip,mcp23s17";
> gpio-controller;
> #gpio-cells = <2>;
> microchip,spi-present-mask = <0x01>;
> mcp,spi-present-mask = <0x01>;
> spi-present-mask = <0x01>;
> reg = <0>;
> spi-max-frequency = <1000000>;
> };
>
> gpiom2: gpio@1 {
> compatible = "microchip,mcp23s17";
> gpio-conroller;
spelling: gpio-controller
> #gpio-cells = <2>;
> microchip,spi-present-mask = <0x01>;
> mcp,spi-present-mask = <0x01>;
> spi-present-mask = <0x01>;
> reg = <1>;
> spi-max-frequency = <1000000>;
> };
> };
> };
> };