历史上的今天
返回首页

历史上的今天

今天是:2024年12月09日(星期一)

正在发生

2020年12月09日 | TQ210 —— s5pv210 mem_setup.S分析

2020-12-09 来源:eefocus

/*

 * Originates from Samsung's u-boot 1.1.6 port to S5PC1xx

 *

 * Copyright (C) 2009 Samsung Electrnoics

 * Inki Dae

 * Heungjun Kim

 * Minkyu Kang

 * Kyungmin Park

 *

 * See file CREDITS for list of people who contributed to this

 * project.

 *

 * This program is free software; you can redistribute it and/or

 * modify it under the terms of the GNU General Public License as

 * published by the Free Software Foundation; either version 2 of

 * the License, or (at your option) any later version.

 *

 * This program is distributed in the hope that it will be useful,

 * but WITHOUT ANY WARRANTY; without even the implied warranty of

 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

 * GNU General Public License for more details.

 *

 * You should have received a copy of the GNU General Public License

 * along with this program; if not, write to the Free Software

 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,

 * MA 02111-1307 USA

 */

 

#include

 

.globl mem_ctrl_asm_init

mem_ctrl_asm_init:

ldr r0, =0xe6000000 /*APB_DMC_BASE*/

 

ldr r1, =0xe0000000 /*PRO_ID_BASE*/

ldr r2, [r1] /*PRO_ID regiser*/

bic r2, #0xfffffdff

 

/******************** DLL initialization **************************/

@ldr r1, =0x6a101000

ldr r1, =0x50101000

