From richard.wilbur at gmail.com Fri May 11 22:27:31 2018 From: richard.wilbur at gmail.com (Richard Wilbur) Date: Fri, 11 May 2018 15:27:31 -0600 Subject: [Arm-netbook] Testing: GPIO Message-ID: First, in adding the link to the sunxi wiki page documenting GPIO access on Allwinner chips[1] to the rhombus-tech.net "Testing" wiki page[2], I again triggered the "An error occurred while writing CGI reply" page delivered at URL: http://rhombus-tech.net/cgi-bin/rhombus/ikiwiki.cgi I clicked the "Save" button after editting the ikiwiki code and just waited for it to return. Second, the linux-sunxi wiki page refers to the interaction with the GPIO driver differently depending on whether using linux-mainline or sunxi-3.4 kernel. If memory serves it seems you mentioned we plan to ship the cards with sunxi-3.4 until we get several drivers into linux-mainline, is that so? Sincerely, Richard References: [1] https://linux-sunxi.org/GPIO [2] http://rhombus-tech.net/allwinner_a10/testing/ From lkcl at lkcl.net Sat May 12 12:27:27 2018 From: lkcl at lkcl.net (Luke Kenneth Casson Leighton) Date: Sat, 12 May 2018 12:27:27 +0100 Subject: [Arm-netbook] Testing: GPIO In-Reply-To: References: Message-ID: Hi richard on phone brief. Yes 3.4, different, uses module config, works fine. Talk to phil about ikiwiki itsvon his server On Friday, May 11, 2018, Richard Wilbur wrote: > First, in adding the link to the sunxi wiki page documenting GPIO access on > Allwinner chips[1] to the rhombus-tech.net "Testing" wiki page[2], I again > triggered the "An error occurred while writing CGI reply" page delivered at > URL: http://rhombus-tech.net/cgi-bin/rhombus/ikiwiki.cgi > > I clicked the "Save" button after editting the ikiwiki code and just waited > for it to return. > > Second, the linux-sunxi wiki page refers to the interaction with the GPIO > driver differently depending on whether using linux-mainline or sunxi-3.4 > kernel. If memory serves it seems you mentioned we plan to ship the cards > with sunxi-3.4 until we get several drivers into linux-mainline, is that > so? > > Sincerely, > Richard > > References: > > [1] https://linux-sunxi.org/GPIO > [2] http://rhombus-tech.net/allwinner_a10/testing/ > _______________________________________________ > arm-netbook mailing list arm-netbook at lists.phcomp.co.uk > http://lists.phcomp.co.uk/mailman/listinfo/arm-netbook > Send large attachments to arm-netbook at files.phcomp.co.uk -- --- crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68 From research at enemygadgets.com Sun May 13 13:38:07 2018 From: research at enemygadgets.com (joem) Date: Sun, 13 May 2018 13:38:07 +0100 Subject: [Arm-netbook] Open source Allwinner R40 circuit diagrams In-Reply-To: <73fc7ddc31ce9ec2203792bf5eb66730@enemygadgets.com> References: <4cc0fbfcea487755ce74780e71b44226@enemygadgets.com> <46a27494de67de180d5a8cd275611e85@enemygadgets.com> <0e488485f580c549d7d9acee6128fe84@enemygadgets.com> <73fc7ddc31ce9ec2203792bf5eb66730@enemygadgets.com> Message-ID: <3da72e955b1434351fcf95d1aad3e027@enemygadgets.com> > SK Hynix H5TQ4G83AFR = 512M x 8 > 27 RMB that means EIGHTEEN dollars just in RAM ICs. that's if you > can get hold of them. RAM continues to be a problem to source. KiCAD version of R40 server board on a go slow pace at the moment - https://hellosemi.com/hypercube/pmwiki.php?n=Main.KiCADServerBoard (Some errors have left the power lines crossed in multiple places.) Also can't seem to raise Allwinner (no replies). Probably manage without tech support for now. In the mean time, been doing other KiCAD boards. A blue pill (ST clone of Atmega Arduino) - https://hellosemi.com/hypercube/pmwiki.php?n=Main.HypercubeBluePillSTDuinoBoard There is some infographic here about how to make intelligent Lithium battery packs for autonomous systems - https://hellosemi.com/hypercube/pmwiki.php?n=Main.HypercubeLithiumPrototypingBoard And some info here about R40 boards for modularized AI + vision recognition and getting it to do some work with Arduino to do basic IoT work with it - https://hellosemi.com/hypercube/pmwiki.php?n=Main.AIBoards All the other open source boards (or soon to be) https://hellosemi.com/hypercube/pmwiki.php?n=Main.OpenSourceBoards -- JoeM Twitter - https://twitter.com/HelloHypercube From lkcl at lkcl.net Sun May 13 22:07:52 2018 From: lkcl at lkcl.net (Luke Kenneth Casson Leighton) Date: Sun, 13 May 2018 22:07:52 +0100 Subject: [Arm-netbook] Open source Allwinner R40 circuit diagrams In-Reply-To: <3da72e955b1434351fcf95d1aad3e027@enemygadgets.com> References: <4cc0fbfcea487755ce74780e71b44226@enemygadgets.com> <46a27494de67de180d5a8cd275611e85@enemygadgets.com> <0e488485f580c549d7d9acee6128fe84@enemygadgets.com> <73fc7ddc31ce9ec2203792bf5eb66730@enemygadgets.com> <3da72e955b1434351fcf95d1aad3e027@enemygadgets.com> Message-ID: On Sunday, May 13, 2018, joem wrote: > > SK Hynix H5TQ4G83AFR = 512M x 8 > > 27 RMB that means EIGHTEEN dollars just in RAM ICs. that's if you > > can get hold of them. > > RAM continues to be a problem to source. I did tell / warn you.... :) > > KiCAD version of R40 server board on a go slow pace at the moment - > https://hellosemi.com/hypercube/pmwiki.php?n=Main.KiCADServerBoard > (Some errors have left the power lines crossed in multiple places.) > Also can't seem to raise Allwinner (no replies). Probably manage without > tech support for now. Yehh thats not a surprise, are you placing an order for 100k units? Then they might reply > > In the mean time, been doing other KiCAD boards. > A blue pill (ST clone of Atmega Arduino) - > https://hellosemi.com/hypercube/pmwiki.php?n=Main. > HypercubeBluePillSTDuinoBoard > > You seen the board i did , right? Stl470? Akso can fund st cimmunity link for you they should be a long way along by now. Small form factor v cgallengung to get cost down. 2 layer st arduino clones are really tough to do > There is some infographic here about how to make intelligent Lithium > battery packs for autonomous systems - > https://hellosemi.com/hypercube/pmwiki.php?n=Main. > HypercubeLithiumPrototypingBoard > > > And some info here about R40 boards for modularized AI + vision > recognition and getting it to do some work with Arduino to do basic IoT > work with it - > https://hellosemi.com/hypercube/pmwiki.php?n=Main.AIBoards > > All the other open source boards (or soon to be) > https://hellosemi.com/hypercube/pmwiki.php?n=Main.OpenSourceBoards > > -- Thx joe > JoeM > > Twitter - https://twitter.com/HelloHypercube > _______________________________________________ > arm-netbook mailing list arm-netbook at lists.phcomp.co.uk > http://lists.phcomp.co.uk/mailman/listinfo/arm-netbook > Send large attachments to arm-netbook at files.phcomp.co.uk -- --- crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68 From research at enemygadgets.com Mon May 14 11:27:28 2018 From: research at enemygadgets.com (joem) Date: Mon, 14 May 2018 11:27:28 +0100 Subject: [Arm-netbook] Open source Allwinner R40 circuit diagrams In-Reply-To: References: <4cc0fbfcea487755ce74780e71b44226@enemygadgets.com> <46a27494de67de180d5a8cd275611e85@enemygadgets.com> <0e488485f580c549d7d9acee6128fe84@enemygadgets.com> <73fc7ddc31ce9ec2203792bf5eb66730@enemygadgets.com> <3da72e955b1434351fcf95d1aad3e027@enemygadgets.com> Message-ID: <51e8f23abcec621e233255d6d14c0632@enemygadgets.com> On 2018-05-13 22:07, Luke Kenneth Casson Leighton wrote: > On Sunday, May 13, 2018, joem wrote: > >> > SK Hynix H5TQ4G83AFR = 512M x 8 >> > 27 RMB that means EIGHTEEN dollars just in RAM ICs. that's if you >> > can get hold of them. >> >> RAM continues to be a problem to source. > > > I did tell / warn you.... :) Hmmm... wonder what Allwinner and everyone dependent on DDR3 is going to do / need to do with their working CPUs that are going to get supported for the next 10 years or so. >> KiCAD version of R40 server board on a go slow pace at the moment - >> https://hellosemi.com/hypercube/pmwiki.php?n=Main.KiCADServerBoard >> (Some errors have left the power lines crossed in multiple places.) >> Also can't seem to raise Allwinner (no replies). Probably manage >> without >> tech support for now. > > > Yehh thats not a surprise, are you placing an order for 100k units? > Then > they might reply Softbank has now a similar all customers are too small policy - they invest only in No.1 startups now. No.2 takes such a long time to become No.1 they can't be bothered. So they would never have invested in Google, Amazon, Microsoft, Alibaba, Apple etc when they were operating out of their garages then I assume. So you know Softbank acquired ARM. Now they are thinking of selling to pay for all the debts piling up around them. Complete disaster for ARM and everyone else I can only assume. But China has secured a position against ARM failure by insisting on forming a joint venture unit in China with 51% control. Good thing they did! :) What Allwinner should do is have two teams - one for small customers and one for large. Otherwise the pressure to go elsewhere or make own chips grows and grows. Its not that expensive now - MOSIS - https://www.mosis.com/ >> In the mean time, been doing other KiCAD boards. >> A blue pill (ST clone of Atmega Arduino) - >> https://hellosemi.com/hypercube/pmwiki.php?n=Main. >> HypercubeBluePillSTDuinoBoard >> >> > You seen the board i did , right? Stl470? No seen it yet - I did a google search - can't find it. > Akso can fund st cimmunity link > for you they should be a long way along by now. Small form factor v > cgallengung to get cost down. ? > 2 layer st arduino clones are really tough to do The ones I do are not verbatim clones so the pin mappings are completely different and easier on layout. The pins go to FPC which has resistor patch panel that allows any CPU pin to be patched manually to any FPC pin :) The peripheral boards remain the same pin always and has no patch panel. This means when boards blow, throw away faulty peripheral board and replace with new one using FPC. If CPU board blows, then repatch a new board and its good to go with FPC connectors to connect to peripheral boards. JoeM Twitter - https://twitter.com/HelloHypercube From richard.wilbur at gmail.com Mon May 14 16:56:28 2018 From: richard.wilbur at gmail.com (Richard Wilbur) Date: Mon, 14 May 2018 09:56:28 -0600 Subject: [Arm-netbook] Testing: GPIO In-Reply-To: References: Message-ID: On Sat, May 12, 2018 at 5:27 AM, Luke Kenneth Casson Leighton wrote: > Hi richard on phone brief. Yes 3.4, different, uses module config, works > fine. Thanks for the response. What I'm wondering is what the boot image/partition has for 'script.bin' because under kernel 3.4 that defines the set of GPIO pins that will be enabled at boot and their initial state. (Looks like it determines the initial state of all the pin multiplexors.) Probably more easily interpreted in the FEX form (human-readable text), albeit larger. > Talk to phil about ikiwiki itsvon his server Thanks for the referral. Took it up with him separately. From lkcl at lkcl.net Mon May 14 19:24:12 2018 From: lkcl at lkcl.net (Luke Kenneth Casson Leighton) Date: Mon, 14 May 2018 19:24:12 +0100 Subject: [Arm-netbook] Testing: GPIO In-Reply-To: References: Message-ID: Look up sunxi-tools fex2bin bin2fex and wiki sunxi fex. On Monday, May 14, 2018, Richard Wilbur wrote: > On Sat, May 12, 2018 at 5:27 AM, Luke Kenneth Casson Leighton < > lkcl at lkcl.net> > wrote: > > Hi richard on phone brief. Yes 3.4, different, uses module config, works > > fine. > Thanks for the response. What I'm wondering is what the boot > image/partition has for 'script.bin' because under kernel 3.4 that defines > the set of GPIO pins that will be enabled at boot and their initial state. > (Looks like it determines the initial state of all the pin multiplexors.) > Probably more easily interpreted in the FEX form (human-readable text), > albeit larger. > > > Talk to phil about ikiwiki itsvon his server > Thanks for the referral. Took it up with him separately. > _______________________________________________ > arm-netbook mailing list arm-netbook at lists.phcomp.co.uk > http://lists.phcomp.co.uk/mailman/listinfo/arm-netbook > Send large attachments to arm-netbook at files.phcomp.co.uk -- --- crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68 From richard.wilbur at gmail.com Tue May 15 21:14:09 2018 From: richard.wilbur at gmail.com (Richard Wilbur) Date: Tue, 15 May 2018 14:14:09 -0600 Subject: [Arm-netbook] Testing: GPIO In-Reply-To: References: Message-ID: On May 14, 2018, at 12:24, Luke Kenneth Casson Leighton wrote: > Look up sunxi-tools fex2bin bin2fex and wiki sunxi fex. I did look up and read some about those topics--and I will read more! What I'm wondering is what does the script.bin configure presently at boot? Then I can figure out whether we need to change it in order to be able to test the GPIO pins. With sunxi 3.4 kernel it looks like whatever we have configured in script.bin is what we have to work with on that load of the gpio-sunxi kernel module so I'm interested in making sure the GPIO pins we want to test are configured into the /sys/class/gpio namespace, and at what names they appear. I read in the sunxi GPIO wiki page[1] that script.bin can specify the mapping between the GPIO number NNN and PORT:BIT that determines the sysfs name /sys/class/gpio/gpioNNN_PORTBIT brought about by sudo echo NNN >/sys/class/gpio/export # A request to export control over gpio mapping NNN (as defined in script.bin) from kernel space to user space. So, to track down the pins we want, we need to know the mapping that is currently in script.bin (or specify it ourselves). There is a scheme outlined in the sunxi GPIO wiki page[1] for associating the numbers NNN with PORT:BIT that is followed on the A20/PIO page[2] and seems useful as it is consistent and reversible. So if we haven't already created a version of script.bin (for the sunxi-gpio module) that maps the A20's Programmable Input/Output pins for the DS113 card, I'd recommend we follow that scheme. NNN := (PORT - 'A') * 32 + BIT PORT:BIT NNN sysfs PI11 267 gpio267_pi11 PI10 266 gpio266_pi10 PI13 269 gpio269_pi13 PI12 268 gpio268_pi12 PI3 259 gpio259_pi3 PB4 36 gpio36_pb4 PH0 224 gpio224_ph0 PB3 35 gpio35_pb3 References: [1] https://linux-sunxi.org/GPIO [2] https://linux-sunxi.org/A20/PIO From lkcl at lkcl.net Tue May 15 21:30:20 2018 From: lkcl at lkcl.net (Luke Kenneth Casson Leighton) Date: Tue, 15 May 2018 21:30:20 +0100 Subject: [Arm-netbook] Testing: GPIO In-Reply-To: References: Message-ID: --- crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68 On Tue, May 15, 2018 at 9:14 PM, Richard Wilbur wrote: > On May 14, 2018, at 12:24, Luke Kenneth Casson Leighton wrote: >> Look up sunxi-tools fex2bin bin2fex and wiki sunxi fex. > > I did look up and read some about those topics--and I will read more! > > What I'm wondering is what does the script.bin configure presently at > boot? whatever you ask it to. it's the exact analogous equivalent of device-tree. > Then I can figure out whether we need to change it in order to > be able to test the GPIO pins. With sunxi 3.4 kernel it looks like > whatever we have configured in script.bin is what we have to work with > on that load of the gpio-sunxi kernel module so I'm interested in > making sure the GPIO pins we want to test are configured into the > /sys/class/gpio namespace, and at what names they appear. > > I read in the sunxi GPIO wiki page[1] that script.bin can specify the > mapping between the GPIO number NNN and PORT:BIT that determines the > sysfs name /sys/class/gpio/gpioNNN_PORTBIT brought about by > sudo echo NNN >/sys/class/gpio/export > # A request to export control over gpio mapping NNN (as defined in > script.bin) from kernel space to user space. yep. > So, to track down the pins we want, we need to know the mapping that > is currently in script.bin (or specify it ourselves). yyep. that means looking at the schematic DS113 PDF (oh, you have the A20 pin names already don't you?), so just... drop those into the fex gpio section, and as long as CONFIG_SUNXI_GPIO is enabled on kernel compiles they'll get dropped into /sys/class/gpio as expected. > There is a scheme outlined in the sunxi GPIO wiki page[1] for > associating the numbers NNN with PORT:BIT that is followed on the > A20/PIO page[2] and seems useful as it is consistent and reversible. > So if we haven't already created a version of script.bin (for the > sunxi-gpio module) that maps the A20's Programmable Input/Output pins > for the DS113 card, I'd recommend we follow that scheme. > > NNN := (PORT - 'A') * 32 + BIT > > PORT:BIT NNN sysfs > PI11 267 gpio267_pi11 > PI10 266 gpio266_pi10 > PI13 269 gpio269_pi13 > PI12 268 gpio268_pi12 > PI3 259 gpio259_pi3 > PB4 36 gpio36_pb4 > PH0 224 gpio224_ph0 > PB3 35 gpio35_pb3 ok - hum i need to send you that card, don't i. you'll be able to try this out. l. From richard.wilbur at gmail.com Wed May 16 18:39:37 2018 From: richard.wilbur at gmail.com (Richard Wilbur) Date: Wed, 16 May 2018 11:39:37 -0600 Subject: [Arm-netbook] Testing: GPIO In-Reply-To: References: Message-ID: On Tue, May 15, 2018 at 2:30 PM, Luke Kenneth Casson Leighton wrote: > ok - hum i need to send you that card, don't i. you'll be able to > try this out. Sure, the card would be lovely. Then I could work on some other stuff, too. Like DDC over I2C over GPIO for VESA monitor detection on the VGA port. Even before you have a chance to send the card I'd be able to make some progress given a place I could download a copy of the current script.bin you are using (I'd be willing to try and download the sunxi-tools bin2fex and fex2bin and run them on this x86_64 machine) or script.fex (which is reportedly human-readable text). Is there a From richard.wilbur at gmail.com Wed May 16 18:46:52 2018 From: richard.wilbur at gmail.com (Richard Wilbur) Date: Wed, 16 May 2018 11:46:52 -0600 Subject: [Arm-netbook] Testing: GPIO In-Reply-To: References: Message-ID: <3ABC54A2-D0BE-4B04-9635-16765A8B8C0B@gmail.com> On May 16, 2018, at 11:39, Richard Wilbur wrote: > Is there a place I can download the install image (boot image) you are presently using on the DS113 A20 cards? (Accidentally hit send before I finished the sentence. A less than satisfying user experience on this phone, but at least I can interact in my present physical context.) Richard From lkcl at lkcl.net Thu May 17 21:41:08 2018 From: lkcl at lkcl.net (Luke Kenneth Casson Leighton) Date: Thu, 17 May 2018 21:41:08 +0100 Subject: [Arm-netbook] Testing: GPIO In-Reply-To: <3ABC54A2-D0BE-4B04-9635-16765A8B8C0B@gmail.com> References: <3ABC54A2-D0BE-4B04-9635-16765A8B8C0B@gmail.com> Message-ID: --- crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68 On Wed, May 16, 2018 at 6:46 PM, Richard Wilbur wrote: > On May 16, 2018, at 11:39, Richard Wilbur wrote: >> Is there a > > place I can download the install image (boot image) you are presently using on the DS113 A20 cards? grab or make quite literally any debian image and you have the rootfs. you should be able to make one with qemu, what i do is create a *RAW* file (not a qcow) then mount that, and then of course you can either dd it directly to a microsd card after shutting qemu down or you can get access to it via loopback (losetup). the VFAT partition which includes u-boot i have a version here: http://hands.com/~lkcl/partition1.tgz it's quite old, but should still be functional. i'm on the move at the moment so i don't have the stack of microsd cards with me that contain all the (various) OSes. how to set up a microsd card: http://rhombus-tech.net/allwinner_a10/a10_mmc_boot/ l. From richard.wilbur at gmail.com Thu May 17 23:57:44 2018 From: richard.wilbur at gmail.com (Richard Wilbur) Date: Thu, 17 May 2018 16:57:44 -0600 Subject: [Arm-netbook] Testing: GPIO In-Reply-To: References: <3ABC54A2-D0BE-4B04-9635-16765A8B8C0B@gmail.com> Message-ID: <4689D6E9-A9AF-423F-8428-7D67CE296B9E@gmail.com> Luke, thanks for the links and the instructions. I'll study them further when I get home this evening (bigger screen and keyboard!). Richard From research at enemygadgets.com Tue May 22 09:31:16 2018 From: research at enemygadgets.com (joem) Date: Tue, 22 May 2018 09:31:16 +0100 Subject: [Arm-netbook] Open source Allwinner R40 circuit diagrams In-Reply-To: <51e8f23abcec621e233255d6d14c0632@enemygadgets.com> References: <4cc0fbfcea487755ce74780e71b44226@enemygadgets.com> <46a27494de67de180d5a8cd275611e85@enemygadgets.com> <0e488485f580c549d7d9acee6128fe84@enemygadgets.com> <73fc7ddc31ce9ec2203792bf5eb66730@enemygadgets.com> <3da72e955b1434351fcf95d1aad3e027@enemygadgets.com> <51e8f23abcec621e233255d6d14c0632@enemygadgets.com> Message-ID: <749eb9f5e1929d643385a35c575960dd@enemygadgets.com> >>> > SK Hynix H5TQ4G83AFR = 512M x 8 >>> > 27 RMB that means EIGHTEEN dollars just in RAM ICs. that's if you >>> > can get hold of them. >>> >>> RAM continues to be a problem to source. >> >> >> I did tell / warn you.... :) Just heard cryptocurrency mining is going down the tube and it may just crash memory market with it - so price bubble may burst by end of year. JoeM Twitter - https://twitter.com/HelloHypercube From lkcl at lkcl.net Tue May 22 23:55:54 2018 From: lkcl at lkcl.net (Luke Kenneth Casson Leighton) Date: Tue, 22 May 2018 23:55:54 +0100 Subject: [Arm-netbook] Open source Allwinner R40 circuit diagrams In-Reply-To: <749eb9f5e1929d643385a35c575960dd@enemygadgets.com> References: <4cc0fbfcea487755ce74780e71b44226@enemygadgets.com> <46a27494de67de180d5a8cd275611e85@enemygadgets.com> <0e488485f580c549d7d9acee6128fe84@enemygadgets.com> <73fc7ddc31ce9ec2203792bf5eb66730@enemygadgets.com> <3da72e955b1434351fcf95d1aad3e027@enemygadgets.com> <51e8f23abcec621e233255d6d14c0632@enemygadgets.com> <749eb9f5e1929d643385a35c575960dd@enemygadgets.com> Message-ID: --- crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68 On Tue, May 22, 2018 at 9:31 AM, joem wrote: >>>> > SK Hynix H5TQ4G83AFR = 512M x 8 >>>> > 27 RMB that means EIGHTEEN dollars just in RAM ICs. that's if you >>>> > can get hold of them. >>>> >>>> RAM continues to be a problem to source. >>> >>> >>> >>> I did tell / warn you.... :) > > > Just heard cryptocurrency mining is going down the tube yyyeah that's unlikely to happen... or, more to the point, whomever you heard it from is likely to be trying to create a "pump-and-dump" social-engineering scam. sell first, scare everyone, then buy low. > and it may just crash memory market with it - so price bubble > may burst by end of year. hooray!! .... *thinks*.... GDDR5 is (i believe) what's commonly used in graphics cards.... you definitely don't want to be using DDR3 or DDR4 for cryptomining platforms with standard GPUs in them. l. From david at boddie.org.uk Tue May 29 12:54:14 2018 From: david at boddie.org.uk (David Boddie) Date: Tue, 29 May 2018 13:54:14 +0200 Subject: [Arm-netbook] Allwinner VPU kernel driver crowdfunding campaign In-Reply-To: Message-ID: <23505827.Bbc9MXFtLM@aurora> Well this almost completely passed me by, but it got funded in the end: https://bootlin.com/blog/kickstarter-for-the-allwinner-vpu-linux-kernel-support-successfully-funded/ Progress blogs here: https://bootlin.com/?s=VPU David