/*
SPI0 overlay for PXF cape

The strategy we use is to do the chip select in software. This is
necessary as the pix mix doesn't allow for the CS pins the cape has
*/
/dts-v1/;
/plugin/;

/ {
    compatible = "ti,beaglebone", "ti,beaglebone-black";

    /* identification */
    part-number = "spi0mux";

    fragment@0 {
        target = <&am33xx_pinmux>;
        __overlay__ {
            spi0_pins_s0: spi0_pins_s0 {
                pinctrl-single,pins = <
                  0x150 0x30  /* spi0_sclk, SPI0_SCLK P9_22 */
                  0x154 0x10  /* spi0_d0, SPI0_MOSI  P9_21 */
                  0x158 0x30  /* spi0_d1, SPI0_MISO P9_18 */
                  /* setup a dummy CS for the SPI driver to use, then
                     setup pin modes for the two real CS lines to
                     set them pull-up */
                  0x054 0x07  /* led pin, dummy CS */
                  0x15C 0x37  /* LSM9DSO_AM CS P9_17 */
                  0x09C 0x37  /* LSM9DSO_G CS P8_9 */
                >;
            };
        };
    };

    fragment@1 {
        target = <&spi0>;
        __overlay__ {

             #address-cells = <1>;
             #size-cells = <0>;
             status = "okay";
             pinctrl-names = "default";
             pinctrl-0 = <&spi0_pins_s0>;
             ti,pindir-d0-out-d1-in = <1>;
  
             spidev@0 {
                 spi-max-frequency = <24000000>;
                 reg = <0>;
                 compatible = "linux,spidev";
            };
        };
    };
};
