Other Parts Discussed in Thread: M2-CC3351
Tool/software:
Hi all,
I want to porting BLE function to SDK 10.00.07.04 on AM62xx EVK platform ,then I refer to patches from M2-CC3351 SDK and document as below
software-dl.ti.com/.../How_To_Enable_M2CC3301_in_linux.html
but I cannot see BT interface when I enable BLE (echo 1 > /sys/kernel/debug/ieee80211/phy0/cc33xx/ble_enable), my detail logs and patches as below
dmesg logs
U-Boot 2024.04-ti-gfda88f8bcea3 (Jul 26 2024 - 11:00:12 +0000)
SoC: AM62X SR1.0 HS-FS
Model: Texas Instruments AM625 SK
EEPROM not available at 0x50, trying to read at 0x51
Reading on-board EEPROM at 0x51 failed -121
DRAM: 2 GiB
Core: 81 devices, 31 uclasses, devicetree: separate
MMC: mmc@fa10000: 0, mmc@fa00000: 1
Loading Environment from nowhere... OK
In: serial
Out: serial
Err: serial
EEPROM not available at 0x50, trying to read at 0x51
Net: eth0: ethernet@8000000port@1
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc1 is current device
SD/MMC found on device 1
574 bytes read in 21 ms (26.4 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc1 ...
20285952 bytes read in 228 ms (84.9 MiB/s)
61887 bytes read in 24 ms (2.5 MiB/s)
Working FDT set to 88000000
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Working FDT set to 88000000
Loading Device Tree to 000000008feed000, end 000000008fffffff ... OK
Working FDT set to 8feed000
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 6.6.32-ti-01287-g6de6e418c80e-dirty (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 13.3.0, GNU ld (GNU Binutils) 2.42.0.20240716) #1 SMP PREEMPT Fri Jul 26 14:32:20 UTC 2024
[ 0.000000] KASLR disabled due to lack of seed
[ 0.000000] Machine model: Texas Instruments AM625 SK
[ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
[ 0.000000] printk: bootconsole [ns16550a0] enabled
[ 0.000000] efi: UEFI not found.
[ 0.000000] Reserved memory: created CMA memory pool at 0x00000000f7600000, size 128 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x00000000f7600000..0x00000000ff5fffff (131072 KiB) map reusable linux,cma
[ 0.000000] OF: reserved mem: 0x0000000080000000..0x000000008007ffff (512 KiB) nomap non-reusable tfa@80000000
[ 0.000000] OF: reserved mem: 0x000000009c700000..0x000000009c7fffff (1024 KiB) map non-reusable ramoops@9c700000
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 3 MiB
[ 0.000000] OF: reserved mem: initialized node ipc-memories@9c800000, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x000000009c800000..0x000000009cafffff (3072 KiB) nomap non-reusable ipc-memories@9c800000
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cb00000, size 1 MiB
[ 0.000000] OF: reserved mem: initialized node m4f-dma-memory@9cb00000, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x000000009cb00000..0x000000009cbfffff (1024 KiB) nomap non-reusable m4f-dma-memory@9cb00000
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cc00000, size 14 MiB
[ 0.000000] OF: reserved mem: initialized node m4f-memory@9cc00000, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x000000009cc00000..0x000000009d9fffff (14336 KiB) nomap non-reusable m4f-memory@9cc00000
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000009da00000, size 1 MiB
[ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@9da00000, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x000000009da00000..0x000000009dafffff (1024 KiB) nomap non-reusable r5f-dma-memory@9da00000
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000009db00000, size 12 MiB
[ 0.000000] OF: reserved mem: initialized node r5f-memory@9db00000, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x000000009db00000..0x000000009e6fffff (12288 KiB) nomap non-reusable r5f-memory@9db00000
[ 0.000000] OF: reserved mem: 0x000000009e800000..0x000000009fffffff (24576 KiB) nomap non-reusable optee@9e800000
[ 0.000000] OF: reserved mem: 0x00000000ff700000..0x00000000ffffffff (9216 KiB) nomap non-reusable framebuffer@ff700000
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000080000000-0x000000008007ffff]
[ 0.000000] node 0: [mem 0x0000000080080000-0x000000009c7fffff]
[ 0.000000] node 0: [mem 0x000000009c800000-0x000000009e6fffff]
[ 0.000000] node 0: [mem 0x000000009e700000-0x000000009e7fffff]
[ 0.000000] node 0: [mem 0x000000009e800000-0x000000009fffffff]
[ 0.000000] node 0: [mem 0x00000000a0000000-0x00000000ff6fffff]
[ 0.000000] node 0: [mem 0x00000000ff700000-0x00000000ffffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: Trusted OS migration not required
[ 0.000000] psci: SMC Calling Convention v1.4
[ 0.000000] percpu: Embedded 20 pages/cpu s42920 r8192 d30808 u81920
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: GIC system register CPU interface
[ 0.000000] CPU features: detected: ARM erratum 845719
[ 0.000000] alternatives: applying boot alternatives
[ 0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=spi-nand0:512k(ospi_nand.tiboot3),2m(ospi_nand.tispl),4m(ospi_nand.u-boot),256k(ospi_nand.env),256k(ospi_nt
[ 0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 516096
[ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[ 0.000000] software IO TLB: area num 4.
[ 0.000000] software IO TLB: mapped [mem 0x00000000f0f00000-0x00000000f4f00000] (64MB)
[ 0.000000] Memory: 1771852K/2097152K available (11968K kernel code, 1250K rwdata, 4036K rodata, 2432K init, 502K bss, 194228K reserved, 131072K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[ 0.000000] Trampoline variant of Tasks RCU enabled.
[ 0.000000] Tracing variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[ 0.000000] GICv3: 256 SPIs implemented
[ 0.000000] GICv3: 0 Extended SPIs implemented
[ 0.000000] Root IRQ handler: gic_handle_irq
[ 0.000000] GICv3: GICv3 features: 16 PPIs
[ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
[ 0.000000] ITS [mem 0x01820000-0x0182ffff]
[ 0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
[ 0.000000] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
[ 0.000000] ITS@0x0000000001820000: allocated 524288 Devices @80c00000 (flat, esz 8, psz 64K, shr 0)
[ 0.000000] ITS: using cache flushing for cmd queue
[ 0.000000] GICv3: using LPI property table @0x0000000080440000
[ 0.000000] GIC: using cache flushing for LPI property table
[ 0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000080450000
[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[ 0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
[ 0.000001] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[ 0.008653] Console: colour dummy device 80x25
[ 0.013276] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
[ 0.023961] pid_max: default: 32768 minimum: 301
[ 0.028790] LSM: initializing lsm=capability,integrity
[ 0.034189] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[ 0.041785] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[ 0.052158] RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1.
[ 0.059515] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1.
[ 0.067494] rcu: Hierarchical SRCU implementation.
[ 0.072401] rcu: Max phase no-delay instances is 1000.
[ 0.078082] Platform MSI: msi-controller@1820000 domain created
[ 0.084475] PCI/MSI: /bus@f0000/interrupt-controller@1800000/msi-controller@1820000 domain created
[ 0.093960] EFI services will not be available.
[ 0.098955] smp: Bringing up secondary CPUs ...
[ 0.104406] Detected VIPT I-cache on CPU1
[ 0.104519] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
[ 0.104537] GICv3: CPU1: using allocated LPI pending table @0x0000000080460000
[ 0.104612] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 0.105509] Detected VIPT I-cache on CPU2
[ 0.105583] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
[ 0.105598] GICv3: CPU2: using allocated LPI pending table @0x0000000080470000
[ 0.105639] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[ 0.106392] Detected VIPT I-cache on CPU3
[ 0.106452] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
[ 0.106468] GICv3: CPU3: using allocated LPI pending table @0x0000000080480000
[ 0.106503] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[ 0.106599] smp: Brought up 1 node, 4 CPUs
[ 0.186357] SMP: Total of 4 processors activated.
[ 0.191172] CPU features: detected: 32-bit EL0 Support
[ 0.196452] CPU features: detected: CRC32 instructions
[ 0.201787] CPU: All CPU(s) started at EL2
[ 0.205986] alternatives: applying system-wide alternatives
[ 0.214041] devtmpfs: initialized
[ 0.227763] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.237787] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.250312] pinctrl core: initialized pinctrl subsystem
[ 0.256425] DMI not present or invalid.
[ 0.261187] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.268417] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
[ 0.275841] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[ 0.283932] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.292146] audit: initializing netlink subsys (disabled)
[ 0.297976] audit: type=2000 audit(0.184:1): state=initialized audit_enabled=0 res=1
[ 0.298507] thermal_sys: Registered thermal governor 'step_wise'
[ 0.305911] thermal_sys: Registered thermal governor 'power_allocator'
[ 0.312124] cpuidle: using governor menu
[ 0.323016] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.330069] ASID allocator initialised with 65536 entries
[ 0.349160] platform 30200000.dss: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@3b
[ 0.359025] platform a40000.pinctrl: Fixed dependency cycle(s) with /bus@f0000/pinctrl@a40000/cpsw-cpts
[ 0.370513] platform connector-hdmi: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@3b
[ 0.382735] Modules: 27680 pages in range for non-PLT usage
[ 0.382749] Modules: 519200 pages in range for PLT usage
[ 0.389503] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.401909] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[ 0.408319] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[ 0.415259] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[ 0.421667] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.428607] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[ 0.435018] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[ 0.441957] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[ 0.450111] k3-chipinfo 43000014.chipid: Family:AM62X rev:SR1.0 JTAGID[0x0bb7e02f] Detected
[ 0.459801] iommu: Default domain type: Translated
[ 0.464749] iommu: DMA domain TLB invalidation policy: strict mode
[ 0.471435] SCSI subsystem initialized
[ 0.475667] usbcore: registered new interface driver usbfs
[ 0.481318] usbcore: registered new interface driver hub
[ 0.486790] usbcore: registered new device driver usb
[ 0.492584] pps_core: LinuxPPS API ver. 1 registered
[ 0.497665] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.507018] PTP clock support registered
[ 0.511236] EDAC MC: Ver: 3.0.0
[ 0.515133] scmi_core: SCMI protocol bus registered
[ 0.520524] FPGA manager framework
[ 0.524112] Advanced Linux Sound Architecture Driver Initialized.
[ 0.531502] vgaarb: loaded
[ 0.534764] clocksource: Switched to clocksource arch_sys_counter
[ 0.541337] VFS: Disk quotas dquot_6.6.0
[ 0.545390] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.559842] NET: Registered PF_INET protocol family
[ 0.565172] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
[ 0.574441] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[ 0.583281] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.591225] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 0.599448] TCP bind hash table entries: 16384 (order: 7, 524288 bytes, linear)
[ 0.607557] TCP: Hash tables configured (established 16384 bind 16384)
[ 0.614528] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[ 0.621469] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[ 0.629080] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.635526] RPC: Registered named UNIX socket transport module.
[ 0.641626] RPC: Registered udp transport module.
[ 0.646436] RPC: Registered tcp transport module.
[ 0.651245] RPC: Registered tcp-with-tls transport module.
[ 0.656870] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.663462] NET: Registered PF_XDP protocol family
[ 0.668385] PCI: CLS 0 bytes, default 64
[ 0.674219] Initialise system trusted keyrings
[ 0.679099] workingset: timestamp_bits=46 max_order=19 bucket_order=0
[ 0.686104] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.692468] NFS: Registering the id_resolver key type
[ 0.697682] Key type id_resolver registered
[ 0.701963] Key type id_legacy registered
[ 0.706081] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.712937] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[ 0.754378] Key type asymmetric registered
[ 0.758574] Asymmetric key parser 'x509' registered
[ 0.763643] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
[ 0.771215] io scheduler mq-deadline registered
[ 0.775851] io scheduler kyber registered
[ 0.779993] io scheduler bfq registered
[ 0.787827] pinctrl-single 4084000.pinctrl: 34 pins, size 136
[ 0.794457] pinctrl-single f4000.pinctrl: 171 pins, size 684
[ 0.802248] pinctrl-single a40000.pinctrl: 512 pins, size 2048
[ 0.815852] Serial: 8250/16550 driver, 12 ports, IRQ sharing enabled
[ 0.835192] loop: module loaded
[ 0.839963] megasas: 07.725.01.00-rc1
[ 0.849284] VFIO - User Level meta-driver version: 0.3
[ 0.855982] usbcore: registered new interface driver usb-storage
[ 0.862872] i2c_dev: i2c /dev entries driver
[ 0.869386] sdhci: Secure Digital Host Controller Interface driver
[ 0.875740] sdhci: Copyright(c) Pierre Ossman
[ 0.880474] sdhci-pltfm: SDHCI platform and OF driver helper
[ 0.887256] ledtrig-cpu: registered to indicate activity on CPUs
[ 0.893773] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[ 0.901178] usbcore: registered new interface driver usbhid
[ 0.906886] usbhid: USB HID core driver
[ 0.911260] omap-mailbox 29000000.mailbox: omap mailbox rev 0x66fc9100
[ 0.919735] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[ 0.928877] optee: probing for conduit method.
[ 0.933465] optee: revision 4.2 (12d7c4ee)
[ 0.933861] optee: dynamic shared memory is enabled
[ 0.944005] random: crng init done
[ 0.947626] optee: initialized driver
[ 0.953541] NET: Registered PF_PACKET protocol family
[ 0.958901] Key type dns_resolver registered
[ 0.972228] registered taskstats version 1
[ 0.976887] Loading compiled-in X.509 certificates
[ 0.999576] ti-sci 44043000.system-controller: ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
[ 1.056266] ti-sci-clk 44043000.system-controller:clock-controller: recalc-rate failed for dev=81, clk=20, ret=-19
[ 1.090227] omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz
[ 1.097617] platform connector-hdmi: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@3b
[ 1.107613] platform 30200000.dss: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@3b
[ 1.117373] i2c 1-003b: Fixed dependency cycle(s) with /connector-hdmi
[ 1.124117] i2c 1-003b: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
[ 1.132117] omap_i2c 20010000.i2c: bus 1 rev0.12 at 100 kHz
[ 1.139398] omap_i2c 20020000.i2c: bus 2 rev0.12 at 400 kHz
[ 1.145468] ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created
[ 1.154789] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
[ 1.164876] simple-framebuffer ff700000.framebuffer: framebuffer at 0xff700000, 0x8ca000 bytes
[ 1.173718] simple-framebuffer ff700000.framebuffer: format=a8r8g8b8, mode=1920x1200x32, linelength=7680
[ 1.199323] Console: switching to colour frame buffer device 240x75
[ 1.220273] simple-framebuffer ff700000.framebuffer: fb0: simplefb registered!
[ 1.229121] ti-udma 485c0100.dma-controller: Number of rings: 82
[ 1.238423] ti-udma 485c0100.dma-controller: Channels: 48 (bchan: 18, tchan: 12, rchan: 18)
[ 1.250046] ti-udma 485c0000.dma-controller: Number of rings: 150
[ 1.261880] ti-udma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15)
[ 1.272913] printk: console [ttyS2] disabled
[ 1.277862] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 239, base_baud = 3000000) is a 8250
[ 1.286792] printk: console [ttyS2] enabled
[ 1.286792] printk: console [ttyS2] enabled
[ 1.295247] printk: bootconsole [ns16550a0] disabled
[ 1.295247] printk: bootconsole [ns16550a0] disabled
[ 1.307875] omap8250 2810000.serial: failed to get alias
[ 1.317151] spi-nor spi0.0: s28hs512t (65536 Kbytes)
[ 1.322314] 7 fixed-partitions partitions found on MTD device fc40000.spi.0
[ 1.329276] Creating 7 MTD partitions on "fc40000.spi.0":
[ 1.334674] 0x000000000000-0x000000080000 : "ospi.tiboot3"
[ 1.341710] 0x000000080000-0x000000280000 : "ospi.tispl"
[ 1.348313] 0x000000280000-0x000000680000 : "ospi.u-boot"
[ 1.354966] 0x000000680000-0x0000006c0000 : "ospi.env"
[ 1.361391] 0x0000006c0000-0x000000700000 : "ospi.env.backup"
[ 1.368391] 0x000000800000-0x000003fc0000 : "ospi.rootfs"
[ 1.375175] 0x000003fc0000-0x000004000000 : "ospi.phypattern"
[ 1.388712] davinci_mdio 8000f00.mdio: Configuring MDIO in manual mode
[ 1.434775] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
[ 1.447149] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867
[ 1.455257] davinci_mdio 8000f00.mdio: phy[1]: device 8000f00.mdio:01, driver TI DP83867
[ 1.463387] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA01103, cpsw version 0x6BA81103 Ports: 3 quirks:00000006
[ 1.476395] am65-cpsw-nuss 8000000.ethernet: Use random MAC address
[ 1.482669] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5
[ 1.489795] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
[ 1.496412] pps pps0: new PPS source ptp0
[ 1.500747] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:1
[ 1.516723] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
[ 1.528187] platform 31000000.usb: Fixed dependency cycle(s) with /bus@f0000/i2c@20000000/tps6598x@3f/connector
[ 1.544181] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[ 1.549764] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
[ 1.557640] xhci-hcd xhci-hcd.0.auto: USB3 root hub has no ports
[ 1.563645] xhci-hcd xhci-hcd.0.auto: hcc params 0x0258fe6d hci version 0x110 quirks 0x0000008000000010
[ 1.573100] xhci-hcd xhci-hcd.0.auto: irq 255, io mem 0x31100000
[ 1.580084] hub 1-0:1.0: USB hub found
[ 1.583888] hub 1-0:1.0: 1 port detected
[ 1.589913] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 1200000 KHz, changing to: 1250000 KHz
[ 1.603194] mmc0: CQHCI version 5.10
[ 1.610846] pca953x 1-0022: supply vcc not found, using dummy regulator
[ 1.617633] pca953x 1-0022: using AI
[ 1.643343] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
[ 1.652591] debugfs: Directory 'pd:186' with parent 'pm_genpd' already present!
[ 1.654457] mmc1: CQHCI version 5.10
[ 1.661056] clk: Disabling unused clocks
[ 1.664546] mmc2: CQHCI version 5.10
[ 1.670893] ti-sci-clk 44043000.system-controller:clock-controller: is_prepared failed for dev=81, clk=20, ret=-19
[ 1.686569] ALSA device list:
[ 1.689638] No soundcards found.
[ 1.705388] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
[ 1.710913] mmc2: SDHCI controller on fa20000.mmc [fa20000.mmc] using ADMA 64-bit
[ 1.720714] Waiting for root device PARTUUID=076c4a2a-02...
[ 1.725489] sdhci-am654 fa20000.mmc: card claims to support voltages below defined range
[ 1.738316] mmc0: Command Queue Engine enabled
[ 1.742809] mmc0: new HS200 MMC card at address 0001
[ 1.746561] mmc2: new high speed SDIO card at address 0001
[ 1.748698] mmcblk0: mmc0:0001 S0J56X 14.8 GiB
[ 1.762148] mmcblk0: p1
[ 1.765451] mmcblk0boot0: mmc0:0001 S0J56X 31.5 MiB
[ 1.768557] mmc1: new ultra high speed SDR104 SDXC card at address aaaa
[ 1.771743] mmcblk0boot1: mmc0:0001 S0J56X 31.5 MiB
[ 1.777783] mmcblk1: mmc1:aaaa SB64G 59.5 GiB
[ 1.783096] mmcblk0rpmb: mmc0:0001 S0J56X 4.00 MiB, chardev (239:0)
[ 1.791564] mmcblk1: p1 p2
[ 1.995244] EXT4-fs (mmcblk1p2): mounted filesystem 5385bda0-7bd8-4ade-9453-e9d3a8dcbc87 r/w with ordered data mode. Quota mode: none.
[ 2.007579] VFS: Mounted root (ext4 filesystem) on device 179:98.
[ 2.016491] devtmpfs: mounted
[ 2.021341] Freeing unused kernel memory: 2432K
[ 2.025981] Run /sbin/init as init process
[ 2.238193] systemd[1]: System time before build time, advancing clock.
[ 2.290739] NET: Registered PF_INET6 protocol family
[ 2.297156] Segment Routing with IPv6
[ 2.300898] In-situ OAM (IOAM) with IPv6
[ 2.343203] systemd[1]: systemd 255.4^ running in system mode (+PAM -AUDIT -SELINUX -APPARMOR +IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL +ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPT)
[ 2.375096] systemd[1]: Detected architecture arm64.
Welcome to Arago 2023.10!
[ 2.407407] systemd[1]: Hostname set to <am62xx-evm>.
[ 2.667759] systemd[1]: Configuration file /usr/lib/systemd/system/ti-apps-launcher.service is marked executable. Please remove executable permission bits. Proceeding anyway.
[ 2.705568] systemd[1]: Configuration file /usr/lib/systemd/system/seva-launcher.service is marked executable. Please remove executable permission bits. Proceeding anyway.
[ 2.789722] systemd[1]: /usr/lib/systemd/system/bt-enable.service:9: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the settin.
[ 2.906710] systemd[1]: /etc/systemd/system/sync-clocks.service:11: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting.
[ 2.992376] systemd[1]: Queued start job for default target Graphical Interface.
[ 3.033811] systemd[1]: Created slice Slice /system/getty.
[ OK ] Created slice Slice /system/getty.
[ 3.057907] systemd[1]: Created slice Slice /system/modprobe.
[ OK ] Created slice Slice /system/modprobe.
[ 3.081791] systemd[1]: Created slice Slice /system/serial-getty.
[ OK ] Created slice Slice /system/serial-getty.
[ 3.104859] systemd[1]: Created slice User and Session Slice.
[ OK ] Created slice User and Session Slice.
[ 3.127417] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[ OK ] Started Dispatch Password Requests to Console Directory Watch.
[ 3.151237] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[ OK ] Started Forward Password Requests to Wall Directory Watch.
[ 3.175014] systemd[1]: Expecting device /dev/ttyS2...
Expecting device /dev/ttyS2...
[ 3.191088] systemd[1]: Reached target Path Units.
[ OK ] Reached target Path Units.
[ 3.206946] systemd[1]: Reached target Remote File Systems.
[ OK ] Reached target Remote File Systems.
[ 3.226922] systemd[1]: Reached target Slice Units.
[ OK ] Reached target Slice Units.
[ 3.242960] systemd[1]: Reached target Swaps.
[ OK ] Reached target Swaps.
[ 3.300189] systemd[1]: Listening on RPCbind Server Activation Socket.
[ OK ] Listening on RPCbind Server Activation Socket.
[ 3.327201] systemd[1]: Reached target RPC Port Mapper.
[ OK ] Reached target RPC Port Mapper.
[ 3.356738] systemd[1]: Listening on Process Core Dump Socket.
[ OK ] Listening on Process Core Dump Socket.
[ 3.379565] systemd[1]: Listening on initctl Compatibility Named Pipe.
[ OK ] Listening on initctl Compatibility Named Pipe.
[ 3.404405] systemd[1]: Listening on Journal Audit Socket.
[ OK ] Listening on Journal Audit Socket.
[ 3.427835] systemd[1]: Listening on Journal Socket (/dev/log).
[ OK ] Listening on Journal Socket (/dev/log).
[ 3.451800] systemd[1]: Listening on Journal Socket.
[ OK ] Listening on Journal Socket.
[ 3.471982] systemd[1]: Listening on Network Service Netlink Socket.
[ OK ] Listening on Network Service Netlink Socket.
[ 3.500316] systemd[1]: Listening on udev Control Socket.
[ OK ] Listening on udev Control Socket.
[ 3.523765] systemd[1]: Listening on udev Kernel Socket.
[ OK ] Listening on udev Kernel Socket.
[ 3.547800] systemd[1]: Listening on User Database Manager Socket.
[ OK ] Listening on User Database Manager Socket.
[ 3.611337] systemd[1]: Mounting Huge Pages File System...
Mounting Huge Pages File System...
[ 3.632515] systemd[1]: Mounting POSIX Message Queue File System...
Mounting POSIX Message Queue File System...
[ 3.661225] systemd[1]: Mounting Kernel Debug File System...
Mounting Kernel Debug File System...
[ 3.687652] systemd[1]: Kernel Trace File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/tracing).
[ 3.709267] systemd[1]: Mounting Temporary Directory /tmp...
Mounting Temporary Directory /tmp...
[ 3.738974] systemd[1]: Starting Create List of Static Device Nodes...
Starting Create List of Static Device Nodes...
[ 3.769705] systemd[1]: Starting Load Kernel Module configfs...
Starting Load Kernel Module configfs...
[ 3.826264] systemd[1]: Starting Load Kernel Module drm...
Starting Load Kernel Module drm...
[ 3.857783] systemd[1]: Starting Load Kernel Module fuse...
Starting Load Kernel Module fuse...
[ 3.897115] systemd[1]: Starting Start psplash boot splash screen...
Starting Start psplash boot splash screen...
[ 3.912207] fuse: init (API version 7.39)
[ 3.929011] systemd[1]: Starting RPC Bind...
Starting RPC Bind...
[ 3.947754] systemd[1]: File System Check on Root Device was skipped because of an unmet condition check (ConditionPathIsReadWrite=!/).
[ 3.960209] systemd[1]: Starting Journal Service...
Starting Journal Service...
[ 3.991710] systemd[1]: Starting Load Kernel Modules...
Starting Load Kernel Modules...
[ 4.020125] systemd[1]: Starting Generate network units from Kernel command line...
Starting Generate network units from Kernel command line...
[ 4.061161] systemd[1]: Starting Remount Root and Kernel File Systems...
Starting Remount Root and Kernel File Systems...
[ 4.076928] cryptodev: loading out-of-tree module taints kernel.
[ 4.080340] systemd-journald[129]: Collecting audit messages is enabled.
[ 4.098540] cryptodev: driver 1.13 loaded.
[ 4.107642] systemd[1]: Starting Coldplug All udev Devices...
Starting Coldplug All udev Devices...
[ 4.135435] systemd[1]: Started Start psplash boot splash screen.
[ OK ] Started Start psplash boot splash screen.
[ 4.166336] systemd[1]: Started RPC Bind.
[ OK ] Started RPC Bind.
[ 4.180240] EXT4-fs (mmcblk1p2): re-mounted 5385bda0-7bd8-4ade-9453-e9d3a8dcbc87 r/w. Quota mode: none.
[ 4.193972] systemd[1]: Mounted Huge Pages File System.
[ OK ] Mounted Huge Pages File System.
[ 4.216136] systemd[1]: Started Journal Service.
[ OK ] Started Journal Service.
[ OK ] Mounted POSIX Message Queue File System.
[ OK ] Mounted Kernel Debug File System.
[ OK ] Mounted Temporary Directory /tmp.
[ OK ] Finished Create List of Static Device Nodes.
[ OK ] Finished Load Kernel Module configfs.
[ OK ] Finished Load Kernel Module drm.
[ OK ] Finished Load Kernel Module fuse.
[ OK ] Finished Load Kernel Modules.
[ OK ] Finished Generate network units from Kernel command line.
[ OK ] Finished Remount Root and Kernel File Systems.
Mounting FUSE Control File System...
Mounting Kernel Configuration File System...
[ OK ] Started Start psplash-systemd progress communication helper.
Starting Flush Journal to Persistent Storage...
Starting Apply Kernel Variables...
Starting Create Static Device Nodes in /dev gracefully...
[ OK ] Mounted FUSE Control File System.
[ 4.634535] systemd-journald[129]: Received client request to flush runtime journal.
[ OK ] Mounted Kernel Configuration File System.
[ OK ] Finished Flush Journal to Persistent Storage.
[ OK ] Finished Apply Kernel Variables.
[ OK ] Finished Create Static Device Nodes in /dev gracefully.
Starting Create Static Device Nodes in /dev...
[ OK ] Finished Create Static Device Nodes in /dev.
[ OK ] Reached target Preparation for Local File Systems.
Mounting /var/volatile...
[ 4.940264] audit: type=1334 audit(1709054766.700:2): prog-id=6 op=LOAD
[ 4.947157] audit: type=1334 audit(1709054766.708:3): prog-id=7 op=LOAD
Starting Rule-based Manager for Device Events and Files...
[ OK ] Finished Coldplug All udev Devices.
[ OK ] Mounted /var/volatile.
Starting Load/Save OS Random Seed...
[ OK ] Reached target Local File Systems.
Starting Create Volatile Files and Directories...
[ OK ] Finished Load/Save OS Random Seed.
[ OK ] Finished Create Volatile Files and Directories.
[ 5.206653] audit: type=1334 audit(1709054766.964:4): prog-id=8 op=LOAD
Starting Network Name Resolution...
[ 5.256566] audit: type=1334 audit(1709054767.012:5): prog-id=9 op=LOAD
Starting Network Time Synchronization...
Starting Record System Boot/Shutdown in UTMP...
[ OK ] Started Rule-based Manager for Device Events and Files.
[ 5.351996] audit: type=1334 audit(1709054767.112:6): prog-id=10 op=LOAD
[ 5.359030] audit: type=1334 audit(1709054767.120:7): prog-id=11 op=LOAD
[ 5.366132] audit: type=1334 audit(1709054767.124:8): prog-id=12 op=LOAD
Starting User Database Manager...
[ OK ] Finished Record System Boot/Shutdown in UTMP.
[ OK ] Started User Database Manager.
[ OK ] Found device /dev/ttyS2.
[ OK ] Started Network Time Synchronization.
[ OK ] Reached target System Time Set.
[ OK ] Started Network Name Resolution.
[ OK ] Reached target Host and Network Name Lookups.
[ OK ] Reached target System Initialization.
[ OK ] Started Daily rotation of log files.
[ OK ] Started Daily Cleanup of Temporary Directories.
[ OK ] Reached target Timer Units.
[ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
[ OK ] Listening on D-Bus System Message Bus Socket.
Starting Docker Socket for the API...
[ OK ] Listening on dropbear.socket.
[ OK ] Listening on PC/SC Smart Card Daemon Activation Socket.
Starting Weston socket...
[ 6.619668] audit: type=1334 audit(1733832313.827:9): prog-id=13 op=LOAD
Starting D-Bus System Message Bus...
Starting Reboot and dump vmcore via kexec...
[ OK ] Listening on Docker Socket for the API.
[ OK ] Listening on Weston socket.
[ OK ] Finished Reboot and dump vmcore via kexec.
[ OK ] Started D-Bus System Message Bus.
[ 6.855159] dbus-broker-lau[434]: memfd_create() called without MFD_EXEC or MFD_NOEXEC_SEAL set
[ OK ] Reached target Socket Units.
[ OK ] Reached target Basic System.
[ OK ] Started Job spooling tools.
[ 7.001665] at24 0-0051: supply vcc not found, using dummy regulator
Starting Avahi mDNS/DNS-SD Stack...
[ 7.044934] at24 0-0051: 65536 byte 24c512 EEPROM, writable, 1 bytes/write
[ OK ] Started Periodic Command Scheduler.
[ 7.058522] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
[ 7.067150] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
[ 7.080348] tps6598x 0-003f: Unable to find the interrupt, switching to polling
Starting Print notice about GPLv3 packages[ 7.090122] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
...
[ 7.102846] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
[ 7.105455] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
[ 7.105488] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
[ 7.120281] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
[ 7.145909] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
[ 7.170400] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@9cb00000
Starting IPv6 Packet Filtering Framework...
[ 7.197140] k3-m4-rproc 5000000.m4fss: configured M4 for remoteproc mode
Starting IPv4 Packet Filtering Framework...
[ OK ] Started irqbalance daemon.
Starting Telephony service...
[ 7.266906] k3-m4-rproc 5000000.m4fss: local reset is deasserted for device
Starting PulseAudio Sound System...
Starting Expand the rootfs partiti�…to full size of the boot device....
[ OK ] Started Seva Launcher Service.
[ OK ] Started strongSwan IPsec IKEv1/IKEv2 daemon using ipsec.conf.
[ 7.361183] audit: type=1334 audit(1733832314.567:10): prog-id=14 op=LOAD
[ 7.371149] audit: type=1334 audit(1733832314.579:11): prog-id=15 op=LOAD
[ 7.378736] audit: type=1334 audit(1733832314.583:12): prog-id=16 op=LOAD
[ 7.380027] remoteproc remoteproc0: 5000000.m4fss is available
Starting User Login Management...
[ 7.427012] remoteproc remoteproc0: powering up 5000000.m4fss
[ 7.437895] remoteproc remoteproc0: Booting fw image am62-mcu-m4f0_0-fw, size 55016
Starting Telnet Server...
[ 7.475731] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
[ 7.492513] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
[ 7.514354] rtc-ti-k3 2b1f0000.rtc: registered as rtc0
[ 7.520175] rtc-ti-k3 2b1f0000.rtc: setting system clock to 1970-01-01T00:00:13 UTC (13)
[ 7.529905] rproc-virtio rproc-virtio.1.auto: assigned reserved memory node m4f-dma-memory@9cb00000
[ 7.533769] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
[ 7.547636] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
[ 7.568981] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
[ 7.577562] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
[ 7.581350] systemd-journald[129]: Time jumped backwards, rotating.
[ 7.608711] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
[ 7.619034] platform 78000000.r5f: R5F core may have been powered on by a different host, programmed state (0) != actual state (1)
[ 7.624020] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
[ 7.631318] platform 78000000.r5f: configured R5F for IPC-only mode
[ 7.647675] platform 78000000.r5f: assigned reserved memory node r5f-dma-memory@9da00000
[ 7.663918] virtio_rpmsg_bus virtio0: rpmsg host is online
[ 7.665113] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
[ 7.677610] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
[ 7.678923] rproc-virtio rproc-virtio.1.auto: registered virtio0 (type 7)
[ 7.686425] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
[ 7.692402] remoteproc remoteproc0: remote processor 5000000.m4fss is now up
[ 7.699087] remoteproc remoteproc1: 78000000.r5f is available
[ 7.699205] remoteproc remoteproc1: attaching to 78000000.r5f
[ 7.701465] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
[ OK ] Started ti-apps-launcher service.
[ 7.738610] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
[ 7.747508] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
[ 7.752935] platform 78000000.r5f: R5F core initialized in IPC-only mode
[ 7.765954] rproc-virtio rproc-virtio.3.auto: assigned reserved memory node r5f-dma-memory@9da00000
[ 7.770605] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
[ 7.781698] virtio_rpmsg_bus virtio1: creating channel ti.ipc4.ping-pong addr 0xd
[ 7.783566] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
[ 7.791356] virtio_rpmsg_bus virtio1: rpmsg host is online
[ OK ] Finished IPv6 Packet Filtering Fram[ 7.808053] rproc-virtio rproc-virtio.3.auto: registered virtio1 (type 7)
ework.
[ 7.818543] remoteproc remoteproc1: remote processor 78000000.r5f is now attached
[ 7.824471] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0xe
[ OK ] Finished IPv4 Packet Filtering Framework.
[ OK ] Finished Telnet Server.
[ 7.890469] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
[ 7.904025] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
[ 7.931374] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
[ 7.942855] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
[ OK ] Started Telephony service.
[ OK ] Reached target Preparation for Network.
[ OK ] Reached target Hardware [ 8.001196] audit: type=1334 audit(13.976:13): prog-id=17 op=LOAD
activated USB gadget.
Starting Network Configuration...
[ OK ] Started Avahi mDNS/DNS-SD Stack.
[ 8.097742] sii902x 1-003b: supply iovcc not found, using dummy regulator
[ 8.107124] sii902x 1-003b: supply cvcc12 not found, using dummy regulator
[ 8.124057] i2c i2c-1: Added multiplexed i2c bus 3
[ 8.132640] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
[ 8.146274] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
[ 8.157726] [drm] Initialized tidss 1.0.0 20180215 for 30200000.dss on minor 0
[ 8.170342] tidss 30200000.dss: [drm] Cannot find any crtc or sizes
[ 8.178692] tidss 30200000.dss: [drm] Cannot find any crtc or sizes
[ 8.201886] Bluetooth: Core ver 2.22
[ 8.205769] NET: Registered PF_BLUETOOTH protocol family
[ 8.211280] Bluetooth: HCI device and connection manager initialized
[ 8.217758] Bluetooth: HCI socket layer initialized
[ 8.222774] Bluetooth: L2CAP socket layer initialized
[ 8.227958] Bluetooth: SCO socket layer initialized
[ OK ] Finished Expand the rootfs partition to full size of the boot device..
[ 8.310111] PVR_K: 189: Device: fd00000.gpu
[ 8.323043] PVR_K: 189: Read BVNC 33.15.11.3 from HW device registers
[ 8.330497] PVR_K: 189: RGX Device registered with BVNC 33.15.11.3
[ 8.343710] [drm] Initialized pvr 24.1.6554834 20170530 for fd00000.gpu on minor 1
[ OK ] Started User Login Management.
[ 8.431647] cc33xx_sdio mmc2:0001:2: Using GPIO as IRQ
[ 8.527203] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 8.565608] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 8.572713] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
[ OK ] Started PulseAudio Sound System.
[ 8.729064] remoteproc remoteproc2: 30074000.pru is available
[ 8.736534] remoteproc remoteproc3: 30078000.pru is available
Starting Virtual Console Setup...
[ OK ] Started Network Configuration.
[ OK ] Reached target Network.
Starting Enable and configure wl18xx bluetooth stack...
Starting containerd container runtime...
[ OK ] Started Netperf Benchmark Server.
[ 8.887177] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL)
Starting Simple Network Management Protocol (SNMP) Daemon....
Starting Permit User Sessions...
[ 8.917896] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
[ 8.975371] am65-cpsw-nuss 8000000.ethernet eth1: PHY [8000f00.mdio:01] driver [TI DP83867] (irq=POLL)
[ 8.988593] am65-cpsw-nuss 8000000.ethernet eth1: configuring for phy/rgmii-rxid link mode
[ OK ] Finished Enable and configure wl18xx bluetooth stack.
[ OK ] Finished Permit User Sessions.
[ OK ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.
[ OK ] Started Getty on tty1.
[ OK ] Started Serial Getty on ttyS2.
[ OK ] Reached target Login Prompts.
Starting Synchronize System and HW clocks...
Starting Weston, a Wayland compositor, as a system service...
[ OK ] Finished Virtual Console Setup.
[ 9.331525] cc33xx_driver cc33xx.5.auto: Direct firmware load for ti-connectivity/cc33xx-nvs.bin failed with error -2
[ OK ] Created slice Slice /system/systemd-fsck.
Expecting device /dev/mmcblk0p1...
Starting Save/Restore Sound Card State...
[ OK ] Found device /dev/mmcblk0p1.
[ OK ] Finished Save/Restore Sound Card State.
[ OK ] Reached target Sound Card.
Starting File System Check on /dev/mmcblk0p1...
[ OK ] Created slice User Slice of UID 1000.
Starting User Runtime Directory /run/user/1000...
[ OK ] Finished User Runtime Directory /run/user/1000.
Starting User Manager for UID 1000...
[ OK ] Finished Synchronize System and HW clocks.
[ OK ] Finished File System Check on /dev/mmcblk0p1.
Mounting /run/media/rootfs-mmcblk0p1...
[ 10.138738] audit: type=1006 audit(16.112:14): pid=623 uid=0 old-auid=4294967295 auid=1000 tty=(none) old-ses=4294967295 ses=1 res=1
[ 10.151029] audit: type=1300 audit(16.112:14): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=ffffeef6bab8 a2=4 a3=1 items=0 ppid=1 pid=623 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgi)
[ 10.177458] audit: type=1327 audit(16.112:14): proctitle="(systemd)"
Expecting device /dev/mmcblk1p1...
[ 10.231060] EXT4-fs (mmcblk0p1): mounted filesystem 356b1c79-78f9-45f7-893a-781d6d3d644d r/w with ordered data mode. Quota mode: none.
[ OK ] Mounted /run/media/rootfs-mmcblk0p1.
[ OK ] Found device /dev/mmcblk1p1.
Starting File System Check on /dev/mmcblk1p1...
[ OK ] Finished File System Check on /dev/mmcblk1p1.
Mounting /run/media/boot-mmcblk1p1...
[ OK ] Started Simple Network Management Protocol (SNMP) Daemon..
[ OK ] Mounted /run/media/boot-mmcblk1p1.
[ OK ] Started User Manager for UID 1000.
[ OK ] Started Session c1 of User weston.
[ 11.285651] audit: type=1006 audit(17.260:15): pid=565 uid=0 old-auid=4294967295 auid=1000 tty=tty7 old-ses=4294967295 ses=2 res=1
[ 11.297885] audit: type=1300 audit(17.260:15): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=ffffe4309d38 a2=4 a3=1 items=0 ppid=1 pid=565 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgi)
Starting Load/Save RF Kill Switch Status...
[ OK ] Started Load/Save RF Kill Switch Status.
[ 11.700575] PVR_K: 565: RGX Firmware image 'rgx.fw.33.15.11.3' loaded
[ 11.715040] PVR_K: 565: Shader binary image 'rgx.sh.33.15.11.3' loaded
[ OK ] Started containerd container runtime.
[FAILED] Failed to start Weston, a Wayland compositor, as a system service.
See 'systemctl status weston.service' for details.
[ 12.011698] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
Starting Weston, a Wayland compositor, as a system service...
[ OK ] Started Session c2 of User weston 12.147795] kauditd_printk_skb: 1 callbacks suppressed
0m.
[ 12.147814] audit: type=1006 audit(18.124:16): pid=698 uid=0 old-auid=4294967295 auid=1000 tty=tty7 old-ses=4294967295 ses=3 res=1
[ 12.166928] audit: type=1300 audit(18.124:16): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=ffffdb471af8 a2=4 a3=1 items=0 ppid=1 pid=698 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgi)
[ 12.192814] audit: type=1327 audit(18.124:16): proctitle="(weston)"
[FAILED] Failed to start Weston, a Wayland compositor, as a system service.
See 'systemctl status weston.service' for details.
Starting Weston, a Wayland compositor, as a system service...
[ OK ] Started Session c3 of User weston 12.480358] audit: type=1006 audit(18.456:17): pid=702 uid=0 old-auid=4294967295 auid=1000 tty=tty7 old-ses=4294967295 ses=4 res=1
0m.
[ 12.493838] audit: type=1300 audit(18.456:17): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=ffffd5479878 a2=4 a3=1 items=0 ppid=1 pid=702 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgi)
[ 12.519732] audit: type=1327 audit(18.456:17): proctitle="(weston)"
[FAILED] Failed to start Weston, a Wayland compositor, as a system service.
See 'systemctl status weston.service' for details.
Starting Weston, a Wayland compositor, as a system service...
[ OK ] Started Session c4 of User weston 12.796684] audit: type=1006 audit(18.772:18): pid=706 uid=0 old-auid=4294967295 auid=1000 tty=tty7 old-ses=4294967295 ses=5 res=1
0m.
[ 12.811189] audit: type=1300 audit(18.772:18): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=ffffdaa14b08 a2=4 a3=1 items=0 ppid=1 pid=706 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgi)
[ 12.837392] audit: type=1327 audit(18.772:18): proctitle="(weston)"
[FAILED] Failed to start Weston, a Wayland compositor, as a system service.
See 'systemctl status weston.service' for details.
Starting Weston, a Wayland compositor, as a system service...
[ OK ] Started Session c5 of User weston.
[ 13.163847] audit: type=1006 audit(19.140:19): pid=767 uid=0 old-auid=4294967295 auid=1000 tty=tty7 old-ses=4294967295 ses=6 res=1
[FAILED] Failed to start Weston, a Wayland compositor, as a system service.
See 'systemctl status weston.service' for details.
[FAILED] Failed to start Weston, a Wayland compositor, as a system service.
See 'systemctl status weston.service' for details.
***************************************************************
***************************************************************
NOTICE: This file system contains the following GPL-3.0 packages:
adwaita-icon-theme-symbolic
autoconf
bash-dev
bash
bc
binutils
cifs-utils
coreutils-stdbuf
coreutils
cpio
cpp-symlinks
cpp
dosfstools
elfutils
findutils
g++-symlinks
g++
gawk
gcc-symlinks
gcc
gdb
gdbserver
gettext
glmark2
gnu-config
grub-common
grub-editenv
grub-efi
gzip
hidapi
kbd-dev
kbd-keymaps-pine
less
libasm1
libatomic-dev
libatomic1
libbfd
libdebuginfod1
libdw1
libelf1
libgcc-s-dev
libgcc1
libgdbm-compat4
libgdbm-dev
libgdbm6
libgettextlib
libgettextsrc
libgmp10
libidn2-0
libmpc3
libmpfr6
libopcodes
libqt5charts-examples
libqt5charts-plugins
libqt5charts-qmlplugins
libqt5charts5
libqt5serialport-examples
libqt5serialport-plugins
libqt5serialport-qmlplugins
libqt5serialport5
libqt5svg-examples
libqt5svg-plugins
libqt5svg-qmlplugins
libqt5svg5
libqt5virtualkeyboard-plugins
libqt5virtualkeyboard-qmlplugins
libqt5virtualkeyboard5
libreadline-dev
libreadline8
libstdc++-dev
libstdc++6
libunistring5
m4
make
nettle
parted
piglit
qt3d-plugins
qt3d-qmlplugins
qt3d
qtbase-examples
qtbase-plugins
qtbase-qmlplugins
qtbase
qtconnectivity-plugins
qtconnectivity-qmlplugins
qtconnectivity
qtdeclarative-plugins
qtdeclarative-qmlplugins
qtdeclarative-tools
qtdeclarative
qtgraphicaleffects-qmlplugins
qtlocation-examples
qtlocation-plugins
qtlocation-qmlplugins
qtlocation
qtmultimedia-examples
qtmultimedia-plugins
qtmultimedia-qmlplugins
qtmultimedia
qtquick3d-plugins
qtquick3d-qmlplugins
qtquick3d
qtquics-qmlplugins.control
qtquics2-plugins.control
qtquics2-qmlplugins.control
qtquics2.control
qtscript-examples
qtscript-plugins
qtscript-qmlplugins
qtscript
qtwayland-examples
qtwayland-plugins
qtwayland-qmlplugins
qtwayland
tar
which
If you do not wish to distribute GPL-3.0 components please remove
the above packages prior to distribution. This can be done using
the opkg remove command. i.e.:
opkg remove <package>
Where <package> is the name printed in the list above
NOTE: If the package is a dependency of another package you
will be notified of the dependent packages. You should
use the --force-removal-of-dependent-packages option to
also remove the dependent packages as well
***************************************************************
***************************************************************
[ OK ] Finished Print notice about GPLv3 packages.
[ OK ] Reached target Multi-User System.
[ OK ] Reached target Graphical Interface.
Starting Record Runlevel Change in UTMP...
_____ _____ _ _
| _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_
| | _| .'| . | . | | __| _| . | | | -_| _| _|
|__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_|
|___| |___|
Arago Project am62xx-evm ttyS2
Arago 2023.10 am62xx-evm ttyS2
am62xx-evm login: root
[ 17.581732] kauditd_printk_skb: 6 callbacks suppressed
[ 17.581756] audit: type=1006 audit(23.556:24): pid=1087 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=7 res=1
[ 17.599963] audit: type=1300 audit(23.556:24): arch=c00000b7 syscall=64 success=yes exit=1 a0=8 a1=ffffd87f7038 a2=1 a3=1 items=0 ppid=1 pid=1087 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=)
[ 17.626890] audit: type=1327 audit(23.556:24): proctitle="(systemd)"
[ 17.634011] audit: type=1334 audit(23.592:25): prog-id=21 op=LOAD
[ 17.641295] audit: type=1300 audit(23.592:25): arch=c00000b7 syscall=280 success=yes exit=8 a0=5 a1=ffffd32abc58 a2=90 a3=0 items=0 ppid=1 pid=1087 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgi)
[ 17.667251] audit: type=1327 audit(23.592:25): proctitle="(systemd)"
[ 17.674544] audit: type=1334 audit(23.600:26): prog-id=21 op=UNLOAD
[ 17.681764] audit: type=1300 audit(23.600:26): arch=c00000b7 syscall=57 success=yes exit=0 a0=8 a1=1 a2=0 a3=ffff892c8c60 items=0 ppid=1 pid=1087 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=)
[ 17.706954] audit: type=1327 audit(23.600:26): proctitle="(systemd)"
[ 17.713497] audit: type=1334 audit(23.600:27): prog-id=22 op=LOAD
root@am62xx-evm:~# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::1e63:49ff:fe22:4ed8 prefixlen 64 scopeid 0x20<link>
ether 1c:63:49:22:4e:d8 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 17 bytes 2720 (2.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 66:d7:27:b4:88:48 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 92 bytes 7634 (7.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 92 bytes 7634 (7.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether a4:34:f1:b2:e8:d0 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
root@am62xx-evm:~# cat /sys/kernel/debug/ieee80211/phy0/cc33xx/ble_enable
0
root@am62xx-evm:~# echo 1 > /sys/kernel/debug/ieee80211/phy0/cc33xx/ble_enable
root@am62xx-evm:~# cat /sys/kernel/debug/ieee80211/phy0/cc33xx/ble_enable
1
root@am62xx-evm:~# hciconfig -a
root@am62xx-evm:~#
CTRL-A Z for help | 115200 8N1 | NOR | Minicom 2.7.1 | VT102 | Offline | ttyUSB0
system configs
From af3f6f374d3b02d222685e42dc14eafc7d4907fd Mon Sep 17 00:00:00 2001
From: Mike <mike_yang@pegatroncorp.com>
Date: Tue, 10 Dec 2024 02:58:53 +0000
Subject: [PATCH] new ti system config
Signed-off-by: Mike <mike_yang@pegatroncorp.com>
---
arch/arm64/configs/defconfig | 27 +++++++++++++++++++++++++--
1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index f8047c965270..252cf2eac572 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -451,10 +451,12 @@ CONFIG_MWIFIEX_SDIO=m
CONFIG_MWIFIEX_PCIE=m
CONFIG_MT7921E=m
CONFIG_RSI_91X=m
-CONFIG_WL18XX=m
+CONFIG_WL18XX=n
CONFIG_CC33XX=m
CONFIG_CC33XX_SDIO=m
-CONFIG_WLCORE_SDIO=m
+CONFIG_CC33XX_SPI=m
+CONFIG_WLCORE=n
+CONFIG_WLCORE_SDIO=n
CONFIG_WWAN=m
CONFIG_MHI_WWAN_CTRL=m
CONFIG_MHI_WWAN_MBIM=m
@@ -1646,3 +1648,24 @@ CONFIG_CORESIGHT_STM=m
CONFIG_CORESIGHT_CPU_DEBUG=m
CONFIG_CORESIGHT_CTI=m
CONFIG_MEMTEST=y
+CONFIG_BT_TI_UART=m
+CONFIG_TUN=m
+CONFIG_USB_ACM=m
+CONFIG_6LOWPAN=m
+CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=m
+CONFIG_6LOWPAN_GHC_UDP=m
+CONFIG_6LOWPAN_GHC_ICMPV6=m
+CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m
+CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m
+CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=m
+CONFIG_IEEE802154=m
+CONFIG_IEEE802154_6LOWPAN=m
+CONFIG_MAC802154=m
+CONFIG_IP_MROUTE=y
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IPV6_MROUTE=y
+CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
+CONFIG_BT_DEBUGFS=y
+CONFIG_BT_TI=n
+CONFIG_BT_TI_SDIO=n
\ No newline at end of file
--
2.34.1
Device tree
From c1713dd141a819cc7c04e9891699222b26921d5c Mon Sep 17 00:00:00 2001
From: Mike <mike_yang@pegatroncorp.com>
Date: Tue, 10 Dec 2024 03:21:04 +0000
Subject: [PATCH] new ti dts setting
Signed-off-by: Mike <mike_yang@pegatroncorp.com>
---
arch/arm64/boot/dts/ti/k3-am625-sk.dts | 94 +++++++++++++++++++
.../arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 14 +--
2 files changed, 101 insertions(+), 7 deletions(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
index f353db3664ac..b8580fa4b2f8 100644
--- a/arch/arm64/boot/dts/ti/k3-am625-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
@@ -103,9 +103,66 @@ vcc_1v8: regulator-5 {
regulator-always-on;
regulator-boot-on;
};
+
+ wlan_lten: regulator-6 {
+ compatible = "regulator-fixed";
+ regulator-name = "wlan_lten";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <&vdd_mmc1>;
+ gpios = <&exp1 11 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ wlan_en: regulator-7 {
+ compatible = "regulator-fixed";
+ regulator-name = "wlan_en";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ vin-supply = <&wlan_lten>;
+ enable-active-high;
+ gpios = <&main_gpio0 71 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&wlan_en_pins_default>;
+ };
+
+ uart_buf_en: regulator-9 {
+ compatible = "regulator-fixed";
+ regulator-name = "uart_buf_en";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ gpios = <&exp1 10 GPIO_ACTIVE_LOW>;
+ regulator-always-on;
+ };
+
};
&main_pmx0 {
+
+ wlan_en_pins_default: wlan-en-pins-default {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x124, PIN_OUTPUT, 7) /* (A23) MMC2_SDCD.GPIO0_71 */
+ >;
+ };
+
+ main_mmc2_pins_default: main-mmc2-pins-default {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x120, PIN_INPUT, 0) /* (C24) MMC2_CMD */
+ AM62X_IOPAD(0x118, PIN_INPUT, 0) /* (D25) MMC2_CLK */
+ AM62X_IOPAD(0x114, PIN_INPUT, 0) /* (B24) MMC2_DAT0 */
+ AM62X_IOPAD(0x110, PIN_INPUT, 0) /* (C25) MMC2_DAT1 */
+ AM62X_IOPAD(0x10c, PIN_INPUT, 0) /* (E23) MMC2_DAT2 */
+ AM62X_IOPAD(0x108, PIN_INPUT, 0) /* (D24) MMC2_DAT3 */
+ AM62X_IOPAD(0x11c, PIN_INPUT, 0) /* (#N/A) MMC2_CLKB */
+ >;
+ };
+
+ main_wlirq_pins_default: main-wlirq-pins-default {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x128, PIN_INPUT, 7) /* (B23) MMC2_SDWP.GPIO0_72 */
+ >;
+ };
+
main_rgmii2_pins_default: main-rgmii2-default-pins {
bootph-all;
pinctrl-single,pins = <
@@ -200,6 +257,43 @@ &sdhci1 {
vqmmc-supply = <&vdd_sd_dv>;
};
+&sdhci2 {
+ status = "okay";
+ bootph-all;
+ vmmc-supply = <&wlan_en>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&main_mmc2_pins_default>;
+ bus-width = <4>;
+ non-removable;
+ ti,fails-without-test-cd;
+ cap-power-off-card;
+ keep-power-in-suspend;
+ ti,driver-strength-ohm = <50>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+ wlcore: wlcore@2 {
+ compatible = "ti,cc3301";
+ reg = <2>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&main_wlirq_pins_default>;
+ interrupt-parent = <&main_gpio0>;
+ interrupts = <72 IRQ_TYPE_EDGE_FALLING>;
+ };
+};
+
+&main_uart1 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&main_uart1_pins_default>;
+
+ bluetooth {
+ compatible = "ti,cc33xx-bt";
+ cc33xx-supply = <&wlan_en>;
+ max-speed = <115200>;
+ };
+};
+
&cpsw3g {
pinctrl-names = "default";
pinctrl-0 = <&main_rgmii1_pins_default
diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
index 57fbcd6892fc..58672f876025 100644
--- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
@@ -372,13 +372,13 @@ &main_uart0 {
interrupt-names = "irq", "wakeup";
};
-&main_uart1 {
- /* Main UART1 is used by TIFS firmware */
- bootph-pre-ram;
- status = "reserved";
- pinctrl-names = "default";
- pinctrl-0 = <&main_uart1_pins_default>;
-};
+// &main_uart1 {
+// /* Main UART1 is used by TIFS firmware */
+// bootph-pre-ram;
+// status = "reserved";
+// pinctrl-names = "default";
+// pinctrl-0 = <&main_uart1_pins_default>;
+// };
&main_i2c0 {
status = "okay";
--
2.34.1
Wi-Fi driver patch
From 455db02028f162f08ef66c4b3eca99657e31fdc0 Mon Sep 17 00:00:00 2001
From: Sabeeh Khan <sabeeh-khan@ti.com>
Date: Sun, 27 Oct 2024 00:01:44 -0500
Subject: [PATCH] drivers: cc33xx: update to 1.0.0.7
---
drivers/net/wireless/ti/cc33xx/acx.c | 93 ----
drivers/net/wireless/ti/cc33xx/acx.h | 20 -
drivers/net/wireless/ti/cc33xx/boot.c | 8 +
drivers/net/wireless/ti/cc33xx/cc33xx_i.h | 3 +-
drivers/net/wireless/ti/cc33xx/cmd.c | 100 +++-
drivers/net/wireless/ti/cc33xx/cmd.h | 10 +-
drivers/net/wireless/ti/cc33xx/conf.h | 641 ++--------------------
drivers/net/wireless/ti/cc33xx/io.c | 5 -
drivers/net/wireless/ti/cc33xx/main.c | 55 +-
drivers/net/wireless/ti/cc33xx/ps.c | 2 -
drivers/net/wireless/ti/cc33xx/rx.c | 3 +
drivers/net/wireless/ti/cc33xx/rx.h | 6 +-
12 files changed, 184 insertions(+), 762 deletions(-)
diff --git a/drivers/net/wireless/ti/cc33xx/acx.c b/drivers/net/wireless/ti/cc33xx/acx.c
index 34a6f9cee245..1e628a23d08e 100644
--- a/drivers/net/wireless/ti/cc33xx/acx.c
+++ b/drivers/net/wireless/ti/cc33xx/acx.c
@@ -5,30 +5,6 @@
#include "acx.h"
-int cc33xx_acx_clear_statistics(struct cc33xx *cc)
-{
- struct acx_header *acx;
- int ret = 0;
-
- cc33xx_debug(DEBUG_ACX, "acx clear statistics");
-
- acx = kzalloc(sizeof(*acx), GFP_KERNEL);
- if (!acx) {
- ret = -ENOMEM;
- goto out;
- }
-
- ret = cc33xx_cmd_configure(cc, ACX_CLEAR_STATISTICS, acx, sizeof(*acx));
- if (ret < 0) {
- cc33xx_warning("failed to clear firmware statistics: %d", ret);
- goto out;
- }
-
-out:
- kfree(acx);
- return ret;
-}
-
int cc33xx_acx_wake_up_conditions(struct cc33xx *cc, struct cc33xx_vif *wlvif,
u8 wake_up_event, u8 listen_interval)
{
@@ -431,23 +407,6 @@ int cc33xx_acx_cts_protect(struct cc33xx *cc, struct cc33xx_vif *wlvif,
return ret;
}
-int cc33xx_acx_statistics(struct cc33xx *cc, void *stats)
-{
- int ret;
-
- cc33xx_debug(DEBUG_ACX, "acx statistics");
-
- ret = cc33xx_cmd_interrogate(cc, ACX_STATISTICS, stats,
- sizeof(struct acx_header),
- sizeof(struct cc33xx_acx_statistics));
- if (ret < 0) {
- cc33xx_warning("acx statistics failed: %d", ret);
- return -ENOMEM;
- }
-
- return 0;
-}
-
int cc33xx_update_ap_rates(struct cc33xx *cc, u8 role_id,
u32 basic_rates_set, u32 supported_rates)
{
@@ -666,58 +625,6 @@ int cc33xx_acx_set_ba_receiver_session(struct cc33xx *cc, u8 tid_index, u16 ssn,
return ret;
}
-int cc33xx_acx_tsf_info(struct cc33xx *cc,
- struct cc33xx_vif *wlvif, u64 *mactime)
-{
- struct cc33xx_acx_fw_tsf_information *tsf_info;
- int ret = 0;
-
- tsf_info = kzalloc(sizeof(*tsf_info), GFP_KERNEL);
- if (!tsf_info) {
- ret = -ENOMEM;
- goto out;
- }
-
- tsf_info->role_id = wlvif->role_id;
-
- *mactime = le32_to_cpu(tsf_info->current_tsf_low) |
- ((u64)le32_to_cpu(tsf_info->current_tsf_high) << 32);
-
-out:
- kfree(tsf_info);
- return ret;
-}
-
-int cc33xx_acx_config_ps(struct cc33xx *cc, struct cc33xx_vif *wlvif)
-{
- struct cc33xx_acx_config_ps *config_ps;
- int ret;
-
- cc33xx_debug(DEBUG_ACX, "acx config ps");
-
- config_ps = kzalloc(sizeof(*config_ps), GFP_KERNEL);
- if (!config_ps) {
- ret = -ENOMEM;
- goto out;
- }
-
- config_ps->exit_retries = cc->conf.host_conf.conn.psm_exit_retries;
- config_ps->enter_retries = cc->conf.host_conf.conn.psm_entry_retries;
- config_ps->null_data_rate = cpu_to_le32(wlvif->basic_rate);
-
- ret = cc33xx_cmd_configure(cc, ACX_CONFIG_PS, config_ps,
- sizeof(*config_ps));
-
- if (ret < 0) {
- cc33xx_warning("acx config ps failed: %d", ret);
- goto out;
- }
-
-out:
- kfree(config_ps);
- return ret;
-}
-
int cc33xx_acx_average_rssi(struct cc33xx *cc,
struct cc33xx_vif *wlvif, s8 *avg_rssi)
{
diff --git a/drivers/net/wireless/ti/cc33xx/acx.h b/drivers/net/wireless/ti/cc33xx/acx.h
index f250758c3da5..b3cb675bed1f 100644
--- a/drivers/net/wireless/ti/cc33xx/acx.h
+++ b/drivers/net/wireless/ti/cc33xx/acx.h
@@ -398,15 +398,6 @@ struct cc33xx_acx_fw_tsf_information {
u8 padding2[3];
} __packed;
-struct cc33xx_acx_config_ps {
- struct acx_header header;
-
- u8 exit_retries;
- u8 enter_retries;
- u8 padding[2];
- __le32 null_data_rate;
-} __packed;
-
#define ACX_RATE_MGMT_ALL_PARAMS 0xff
struct acx_default_rx_filter {
@@ -527,12 +518,6 @@ enum interrogate_opt {
MAX_IE = 0xFFFF /*force enumeration to 16bits*/
};
-enum {
- ACX_STATISTICS = LAST_CFG_VALUE,
- ACX_CONFIG_PS,
- ACX_CLEAR_STATISTICS = 0x0054,
-};
-
struct cc33xx_acx_error_stats {
__le32 error_frame_non_ctrl;
__le32 error_frame_ctrl;
@@ -799,7 +784,6 @@ int cc33xx_acx_set_preamble(struct cc33xx *cc, struct cc33xx_vif *wlvif,
enum acx_preamble_type preamble);
int cc33xx_acx_cts_protect(struct cc33xx *cc, struct cc33xx_vif *wlvif,
enum acx_ctsprotect_type ctsprotect);
-int cc33xx_acx_statistics(struct cc33xx *cc, void *stats);
int cc33xx_tx_param_cfg(struct cc33xx *cc, struct cc33xx_vif *wlvif, u8 ac,
u8 cw_min, u16 cw_max, u8 aifsn, u16 txop, bool acm,
u8 ps_scheme, u8 is_mu_edca, u8 mu_edca_aifs,
@@ -813,9 +797,6 @@ int cc33xx_acx_set_ht_information(struct cc33xx *cc, struct cc33xx_vif *wlvif,
u16 he_oper_nss_set);
int cc33xx_acx_set_ba_receiver_session(struct cc33xx *cc, u8 tid_index, u16 ssn,
bool enable, u8 peer_hlid, u8 win_size);
-int cc33xx_acx_tsf_info(struct cc33xx *cc,
- struct cc33xx_vif *wlvif, u64 *mactime);
-int cc33xx_acx_config_ps(struct cc33xx *cc, struct cc33xx_vif *wlvif);
int cc33xx_acx_get_tx_rate(struct cc33xx *cc, struct cc33xx_vif *wlvif,
struct station_info *sinfo);
int cc33xx_acx_average_rssi(struct cc33xx *cc,
@@ -824,7 +805,6 @@ int cc33xx_acx_default_rx_filter_enable(struct cc33xx *cc, bool enable,
enum rx_filter_action action);
int cc33xx_acx_set_rx_filter(struct cc33xx *cc, u8 index, bool enable,
struct cc33xx_rx_filter *filter);
-int cc33xx_acx_clear_statistics(struct cc33xx *cc);
int cc33xx_acx_set_peer_cap(struct cc33xx *cc,
struct ieee80211_sta_ht_cap *ht_cap,
struct ieee80211_sta_he_cap *he_cap,
diff --git a/drivers/net/wireless/ti/cc33xx/boot.c b/drivers/net/wireless/ti/cc33xx/boot.c
index f734659f989c..f53b4ea9e7d0 100644
--- a/drivers/net/wireless/ti/cc33xx/boot.c
+++ b/drivers/net/wireless/ti/cc33xx/boot.c
@@ -130,6 +130,14 @@ static int wait_for_boot_irq(struct cc33xx *cc, u32 boot_irq_mask,
fw_download = cc->fw_download;
+ /**
+ * Hosts can miss boot-done signal after powerup or internal reset.
+ * Work around this by explicitly triggering IRQ handler which will
+ * check current device status after a safe delay.
+ */
+ msleep(10);
+ cc33xx_irq(cc);
+
ret = wait_for_completion_interruptible_timeout(&fw_download->wait_on_irq,
msecs_to_jiffies(timeout));
diff --git a/drivers/net/wireless/ti/cc33xx/cc33xx_i.h b/drivers/net/wireless/ti/cc33xx/cc33xx_i.h
index 9437f78b364f..be627f20668f 100644
--- a/drivers/net/wireless/ti/cc33xx/cc33xx_i.h
+++ b/drivers/net/wireless/ti/cc33xx/cc33xx_i.h
@@ -136,7 +136,6 @@ enum cc33xx_vif_flags {
WLVIF_FLAG_STA_AUTHORIZED,
WLVIF_FLAG_IBSS_JOINED,
WLVIF_FLAG_AP_STARTED,
- WLVIF_FLAG_IN_PS,
WLVIF_FLAG_STA_STATE_SENT,
WLVIF_FLAG_PSPOLL_FAILURE,
WLVIF_FLAG_CS_PROGRESS,
@@ -398,6 +397,8 @@ struct cc33xx_vif {
u8 persistent[];
};
+void cc33xx_irq(void *cookie);
+
static inline struct cc33xx_vif *cc33xx_vif_to_data(struct ieee80211_vif *vif)
{
WARN_ON(!vif);
diff --git a/drivers/net/wireless/ti/cc33xx/cmd.c b/drivers/net/wireless/ti/cc33xx/cmd.c
index 9654b3fe1810..7b41861bfaca 100644
--- a/drivers/net/wireless/ti/cc33xx/cmd.c
+++ b/drivers/net/wireless/ti/cc33xx/cmd.c
@@ -8,7 +8,7 @@
#include "io.h"
#include "tx.h"
-#define CC33XX_REBOOT_TIMEOUT_MSEC 100
+#define CC33XX_REBOOT_TIMEOUT_MSEC 250
static void init_cmd_header(struct cc33xx_cmd_header *header,
size_t cmd_len, u16 id)
@@ -327,6 +327,87 @@ int cc33xx_set_link(struct cc33xx *cc, struct cc33xx_vif *wlvif, u8 link)
return 0;
}
+static u8 cc33xx_check_is_dfs_channel(struct cc33xx *cc,
+ enum nl80211_band rate_band, u8 channel)
+{
+ struct ieee80211_supported_band *band;
+ u8 is_dfs = 0;
+
+ if (rate_band != NL80211_BAND_5GHZ) {
+ return is_dfs;
+ }
+
+ band = cc->hw->wiphy->bands[NL80211_BAND_5GHZ];
+
+ for (int i = 0; i < band->n_channels; i++) {
+ if (band->channels[i].hw_value == channel) {
+ is_dfs = !!(band->channels[i].flags & IEEE80211_CHAN_RADAR);
+ break;
+ }
+ }
+
+ return is_dfs;
+}
+
+static u8 cc33xx_get_sub_channel_type(u8 band, u8 channel, u8 band_width)
+{
+ if (band == NL80211_BAND_5GHZ) {
+ switch (channel) {
+ case 36:
+ case 52:
+ case 100:
+ case 116:
+ case 132:
+ case 149:
+ case 165:
+ return 0;
+ case 40:
+ case 56:
+ case 104:
+ case 120:
+ case 136:
+ case 153:
+ case 169:
+ return 1;
+ case 44:
+ case 60:
+ case 108:
+ case 124:
+ case 140:
+ case 157:
+ case 173:
+ return 2;
+ case 48:
+ case 64:
+ case 112:
+ case 128:
+ case 144:
+ case 161:
+ case 177:
+ return 3;
+ default:
+ return 0xff;
+ }
+ }
+
+ if (band == NL80211_BAND_2GHZ) {
+ switch (channel) {
+ case 9:
+ case 5:
+ return 0;
+ case 1:
+ return 0;
+ case 13:
+ return 1;
+ default:
+ return 0;
+ }
+ }
+
+ return 0xff;
+}
+
+
void cc33xx_clear_link(struct cc33xx *cc, struct cc33xx_vif *wlvif, u8 *hlid)
{
unsigned long flags;
@@ -615,6 +696,7 @@ int cc33xx_cmd_role_start_sta(struct cc33xx *cc, struct cc33xx_vif *wlvif)
cmd->role_id = wlvif->role_id;
cmd->role_type = CC33XX_ROLE_STA;
cmd->channel = wlvif->channel;
+ cmd->is_dfs_channel = cc33xx_check_is_dfs_channel(cc, wlvif->band, cmd->channel);
if (wlvif->band == NL80211_BAND_5GHZ) {
cmd->band = CC33XX_BAND_5GHZ;
cmd->sta.basic_rate_set = cpu_to_le32(wlvif->basic_rate_set
@@ -635,9 +717,8 @@ int cc33xx_cmd_role_start_sta(struct cc33xx *cc, struct cc33xx_vif *wlvif)
if (wlvif->p2p)
supported_rates &= ~CONF_TX_CCK_RATES;
- cmd->sta.local_rates = cpu_to_le32(supported_rates);
-
- cmd->channel_type = cc33xx_get_native_channel_type(wlvif->channel_type);
+ cmd->sta.local_rates = cpu_to_le32(supported_rates);
+ cmd->channel_type = cc33xx_get_sub_channel_type(cmd->band, cmd->channel, 0);
/* We don't have the correct remote rates in this stage. The
* rates will be reconfigured later, after association, if the
@@ -747,6 +828,7 @@ int cc33xx_cmd_role_start_ap(struct cc33xx *cc, struct cc33xx_vif *wlvif)
cmd->ap.wmm = wlvif->wmm_enabled;
cmd->channel = wlvif->channel;
cmd->channel_type = cc33xx_get_native_channel_type(wlvif->channel_type);
+ cmd->is_dfs_channel = cc33xx_check_is_dfs_channel(cc, wlvif->band, cmd->channel);
supported_rates = CONF_TX_ENABLED_RATES | CONF_TX_MCS_RATES;
if (wlvif->p2p)
@@ -1443,12 +1525,12 @@ static int cc33xx_get_reg_conf_ch_idx(enum nl80211_band band, u16 ch)
case 52 ... 64:
/* channels 52,56..64 are mapped to 29..32 */
return 29 + (ch - 52) / 4;
- case 100 ... 140:
- /* channels 100,104..140 are mapped to 33..43 */
+ case 100 ... 144:
+ /* channels 100,104..144 are mapped to 33..44 */
return 33 + (ch - 100) / 4;
- case 149 ... 165:
- /* channels 149,153..165 are mapped to 44..48 */
- return 44 + (ch - 149) / 4;
+ case 149 ... 169:
+ /* channels 149,153..169 are mapped to 45..50 */
+ return 45 + (ch - 149) / 4;
default:
break;
}
diff --git a/drivers/net/wireless/ti/cc33xx/cmd.h b/drivers/net/wireless/ti/cc33xx/cmd.h
index f6e4877cf7b4..e819a92a2122 100644
--- a/drivers/net/wireless/ti/cc33xx/cmd.h
+++ b/drivers/net/wireless/ti/cc33xx/cmd.h
@@ -137,12 +137,12 @@ enum cc33xx_cmd {
CMD_DOWNLOAD_INI_PARAMS = 37,
CMD_SET_BD_ADDR = 38,
CMD_BLE_COMMANDS = 39,
+ CMD_SET_PS_MODE = 40,
CMD_LAST_SUPPORTED_COMMAND,
/* The following commands are legacy and are not yet supported */
- CMD_SET_PS_MODE,
CMD_DFS_CHANNEL_CONFIG,
CMD_CONFIG_FWLOGGER,
CMD_START_FWLOGGER,
@@ -258,7 +258,7 @@ struct cc33xx_cmd_role_start {
u8 role_type;
u8 band;
u8 channel;
-
+ u8 is_dfs_channel;
u8 channel_type;
union {
@@ -316,7 +316,7 @@ struct cc33xx_cmd_role_start {
u8 padding_1[42];
} __packed ap;
};
- u8 padding;
+ u8 padding[4];
} __packed;
struct cc33xx_cmd_complete_role_start {
@@ -640,8 +640,8 @@ struct cmd_channel_switch {
u8 channel_type;
u8 band;
-
- u8 padding[2];
+ u8 is_dfs_channel;
+ u8 padding;
} __packed;
struct cmd_set_bd_addr {
diff --git a/drivers/net/wireless/ti/cc33xx/conf.h b/drivers/net/wireless/ti/cc33xx/conf.h
index d3881aadeade..f3f7701f8a1c 100644
--- a/drivers/net/wireless/ti/cc33xx/conf.h
+++ b/drivers/net/wireless/ti/cc33xx/conf.h
@@ -13,10 +13,12 @@ struct cc33xx_conf_header {
} __packed;
#define CC33XX_CONF_MAGIC 0x10e100ca
-#define CC33XX_CONF_VERSION 0x01070069
+#define CC33XX_CONF_VERSION 0x010700bc
#define CC33XX_CONF_MASK 0x0000ffff
#define CC33X_CONF_SIZE (sizeof(struct cc33xx_conf_file))
+#define CONF_HW_RXTX_RATE_UNSUPPORTED 0xff
+
enum {
CONF_HW_BIT_RATE_1MBPS = BIT(1),
CONF_HW_BIT_RATE_2MBPS = BIT(2),
@@ -82,11 +84,25 @@ enum {
CONF_PREAMBLE_TYPE_INVALID = 0xFF
};
-#define CONF_HW_RXTX_RATE_UNSUPPORTED 0xff
+enum {
+ CONF_PS_SCHEME_LEGACY = 0,
+ CONF_PS_SCHEME_UPSD_TRIGGER = 1,
+ CONF_PS_SCHEME_LEGACY_PSPOLL = 2,
+ CONF_PS_SCHEME_SAPSD = 3,
+};
-enum conf_rx_queue_type {
- CONF_RX_QUEUE_TYPE_LOW_PRIORITY, /* All except the high priority */
- CONF_RX_QUEUE_TYPE_HIGH_PRIORITY, /* Management and voice packets */
+enum {
+ CONF_TX_AC_BE = 0,
+ CONF_TX_AC_BK = 1,
+ CONF_TX_AC_VI = 2,
+ CONF_TX_AC_VO = 3,
+ CONF_TX_AC_CTS2SELF = 4,
+ CONF_TX_AC_ANY_TID = 0xff
+};
+
+enum {
+ CONF_BCN_FILT_MODE_DISABLED = 0,
+ CONF_BCN_FILT_MODE_ENABLED = 1
};
struct cc33xx_clk_cfg {
@@ -97,204 +113,8 @@ struct cc33xx_clk_cfg {
u8 swallow;
};
-struct conf_rx_settings {
- /* The maximum amount of time, in TU, before the
- * firmware discards the MSDU.
- *
- * Range: 0 - 0xFFFFFFFF
- */
- u32 rx_msdu_life_time;
-
- /* Packet detection threshold in the PHY.
- *
- * FIXME: details unknown.
- */
- u32 packet_detection_threshold;
-
- /* The longest time the STA will wait to receive traffic from the AP
- * after a PS-poll has been transmitted.
- *
- * Range: 0 - 200000
- */
- u16 ps_poll_timeout;
- /* The longest time the STA will wait to receive traffic from the AP
- * after a frame has been sent from an UPSD enabled queue.
- *
- * Range: 0 - 200000
- */
- u16 upsd_timeout;
-
- /* The number of octets in an MPDU, below which an RTS/CTS
- * handshake is not performed.
- *
- * Range: 0 - 4096
- */
- u16 rts_threshold;
-
- /* The RX Clear Channel Assessment threshold in the PHY
- * (the energy threshold).
- *
- * Range: ENABLE_ENERGY_D == 0x140A
- * DISABLE_ENERGY_D == 0xFFEF
- */
- u16 rx_cca_threshold;
-
- /* Occupied Rx mem-blocks number which requires interrupting the host
- * (0 = no buffering, 0xffff = disabled).
- *
- * Range: uint16_t
- */
- u16 irq_blk_threshold;
-
- /* Rx packets number which requires interrupting the host
- * (0 = no buffering).
- *
- * Range: uint16_t
- */
- u16 irq_pkt_threshold;
-
- /* Max time in msec the FW may delay RX-Complete interrupt.
- *
- * Range: 1 - 100
- */
- u16 irq_timeout;
-
- /* The RX queue type.
- *
- * Range: RX_QUEUE_TYPE_RX_LOW_PRIORITY, RX_QUEUE_TYPE_RX_HIGH_PRIORITY,
- */
- u8 queue_type;
-} __packed;
-
-#define CONF_TX_MAX_RATE_CLASSES 10
-
-#define CONF_TX_RATE_MASK_UNSPECIFIED 0
-#define CONF_TX_RATE_MASK_BASIC (CONF_HW_BIT_RATE_1MBPS | \
- CONF_HW_BIT_RATE_2MBPS)
-#define CONF_TX_RATE_RETRY_LIMIT 10
-
-/* basic rates for p2p operations (probe req/resp, etc.) */
-#define CONF_TX_RATE_MASK_BASIC_P2P CONF_HW_BIT_RATE_6MBPS
-
-/* Rates supported for data packets when operating as STA/AP. Note the absence
- * of the 22Mbps rate. There is a FW limitation on 12 rates so we must drop
- * one. The rate dropped is not mandatory under any operating mode.
- */
-#define CONF_TX_ENABLED_RATES (CONF_HW_BIT_RATE_1MBPS | \
- CONF_HW_BIT_RATE_2MBPS | CONF_HW_BIT_RATE_5_5MBPS | \
- CONF_HW_BIT_RATE_6MBPS | CONF_HW_BIT_RATE_9MBPS | \
- CONF_HW_BIT_RATE_11MBPS | CONF_HW_BIT_RATE_12MBPS | \
- CONF_HW_BIT_RATE_18MBPS | CONF_HW_BIT_RATE_24MBPS | \
- CONF_HW_BIT_RATE_36MBPS | CONF_HW_BIT_RATE_48MBPS | \
- CONF_HW_BIT_RATE_54MBPS)
-
-#define CONF_TX_CCK_RATES (CONF_HW_BIT_RATE_1MBPS | \
- CONF_HW_BIT_RATE_2MBPS | CONF_HW_BIT_RATE_5_5MBPS | \
- CONF_HW_BIT_RATE_11MBPS)
-
-#define CONF_TX_OFDM_RATES (CONF_HW_BIT_RATE_6MBPS | \
- CONF_HW_BIT_RATE_12MBPS | CONF_HW_BIT_RATE_24MBPS | \
- CONF_HW_BIT_RATE_36MBPS | CONF_HW_BIT_RATE_48MBPS | \
- CONF_HW_BIT_RATE_54MBPS)
-
-#define CONF_TX_MCS_RATES (CONF_HW_BIT_RATE_MCS_0 | \
- CONF_HW_BIT_RATE_MCS_1 | CONF_HW_BIT_RATE_MCS_2 | \
- CONF_HW_BIT_RATE_MCS_3 | CONF_HW_BIT_RATE_MCS_4 | \
- CONF_HW_BIT_RATE_MCS_5 | CONF_HW_BIT_RATE_MCS_6 | \
- CONF_HW_BIT_RATE_MCS_7)
-
-/* Default rates for management traffic when operating in AP mode. This
- * should be configured according to the basic rate set of the AP
- */
-#define CONF_TX_AP_DEFAULT_MGMT_RATES (CONF_HW_BIT_RATE_1MBPS | \
- CONF_HW_BIT_RATE_2MBPS | CONF_HW_BIT_RATE_5_5MBPS)
-
-/* default rates for working as IBSS (11b and OFDM) */
-#define CONF_TX_IBSS_DEFAULT_RATES (CONF_HW_BIT_RATE_1MBPS | \
- CONF_HW_BIT_RATE_2MBPS | CONF_HW_BIT_RATE_5_5MBPS | \
- CONF_HW_BIT_RATE_11MBPS | CONF_TX_OFDM_RATES)
-
-struct conf_tx_rate_class {
- /* The rates enabled for this rate class.
- *
- * Range: CONF_HW_BIT_RATE_* bit mask
- */
- u32 enabled_rates;
-
- /* The dot11 short retry limit used for TX retries.
- *
- * Range: uint8_t
- */
- u8 short_retry_limit;
-
- /* The dot11 long retry limit used for TX retries.
- *
- * Range: uint8_t
- */
- u8 long_retry_limit;
-
- /* Flags controlling the attributes of TX transmission.
- *
- * Range: bit 0: Truncate - when set, FW attempts to send a frame stop
- * when the total valid per-rate attempts have
- * been exhausted; otherwise transmissions
- * will continue at the lowest available rate
- * until the appropriate one of the
- * short_retry_limit, long_retry_limit,
- * dot11_max_transmit_msdu_life_time, or
- * max_tx_life_time, is exhausted.
- * 1: Preamble Override - indicates if the preamble type
- * should be used in TX.
- * 2: Preamble Type - the type of the preamble to be used by
- * the policy (0 - long preamble, 1 - short preamble.
- */
- u8 aflags;
-} __packed;
-
#define CONF_TX_MAX_AC_COUNT 4
-/* Slot number setting to start transmission at PIFS interval */
-#define CONF_TX_AIFS_PIFS 1
-/* Slot number setting to start transmission at DIFS interval normal
- * DCF access
- */
-#define CONF_TX_AIFS_DIFS 2
-
-enum conf_tx_ac {
- CONF_TX_AC_BE = 0, /* best effort / legacy */
- CONF_TX_AC_BK = 1, /* background */
- CONF_TX_AC_VI = 2, /* video */
- CONF_TX_AC_VO = 3, /* voice */
- CONF_TX_AC_CTS2SELF = 4, /* fictitious AC, follows AC_VO */
- CONF_TX_AC_ANY_TID = 0xff
-};
-
-struct conf_sig_weights {
- /* RSSI from beacons average weight.
- *
- * Range: uint8_t
- */
- u8 rssi_bcn_avg_weight;
-
- /* RSSI from data average weight.
- *
- * Range: uint8_t
- */
- u8 rssi_pkt_avg_weight;
-
- /* SNR from beacons average weight.
- *
- * Range: uint8_t
- */
- u8 snr_bcn_avg_weight;
-
- /* SNR from data average weight.
- *
- * Range: uint8_t
- */
- u8 snr_pkt_avg_weight;
-} __packed;
-
struct conf_tx_ac_category {
/* The AC class identifier.
*
@@ -355,51 +175,44 @@ struct conf_tx_ac_category {
u8 mu_edca_timer;
} __packed;
-#define CONF_TX_MAX_TID_COUNT 8
+struct conf_tx_tid {
+ u8 channel_type;
+ u8 ps_scheme;
+} __packed;
-/* Allow TX BA on all TIDs but 6,7. These are currently reserved in the FW */
-#define CONF_TX_BA_ENABLED_TID_BITMAP 0x3F
+#define CONF_TX_RATE_MASK_BASIC (CONF_HW_BIT_RATE_1MBPS | CONF_HW_BIT_RATE_2MBPS)
-enum {
- CONF_CHANNEL_TYPE_DCF = 0, /* DC/LEGACY*/
- CONF_CHANNEL_TYPE_EDCF = 1, /* EDCA*/
- CONF_CHANNEL_TYPE_HCCA = 2, /* HCCA*/
-};
+#define CONF_TX_ENABLED_RATES (CONF_HW_BIT_RATE_1MBPS | \
+ CONF_HW_BIT_RATE_2MBPS | CONF_HW_BIT_RATE_5_5MBPS | \
+ CONF_HW_BIT_RATE_6MBPS | CONF_HW_BIT_RATE_9MBPS | \
+ CONF_HW_BIT_RATE_11MBPS | CONF_HW_BIT_RATE_12MBPS | \
+ CONF_HW_BIT_RATE_18MBPS | CONF_HW_BIT_RATE_24MBPS | \
+ CONF_HW_BIT_RATE_36MBPS | CONF_HW_BIT_RATE_48MBPS | \
+ CONF_HW_BIT_RATE_54MBPS)
-enum {
- CONF_PS_SCHEME_LEGACY = 0,
- CONF_PS_SCHEME_UPSD_TRIGGER = 1,
- CONF_PS_SCHEME_LEGACY_PSPOLL = 2,
- CONF_PS_SCHEME_SAPSD = 3,
-};
+#define CONF_TX_MCS_RATES (CONF_HW_BIT_RATE_MCS_0 | \
+ CONF_HW_BIT_RATE_MCS_1 | CONF_HW_BIT_RATE_MCS_2 | \
+ CONF_HW_BIT_RATE_MCS_3 | CONF_HW_BIT_RATE_MCS_4 | \
+ CONF_HW_BIT_RATE_MCS_5 | CONF_HW_BIT_RATE_MCS_6 | \
+ CONF_HW_BIT_RATE_MCS_7)
-enum {
- CONF_ACK_POLICY_LEGACY = 0,
- CONF_ACK_POLICY_NO_ACK = 1,
- CONF_ACK_POLICY_BLOCK = 2,
-};
+#define CONF_TX_IBSS_DEFAULT_RATES (CONF_HW_BIT_RATE_1MBPS | \
+ CONF_HW_BIT_RATE_2MBPS | CONF_HW_BIT_RATE_5_5MBPS | \
+ CONF_HW_BIT_RATE_11MBPS | CONF_TX_OFDM_RATES)
-struct conf_tx_tid {
- u8 queue_id;
- u8 channel_type;
- u8 tsid;
- u8 ps_scheme;
- u8 ack_policy;
- u32 apsd_conf[2];
-} __packed;
+#define CONF_TX_CCK_RATES (CONF_HW_BIT_RATE_1MBPS | \
+ CONF_HW_BIT_RATE_2MBPS | CONF_HW_BIT_RATE_5_5MBPS | \
+ CONF_HW_BIT_RATE_11MBPS)
-struct conf_tx_settings {
- /* The TX ED value for TELEC Enable/Disable.
- *
- * Range: 0, 1
- */
- u8 tx_energy_detection;
+#define CONF_TX_OFDM_RATES (CONF_HW_BIT_RATE_6MBPS | \
+ CONF_HW_BIT_RATE_12MBPS | CONF_HW_BIT_RATE_24MBPS | \
+ CONF_HW_BIT_RATE_36MBPS | CONF_HW_BIT_RATE_48MBPS | \
+ CONF_HW_BIT_RATE_54MBPS)
- /* Configuration for rate classes for TX (currently only one
- * rate class supported). Used in non-AP mode.
- */
- struct conf_tx_rate_class sta_rc_conf;
+#define CONF_BCN_IE_OUI_LEN 3
+#define CONF_BCN_IE_VER_LEN 2
+struct conf_tx_settings {
/* Configuration for access categories for TX rate control.
*/
u8 ac_conf_count;
@@ -416,11 +229,6 @@ struct conf_tx_settings {
*/
u8 max_tx_retries;
- /* AP-mode - after this number of seconds a connected station is
- * considered inactive.
- */
- u16 ap_aging_period;
-
/* Configuration for TID parameters.
*/
u8 tid_conf_count;
@@ -434,25 +242,12 @@ struct conf_tx_settings {
struct conf_tx_tid tid_conf6;
struct conf_tx_tid tid_conf7;
- /* The TX fragmentation threshold.
- *
- * Range: uint16_t
- */
- u16 frag_threshold;
-
/* Max time in msec the FW may delay frame TX-Complete interrupt.
*
* Range: uint16_t
*/
u16 tx_compl_timeout;
- /* Completed TX packet count which requires to issue the TX-Complete
- * interrupt.
- *
- * Range: uint16_t
- */
- u16 tx_compl_threshold;
-
/* The rate used for control messages and scanning on the 2.4GHz band
*
* Range: CONF_HW_BIT_RATE_* bit mask
@@ -465,43 +260,12 @@ struct conf_tx_settings {
*/
u32 basic_rate_5;
- /* TX retry limits for templates
- */
- u8 tmpl_short_retry_limit;
- u8 tmpl_long_retry_limit;
-
/* Time in ms for Tx watchdog timer to expire */
u32 tx_watchdog_timeout;
-
- /* when a slow link has this much packets pending, it becomes a low
- * priority link, scheduling-wise
- */
- u8 slow_link_thold;
-
- /* when a fast link has this much packets pending, it becomes a low
- * priority link, scheduling-wise
- */
- u8 fast_link_thold;
} __packed;
-enum {
- CONF_WAKE_UP_EVENT_BEACON = 0x00, /* Wake on every Beacon */
- CONF_WAKE_UP_EVENT_DTIM = 0x01, /* Wake on every DTIM */
- CONF_WAKE_UP_EVENT_N_DTIM = 0x02, /* Wake every Nth DTIM */
- CONF_WAKE_UP_EVENT_LIMIT = CONF_WAKE_UP_EVENT_N_DTIM,
- /* Not supported: */
- CONF_WAKE_UP_EVENT_N_BEACONS = 0x03, /* Wake every Nth beacon */
- CONF_WAKE_UP_EVENT_BITS_MASK = 0x0F
-};
-
#define CONF_MAX_BCN_FILT_IE_COUNT 32
-#define CONF_BCN_RULE_PASS_ON_CHANGE BIT(0)
-#define CONF_BCN_RULE_PASS_ON_APPEARANCE BIT(1)
-
-#define CONF_BCN_IE_OUI_LEN 3
-#define CONF_BCN_IE_VER_LEN 2
-
struct conf_bcn_filt_rule {
/* IE number to which to associate a rule.
*
@@ -528,16 +292,6 @@ struct conf_bcn_filt_rule {
u8 version[2];
} __packed;
-enum conf_bcn_filt_mode {
- CONF_BCN_FILT_MODE_DISABLED = 0,
- CONF_BCN_FILT_MODE_ENABLED = 1
-};
-
-enum conf_bet_mode {
- CONF_BET_MODE_DISABLE = 0,
- CONF_BET_MODE_ENABLE = 1,
-};
-
struct conf_conn_settings {
/* Enable or disable the beacon filtering.
*
@@ -598,88 +352,11 @@ struct conf_conn_settings {
*/
u32 bss_lose_timeout;
- /* Beacon receive timeout.
- *
- * Range: uint32_t
- */
- u32 beacon_rx_timeout;
-
- /* Broadcast receive timeout.
- *
- * Range: uint32_t
- */
- u32 broadcast_timeout;
-
- /* Enable/disable reception of broadcast packets in power save mode
- *
- * Range: 1 - enable, 0 - disable
- */
- u8 rx_broadcast_in_ps;
-
- /* Consecutive PS Poll failures before sending event to driver
- *
- * Range: uint8_t
- */
- u8 ps_poll_threshold;
-
- /* Configuration of signal average weights.
- */
- struct conf_sig_weights sig_weights;
-
- /* Specifies if beacon early termination procedure is enabled or
- * disabled.
- *
- * Range: CONF_BET_MODE_*
- */
- u8 bet_enable;
-
- /* Specifies the maximum number of consecutive beacons that may be
- * early terminated. After this number is reached at least one full
- * beacon must be correctly received in FW before beacon ET
- * resumes.
- *
- * Range 0 - 255
- */
- u8 bet_max_consecutive;
-
- /* Specifies the maximum number of times to try PSM entry if it fails
- * (if sending the appropriate null-func message fails.)
- *
- * Range 0 - 255
- */
- u8 psm_entry_retries;
-
- /* Specifies the maximum number of times to try PSM exit if it fails
- * (if sending the appropriate null-func message fails.)
- *
- * Range 0 - 255
- */
- u8 psm_exit_retries;
-
- /* Specifies the maximum number of times to try transmit the PSM entry
- * null-func frame for each PSM entry attempt
- *
- * Range 0 - 255
- */
- u8 psm_entry_nullfunc_retries;
-
/* Specifies the dynamic PS timeout in ms that will be used
* by the FW when in AUTO_PS mode
*/
u16 dynamic_ps_timeout;
- /* Specifies whether dynamic PS should be disabled and PSM forced.
- * This is required for certain WiFi certification tests.
- */
- u8 forced_ps;
-
- /* Specifies the interval of the connection keep-alive null-func
- * frame in ms.
- *
- * Range: 1000 - 3600000
- */
- u32 keep_alive_interval;
-
/* Maximum listen interval supported by the driver in units of beacons.
*
* Range: uint16_t
@@ -696,65 +373,6 @@ struct conf_conn_settings {
u8 suspend_rx_ba_activity;
} __packed;
-struct conf_itrim_settings {
- /* enable dco itrim */
- u8 enable;
-
- /* moderation timeout in microsecs from the last TX */
- u32 timeout;
-} __packed;
-
-enum conf_fast_wakeup {
- CONF_FAST_WAKEUP_ENABLE,
- CONF_FAST_WAKEUP_DISABLE,
-};
-
-struct conf_pm_config_settings {
- /* Host clock settling time
- *
- * Range: 0 - 30000 us
- */
- u32 host_clk_settling_time;
-
- /* Host fast wakeup support
- *
- * Range: enum conf_fast_wakeup
- */
- u8 host_fast_wakeup_support;
-} __packed;
-
-struct conf_roam_trigger_settings {
- /* The minimum interval between two trigger events.
- *
- * Range: 0 - 60000 ms
- */
- u16 trigger_pacing;
-
- /* The weight for rssi/beacon average calculation
- *
- * Range: 0 - 255
- */
- u8 avg_weight_rssi_beacon;
-
- /* The weight for rssi/data frame average calculation
- *
- * Range: 0 - 255
- */
- u8 avg_weight_rssi_data;
-
- /* The weight for snr/beacon average calculation
- *
- * Range: 0 - 255
- */
- u8 avg_weight_snr_beacon;
-
- /* The weight for snr/data frame average calculation
- *
- * Range: 0 - 255
- */
- u8 avg_weight_snr_data;
-} __packed;
-
struct conf_scan_settings {
/* The minimum time to wait on each channel for active scans
* This value will be used whenever there's a connected interface.
@@ -858,78 +476,11 @@ struct conf_sched_scan_settings {
struct conf_ht_setting {
u8 rx_ba_win_size;
- u8 tx_ba_win_size;
- u16 inactivity_timeout;
-
- /* bitmap of enabled TIDs for TX BA sessions */
- u8 tx_ba_tid_bitmap;
/* DEFAULT / WIDE / SISO20 */
u8 mode;
} __packed;
-struct conf_memory_settings {
- /* Number of stations supported in IBSS mode */
- u8 num_stations;
-
- /* Number of ssid profiles used in IBSS mode */
- u8 ssid_profiles;
-
- /* Number of memory buffers allocated to rx pool */
- u8 rx_block_num;
-
- /* Minimum number of blocks allocated to tx pool */
- u8 tx_min_block_num;
-
- /* Disable/Enable dynamic memory */
- u8 dynamic_memory;
-
- /* Minimum required free tx memory blocks in order to assure optimum
- * performance
- *
- * Range: 0-120
- */
- u8 min_req_tx_blocks;
-
- /* Minimum required free rx memory blocks in order to assure optimum
- * performance
- *
- * Range: 0-120
- */
- u8 min_req_rx_blocks;
-
- /* Minimum number of mem blocks (free+used) guaranteed for TX
- *
- * Range: 0-120
- */
- u8 tx_min;
-} __packed;
-
-struct conf_rx_streaming_settings {
- /* RX Streaming duration (in msec) from last tx/rx
- *
- * Range: uint32_t
- */
- u32 duration;
-
- /* Bitmap of tids to be polled during RX streaming.
- * (Note: it doesn't look like it really matters)
- *
- * Range: 0x1-0xff
- */
- u8 queues;
-
- /* RX Streaming interval.
- * (Note:this value is also used as the rx streaming timeout)
- * Range: 0 (disabled), 10 - 100
- */
- u8 interval;
-
- /* enable rx streaming also when there is no coex activity
- */
- u8 always;
-} __packed;
-
struct conf_fwlog {
/* Continuous or on-demand */
u8 mode;
@@ -953,53 +504,6 @@ struct conf_fwlog {
u8 threshold;
} __packed;
-#define ACX_RATE_MGMT_NUM_OF_RATES 13
-struct conf_rate_policy_settings {
- u16 rate_retry_score;
- u16 per_add;
- u16 per_th1;
- u16 per_th2;
- u16 max_per;
- u8 inverse_curiosity_factor;
- u8 tx_fail_low_th;
- u8 tx_fail_high_th;
- u8 per_alpha_shift;
- u8 per_add_shift;
- u8 per_beta1_shift;
- u8 per_beta2_shift;
- u8 rate_check_up;
- u8 rate_check_down;
- u8 rate_retry_policy[13];
-} __packed;
-
-struct conf_hangover_settings {
- u32 recover_time;
- u8 hangover_period;
- u8 dynamic_mode;
- u8 early_termination_mode;
- u8 max_period;
- u8 min_period;
- u8 increase_delta;
- u8 decrease_delta;
- u8 quiet_time;
- u8 increase_time;
- u8 window_size;
-} __packed;
-
-enum {
- CLOCK_CONFIG_16_2_M = 1,
- CLOCK_CONFIG_16_368_M,
- CLOCK_CONFIG_16_8_M,
- CLOCK_CONFIG_19_2_M,
- CLOCK_CONFIG_26_M,
- CLOCK_CONFIG_32_736_M,
- CLOCK_CONFIG_33_6_M,
- CLOCK_CONFIG_38_468_M,
- CLOCK_CONFIG_52_M,
-
- NUM_CLOCK_CONFIGS,
-};
-
enum cc33xx_ht_mode {
/* Default - use MIMO, fallback to SISO20 */
HT_MODE_DEFAULT = 0,
@@ -1011,37 +515,6 @@ enum cc33xx_ht_mode {
HT_MODE_SISO20 = 2,
};
-struct conf_ap_sleep_settings {
- /* Duty Cycle (20-80% of staying Awake) for IDLE AP
- * (0: disable)
- */
- u8 idle_duty_cycle;
- /* Duty Cycle (20-80% of staying Awake) for Connected AP
- * (0: disable)
- */
- u8 connected_duty_cycle;
- /* Maximum stations that are allowed to be connected to AP
- * (255: no limit)
- */
- u8 max_stations_thresh;
- /* Timeout till enabling the Sleep Mechanism after data stops
- * [unit: 100 msec]
- */
- u8 idle_conn_thresh;
-} __packed;
-
-#define CHANNELS_COUNT 39 /* 14 2.4GHz channels, 25 5GHz channels*/
-#define PER_CHANNEL_REG_RULE_BYTES 13
-#define REG_RULES_COUNT (CHANNELS_COUNT * PER_CHANNEL_REG_RULE_BYTES) /* 507 */
-
-/* TX Power limitation for a channel, used for reg domain */
-struct conf_channel_power_limit {
- u32 reg_lim_0;
- u32 reg_lim_1;
- u32 reg_lim_2;
- u8 reg_lim_3;
-} __packed;
-
struct conf_coex_configuration {
/* Work without Coex HW
*
@@ -1178,7 +651,7 @@ struct cc33xx_core_conf {
u8 wake_up_event;
u8 suspend_listen_interval;
u8 suspend_wake_up_event;
- u8 per_channel_power_limit[507];
+ u8 per_channel_power_limit[520];
u32 internal_slowclk_wakeup_earlier;
u32 internal_slowclk_open_window_longer;
u32 external_slowclk_wakeup_earlier;
@@ -1195,6 +668,7 @@ struct cc33xx_core_conf {
} __packed;
struct cc33xx_mac_conf {
+ u8 ps_mode;
u8 ps_scheme;
u8 he_enable;
u8 ap_max_num_stations;
@@ -1217,21 +691,12 @@ struct cc33xx_phy_conf {
} __packed;
struct cc33xx_host_conf {
- struct conf_rx_settings rx;
struct conf_tx_settings tx;
struct conf_conn_settings conn;
- struct conf_itrim_settings itrim;
- struct conf_pm_config_settings pm_config;
- struct conf_roam_trigger_settings roam_trigger;
struct conf_scan_settings scan;
struct conf_sched_scan_settings sched_scan;
struct conf_ht_setting ht;
- struct conf_memory_settings mem;
- struct conf_rx_streaming_settings rx_streaming;
struct conf_fwlog fwlog;
- struct conf_rate_policy_settings rate;
- struct conf_hangover_settings hangover;
- struct conf_ap_sleep_settings ap_sleep;
} __packed;
diff --git a/drivers/net/wireless/ti/cc33xx/io.c b/drivers/net/wireless/ti/cc33xx/io.c
index c8759b63ac2d..e0f5dd2cb78a 100644
--- a/drivers/net/wireless/ti/cc33xx/io.c
+++ b/drivers/net/wireless/ti/cc33xx/io.c
@@ -26,14 +26,9 @@ void cc33xx_disable_interrupts_nosync(struct cc33xx *cc)
cc->if_ops->disable_irq(cc->dev);
}
-void cc33xx_irq(void *cookie);
void cc33xx_enable_interrupts(struct cc33xx *cc)
{
cc->if_ops->enable_irq(cc->dev);
-
- cc33xx_debug(DEBUG_CC33xx, "IBI_WA: Read core status");
- cc33xx_irq(cc);
- cc33xx_debug(DEBUG_CC33xx, "IBI_WA: Core status processed");
}
void cc33xx_io_reset(struct cc33xx *cc)
diff --git a/drivers/net/wireless/ti/cc33xx/main.c b/drivers/net/wireless/ti/cc33xx/main.c
index 4c271221a14b..52554e0adb1f 100644
--- a/drivers/net/wireless/ti/cc33xx/main.c
+++ b/drivers/net/wireless/ti/cc33xx/main.c
@@ -302,7 +302,8 @@ static struct ieee80211_sband_iftype_data iftype_data_2ghz[] = {{
IEEE80211_HE_PHY_CAP9_NON_TRIGGERED_CQI_FEEDBACK |
IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_COMP_SIGB |
IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_NON_COMP_SIGB |
- IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_16US,
+ (IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_16US <<
+ IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_POS),
},
/* Set default Tx/Rx HE MCS NSS Support field.
* Indicate support for up to 2 spatial streams and all
@@ -382,6 +383,7 @@ static struct ieee80211_channel cc33xx_channels_5ghz[] = {
{ .hw_value = 132, .center_freq = 5660, .max_power = CC33XX_MAX_TXPWR },
{ .hw_value = 136, .center_freq = 5680, .max_power = CC33XX_MAX_TXPWR },
{ .hw_value = 140, .center_freq = 5700, .max_power = CC33XX_MAX_TXPWR },
+ { .hw_value = 144, .center_freq = 5720, .max_power = CC33XX_MAX_TXPWR },
{ .hw_value = 149, .center_freq = 5745, .max_power = CC33XX_MAX_TXPWR },
{ .hw_value = 153, .center_freq = 5765, .max_power = CC33XX_MAX_TXPWR },
{ .hw_value = 157, .center_freq = 5785, .max_power = CC33XX_MAX_TXPWR },
@@ -449,7 +451,8 @@ static struct ieee80211_sband_iftype_data iftype_data_5ghz[] = {{
IEEE80211_HE_PHY_CAP9_NON_TRIGGERED_CQI_FEEDBACK |
IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_COMP_SIGB |
IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_NON_COMP_SIGB |
- IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_16US,
+ (IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_16US <<
+ IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_POS),
},
/* Set default Tx/Rx HE MCS NSS Support field.
* Indicate support for up to 2 spatial streams and all
@@ -2335,11 +2338,6 @@ static int cc33xx_op_add_interface(struct ieee80211_hw *hw,
&wlvif->dev_role_id);
if (ret < 0)
goto out;
-
- /* needed mainly for configuring rate policies */
- ret = cc33xx_acx_config_ps(cc, wlvif);
- if (ret < 0)
- goto out;
}
list_add(&wlvif->list, &cc->wlvif_list);
@@ -3052,6 +3050,7 @@ static int cc33xx_set_key(struct cc33xx *cc, enum set_key_cmd cmd,
case WLAN_CIPHER_SUITE_TKIP:
key_type = KEY_TKIP;
key_conf->hw_key_idx = key_conf->keyidx;
+ key_conf->flags |= IEEE80211_KEY_FLAG_PUT_IV_SPACE;
break;
case WLAN_CIPHER_SUITE_CCMP:
key_type = KEY_AES;
@@ -3819,35 +3818,20 @@ static void cc33xx_bss_info_changed_sta(struct cc33xx *cc,
}
if (changed & BSS_CHANGED_PS) {
- if (vif->cfg.ps &&
- test_bit(WLVIF_FLAG_STA_ASSOCIATED, &wlvif->flags) &&
- !test_bit(WLVIF_FLAG_IN_PS, &wlvif->flags)) {
- int ps_mode;
- char *ps_mode_str;
-
- if (cc->conf.host_conf.conn.forced_ps) {
- ps_mode = STATION_POWER_SAVE_MODE;
- ps_mode_str = "forced";
- } else {
- ps_mode = STATION_AUTO_PS_MODE;
- ps_mode_str = "auto";
- }
-
- cc33xx_debug(DEBUG_PSM, "%s ps enabled", ps_mode_str);
+ ret = 0;
- ret = cc33xx_ps_set_mode(cc, wlvif, ps_mode);
- if (ret < 0)
- cc33xx_warning("enter %s ps failed %d",
- ps_mode_str, ret);
- } else if (!vif->cfg.ps && test_bit(WLVIF_FLAG_IN_PS,
- &wlvif->flags)) {
- cc33xx_debug(DEBUG_PSM, "auto ps disabled");
-
- ret = cc33xx_ps_set_mode(cc, wlvif,
- STATION_ACTIVE_MODE);
- if (ret < 0)
- cc33xx_warning("exit auto ps failed %d", ret);
+ if (cc->conf.mac.ps_mode == STATION_AUTO_PS_MODE) {
+ if ((vif->cfg.ps) && test_bit(WLVIF_FLAG_STA_ASSOCIATED, &wlvif->flags)) {
+ ret = cc33xx_ps_set_mode(cc, wlvif, STATION_AUTO_PS_MODE);
+ } else if (!vif->cfg.ps) {
+ ret = cc33xx_ps_set_mode(cc, wlvif, STATION_ACTIVE_MODE);
+ }
+ } else {
+ ret = cc33xx_ps_set_mode(cc, wlvif, cc->conf.mac.ps_mode);
}
+
+ if (ret < 0)
+ cc33xx_warning("exit auto ps failed %d", ret);
}
/* Handle new association with HT. Do this after join. */
@@ -4197,7 +4181,6 @@ static int cc33xx_op_conf_tx(struct ieee80211_hw *hw,
static u64 cc33xx_op_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
{
struct cc33xx *cc = hw->priv;
- struct cc33xx_vif *wlvif = cc33xx_vif_to_data(vif);
u64 mactime = ULLONG_MAX;
cc33xx_debug(DEBUG_MAC80211, "mac80211 get tsf");
@@ -4207,8 +4190,6 @@ static u64 cc33xx_op_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
if (unlikely(cc->state != CC33XX_STATE_ON))
goto out;
- cc33xx_acx_tsf_info(cc, wlvif, &mactime);
-
out:
mutex_unlock(&cc->mutex);
diff --git a/drivers/net/wireless/ti/cc33xx/ps.c b/drivers/net/wireless/ti/cc33xx/ps.c
index e708ef8d5f46..1386a3f9f344 100644
--- a/drivers/net/wireless/ti/cc33xx/ps.c
+++ b/drivers/net/wireless/ti/cc33xx/ps.c
@@ -23,7 +23,6 @@ int cc33xx_ps_set_mode(struct cc33xx *cc, struct cc33xx_vif *wlvif,
if (ret < 0)
return ret;
- set_bit(WLVIF_FLAG_IN_PS, &wlvif->flags);
break;
case STATION_ACTIVE_MODE:
@@ -33,7 +32,6 @@ int cc33xx_ps_set_mode(struct cc33xx *cc, struct cc33xx_vif *wlvif,
if (ret < 0)
return ret;
- clear_bit(WLVIF_FLAG_IN_PS, &wlvif->flags);
break;
default:
diff --git a/drivers/net/wireless/ti/cc33xx/rx.c b/drivers/net/wireless/ti/cc33xx/rx.c
index e6467e1e223e..3493238de8e2 100644
--- a/drivers/net/wireless/ti/cc33xx/rx.c
+++ b/drivers/net/wireless/ti/cc33xx/rx.c
@@ -67,6 +67,9 @@ static void cc33xx_rx_status(struct cc33xx *cc,
cc33xx_warning("Michael MIC error. Desc: 0x%x",
desc_err_code);
}
+
+ if (desc->status & CC33XX_RX_DESC_NEW_KEY)
+ status->flag |= RX_FLAG_PN_VALIDATED;
}
if (beacon || probe_rsp)
diff --git a/drivers/net/wireless/ti/cc33xx/rx.h b/drivers/net/wireless/ti/cc33xx/rx.h
index 46ff6867749f..523a35288d15 100644
--- a/drivers/net/wireless/ti/cc33xx/rx.h
+++ b/drivers/net/wireless/ti/cc33xx/rx.h
@@ -25,13 +25,15 @@
*
* Bits 0-2 - error code
* Bits 3-5 - process_id tag (AP mode FW)
- * Bits 6-7 - reserved
+ * Bits 6 - new key
+ * Bits 7 - reserved
*/
enum {
CC33XX_RX_DESC_SUCCESS = 0x00,
CC33XX_RX_DESC_DECRYPT_FAIL = 0x01,
CC33XX_RX_DESC_MIC_FAIL = 0x02,
- CC33XX_RX_DESC_STATUS_MASK = 0x07
+ CC33XX_RX_DESC_STATUS_MASK = 0x07,
+ CC33XX_RX_DESC_NEW_KEY = 0x40
};
/* Account for the padding inserted by the FW in case of RX_ALIGNMENT
--
2.34.1
BT driver patch
0001-bluetooth-add-cc33xx-ble-driver-and-debugfs.patch.txt
I'm not sure miss some detail in my patches, Could anyone know where the problem is?
Thanks!!
Best regards,
Mike