fe005911b9e928912b8cf8ac4e37a389c9f69f81
PCB-dat/PCB-dat.md
| ... | ... | @@ -4,6 +4,8 @@ |
| 4 | 4 | |
| 5 | 5 | - [[PCB-design-dat]] |
| 6 | 6 | |
| 7 | +- [[EDA-dat]] - [[kicad-dat]] |
|
| 8 | + |
|
| 7 | 9 | - [[fab-dat]] - [[fab-PCB-dat]] - [[fab-PCBA-dat]] - [[fab-stencil-dat]] - [[fab-mech-dat]] |
| 8 | 10 | |
| 9 | 11 | - [[PCB-tools-dat]] - [[PCB-soldering-dat]] |
| ... | ... | @@ -12,8 +14,6 @@ |
| 12 | 14 | |
| 13 | 15 | - [[PCB-accesories-dat]] |
| 14 | 16 | |
| 15 | -- [[EDA-dat]] - [[PCB-design-dat]] - [[kicad-dat]] |
|
| 16 | - |
|
| 17 | 17 | - [[test-point-dat]] |
| 18 | 18 | |
| 19 | 19 | |
| ... | ... | @@ -25,6 +25,6 @@ |
| 25 | 25 | |
| 26 | 26 | ## ref |
| 27 | 27 | |
| 28 | - |
|
| 28 | +- [[fab-stencil]] |
|
| 29 | 29 | |
| 30 | 30 |
PCB-dat/PCB-design-dat/PCB-design-dat.md
| ... | ... | @@ -13,7 +13,7 @@ |
| 13 | 13 | - [[peripherals-dat]] |
| 14 | 14 | |
| 15 | 15 | |
| 16 | -- [[4-layer-dat]] - [[0402-dat]] |
|
| 16 | +- [[4-layer-dat]] - [[0402-dat]] - [[double-side-PCB-dat]] |
|
| 17 | 17 | |
| 18 | 18 | - [[PCB-form-dat]] |
| 19 | 19 |
PCB-dat/PCB-design-dat/double-side-PCB-dat/double-side-PCB-dat.md
| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | + |
|
| 2 | +# double-side-PCB-dat |
|
| 3 | + |
|
| 4 | +## General Rules |
|
| 5 | + |
|
| 6 | +| Factor | Rule of Thumb | Reason | |
|
| 7 | +| --------------------------------- | ----------------------------------------------------------------------------- | ---------------------------------------------------------------- | |
|
| 8 | +| **Component size & weight** | **Lighter / smaller SMD components are placed first**, usually on the bottom. | Heavy parts may fall off during second reflow. | |
|
| 9 | +| **Through-hole parts** | Always populated **after reflow** (usually last step). | Reflow ovens are for SMD; THT is wave-soldered or hand-soldered. | |
|
| 10 | +| **BGA, QFN, Fine-pitch ICs** | Usually go on the **primary (top) side**. | Better solder joint reliability and inspection access. | |
|
| 11 | +| **Connectors, mechanical parts** | Preferably on the **primary side**. | Reduces stress during use. | |
|
| 12 | +| **Assembly process optimization** | PCB side with **more components** usually chosen as **first (primary) side**. | Reduces machine setup time and cost. | |
PCB-dat/PCB-design-dat/footprint-dat/footprint-dat.md
| ... | ... | @@ -9,6 +9,7 @@ |
| 9 | 9 | |
| 10 | 10 | - [[QFP-dat]] - [[SSOP-dat]] - [[SOP-dat]] |
| 11 | 11 | |
| 12 | +- [[fab-PCBA-dat]] |
|
| 12 | 13 | |
| 13 | 14 | ## common footprint libraries |
| 14 | 15 | |
| ... | ... | @@ -24,6 +25,80 @@ |
| 24 | 25 | - Package_CSP |
| 25 | 26 | |
| 26 | 27 | |
| 28 | +## IC Package Footprintscategorized by pitch |
|
| 29 | + |
|
| 30 | + |
|
| 31 | +| Pitch (mm) | Package Types & Examples | |
|
| 32 | +|------------|-------------------------------------------------------------------------------------------| |
|
| 33 | +| **0.3 mm** | WLCSP (Wafer Level Chip Scale Package), uBGA (Ultra Fine Pitch BGA), QFN (fine pitch) | |
|
| 34 | +| **0.35 mm**| DFN (small pitch variants), QFN (ultra fine pitch), LGA | |
|
| 35 | +| **0.4 mm** | QFN (fine pitch), CSP (Chip Scale Package), BGA (fine pitch), DFN | |
|
| 36 | +| **0.5 mm** | QFN (common pitch), TQFP (fine pitch), LGA, DFN | |
|
| 37 | +| **0.635 mm** | SSOP (Shrink Small Outline Package), TSSOP (Thin Shrink SOP) | |
|
| 38 | +| **0.8 mm** | QFP (Quad Flat Package), TQFP (standard pitch), LQFP, BGA (medium pitch) | |
|
| 39 | +| **1.0 mm** | QFP (larger pitch), LQFP, PLCC (Plastic Leaded Chip Carrier), SOIC (narrow pitch) | |
|
| 40 | +| **1.27 mm**| SOIC (Small Outline IC), DIP (Dual In-line Package), PLCC | |
|
| 41 | +| **1.5 mm** | Older DIP variants, larger SIP (Single In-line Package) | |
|
| 42 | +| **2.0 mm** | Some DIP, SIP, Power Packages (TO-220 multi-pin) | |
|
| 43 | +| **2.54 mm (0.1")** | Standard DIP (most common), SIP, headers, through-hole connectors | |
|
| 44 | + |
|
| 45 | + |
|
| 46 | +## Methods to Examine Hidden Solder Bridges Under Packages |
|
| 47 | + |
|
| 48 | +| Method | Description | Pros | Cons / Limitations | |
|
| 49 | +|--------------------------------|-----------------------------------------------------------------------------|------------------------------------------|-----------------------------------------| |
|
| 50 | +| **X-Ray Inspection** | Uses 2D or 3D X-ray (AXI/CT) to image solder joints under the package. | Most reliable, can see voids, bridges, opens | Expensive equipment, not DIY friendly | |
|
| 51 | +| **Microscope with Oblique Light** | Tilted inspection around chip edges, sometimes you can see solder "squeeze-out". | Cheap, immediate check | Only shows gross defects near edges | |
|
| 52 | +| **Electrical Continuity Test** | Use multimeter to check resistance between adjacent pins/pads. | Simple, effective for shorts | Cannot detect open joints or cold solder| |
|
| 53 | +| **Boundary Scan (JTAG)** | IC self-tests connectivity if supported. | Automated, precise | Only available if IC has JTAG support | |
|
| 54 | +| **Thermal Camera / IR Imaging**| Power up board, shorts often cause local hot spots. | Non-contact, quick check | Needs power-on, risk of damage | |
|
| 55 | +| **Flying Probe / ICT Test** | Automated test system probes nets for shorts/opens. | Precise, production use | Expensive, setup time | |
|
| 56 | +| **Acoustic Microscopy (SAM)** | Ultrasound imaging can detect voids or poor solder bonding. | High resolution for reliability testing | Very expensive, lab equipment only | |
|
| 57 | + |
|
| 58 | + |
|
| 59 | +For hobbyist / small-lab use: |
|
| 60 | + |
|
| 61 | +**Best option**: Electrical continuity check with a **multimeter** (between power rails, adjacent pins). |
|
| 62 | + |
|
| 63 | +Second best: If you suspect hidden bridges, try **thermal camera** (small USB IR cameras are affordable). |
|
| 64 | + |
|
| 65 | +Pro-level: Use an **X-ray machine** (common in professional PCB assembly houses). |
|
| 66 | + |
|
| 67 | +👉 If you’re debugging **why the IC doesn’t work after reflow**, I’d suggest: |
|
| 68 | + |
|
| 69 | +Check for shorts with multimeter. |
|
| 70 | + |
|
| 71 | +Power briefly, then feel for **overheating** (carefully) or use thermal camera. |
|
| 72 | + |
|
| 73 | +If nothing obvious, suspect **opens (unsoldered pads)**, which can only be 100% confirmed by X-ray or functional testing. |
|
| 74 | + |
|
| 75 | + |
|
| 76 | + |
|
| 77 | +## DIY Methods to Detect Hidden Solder Bridges Under Packages (No X-Ray) |
|
| 78 | + |
|
| 79 | +| Method | How It Works | Notes / Tips | |
|
| 80 | +|--------------------------------|-------------------------------------------------------------------------------|--------------| |
|
| 81 | +| **Multimeter Continuity Check**| With power off, measure resistance between power rails (VCC–GND) and between suspect pins. | If you read ~0Ω or very low resistance, there may be a bridge. | |
|
| 82 | +| **Current-Limited Power Test** | Power board with a bench supply set to current limit (e.g. 50–100mA). If supply immediately hits limit, there’s likely a short. | Use low limit to avoid chip damage. | |
|
| 83 | +| **Thermal Finger Test / IR Camera** | Briefly power on with current limit. A solder bridge often causes a tiny hot spot. | Safer with cheap USB thermal cameras. | |
|
| 84 | +| **Rosin / Alcohol Wetting** | Apply isopropyl alcohol or rosin flux around package edges, then power board. If there is a short, liquid may boil or show bubbles near bridged pads. | Not very precise, but sometimes works. | |
|
| 85 | +| **Resistance Mapping** | Compare resistance between ground and each I/O pin versus a known-good board. | Detects anomalies indirectly. | |
|
| 86 | +| **Functional "Wiggle Test"** | Gently press down or heat package with hot air. If circuit suddenly works or fails, some pads may be bridged or floating. | Risky — only use for debugging prototypes. | |
|
| 87 | + |
|
| 88 | +Practical DIY Workflow |
|
| 89 | + |
|
| 90 | +**First step**: Check resistance between **VCC and GND** before powering. If it’s suspiciously low, suspect a bridge. |
|
| 91 | + |
|
| 92 | +**Second step**: Use **current-limited bench supply** to power on — check for overheating. |
|
| 93 | + |
|
| 94 | +**Third step**: If possible, use **cheap thermal camera** (even phone add-ons) to find hot spots. |
|
| 95 | + |
|
| 96 | +**Last resort**: Rework package with **flux + hot air and reflow** — often fixes hidden bridges without even finding them. |
|
| 97 | + |
|
| 98 | +👉 This way you don’t need expensive X-ray, just a multimeter, alcohol/flux, and maybe a thermal camera. |
|
| 99 | + |
|
| 100 | + |
|
| 101 | + |
|
| 27 | 102 | ## general footprint guide |
| 28 | 103 | |
| 29 | 104 | ### overal setup |
SDK-dat/sunxi-dat/sunxi-dat.md
| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | + |
|
| 2 | +# sunxi-dat |
|
| 3 | + |
|
| 4 | +- [[sunxi-tools-dat]] |
|
| 5 | + |
|
| 6 | +- [[TINA-dat]] |
|
| 7 | + |
|
| 8 | +- [[sunxi-errors-dat]] - [[sunxi-log-dat]] |
SDK-dat/sunxi-dat/sunxi-errors-dat/sunxi-errors-dat.md
| ... | ... | @@ -0,0 +1,42 @@ |
| 1 | + |
|
| 2 | +# sunxi-errors-dat |
|
| 3 | + |
|
| 4 | +- [[sunxi-log-dat]] |
|
| 5 | + |
|
| 6 | +## Unable to mount root fs on unknown-block |
|
| 7 | + |
|
| 8 | + |
|
| 9 | +``` |
|
| 10 | +[ 3.170114] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]--- |
|
| 11 | +``` |
|
| 12 | + |
|
| 13 | + |
|
| 14 | +## **Error Meaning** |
|
| 15 | +- **VFS: Unable to mount root fs** → Kernel started but could not find or mount the root filesystem. |
|
| 16 | +- **unknown-block(0,0)** → Kernel didn’t find the block device for rootfs (often means missing drivers or wrong parameters). |
|
| 17 | + |
|
| 18 | +--- |
|
| 19 | + |
|
| 20 | +### **Common Causes** |
|
| 21 | + |
|
| 22 | +| Cause | Explanation | |
|
| 23 | +|-------|-------------| |
|
| 24 | +| **Incorrect rootfs path in bootloader** | Kernel parameter `root=` may point to a wrong device. | |
|
| 25 | +| **Missing storage drivers** | Kernel was built without drivers for your storage device (SD card, eMMC, SATA, etc.). | |
|
| 26 | +| **Corrupted root filesystem** | Root filesystem may be damaged or missing. | |
|
| 27 | +| **Wrong DTB (Device Tree Blob)** | Device tree does not match hardware, so root device isn’t recognized. | |
|
| 28 | +| **Wrong kernel configuration** | Missing CONFIG support for your filesystem type (ext4, squashfs, etc.). | |
|
| 29 | + |
|
| 30 | +On Sunxi devices (Allwinner), bootloader is usually **u-boot** or **barebox**. |
|
| 31 | + |
|
| 32 | +- Look at the boot command in `boot.cmd` or `boot.scr`. |
|
| 33 | +- Check the `root=` parameter: |
|
| 34 | + |
|
| 35 | +Here: |
|
| 36 | +- `/dev/mmcblk0p2` means second partition of SD/eMMC. |
|
| 37 | +- `rootwait` → wait for device to be ready. |
|
| 38 | + |
|
| 39 | +**Possible issues:** |
|
| 40 | +- Wrong partition number. |
|
| 41 | +- Missing `rootwait` (device might not be ready when kernel tries to mount). |
|
| 42 | + |
SDK-dat/sunxi-dat/sunxi-log-dat/sunxi-log-dat.md
| ... | ... | @@ -0,0 +1,396 @@ |
| 1 | + |
|
| 2 | +# sunxi-log-dat |
|
| 3 | + |
|
| 4 | +``` |
|
| 5 | +[32]HELLO! BOOT0 is starting! |
|
| 6 | +[35]BOOT0 commit : adaf1174cc |
|
| 7 | +[38]set pll start |
|
| 8 | +[40]periph0 has been enabled |
|
| 9 | +[42]set pll end |
|
| 10 | +[44][pmu]: bus read error |
|
| 11 | +[46]board init ok |
|
| 12 | +[48]ZQ value = 0x2d |
|
| 13 | +[50]get_pmu_exist() = -1 |
|
| 14 | +[52]ddr_efuse_type: 0xa |
|
| 15 | +[55]trefi:7.8ms |
|
| 16 | +[57][AUTO DEBUG] single rank and full DQ! |
|
| 17 | +[61]ddr_efuse_type: 0xa |
|
| 18 | +[63]trefi:7.8ms |
|
| 19 | +[65][AUTO DEBUG] rank 0 row = 13 |
|
| 20 | +[68][AUTO DEBUG] rank 0 bank = 4 |
|
| 21 | +[71][AUTO DEBUG] rank 0 page size = 2 KB |
|
| 22 | +[75]DRAM BOOT DRIVE INFO: V0.33 |
|
| 23 | +[78]DRAM CLK = 528 MHz |
|
| 24 | +[80]DRAM Type = 2 (2:DDR2,3:DDR3) |
|
| 25 | +[83]DRAMC read ODT off. |
|
| 26 | +[85]DRAM ODT off. |
|
| 27 | +[87]ddr_efuse_type: 0xa |
|
| 28 | +[90]DRAM SIZE =64 M |
|
| 29 | +[91]dram_tpr4:0x0 |
|
| 30 | +[93]PLL_DDR_CTRL_REG:0xf8002b00 |
|
| 31 | +[96]DRAM_CLK_REG:0xc0000000 |
|
| 32 | +[99][TIMING DEBUG] MR2= 0x0 |
|
| 33 | +[103]DRAM simple test OK. |
|
| 34 | +[105]dram size =64 |
|
| 35 | +[107]card no is 0 |
|
| 36 | +[109]sdcard 0 line count 4 |
|
| 37 | +[111][mmc]: mmc driver ver 2021-04-2 16:45 |
|
| 38 | +[121][mmc]: Wrong media type 0x0 |
|
| 39 | +[124][mmc]: ***Try SD card 0*** |
|
| 40 | +[133][mmc]: HSSDR52/SDR25 4 bit |
|
| 41 | +[136][mmc]: 50000000 Hz |
|
| 42 | +[138][mmc]: 15343 MB |
|
| 43 | +[140][mmc]: ***SD/MMC 0 init OK!!!*** |
|
| 44 | +[191]Loading boot-pkg Succeed(index=0). |
|
| 45 | +[194]Entry_name = opensbi |
|
| 46 | +[198]Entry_name = u-boot |
|
| 47 | +[201]Entry_name = dtb |
|
| 48 | +[204]mmc not para |
|
| 49 | +[206]Jump to second Boot. |
|
| 50 | + |
|
| 51 | +OpenSBI auto-t113-linux-V0.8-1-g771d82e |
|
| 52 | + ____ _____ ____ _____ |
|
| 53 | + / __ \ / ____| _ \_ _| |
|
| 54 | + | | | |_ __ ___ _ __ | (___ | |_) || | |
|
| 55 | + | | | | '_ \ / _ \ '_ \ \___ \| _ < | | |
|
| 56 | + | |__| | |_) | __/ | | |____) | |_) || |_ |
|
| 57 | + \____/| .__/ \___|_| |_|_____/|____/_____| |
|
| 58 | + | | |
|
| 59 | + |_| |
|
| 60 | + |
|
| 61 | +Platform Name : T-HEAD Xuantie Platform |
|
| 62 | +Platform HART Features : RV64ACDFIMSUVX |
|
| 63 | +Platform Max HARTs : 1 |
|
| 64 | +Current Hart : 0 |
|
| 65 | +Firmware Base : 0x41fc0400 |
|
| 66 | +Firmware Size : 75 KB |
|
| 67 | +Runtime SBI Version : 0.2 |
|
| 68 | + |
|
| 69 | +MIDELEG : 0x0000000000000222 |
|
| 70 | +MEDELEG : 0x000000000000b1ff |
|
| 71 | +PMP0 : 0x0000000041fc0000-0x0000000041fdffff (A) |
|
| 72 | +PMP1 : 0x0000000040000000-0x000000007fffffff (A,R,W,X) |
|
| 73 | +PMP2 : 0x0000000080000000-0x00000000bfffffff (A,R,W,X) |
|
| 74 | +PMP3 : 0x0000000000020000-0x0000000000027fff (A,ÿ |
|
| 75 | + |
|
| 76 | +U-Boot 2018.05-g2a1965a (Jul 10 2022 - 02:50:57 +0000) Allwinner Technology |
|
| 77 | + |
|
| 78 | +[00.291]DRAM: 64 MiB |
|
| 79 | +[00.293]Relocation Offset is: 01ed9000 |
|
| 80 | +[00.297]secure enable bit: 0 |
|
| 81 | +[00.300]CPU=1008 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz MBus=300Mhz |
|
| 82 | +[00.306]flash init start |
|
| 83 | +[00.308]workmode = 0,storage type = 1 |
|
| 84 | +[00.312][mmc]: mmc driver ver uboot2018:2021-12-20 13:35:00 |
|
| 85 | +[00.317][mmc]: get sdc_type fail and use default host:tm1. |
|
| 86 | +[00.324][mmc]: can't find node "mmc0",will add new node |
|
| 87 | +[00.328][mmc]: fdt err returned <no error> |
|
| 88 | +[00.332][mmc]: Using default timing para |
|
| 89 | +[00.336][mmc]: SUNXI SDMMC Controller Version:0x50310 |
|
| 90 | +[00.354][mmc]: card_caps:0x3000000a |
|
| 91 | +[00.357][mmc]: host_caps:0x3000003f |
|
| 92 | +[00.360]sunxi flash init ok |
|
| 93 | +[00.363]line:703 init_clocks |
|
| 94 | +[00.366]drv_disp_init |
|
| 95 | +request pwm success, pwm7:pwm7:0x2000c00. |
|
| 96 | +fdt get node offset faill: hdmi |
|
| 97 | +[00.384]unable to map hdmi registers |
|
| 98 | +[00.387]drv_disp_init finish |
|
| 99 | +[00.404]Loading Environment from SUNXI_FLASH... OK |
|
| 100 | +[00.425]boot_gui_init:start |
|
| 101 | +[00.428]set disp.dev2_output_type fail. using defval=0 |
|
| 102 | +[00.435]boot_gui_init:finish |
|
| 103 | +partno erro : can't find partition bootloader |
|
| 104 | +54 bytes read in 1 ms (52.7 KiB/s) |
|
| 105 | +[00.449]bmp_name=bootlogo.bmp size 28854 |
|
| 106 | +28854 bytes read in 19 ms (1.4 MiB/s) |
|
| 107 | +[00.478]out of usb burn from boot: not need burn key |
|
| 108 | +[00.483]Item0 (Map) magic is bad |
|
| 109 | +[00.486]the secure storage item0 copy0 magic is bad |
|
| 110 | +[00.491]Item0 (Map) magic is bad |
|
| 111 | +[00.494]the secure storage item0 copy1 magic is bad |
|
| 112 | +[00.499]Item0 (Map) magic is bad |
|
| 113 | +List file under ULI/factory |
|
| 114 | +** Unrecognized filesystem type ** |
|
| 115 | +root_partition is rootfs |
|
| 116 | +set root to /dev/mmcblk0p5 |
|
| 117 | +[00.514]update part info |
|
| 118 | +[00.518]update bootcmd |
|
| 119 | +[00.522]change working_fdt 0x42a98da0 to 0x42a78da0 |
|
| 120 | +disable nand error: FDT_ERR_BADPATH |
|
| 121 | +[00.531]The storage not support sample function |
|
| 122 | +No reserved memory region found in source FDT |
|
| 123 | +[00.556]update dts |
|
| 124 | +noncached_alloc(): addr = 0x42b02a40 |
|
| 125 | +noncached_alloc(): addr = 0x42b02a80 |
|
| 126 | +noncached_alloc(): addr = 0x42b02ac0 |
|
| 127 | +noncached_alloc(): addr = 0x42b03300 |
|
| 128 | +geth_sys_init:639: get node 'gmac0' error |
|
| 129 | +geth_sys_init fail! |
|
| 130 | +[00.577]Board Net Initialization Failed |
|
| 131 | +[00.580]No ethernet found. |
|
| 132 | +Hit any key to stop autoboot: 1 FDT ERROR:get muxsel err returned FDT_ERR_INTERNAL |
|
| 133 | +sunxi_pwm_pin_set_state, fdt_set_all_pin, ret=-1 |
|
| 134 | +[00.625]LCD open finish |
|
| 135 | + 0 |
|
| 136 | +[01.882]no vendor_boot partition is found |
|
| 137 | +Android's image name: f133-mq_r |
|
| 138 | +Detect comp none |
|
| 139 | +[01.898] |
|
| 140 | +Starting kernel ... |
|
| 141 | + |
|
| 142 | +[01.901][mmc]: MMC Device 2 not found |
|
| 143 | +[01.905][mmc]: mmc 2 not find, so not exit |
|
| 144 | +[ 0.000000] Linux version 5.4.61 (test@test-virtual-machine) (riscv64-unknown-linux-gnu-gcc (C-SKY RISCV Tools V1.8.4 B20200702) 8.1.0, GNU ld (GNU Binutils) 2.32) #2 PREEMPT Tue May 2 06:32:35 UTC 2023 |
|
| 145 | +[ 0.000000] Zone ranges: |
|
| 146 | +[ 0.000000] DMA32 [mem 0x0000000040000000-0x0000000043ffffff] |
|
| 147 | +[ 0.000000] Normal empty |
|
| 148 | +[ 0.000000] Movable zone start for each node |
|
| 149 | +[ 0.000000] Early memory node ranges |
|
| 150 | +[ 0.000000] node 0: [mem 0x0000000040000000-0x0000000043ffffff] |
|
| 151 | +[ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x0000000043ffffff] |
|
| 152 | +[ 0.000000] On node 0 totalpages: 16384 |
|
| 153 | +[ 0.000000] DMA32 zone: 224 pages used for memmap |
|
| 154 | +[ 0.000000] DMA32 zone: 0 pages reserved |
|
| 155 | +[ 0.000000] DMA32 zone: 16384 pages, LIFO batch:3 |
|
| 156 | +[ 0.000000] elf_hwcap is 0x20112d |
|
| 157 | +[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 |
|
| 158 | +[ 0.000000] pcpu-alloc: [0] 0 |
|
| 159 | +[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16160 |
|
| 160 | +[ 0.000000] Kernel command line: earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=8 root=/dev/mmcblk0p5 init=/pseudo_init partitions=boot-resource@mmcblk0p1:env@mmcblk0p2:env-redund@mmcblk0p3:boot@mmcblk0p4:rootfs@mmcblk0p5:private@mmcblk0p6:rootfs_data@mmcblk0p7:UDISK@mmcblk0p8 cma=0M snum= mac_addr= wifi_mac= bt_mac= specialstr= gpt=1 androidboot.mode=normal androidboot.hardware=sun20iw1p1 boot_type=1 androidboot.boot_type=1 gpt=1 uboot_message=2018.05-g2a1965a(07/10/2022-02:50:57) mbr_o |
|
| 161 | +[ 0.000000] Dentry cache hash table entries: 8192 (order: 4, 65536 bytes, linear) |
|
| 162 | +[ 0.000000] Inode-cache hash table entries: 4096 (order: 3, 32768 bytes, linear) |
|
| 163 | +[ 0.000000] Sorting __ex_table... |
|
| 164 | +[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off |
|
| 165 | +[ 0.000000] Memory: 55896K/65536K available (4123K kernel code, 405K rwdata, 1699K rodata, 136K init, 229K bss, 9640K reserved, 0K cma-reserved) |
|
| 166 | +[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 |
|
| 167 | +[ 0.000000] rcu: Preemptible hierarchical RCU implementation. |
|
| 168 | +[ 0.000000] Tasks RCU enabled. |
|
| 169 | +[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. |
|
| 170 | +[ 0.000000] NR_IRQS: 0, nr_irqs: 0, preallocated irqs: 0 |
|
| 171 | +[ 0.000000] plic: mapped 200 interrupts with 1 handlers for 2 contexts. |
|
| 172 | +[ 0.000000] riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [0] |
|
| 173 | +[ 0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns |
|
| 174 | +[ 0.000006] sched_clock: 64 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns |
|
| 175 | +[ 0.000027] riscv_timer_clockevent depends on broadcast, but no broadcast function available |
|
| 176 | +[ 0.000361] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns |
|
| 177 | +[ 0.000947] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000) |
|
| 178 | +[ 0.000968] pid_max: default: 32768 minimum: 301 |
|
| 179 | +[ 0.001127] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear) |
|
| 180 | +[ 0.001147] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear) |
|
| 181 | +[ 0.002817] ASID allocator initialised with 65536 entries |
|
| 182 | +[ 0.002985] rcu: Hierarchical SRCU implementation. |
|
| 183 | +[ 0.003645] devtmpfs: initialized |
|
| 184 | +[ 0.019187] random: get_random_u32 called from bucket_table_alloc.isra.27+0x102/0x124 with crng_init=0 |
|
| 185 | +[ 0.020051] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns |
|
| 186 | +[ 0.020136] futex hash table entries: 256 (order: 0, 6144 bytes, linear) |
|
| 187 | +[ 0.020282] pinctrl core: initialized pinctrl subsystem |
|
| 188 | +[ 0.021646] NET: Registered protocol family 16 |
|
| 189 | +[ 0.022409] DMA: preallocated 256 KiB pool for atomic allocations |
|
| 190 | +[ 0.023075] cpuidle: using governor menu |
|
| 191 | +[ 0.065986] rtc_ccu: sunxi ccu init OK |
|
| 192 | +[ 0.074358] clock: sunxi ccu init OK |
|
| 193 | +[ 0.076207] clock: sunxi ccu init OK |
|
| 194 | +[ 0.106479] iommu: Default domain type: Translated |
|
| 195 | +[ 0.106671] sunxi iommu: irq = 4 |
|
| 196 | +[ 0.107895] SCSI subsystem initialized |
|
| 197 | +[ 0.108147] usbcore: registered new interface driver usbfs |
|
| 198 | +[ 0.108240] usbcore: registered new interface driver hub |
|
| 199 | +[ 0.108356] usbcore: registered new device driver usb |
|
| 200 | +[ 0.109357] Advanced Linux Sound Architecture Driver Initialized. |
|
| 201 | +[ 0.110341] pwm module init! |
|
| 202 | +[ 0.112130] g2d 5410000.g2d: Adding to iommu group 0 |
|
| 203 | +[ 0.112659] G2D: rcq version initialized.major:252 |
|
| 204 | +[ 0.113669] clocksource: Switched to clocksource riscv_clocksource |
|
| 205 | +[ 0.127223] sun8iw20-pinctrl 2000000.pinctrl: initialized sunXi PIO driver |
|
| 206 | +[ 0.130584] NET: Registered protocol family 2 |
|
| 207 | +[ 0.131469] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear) |
|
| 208 | +[ 0.131512] TCP established hash table entries: 512 (order: 0, 4096 bytes, linear) |
|
| 209 | +[ 0.131534] TCP bind hash table entries: 512 (order: 0, 4096 bytes, linear) |
|
| 210 | +[ 0.131548] TCP: Hash tables configured (established 512 bind 512) |
|
| 211 | +[ 0.131696] UDP hash table entries: 256 (order: 1, 8192 bytes, linear) |
|
| 212 | +[ 0.131742] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear) |
|
| 213 | +[ 0.131974] NET: Registered protocol family 1 |
|
| 214 | +[ 0.133142] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pc not found, using dummy regulator |
|
| 215 | +[ 0.133848] spi spi0: spi0 supply spi not found, using dummy regulator |
|
| 216 | +[ 0.134130] sunxi_spi_resource_get()2116 - [spi0] SPI MASTER MODE |
|
| 217 | +[ 0.134192] sunxi_spi_resource_get()2154 - Failed to get sample mode |
|
| 218 | +[ 0.134203] sunxi_spi_resource_get()2159 - Failed to get sample delay |
|
| 219 | +[ 0.134214] sunxi_spi_resource_get()2163 - sample_mode:-1431633921 sample_delay:-1431633921 |
|
| 220 | +[ 0.134279] sunxi_spi_clk_init()2205 - [spi0] mclk 100000000 |
|
| 221 | +[ 0.135104] sunxi_spi_probe()2623 - [spi0]: driver probe succeed, base ffffffd004058000, irq 31 |
|
| 222 | +[ 0.137212] workingset: timestamp_bits=62 max_order=14 bucket_order=0 |
|
| 223 | +[ 0.145805] squashfs: version 4.0 (2009/01/31) Phillip Lougher |
|
| 224 | +[ 0.146050] ntfs: driver 2.1.32 [Flags: R/W]. |
|
| 225 | +[ 0.146381] fuse: init (API version 7.31) |
|
| 226 | +[ 0.167788] io scheduler mq-deadline registered |
|
| 227 | +[ 0.167805] io scheduler kyber registered |
|
| 228 | +[ 0.168708] [DISP]disp_module_init |
|
| 229 | +[ 0.169333] disp 5000000.disp: Adding to iommu group 0 |
|
| 230 | +[ 0.169884] [DISP] parser_disp_init_para,line:1430: |
|
| 231 | +[ 0.169889] of_property_read fb0_width fail |
|
| 232 | +[ 0.169911] [DISP] disp_init,line:2386: |
|
| 233 | +[ 0.169915] smooth display screen:0 type:1 mode:4 |
|
| 234 | +[ 0.210704] display_fb_request,fb_id:0 |
|
| 235 | +[ 0.219072] Freeing logo buffer memory: 1500K |
|
| 236 | +[ 0.219594] disp_al_manager_apply ouput_type:1 |
|
| 237 | +[ 0.220023] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pd not found, using dummy regulator |
|
| 238 | +[ 0.220808] [DISP]disp_module_init finish |
|
| 239 | +[ 0.221700] sunxi_sid_init()551 - insmod ok |
|
| 240 | +[ 0.222296] pwm-regulator: supplied by regulator-dummy |
|
| 241 | +[ 0.224054] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pe not found, using dummy regulator |
|
| 242 | +[ 0.224538] uart uart0: uart0 supply uart not found, using dummy regulator |
|
| 243 | +[ 0.224930] uart0: ttyS0 at MMIO 0x2500000 (irq = 18, base_baud = 1500000) is a SUNXI |
|
| 244 | +[ 0.224958] sw_console_setup()1808 - console setup baud 115200 parity n bits 8, flow n |
|
| 245 | +[ 0.943314] printk: console [ttyS0] enabled |
|
| 246 | +[ 0.949217] misc dump reg init |
|
| 247 | +[ 0.953736] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pg not found, using dummy regulator |
|
| 248 | +[ 0.965027] sunxi-rfkill soc@3000000:rfkill@0: module version: v1.0.9 |
|
| 249 | +[ 0.972243] sunxi-rfkill soc@3000000:rfkill@0: get gpio chip_en failed |
|
| 250 | +[ 0.979639] sunxi-rfkill soc@3000000:rfkill@0: get gpio power_en failed |
|
| 251 | +[ 0.987062] sunxi-rfkill soc@3000000:rfkill@0: wlan_busnum (1) |
|
| 252 | +[ 0.993594] sunxi-rfkill soc@3000000:rfkill@0: Missing wlan_power. |
|
| 253 | +[ 1.000552] sunxi-rfkill soc@3000000:rfkill@0: wlan clock[0] (32k-fanout1) |
|
| 254 | +[ 1.008358] sunxi-rfkill soc@3000000:rfkill@0: wlan_regon gpio=204 assert=1 |
|
| 255 | +[ 1.016247] sunxi-rfkill soc@3000000:rfkill@0: wlan_hostwake gpio=202 assert=1 |
|
| 256 | +[ 1.024389] sunxi-rfkill soc@3000000:rfkill@0: wakeup source is enabled |
|
| 257 | +[ 1.032096] sunxi-rfkill soc@3000000:rfkill@0: Missing bt_power. |
|
| 258 | +[ 1.038871] sunxi-rfkill soc@3000000:rfkill@0: bt clock[0] (32k-fanout1) |
|
| 259 | +[ 1.046472] sunxi-rfkill soc@3000000:rfkill@0: bt_rst gpio=210 assert=0 |
|
| 260 | +[ 1.054697] [ADDR_MGT] addr_mgt_probe: module version: v1.0.11 |
|
| 261 | +[ 1.062397] [ADDR_MGT] addr_mgt_probe: success. |
|
| 262 | +[ 1.068483] sunxi-spinand: AW SPINand MTD Layer Version: 2.3 20211223 |
|
| 263 | +[ 1.075810] sunxi-spinand-phy: AW SPINand Phy Layer Version: 1.10 20200306 |
|
| 264 | +[ 1.086619] random: fast init done |
|
| 265 | +[ 1.284341] random: crng init done |
|
| 266 | +[ 2.073747] sunxi-spinand-phy: read id failed : -110 |
|
| 267 | +[ 2.079316] spi-nand: probe of spi0.0 failed with error -110 |
|
| 268 | +[ 2.085807] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver |
|
| 269 | +[ 2.093089] sunxi-ehci: EHCI SUNXI driver |
|
| 270 | +[ 2.098062] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver |
|
| 271 | +[ 2.105090] sunxi-ohci: OHCI SUNXI driver |
|
| 272 | +[ 2.112178] sunxi-rtc 7090000.rtc: registered as rtc0 |
|
| 273 | +[ 2.118048] sunxi-rtc 7090000.rtc: setting system clock to 1970-01-01T00:00:21 UTC (21) |
|
| 274 | +[ 2.127044] sunxi-rtc 7090000.rtc: sunxi rtc probed |
|
| 275 | +[ 2.133047] i2c /dev entries driver |
|
| 276 | +[ 2.137049] sunxi cedar version 1.1 |
|
| 277 | +[ 2.141227] sunxi-cedar 1c0e000.ve: Adding to iommu group 0 |
|
| 278 | +[ 2.147532] VE: install start!!! |
|
| 279 | +[ 2.147532] |
|
| 280 | +[ 2.153114] VE: cedar-ve the get irq is 6 |
|
| 281 | +[ 2.153114] |
|
| 282 | +[ 2.159496] VE: ve_debug_proc_info:00000000f36217e6, data:00000000dc0b564d, lock:00000000c9928603 |
|
| 283 | +[ 2.159496] |
|
| 284 | +[ 2.171135] VE: install end!!! |
|
| 285 | +[ 2.171135] |
|
| 286 | +[ 2.176213] VE: sunxi_cedar_probe |
|
| 287 | +[ 2.180880] sunxi-wdt 6011000.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0) |
|
| 288 | +[ 2.192331] sunxi-mmc 4020000.sdmmc: SD/MMC/SDIO Host Controller Driver(v4.22 2021-12-20 15:40) |
|
| 289 | +[ 2.202403] sunxi-mmc 4020000.sdmmc: ***ctl-spec-caps*** 8 |
|
| 290 | +[ 2.208636] sunxi-mmc 4020000.sdmmc: No vmmc regulator found |
|
| 291 | +[ 2.214972] sunxi-mmc 4020000.sdmmc: No vqmmc regulator found |
|
| 292 | +[ 2.221410] sunxi-mmc 4020000.sdmmc: No vdmmc regulator found |
|
| 293 | +[ 2.227844] sunxi-mmc 4020000.sdmmc: No vd33sw regulator found |
|
| 294 | +[ 2.234413] sunxi-mmc 4020000.sdmmc: No vd18sw regulator found |
|
| 295 | +[ 2.240918] sunxi-mmc 4020000.sdmmc: No vq33sw regulator found |
|
| 296 | +[ 2.247452] sunxi-mmc 4020000.sdmmc: No vq18sw regulator found |
|
| 297 | +[ 2.254497] sunxi-mmc 4020000.sdmmc: Got CD GPIO |
|
| 298 | +[ 2.259842] sunxi-mmc 4020000.sdmmc: set cd-gpios as 24M fail |
|
| 299 | +[ 2.266531] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B |
|
| 300 | +[ 2.277729] sunxi-mmc 4020000.sdmmc: no vqmmc,Check if there is regulator |
|
| 301 | +[ 2.297920] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B |
|
| 302 | +[ 2.322389] sunxi-mmc 4020000.sdmmc: detmode:gpio irq |
|
| 303 | +[ 2.322460] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 0Hz bm PP pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B |
|
| 304 | +[ 2.339973] sunxi-mmc 4021000.sdmmc: SD/MMC/SDIO Host Controller Driver(v4.22 2021-12-20 15:40) |
|
| 305 | +[ 2.350011] sunxi-mmc 4021000.sdmmc: ***ctl-spec-caps*** 8 |
|
| 306 | +[ 2.356403] sunxi-mmc 4021000.sdmmc: No vmmc regulator found |
|
| 307 | +[ 2.362761] sunxi-mmc 4021000.sdmmc: No vqmmc regulator found |
|
| 308 | +[ 2.369255] sunxi-mmc 4021000.sdmmc: No vdmmc regulator found |
|
| 309 | +[ 2.375687] sunxi-mmc 4021000.sdmmc: No vd33sw regulator found |
|
| 310 | +[ 2.382189] sunxi-mmc 4021000.sdmmc: No vd18sw regulator found |
|
| 311 | +[ 2.388749] sunxi-mmc 4021000.sdmmc: No vq33sw regulator found |
|
| 312 | +[ 2.395280] sunxi-mmc 4021000.sdmmc: No vq18sw regulator found |
|
| 313 | +[ 2.401863] sunxi-mmc 4021000.sdmmc: Cann't get pin bias hs pinstate,check if needed |
|
| 314 | +[ 2.411334] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B |
|
| 315 | +[ 2.422536] sunxi-mmc 4021000.sdmmc: no vqmmc,Check if there is regulator |
|
| 316 | +[ 2.442694] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B |
|
| 317 | +[ 2.466946] sunxi-mmc 4021000.sdmmc: detmode:manually by software |
|
| 318 | +[ 2.474658] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 52, RTO !! |
|
| 319 | +[ 2.481767] ashmem: initialized |
|
| 320 | +[ 2.485295] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 52, RTO !! |
|
| 321 | +[ 2.492229] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B |
|
| 322 | +[ 2.503844] exFAT: Version 1.3.0 |
|
| 323 | +[ 2.511958] [AUDIOCODEC][sunxi_codec_parse_params][2412]:digital_vol:0, lineout_vol:26, mic1gain:31, mic2gain:31 pa_msleep:120, pa_level:1, pa_pwr_level:1 |
|
| 324 | +[ 2.511958] |
|
| 325 | +[ 2.529288] [AUDIOCODEC][sunxi_codec_parse_params][2448]:adcdrc_cfg:0, adchpf_cfg:1, dacdrc_cfg:0, dachpf:0 |
|
| 326 | +[ 2.540874] [AUDIOCODEC][sunxi_internal_codec_probe][2609]:codec probe finished |
|
| 327 | +[ 2.549134] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B |
|
| 328 | +[ 2.562143] debugfs: Directory '203034c.dummy_cpudai' with parent 'audiocodec' already present! |
|
| 329 | +[ 2.572145] [SNDCODEC][sunxi_card_init][583]:card init finished |
|
| 330 | +[ 2.579640] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 5, RTO !! |
|
| 331 | +[ 2.587275] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 5, RTO !! |
|
| 332 | +[ 2.594861] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 5, RTO !! |
|
| 333 | +[ 2.601807] sunxi-codec-machine 2030340.sound: 2030000.codec <-> 203034c.dummy_cpudai mapping ok |
|
| 334 | +[ 2.611615] sunxi-mmc 4021000.sdmmc: smc 1 p1 err, cmd 5, RTO !! |
|
| 335 | +[ 2.618428] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 0Hz bm PP pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B |
|
| 336 | +[ 2.631090] input: audiocodec sunxi Audio Jack as /devices/platform/soc@3000000/2030340.sound/sound/card0/input0 |
|
| 337 | +[ 2.643523] [SNDCODEC][sunxi_card_dev_probe][836]:register card finished |
|
| 338 | +[ 2.653163] NET: Registered protocol family 10 |
|
| 339 | +[ 2.658258] [SNDCODEC][sunxi_hs_init_work][259]:resume-->report switch |
|
| 340 | +[ 2.667015] Segment Routing with IPv6 |
|
| 341 | +[ 2.671338] NET: Registered protocol family 17 |
|
| 342 | +[ 2.697764] sunxi-i2c sunxi-i2c2: sunxi-i2c2 supply twi not found, using dummy regulator |
|
| 343 | +[ 2.712526] sunxi-i2c sunxi-i2c2: probe success |
|
| 344 | +[ 2.720000] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pb not found, using dummy regulator |
|
| 345 | +[ 2.734084] get ehci0-controller wakeup-source is fail. |
|
| 346 | +[ 2.740050] sunxi ehci0-controller don't init wakeup source |
|
| 347 | +[ 2.746322] [sunxi-ehci0]: probe, pdev->name: 4101000.ehci0-controller, sunxi_ehci: 0xffffffe000661b28, 0x:ffffffd0040f1000, irq_no:2e |
|
| 348 | +[ 2.759871] [sunxi-ehci0]: Not init ehci0 |
|
| 349 | +[ 2.764901] get ohci0-controller wakeup-source is fail. |
|
| 350 | +[ 2.770904] sunxi ohci0-controller don't init wakeup source |
|
| 351 | +[ 2.777174] [sunxi-ohci0]: probe, pdev->name: 4101400.ohci0-controller, sunxi_ohci: 0xffffffe000661ef0 |
|
| 352 | +[ 2.787649] [sunxi-ohci0]: Not init ohci0 |
|
| 353 | +[ 2.792655] get ehci1-controller wakeup-source is fail. |
|
| 354 | +[ 2.798643] sunxi ehci1-controller don't init wakeup source |
|
| 355 | +[ 2.804975] [sunxi-ehci1]: probe, pdev->name: 4200000.ehci1-controller, sunxi_ehci: 0xffffffe0006622b8, 0x:ffffffd0040fb000, irq_no:31 |
|
| 356 | +[ 2.818819] sunxi-ehci 4200000.ehci1-controller: 4200000.ehci1-controller supply hci not found, using dummy regulator |
|
| 357 | +[ 2.832493] sunxi-ehci 4200000.ehci1-controller: EHCI Host Controller |
|
| 358 | +[ 2.839819] sunxi-ehci 4200000.ehci1-controller: new USB bus registered, assigned bus number 1 |
|
| 359 | +[ 2.849685] sunxi-ehci 4200000.ehci1-controller: irq 49, io mem 0x04200000 |
|
| 360 | +[ 2.883725] sunxi-ehci 4200000.ehci1-controller: USB 2.0 started, EHCI 1.00 |
|
| 361 | +[ 2.892631] hub 1-0:1.0: USB hub found |
|
| 362 | +[ 2.896950] hub 1-0:1.0: 1 port detected |
|
| 363 | +[ 2.902503] get ohci1-controller wakeup-source is fail. |
|
| 364 | +[ 2.908576] sunxi ohci1-controller don't init wakeup source |
|
| 365 | +[ 2.914865] [sunxi-ohci1]: probe, pdev->name: 4200400.ohci1-controller, sunxi_ohci: 0xffffffe000662680 |
|
| 366 | +[ 2.925618] sunxi-ohci 4200400.ohci1-controller: 4200400.ohci1-controller supply hci not found, using dummy regulator |
|
| 367 | +[ 2.938083] sunxi-ohci 4200400.ohci1-controller: OHCI Host Controller |
|
| 368 | +[ 2.945418] sunxi-ohci 4200400.ohci1-controller: new USB bus registered, assigned bus number 2 |
|
| 369 | +[ 2.955262] sunxi-ohci 4200400.ohci1-controller: irq 50, io mem 0x04200400 |
|
| 370 | +[ 3.028775] hub 2-0:1.0: USB hub found |
|
| 371 | +[ 3.033013] hub 2-0:1.0: 1 port detected |
|
| 372 | +[ 3.040483] get usb_detect_mode is fail, -22 |
|
| 373 | +[ 3.045369] get det_vbus is fail, -84 |
|
| 374 | +[ 3.049451] get id is fail, -84 |
|
| 375 | +[ 3.055469] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2 |
|
| 376 | +[ 3.065199] clk: Not disabling unused clocks |
|
| 377 | +[ 3.069966] ALSA device list: |
|
| 378 | +[ 3.073320] #0: audiocodec |
|
| 379 | +[ 3.076619] cfg80211: failed to load regulatory.db |
|
| 380 | +[ 3.082023] alloc_fd: slot 0 not NULL! |
|
| 381 | +[ 3.086691] VFS: Cannot open root device "mmcblk0p5" or unknown-block(0,0): error -6 |
|
| 382 | +[ 3.095459] Please append a correct "root=" boot option; here are the available partitions: |
|
| 383 | +[ 3.104843] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) |
|
| 384 | +[ 3.114063] CPU: 0 PID: 1 Comm: swapper Not tainted 5.4.61 #2 |
|
| 385 | +[ 3.120464] Call Trace: |
|
| 386 | +[ 3.123206] [<ffffffe000023d56>] walk_stackframe+0x0/0x70 |
|
| 387 | +[ 3.129230] [<ffffffe000027d2c>] panic+0xdc/0x266 |
|
| 388 | +[ 3.134478] [<ffffffe000000d9c>] mount_block_root+0x1fe/0x266 |
|
| 389 | +[ 3.140888] [<ffffffe000000fc2>] prepare_namespace+0x136/0x144 |
|
| 390 | +[ 3.147392] [<ffffffe0004242a2>] rest_init+0xbc/0xc0 |
|
| 391 | +[ 3.152925] [<ffffffe0004242b0>] kernel_init+0xa/0xe8 |
|
| 392 | +[ 3.158554] [<ffffffe0004242a2>] rest_init+0xbc/0xc0 |
|
| 393 | +[ 3.164087] [<ffffffe000022d5c>] ret_from_syscall+0xa/0xe |
|
| 394 | +[ 3.170114] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]--- |
|
| 395 | + |
|
| 396 | +``` |
SDK-dat/sunxi-dat/sunxi-tools-dat/2025-07-16-12-35-43.png
| ... | ... | Binary files /dev/null and b/SDK-dat/sunxi-dat/sunxi-tools-dat/2025-07-16-12-35-43.png differ |
SDK-dat/sunxi-dat/sunxi-tools-dat/sunxi-tools-dat.md
| ... | ... | @@ -0,0 +1,110 @@ |
| 1 | + |
|
| 2 | +# sunxi-tools-dat |
|
| 3 | + |
|
| 4 | +- [[uboot-dat]] |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +- [[F1C100-SDK-dat]] - [[V3S-dat]] |
|
| 9 | + |
|
| 10 | +[linux-sunxi.org](https://linux-sunxi.org/D1s) |
|
| 11 | + |
|
| 12 | + |
|
| 13 | + |
|
| 14 | +### Using `sunxi-fel` (u-boot / generic FEL): |
|
| 15 | +```bash |
|
| 16 | +sunxi-fel -v spl u-boot-spl.bin |
|
| 17 | +sunxi-fel -v write 0x4A000000 u-boot.bin |
|
| 18 | +sunxi-fel -v exe 0x4A000000 |
|
| 19 | +``` |
|
| 20 | + |
|
| 21 | + |
|
| 22 | + |
|
| 23 | + |
|
| 24 | +## for F1C100 |
|
| 25 | + |
|
| 26 | +- [[F1C100-dat]] - [[ubuntu-dat]] |
|
| 27 | + |
|
| 28 | + git clone https://github.com/Icenowy/sunxi-tools.git -b f1c100s-spiflash |
|
| 29 | + |
|
| 30 | + make && sudo make install |
|
| 31 | + |
|
| 32 | +check |
|
| 33 | + |
|
| 34 | + root@ubuntu14:/home/vb/lpi/sunxi-tools# sunxi-fel |
|
| 35 | + sunxi-fel v1.4.1-104-g11a9d20 |
|
| 36 | + |
|
| 37 | +查看芯片信息 |
|
| 38 | + |
|
| 39 | + sudo sunxi-fel ver |
|
| 40 | + AWUSBFEX soc=00001663(F1C100s) 00000001 ver=0001 44 08 |
|
| 41 | + scratchpad=00007e00 00000000 00000000 |
|
| 42 | + |
|
| 43 | +列出所有芯片的信息 |
|
| 44 | + |
|
| 45 | + sudo sunxi-fel -l |
|
| 46 | + |
|
| 47 | + root@ubuntu14:/home/vb# sunxi-fel -l |
|
| 48 | + USB device 002:004 Allwinner F1C100s |
|
| 49 | + |
|
| 50 | + |
|
| 51 | +加载并执行uboot的spl |
|
| 52 | + |
|
| 53 | + sudo sunxi-fel spl 文件名 |
|
| 54 | + |
|
| 55 | +把文件内容写入内存指定地址(-p是显示写入进度) sudo sunxi-fel -p |
|
| 56 | + |
|
| 57 | + write 地址 文件名 |
|
| 58 | + |
|
| 59 | +调用指定地址的函数 |
|
| 60 | + |
|
| 61 | + sudo sunxi-fel exec 地址 |
|
| 62 | + |
|
| 63 | +显示spiflash的信息 |
|
| 64 | + |
|
| 65 | + sudo sunxi-fel spiflash-info |
|
| 66 | + |
|
| 67 | +读取spiflash指定地址的数据并写入到文件 |
|
| 68 | + |
|
| 69 | + sudo sunxi-fel spiflash-read 地址 长度 存放数据的文件路径 |
|
| 70 | + |
|
| 71 | +写入指定文件的指定长度的内容到spiflash的指定地址 |
|
| 72 | + |
|
| 73 | + sudo sunxi-fel spiflash-write 地址 长度 存放数据的文件路径 |
|
| 74 | + |
|
| 75 | +## programming |
|
| 76 | + |
|
| 77 | + |
|
| 78 | +1. 以 uboot file-with-spl形式进行(单次运行,测试时个人推荐) |
|
| 79 | + |
|
| 80 | + sunxi-fel uboot /your/path/to/u-boot-sunxi-with-spl.bin |
|
| 81 | + |
|
| 82 | +2. 烧进 spi-flash (开机自启) |
|
| 83 | + |
|
| 84 | + sunxi-fel -p spiflash-write 0 /your/path/to/u-boot-sunxi-with-spl.bin |
|
| 85 | + |
|
| 86 | +note: 重新烧录或重进fel模式时,请在上电时拉低SPI flash 的 CS引脚 |
|
| 87 | + |
|
| 88 | +此时在串口控制台(minicom、putty或其他)输入 bdinfo |
|
| 89 | + |
|
| 90 | +将列出各种板子信息,如: |
|
| 91 | + |
|
| 92 | + arch_number = 0x00000000 |
|
| 93 | + boot_params = 0x80000100 |
|
| 94 | + DRAM bank = 0x00000000 |
|
| 95 | + -> start = 0x80000000 |
|
| 96 | + -> size = 0x02000000 |
|
| 97 | + baudrate = 115200 bps |
|
| 98 | + TLB addr = 0x80FF0000 |
|
| 99 | + relocaddr = 0x80F14000 |
|
| 100 | + reloc off = 0xFF814000 |
|
| 101 | + irq_sp = 0x80E09D90 |
|
| 102 | + sp start = 0x80E09D80 |
|
| 103 | + FB base = 0x81E89000 |
|
| 104 | + Early malloc usage: 118 / 400 |
|
| 105 | + fdt_blob = 80e09da8 |
|
| 106 | + |
|
| 107 | + |
|
| 108 | +## ref |
|
| 109 | + |
|
| 110 | +- [[allwinner-dat]] |
|
| ... | ... | \ No newline at end of file |
SDK-dat/sunxi-tools-dat/2025-07-16-12-35-43.png
| ... | ... | Binary files a/SDK-dat/sunxi-tools-dat/2025-07-16-12-35-43.png and /dev/null differ |
SDK-dat/sunxi-tools-dat/sunxi-tools-dat.md
| ... | ... | @@ -1,110 +0,0 @@ |
| 1 | - |
|
| 2 | -# sunxi-tools-dat |
|
| 3 | - |
|
| 4 | -- [[uboot-dat]] |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | -- [[F1C100-SDK-dat]] - [[V3S-dat]] |
|
| 9 | - |
|
| 10 | -[linux-sunxi.org](https://linux-sunxi.org/D1s) |
|
| 11 | - |
|
| 12 | - |
|
| 13 | - |
|
| 14 | -### Using `sunxi-fel` (u-boot / generic FEL): |
|
| 15 | -```bash |
|
| 16 | -sunxi-fel -v spl u-boot-spl.bin |
|
| 17 | -sunxi-fel -v write 0x4A000000 u-boot.bin |
|
| 18 | -sunxi-fel -v exe 0x4A000000 |
|
| 19 | -``` |
|
| 20 | - |
|
| 21 | - |
|
| 22 | - |
|
| 23 | - |
|
| 24 | -## for F1C100 |
|
| 25 | - |
|
| 26 | -- [[F1C100-dat]] - [[ubuntu-dat]] |
|
| 27 | - |
|
| 28 | - git clone https://github.com/Icenowy/sunxi-tools.git -b f1c100s-spiflash |
|
| 29 | - |
|
| 30 | - make && sudo make install |
|
| 31 | - |
|
| 32 | -check |
|
| 33 | - |
|
| 34 | - root@ubuntu14:/home/vb/lpi/sunxi-tools# sunxi-fel |
|
| 35 | - sunxi-fel v1.4.1-104-g11a9d20 |
|
| 36 | - |
|
| 37 | -查看芯片信息 |
|
| 38 | - |
|
| 39 | - sudo sunxi-fel ver |
|
| 40 | - AWUSBFEX soc=00001663(F1C100s) 00000001 ver=0001 44 08 |
|
| 41 | - scratchpad=00007e00 00000000 00000000 |
|
| 42 | - |
|
| 43 | -列出所有芯片的信息 |
|
| 44 | - |
|
| 45 | - sudo sunxi-fel -l |
|
| 46 | - |
|
| 47 | - root@ubuntu14:/home/vb# sunxi-fel -l |
|
| 48 | - USB device 002:004 Allwinner F1C100s |
|
| 49 | - |
|
| 50 | - |
|
| 51 | -加载并执行uboot的spl |
|
| 52 | - |
|
| 53 | - sudo sunxi-fel spl 文件名 |
|
| 54 | - |
|
| 55 | -把文件内容写入内存指定地址(-p是显示写入进度) sudo sunxi-fel -p |
|
| 56 | - |
|
| 57 | - write 地址 文件名 |
|
| 58 | - |
|
| 59 | -调用指定地址的函数 |
|
| 60 | - |
|
| 61 | - sudo sunxi-fel exec 地址 |
|
| 62 | - |
|
| 63 | -显示spiflash的信息 |
|
| 64 | - |
|
| 65 | - sudo sunxi-fel spiflash-info |
|
| 66 | - |
|
| 67 | -读取spiflash指定地址的数据并写入到文件 |
|
| 68 | - |
|
| 69 | - sudo sunxi-fel spiflash-read 地址 长度 存放数据的文件路径 |
|
| 70 | - |
|
| 71 | -写入指定文件的指定长度的内容到spiflash的指定地址 |
|
| 72 | - |
|
| 73 | - sudo sunxi-fel spiflash-write 地址 长度 存放数据的文件路径 |
|
| 74 | - |
|
| 75 | -## programming |
|
| 76 | - |
|
| 77 | - |
|
| 78 | -1. 以 uboot file-with-spl形式进行(单次运行,测试时个人推荐) |
|
| 79 | - |
|
| 80 | - sunxi-fel uboot /your/path/to/u-boot-sunxi-with-spl.bin |
|
| 81 | - |
|
| 82 | -2. 烧进 spi-flash (开机自启) |
|
| 83 | - |
|
| 84 | - sunxi-fel -p spiflash-write 0 /your/path/to/u-boot-sunxi-with-spl.bin |
|
| 85 | - |
|
| 86 | -note: 重新烧录或重进fel模式时,请在上电时拉低SPI flash 的 CS引脚 |
|
| 87 | - |
|
| 88 | -此时在串口控制台(minicom、putty或其他)输入 bdinfo |
|
| 89 | - |
|
| 90 | -将列出各种板子信息,如: |
|
| 91 | - |
|
| 92 | - arch_number = 0x00000000 |
|
| 93 | - boot_params = 0x80000100 |
|
| 94 | - DRAM bank = 0x00000000 |
|
| 95 | - -> start = 0x80000000 |
|
| 96 | - -> size = 0x02000000 |
|
| 97 | - baudrate = 115200 bps |
|
| 98 | - TLB addr = 0x80FF0000 |
|
| 99 | - relocaddr = 0x80F14000 |
|
| 100 | - reloc off = 0xFF814000 |
|
| 101 | - irq_sp = 0x80E09D90 |
|
| 102 | - sp start = 0x80E09D80 |
|
| 103 | - FB base = 0x81E89000 |
|
| 104 | - Early malloc usage: 118 / 400 |
|
| 105 | - fdt_blob = 80e09da8 |
|
| 106 | - |
|
| 107 | - |
|
| 108 | -## ref |
|
| 109 | - |
|
| 110 | -- [[allwinner-dat]] |
|
| ... | ... | \ No newline at end of file |
fab-dat/fab-PCBA-dat/fab-PCBA-dat.md
| ... | ... | @@ -55,6 +55,51 @@ |
| 55 | 55 | - or layered plastic case [[layered-case-dat]] |
| 56 | 56 | - more simple soltuion - [[PMP1037-dat]] |
| 57 | 57 | |
| 58 | + |
|
| 59 | + |
|
| 60 | +## Automated Methods to Check Complex Footprints (Unsoldered Pads) |
|
| 61 | + |
|
| 62 | +- [[AOI-dat]] - [[ICT-dat]] |
|
| 63 | + |
|
| 64 | +- [[E-test-dat]] |
|
| 65 | + |
|
| 66 | +- **E-Test is for the bare PCB (before assembly).** |
|
| 67 | +- It checks copper traces, vias, and pads for: |
|
| 68 | + - **Short circuits** (unwanted connections between nets). |
|
| 69 | + - **Open circuits** (broken or missing connections). |
|
| 70 | +- Done by the PCB manufacturer using a **flying probe tester** or a **bed-of-nails fixture**. |
|
| 71 | +- Ensures the **bare board matches the Gerber/netlist** before any components are soldered. |
|
| 72 | + |
|
| 73 | + |
|
| 74 | + |
|
| 75 | +| Method | How It Works | Pros | Cons | |
|
| 76 | +|-------------------------------|-------------|------|------| |
|
| 77 | +| **Automated Optical Inspection (AOI)** | High-resolution cameras scan PCB to compare against "golden board" or Gerber. Detects shorts, opens, mask issues, pad misalignment. | Fast, widely used in PCB fab & assembly. | Limited for hidden pads (BGA bottom side). | |
|
| 78 | +| **Flying Probe Test** | Robotic probes touch each pad/net and check connectivity vs netlist. | No test fixture needed, flexible, high accuracy. | Slower than bed-of-nails, not good for high volume. | |
|
| 79 | +| **In-Circuit Test (ICT / Bed-of-Nails)** | Custom test fixture presses spring pins into test pads, verifying continuity, isolation, resistance, etc. | Very fast, accurate, used for production. | Expensive setup, needs test points designed in. | |
|
| 80 | +| **X-Ray Inspection (AXI)** | X-ray scans to detect hidden bridges, voids, and pad geometry (great for BGA/QFN). | Can see under packages, detects hidden issues. | Expensive equipment, slower than AOI. | |
|
| 81 | +| **Electrical Netlist Test (Bare Board E-Test)** | PCB fab tests each board against Gerber netlist for shorts/opens using a flying probe. | Ensures PCB is correct before assembly. | Only checks copper nets, not mask/pad alignment. | |
|
| 82 | +| **Solder Paste Inspection (SPI)** | 3D laser scan checks solder paste deposits on pads. | Ensures correct stencil printing before reflow. | Only useful after paste printing stage. | |
|
| 83 | +| **Coplanarity / Surface Profiling** | Laser or white-light interferometer scans pads for height/flatness. | Ensures pads are level for fine-pitch ICs. | More common in IC packaging QA. | |
|
| 84 | + |
|
| 85 | +--- |
|
| 86 | + |
|
| 87 | +## Typical Workflow in Production |
|
| 88 | +1. **Bare PCB stage** → Electrical netlist test + AOI. |
|
| 89 | +2. **Assembly stage (before soldering ICs)** → AOI for pad/solder mask check, SPI for solder paste. |
|
| 90 | +3. **After soldering** → AOI again + X-ray for BGA/QFN. |
|
| 91 | +4. **Final board** → ICT (bed-of-nails) or flying probe for electrical verification. |
|
| 92 | + |
|
| 93 | +--- |
|
| 94 | + |
|
| 95 | +👉 For **prototyping / small batch**, fabs usually run **bare board E-test** + **AOI** already. |
|
| 96 | +👉 For **hidden pad packages (QFN/BGA)**, the only real automated detection is **X-ray**. |
|
| 97 | + |
|
| 98 | + |
|
| 99 | + |
|
| 100 | + |
|
| 101 | + |
|
| 102 | + |
|
| 58 | 103 | ## ref |
| 59 | 104 | |
| 60 | 105 | - [[fab-dat]] |
fab-dat/fab-PCBA-dat/fab-Stencil-DAT/fab-stencil-dat.md
| ... | ... | @@ -5,6 +5,9 @@ |
| 5 | 5 | |
| 6 | 6 | - [[high-precise-printing-dat]] |
| 7 | 7 | |
| 8 | + |
|
| 9 | +- [[fab-stencil]] |
|
| 10 | + |
|
| 8 | 11 | ## common size frameless |
| 9 | 12 | |
| 10 | 13 | - 10 x 10 cm |