/dts-v1/; /plugin/; / { compatible = "ti,beaglebone", "ti,beaglebone-black"; fragment@0 { target-path = "/"; __overlay__ { cpus { cpu@0 { /* * To consider voltage drop between PMIC and SoC, * tolerance value is reduced to 2% from 4% and * voltage value is increased as a precaution. */ operating-points = < /* kHz uV */ 1000000 1325000 800000 1300000 600000 1112000 300000 969000 >; voltage-tolerance = <2>; /* 2 percentage */ clocks = <&dpll_mpu_ck>; clock-names = "cpu"; clock-latency = <300000>; /* From omap-cpufreq driver */ }; }; }; }; fragment@1 { target-path = "/"; __overlay__ { spi0 { status = "okay"; }; spi1 { status = "okay"; }; mcasp0 { status = "okay"; }; mcasp1 { status = "okay"; }; }; }; }; fragment@2 { target-path = "/"; __overlay__ { #include "am335x-bone-common.dtsi" &am33xx_pinmux { bone_audio_cape_audio_pins: pinmux_bone_audio_cape_audio_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x990, PIN_INPUT_PULLDOWN | MUX_MODE0) /* A13 mcasp0_aclkx.mcasp0_aclkx */ AM33XX_IOPAD(0x994, PIN_INPUT_PULLDOWN | MUX_MODE0) /* B13 mcasp0_fsx.mcasp0_fsx, INPUT */ AM33XX_IOPAD(0x998, PIN_INPUT_PULLDOWN | MUX_MODE0) /* D12 mcasp0_axr0.mcasp0_axr0 */ AM33XX_IOPAD(0x99c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* C12 mcasp0_ahclkr.mcasp0_axr2 */ AM33XX_IOPAD(0x9ac, PIN_INPUT_PULLDOWN | MUX_MODE0) /* A14 MCASP0_AHCLKX -> MCASP0_AHCLKX (I2S_MCLK_OUT) */ >; }; i2c0_pins: pinmux_i2c0_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x98c, PIN_INPUT | MUX_MODE0) /* (C16) I2C0_SCL.I2C0_SCL */ AM33XX_IOPAD(0x988, PIN_INPUT | MUX_MODE0) /* (C17) I2C0_SDA.I2C0_SDA */ AM33XX_IOPAD(0x880, PIN_INPUT | MUX_MODE7) /* GPIO 1_30 (U9) OK */ AM33XX_IOPAD(0x83c, PIN_INPUT | MUX_MODE5) /* GPIO 1_15 (U13) */ AM33XX_IOPAD(0x898, PIN_INPUT | MUX_MODE7) /* GPIO 2_4 (U6) OK */ AM33XX_IOPAD(0x82c, PIN_INPUT | MUX_MODE7) /* GPIO 0_27 (U12) OK */ AM33XX_IOPAD(0x834, PIN_INPUT | MUX_MODE7) /* GPIO 1_13 (R12) */ AM33XX_IOPAD(0x824, PIN_INPUT | MUX_MODE7) /* GPIO 0_23 (T10) */ AM33XX_IOPAD(0x808, PIN_INPUT | MUX_MODE7) /* GPIO 1_2 (R8) OK */ AM33XX_IOPAD(0x820, PIN_INPUT | MUX_MODE7) /* GPIO 0_22 (U10) */ AM33XX_IOPAD(0x810, PIN_INPUT | MUX_MODE7) /* GPIO 1_4 (U8) OK */ AM33XX_IOPAD(0x830, PIN_INPUT | MUX_MODE7) /* GPIO 1_12 (T12) */ AM33XX_IOPAD(0x87c, PIN_INPUT | MUX_MODE7) /* GPIO 1_29 (V6) OK */ AM33XX_IOPAD(0x9a0, PIN_INPUT | MUX_MODE7) /* GPIO 3_18 (B12) */ AM33XX_IOPAD(0x844, PIN_INPUT | MUX_MODE7) /* GPIO 1_17 (V14) */ AM33XX_IOPAD(0x89c, PIN_OUTPUT | MUX_MODE7) /* GPIO 2_5 (T6) OK */ AM33XX_IOPAD(0x81c, PIN_OUTPUT | MUX_MODE7) /* GPIO 1_7 (T9) OK */ AM33XX_IOPAD(0x818, PIN_OUTPUT | MUX_MODE7) /* GPIO 1_6 (R9) OK */ AM33XX_IOPAD(0x850, PIN_OUTPUT | MUX_MODE7) /* GPIO 1_20 (R14) */ AM33XX_IOPAD(0x894, PIN_OUTPUT | MUX_MODE7) /* GPIO 2_3 (OK) */ AM33XX_IOPAD(0x88c, PIN_OUTPUT | MUX_MODE7) /* GPIO 2_1 (OK) */ AM33XX_IOPAD(0x828, PIN_OUTPUT | MUX_MODE7) /* GPIO 0_26 (OK) */ AM33XX_IOPAD(0x814, PIN_OUTPUT | MUX_MODE7) /* GPIO 1_5 (OK) */ AM33XX_IOPAD(0x804, PIN_OUTPUT | MUX_MODE7) /* GPIO 1_1 (OK) */ AM33XX_IOPAD(0x838, PIN_OUTPUT | MUX_MODE7) /* GPIO 1_14 (OK) */ AM33XX_IOPAD(0x884, PIN_OUTPUT | MUX_MODE7) /* GPIO 1_31 (OK) */ >; }; i2c2_pins: pinmux_i2c2_pins { pinctrl-single,pins = < 0x17c (PIN_INPUT | MUX_MODE3) /* (D17) uart1_rtsn.I2C2_SCL */ 0x178 (PIN_INPUT | MUX_MODE3) /* (D18) uart1_ctsn.I2C2_SDA */ >; }; i2c1_pins: pinmux_i2c1_pins { pinctrl-single,pins = < 0x15c (PIN_INPUT | MUX_MODE2) /* (A16) spi0_cs0.I2C1_SCL */ 0x158 (PIN_INPUT | MUX_MODE2) /* (B16) spi0_d1.I2C1_SDA */ >; }; }; }; }; &i2c0 { pinctrl-names = "default"; pinctrl-0 = <&i2c0_pins>; status = "okay"; clock-frequency = <400000>; /* mcp23008:mcp23008@20 { compatible = "microchip,mcp23008"; reg = <0x20>; gpio-controller; #gpio-cells = <2>; status = "okay"; }; ad7997:ad7997@23 { compatible = "adi,ad7997"; reg = <0x23>; status = "okay"; interrupt-parent = <&gpio0>; // 0_27 interrupts = <27 IRQ_TYPE_EDGE_RISING>; }; */ }; &i2c1 { pinctrl-names = "default"; pinctrl-0 = <&i2c1_pins>; status = "okay"; clock-frequency = <400000>; }; &i2c2 { pinctrl-names = "default"; pinctrl-0 = <&i2c2_pins>; status = "okay"; clock-frequency = <400000>; // regulateur de tension tps:tps@24 { reg = <0x24>; }; // eeprom carte coeur eepromcore: eepromc@50 { compatible = "at,24c32"; reg = <0x50>; pagesize = <32>; }; // real time clock rtca:rtca@6f { compatible = "ignored,mcp7941x"; reg = <0x6f>; status = "okay"; }; // capteur de temperature tmp:tmp102@48 { compatible = "ti,tmp102"; reg = <0x48>; }; // audio tlv320aic3104: tlv320aic3104@18 { #sound-dai-cells = <0>; compatible = "ti,tlv320aic3104"; reg = <0x18>; }; // accelerometre mma8452:mma8452@1d { compatible = "fsl,mma8452"; reg = <0x1d>; interrupt-parent = <&gpio2>; interrupts = <4 IRQ_TYPE_EDGE_RISING>; // GPIO 2_4 }; //////////// sa3 ///////// // eeprom carte SA3 eepromsa: eeproms@56 { compatible = "at,24c256"; reg = <0x56>; pagesize = <256>; }; // amplifier //max9768: max9768@49 { // compatible = "max,max9768"; // reg = <0x49>; //}; }; /include/ "tps65217.dtsi" &tps { /* * Configure pmic to enter OFF-state instead of SLEEP-state ("RTC-only * mode") at poweroff. Most BeagleBone versions do not support RTC-only * mode and risk hardware damage if this mode is entered. * * For details, see linux-omap mailing list May 2015 thread * [PATCH] ARM: dts: am335x-bone* enable pmic-shutdown-controller * In particular, messages: * http://www.spinics.net/lists/linux-omap/msg118585.html * http://www.spinics.net/lists/linux-omap/msg118615.html * * You can override this later with * &tps { /delete-property/ ti,pmic-shutdown-controller; } * if you want to use RTC-only mode and made sure you are not affected * by the hardware problems. (Tip: double-check by performing a current * measurement after shutdown: it should be less than 1 mA.) */ ti,pmic-shutdown-controller; ti,pmic-usb-off; interrupt-parent = <&intc>; interrupts = <7>; /* NNMI */ regulators { dcdc1_reg: regulator@0 { regulator-name = "vdds_dpr"; regulator-always-on; }; dcdc2_reg: regulator@1 { /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */ regulator-name = "vdd_mpu"; regulator-min-microvolt = <925000>; regulator-max-microvolt = <1325000>; regulator-boot-on; regulator-always-on; }; dcdc3_reg: regulator@2 { /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */ regulator-name = "vdd_core"; regulator-min-microvolt = <925000>; regulator-max-microvolt = <1150000>; regulator-boot-on; regulator-always-on; }; ldo1_reg: regulator@3 { regulator-name = "vio,vrtc,vdds"; regulator-always-on; }; ldo2_reg: regulator@4 { regulator-name = "vdd_3v3aux"; regulator-always-on; }; ldo3_reg: regulator@5 { regulator-name = "vdd_1v8"; regulator-always-on; }; ldo4_reg: regulator@6 { regulator-name = "vdd_3v3a"; regulator-always-on; }; }; }; &mcasp0{ #sound-dai-cells = <0>; pinctrl-names = "default"; pinctrl-0 = <&bone_audio_cape_audio_pins>; status = "okay"; op-mode = <0>; /* MCASP_IIS_MODE */ tdm-slots = <2>; num-serializer = <16>; serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ 2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 >; tx-num-evt = <1>; rx-num-evt = <1>; }; }; }; fragment@3 { target-path = "/"; __overlay__ { &am33xx_pinmux { bb_spi1_pins: pinmux_bb_spi1_pins { pinctrl-single,pins = < AM33XX_IOPAD( 0x964, 0x34) /*( PIN_OUTPUT | MUX_MODE4 ) /* (C18) eCAP0_in_PWM0_out.spi1_sclk ok*/ AM33XX_IOPAD( 0x968, 0x14) /*( PIN_OUTPUT | MUX_MODE4 ) /* (E18) uart0_ctsn.spi1_d0 */ AM33XX_IOPAD( 0x96c, 0x34) /*( PIN_INPUT | MUX_MODE4 ) /* (E17) uart0_rtsn.spi1_d1 */ AM33XX_IOPAD( 0x970, 0x11) /*( PIN_OUTPUT | MUX_MODE1 ) /* (E15) uart0_rxd.spi1_cs0 */ AM33XX_IOPAD( 0x974, 0x11) /*( PIN_OUTPUT | MUX_MODE1 ) /* (E16) uart0_txd.spi1_cs1 */ //AM33XX_IOPAD( 0x80c, PIN_OUTPUT | MUX_MODE7 ) /* reset uart GPIO 1_3 */ AM33XX_IOPAD( 0x890, PIN_INPUT | MUX_MODE7 ) /* interrupt spi GPIO 2_2 */ >; }; }; &spi1{ #address-cells = <1>; #size-cells = <0>; pinctrl-names = "default"; pinctrl-0 = <&bb_spi1_pins>; status = "okay"; ti,pindir-d0-out-d1-in; //enable-gpio = <&gpio1 3 GPIO_ACTIVE_HIGH>; // GPIO 1_3 sc16is762a: sc16is762a@1 { compatible = "nxp,sc16is762"; reg = <1>; clock-frequency = <1843200>; interrupt-parent = <&gpio2>; // 2_2 interrupts = <2 IRQ_TYPE_EDGE_FALLING>; spi-max-frequency = <4000000>; gpio-controller; #gpio-cells = <2>; ngpios = <4>; gpio-line-names = "Led9", "Led10", "Led11", "Led12"; status = "okay"; }; st33tphf2espi:st33tphf2espi@0{ compatible = "tcg,tpm_tis-spi"; spi-max-frequency = <4000000>; reg = <0>; status = "okay"; }; }; }; }; fragment@4 { target-path = "/"; __overlay__ { &am33xx_pinmux { uart1_pins: pinmux_uart1_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x980, PIN_INPUT | MUX_MODE0) /* P9.26 uart1_rxd.uart1_rxd INPUT */ AM33XX_IOPAD(0x984, PIN_OUTPUT | MUX_MODE0) /* P9.24 uart1_txd.uart1_txd OUTPUT */ AM33XX_IOPAD(0x9a4, PIN_OUTPUT | MUX_MODE7) /* TX enable GPIO 3_19 */ AM33XX_IOPAD(0x848, PIN_OUTPUT | MUX_MODE7) /* RX enable P9.14 GPIO 1_18 mode 7 */ >; }; uart2_pins: pinmux_uart2_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x950, PIN_INPUT | MUX_MODE1) /* spi0_sclk.uart2_rxd | MODE1 */ AM33XX_IOPAD(0x954, PIN_OUTPUT | MUX_MODE1) /* spi0_d0.uart2_txd | MODE1 */ AM33XX_IOPAD(0x878, PIN_OUTPUT | MUX_MODE7) /* TX enable GPIO 1_28 gpmc_be1n.gpio1[28] */ >; }; uart4_pins: pinmux_uart4_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x870, PIN_INPUT | MUX_MODE6) /* gpmc_wait0.uart4_rxd | MODE6 */ AM33XX_IOPAD(0x874, PIN_OUTPUT | MUX_MODE6) /* gpmc_wpn.uart4_txd | MODE6 */ AM33XX_IOPAD(0x84c, PIN_OUTPUT | MUX_MODE7) /* RX ENABLE GPIO 1_19 PWM1B mode 7 */ AM33XX_IOPAD(0x840, PIN_OUTPUT | MUX_MODE7) /* TX ENABLE GPIO 1_16 gpmc_a0.gpio1[16] */ >; }; }; &uart1 { pinctrl-names = "default"; pinctrl-0 = <&uart1_pins>; status = "okay"; rts-gpio = <&gpio3 19 GPIO_ACTIVE_HIGH>; // 3_19 cts-gpio = <&gpio1 18 GPIO_ACTIVE_HIGH>; // 1_18 rs485-rts-active-high; rs485-rts-delay = <26 26>; linux,rs485-enabled-at-boot-time; }; &uart2 { pinctrl-names = "default"; pinctrl-0 = <&uart2_pins>; status = "okay"; rts-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>; // 1_28 rs485-rts-active-high; rs485-rts-delay = <26 26>; linux,rs485-enabled-at-boot-time; }; &uart4 { pinctrl-names = "default"; pinctrl-0 = <&uart4_pins>; status = "okay"; rts-gpio = <&gpio1 16 GPIO_ACTIVE_HIGH>; // 1_16 cts-gpio = <&gpio1 19 GPIO_ACTIVE_HIGH>; // 1_19 rs485-rts-active-high; rs485-rts-delay = <26 26>; linux,rs485-enabled-at-boot-time; }; }; };