aboutsummaryrefslogtreecommitdiffstats
path: root/package/utils/lua/patches/020-shared_liblua.patch
diff options
context:
space:
mode:
authorPaul Spooren <mail@aparcar.org>2023-11-03 00:51:47 +0100
committerPaul Spooren <mail@aparcar.org>2023-11-03 09:54:17 +0100
commit74edd9e19aaee00af6feacb6ce0c8b6e55e38645 (patch)
treed39d6827a6d81a8bbeaa2d1b310adb47a72fdf36 /package/utils/lua/patches/020-shared_liblua.patch
parenta0fa3a17a2f095dea27afa3a11e7674d990adbd7 (diff)
downloadupstream-74edd9e19aaee00af6feacb6ce0c8b6e55e38645.tar.gz
upstream-74edd9e19aaee00af6feacb6ce0c8b6e55e38645.tar.bz2
upstream-74edd9e19aaee00af6feacb6ce0c8b6e55e38645.zip
firmware-utils: bump to git HEAD
ba5bc4e add dlink-sge-image for D-Link devices by SGE Signed-off-by: Paul Spooren <mail@aparcar.org>
Diffstat (limited to 'package/utils/lua/patches/020-shared_liblua.patch')
0 files changed, 0 insertions, 0 deletions
0; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
--- a/driver/bcmsrom.c
+++ b/driver/bcmsrom.c
@@ -39,6 +39,11 @@
 #include <sbsdpcmdev.h>
 #endif 
 
+#if defined(CONFIG_SSB_PCIHOST) && defined(CONFIG_BOARD_BCM963XX)
+#include <linux/ssb/ssb.h>
+extern struct ssb_sprom bcm63xx_sprom;
+#endif
+
 #ifdef WLTEST
 #include <sbsprom.h>
 #endif /* WLTEST */
@@ -2058,6 +2063,10 @@ BCMATTACHFN(initvars_srom_pci)(si_t *sih
 	bool flash = FALSE;
 	int err = 0;
 
+#if defined(CONFIG_SSB_PCIHOST) && defined(CONFIG_BOARD_BCM963XX)
+	char eabuf[18];
+#endif
+
 	/*
 	 * Apply CRC over SROM content regardless SROM is present or not,
 	 * and use variable <devpath>sromrev's existance in flash to decide
@@ -2120,6 +2129,58 @@ BCMATTACHFN(initvars_srom_pci)(si_t *sih
 			goto varscont;
 		}
 
+#if defined(CONFIG_SSB_PCIHOST) && defined(CONFIG_BOARD_BCM963XX)
+		base = vp = MALLOC(osh, MAXSZ_NVRAM_VARS);
+
+		if( base != NULL )
+		{
+			varbuf_init(&b, base, MAXSZ_NVRAM_VARS);
+
+			printk("Got version %i SPROM from SSB\n", bcm63xx_sprom.revision);
+
+			varbuf_append(&b, vstr_sromrev, bcm63xx_sprom.revision);
+			varbuf_append(&b, vstr_boardrev, bcm63xx_sprom.board_rev);
+
+			/* ToDo: map bcm63xx_sprom.country_code */
+			varbuf_append(&b, vstr_noccode);
+
+			varbuf_append(&b, vstr_aa2g, bcm63xx_sprom.ant_available_bg);
+
+			varbuf_append(&b, vstr_pa0b[0], bcm63xx_sprom.pa0b0);
+			varbuf_append(&b, vstr_pa1b[0], bcm63xx_sprom.pa1b0);
+			varbuf_append(&b, vstr_pa0b[1], bcm63xx_sprom.pa0b1);
+			varbuf_append(&b, vstr_pa1b[1], bcm63xx_sprom.pa1b1);
+			varbuf_append(&b, vstr_pa0b[2], bcm63xx_sprom.pa0b2);
+			varbuf_append(&b, vstr_pa1b[2], bcm63xx_sprom.pa1b2);
+
+			varbuf_append(&b, vstr_pa0maxpwr, bcm63xx_sprom.maxpwr_bg);
+			varbuf_append(&b, vstr_pa0itssit, bcm63xx_sprom.itssi_bg);
+
+			varbuf_append(&b, vstr_boardflags, (bcm63xx_sprom.boardflags_hi << 16) | bcm63xx_sprom.boardflags_lo);
+			varbuf_append(&b, vstr_boardflags2, (bcm63xx_sprom.boardflags2_hi << 16) | bcm63xx_sprom.boardflags2_lo);
+
+			snprintf(eabuf, sizeof(eabuf), "%02x:%02x:%02x:%02x:%02x:%02x",
+				bcm63xx_sprom.il0mac[0], bcm63xx_sprom.il0mac[1], bcm63xx_sprom.il0mac[2],
+				bcm63xx_sprom.il0mac[3], bcm63xx_sprom.il0mac[4], bcm63xx_sprom.il0mac[5]
+			);
+
+			varbuf_append(&b, vstr_macaddr, eabuf);
+
+			/* final nullbyte terminator */
+			ASSERT(b.size >= 1);
+			vp = b.buf;
+			*vp++ = '\0';
+
+			ASSERT((vp - base) <= MAXSZ_NVRAM_VARS);
+			goto varsdone;
+		}
+		else
+		{
+			err = -2;
+			goto errout;
+		}
+#endif
+
 		BS_ERROR(("SROM CRC Error\n"));
 
 #if defined(WLTEST)