The page links to github and shows lots of changes. Do you have more information on this proposed solution? Is there a documentation available somewhere?
Am Dienstag, 11. März 2014 14:43:17 UTC+1 schrieb David: > > I don't think capemgr/device tree overlays are supported anymore. Robert > Nelson has proposed another solution with 3.13.x kernels that seems to work > for me: > > > https://github.com/RobertCNelson/linux-dev/commit/685b182ca956dcd8396ca69af5c678c43a102d03 > > HTH, > > Dave. > > > On 03/11/2014 05:05 AM, [email protected] <javascript:> wrote: > > > I have done some tests initializing the device tree. The file I have used > does work in kernel 3.8.13 without any issues. However, kernel 3.12.13 > causes lots of trouble. > > My .dts file is as follows: > > /* > * optargs=capemgr.disable_partno=BB-BONE-EMMC-2G > * "arch/arm/boot/dts/am335x-boneblack.dts", find the section starting > * with "&mmc2 {" and in section change status = "okay" into "disabled". > * do once : mmc dev 1 > * mmc rstn 1 > * in uBoot or in uEnv and then delete > */ > > > > /dts-v1/; > /plugin/; > > / { > compatible = "ti,beaglebone", "ti,beaglebone-black"; > > /* identification */ > part-number = "BB-BONE-MARK1"; > version = "00A1"; > > /* state the resources this cape uses */ > exclusive-use = > /* the pin header uses */ > "P8.25", /* gpmc: gpmc_ad0 */ > "P8.24", /* gpmc: gpmc_ad1 */ > "P8.5", /* gpmc: gpmc_ad2 */ > "P8.6", /* gpmc: gpmc_ad3 */ > "P8.23", /* gpmc: gpmc_ad4 */ > "P8.22", /* gpmc: gpmc_ad5 */ > "P8.3", /* gpmc: gpmc_ad6 */ > "P8.4", /* gpmc: gpmc_ad7 */ > "P8.19", /* gpmc: gpmc_ad8 */ > "P8.13", /* gpmc: gpmc_ad9 */ > "P8.14", /* gpmc: gpmc_ad10 */ > "P8.17", /* gpmc: gpmc_ad11 */ > "P8.12", /* gpmc: gpmc_ad12 */ > "P8.11", /* gpmc: gpmc_ad13 */ > "P8.16", /* gpmc: gpmc_ad14 */ > "P8.15", /* gpmc: gpmc_ad15 */ > "P9.13", /* gpmc: gpmc_wpn */ > "P8.21", /* gpmc: gpmc_csn1 */ > "P8.18", /* gpmc: gpmc_clk */ > "P8.7", /* gpmc: gpmc_advn_ale */ > "P8.8", /* gpmc: gpmc_oen_ren */ > "P8.10", /* gpmc: gpmc_wen */ > "P8.9", /* gpmc: gpmc_ben0_cle */ > > "P9.18", > "P9.22", > > "gpmc", > /* the reset pin */ > "eMMC_RSTn"; > > #address-cells = <1>; > #size-cells = <1>; > > fragment@0 { > target = <&am33xx_pinmux>; > __overlay__ { > > gpmc_pins: pinmux_gpmc_pins { > pinctrl-single,pins = < > 0x000 0x30 /* gpmc_ad0.gpmc_ad0 MODE0 | INPUT | > PULLUP */ > 0x004 0x30 /* gpmc_ad1.gpmc_ad1 MODE0 | INPUT | > PULLUP */ > 0x008 0x30 /* gpmc_ad2.gpmc_ad2 MODE0 | INPUT | > PULLUP */ > 0x00C 0x30 /* gpmc_ad3.gpmc_ad3 MODE0 | INPUT | > PULLUP */ > 0x010 0x30 /* gpmc_ad4.gpmc_ad4 MODE0 | INPUT | > PULLUP */ > 0x014 0x30 /* gpmc_ad5.gpmc_ad5 MODE0 | INPUT | > PULLUP */ > 0x018 0x30 /* gpmc_ad6.gpmc_ad6 MODE0 | INPUT | > PULLUP */ > 0x01C 0x30 /* gpmc_ad7.gpmc_ad7 MODE0 | INPUT | > PULLUP */ > 0x020 0x30 /* gpmc_ad8.gpmc_ad8 MODE0 | INPUT | > PULLUP */ > 0x024 0x30 /* gpmc_ad9.gpmc_ad9 MODE0 | INPUT | > PULLUP */ > 0x028 0x30 /* gpmc_ad10.gpmc_ad10 MODE0 | INPUT | > PULLUP */ > 0x02C 0x30 /* gpmc_ad11.gpmc_ad11 MODE0 | INPUT | > PULLUP */ > 0x030 0x30 /* gpmc_ad12.gpmc_ad12 MODE0 | INPUT | > PULLUP */ > 0x034 0x30 /* gpmc_ad13.gpmc_ad13 MODE0 | INPUT | > PULLUP */ > 0x038 0x30 /* gpmc_ad14.gpmc_ad14 MODE0 | INPUT | > PULLUP */ > 0x03C 0x30 /* gpmc_ad15.gpmc_ad15 MODE0 | INPUT | > PULLUP */ > 0x080 0x08 /* gpmc_cscn1.gpmc_cscn1 MODE0 | OUTPUT > */ > 0x08C 0x28 /* gpmc_clk.gpmc_clk MODE0 | OUTPUT */ > 0x090 0x08 /* gpmc_advn_ale.gpmc_advn_ale MODE0 | > OUTPUT */ > 0x094 0x08 /* gpmc_oen_ren.gpmc_oen_ren MODE0 | > OUTPUT */ > 0x098 0x08 /* gpmc_wen.gpmc_wen MODE0 | OUTPUT */ > 0x09C 0x08 /* gpmc_ben0_cle.gpmc_ben0_cle MODE0 | > OUTPUT */ > 0x078 0x08 /* gpmc_ben1_cle.gpmc_ben1_cle MODE0 | > OUTPUT */ > >; > }; > > fpga_config_pins: pinmux_fpga_config_pins { > pinctrl-single,pins = < > /* config clk and data */ > 0x158 0x17 /* spi1_d1 MODE3 | INPUT | PULLUP , > serial data config */ > 0x150 0x17 /* spi1_sclk MODE3 | INPUT | PULLUP, > serial clock config */ > >; > }; > }; > }; > > fragment@1 { > target = <&gpmc>; > depth = <1>; /* only create devices on depth 1 */ > > /* stupid warnings */ > #address-cells = <1>; > #size-cells = <1>; > > __overlay__ { > > status = "okay"; > > #address-cells = <2>; > #size-cells = <1>; > > pinctrl-names = "default"; > pinctrl-0 = <&gpmc_pins>; > > > > > /* chip select ranges */ > ranges = <1 0 0x01000000 0x1000000>; > > camera{ > compatible = "mark1"; > status = "okay"; > pinctrl-names = "default"; > pinctrl-0 = <&fpga_config_pins>; > > reset = <&rstctl 0 0>; > reset-names = "eMMC_RSTn-MARK1"; > > reg = <1 0 0x01000000>; /*CSn1*/ > > bank-width = <2>; /* GPMC_CONFIG1_DEVICESIZE(1) */ > > /*gpmc,burst-write;*/ > gpmc,burst-read; > gpmc,burst-wrap; > gpmc,sync-read; /* > GPMC_CONFIG1_READTYPE_ASYNC */ > gpmc,sync-write; /* > GPMC_CONFIG1_WRITETYPE_ASYNC */ > gpmc,clk-activation-ns = <0>; /* > GPMC_CONFIG1_CLKACTIVATIONTIME(2) */ > gpmc,burst-length = <16>; /* > GPMC_CONFIG1_PAGE_LEN(2) */ > gpmc,mux-add-data = <2>; /* GPMC_CONFIG1_MUXTYPE(2) > */ > > gpmc,sync-clk-ps = <20000>; /* CONFIG2 */ > > gpmc,cs-on-ns = <0>; > gpmc,cs-rd-off-ns = <100>; > gpmc,cs-wr-off-ns = <40>; > > gpmc,adv-on-ns = <0>; /* CONFIG3 */ > gpmc,adv-rd-off-ns = <20>; > gpmc,adv-wr-off-ns = <20>; > > gpmc,we-on-ns = <20>; /* CONFIG4 */ > gpmc,we-off-ns = <40>; > gpmc,oe-on-ns = <20>; > gpmc,oe-off-ns = <100>; > > gpmc,page-burst-access-ns = <20>; /* CONFIG 5 */ > gpmc,access-ns = <80>; > gpmc,rd-cycle-ns = <120>; > gpmc,wr-cycle-ns = <60>; > gpmc,wr-access-ns = <40>; /* CONFIG 6 */ > gpmc,wr-data-mux-bus-ns = <20>; > > /*gpmc,bus-turnaround-ns = <40>;*/ /* > CONFIG6:3:0 = 4 */ > /*gpmc,cycle2cycle-samecsen;*/ /* CONFIG6:7 > = 1 */ > /*gpmc,cycle2cycle-delay-ns = <40>;*/ /* > CONFIG6:11:8 = 4 */ > > /* not using dma engine yet, but we can get the channel > number here */ > dmas = <&edma 20>; > dma-names = "mark1"; > > fpga,config { > i2c-adapter = <&i2c2>; > > /* need it to stop the whinning */ > #address-cells = <1>; > #size-cells = <0>; > > /* fake i2c device node */ > pca9534 { > compatible = "mark1"; > reg = <0x70>; > }; > }; > > }; > > }; > }; > > fragment@2 { > target = <&spi0>; > __overlay__ { > #address-cells = <1>; > #size-cells = <0>; > status = "okay"; > pinctrl-names = "default"; > pinctrl-0 = <&fpga_config_pins>; > > spi0_0{ > #address-cells = <1>; > #size-cells = <0>; > compatible = "spidev"; > reg = <0>; > spi-max-frequency = <16000000>; > spi-cpha; > }; > spi0_1{ > #address-cells = <1>; > #size-cells = <0>; > compatible = "spidev"; > reg = <1>; > spi-max-frequency = <16000000>; > // Mode 0 (CPOL = 0, CPHA = 0) > }; > }; > }; > > > }; > > > When trying to initialize the device tree using cape manager the follow > warnings appear: > [ 50.062951] of_resolve: Could not find symbol 'rstctl' > [ 50.070191] bone-capemgr bone_capemgr.6: slot #7: Failed to resolve tree > > The symbol rstctl has indeed been removed from am335x-boneblack.dts & > am335x-bone-common.dts. How exactly are we supposed to activate the reset > pin for the eMMC? > > When commenting out the line 'reset = <&rstctl 0 0>;' the result is as > follows: > [ 47.473573] pinctrl-single 44e10800.pinmux: pin 44e10800.0 already > requested by 481d8000.mmc; cannot claim for 50000000.gpmc > [ 47.501440] pinctrl-single 44e10800.pinmux: pin-0 (50000000.gpmc) > status -22 > [ 47.523657] pinctrl-single 44e10800.pinmux: could not request pin 0 > (44e10800.0) from group pinmux_gpmc_pins on device pinctrl-single > [ 47.541533] omap-gpmc 50000000.gpmc: Error applying setting, reverse > things back > > It seems to be impossible to access the GPMC even if we ignore the reMMC > reset problem. Does anybody know whats going on? Is there anybody out there > who has done any tests of the GPMC functionality under a 3.12 kernel? > -- > For more options, visit http://beagleboard.org/discuss > --- > You received this message because you are subscribed to the Google Groups > "BeagleBoard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] <javascript:>. > For more options, visit https://groups.google.com/d/optout. > > > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
