17530d341SPrabhakar KushwahaOverview 27530d341SPrabhakar Kushwaha-------- 37530d341SPrabhakar Kushwaha- BSC9131 is integrated device that targets Femto base station market. 47530d341SPrabhakar Kushwaha It combines Power Architecture e500v2 and DSP StarCore SC3850 core 57530d341SPrabhakar Kushwaha technologies with MAPLE-B2F baseband acceleration processing elements. 67530d341SPrabhakar Kushwaha- It's MAPLE disabled personality is called 9231. 77530d341SPrabhakar Kushwaha 87530d341SPrabhakar KushwahaThe BSC9131 SoC includes the following function and features: 97530d341SPrabhakar Kushwaha. Power Architecture subsystem including a e500 processor with 256-Kbyte shared 107530d341SPrabhakar Kushwaha L2 cache 117530d341SPrabhakar Kushwaha. StarCore SC3850 DSP subsystem with a 512-Kbyte private L2 cache 127530d341SPrabhakar Kushwaha. The Multi Accelerator Platform Engine for Femto BaseStation Baseband 137530d341SPrabhakar Kushwaha Processing (MAPLE-B2F) 147530d341SPrabhakar Kushwaha. A multi-standard baseband algorithm accelerator for Channel Decoding/Encoding, 157530d341SPrabhakar Kushwaha Fourier Transforms, UMTS chip rate processing, LTE UP/DL Channel processing, 167530d341SPrabhakar Kushwaha and CRC algorithms 177530d341SPrabhakar Kushwaha. Consists of accelerators for Convolution, Filtering, Turbo Encoding, 187530d341SPrabhakar Kushwaha Turbo Decoding, Viterbi decoding, Chiprate processing, and Matrix Inversion 197530d341SPrabhakar Kushwaha operations 207530d341SPrabhakar Kushwaha. DDR3/3L memory interface with 32-bit data width without ECC and 16-bit with 217530d341SPrabhakar Kushwaha ECC, up to 400-MHz clock/800 MHz data rate 227530d341SPrabhakar Kushwaha. Dedicated security engine featuring trusted boot 237530d341SPrabhakar Kushwaha. DMA controller 247530d341SPrabhakar Kushwaha. OCNDMA with four bidirectional channels 257530d341SPrabhakar Kushwaha. Interfaces 267530d341SPrabhakar Kushwaha. Two triple-speed Gigabit Ethernet controllers featuring network acceleration 277530d341SPrabhakar Kushwaha including IEEE 1588. v2 hardware support and virtualization (eTSEC) 287530d341SPrabhakar Kushwaha. eTSEC 1 supports RGMII/RMII 297530d341SPrabhakar Kushwaha. eTSEC 2 supports RGMII 307530d341SPrabhakar Kushwaha. High-speed USB 2.0 host and device controller with ULPI interface 317530d341SPrabhakar Kushwaha. Enhanced secure digital (SD/MMC) host controller (eSDHC) 327530d341SPrabhakar Kushwaha. Antenna interface controller (AIC), supporting three industry standard 337530d341SPrabhakar Kushwaha JESD207/three custom ADI RF interfaces (two dual port and one single port) 347530d341SPrabhakar Kushwaha and three MAXIM's MaxPHY serial interfaces 357530d341SPrabhakar Kushwaha. ADI lanes support both full duplex FDD support and half duplex TDD support 367530d341SPrabhakar Kushwaha. Universal Subscriber Identity Module (USIM) interface that facilitates 377530d341SPrabhakar Kushwaha communication to SIM cards or Eurochip pre-paid phone cards 387530d341SPrabhakar Kushwaha. TDM with one TDM port 397530d341SPrabhakar Kushwaha. Two DUART, four eSPI, and two I2C controllers 407530d341SPrabhakar Kushwaha. Integrated Flash memory controller (IFC) 417530d341SPrabhakar Kushwaha. TDM with 256 channels 427530d341SPrabhakar Kushwaha. GPIO 437530d341SPrabhakar Kushwaha. Sixteen 32-bit timers 447530d341SPrabhakar Kushwaha 457530d341SPrabhakar KushwahaThe e500 core subsystem within the Power Architecture consists of the following: 467530d341SPrabhakar Kushwaha. 32-Kbyte L1 instruction cache 477530d341SPrabhakar Kushwaha. 32-Kbyte L1 data cache 487530d341SPrabhakar Kushwaha. 256-Kbyte L2 cache/L2 memory/L2 stash 497530d341SPrabhakar Kushwaha. programmable interrupt controller (PIC) 507530d341SPrabhakar Kushwaha. Debug support 517530d341SPrabhakar Kushwaha. Timers 527530d341SPrabhakar Kushwaha 537530d341SPrabhakar KushwahaThe SC3850 core subsystem consists of the following: 547530d341SPrabhakar Kushwaha. 32 Kbyte 8-way level 1 instruction cache (L1 ICache) 557530d341SPrabhakar Kushwaha. 32 Kbyte 8-way level 1 data cache (L1 DCache) 567530d341SPrabhakar Kushwaha. 512 Kbyte 8-way level 2 unified instruction/data cache (M2 memory) 577530d341SPrabhakar Kushwaha. Memory management unit (MMU) 587530d341SPrabhakar Kushwaha. Enhanced programmable interrupt controller (EPIC) 597530d341SPrabhakar Kushwaha. Debug and profiling unit (DPU) 607530d341SPrabhakar Kushwaha. Two 32-bit timers 617530d341SPrabhakar Kushwaha 627530d341SPrabhakar KushwahaBSC9131RDB board Overview 637530d341SPrabhakar Kushwaha------------------------- 647530d341SPrabhakar Kushwaha 1Gbyte DDR3 (on board DDR) 657530d341SPrabhakar Kushwaha 128Mbyte 2K page size NAND Flash 667530d341SPrabhakar Kushwaha 256 Kbit M24256 I2C EEPROM 677530d341SPrabhakar Kushwaha 128 Mbit SPI Flash memory 687530d341SPrabhakar Kushwaha USB-ULPI 697530d341SPrabhakar Kushwaha eTSEC1: Connected to RGMII PHY 707530d341SPrabhakar Kushwaha eTSEC2: Connected to RGMII PHY 717530d341SPrabhakar Kushwaha DUART interface: supports one UARTs up to 115200 bps for console display 727530d341SPrabhakar Kushwaha USIM connector 737530d341SPrabhakar Kushwaha 747530d341SPrabhakar KushwahaFrequency Combinations Supported 757530d341SPrabhakar Kushwaha-------------------------------- 767530d341SPrabhakar KushwahaCore MHz/CCB MHz/DDR(MT/s) 777530d341SPrabhakar Kushwaha1. 1000/500/800 787530d341SPrabhakar Kushwaha2. 800/400/667 797530d341SPrabhakar Kushwaha 807530d341SPrabhakar KushwahaBoot Methods Supported 817530d341SPrabhakar Kushwaha----------------------- 827530d341SPrabhakar Kushwaha1. NAND Flash 837530d341SPrabhakar Kushwaha2. SPI Flash 847530d341SPrabhakar Kushwaha 857530d341SPrabhakar KushwahaDefault Boot Method 867530d341SPrabhakar Kushwaha-------------------- 877530d341SPrabhakar KushwahaNAND boot 887530d341SPrabhakar Kushwaha 89*a187559eSBin MengBuilding U-Boot 907530d341SPrabhakar Kushwaha-------------- 91*a187559eSBin MengTo build the U-Boot for BSC9131RDB: 92087cf44fSPriyanka Jain1. NAND Flash with sysclk 66MHz(J16 on RDB closed, default) 937530d341SPrabhakar Kushwaha make BSC9131RDB_NAND 94087cf44fSPriyanka Jain2. NAND Flash with sysclk 100MHz(J16 on RDB open) 95087cf44fSPriyanka Jain make BSC9131RDB_NAND_SYSCLK100 96087cf44fSPriyanka Jain3. SPI Flash with sysclk 66MHz(J16 on RDB closed, default) 977530d341SPrabhakar Kushwaha make BSC9131RDB_SPIFLASH 98087cf44fSPriyanka Jain4. SPI Flash with sysclk 100MHz(J16 on RDB open) 99087cf44fSPriyanka Jain make BSC9131RDB_SPIFLASH_SYSCLK100 1007530d341SPrabhakar Kushwaha 1017530d341SPrabhakar KushwahaMemory map 1027530d341SPrabhakar Kushwaha----------- 1037530d341SPrabhakar Kushwaha 0x0000_0000 0x7FFF_FFFF DDR 1G cacheable 1047530d341SPrabhakar Kushwaha 0xA0000000 0xBFFFFFFF Shared DSP core L2/M2 space 512M 1057530d341SPrabhakar Kushwaha 0xC100_0000 0xC13F_FFFF MAPLE-2F 4M 1067530d341SPrabhakar Kushwaha 0xC1F0_0000 0xC1F3_FFFF PA SRAM Region 0 256K 1077530d341SPrabhakar Kushwaha 0xC1F8_0000 0xC1F9_FFFF PA SRAM Region 1 128K 1087530d341SPrabhakar Kushwaha 0xFED0_0000 0xFED0_3FFF SEC Secured RAM 16K 1097530d341SPrabhakar Kushwaha 0xFEE0_0000 0xFEE0_0FFF DSP Boot ROM 4K 1107530d341SPrabhakar Kushwaha 0xFF60_0000 0xFF6F_FFFF DSP CCSR 1M 1117530d341SPrabhakar Kushwaha 0xFF70_0000 0xFF7F_FFFF PA CCSR 1M 1127530d341SPrabhakar Kushwaha 0xFF80_0000 0xFFFF_FFFF Boot Page & NAND Buffer 8M 1137530d341SPrabhakar Kushwaha 1141d2949aeSPriyanka JainDDR Memory map 1151d2949aeSPriyanka Jain--------------- 1161d2949aeSPriyanka Jain 0x0000_0000 0x36FF_FFFF Memory passed onto Linux 1171d2949aeSPriyanka Jain 0x3700_0000 0x37FF_FFFF PowerPC-DSP shared control area 1181d2949aeSPriyanka Jain 0x3800_0000 0x4FFF_FFFF DSP Private area 1191d2949aeSPriyanka Jain 1201d2949aeSPriyanka Jain Out of 880M, passed onto Linux, 1hugetlb page of 256M is reserved for 1211d2949aeSPriyanka Jain data communcation between PowerPC and DSP core. 1221d2949aeSPriyanka Jain Rest is PowerPC private area. 1231d2949aeSPriyanka Jain 1247530d341SPrabhakar KushwahaFlashing Images 1257530d341SPrabhakar Kushwaha--------------- 126*a187559eSBin MengTo place a new U-Boot image in the NAND flash and then boot 1277530d341SPrabhakar Kushwahawith that new image temporarily, use this: 1287530d341SPrabhakar Kushwaha tftp 1000000 u-boot-nand.bin 1297530d341SPrabhakar Kushwaha nand erase 0 100000 1307530d341SPrabhakar Kushwaha nand write 1000000 0 100000 1317530d341SPrabhakar Kushwaha reset 1327530d341SPrabhakar Kushwaha 1337530d341SPrabhakar KushwahaUsing the Device Tree Source File 1347530d341SPrabhakar Kushwaha--------------------------------- 1357530d341SPrabhakar KushwahaTo create the DTB (Device Tree Binary) image file, 1367530d341SPrabhakar Kushwahause a command similar to this: 1377530d341SPrabhakar Kushwaha 1387530d341SPrabhakar Kushwaha dtc -b 0 -f -I dts -O dtb bsc9131rdb.dts > bsc9131rdb.dtb 1397530d341SPrabhakar Kushwaha 1407530d341SPrabhakar KushwahaLikely, that .dts file will come from here; 1417530d341SPrabhakar Kushwaha 1427530d341SPrabhakar Kushwaha linux-2.6/arch/powerpc/boot/dts/bsc9131rdb.dts 1437530d341SPrabhakar Kushwaha 1447530d341SPrabhakar KushwahaBooting Linux 1457530d341SPrabhakar Kushwaha------------- 1467530d341SPrabhakar KushwahaPlace a linux uImage in the TFTP disk area. 1477530d341SPrabhakar Kushwaha 1487530d341SPrabhakar Kushwaha tftp 1000000 uImage 1497530d341SPrabhakar Kushwaha tftp 2000000 rootfs.ext2.gz.uboot 1507530d341SPrabhakar Kushwaha tftp c00000 bsc9131rdb.dtb 1517530d341SPrabhakar Kushwaha bootm 1000000 2000000 c00000 152