/* * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.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/; #include "am33xx.dtsi" #include "am335x-bbb-common.dtsi" #include #include #include #include / { model = "TI AM335x BBB"; compatible = "ti,am335x-iemjoy", "ti,am33xx"; }; &ldo3_reg { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; &mmc1 { vmmc-supply = <&vmmcsd_fixed>; }; &mmc2 { vmmc-supply = <&vmmcsd_fixed>; pinctrl-names = "default"; pinctrl-0 = <&emmc_pins>; bus-width = <8>; status = "okay"; ti,non-removable; ti,vcc-aux-disable-is-sleep; keep-power-in-suspend; }; &cpu0_opp_table { /* * All PG 2.0 silicon may not support 1GHz but some of the early * BeagleBone Blacks have PG 2.0 silicon which is guaranteed * to support 1GHz OPP so enable it for PG 2.0 on this board. */ oppnitro@1000000000 { opp-supported-hw = <0x06 0x0100>; }; }; &am33xx_pinmux { mcasp0_pins: mcasp0_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x99c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mcasp0_axr2 */ AM33XX_IOPAD(0x994, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp0_fsx */ AM33XX_IOPAD(0x998, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp0_axr0 */ AM33XX_IOPAD(0x990, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp0_aclkx */ >; }; dcan1_pins_default: dcan1_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x980, PIN_OUTPUT | MUX_MODE2) /* dcan1_tx */ AM33XX_IOPAD(0x984, PIN_INPUT | MUX_MODE2) /* dcan1_rx */ >; }; uart4_pins: pinmux_uart4_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x870, PIN_INPUT | MUX_MODE6) /* uart4_rxd_mux2 */ AM33XX_IOPAD(0x874, PIN_OUTPUT | MUX_MODE6) /* uart4_txd_mux2 */ >; }; ehrpwm0_pins: pinmux_ehrpwm0_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x950, PIN_OUTPUT | MUX_MODE3) /* ehrpwm0A */ AM33XX_IOPAD(0x954, PIN_OUTPUT | MUX_MODE3) /* ehrpwm0B */ >; }; i2c1_pins: pinmux_i2c1_pins { pinctrl-single,pins = < 0x158 (PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_d1.i2c1_sda */ 0x15c (PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_cs0.i2c1_scl */ >; }; i2c2_pins: pinmux_i2c2_pins { pinctrl-single,pins = < 0x178 (PIN_INPUT_PULLUP | MUX_MODE3) /* uart1_ctsn.i2c2_sda */ 0x17c (PIN_INPUT_PULLUP | MUX_MODE3) /* uart1_rtsn.i2c2_scl */ >; }; }; &tscadc { status = "okay"; tsc { ti,wires = <4>; ti,x-plate-resistance = <200>; ti,coordinate-readouts = <5>; ti,wire-config = <0x00 0x11 0x22 0x33>; }; }; &dcan1 { pinctrl-names = "default"; pinctrl-0 = <&dcan1_pins_default>; status = "okay"; }; &uart4 { pinctrl-names = "default"; pinctrl-0 = <&uart4_pins>; status = "okay"; }; &epwmss0 { status = "okay"; }; &ehrpwm0 { pinctrl-names = "default"; pinctrl-0 = <&ehrpwm0_pins>; status = "okay"; }; &am33xx_pinmux { pinctrl-names = "default"; pinctrl-0 = <&led_pins>; led_pins: pinmux_led_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x890, PIN_OUTPUT | MUX_MODE7) /* gpio2_2 */ AM33XX_IOPAD(0x894, PIN_OUTPUT | MUX_MODE7) /* gpio2_3 */ AM33XX_IOPAD(0x898, PIN_OUTPUT | MUX_MODE7) /* gpio2_4 */ AM33XX_IOPAD(0x89c, PIN_OUTPUT | MUX_MODE7) /* gpio2_5 */ >; }; }; &i2c0 { pinctrl-names = "default"; pinctrl-0 = <&i2c0_pins>; status = "okay"; clock-frequency = <400000>; tps: tps@24 { reg = <0x24>; }; baseboard_eeprom: baseboard_eeprom@50 { compatible = "at,24c256"; reg = <0x50>; #address-cells = <1>; #size-cells = <1>; baseboard_data: baseboard_data@0 { reg = <0 0x100>; }; }; }; &i2c1 { pinctrl-names = "default"; pinctrl-0 = <&i2c1_pins>; status = "okay"; clock-frequency = <100000>; wm8960: wm8960@1a { #sound-dai-cells = <0>; compatible = "wlf,wm8960"; reg = <0x1a>; status = "okay"; }; }; &mcasp0 { #sound-dai-cells = <0>; pinctrl-names = "default"; pinctrl-0 = <&mcasp0_pins>; status = "okay"; op-mode = <0>; /* MCASP_IIS_MODE */ tdm-slots = <2>; serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX (AR0=TX, AR2=RX) */ 1 0 2 0 >; tx-num-evt = <32>; rx-num-evt = <32>; }; &sgx { status = "okay"; }; &i2c2 { pinctrl-names = "default"; pinctrl-0 = <&i2c2_pins>; status = "okay"; clock-frequency = <100000>; tlv320aic3104: tlv320aic3104@18 { #sound-dai-cells = <0>; compatible = "ti,tlv320aic3104"; reg = <0x18>; status = "okay"; AVDD-supply = <&ldo4_reg>; IOVDD-supply = <&ldo4_reg>; DRVDD-supply = <&ldo4_reg>; DVDD-supply = <&ldo3_reg>; }; cape_eeprom0: cape_eeprom0@54 { compatible = "at,24c256"; reg = <0x54>; #address-cells = <1>; #size-cells = <1>; cape0_data: cape_data@0 { reg = <0 0x100>; }; }; cape_eeprom1: cape_eeprom1@55 { compatible = "at,24c256"; reg = <0x55>; #address-cells = <1>; #size-cells = <1>; cape1_data: cape_data@0 { reg = <0 0x100>; }; }; cape_eeprom2: cape_eeprom2@56 { compatible = "at,24c256"; reg = <0x56>; #address-cells = <1>; #size-cells = <1>; cape2_data: cape_data@0 { reg = <0 0x100>; }; }; cape_eeprom3: cape_eeprom3@57 { compatible = "at,24c256"; reg = <0x57>; #address-cells = <1>; #size-cells = <1>; cape3_data: cape_data@0 { reg = <0 0x100>; }; }; }; / { clk_mcasp0_fixed: clk_mcasp0_fixed { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <24576000>; //clock-frequency = <5000000>; }; clk_mcasp0: clk_mcasp0 { #clock-cells = <0>; compatible = "gpio-gate-clock"; clocks = <&clk_mcasp0_fixed>; enable-gpios = <&gpio1 27 0>; /* BeagleBone Black Clk enable on GPIO1_27 */ }; sound { compatible = "simple-audio-card"; simple-audio-card,name = "wad-sound"; simple-audio-card,widgets = "Headphone", "External Speaker", "Headphone", "External Speaker"; simple-audio-card,routing = "External Speaker", "HPLOUT", "External Speaker", "HPLCOM"; simple-audio-card,format = "dsp_b"; simple-audio-card,bitclock-master = <&sound_master>; simple-audio-card,frame-master = <&sound_master>; simple-audio-card,bitclock-inversion; simple-audio-card,cpu { sound-dai = <&mcasp0>; }; sound_master: simple-audio-card,codec { sound-dai = <&tlv320aic3104>; clocks = <&clk_mcasp0>; }; }; };