Doug Springer

Forum Replies Created

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • in reply to: Which regulator controls MMC3 IO voltage? #14916
    Doug SpringerDoug Springer
    Participant

      It appears that not all signals are driving to 5V, only the clock is showing a 5.3V p-p voltage.

      in reply to: Eth0 Network Issues on Custom Image #14894
      Doug SpringerDoug Springer
      Participant

        It’s now 2024, and this problem still exists. It sure would be nice if octavo updated their device tree on github.

        in reply to: Unable access SPI NOR flash in Linux user space #14875
        Doug SpringerDoug Springer
        Participant

           

          I also have the same problem in uboot. sf probe => Invalid bus 0 (err=-19).

          This is on a osd3358-sm-red board. The debian image shipped with the board has even less functionality than this built with buildroot 2024.05. We intend to use the OSD3558 in production, but we have to get past this hurdle.

          In Linux, when I load the spi-nor driver, it correctly identifies the spi-nor: spi-nor spi0.0: s25fl128s1 (16384 Kbytes)

           

          Here are the device tree bits:

          target-module@30000 {            /* 0x48030000, ap 77 08.0 */
          compatible = “ti,sysc-omap2”, “ti,sysc”;
          reg = <0x30000 0x4>,
          <0x30110 0x4>,
          <0x30114 0x4>;
          reg-names = “rev”, “sysc”, “syss”;
          ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
          SYSC_OMAP2_SOFTRESET |
          SYSC_OMAP2_AUTOIDLE)>;
          ti,sysc-sidle = <SYSC_IDLE_FORCE>,
          <SYSC_IDLE_NO>,
          <SYSC_IDLE_SMART>;
          ti,syss-mask = <1>;
          /* Domains (P, C): per_pwrdm, l4ls_clkdm */
          clocks = <&l4ls_clkctrl AM3_L4LS_SPI0_CLKCTRL 0>;
          clock-names = “fck”;
          #address-cells = <1>;
          #size-cells = <1>;
          ranges = <0x0 0x30000 0x1000>;

          spi0: spi@0 {
          compatible = “ti,omap4-mcspi”;
          #address-cells = <1>;
          #size-cells = <0>;
          reg = <0x0 0x400>;
          interrupts = <65>;
          ti,spi-num-cs = <1>;
          dmas = <&edma 16 0
          &edma 17 0
          &edma 18 0
          &edma 19 0>;
          dma-names = “tx0”, “rx0”, “tx1”, “rx1”;
          status = “okay”;
          u-boot,dm-spl;
          pinctrl-names = “default”;
          pinctrl-0 = <&spi0_pins>;
          ti,pindir-d0-out-d1-in = <1>;
          m25p80@0 {
          compatible = “spansion,s25fl127s”, “jedec,spi-nor”;
          //                    spi-max-frequency = <108000000>;
          spi-max-frequency = <050000000>;
          /* Set SPI mode = 0 */
          spi-cpol = <0>;
          spi-cpha = <0>;
          reg = <0x0>;  // chip select number
          status = “ok”;
          };
          };
          };

          &am33xx_pinmux {

          spi0_pins: pinmux-spi0-pins {
          pinctrl-single,pins = <
          AM33XX_PADCONF(AM335X_PIN_SPI0_SCLK, PIN_INPUT_PULLUP, MUX_MODE0 ) /* spi0_sclk.gpio0_2 */
          AM33XX_PADCONF(AM335X_PIN_SPI0_CS0, PIN_OUTPUT_PULLUP, MUX_MODE0 ) /* spi0_cs0.gpio0_5 */
          AM33XX_PADCONF(AM335X_PIN_SPI0_D0, PIN_OUTPUT_PULLUP, MUX_MODE0 ) /* spi0_d0.gpio0_3 */
          AM33XX_PADCONF(AM335X_PIN_SPI0_D1, PIN_INPUT_PULLUP, MUX_MODE0 ) /* spi0_d1.gpio0_4 */

          >;
          };

          };

          And just for good measure, thrown in this hack:

          uboot-2024.01/board/ti/am335x/mux.c, at the end of void enable_board_pin_mux(void), added:

          configure_module_pin_mux(spi0_pin_mux);

          I have created one single dts combining all the bits from the various include files. I use the same dts as Linux uses, and I have the following configuration items set:

          CONFIG_CMD_SPI=y
          CONFIG_DM_SPI_FLASH=y
          CONFIG_SPI_FLASH=y
          CONFIG_SPI_FLASH_SMART_HWCAPS=y
          CONFIG_SPI_FLASH_SOFT_RESET=y
          CONFIG_SPI_FLASH_BAR=y
          CONFIG_SPI_FLASH_LOCK=y
          CONFIG_SPI_FLASH_UNLOCK_ALL=y
          CONFIG_SPI_FLASH_SPANSION=y
          CONFIG_SPI_FLASH_USE_4K_SECTORS=y
          CONFIG_SPI=y
          CONFIG_DM_SPI=y
          CONFIG_SPI_MEM=y
          CONFIG_OMAP3_SPI=y

          dm tree shows:

          simple_bus   24  [   ]   simple_bus            |   |– interconnect@48000000
          simple_bus   25  [   ]   simple_bus            |   |   |– segment@0
          simple_bus   26  [   ]   ti_sysc               |   |   |   |– target-module@22000
          simple_bus   27  [   ]   ti_sysc               |   |   |   |– target-module@24000
          simple_bus   28  [   ]   ti_sysc               |   |   |   |– target-module@2a000
          simple_bus   29  [   ]   ti_sysc               |   |   |   |– target-module@30000
          simple_bus   30  [   ]   ti_sysc               |   |   |   |– target-module@38000

          and my boot header:

          U-Boot 2024.01 (Jul 22 2024 – 13:48:28 -0600)

          CPU  : AM335X-GP rev 2.1
          Model: TI AM335x BeagleBone Black
          DRAM:  512 MiB
          Core:  160 devices, 18 uclasses, devicetree: separate
          WDT:   Started wdt@44e35000 with servicing every 1000ms (60s timeout)
          Flash: 0 Bytes
          NAND:  nand: error: Unable to find NAND settings in GPMC Configuration – quitting
          0 MiB
          MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
          Loading Environment from FAT… Unable to read “uboot.env” from mmc0:1…
          <ethaddr> not set. Validating first E-fuse MAC
          Net:   Updated phy address for CPSW#0, old: 0, new: 4
          eth2: ethernet@4a100000using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
          MAC de:ad:be:ef:00:01
          HOST MAC de:ad:be:ef:00:00
          RNDIS ready
          , eth3: usb_ether

           

           

           

           

        Viewing 3 posts - 1 through 3 (of 3 total)