From mboxrd@z Thu Jan 1 00:00:00 1970 From: wangjiankun820624 Date: Tue, 27 May 2008 21:14:58 +0800 (CST) Subject: [U-Boot-Users] MIPS: about the function of the octeon_twsi_set_addr8 Message-ID: <5004461.722081211894098417.JavaMail.coremail@bj163app18.163.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de hello! the field of [31:0] in the register MIO_TWS_SW_TWSI is data field, in the following function the low-8-bit of the 16-bit address is loaded in the MIO_TWS_SW_TWSI[7:0]. WHY? int octeon_twsi_set_addr8(uint8_t dev_addr, uint16_t addr) { /* 16 bit internal address ONLY */ uint64_t val; octeon_write64(CVMX_MIO_TWS_SW_TWSI,0x8000000000000000ull | ( 0x0ull << 57) | (((uint64_t)dev_addr) << 40) | (addr & 0xff)); // tell twsii to do the read while (octeon_read64(CVMX_MIO_TWS_SW_TWSI)&0x8000000000000000ull); val = octeon_read64(CVMX_MIO_TWS_SW_TWSI); if (!(val & 0x0100000000000000ull)) { return -1; } return(0); } -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.denx.de/pipermail/u-boot/attachments/20080527/b06daccf/attachment.htm