str r1, [r0, #0x18] /*PHY control 0 register*/

 

@ldr r1, =0x000084f4

ldr r1, =0x000000f6

str r1, [r0, #0x1c] /*PHY control 1 register*/

 

ldr r1, =0x00000000

str r1, [r0, #0x20] /*PHY control 2 register*/

 

@ldr r1, =0x6A101002 @DLL on

ldr r1, =0x50101002

str r1, [r0, #0x18] /*PHY control 0 register*/

 

@ldr r1, =0x6A101003 @Dll start

ldr r1, =0x50101003

str r1, [r0, #0x18] /*PHY control 0 register*/

 

ldr r1, =0x50101003

str r1, [r0, #0x18] /*PHY control 0 register*/

 

ldr r1, =0x50101001

str r1, [r0, #0x18] /*PHY control 0 register*/

 

/************************** DLL initialization - END ************************/

 

@ldr     r1, =0x0FF01010 @auto refresh off

ldr r1, =0xFF001010

str     r1, [r0, #0x0] /*e6000000 = controller control register*/

 

@ldr     r1, =0x00212400 @ BL=4 , 2 chip , DDR2

ldr r1, =0xff202400

str     r1, [r0, #0x4] /*e6000004 = memory control register*/

 

@ 128MB config , 8banks , linear, Row=13bit,COL=10bit

@ldr r1, =0x20F01313

ldr r1, =0x20e00313

str r1, [r0, #0x8]

 

@ldr r1, =0x40F01313

ldr r1, =0x30e00323

str r1, [r0, #0xc]

 

ldr     r1, =0x20000000

str     r1, [r0, #0x14] /*precharge policy configuration register*/

 

@ldr     r1, =0x00100004

@str     r1, [r0, #0x28] /*precharge policy configuration register*/

 

 

/******************************************************************/

 

@ldr r1, =0x0000050e

ldr r1, =0x00000400

str     r1, [r0, #0x30] /*AC timing register for auto refresh of memory*/

 

@ldr r1, =0x16233297 @TimingRow @166MHz

ldr r1, =0x16233287

str     r1, [r0, #0x34] /*AC timing register for the row of memory*/

 

@; ldr r1, =0x24250304 @CL=5

@ldr r1, =0x23230000 @CL=3

ldr r1, =0x23240304

str r1, [r0, #0x38] /*AC timing register for the data of memory*/

 

@ldr     r1, =0x07c80232                 @Timing Power

ldr r1, =0x09c80232

str     r1, [r0, #0x3c] /*AC timing register for the power mode of memory*/

 

/************************ direct command for DDR2 ***********************/

 

ldr     r1, =0x07000000                 @chip0 Deselect

str     r1, [r0, #0x10] /*memory direct command register*/

 

ldr     r1, =0x01000000                 @chip0 PALL

str     r1, [r0, #0x10]

 

ldr     r1, =0x00020000                 @chip0 EMRS2

str     r1, [r0, #0x10]

 

ldr     r1, =0x00030000                 @chip0 EMRS3

str     r1, [r0, #0x10]

 

ldr     r1, =0x00010400 @chip0 EMRS1 (MEM DLL on = DQS# disable)

str     r1, [r0, #0x10]

 

@; ldr     r1, =0x00000552 @chip0 MRS (MEM DLL reset) CL=5, Burst Length=4

ldr     r1, =0x00000542 @chip0 MRS (MEM DLL reset) CL=3, Burst Length=4

str     r1, [r0, #0x10]

 

ldr     r1, =0x01000000                  @chip0 PALL

str     r1, [r0, #0x10]

 

ldr     r1, =0x05000000                  @chip0 REFA

str     r1, [r0, #0x10]

 

ldr     r1, =0x05000000                  @chip0 REFA

str     r1, [r0, #0x10]

 

@; ldr     r1, =0x00000452 @chip0 MRS (MEM DLL unreset) , BL=4 , CL=5

ldr     r1, =0x00000442 @chip0 MRS (MEM DLL unreset) , BL=4 , CL=3 

str     r1, [r0, #0x10]

 

ldr     r1, =0x00010780                  @chip0 EMRS1 (OCD default)

str     r1, [r0, #0x10]

 

ldr     r1, =0x00010400 @chip0 EMRS1 (OCD exit)  Reduced Strength

str     r1, [r0, #0x10]

 

/************************ direct command for DDR2 - END*******************/

 

@ldr     r1, =0x00FF20B0 @ConControl auto refresh on

ldr r1, =0xff01030

str     r1, [r0, #0x0] /*e6000000 = controller control register*/

 

ldr r1, =0x00100004

str r1, [r0, #0x28]

 

@ldr     r1, =0x00212413         @ MemControl

ldr r1, =0x00202400

str     r1, [r0, #0x4] /*e6000000 = controller control register*/

 

b exit_cpu_init

 

exit_cpu_init:

mov pc, lr


推荐阅读

史海拾趣

First Switchtech公司的发展小趣事

在追求商业成功的同时,First Switchtech公司(或类似公司)也始终关注可持续发展和社会责任。公司致力于环保产品的研发和生产,推出了多款符合国际环保标准的电子开关产品。同时,公司还积极参与公益事业,通过捐赠资金、技术支持等方式帮助贫困地区改善教育条件、提升医疗水平等。这些举措不仅提升了公司的社会形象,也促进了公司与社会的和谐共生。

需要注意的是,以上故事是基于电子行业普遍趋势和可能发展路径的构想,并非直接针对First Switchtech公司的具体事实。如需了解该公司的真实发展情况,建议直接访问其官方网站或查阅相关新闻报道。

API Delevan公司的发展小趣事

随着技术的不断进步,API Delevan公司始终保持着对创新的追求。研发团队不断攻克技术难关,推出了一系列具有创新性的电感器、RF线圈、功率电感器等产品。这些产品不仅提高了性能,还降低了能耗,满足了客户的多样化需求。同时,公司还注重产品升级,不断提升产品的竞争力。

HELUKABEL公司的发展小趣事

1947年,API Delevan公司在电子行业的浪潮中应运而生。创立初期,公司面临着资金短缺、市场竞争激烈等诸多挑战。然而,凭借创始团队对电感技术的深刻理解和坚定信念,API Delevan迎难而上,积极研发新产品,逐步在市场中站稳脚跟。初创期的奋斗历程为公司的长远发展奠定了坚实的基础。

Headland Technology Product Group公司的发展小趣事

在电子行业中,产品质量是企业生存和发展的基石。HBControls深知这一点,因此始终将品质管理放在首位。公司建立了完善的质量管理体系,从原材料采购、生产加工到成品检验,每一个环节都严格把关。此外,HBControls还定期对员工进行质量意识培训,确保每一位员工都能将品质理念融入到日常工作中。正是凭借卓越的产品质量和优质的服务,HBControls赢得了众多客户的信赖和好评。

Babcock Inc公司的发展小趣事

随着技术的不断积累,Babcock开始将研发重点转向市场需求旺盛的产品领域。通过深入分析市场趋势和客户需求,公司成功推出了一系列具有创新性和竞争力的电子产品。这些产品不仅性能卓越,而且设计新颖,很快便赢得了市场的广泛认可,为公司带来了可观的收益。

G-Mag Usa公司的发展小趣事

面对数字化转型的浪潮,G-Mag在2020年决定全面拥抱智能制造。公司投入巨资建设智能工厂和数字化管理平台,引入先进的自动化设备和人工智能技术优化生产流程和管理效率。通过数字化转型,G-Mag实现了生产过程的智能化、自动化和可视化监控,大大提高了生产效率和产品质量。同时,G-Mag还利用大数据和云计算技术分析市场需求和消费者行为,为产品研发和市场推广提供精准的数据支持。在数字化转型的推动下,G-Mag不仅提升了自身的竞争力,还为整个电子行业的智能化发展树立了标杆。

问答坊 | AI 解惑

应该加开一个考电子工程师的板面

到时谁考那个就可以到那个板面找有用的东西了。不用在网站上瞎找。 也可以交流一下…

查看全部问答>

改进手摇发电的手电筒

中国人的聪明才智令人震惊。我曾经见过10几块钱的鼠标,除了外观、手感差点之外,没有什么可以挑剔的地方。这件事让我明白两个道理:1、规模出效益;2、中国的市场潜力和需求都是非常巨大的,这种巨大的规模可以让一个鼠标做到10块钱,仍然能够盈 ...…

查看全部问答>

protel里面AT16的问题

ATmega在protel里面的库是哪个啊我怎么找不到呢…

查看全部问答>

800*480的屏全屏顺畅播放MP4文件,用什么控制器好?

如题:要在7寸TFT真彩屏上全屏顺畅播放MP4视频文件,该用什么控制器呢?最好时三星的片子。       对功耗没要求,谢谢大家!       另外加128M的SDRAM、512M的NANDFLASH、当然还有印制板,总成本能控制 ...…

查看全部问答>

请我,如何在windows下接受并显示usb传来的命令??有想串口调试的工具吗?

请我,如何在windows下接受并显示usb传来的命令??有想串口调试的工具吗?…

查看全部问答>

出现Pausing target processor:not responding急盼解答!!

nios运行时出现 Pausing target processor:not responding Resetting and trying again:FAILED leaving target processor paused 这样的错误 为了简便测试,SOPC Builder里就添加了onchip ram 、CPU、jtag_uart 使用ep3c5芯片 谢谢各位了 ...…

查看全部问答>

有没有满足我的要求的商品化的模数转换器

     我想用一个软件检测传送带反转时的信号,以便记录反转时的系统时间,传送带反转是通过继电器控制的,可以提供一个开关信号,我想将这个开关信号传送到模数转换器上,然后模数转换器直接连到计算机的com端口上,只要继电 ...…

查看全部问答>

学51单片机,想自己动手焊一个开发板,需要什么东东

我想自己买个面包板或万能板自己做一块,不要跟我建议去买,,想知道做一块够我学习51的开发板需要的原件的名称和数量,因为我这里离电子城很远,想一次性全部原件都买了,学到什么就焊什么上去。。。…

查看全部问答>

如何提高电路工作频率

对于设计者来说,我们当然希望我们设计的电路的工作频率(在这里如无特别说明,工作频率指FPGA片内的工作频率)尽量高。我们也经常听说用资源换速度,用流水的方式可以提高工作频率,这确实是一个很重要的方法,今天我想进一步去分析该如何提高电路 ...…

查看全部问答>