Updated
Depending on the iOS version, you need either 72*72 or 114*114 icons.
Also, you can specify the icon is precomposed (iOS just adds arounded corners) or not (it also adds a shine effect on top of it).
However Android (2.1+) can only handle precomposed icons.
So if you're looking for a one-code-fits-most, use this snipplet:
<!-- For iPhone 4 with high-resolution Retina display -->
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="apple-touch-icon-114x114-precomposed.png">
<!-- For first-generation iPad -->
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="apple-touch-icon-72x72-precomposed.png">
<!-- For non-Retina iPhone, iPod Touch, and Android 2.1+ devices: -->
<link rel="apple-touch-icon-precomposed" href="apple-touch-icon-precomposed.png">
Android and iOS 4.1 use the last icon in that list, that's why the link without sizes ais at the end.
However, both iOS and Android will add the link only if the user chooses to create the link, there is no way to do it without user interaction currently, nor is there anything in HTML5 to introduce such a feature yet.
And if you're making web application, make sure to add this tag (the webpage will be opened fullscreen on iOS):
<meta name="apple-mobile-web-app-capable" content="yes" />
and furthemore, you can specify a loading screen for iOS:
<!-- 320x460 for iPhone 3GS -->
<link rel="apple-touch-startup-image" media="(max-device-width: 480px) and not (-webkit-min-device-pixel-ratio: 2)" href="startup-iphone.png">
<!-- 640x920 for retina display -->
<link rel="apple-touch-startup-image" media="(max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2)" href="startup-iphone4.png">
<!-- iPad Portrait 768x1004 -->
<link rel="apple-touch-startup-image" media="(min-device-width: 768px) and (orientation: portrait)" href="startup-iPad-portrait.png">
<!-- iPad Landscape 1024x748 -->
<link rel="apple-touch-startup-image" media="(min-device-width: 768px) and (orientation: landscape)" href="startup-iPad-landscape.png">