From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexey.Brodkin@synopsys.com (Alexey Brodkin) Date: Tue, 23 May 2017 17:26:22 +0000 Subject: git repo with Redpine changes In-Reply-To: References: <1495008675.2606.72.camel@synopsys.com> List-ID: Message-ID: <1495560381.22203.29.camel@synopsys.com> To: linux-snps-arc@lists.infradead.org Hi Amit! On Tue, 2017-05-23@17:00 +0530, amit karwar wrote: > On Wed, May 17, 2017 at 1:41 PM, Alexey Brodkin > wrote: > > > > Hello Amitkumar, Prameela, > > > > I was lucky enough to get hold of RS9113 Evaluation Kit and now I'm trying > > to get it working with my board via USB and SDIO interfaces but seeing issues here and there: > > ?1) In case of SDIO I see this on interface up with vanilla 4.11.1 kernel: > > ----------------------->8-------------------- > > # ifconfig wlan0 up > > rsi_91x: Sending RX filter frame > > rsi_91x: rsi_core_qos_processor: Queue number = 4 > > rsi_91x: rsi_sdio_host_intf_write_pkt: Successfully written onto card > > rsi_91x: rsi_set_vap_capabilities: Sending VAP capabilities frame > > rsi_91x: rsi_mac80211_conf_tx: Conf queue 0, aifs: 2, cwmin: 15 cwmax: 1023, txop: 0 > > rsi_91x: rsi_mac80211_conf_tx: Conf queue 1, aifs: 2, cwmin: 15 cwmax: 1023, txop: 0 > > rsi_91x: rsi_mac80211_conf_tx: Conf queue 2, aifs: 2, cwmin: 15 cwmax: 1023, txop: 0 > > # rsi_91x: rsi_mac80211_conf_tx: Conf queue 3, aifs: 2, cwmin: 15 cwmax: 1023, txop: 0 > > rsi_91x: rsi_channel_change: Set channel: 2412 MHz type: 416 channel_no 1 > > rsi_91x: rsi_set_channel: Sending scan req frame > > rsi_91x: rsi_mac80211_config: Configuring Power > > rsi_91x: rsi_config_power: Set tx power: 20 dBM > > rsi_91x: rsi_send_radio_params_update: Sending Radio Params update frame > > rsi_91x: rsi_core_qos_processor: Queue number = 4 > > rsi_91x: rsi_interrupt_handler: Intr_status = 8 8 4 > > rsi_91x: Pkt pending interrupt > > rsi_91x: rsi_mgmt_pkt_recv: Msg Len: 0, Msg Type:????1 > > rsi_91x: rsi_handle_ta_confirm_type: Invalid TA confirm pkt received > > rsi_91x: rsi_sdio_host_intf_write_pkt: Successfully written onto card > > rsi_91x: rsi_core_qos_processor: Queue number = 4 > > rsi_91x: rsi_sdio_host_intf_write_pkt: Successfully written onto card > > rsi_91x: rsi_core_qos_processor: Queue number = 4 > > rsi_91x: rsi_interrupt_handler: Intr_status = 8 8 4 > > rsi_91x: Pkt pending interrupt > > rsi_91x: rsi_mgmt_pkt_recv: Msg Len: 0, Msg Type:????1 > > rsi_91x: rsi_handle_ta_confirm_type: Invalid TA confirm pkt received > > rsi_91x: rsi_interrupt_handler: Intr_status = 8 8 4 > > rsi_91x: Pkt pending interrupt > > rsi_91x: rsi_mgmt_pkt_recv: Msg Len: 321, Msg Type:????2 > > rsi_91x: rsi_sdio_host_intf_write_pkt: Successfully written onto card > > rsi_91x: rsi_core_qos_processor: Queue number = 255 > > rsi_91x: rsi_core_qos_processor: No More Pkt > > rsi_91x: rsi_interrupt_handler: Intr_status = c 8 4 > > rsi_91x: Pkt pending interrupt > > rsi_91x: rsi_mgmt_pkt_recv: Msg Len: 299, Msg Type:????2 > > rsi_91x: rsi_interrupt_handler: ==> FIRMWARE Assert <== Any hint on what's wrong here? Note firmware was successfully loaded on probe a bit earlier. And here I used a firmware blob from linux-firmware git repo, https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/rsi_91x.fw > > rsi_91x: rsi_interrupt_handler: Firmware Status is 0x65 > > rsi_91x: rsi_core_qos_processor: Queue number = 255 > > rsi_91x: rsi_core_qos_processor: No More Pkt > > ----------------------->8-------------------- > > > > and you recent patch series for nwe firmware loading I see something a bit > > different: > > ----------------------->8-------------------- > > mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 25000000Hz, actual 25000000HZ div = 1) > > mmc0: new SDIO card at address fffd > > rsi_91x: rsi_probe: Init function called > > rsi_91x: rsi_init_sdio_interface: Enabled the interface > > mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 50000000Hz, actual 50000000HZ div = 0) > > rsi_91x: rsi_setblocklength: Setting the block length > > rsi_91x: rsi_setblocklength: Operational blk length is 256 > > rsi_91x: rsi_init_sdio_interface: Setup card succesfully > > rsi_91x: rsi_init_sdio_slave_regs: Initialzing SDIO read start level > > rsi_91x: rsi_init_sdio_slave_regs: Initialzing FIFO ctrl registers > > rsi_91x: rsi_sdio_master_access_msword: MASTER_ACCESS_MSBYTE:0x5 > > rsi_91x: rsi_sdio_master_access_msword:MASTER_ACCESS_LSBYTE:0x41 > > rsi_91x: rsi_sdio_read_register_multiple: Synch Cmd53 read failed > > Looks like sdio_readsb() failed for some reason on your platform. > We expect firmware loading to be successful with recent patch series. Hm, that's interesting why stuff used to work before that patch series. At least as you might see from above I got much further with vanilla 4.11 kernel. BTW where may I find new firmware blob which is mentioned in on of the patches ("rs9113_wlan_qspi.rps")? > > rsi_91x: rsi_sdio_master_reg_read: AHB register read failed > > rsi_91x: rsi_load_firmware: REGOUT read failed > > rsi_91x: rsi_hal_device_init: Failed to load TA instructions > > rsi_91x: rsi_probe: Failed in device init > > rsi_91x: rsi_91x_deinit: Performing deinit os ops > > rsi_91x: rsi_core_qos_processor: Queue number = 255 > > rsi_91x: rsi_core_qos_processor: No More Pkt > > rsi_91x: rsi_probe: Failed in probe...Exiting > > RSI-SDIO WLAN: probe of mmc0:fffd:1 failed with error 1 > > ----------------------->8-------------------- > > > > ?2) In case of USB I just see: > > ----------------------->8-------------------- > > usb 1-1: new high-speed USB device number 6 using ehci-platform > > usb 1-1: config 1 interface 0 altsetting 0 endpoint 0x83 has an invalid bInterval 255, changing to 11 > > usb 1-1: New USB device found, idVendor=1618, idProduct=9113 > > usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 > > usb 1-1: Product: Wireless USB-CDC Network Module > > usb 1-1: Manufacturer: Redpine Signals, Inc. > > cdc_acm 1-1:1.0: ttyACM0: USB ACM device > > ----------------------->8-------------------- > > > > I noticed that there're quite some patches floating on linux-wireless mailing list which > > were not yet merged in upstream kernel (even in linux-next or wireless-testing). > > > > So at this point I'm not really sure what could be a safe baseline for my experiments: > > ?- if existing vanilla say 4.11 kernel is good enough and things that doesn't work are caused > > ???by other problems not related to Redpine module (that would be strange because both USB abd SD-card > > ???slot are proven to work pretty well with other devices) > > ?- if I need an arbitrary set of patches to get things up and running etc > > > > That said if there's a public git repo which contains everything required for Redpine module to > > work [preferably based on the latest kernel sources] I'd like to get a reference to it. > > > > Any hints here are much appreciated. > > We don't have a public git repo maintained. We have 2 patchsets ready > for submission. We are working on code cleanup for other pending > changes. I would suggest you to wait till these patches are posted. Ok, will do. But please add me in Cc list in your upcoming patches as I'm very interested in getting Redpine module working on our new board and will be happy to review them as well as test on my platform. BTW I'm wondering what platform you use for development as a host? I'm wondering if the reason for my failure mentioned above might be in different host CPU architecture or SD-card controller vendor or settings. -Alexey From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from smtprelay.synopsys.com ([198.182.60.111]:51501 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934714AbdEWR01 (ORCPT ); Tue, 23 May 2017 13:26:27 -0400 From: Alexey Brodkin To: "amit.karwar@redpinesignals.com" CC: "linux-wireless@vger.kernel.org" , "prameela.j04cs@gmail.com" , "linux-snps-arc@lists.infradead.org" Subject: Re: git repo with Redpine changes Date: Tue, 23 May 2017 17:26:22 +0000 Message-ID: <1495560381.22203.29.camel@synopsys.com> (sfid-20170523_192631_866421_B65B21EE) References: <1495008675.2606.72.camel@synopsys.com> In-Reply-To: Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-wireless-owner@vger.kernel.org List-ID: SGkgQW1pdCENCg0KT24gVHVlLCAyMDE3LTA1LTIzIGF0IDE3OjAwICswNTMwLCBhbWl0IGthcndh ciB3cm90ZToNCj4gT24gV2VkLCBNYXkgMTcsIDIwMTcgYXQgMTo0MSBQTSwgQWxleGV5IEJyb2Rr aW4NCj4gPEFsZXhleS5Ccm9ka2luQHN5bm9wc3lzLmNvbT4gd3JvdGU6DQo+ID4gDQo+ID4gSGVs bG8gQW1pdGt1bWFyLCBQcmFtZWVsYSwNCj4gPiANCj4gPiBJIHdhcyBsdWNreSBlbm91Z2ggdG8g Z2V0IGhvbGQgb2YgUlM5MTEzIEV2YWx1YXRpb24gS2l0IGFuZCBub3cgSSdtIHRyeWluZw0KPiA+ IHRvIGdldCBpdCB3b3JraW5nIHdpdGggbXkgYm9hcmQgdmlhIFVTQiBhbmQgU0RJTyBpbnRlcmZh Y2VzIGJ1dCBzZWVpbmcgaXNzdWVzIGhlcmUgYW5kIHRoZXJlOg0KPiA+IMKgMSkgSW4gY2FzZSBv ZiBTRElPIEkgc2VlIHRoaXMgb24gaW50ZXJmYWNlIHVwIHdpdGggdmFuaWxsYSA0LjExLjEga2Vy bmVsOg0KPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPjgtLS0tLS0tLS0tLS0tLS0tLS0tLQ0K PiA+ICMgaWZjb25maWcgd2xhbjAgdXANCj4gPiByc2lfOTF4OiBTZW5kaW5nIFJYIGZpbHRlciBm cmFtZQ0KPiA+IHJzaV85MXg6IHJzaV9jb3JlX3Fvc19wcm9jZXNzb3I6IFF1ZXVlIG51bWJlciA9 IDQNCj4gPiByc2lfOTF4OiByc2lfc2Rpb19ob3N0X2ludGZfd3JpdGVfcGt0OiBTdWNjZXNzZnVs bHkgd3JpdHRlbiBvbnRvIGNhcmQNCj4gPiByc2lfOTF4OiByc2lfc2V0X3ZhcF9jYXBhYmlsaXRp ZXM6IFNlbmRpbmcgVkFQIGNhcGFiaWxpdGllcyBmcmFtZQ0KPiA+IHJzaV85MXg6IHJzaV9tYWM4 MDIxMV9jb25mX3R4OiBDb25mIHF1ZXVlIDAsIGFpZnM6IDIsIGN3bWluOiAxNSBjd21heDogMTAy MywgdHhvcDogMA0KPiA+IHJzaV85MXg6IHJzaV9tYWM4MDIxMV9jb25mX3R4OiBDb25mIHF1ZXVl IDEsIGFpZnM6IDIsIGN3bWluOiAxNSBjd21heDogMTAyMywgdHhvcDogMA0KPiA+IHJzaV85MXg6 IHJzaV9tYWM4MDIxMV9jb25mX3R4OiBDb25mIHF1ZXVlIDIsIGFpZnM6IDIsIGN3bWluOiAxNSBj d21heDogMTAyMywgdHhvcDogMA0KPiA+ICMgcnNpXzkxeDogcnNpX21hYzgwMjExX2NvbmZfdHg6 IENvbmYgcXVldWUgMywgYWlmczogMiwgY3dtaW46IDE1IGN3bWF4OiAxMDIzLCB0eG9wOiAwDQo+ ID4gcnNpXzkxeDogcnNpX2NoYW5uZWxfY2hhbmdlOiBTZXQgY2hhbm5lbDogMjQxMiBNSHogdHlw ZTogNDE2IGNoYW5uZWxfbm8gMQ0KPiA+IHJzaV85MXg6IHJzaV9zZXRfY2hhbm5lbDogU2VuZGlu ZyBzY2FuIHJlcSBmcmFtZQ0KPiA+IHJzaV85MXg6IHJzaV9tYWM4MDIxMV9jb25maWc6IENvbmZp Z3VyaW5nIFBvd2VyDQo+ID4gcnNpXzkxeDogcnNpX2NvbmZpZ19wb3dlcjogU2V0IHR4IHBvd2Vy OiAyMCBkQk0NCj4gPiByc2lfOTF4OiByc2lfc2VuZF9yYWRpb19wYXJhbXNfdXBkYXRlOiBTZW5k aW5nIFJhZGlvIFBhcmFtcyB1cGRhdGUgZnJhbWUNCj4gPiByc2lfOTF4OiByc2lfY29yZV9xb3Nf cHJvY2Vzc29yOiBRdWV1ZSBudW1iZXIgPSA0DQo+ID4gcnNpXzkxeDogcnNpX2ludGVycnVwdF9o YW5kbGVyOiBJbnRyX3N0YXR1cyA9IDggOCA0DQo+ID4gcnNpXzkxeDogUGt0IHBlbmRpbmcgaW50 ZXJydXB0DQo+ID4gcnNpXzkxeDogcnNpX21nbXRfcGt0X3JlY3Y6IE1zZyBMZW46IDAsIE1zZyBU eXBlOsKgwqDCoMKgMQ0KPiA+IHJzaV85MXg6IHJzaV9oYW5kbGVfdGFfY29uZmlybV90eXBlOiBJ bnZhbGlkIFRBIGNvbmZpcm0gcGt0IHJlY2VpdmVkDQo+ID4gcnNpXzkxeDogcnNpX3NkaW9faG9z dF9pbnRmX3dyaXRlX3BrdDogU3VjY2Vzc2Z1bGx5IHdyaXR0ZW4gb250byBjYXJkDQo+ID4gcnNp XzkxeDogcnNpX2NvcmVfcW9zX3Byb2Nlc3NvcjogUXVldWUgbnVtYmVyID0gNA0KPiA+IHJzaV85 MXg6IHJzaV9zZGlvX2hvc3RfaW50Zl93cml0ZV9wa3Q6IFN1Y2Nlc3NmdWxseSB3cml0dGVuIG9u dG8gY2FyZA0KPiA+IHJzaV85MXg6IHJzaV9jb3JlX3Fvc19wcm9jZXNzb3I6IFF1ZXVlIG51bWJl ciA9IDQNCj4gPiByc2lfOTF4OiByc2lfaW50ZXJydXB0X2hhbmRsZXI6IEludHJfc3RhdHVzID0g OCA4IDQNCj4gPiByc2lfOTF4OiBQa3QgcGVuZGluZyBpbnRlcnJ1cHQNCj4gPiByc2lfOTF4OiBy c2lfbWdtdF9wa3RfcmVjdjogTXNnIExlbjogMCwgTXNnIFR5cGU6wqDCoMKgwqAxDQo+ID4gcnNp XzkxeDogcnNpX2hhbmRsZV90YV9jb25maXJtX3R5cGU6IEludmFsaWQgVEEgY29uZmlybSBwa3Qg cmVjZWl2ZWQNCj4gPiByc2lfOTF4OiByc2lfaW50ZXJydXB0X2hhbmRsZXI6IEludHJfc3RhdHVz ID0gOCA4IDQNCj4gPiByc2lfOTF4OiBQa3QgcGVuZGluZyBpbnRlcnJ1cHQNCj4gPiByc2lfOTF4 OiByc2lfbWdtdF9wa3RfcmVjdjogTXNnIExlbjogMzIxLCBNc2cgVHlwZTrCoMKgwqDCoDINCj4g PiByc2lfOTF4OiByc2lfc2Rpb19ob3N0X2ludGZfd3JpdGVfcGt0OiBTdWNjZXNzZnVsbHkgd3Jp dHRlbiBvbnRvIGNhcmQNCj4gPiByc2lfOTF4OiByc2lfY29yZV9xb3NfcHJvY2Vzc29yOiBRdWV1 ZSBudW1iZXIgPSAyNTUNCj4gPiByc2lfOTF4OiByc2lfY29yZV9xb3NfcHJvY2Vzc29yOiBObyBN b3JlIFBrdA0KPiA+IHJzaV85MXg6IHJzaV9pbnRlcnJ1cHRfaGFuZGxlcjogSW50cl9zdGF0dXMg PSBjIDggNA0KPiA+IHJzaV85MXg6IFBrdCBwZW5kaW5nIGludGVycnVwdA0KPiA+IHJzaV85MXg6 IHJzaV9tZ210X3BrdF9yZWN2OiBNc2cgTGVuOiAyOTksIE1zZyBUeXBlOsKgwqDCoMKgMg0KPiA+ IHJzaV85MXg6IHJzaV9pbnRlcnJ1cHRfaGFuZGxlcjogPT0+IEZJUk1XQVJFIEFzc2VydCA8PT0N Cg0KQW55IGhpbnQgb24gd2hhdCdzIHdyb25nIGhlcmU/DQoNCk5vdGUgZmlybXdhcmUgd2FzIHN1 Y2Nlc3NmdWxseSBsb2FkZWQgb24gcHJvYmUgYSBiaXQgZWFybGllci4NCkFuZCBoZXJlIEkgdXNl ZCBhIGZpcm13YXJlIGJsb2IgZnJvbSBsaW51eC1maXJtd2FyZSBnaXQgcmVwbywNCmh0dHBzOi8v Z2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L2Zpcm13YXJlL2xpbnV4LWZp cm13YXJlLmdpdC90cmVlL3JzaV85MXguZncNCg0KPiA+IHJzaV85MXg6IHJzaV9pbnRlcnJ1cHRf aGFuZGxlcjogRmlybXdhcmUgU3RhdHVzIGlzIDB4NjUNCj4gPiByc2lfOTF4OiByc2lfY29yZV9x b3NfcHJvY2Vzc29yOiBRdWV1ZSBudW1iZXIgPSAyNTUNCj4gPiByc2lfOTF4OiByc2lfY29yZV9x b3NfcHJvY2Vzc29yOiBObyBNb3JlIFBrdA0KPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPjgt LS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+IA0KPiA+IGFuZCB5b3UgcmVjZW50IHBhdGNoIHNlcmll cyBmb3IgbndlIGZpcm13YXJlIGxvYWRpbmcgSSBzZWUgc29tZXRoaW5nIGEgYml0DQo+ID4gZGlm ZmVyZW50Og0KPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPjgtLS0tLS0tLS0tLS0tLS0tLS0t LQ0KPiA+IG1tY19ob3N0IG1tYzA6IEJ1cyBzcGVlZCAoc2xvdCAwKSA9IDUwMDAwMDAwSHogKHNs b3QgcmVxIDI1MDAwMDAwSHosIGFjdHVhbCAyNTAwMDAwMEhaIGRpdiA9IDEpDQo+ID4gbW1jMDog bmV3IFNESU8gY2FyZCBhdCBhZGRyZXNzIGZmZmQNCj4gPiByc2lfOTF4OiByc2lfcHJvYmU6IElu aXQgZnVuY3Rpb24gY2FsbGVkDQo+ID4gcnNpXzkxeDogcnNpX2luaXRfc2Rpb19pbnRlcmZhY2U6 IEVuYWJsZWQgdGhlIGludGVyZmFjZQ0KPiA+IG1tY19ob3N0IG1tYzA6IEJ1cyBzcGVlZCAoc2xv dCAwKSA9IDUwMDAwMDAwSHogKHNsb3QgcmVxIDUwMDAwMDAwSHosIGFjdHVhbCA1MDAwMDAwMEha IGRpdiA9IDApDQo+ID4gcnNpXzkxeDogcnNpX3NldGJsb2NrbGVuZ3RoOiBTZXR0aW5nIHRoZSBi bG9jayBsZW5ndGgNCj4gPiByc2lfOTF4OiByc2lfc2V0YmxvY2tsZW5ndGg6IE9wZXJhdGlvbmFs IGJsayBsZW5ndGggaXMgMjU2DQo+ID4gcnNpXzkxeDogcnNpX2luaXRfc2Rpb19pbnRlcmZhY2U6 IFNldHVwIGNhcmQgc3VjY2VzZnVsbHkNCj4gPiByc2lfOTF4OiByc2lfaW5pdF9zZGlvX3NsYXZl X3JlZ3M6IEluaXRpYWx6aW5nIFNESU8gcmVhZCBzdGFydCBsZXZlbA0KPiA+IHJzaV85MXg6IHJz aV9pbml0X3NkaW9fc2xhdmVfcmVnczogSW5pdGlhbHppbmcgRklGTyBjdHJsIHJlZ2lzdGVycw0K PiA+IHJzaV85MXg6IHJzaV9zZGlvX21hc3Rlcl9hY2Nlc3NfbXN3b3JkOiBNQVNURVJfQUNDRVNT X01TQllURToweDUNCj4gPiByc2lfOTF4OiByc2lfc2Rpb19tYXN0ZXJfYWNjZXNzX21zd29yZDpN QVNURVJfQUNDRVNTX0xTQllURToweDQxDQo+ID4gcnNpXzkxeDogcnNpX3NkaW9fcmVhZF9yZWdp c3Rlcl9tdWx0aXBsZTogU3luY2ggQ21kNTMgcmVhZCBmYWlsZWQNCj4gDQo+IExvb2tzIGxpa2Ug c2Rpb19yZWFkc2IoKSBmYWlsZWQgZm9yIHNvbWUgcmVhc29uIG9uIHlvdXIgcGxhdGZvcm0uDQo+ IFdlIGV4cGVjdCBmaXJtd2FyZSBsb2FkaW5nIHRvIGJlIHN1Y2Nlc3NmdWwgd2l0aCByZWNlbnQg cGF0Y2ggc2VyaWVzLg0KDQpIbSwgdGhhdCdzIGludGVyZXN0aW5nIHdoeSBzdHVmZiB1c2VkIHRv IHdvcmsgYmVmb3JlIHRoYXQgcGF0Y2ggc2VyaWVzLg0KQXQgbGVhc3QgYXMgeW91IG1pZ2h0IHNl ZSBmcm9tIGFib3ZlIEkgZ290IG11Y2ggZnVydGhlciB3aXRoIHZhbmlsbGEgNC4xMSBrZXJuZWwu DQoNCkJUVyB3aGVyZSBtYXkgSSBmaW5kIG5ldyBmaXJtd2FyZSBibG9iIHdoaWNoIGlzIG1lbnRp b25lZCBpbiBvbiBvZiB0aGUgcGF0Y2hlcyAoInJzOTExM193bGFuX3FzcGkucnBzIik/DQoNCj4g PiByc2lfOTF4OiByc2lfc2Rpb19tYXN0ZXJfcmVnX3JlYWQ6IEFIQiByZWdpc3RlciByZWFkIGZh aWxlZA0KPiA+IHJzaV85MXg6IHJzaV9sb2FkX2Zpcm13YXJlOiBSRUdPVVQgcmVhZCBmYWlsZWQN Cj4gPiByc2lfOTF4OiByc2lfaGFsX2RldmljZV9pbml0OiBGYWlsZWQgdG8gbG9hZCBUQSBpbnN0 cnVjdGlvbnMNCj4gPiByc2lfOTF4OiByc2lfcHJvYmU6IEZhaWxlZCBpbiBkZXZpY2UgaW5pdA0K PiA+IHJzaV85MXg6IHJzaV85MXhfZGVpbml0OiBQZXJmb3JtaW5nIGRlaW5pdCBvcyBvcHMNCj4g PiByc2lfOTF4OiByc2lfY29yZV9xb3NfcHJvY2Vzc29yOiBRdWV1ZSBudW1iZXIgPSAyNTUNCj4g PiByc2lfOTF4OiByc2lfY29yZV9xb3NfcHJvY2Vzc29yOiBObyBNb3JlIFBrdA0KPiA+IHJzaV85 MXg6IHJzaV9wcm9iZTogRmFpbGVkIGluIHByb2JlLi4uRXhpdGluZw0KPiA+IFJTSS1TRElPIFdM QU46IHByb2JlIG9mIG1tYzA6ZmZmZDoxIGZhaWxlZCB3aXRoIGVycm9yIDENCj4gPiAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLT44LS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiANCj4gPiDCoDIpIElu IGNhc2Ugb2YgVVNCIEkganVzdCBzZWU6DQo+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+OC0t LS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gdXNiIDEtMTogbmV3IGhpZ2gtc3BlZWQgVVNCIGRldmlj ZSBudW1iZXIgNiB1c2luZyBlaGNpLXBsYXRmb3JtDQo+ID4gdXNiIDEtMTogY29uZmlnIDEgaW50 ZXJmYWNlIDAgYWx0c2V0dGluZyAwIGVuZHBvaW50IDB4ODMgaGFzIGFuIGludmFsaWQgYkludGVy dmFsIDI1NSwgY2hhbmdpbmcgdG8gMTENCj4gPiB1c2IgMS0xOiBOZXcgVVNCIGRldmljZSBmb3Vu ZCwgaWRWZW5kb3I9MTYxOCwgaWRQcm9kdWN0PTkxMTMNCj4gPiB1c2IgMS0xOiBOZXcgVVNCIGRl dmljZSBzdHJpbmdzOiBNZnI9MSwgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MA0KPiA+IHVzYiAx LTE6IFByb2R1Y3Q6IFdpcmVsZXNzIFVTQi1DREMgTmV0d29yayBNb2R1bGUNCj4gPiB1c2IgMS0x OiBNYW51ZmFjdHVyZXI6IFJlZHBpbmUgU2lnbmFscywgSW5jLg0KPiA+IGNkY19hY20gMS0xOjEu MDogdHR5QUNNMDogVVNCIEFDTSBkZXZpY2UNCj4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT44 LS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiANCj4gPiBJIG5vdGljZWQgdGhhdCB0aGVyZSdyZSBx dWl0ZSBzb21lIHBhdGNoZXMgZmxvYXRpbmcgb24gbGludXgtd2lyZWxlc3MgbWFpbGluZyBsaXN0 IHdoaWNoDQo+ID4gd2VyZSBub3QgeWV0IG1lcmdlZCBpbiB1cHN0cmVhbSBrZXJuZWwgKGV2ZW4g aW4gbGludXgtbmV4dCBvciB3aXJlbGVzcy10ZXN0aW5nKS4NCj4gPiANCj4gPiBTbyBhdCB0aGlz IHBvaW50IEknbSBub3QgcmVhbGx5IHN1cmUgd2hhdCBjb3VsZCBiZSBhIHNhZmUgYmFzZWxpbmUg Zm9yIG15IGV4cGVyaW1lbnRzOg0KPiA+IMKgLSBpZiBleGlzdGluZyB2YW5pbGxhIHNheSA0LjEx IGtlcm5lbCBpcyBnb29kIGVub3VnaCBhbmQgdGhpbmdzIHRoYXQgZG9lc24ndCB3b3JrIGFyZSBj YXVzZWQNCj4gPiDCoMKgwqBieSBvdGhlciBwcm9ibGVtcyBub3QgcmVsYXRlZCB0byBSZWRwaW5l IG1vZHVsZSAodGhhdCB3b3VsZCBiZSBzdHJhbmdlIGJlY2F1c2UgYm90aCBVU0IgYWJkIFNELWNh cmQNCj4gPiDCoMKgwqBzbG90IGFyZSBwcm92ZW4gdG8gd29yayBwcmV0dHkgd2VsbCB3aXRoIG90 aGVyIGRldmljZXMpDQo+ID4gwqAtIGlmIEkgbmVlZCBhbiBhcmJpdHJhcnkgc2V0IG9mIHBhdGNo ZXMgdG8gZ2V0IHRoaW5ncyB1cCBhbmQgcnVubmluZyBldGMNCj4gPiANCj4gPiBUaGF0IHNhaWQg aWYgdGhlcmUncyBhIHB1YmxpYyBnaXQgcmVwbyB3aGljaCBjb250YWlucyBldmVyeXRoaW5nIHJl cXVpcmVkIGZvciBSZWRwaW5lIG1vZHVsZSB0bw0KPiA+IHdvcmsgW3ByZWZlcmFibHkgYmFzZWQg b24gdGhlIGxhdGVzdCBrZXJuZWwgc291cmNlc10gSSdkIGxpa2UgdG8gZ2V0IGEgcmVmZXJlbmNl IHRvIGl0Lg0KPiA+IA0KPiA+IEFueSBoaW50cyBoZXJlIGFyZSBtdWNoIGFwcHJlY2lhdGVkLg0K PiANCj4gV2UgZG9uJ3QgaGF2ZSBhIHB1YmxpYyBnaXQgcmVwbyBtYWludGFpbmVkLiBXZSBoYXZl IDIgcGF0Y2hzZXRzIHJlYWR5DQo+IGZvciBzdWJtaXNzaW9uLiBXZSBhcmUgd29ya2luZyBvbiBj b2RlIGNsZWFudXAgZm9yIG90aGVyIHBlbmRpbmcNCj4gY2hhbmdlcy4gSSB3b3VsZCBzdWdnZXN0 IHlvdSB0byB3YWl0IHRpbGwgdGhlc2UgcGF0Y2hlcyBhcmUgcG9zdGVkLg0KDQpPaywgd2lsbCBk by4gQnV0IHBsZWFzZSBhZGQgbWUgaW4gQ2MgbGlzdCBpbiB5b3VyIHVwY29taW5nIHBhdGNoZXMg YXMgSSdtIHZlcnkgaW50ZXJlc3RlZA0KaW4gZ2V0dGluZyBSZWRwaW5lIG1vZHVsZSB3b3JraW5n IG9uIG91ciBuZXcgYm9hcmQgYW5kIHdpbGwgYmUgaGFwcHkgdG8gcmV2aWV3IHRoZW0gYXMgd2Vs bCBhcyB0ZXN0IG9uDQpteSBwbGF0Zm9ybS4NCg0KQlRXIEknbSB3b25kZXJpbmcgd2hhdCBwbGF0 Zm9ybSB5b3UgdXNlIGZvciBkZXZlbG9wbWVudCBhcyBhIGhvc3Q/DQpJJ20gd29uZGVyaW5nIGlm IHRoZSByZWFzb24gZm9yIG15IGZhaWx1cmUgbWVudGlvbmVkIGFib3ZlIG1pZ2h0IGJlIGluIGRp ZmZlcmVudA0KaG9zdCBDUFUgYXJjaGl0ZWN0dXJlIG9yIFNELWNhcmQgY29udHJvbGxlciB2ZW5k b3Igb3Igc2V0dGluZ3MuDQoNCi1BbGV4ZXk=