This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] OCTVO-3P-AM335X:用于实现正确功能的 OSd3358 SPI 器件树设置。

Guru**** 2552630 points
Other Parts Discussed in Thread: AM3358

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1009209/octvo-3p-am335x-osd3358-spi-device-tree-settings-for-correct-functioning

器件型号:OCTVO-3P-AM335X
主题中讨论的其他器件:AM3358

您好!

我一直在尝试让 SPI 在基于 am3358的 OSD3358-512M-BAS 上工作。 我尝试 spidev_test 以检查是否正常运行、但看不到预期输出。 测试结果如下:

debian@beaglebone:~$ ./spi/spidev_test -D /dev/spidev0.0 -v
spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 kHz)
TX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D |..
....@.........................|
RX | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |..
..............................|

我一直在尝试使其能够修改    此页面上的此链接提供的 DTS 文件。

检查 DTS 文件的附件。

我在这里循环浏览了多个论坛问题、但我不幸运、我不确定我错过了什么。 请告诉我为使其正常工作而应进行的更正。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    /*
     * Copyright (C) 2017-18 Octavo Systems (octavosystems.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 "osd335x-sm.dtsi"
    
     #include <dt-bindings/display/tda998x.h>
    
     / {
    
     	leds {
     		pinctrl-names = "default", "sleep";
     		pinctrl-0 = <&user_leds_default>;
     		pinctrl-1 = <&user_leds_sleep>;
    
     		compatible = "gpio-leds";
    
     		led@2 {
     			label = "beaglebone:green:usr0";
     			gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
     			linux,default-trigger = "heartbeat";
     			default-state = "off";
     		};
    
     		led@3 {
     			label = "beaglebone:green:usr1";
     			gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>;
     			linux,default-trigger = "mmc0";
     			default-state = "off";
     		};
    
     		led@4 {
     			label = "beaglebone:green:usr2";
     			gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
     			linux,default-trigger = "cpu0";
     			default-state = "off";
     		};
    
     		led@5 {
     			label = "beaglebone:green:usr3";
     			gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
     			linux,default-trigger = "mmc1";
     			default-state = "off";
     		};
     	};
    
     	vmmcsd_fixed: fixedregulator@0 {
     		compatible = "regulator-fixed";
     		regulator-name = "vmmcsd_fixed";
     		regulator-min-microvolt = <3300000>;
     		regulator-max-microvolt = <3300000>;
     	};
     };
    
     &uart0 {
     	pinctrl-names = "default";
     	pinctrl-0 = <&uart0_pins>;
    
     	status = "okay";
     };
    
      &dcan1 {
     	pinctrl-names = "default";
     	pinctrl-0 = <&dcan1_pins>;
    
     	status = "okay";
     };
    
     &spi1 {
        status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&spi1_pins>;
        spidev@1 {
            spi-max-frequency = <24000000>;
            reg = <0>;
            compatible = "linux,spidev";
        };
     };
     
     &usb {
     	status = "okay";
     };
    
     &usb_ctrl_mod {
     	status = "okay";
     };
    
     &usb0_phy {
     	status = "okay";
     };
    
     &usb1_phy {
     	status = "okay";
     };
    
     &usb0 {
     	status = "okay";
     	dr_mode = "peripheral";
     };
    
     &usb1 {
     	status = "okay";
     	dr_mode = "host";
     };
    
     &cppi41dma  {
     	status = "okay";
     };
    
    &ldo3_reg {
    	regulator-min-microvolt = <1800000>;
    	regulator-max-microvolt = <1800000>;
    	regulator-always-on;
    };
    
    &mmc1 {
      status = "okay";
      bus-width = <0x4>;
      pinctrl-names = "default";
      pinctrl-0 = <&mmc1_pins>;
      cd-gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
    
    	vmmc-supply = <&vmmcsd_fixed>;
    };
    
    &mmc2 {
    	vmmc-supply = <&vmmcsd_fixed>;
    	pinctrl-names = "default";
    	pinctrl-0 = <&emmc_pins>;
    	bus-width = <8>;
    	status = "okay";
    };
    
    &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>;
    	};
    };
    
    &cpsw_emac0 {
    	phy_id = <&davinci_mdio>, <4>;
    	phy-mode = "rgmii-txid";
    };
    
    &mac {
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&cpsw_default>;
    	pinctrl-1 = <&cpsw_sleep>;
    	slaves = <1>;
    	status = "okay";
    };
    
    &davinci_mdio {
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&davinci_mdio_default>;
    	pinctrl-1 = <&davinci_mdio_sleep>;
    	status = "okay";
    };
    
    &tscadc {
    	status = "okay";
    };
    
    &am335x_adc {
    	ti,adc-channels = <0 1 2 3 4 5 6 7>;
    };
    
    &aes {
    	status = "okay";
    };
    
    &sham {
    	status = "okay";
    };
    
    &wkup_m3_ipc {
    	ti,scale-data-fw = "am335x-bone-scale-data.bin";
    };
    
    &rtc {
    	clocks = <&clk_32768_ck>, <&clkdiv32k_ick>;
    	clock-names = "ext-clk", "int-clk";
    	system-power-controller;
    };
    
    &sgx {
    	status = "okay";
    };
    
    &am33xx_pinmux {
    
    user_leds_default: user_leds_default {
      pinctrl-single,pins = <
        AM33XX_IOPAD(0x854, PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a5.gpio1_21 */
        AM33XX_IOPAD(0x858, PIN_OUTPUT_PULLUP | MUX_MODE7)		/* gpmc_a6.gpio1_22 */
        AM33XX_IOPAD(0x85c, PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a7.gpio1_23 */
        AM33XX_IOPAD(0x860, PIN_OUTPUT_PULLUP | MUX_MODE7)		/* gpmc_a8.gpio1_24 */
      >;
    };
    
    user_leds_sleep: user_leds_sleep {
      pinctrl-single,pins = <
        AM33XX_IOPAD(0x854, PIN_INPUT_PULLDOWN | MUX_MODE7)		/* gpmc_a5.gpio1_21 */
        AM33XX_IOPAD(0x858, PIN_INPUT_PULLDOWN | MUX_MODE7)		/* gpmc_a6.gpio1_22 */
        AM33XX_IOPAD(0x85c, PIN_INPUT_PULLDOWN | MUX_MODE7)		/* gpmc_a7.gpio1_23 */
        AM33XX_IOPAD(0x860, PIN_INPUT_PULLDOWN | MUX_MODE7)		/* gpmc_a8.gpio1_24 */
      >;
    };
    
    i2c0_pins: pinmux_i2c0_pins {
      pinctrl-single,pins = <
        AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c0_sda.i2c0_sda */
        AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c0_scl.i2c0_scl */
      >;
    };
    
    i2c2_pins: pinmux_i2c2_pins {
      pinctrl-single,pins = <
        AM33XX_IOPAD(0x978, PIN_INPUT_PULLUP | MUX_MODE3)	/* uart1_ctsn.i2c2_sda */
        AM33XX_IOPAD(0x97c, PIN_INPUT_PULLUP | MUX_MODE3)	/* uart1_rtsn.i2c2_scl */
      >;
    };
    
    uart0_pins: pinmux_uart0_pins {
      pinctrl-single,pins = <
        AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0)	/* uart0_rxd.uart0_rxd */
        AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart0_txd.uart0_txd */
      >;
    };
    
    
    dcan1_pins: pinmux_dcan1_pins {
      pinctrl-single,pins = <
    	AM33XX_IOPAD(0x96c, PIN_INPUT_PULLUP | MUX_MODE2) /* (E17) uart0_rtsn.dcan1_rx */
    	AM33XX_IOPAD(0x968, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* (E18) uart0_ctsn.dcan1_tx */
      >;
    };
    
    spi1_pins: pinmux_spi1_pins{
      pinctrl-single,pins = <
    	AM33XX_IOPAD(0x950, PIN_INPUT | MUX_MODE0) /* (A17) spi0_sclk.spi0_sclk */
    	AM33XX_IOPAD(0x954, PIN_INPUT | MUX_MODE0) /* (B17) spi0_d0.spi0_d0 */
    	AM33XX_IOPAD(0x958, PIN_INPUT | MUX_MODE0) /* (B16) spi0_d1.spi0_d1 */
    	AM33XX_IOPAD(0x95c, PIN_INPUT | MUX_MODE0) /* (A16) spi0_cs0.spi0_cs0 */
    	AM33XX_IOPAD(0x960, PIN_INPUT | MUX_MODE0) /* (C15) spi0_cs1.spi0_cs1 */
      >;
    };
    
    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    // spi1_pins_sleep: spi1_pins_sleep {
    //   pinctrl-single,pins = <
    	// AM33XX_IOPAD(0x950,  ) /* (A17) spi0_sclk.spi0_sclk */
    	// AM33XX_IOPAD(0x954,  ) /* (B17) spi0_d0.spi0_d0 */
    	// AM33XX_IOPAD(0x958,  ) /* (B16) spi0_d1.spi0_d1 */
    	// AM33XX_IOPAD(0x95c,  ) /* (A16) spi0_cs0.spi0_cs0 */
    	// AM33XX_IOPAD(0x960,  ) /* (C15) spi0_cs1.spi0_cs1 */
    //   >;
    // };
     
     
    cpsw_default: cpsw_default {
      pinctrl-single,pins = <
        /* Slave 1 */
        AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txen.rgmii1_tctl */
        AM33XX_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE2)		/* mii1_rxdv.rgmii1_rctl */
        AM33XX_IOPAD(0x91c, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd3.rgmii1_txd3 */
        AM33XX_IOPAD(0x920, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd2.rgmii1_txd2 */
        AM33XX_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd1.rgmii1_txd1 */
        AM33XX_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd0.rgmii1_txd0 */
        AM33XX_IOPAD(0x92c, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txclk.rgmii1_txclk */
        AM33XX_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE2)		/* mii1_rxclk.rgmii1_rxclk */
        AM33XX_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE2)		/* mii1_rxd3.rgmii1_rxd3 */
        AM33XX_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE2)		/* mii1_rxd2.rgmii1_rxd2 */
        AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE2)		/* mii1_rxd1.rgmii1_rxd1 */
        AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE2)		/* mii1_rxd0.rgmii1_rxd0 */
      >;
    };
    
    cpsw_sleep: cpsw_sleep {
      pinctrl-single,pins = <
        /* Slave 1 reset value */
        AM33XX_IOPAD(0x914, PIN_INPUT_PULLDOWN | MUX_MODE7)
        AM33XX_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE7)
        AM33XX_IOPAD(0x91c, PIN_INPUT_PULLDOWN | MUX_MODE7)
        AM33XX_IOPAD(0x920, PIN_INPUT_PULLDOWN | MUX_MODE7)
        AM33XX_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7)
        AM33XX_IOPAD(0x928, PIN_INPUT_PULLDOWN | MUX_MODE7)
        AM33XX_IOPAD(0x92c, PIN_INPUT_PULLDOWN | MUX_MODE7)
        AM33XX_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE7)
        AM33XX_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE7)
        AM33XX_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE7)
        AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE7)
        AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE7)
      >;
    };
    
    davinci_mdio_default: davinci_mdio_default {
      pinctrl-single,pins = <
        /* MDIO */
        AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)	/* mdio_data.mdio_data */
        AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0)			/* mdio_clk.mdio_clk */
      >;
    };
    
    davinci_mdio_sleep: davinci_mdio_sleep {
      pinctrl-single,pins = <
        /* MDIO reset value */
        AM33XX_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7)
        AM33XX_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7)
      >;
    };
    
    mmc1_pins: pinmux_mmc1_pins {
      pinctrl-single,pins = <
    	AM33XX_IOPAD(0x980, PIN_INPUT | MUX_MODE7) /* uart1_rxd.gpio0 14 */
      >;
    };
    
    emmc_pins: pinmux_emmc_pins {
      pinctrl-single,pins = <
        AM33XX_IOPAD(0x880, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
        AM33XX_IOPAD(0x884, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
        AM33XX_IOPAD(0x800, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
        AM33XX_IOPAD(0x804, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
        AM33XX_IOPAD(0x808, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
        AM33XX_IOPAD(0x80c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
        AM33XX_IOPAD(0x810, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */
        AM33XX_IOPAD(0x814, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */
        AM33XX_IOPAD(0x818, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */
        AM33XX_IOPAD(0x81c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */
      >;
    };
    
    
    	nxp_hdmi_bonelt_pins: nxp_hdmi_bonelt_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x9b0, PIN_OUTPUT_PULLDOWN | MUX_MODE3)	/* xdma_event_intr0 */
    			AM33XX_IOPAD(0x8a0, PIN_OUTPUT | MUX_MODE0)		/* lcd_data0.lcd_data0 */
    			AM33XX_IOPAD(0x8a4, PIN_OUTPUT | MUX_MODE0)		/* lcd_data1.lcd_data1 */
    			AM33XX_IOPAD(0x8a8, PIN_OUTPUT | MUX_MODE0)		/* lcd_data2.lcd_data2 */
    			AM33XX_IOPAD(0x8ac, PIN_OUTPUT | MUX_MODE0)		/* lcd_data3.lcd_data3 */
    			AM33XX_IOPAD(0x8b0, PIN_OUTPUT | MUX_MODE0)		/* lcd_data4.lcd_data4 */
    			AM33XX_IOPAD(0x8b4, PIN_OUTPUT | MUX_MODE0)		/* lcd_data5.lcd_data5 */
    			AM33XX_IOPAD(0x8b8, PIN_OUTPUT | MUX_MODE0)		/* lcd_data6.lcd_data6 */
    			AM33XX_IOPAD(0x8bc, PIN_OUTPUT | MUX_MODE0)		/* lcd_data7.lcd_data7 */
    			AM33XX_IOPAD(0x8c0, PIN_OUTPUT | MUX_MODE0)		/* lcd_data8.lcd_data8 */
    			AM33XX_IOPAD(0x8c4, PIN_OUTPUT | MUX_MODE0)		/* lcd_data9.lcd_data9 */
    			AM33XX_IOPAD(0x8c8, PIN_OUTPUT | MUX_MODE0)		/* lcd_data10.lcd_data10 */
    			AM33XX_IOPAD(0x8cc, PIN_OUTPUT | MUX_MODE0)		/* lcd_data11.lcd_data11 */
    			AM33XX_IOPAD(0x8d0, PIN_OUTPUT | MUX_MODE0)		/* lcd_data12.lcd_data12 */
    			AM33XX_IOPAD(0x8d4, PIN_OUTPUT | MUX_MODE0)		/* lcd_data13.lcd_data13 */
    			AM33XX_IOPAD(0x8d8, PIN_OUTPUT | MUX_MODE0)		/* lcd_data14.lcd_data14 */
    			AM33XX_IOPAD(0x8dc, PIN_OUTPUT | MUX_MODE0)		/* lcd_data15.lcd_data15 */
    			AM33XX_IOPAD(0x8e0, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* lcd_vsync.lcd_vsync */
    			AM33XX_IOPAD(0x8e4, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* lcd_hsync.lcd_hsync */
    			AM33XX_IOPAD(0x8e8, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* lcd_pclk.lcd_pclk */
    			AM33XX_IOPAD(0x8ec, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* lcd_ac_bias_en.lcd_ac_bias_en */
    		>;
    	};
    	nxp_hdmi_bonelt_off_pins: nxp_hdmi_bonelt_off_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x9b0, PIN_OUTPUT_PULLDOWN | MUX_MODE3)	/* xdma_event_intr0 */
    		>;
    	};
    
    	mcasp0_pins: mcasp0_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x9ac, PIN_INPUT_PULLUP | MUX_MODE0) /* mcasp0_ahcklx.mcasp0_ahclkx */
    			AM33XX_IOPAD(0x99c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mcasp0_ahclkr.mcasp0_axr2*/
    			AM33XX_IOPAD(0x994, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mcasp0_fsx.mcasp0_fsx */
    			AM33XX_IOPAD(0x990, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp0_aclkx.mcasp0_aclkx */
    			AM33XX_IOPAD(0x86c, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a11.GPIO1_27 */
    		>;
    	};
    
    	flash_enable: flash_enable {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x944, PIN_OUTPUT_PULLDOWN | MUX_MODE7) 	/* rmii1_ref_clk.gpio0_29 */
    		>;
    	};
    
    	imu_interrupt: imu_interrupt {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE7) 		/* mii1_rx_er.gpio3_2 */
    		>;
    	};
    
    	ethernet_interrupt: ethernet_interrupt{
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x908, PIN_INPUT_PULLDOWN | MUX_MODE7) 		/* mii1_col.gpio3_0 */
    		>;
    	};
    };
    
    &lcdc {
    	status = "okay";
    
    	/* If you want to get 24 bit RGB and 16 BGR mode instead of
    	 * current 16 bit RGB and 24 BGR modes, set the propety
    	 * below to "crossed" and uncomment the video-ports -property
    	 * in tda19988 node.
    	 */
    	blue-and-red-wiring = "straight";
    
    	port {
    		lcdc_0: endpoint@0 {
    			remote-endpoint = <&hdmi_0>;
    		};
    	};
    };
    
    &i2c0 {
    
      baseboard_eeprom: baseboard_eeprom@50 {
        compatible = "at,24c256";
        reg = <0x50>;
    
        #address-cells = <1>;
        #size-cells = <1>;
        baseboard_data: baseboard_data@0 {
          reg = <0 0x100>;
        };
      };
    
    
    	tda19988: tda19988 {
    		compatible = "nxp,tda998x";
    		reg = <0x70>;
    
    		pinctrl-names = "default", "off";
    		pinctrl-0 = <&nxp_hdmi_bonelt_pins>;
    		pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>;
    
    		/* Convert 24bit BGR to RGB, e.g. cross red and blue wiring */
    		/* video-ports = <0x234501>; */
    
    		#sound-dai-cells = <0>;
    		audio-ports = <	TDA998x_I2S	0x03>;
    
    		ports {
    			port@0 {
    				hdmi_0: endpoint@0 {
    					remote-endpoint = <&lcdc_0>;
    				};
    			};
    		};
    	};
    
    	mpu9250: mpu9250@68 {
    	    compatible = "invensense,mpu6050";
    	    reg = <0x68>;
    	    interrupt-parent = <&gpio3>;
    	    interrupts = <2 0x01>;
    	    /*invensense,int_config = <0x10>;
    	    invensense,level_shifter = <0>;
    	    invensense,orientation = [01 00 00 00 01 00 00 00 01];
    	    invensense,sec_slave_type = <0>;
    	    invensense,key = [4e cc 7e eb f6 1e 35 22 00 34 0d 65 32 e9 94 89];*/
        };
    
        bmp280@78 {
        	compatible = "bosch,bmp280";
        	reg = <0x76>;
        };
    };
    
    &i2c2 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c2_pins>;
    
    	status = "okay";
    	clock-frequency = <100000>;
    
    	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>;
    		};
    	};
    };
    
    
    &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 */
    			0 0 1 0
    		>;
    	tx-num-evt = <32>;
    	rx-num-evt = <32>;
    };
    
    / {
    
    	model = "Octavo OSD335x-SM Reference Design";
    	compatible = "oct,osd335x-reference-design", "ti,am335x-bone", "ti,am33xx";
    
    	clk_mcasp0_fixed: clk_mcasp0_fixed {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <24576000>;
    	};
    
    	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 = "TI BeagleBone Black";
    		simple-audio-card,format = "i2s";
    		simple-audio-card,bitclock-master = <&dailink0_master>;
    		simple-audio-card,frame-master = <&dailink0_master>;
    
    		dailink0_master: simple-audio-card,cpu {
    			sound-dai = <&mcasp0>;
    			clocks = <&clk_mcasp0>;
    		};
    
    		simple-audio-card,codec {
    			sound-dai = <&tda19988>;
    		};
    	};
    };
    
    /* the cape manager */
    / {
    	bone_capemgr {
    		compatible = "ti,bone-capemgr";
    		status = "okay";
    
    		nvmem-cells = <&baseboard_data &cape0_data &cape1_data &cape2_data &cape3_data>;
    		nvmem-cell-names = "baseboard", "slot0", "slot1", "slot2", "slot3";
    		#slots = <4>;
    
    		/* map board revisions to compatible definitions */
    		baseboardmaps {
    			baseboard_beaglebone: board@0 {
    				board-name = "A335BONE";
    				compatible-name = "ti,beaglebone";
    			};
    
    			baseboard_beaglebone_black: board@1 {
    				board-name = "A335BNLT";
    				compatible-name = "ti,beaglebone-black";
    			};
    		};
    	};
    };
    

    文件附件由于某种原因无法正常工作、请在此处查看 DTS。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Abhishek、您好!

    您在 AM335x 上运行的软件版本是什么?

    TI 仅支持有关 AM335x Linux 处理器 SDK 中分发的 Linux 版本的问题。 您是否已联系 Octavo 获得使用其软件分发的支持?

    此致、

    Nick

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Nick、

    我在  主板上运行 BeagleBoard.org Debian Image 2018-10-07、内核版本为 4.14.71-ti-r80。 我还没有就此联系 Octavo。