/openbmc/linux/Documentation/devicetree/bindings/memory-controllers/ |
H A D | ti,gpmc-child.yaml | 4 $id: http://devicetree.org/schemas/memory-controllers/ti,gpmc-child.yaml# 7 title: Texas Instruments GPMC Bus Child Nodes 14 This binding is meant for the child nodes of the GPMC node. The node 15 represents any device connected to the GPMC bus. It may be a Flash chip, 17 configuring the GPMC settings/timings and will accompany the bindings 23 # GPMC Timing properties for child nodes. All are optional and default to 0. 24 gpmc,sync-clk-ps: 29 gpmc,cs-on-ns: 33 gpmc,cs-rd-off-ns: 37 gpmc,cs-wr-off-ns: [all …]
|
H A D | ti,gpmc.yaml | 4 $id: http://devicetree.org/schemas/memory-controllers/ti,gpmc.yaml# 7 title: Texas Instruments GPMC Memory Controller 14 The GPMC is a unified memory controller dedicated for interfacing 25 - ti,am3352-gpmc 26 - ti,am64-gpmc 27 - ti,omap2420-gpmc 28 - ti,omap2430-gpmc 29 - ti,omap3430-gpmc 30 - ti,omap4430-gpmc 48 GPMC configuration. [all …]
|
/openbmc/linux/arch/arm/boot/dts/ti/omap/ |
H A D | omap3430-sdp.dts | 49 &gpmc { 62 gpmc,mux-add-data = <2>; 63 gpmc,cs-on-ns = <0>; 64 gpmc,cs-rd-off-ns = <186>; 65 gpmc,cs-wr-off-ns = <186>; 66 gpmc,adv-on-ns = <12>; 67 gpmc,adv-rd-off-ns = <48>; 68 gpmc,adv-wr-off-ns = <48>; 69 gpmc,oe-on-ns = <54>; 70 gpmc,oe-off-ns = <168>; [all …]
|
H A D | omap-gpmc-smsc911x.dtsi | 3 * Common file for GPMC connected smsc911x on omaps 23 &gpmc { 24 ethernet@gpmc { 27 gpmc,device-width = <1>; 28 gpmc,cycle2cycle-samecsen; 29 gpmc,cycle2cycle-diffcsen; 30 gpmc,cs-on-ns = <5>; 31 gpmc,cs-rd-off-ns = <150>; 32 gpmc,cs-wr-off-ns = <150>; 33 gpmc,adv-on-ns = <0>; [all …]
|
H A D | omap2430-sdp.dts | 35 &gpmc { 37 ethernet@gpmc { 43 gpmc,sync-clk-ps = <0>; 44 gpmc,mux-add-data = <2>; 45 gpmc,device-width = <1>; 46 gpmc,cycle2cycle-samecsen; 47 gpmc,cycle2cycle-diffcsen; 48 gpmc,cs-on-ns = <6>; 49 gpmc,cs-rd-off-ns = <187>; 50 gpmc,cs-wr-off-ns = <187>; [all …]
|
H A D | omap3-igep.dtsi | 37 gpmc_pins: gpmc-pins { 104 &gpmc { 111 interrupt-parent = <&gpmc>; 116 gpmc,device-width = <2>; 119 gpmc,sync-clk-ps = <0>; 120 gpmc,cs-on-ns = <0>; 121 gpmc,cs-rd-off-ns = <44>; 122 gpmc,cs-wr-off-ns = <44>; 123 gpmc,adv-on-ns = <6>; 124 gpmc,adv-rd-off-ns = <34>; [all …]
|
H A D | omap3-overo-tobiduo-common.dtsi | 12 #include "omap-gpmc-smsc9221.dtsi" 14 &gpmc { 15 smsc1: ethernet@gpmc { 25 gpmc,mux-add-data = <0>; 26 gpmc,cs-on-ns = <0>; 27 gpmc,cs-rd-off-ns = <42>; 28 gpmc,cs-wr-off-ns = <36>; 29 gpmc,adv-on-ns = <6>; 30 gpmc,adv-rd-off-ns = <12>; 31 gpmc,adv-wr-off-ns = <12>; [all …]
|
H A D | omap-gpmc-smsc9221.dtsi | 3 * Common file for GPMC connected smsc9221 on omaps 27 &gpmc { 28 ethernet@gpmc { 32 gpmc,mux-add-data = <0>; 33 gpmc,cs-on-ns = <0>; 34 gpmc,cs-rd-off-ns = <42>; 35 gpmc,cs-wr-off-ns = <36>; 36 gpmc,adv-on-ns = <6>; 37 gpmc,adv-rd-off-ns = <12>; 38 gpmc,adv-wr-off-ns = <12>; [all …]
|
H A D | omap3-gta04a5one.dts | 13 gpmc_pins: gpmc-pins { 41 &gpmc { 57 gpmc,sync-read; 58 gpmc,sync-write; 59 gpmc,burst-length = <16>; 60 gpmc,burst-read; 61 gpmc,burst-wrap; 62 gpmc,burst-write; 63 gpmc,device-width = <2>; 64 gpmc,mux-add-data = <2>; [all …]
|
H A D | omap-zoom-common.dtsi | 6 #include "omap-gpmc-smsc911x.dtsi" 8 &gpmc { 13 * Four port TL16CP754C serial port on GPMC, 27 gpmc,mux-add-data = <0>; 28 gpmc,device-width = <1>; 29 gpmc,wait-pin = <1>; 30 gpmc,cycle2cycle-samecsen; 31 gpmc,cycle2cycle-diffcsen; 32 gpmc,cs-on-ns = <5>; 33 gpmc,cs-rd-off-ns = <155>; [all …]
|
H A D | omap2420-n8x0-common.dtsi | 47 &gpmc { 58 gpmc,sync-read; 59 gpmc,burst-length = <16>; 60 gpmc,burst-read; 61 gpmc,burst-wrap; 62 gpmc,device-width = <2>; 63 gpmc,mux-add-data = <2>; 64 gpmc,cs-on-ns = <0>; 65 gpmc,cs-rd-off-ns = <127>; 66 gpmc,cs-wr-off-ns = <109>; [all …]
|
H A D | omap3-sb-t35.dtsi | 99 &gpmc { 110 gpmc,device-width = <1>; 111 gpmc,cycle2cycle-samecsen; 112 gpmc,cycle2cycle-diffcsen; 113 gpmc,cs-on-ns = <5>; 114 gpmc,cs-rd-off-ns = <150>; 115 gpmc,cs-wr-off-ns = <150>; 116 gpmc,adv-on-ns = <0>; 117 gpmc,adv-rd-off-ns = <15>; 118 gpmc,adv-wr-off-ns = <40>; [all …]
|
H A D | omap4-duovero-parlor.dts | 134 #include "omap-gpmc-smsc911x.dtsi" 136 &gpmc { 139 ethernet@gpmc { 146 gpmc,cs-on-ns = <10>; 147 gpmc,cs-rd-off-ns = <50>; 148 gpmc,cs-wr-off-ns = <50>; 149 gpmc,adv-on-ns = <0>; 150 gpmc,adv-rd-off-ns = <10>; 151 gpmc,adv-wr-off-ns = <10>; 152 gpmc,oe-on-ns = <15>; [all …]
|
H A D | omap3-devkit8000-common.dtsi | 218 &gpmc { 225 interrupt-parent = <&gpmc>; 229 gpmc,device-width = <2>; 232 gpmc,sync-clk-ps = <0>; 233 gpmc,cs-on-ns = <0>; 234 gpmc,cs-rd-off-ns = <44>; 235 gpmc,cs-wr-off-ns = <44>; 236 gpmc,adv-on-ns = <6>; 237 gpmc,adv-rd-off-ns = <34>; 238 gpmc,adv-wr-off-ns = <44>; [all …]
|
H A D | omap2420-h4.dts | 19 &gpmc { 30 gpmc,mux-add-data = <2>; 31 gpmc,cs-on-ns = <10>; 32 gpmc,cs-rd-off-ns = <160>; 33 gpmc,cs-wr-off-ns = <160>; 34 gpmc,adv-on-ns = <20>; 35 gpmc,adv-rd-off-ns = <50>; 36 gpmc,adv-wr-off-ns = <50>; 37 gpmc,oe-on-ns = <60>; 38 gpmc,oe-off-ns = <120>; [all …]
|
H A D | am335x-chilisom.dtsi | 139 &gpmc { 147 interrupt-parent = <&gpmc>; 150 rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */ 154 gpmc,device-width = <1>; 155 gpmc,sync-clk-ps = <0>; 156 gpmc,cs-on-ns = <0>; 157 gpmc,cs-rd-off-ns = <44>; 158 gpmc,cs-wr-off-ns = <44>; 159 gpmc,adv-on-ns = <6>; 160 gpmc,adv-rd-off-ns = <34>; [all …]
|
H A D | omap3-lilly-a83x.dtsi | 357 &gpmc { 364 interrupt-parent = <&gpmc>; 371 gpmc,mux-add-data = <0>; 372 gpmc,device-width = <2>; 373 gpmc,wait-pin = <0>; 374 gpmc,wait-monitoring-ns = <0>; 375 gpmc,burst-length = <4>; 376 gpmc,cs-on-ns = <0>; 377 gpmc,cs-rd-off-ns = <100>; 378 gpmc,cs-wr-off-ns = <100>; [all …]
|
H A D | dm8148-evm.dts | 45 &gpmc { 51 interrupt-parent = <&gpmc>; 59 gpmc,device-width = <2>; 60 gpmc,sync-clk-ps = <0>; 61 gpmc,cs-on-ns = <0>; 62 gpmc,cs-rd-off-ns = <44>; 63 gpmc,cs-wr-off-ns = <44>; 64 gpmc,adv-on-ns = <6>; 65 gpmc,adv-rd-off-ns = <34>; 66 gpmc,adv-wr-off-ns = <44>; [all …]
|
H A D | dra62x-j5eco-evm.dts | 45 &gpmc { 51 interrupt-parent = <&gpmc>; 59 gpmc,device-width = <2>; 60 gpmc,sync-clk-ps = <0>; 61 gpmc,cs-on-ns = <0>; 62 gpmc,cs-rd-off-ns = <44>; 63 gpmc,cs-wr-off-ns = <44>; 64 gpmc,adv-on-ns = <6>; 65 gpmc,adv-rd-off-ns = <34>; 66 gpmc,adv-wr-off-ns = <44>; [all …]
|
/openbmc/u-boot/arch/arm/dts/ |
H A D | omap-gpmc-smsc911x.dtsi | 3 * Common file for GPMC connected smsc911x on omaps 23 &gpmc { 24 ethernet@gpmc { 27 gpmc,device-width = <1>; 28 gpmc,cycle2cycle-samecsen = <1>; 29 gpmc,cycle2cycle-diffcsen = <1>; 30 gpmc,cs-on-ns = <5>; 31 gpmc,cs-rd-off-ns = <150>; 32 gpmc,cs-wr-off-ns = <150>; 33 gpmc,adv-on-ns = <0>; [all …]
|
H A D | omap-gpmc-smsc9221.dtsi | 2 * Common file for GPMC connected smsc9221 on omaps 26 &gpmc { 27 ethernet@gpmc { 31 gpmc,mux-add-data; 32 gpmc,cs-on-ns = <0>; 33 gpmc,cs-rd-off-ns = <42>; 34 gpmc,cs-wr-off-ns = <36>; 35 gpmc,adv-on-ns = <6>; 36 gpmc,adv-rd-off-ns = <12>; 37 gpmc,adv-wr-off-ns = <12>; [all …]
|
H A D | omap3-igep.dtsi | 107 &gpmc { 114 interrupt-parent = <&gpmc>; 119 gpmc,device-width = <2>; 122 gpmc,sync-clk-ps = <0>; 123 gpmc,cs-on-ns = <0>; 124 gpmc,cs-rd-off-ns = <44>; 125 gpmc,cs-wr-off-ns = <44>; 126 gpmc,adv-on-ns = <6>; 127 gpmc,adv-rd-off-ns = <34>; 128 gpmc,adv-wr-off-ns = <44>; [all …]
|
H A D | am335x-draco.dtsi | 123 &gpmc { 134 gpmc,device-nand = "true"; 135 gpmc,device-width = <1>; 136 gpmc,sync-clk-ps = <0>; 137 gpmc,cs-on-ns = <0>; 138 gpmc,cs-rd-off-ns = <44>; 139 gpmc,cs-wr-off-ns = <44>; 140 gpmc,adv-on-ns = <6>; 141 gpmc,adv-rd-off-ns = <34>; 142 gpmc,adv-wr-off-ns = <44>; [all …]
|
/openbmc/linux/drivers/memory/ |
H A D | omap-gpmc.c | 3 * GPMC support functions 32 #include <linux/omap-gpmc.h> 38 #define DEVICE_NAME "omap-gpmc" 40 /* GPMC register offsets */ 67 /* GPMC ECC control settings */ 96 * The first 1MB of GPMC address space is typically mapped to 99 * As GPMC minimum partition size is 16MB we can only start from 206 /* Structure to save gpmc cs context */ 219 * Structure to save/restore gpmc context 425 * @name: DTS node name, w/o "gpmc," 921 struct gpmc_cs_data *gpmc = &gpmc_cs[cs]; gpmc_cs_set_reserved() local 928 struct gpmc_cs_data *gpmc = &gpmc_cs[cs]; gpmc_cs_reserved() local 949 struct gpmc_cs_data *gpmc = &gpmc_cs[cs]; gpmc_cs_insert_mem() local 965 struct gpmc_cs_data *gpmc = &gpmc_cs[cs]; gpmc_cs_delete_mem() local 980 struct gpmc_cs_data *gpmc = &gpmc_cs[cs]; gpmc_cs_request() local 1026 struct gpmc_cs_data *gpmc; gpmc_cs_free() local 1051 gpmc_alloc_waitpin(struct gpmc_device * gpmc,struct gpmc_settings * p) gpmc_alloc_waitpin() argument 1095 gpmc_free_waitpin(struct gpmc_device * gpmc,int wait_pin) gpmc_free_waitpin() argument 1405 struct gpmc_device *gpmc = d->host_data; gpmc_irq_map() local 1429 struct gpmc_device *gpmc = data; gpmc_handle_irq() local 1459 gpmc_setup_irq(struct gpmc_device * gpmc) gpmc_setup_irq() argument 1499 gpmc_free_irq(struct gpmc_device * gpmc) gpmc_free_irq() argument 1525 gpmc_mem_init(struct gpmc_device * gpmc) gpmc_mem_init() argument 1971 struct gpmc_cs_data *gpmc = &gpmc_cs[cs]; gpmc_cs_set_name() local 1978 struct gpmc_cs_data *gpmc = &gpmc_cs[cs]; gpmc_cs_get_name() local 2177 struct gpmc_device *gpmc = platform_get_drvdata(pdev); gpmc_probe_generic_child() local 2451 gpmc_gpio_init(struct gpmc_device * gpmc) gpmc_gpio_init() argument 2475 omap3_gpmc_save_context(struct gpmc_device * gpmc) omap3_gpmc_save_context() argument 2513 omap3_gpmc_restore_context(struct gpmc_device * gpmc) omap3_gpmc_restore_context() argument 2555 struct gpmc_device *gpmc; omap_gpmc_context_notifier() local 2580 struct gpmc_device *gpmc; gpmc_probe() local 2696 struct gpmc_device *gpmc = platform_get_drvdata(pdev); gpmc_remove() local 2712 struct gpmc_device *gpmc = dev_get_drvdata(dev); gpmc_suspend() local 2723 struct gpmc_device *gpmc = dev_get_drvdata(dev); gpmc_resume() local [all...] |
/openbmc/linux/Documentation/driver-api/memory-devices/ |
H A D | ti-gpmc.rst | 4 GPMC (General Purpose Memory Controller) 7 GPMC is an unified memory controller dedicated to interfacing external 16 GPMC is found on Texas Instruments SoC's (OMAP based) 20 GPMC generic timing calculation: 23 GPMC has certain timings that has to be programmed for proper 25 timings. To have peripheral work with gpmc, peripheral timings has to 26 be translated to the form gpmc can understand. The way it has to be 28 dependency for certain gpmc timings on gpmc clock frequency. Hence a 31 Generic routine provides a generic method to calculate gpmc timings 32 from gpmc peripheral timings. struct gpmc_device_timings fields has to [all …]
|