Index: sysutils/u-boot-osd-customboard/Makefile =================================================================== --- sysutils/u-boot-osd-customboard/Makefile (nonexistent) +++ sysutils/u-boot-osd-customboard/Makefile (working copy) @@ -0,0 +1,13 @@ +# $FreeBSD$ + +MASTERDIR= ${.CURDIR}/../u-boot-master +EXTRA_PATCHES= ${.CURDIR}/files/ + +MODEL= osd-customboard +BOARD_CONFIG= am335x_evm_defconfig +FAMILY= omap + +CONFIG_FRAGMENT= ${.CURDIR}/files/bbb_fragment +FRAGMENT_NAME= bbb_fragment + +.include "${MASTERDIR}/Makefile" Property changes on: sysutils/u-boot-osd-customboard/Makefile ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: sysutils/u-boot-osd-customboard/files/bbb_fragment =================================================================== --- sysutils/u-boot-osd-customboard/files/bbb_fragment (nonexistent) +++ sysutils/u-boot-osd-customboard/files/bbb_fragment (working copy) @@ -0,0 +1,10 @@ +CONFIG_API=y +CONFIG_ARMV7_NONSEC=n +CONFIG_CMD_CACHE=y +CONFIG_BOOTCOMMAND="run preboot; if test ${boot_fit} -eq 1; then run update_to_fit; fi; run findfdt; run init_console; setenv boot_targets mmc0 mmc1 pxe dhcp; run distro_bootcmd" +CONFIG_NAND=n +CONFIG_SPL_NAND_SUPPORT=n +CONFIG_CMD_NAND=n +CONFIG_DFU_NAND=n +CONFIG_ENV_IS_IN_MMC=y +CONFIG_SYS_EXTRA_OPTIONS="EMMC_BOOT" Property changes on: sysutils/u-boot-osd-customboard/files/bbb_fragment ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: sysutils/u-boot-osd-customboard/files/patch-arch_arm_dts_Makefile =================================================================== --- sysutils/u-boot-osd-customboard/files/patch-arch_arm_dts_Makefile (nonexistent) +++ sysutils/u-boot-osd-customboard/files/patch-arch_arm_dts_Makefile (working copy) @@ -0,0 +1,11 @@ +--- arch/arm/dts/Makefile.orig 2019-10-07 23:14:02.000000000 +0200 ++++ arch/arm/dts/Makefile 2019-10-18 17:11:26.536861000 +0200 +@@ -276,6 +276,8 @@ + dtb-$(CONFIG_ARCH_ZYNQMP_R5) += \ + zynqmp-r5.dtb + dtb-$(CONFIG_AM33XX) += \ ++ am335x-osdbasic.dtb \ ++ am335x-osdcustomboard.dtb \ + am335x-baltos.dtb \ + am335x-bone.dtb \ + am335x-boneblack.dtb \ Property changes on: sysutils/u-boot-osd-customboard/files/patch-arch_arm_dts_Makefile ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: sysutils/u-boot-osd-customboard/files/patch-arch_arm_dts_am335x_osdbasic.dts =================================================================== --- sysutils/u-boot-osd-customboard/files/patch-arch_arm_dts_am335x_osdbasic.dts (nonexistent) +++ sysutils/u-boot-osd-customboard/files/patch-arch_arm_dts_am335x_osdbasic.dts (working copy) @@ -0,0 +1,123 @@ +--- /dev/null 2019-10-18 18:47:21.382321000 +0200 ++++ arch/arm/dts/am335x-osdbasic.dts 2019-10-18 17:11:26.544504000 +0200 +@@ -0,0 +1,120 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ ++ * ++ * Author: Robert Nelson ++ */ ++/dts-v1/; ++ ++#include "am33xx.dtsi" ++#include "am335x-osd335x-common.dtsi" ++ ++/ { ++ model = "Octavo Systems OSD335x BASIC"; ++ compatible = "ti,osd335x", "ti,am33xx"; ++ ++ chosen { ++ stdout-path = &uart0; ++ }; ++ ++ vmmcsd_fixed: fixedregulator0 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vmmcsd_fixed"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ }; ++}; ++ ++&am33xx_pinmux { ++ mmc0_pins: pinmux-mmc0-pins { ++ pinctrl-single,pins = < ++ AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* (G16) mmc0_dat0.mmc0_dat0 */ ++ AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* (G15) mmc0_dat1.mmc0_dat1 */ ++ AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* (F18) mmc0_dat2.mmc0_dat2 */ ++ AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* (F17) mmc0_dat3.mmc0_dat3 */ ++ AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* (G18) mmc0_cmd.mmc0_cmd */ ++ AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* (G17) mmc0_clk.mmc0_clk */ ++ >; ++ }; ++ ++ spi0_pins: pinmux-spi0-pins { ++ pinctrl-single,pins = < ++ AM33XX_IOPAD(0x950, PIN_INPUT_PULLUP | MUX_MODE0) /* (A17) spi0_sclk.spi0_sclk */ ++ AM33XX_IOPAD(0x954, PIN_INPUT_PULLUP | MUX_MODE0) /* (B17) spi0_d0.spi0_d0 */ ++ AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE0) /* (B16) spi0_d1.spi0_d1 */ ++ AM33XX_IOPAD(0x95c, PIN_INPUT_PULLUP | MUX_MODE0) /* (A16) spi0_cs0.spi0_cs0 */ ++ >; ++ }; ++ ++ spi1_pins: pinmux-spi1-pins { ++ pinctrl-single,pins = < ++ AM33XX_IOPAD(0x964, PIN_INPUT_PULLUP | MUX_MODE4) /* (C18) eCAP0_in_PWM0_out.spi1_sclk */ ++ AM33XX_IOPAD(0x968, PIN_INPUT_PULLUP | MUX_MODE4) /* (E18) uart0_ctsn.spi1_d0 */ ++ AM33XX_IOPAD(0x96c, PIN_INPUT_PULLUP | MUX_MODE4) /* (E17) uart0_rtsn.spi1_d1 */ ++ AM33XX_IOPAD(0x9b0, PIN_INPUT_PULLUP | MUX_MODE4) /* (A15) xdma_event_intr0.spi1_cs1 */ ++ >; ++ }; ++ ++ uart0_pins: pinmux-uart0-pins { ++ pinctrl-single,pins = < ++ AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0) /* (E15) uart0_rxd.uart0_rxd */ ++ AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (E16) uart0_txd.uart0_txd */ ++ >; ++ }; ++}; ++ ++&i2c0 { ++ eeprom: eeprom@50 { ++ compatible = "atmel,24c256"; ++ reg = <0x50>; ++ }; ++}; ++ ++&mmc1 { ++ status = "okay"; ++ vmmc-supply = <&vmmcsd_fixed>; ++ bus-width = <4>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc0_pins>; ++}; ++ ++&rtc { ++ system-power-controller; ++}; ++ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_pins>; ++ ++ status = "okay"; ++}; ++ ++&usb { ++ status = "okay"; ++}; ++ ++&usb_ctrl_mod { ++ status = "okay"; ++}; ++ ++&usb0_phy { ++ status = "okay"; ++}; ++ ++&usb0 { ++ status = "okay"; ++ dr_mode = "otg"; ++}; ++ ++&usb1_phy { ++ status = "okay"; ++}; ++ ++&usb1 { ++ status = "okay"; ++ dr_mode = "host"; ++}; ++ ++&cppi41dma { ++ status = "okay"; ++}; Property changes on: sysutils/u-boot-osd-customboard/files/patch-arch_arm_dts_am335x_osdbasic.dts ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: sysutils/u-boot-osd-customboard/files/patch-arch_arm_dts_am335x_osdcustomboard.dts =================================================================== --- sysutils/u-boot-osd-customboard/files/patch-arch_arm_dts_am335x_osdcustomboard.dts (nonexistent) +++ sysutils/u-boot-osd-customboard/files/patch-arch_arm_dts_am335x_osdcustomboard.dts (working copy) @@ -0,0 +1,123 @@ +--- /dev/null 2019-10-22 15:38:54.837660000 +0200 ++++ arch/arm/dts/am335x-osdcustomboard.dts 2019-10-22 15:38:27.954148000 +0200 +@@ -0,0 +1,120 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ ++ * ++ * Author: Robert Nelson ++ */ ++/dts-v1/; ++ ++#include "am33xx.dtsi" ++#include "am335x-osd335x-common.dtsi" ++ ++/ { ++ model = "Octavo Systems OSD335x Customboard"; ++ compatible = "ti,osd335x", "ti,am33xx"; ++ ++ chosen { ++ stdout-path = &uart0; ++ }; ++ ++ vmmcsd_fixed: fixedregulator0 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vmmcsd_fixed"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ }; ++}; ++ ++&am33xx_pinmux { ++ mmc0_pins: pinmux-mmc0-pins { ++ pinctrl-single,pins = < ++ AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* (G16) mmc0_dat0.mmc0_dat0 */ ++ AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* (G15) mmc0_dat1.mmc0_dat1 */ ++ AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* (F18) mmc0_dat2.mmc0_dat2 */ ++ AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* (F17) mmc0_dat3.mmc0_dat3 */ ++ AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* (G18) mmc0_cmd.mmc0_cmd */ ++ AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* (G17) mmc0_clk.mmc0_clk */ ++ >; ++ }; ++ ++ spi0_pins: pinmux-spi0-pins { ++ pinctrl-single,pins = < ++ AM33XX_IOPAD(0x950, PIN_INPUT_PULLUP | MUX_MODE0) /* (A17) spi0_sclk.spi0_sclk */ ++ AM33XX_IOPAD(0x954, PIN_INPUT_PULLUP | MUX_MODE0) /* (B17) spi0_d0.spi0_d0 */ ++ AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE0) /* (B16) spi0_d1.spi0_d1 */ ++ AM33XX_IOPAD(0x95c, PIN_INPUT_PULLUP | MUX_MODE0) /* (A16) spi0_cs0.spi0_cs0 */ ++ >; ++ }; ++ ++ spi1_pins: pinmux-spi1-pins { ++ pinctrl-single,pins = < ++ AM33XX_IOPAD(0x964, PIN_INPUT_PULLUP | MUX_MODE4) /* (C18) eCAP0_in_PWM0_out.spi1_sclk */ ++ AM33XX_IOPAD(0x968, PIN_INPUT_PULLUP | MUX_MODE4) /* (E18) uart0_ctsn.spi1_d0 */ ++ AM33XX_IOPAD(0x96c, PIN_INPUT_PULLUP | MUX_MODE4) /* (E17) uart0_rtsn.spi1_d1 */ ++ AM33XX_IOPAD(0x9b0, PIN_INPUT_PULLUP | MUX_MODE4) /* (A15) xdma_event_intr0.spi1_cs1 */ ++ >; ++ }; ++ ++ uart0_pins: pinmux-uart0-pins { ++ pinctrl-single,pins = < ++ AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0) /* (E15) uart0_rxd.uart0_rxd */ ++ AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (E16) uart0_txd.uart0_txd */ ++ >; ++ }; ++}; ++ ++&i2c0 { ++ eeprom: eeprom@50 { ++ compatible = "atmel,24c256"; ++ reg = <0x50>; ++ }; ++}; ++ ++&mmc1 { ++ status = "okay"; ++ vmmc-supply = <&vmmcsd_fixed>; ++ bus-width = <4>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc0_pins>; ++}; ++ ++&rtc { ++ system-power-controller; ++}; ++ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_pins>; ++ ++ status = "okay"; ++}; ++ ++&usb { ++ status = "okay"; ++}; ++ ++&usb_ctrl_mod { ++ status = "okay"; ++}; ++ ++&usb0_phy { ++ status = "okay"; ++}; ++ ++&usb0 { ++ status = "okay"; ++ dr_mode = "otg"; ++}; ++ ++&usb1_phy { ++ status = "okay"; ++}; ++ ++&usb1 { ++ status = "okay"; ++ dr_mode = "host"; ++}; ++ ++&cppi41dma { ++ status = "okay"; ++}; Property changes on: sysutils/u-boot-osd-customboard/files/patch-arch_arm_dts_am335x_osdcustomboard.dts ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: sysutils/u-boot-osd-customboard/files/patch-arch_arm_include_asm_arch__am33xx_hardware__am33xx.h =================================================================== --- sysutils/u-boot-osd-customboard/files/patch-arch_arm_include_asm_arch__am33xx_hardware__am33xx.h (nonexistent) +++ sysutils/u-boot-osd-customboard/files/patch-arch_arm_include_asm_arch__am33xx_hardware__am33xx.h (working copy) @@ -0,0 +1,10 @@ +--- arch/arm/include/asm/arch-am33xx/hardware_am33xx.h.orig 2019-10-07 23:14:02.000000000 +0200 ++++ arch/arm/include/asm/arch-am33xx/hardware_am33xx.h 2019-10-18 17:11:26.548880000 +0200 +@@ -60,6 +60,7 @@ + + /* RTC base address */ + #define RTC_BASE 0x44E3E000 ++#define RTC_OSC (RTC_BASE + 0x0054) + + /* OTG */ + #define USB0_OTG_BASE 0x47401000 Property changes on: sysutils/u-boot-osd-customboard/files/patch-arch_arm_include_asm_arch__am33xx_hardware__am33xx.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: sysutils/u-boot-osd-customboard/files/patch-board_ti_am335x_board.c =================================================================== --- sysutils/u-boot-osd-customboard/files/patch-board_ti_am335x_board.c (nonexistent) +++ sysutils/u-boot-osd-customboard/files/patch-board_ti_am335x_board.c (working copy) @@ -0,0 +1,108 @@ +--- board/ti/am335x/board.c.orig 2019-10-07 23:14:02.000000000 +0200 ++++ board/ti/am335x/board.c 2019-11-27 19:59:29.685514000 +0100 +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -266,7 +267,8 @@ + + if (board_is_evm_sk()) + return &dpll_ddr3_303MHz[ind]; +- else if (board_is_pb() || board_is_bone_lt() || board_is_icev2()) ++ else if (board_is_osd_custom() || board_is_osd_blank() || board_is_pb() || ++ board_is_bone_lt() || board_is_icev2()) + return &dpll_ddr3_400MHz[ind]; + else if (board_is_evm_15_or_later()) + return &dpll_ddr3_303MHz[ind]; +@@ -297,7 +299,7 @@ + if (bone_not_connected_to_ac_power()) + freq = MPUPLL_M_600; + +- if (board_is_pb() || board_is_bone_lt()) ++ if (board_is_osd_custom() || board_is_osd_blank() || board_is_pb() || board_is_bone_lt()) + freq = MPUPLL_M_1000; + + switch (freq) { +@@ -556,7 +558,7 @@ + if (board_is_evm_sk()) + config_ddr(303, &ioregs_evmsk, &ddr3_data, + &ddr3_cmd_ctrl_data, &ddr3_emif_reg_data, 0); +- else if (board_is_pb() || board_is_bone_lt()) ++ else if (board_is_osd_custom() || board_is_osd_blank() || board_is_pb() || board_is_bone_lt()) + config_ddr(400, &ioregs_bonelt, + &ddr3_beagleblack_data, + &ddr3_beagleblack_cmd_ctrl_data, +@@ -629,6 +631,7 @@ + /* At the moment, we do not want to stop booting for any failures here */ + int ft_board_setup(void *fdt, bd_t *bd) + { ++#if 0 + const char *slave_path, *enet_name; + int enetnode, slavenode, phynode; + struct udevice *ethdev; +@@ -695,6 +698,7 @@ + } + + done: ++#endif + return 0; + } + #endif +@@ -704,6 +708,31 @@ + */ + int board_init(void) + { ++ u32 sys_reboot, sys_rtc_osc; ++ ++ sys_reboot = readl(PRM_RSTST); ++ if (sys_reboot & (1 << 9)) ++ puts("Reset Source: IcePick reset has occurred.\n"); ++ ++ if (sys_reboot & (1 << 5)) ++ puts("Reset Source: Global external warm reset has occurred.\n"); ++ ++ if (sys_reboot & (1 << 4)) ++ puts("Reset Source: watchdog reset has occurred.\n"); ++ ++ if (sys_reboot & (1 << 1)) ++ puts("Reset Source: Global warm SW reset has occurred.\n"); ++ ++ if (sys_reboot & (1 << 0)) ++ puts("Reset Source: Power-on reset has occurred.\n"); ++ ++ sys_rtc_osc = readl(RTC_OSC); ++ if (sys_rtc_osc & (1 << 3)) { ++ puts("RTC 32KCLK Source: External.\n"); ++ } else { ++ puts("RTC 32KCLK Source: Internal.\n"); ++ } ++ + #if defined(CONFIG_HW_WATCHDOG) + hw_watchdog_init(); + #endif +@@ -814,6 +843,10 @@ + } + } + ++ if (board_is_osd_custom()) ++ name = "OSDC"; ++ if (board_is_osd_blank()) ++ name = "OSDBLNK"; + if (board_is_bbg1()) + name = "BBG1"; + if (board_is_bben()) +@@ -927,7 +960,9 @@ + #ifdef CONFIG_SPL_LOAD_FIT + int board_fit_config_name_match(const char *name) + { +- if (board_is_gp_evm() && !strcmp(name, "am335x-evm")) ++ if (board_is_osd_custom() && !strcmp(name, "am335x-osdcustomboard")) ++ return 0; ++ else if (board_is_gp_evm() && !strcmp(name, "am335x-evm")) + return 0; + else if (board_is_bone() && !strcmp(name, "am335x-bone")) + return 0; Property changes on: sysutils/u-boot-osd-customboard/files/patch-board_ti_am335x_board.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: sysutils/u-boot-osd-customboard/files/patch-board_ti_am335x_board.h =================================================================== --- sysutils/u-boot-osd-customboard/files/patch-board_ti_am335x_board.h (nonexistent) +++ sysutils/u-boot-osd-customboard/files/patch-board_ti_am335x_board.h (working copy) @@ -0,0 +1,29 @@ +--- board/ti/am335x/board.h.orig 2019-10-07 23:14:02.000000000 +0200 ++++ board/ti/am335x/board.h 2019-10-18 17:11:26.552651000 +0200 +@@ -23,6 +23,16 @@ + #define EMIF_OCP_CONFIG_BEAGLEBONE_BLACK 0x00141414 + #define EMIF_OCP_CONFIG_AM335X_EVM 0x003d3d3d + ++static inline int board_is_osd_custom(void) ++{ ++ return board_ti_is("OSDC"); ++} ++ ++static inline int board_is_osd_blank(void) ++{ ++ return board_ti_is("OSDBLNK"); ++} ++ + static inline int board_is_bone(void) + { + return board_ti_is("A335BONE"); +@@ -50,7 +60,8 @@ + + static inline int board_is_beaglebonex(void) + { +- return board_is_pb() || board_is_bone() || board_is_bone_lt() || ++ return board_is_osd_custom() || board_is_osd_blank() || ++ board_is_pb() || board_is_bone() || board_is_bone_lt() || + board_is_bbg1() || board_is_bben(); + } + Property changes on: sysutils/u-boot-osd-customboard/files/patch-board_ti_am335x_board.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: sysutils/u-boot-osd-customboard/files/patch-board_ti_am335x_mux.c =================================================================== --- sysutils/u-boot-osd-customboard/files/patch-board_ti_am335x_mux.c (nonexistent) +++ sysutils/u-boot-osd-customboard/files/patch-board_ti_am335x_mux.c (working copy) @@ -0,0 +1,48 @@ +--- board/ti/am335x/mux.c.orig 2019-10-07 23:14:02.000000000 +0200 ++++ board/ti/am335x/mux.c 2019-10-18 17:11:26.554513000 +0200 +@@ -65,7 +65,6 @@ + {OFFSET(mmc0_dat0), (MODE(0) | RXACTIVE | PULLUP_EN)}, /* MMC0_DAT0 */ + {OFFSET(mmc0_clk), (MODE(0) | RXACTIVE | PULLUP_EN)}, /* MMC0_CLK */ + {OFFSET(mmc0_cmd), (MODE(0) | RXACTIVE | PULLUP_EN)}, /* MMC0_CMD */ +- {OFFSET(mcasp0_aclkr), (MODE(4) | RXACTIVE)}, /* MMC0_WP */ + {OFFSET(spi0_cs1), (MODE(7) | RXACTIVE | PULLUP_EN)}, /* GPIO0_6 */ + {-1}, + }; +@@ -77,7 +76,6 @@ + {OFFSET(mmc0_dat0), (MODE(0) | RXACTIVE | PULLUP_EN)}, /* MMC0_DAT0 */ + {OFFSET(mmc0_clk), (MODE(0) | RXACTIVE | PULLUP_EN)}, /* MMC0_CLK */ + {OFFSET(mmc0_cmd), (MODE(0) | RXACTIVE | PULLUP_EN)}, /* MMC0_CMD */ +- {OFFSET(mcasp0_aclkr), (MODE(4) | RXACTIVE)}, /* MMC0_WP */ + {-1}, + }; + +@@ -356,7 +354,18 @@ + void enable_board_pin_mux(void) + { + /* Do board-specific muxes. */ +- if (board_is_bone()) { ++ if (board_is_osd_custom()) { ++ configure_module_pin_mux(mii1_pin_mux); ++ //configure_module_pin_mux(mmc0_pin_mux); ++ configure_module_pin_mux(mmc0_no_cd_pin_mux); ++#if 0 ++#if defined(CONFIG_NAND) ++ configure_module_pin_mux(nand_pin_mux); ++#else ++ configure_module_pin_mux(mmc1_pin_mux); ++#endif ++#endif ++ } else if (board_is_bone()) { + /* Beaglebone pinmux */ + configure_module_pin_mux(mii1_pin_mux); + configure_module_pin_mux(mmc0_pin_mux); +@@ -422,6 +431,8 @@ + configure_module_pin_mux(spi0_pin_mux); + } else { + /* Unknown board. We might still be able to boot. */ +- puts("Bad EEPROM or unknown board, cannot configure pinmux."); ++ puts("Unknown board: Assuming OSD Custom Board(MMC0 no cd)."); ++ //configure_module_pin_mux(mmc0_pin_mux); ++ configure_module_pin_mux(mmc0_no_cd_pin_mux); + } + } Property changes on: sysutils/u-boot-osd-customboard/files/patch-board_ti_am335x_mux.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: sysutils/u-boot-osd-customboard/files/patch-board_ti_common_board__detect.c =================================================================== --- sysutils/u-boot-osd-customboard/files/patch-board_ti_common_board__detect.c (nonexistent) +++ sysutils/u-boot-osd-customboard/files/patch-board_ti_common_board__detect.c (working copy) @@ -0,0 +1,27 @@ +--- board/ti/common/board_detect.c.orig 2019-10-07 23:14:02.000000000 +0200 ++++ board/ti/common/board_detect.c 2019-10-18 17:11:26.556397000 +0200 +@@ -215,6 +215,16 @@ + + rc = ti_i2c_eeprom_get(bus_addr, dev_addr, TI_EEPROM_HEADER_MAGIC, + sizeof(am_ep), (uint8_t *)&am_ep); ++ if (rc < 0) { ++ ep->header = TI_EEPROM_HEADER_MAGIC; ++ strlcpy(ep->name, "OSDBLNK", TI_EEPROM_HDR_NAME_LEN + 1); ++ ti_eeprom_string_cleanup(ep->name); ++ ++ strlcpy(ep->version, "1.0A", TI_EEPROM_HDR_REV_LEN + 1); ++ ti_eeprom_string_cleanup(ep->version); ++ ++ goto already_read; ++ } + if (rc) + return rc; + +@@ -237,6 +247,7 @@ + memcpy(ep->mac_addr, am_ep.mac_addr, + TI_EEPROM_HDR_NO_OF_MAC_ADDR * TI_EEPROM_HDR_ETH_ALEN); + ++already_read: + return 0; + } + Property changes on: sysutils/u-boot-osd-customboard/files/patch-board_ti_common_board__detect.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: sysutils/u-boot-osd-customboard/files/patch-configs_am335x_evm_defconfig =================================================================== --- sysutils/u-boot-osd-customboard/files/patch-configs_am335x_evm_defconfig (nonexistent) +++ sysutils/u-boot-osd-customboard/files/patch-configs_am335x_evm_defconfig (working copy) @@ -0,0 +1,13 @@ +--- configs/am335x_evm_defconfig.orig 2019-10-07 23:14:02.000000000 +0200 ++++ configs/am335x_evm_defconfig 2019-10-18 17:11:26.558165000 +0200 +@@ -32,8 +32,8 @@ + CONFIG_MTDPARTS_DEFAULT="mtdparts=nand.0:128k(NAND.SPL),128k(NAND.SPL.backup1),128k(NAND.SPL.backup2),128k(NAND.SPL.backup3),256k(NAND.u-boot-spl-os),1m(NAND.u-boot),128k(NAND.u-boot-env),128k(NAND.u-boot-env.backup1),8m(NAND.kernel),-(NAND.file-system)" + # CONFIG_SPL_EFI_PARTITION is not set + CONFIG_OF_CONTROL=y +-CONFIG_DEFAULT_DEVICE_TREE="am335x-evm" +-CONFIG_OF_LIST="am335x-evm am335x-bone am335x-boneblack am335x-evmsk am335x-bonegreen am335x-icev2 am335x-pocketbeagle" ++CONFIG_DEFAULT_DEVICE_TREE="am335x-osdbasic" ++CONFIG_OF_LIST="am335x-osdbasic am335x-osdcustomboard" + CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y + CONFIG_SPL_ENV_IS_NOWHERE=y + CONFIG_BOOTCOUNT_LIMIT=y Property changes on: sysutils/u-boot-osd-customboard/files/patch-configs_am335x_evm_defconfig ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: sysutils/u-boot-osd-customboard/files/patch-env_common.c =================================================================== --- sysutils/u-boot-osd-customboard/files/patch-env_common.c (nonexistent) +++ sysutils/u-boot-osd-customboard/files/patch-env_common.c (working copy) @@ -0,0 +1,18 @@ +--- env/common.c.orig 2019-10-07 23:14:02.000000000 +0200 ++++ env/common.c 2019-10-18 17:11:26.560114000 +0200 +@@ -202,6 +202,7 @@ + /* Export the environment and generate CRC for it. */ + int env_export(env_t *env_out) + { ++#if !defined(CONFIG_SPL_BUILD) + char *res; + ssize_t len; + +@@ -216,6 +217,7 @@ + + #ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT + env_out->flags = ++env_flags; /* increase the serial */ ++#endif + #endif + + return 0; Property changes on: sysutils/u-boot-osd-customboard/files/patch-env_common.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: sysutils/u-boot-osd-customboard/files/patch-include_configs_am335x__evm.h =================================================================== --- sysutils/u-boot-osd-customboard/files/patch-include_configs_am335x__evm.h (nonexistent) +++ sysutils/u-boot-osd-customboard/files/patch-include_configs_am335x__evm.h (working copy) @@ -0,0 +1,36 @@ +--- include/configs/am335x_evm.h.orig 2019-10-07 23:14:02.000000000 +0200 ++++ include/configs/am335x_evm.h 2019-10-18 17:11:26.561908000 +0200 +@@ -129,10 +129,25 @@ + "sf probe ${spibusno}:0; " \ + "sf read ${loadaddr} ${spisrcaddr} ${spiimgsize}; " \ + "bootz ${loadaddr}\0" \ ++ "preboot=echo board_name=[$board_name] ...; " \ ++ "if test $board_name = OSDBLNK; then " \ ++ "echo OSDBLNK ...; " \ ++ "run eeprom_dump; " \ ++ "run eeprom_blank; " \ ++ "run eeprom_osdcustom; " \ ++ "run eeprom_dump; " \ ++ "reset; " \ ++ "fi;\0 " \ + "ramboot=echo Booting from ramdisk ...; " \ + "run ramargs; " \ + "bootz ${loadaddr} ${rdaddr} ${fdtaddr}\0" \ + "findfdt="\ ++ "echo board_name=[$board_name] ...; " \ ++ "if test $board_name = OSDC; then " \ ++ "setenv fdtfile am335x-osdcustomboard.dtb; fi; " \ ++ "if test $board_name = OSDBLNK; then " \ ++ "echo BLANK BOARD!; " \ ++ "run preboot; fi; " \ + "if test $board_name = A335BONE; then " \ + "setenv fdtfile am335x-bone.dtb; fi; " \ + "if test $board_name = A335BNLT; then " \ +@@ -163,6 +178,7 @@ + "else " \ + "setenv console ttyO0,115200n8;" \ + "fi;\0" \ ++ EEPROM_PROGRAMMING \ + NANDARGS \ + NETARGS \ + DFUARGS \ Property changes on: sysutils/u-boot-osd-customboard/files/patch-include_configs_am335x__evm.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: sysutils/u-boot-osd-customboard/files/patch-include_configs_ti__armv7__common.h =================================================================== --- sysutils/u-boot-osd-customboard/files/patch-include_configs_ti__armv7__common.h (nonexistent) +++ sysutils/u-boot-osd-customboard/files/patch-include_configs_ti__armv7__common.h (working copy) @@ -0,0 +1,66 @@ +--- include/configs/ti_armv7_common.h.orig 2019-10-07 23:14:02.000000000 +0200 ++++ include/configs/ti_armv7_common.h 2019-10-18 17:11:26.563758000 +0200 +@@ -108,6 +108,63 @@ + /* Boot Argument Buffer Size */ + #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE + ++#define EEPROM_PROGRAMMING \ ++ "eeprom_dump=i2c dev 0; " \ ++ "i2c md 0x50 0x00.2 20; " \ ++ "\0" \ ++ "eeprom_blank=i2c dev 0; " \ ++ "i2c mw 0x50 0x00.2 ff; " \ ++ "i2c mw 0x50 0x01.2 ff; " \ ++ "i2c mw 0x50 0x02.2 ff; " \ ++ "i2c mw 0x50 0x03.2 ff; " \ ++ "i2c mw 0x50 0x04.2 ff; " \ ++ "i2c mw 0x50 0x05.2 ff; " \ ++ "i2c mw 0x50 0x06.2 ff; " \ ++ "i2c mw 0x50 0x07.2 ff; " \ ++ "i2c mw 0x50 0x08.2 ff; " \ ++ "i2c mw 0x50 0x09.2 ff; " \ ++ "i2c mw 0x50 0x0a.2 ff; " \ ++ "i2c mw 0x50 0x0b.2 ff; " \ ++ "i2c mw 0x50 0x0c.2 ff; " \ ++ "i2c mw 0x50 0x0d.2 ff; " \ ++ "i2c mw 0x50 0x0e.2 ff; " \ ++ "i2c mw 0x50 0x0f.2 ff; " \ ++ "i2c mw 0x50 0x10.2 ff; " \ ++ "i2c mw 0x50 0x11.2 ff; " \ ++ "i2c mw 0x50 0x12.2 ff; " \ ++ "i2c mw 0x50 0x13.2 ff; " \ ++ "i2c mw 0x50 0x14.2 ff; " \ ++ "i2c mw 0x50 0x15.2 ff; " \ ++ "i2c mw 0x50 0x16.2 ff; " \ ++ "i2c mw 0x50 0x17.2 ff; " \ ++ "i2c mw 0x50 0x18.2 ff; " \ ++ "i2c mw 0x50 0x19.2 ff; " \ ++ "i2c mw 0x50 0x1a.2 ff; " \ ++ "i2c mw 0x50 0x1b.2 ff; " \ ++ "i2c mw 0x50 0x1c.2 ff; " \ ++ "i2c mw 0x50 0x1d.2 ff; " \ ++ "i2c mw 0x50 0x1e.2 ff; " \ ++ "i2c mw 0x50 0x1f.2 ff; " \ ++ "\0" \ ++ "eeprom_osdcustom= " \ ++ "i2c mw 0x50 0x00.2 aa; " \ ++ "i2c mw 0x50 0x01.2 55; " \ ++ "i2c mw 0x50 0x02.2 33; " \ ++ "i2c mw 0x50 0x03.2 ee; " \ ++ "i2c mw 0x50 0x04.2 4F; " \ ++ "i2c mw 0x50 0x05.2 53; " \ ++ "i2c mw 0x50 0x06.2 44; " \ ++ "i2c mw 0x50 0x07.2 43; " \ ++ "i2c mw 0x50 0x08.2 ff; " \ ++ "i2c mw 0x50 0x09.2 ff; " \ ++ "i2c mw 0x50 0x0a.2 ff; " \ ++ "i2c mw 0x50 0x0b.2 ff; " \ ++ "i2c mw 0x50 0x0c.2 30; " \ ++ "i2c mw 0x50 0x0d.2 30; " \ ++ "i2c mw 0x50 0x0e.2 41; " \ ++ "i2c mw 0x50 0x0f.2 32; " \ ++ "\0" ++ + /* + * When we have SPI, NOR or NAND flash we expect to be making use of + * mtdparts, both for ease of use in U-Boot and for passing information Property changes on: sysutils/u-boot-osd-customboard/files/patch-include_configs_ti__armv7__common.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: sysutils/u-boot-osd-customboard/pkg-descr =================================================================== --- sysutils/u-boot-osd-customboard/pkg-descr (nonexistent) +++ sysutils/u-boot-osd-customboard/pkg-descr (working copy) @@ -0,0 +1,28 @@ +IMPORTANT: If your board is a Beaglebone *any colour*/PocketBeagle + please use sysutils/u-boot-beaglebone + +IMPORTANT: This port are NOT intended to work out of the box on your + custom board. You have to understand your hardware design and + at least modify the device tree to make it work on your + custom board. + +U-Boot loader for custom board based on OSD3358/AM335x with blank EEPROM. +(Based on u-boot-beaglebone) + +This version is patched so that: + * API features are enabled. + * Implementation described here + https://octavosystems.com/app_notes/osd335x-eeprom-during-boot/ + * And Robert C Nelson patchset 2019.07 + https://github.com/RobertCNelson/Bootloader-Builder/tree/master/patches + +You have to ensure your hardware are compatible with the device tree files + * files/patch-arch_arm_dts_am335x_osdbasic.dts + * files/patch-arch_arm_dts_am335x_osdcustomboard.dts +Also check the definition of mmc0 pins in + * board/ti/am335x/mux.c (files/patch-board_ti_am335x_mux.c) + +To install this bootloader, copy the files MLO and u-boot.img to the FAT +partition on an SD card or the eMMC. + +WWW: http://www.denx.de/wiki/U-Boot Property changes on: sysutils/u-boot-osd-customboard/pkg-descr ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property